summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-02-28 21:47:37 +1100
committerNick Brassel <nick@tzarc.org>2024-02-28 21:47:37 +1100
commit4e369d405af6bba1adce6337b2e1b1ea1788566c (patch)
treeb0f020feff1809e37c9e7795d344929ff0bb290a
parent4e04da397ef643f8fcf4afbe1d19f63aee1fc561 (diff)
parentdd1706e468bb18dd7f7ae143de735a5d3be1bfb8 (diff)
Merge branch 'develop'
-rw-r--r--Makefile27
-rw-r--r--builddefs/common_features.mk109
-rw-r--r--builddefs/generic_features.mk1
-rw-r--r--data/constants/keycodes/extras/keycodes_canadian_french_0.0.1.hjson407
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson339
-rw-r--r--data/mappings/defaults.hjson5
-rw-r--r--data/mappings/info_config.hjson110
-rw-r--r--data/mappings/info_rules.hjson1
-rw-r--r--data/mappings/keyboard_aliases.hjson161
-rw-r--r--data/schemas/keyboard.jsonschema100
-rw-r--r--docs/ChangeLog/20240225.md367
-rw-r--r--docs/_summary.md2
-rw-r--r--docs/audio_driver.md36
-rw-r--r--docs/breaking_changes.md22
-rw-r--r--docs/breaking_changes_history.md1
-rw-r--r--docs/config_options.md4
-rw-r--r--docs/custom_quantum_functions.md10
-rw-r--r--docs/driver_installation_zadig.md14
-rw-r--r--docs/feature_bootmagic.md28
-rw-r--r--docs/feature_converters.md3
-rw-r--r--docs/feature_dip_switch.md21
-rw-r--r--docs/feature_joystick.md8
-rw-r--r--docs/feature_led_indicators.md12
-rw-r--r--docs/feature_led_matrix.md11
-rw-r--r--docs/feature_macros.md6
-rw-r--r--docs/feature_os_detection.md50
-rw-r--r--docs/feature_pointing_device.md46
-rw-r--r--docs/feature_rgb_matrix.md63
-rw-r--r--docs/feature_rgblight.md56
-rw-r--r--docs/feature_split_keyboard.md6
-rw-r--r--docs/feature_tap_dance.md2
-rw-r--r--docs/gpio_control.md38
-rw-r--r--docs/hardware_keyboard_guidelines.md4
-rw-r--r--docs/i2c_driver.md64
-rw-r--r--docs/ja/config_options.md2
-rw-r--r--docs/ja/feature_bootmagic.md10
-rw-r--r--docs/ja/feature_split_keyboard.md4
-rw-r--r--docs/ja/i2c_driver.md3
-rw-r--r--docs/platformdev_rp2040.md15
-rw-r--r--docs/quantum_painter.md64
-rw-r--r--docs/reference_info_json.md9
-rw-r--r--docs/reference_keymap_extras.md2
-rw-r--r--docs/squeezing_avr.md1
-rw-r--r--docs/uart_driver.md30
-rw-r--r--drivers/bluetooth/bluefruit_le.cpp18
-rw-r--r--drivers/eeprom/eeprom_i2c.c12
-rw-r--r--drivers/encoder/encoder_quadrature.c213
-rw-r--r--drivers/gpio/mcp23018.c12
-rw-r--r--drivers/gpio/pca9505.c10
-rw-r--r--drivers/gpio/pca9555.c12
-rw-r--r--drivers/gpio/sn74x138.c24
-rw-r--r--drivers/gpio/sn74x154.c18
-rw-r--r--drivers/haptic/drv2605l.c2
-rw-r--r--drivers/haptic/solenoid.c14
-rw-r--r--drivers/lcd/hd44780.c48
-rw-r--r--drivers/lcd/st7565.c16
-rw-r--r--drivers/led/apa102.c115
-rw-r--r--drivers/led/apa102.h9
-rw-r--r--drivers/led/aw20216s.c42
-rw-r--r--drivers/led/aw20216s.h681
-rw-r--r--drivers/led/issi/is31fl3218-mono.c156
-rw-r--r--drivers/led/issi/is31fl3218-mono.h75
-rw-r--r--drivers/led/issi/is31fl3218-simple.c147
-rw-r--r--drivers/led/issi/is31fl3218-simple.h73
-rw-r--r--drivers/led/issi/is31fl3218.c99
-rw-r--r--drivers/led/issi/is31fl3218.h38
-rw-r--r--drivers/led/issi/is31fl3729-mono.c213
-rw-r--r--drivers/led/issi/is31fl3729-mono.h278
-rw-r--r--drivers/led/issi/is31fl3729.c219
-rw-r--r--drivers/led/issi/is31fl3729.h280
-rw-r--r--drivers/led/issi/is31fl3731-mono.c230
-rw-r--r--drivers/led/issi/is31fl3731-mono.h286
-rw-r--r--drivers/led/issi/is31fl3731-simple.c239
-rw-r--r--drivers/led/issi/is31fl3731-simple.h282
-rw-r--r--drivers/led/issi/is31fl3731.c214
-rw-r--r--drivers/led/issi/is31fl3731.h336
-rw-r--r--drivers/led/issi/is31fl3733-mono.c265
-rw-r--r--drivers/led/issi/is31fl3733-mono.h366
-rw-r--r--drivers/led/issi/is31fl3733-simple.c278
-rw-r--r--drivers/led/issi/is31fl3733-simple.h366
-rw-r--r--drivers/led/issi/is31fl3733.c233
-rw-r--r--drivers/led/issi/is31fl3733.h628
-rw-r--r--drivers/led/issi/is31fl3736-mono.c240
-rw-r--r--drivers/led/issi/is31fl3736-mono.h371
-rw-r--r--drivers/led/issi/is31fl3736-simple.c252
-rw-r--r--drivers/led/issi/is31fl3736-simple.h261
-rw-r--r--drivers/led/issi/is31fl3736.c204
-rw-r--r--drivers/led/issi/is31fl3736.h224
-rw-r--r--drivers/led/issi/is31fl3737-mono.c236
-rw-r--r--drivers/led/issi/is31fl3737-mono.h299
-rw-r--r--drivers/led/issi/is31fl3737-simple.c249
-rw-r--r--drivers/led/issi/is31fl3737-simple.h299
-rw-r--r--drivers/led/issi/is31fl3737.c207
-rw-r--r--drivers/led/issi/is31fl3737.h478
-rw-r--r--drivers/led/issi/is31fl3741-mono.c282
-rw-r--r--drivers/led/issi/is31fl3741-mono.h887
-rw-r--r--drivers/led/issi/is31fl3741-simple.c278
-rw-r--r--drivers/led/issi/is31fl3741-simple.h516
-rw-r--r--drivers/led/issi/is31fl3741.c278
-rw-r--r--drivers/led/issi/is31fl3741.h1117
-rw-r--r--drivers/led/issi/is31fl3742.h299
-rw-r--r--drivers/led/issi/is31fl3742a-mono.c221
-rw-r--r--drivers/led/issi/is31fl3742a-mono.h296
-rw-r--r--drivers/led/issi/is31fl3742a.c225
-rw-r--r--drivers/led/issi/is31fl3742a.h298
-rw-r--r--drivers/led/issi/is31fl3743.h327
-rw-r--r--drivers/led/issi/is31fl3743a-mono.c245
-rw-r--r--drivers/led/issi/is31fl3743a-mono.h328
-rw-r--r--drivers/led/issi/is31fl3743a.c249
-rw-r--r--drivers/led/issi/is31fl3743a.h541
-rw-r--r--drivers/led/issi/is31fl3745-mono.c245
-rw-r--r--drivers/led/issi/is31fl3745-mono.h271
-rw-r--r--drivers/led/issi/is31fl3745.c249
-rw-r--r--drivers/led/issi/is31fl3745.h461
-rw-r--r--drivers/led/issi/is31fl3746.h198
-rw-r--r--drivers/led/issi/is31fl3746a-mono.c222
-rw-r--r--drivers/led/issi/is31fl3746a-mono.h201
-rw-r--r--drivers/led/issi/is31fl3746a.c226
-rw-r--r--drivers/led/issi/is31fl3746a.h203
-rw-r--r--drivers/led/issi/is31flcommon.c330
-rw-r--r--drivers/led/issi/is31flcommon.h95
-rw-r--r--drivers/led/snled27351-mono.c250
-rw-r--r--drivers/led/snled27351-mono.h586
-rw-r--r--drivers/led/snled27351-simple.c266
-rw-r--r--drivers/led/snled27351-simple.h380
-rw-r--r--drivers/led/snled27351.c245
-rw-r--r--drivers/led/snled27351.h628
-rw-r--r--drivers/oled/oled_driver.c29
-rw-r--r--drivers/painter/comms/qp_comms_i2c.c8
-rw-r--r--drivers/painter/comms/qp_comms_spi.c20
-rw-r--r--drivers/painter/comms/qp_comms_spi.h1
-rw-r--r--drivers/painter/ili9xxx/qp_ili9486.c298
-rw-r--r--drivers/painter/ili9xxx/qp_ili9486.h52
-rw-r--r--drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h1
-rw-r--r--drivers/painter/sh1106/qp_sh1106.c14
-rw-r--r--drivers/painter/sh1106/qp_sh1106_opcodes.h2
-rw-r--r--drivers/sensors/adns5050.c32
-rw-r--r--drivers/sensors/adns9800.c2
-rw-r--r--drivers/sensors/analog_joystick.c75
-rw-r--r--drivers/sensors/azoteq_iqs5xx.c37
-rw-r--r--drivers/sensors/cirque_pinnacle.c27
-rw-r--r--drivers/sensors/cirque_pinnacle_i2c.c12
-rw-r--r--drivers/sensors/paw3204.c24
-rw-r--r--drivers/sensors/pimoroni_trackball.c4
-rw-r--r--drivers/sensors/pmw3320.c32
-rw-r--r--drivers/sensors/pmw3360.c3
-rw-r--r--drivers/usb2422.c10
-rw-r--r--drivers/ws2812.h6
-rw-r--r--keyboards/0xcb/1337/config.h11
-rw-r--r--keyboards/0xcb/1337/info.json5
-rw-r--r--keyboards/0xcb/splaytoraid/config.h19
-rw-r--r--keyboards/0xcb/splaytoraid/info.json17
-rw-r--r--keyboards/0xcb/splaytoraid/rp2040_ce/config.h25
-rw-r--r--keyboards/0xcb/splaytoraid/rp2040_ce/info.json21
-rw-r--r--keyboards/1k/keymaps/default/rgblite.h4
-rw-r--r--keyboards/1upkeyboards/1upocarina/config.h70
-rw-r--r--keyboards/1upkeyboards/1upocarina/info.json42
-rw-r--r--keyboards/1upkeyboards/1upslider8/config.h5
-rw-r--r--keyboards/1upkeyboards/1upslider8/info.json3
-rw-r--r--keyboards/1upkeyboards/1upsuper16v3/config.h22
-rw-r--r--keyboards/1upkeyboards/1upsuper16v3/info.json3
-rw-r--r--keyboards/1upkeyboards/pi40/config.h55
-rw-r--r--keyboards/1upkeyboards/pi40/grid_v1_1/config.h6
-rw-r--r--keyboards/1upkeyboards/pi40/info.json51
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_0/config.h4
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_1/config.h4
-rw-r--r--keyboards/1upkeyboards/pi50/config.h4
-rw-r--r--keyboards/1upkeyboards/pi50/grid/config.h4
-rw-r--r--keyboards/1upkeyboards/pi50/info.json4
-rw-r--r--keyboards/1upkeyboards/pi50/mit/config.h4
-rw-r--r--keyboards/1upkeyboards/pi60/config.h54
-rw-r--r--keyboards/1upkeyboards/pi60/info.json32
-rw-r--r--keyboards/1upkeyboards/pi60_hse/config.h53
-rw-r--r--keyboards/1upkeyboards/pi60_hse/info.json48
-rw-r--r--keyboards/1upkeyboards/pi60_rgb/config.h55
-rw-r--r--keyboards/1upkeyboards/pi60_rgb/info.json49
-rw-r--r--keyboards/1upkeyboards/super16/config.h55
-rw-r--r--keyboards/1upkeyboards/super16/info.json45
-rw-r--r--keyboards/1upkeyboards/super16v2/config.h56
-rw-r--r--keyboards/1upkeyboards/super16v2/info.json37
-rw-r--r--keyboards/1upkeyboards/sweet16v2/kb2040/config.h53
-rw-r--r--keyboards/1upkeyboards/sweet16v2/kb2040/info.json48
-rw-r--r--keyboards/1upkeyboards/sweet16v2/pro_micro/config.h53
-rw-r--r--keyboards/1upkeyboards/sweet16v2/pro_micro/info.json48
-rw-r--r--keyboards/25keys/zinc/rev1/post_config.h20
-rw-r--r--keyboards/25keys/zinc/reva/post_config.h20
-rw-r--r--keyboards/3keyecosystem/2key2/2key2.c35
-rw-r--r--keyboards/3keyecosystem/2key2/config.h72
-rw-r--r--keyboards/3keyecosystem/2key2/info.json58
-rw-r--r--keyboards/3w6/rev1/matrix.c6
-rw-r--r--keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c4
-rw-r--r--keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h4
-rw-r--r--keyboards/3w6/rev2/matrix.c6
-rw-r--r--keyboards/40percentclub/ut47/keymaps/rgb/config.h2
-rw-r--r--keyboards/40percentclub/ut47/matrix.c2
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/config.h34
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/info.json29
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/rev_a.c129
-rw-r--r--keyboards/7c8/framework/rules.mk1
-rw-r--r--keyboards/abatskeyboardclub/nayeon/config.h23
-rw-r--r--keyboards/abatskeyboardclub/nayeon/info.json9
-rw-r--r--keyboards/abatskeyboardclub/nayeon/nayeon.c18
-rw-r--r--keyboards/abatskeyboardclub/nayeon/rules.mk3
-rw-r--r--keyboards/abko/ak84bt/ak84bt.c182
-rw-r--r--keyboards/abko/ak84bt/config.h20
-rw-r--r--keyboards/abko/ak84bt/info.json14
-rw-r--r--keyboards/acheron/apollo/87h/delta/config.h54
-rw-r--r--keyboards/acheron/apollo/87h/delta/info.json51
-rw-r--r--keyboards/acheron/apollo/87h/gamma/config.h54
-rw-r--r--keyboards/acheron/apollo/87h/gamma/gamma.c176
-rw-r--r--keyboards/acheron/apollo/87h/gamma/info.json52
-rw-r--r--keyboards/acheron/apollo/87htsc/config.h54
-rw-r--r--keyboards/acheron/apollo/87htsc/info.json51
-rw-r--r--keyboards/acheron/apollo/88htsc/config.h54
-rw-r--r--keyboards/acheron/apollo/88htsc/info.json51
-rw-r--r--keyboards/acheron/themis/87h/config.h2
-rw-r--r--keyboards/acheron/themis/87h/info.json7
-rw-r--r--keyboards/acheron/themis/87htsc/config.h2
-rw-r--r--keyboards/acheron/themis/87htsc/info.json7
-rw-r--r--keyboards/acheron/themis/88htsc/config.h2
-rw-r--r--keyboards/acheron/themis/88htsc/info.json7
-rw-r--r--keyboards/adafruit/macropad/config.h54
-rw-r--r--keyboards/adafruit/macropad/info.json61
-rw-r--r--keyboards/adafruit/macropad/macropad.c25
-rw-r--r--keyboards/adpenrose/akemipad/config.h13
-rw-r--r--keyboards/adpenrose/akemipad/info.json9
-rw-r--r--keyboards/adpenrose/mine/config.h2
-rw-r--r--keyboards/adpenrose/mine/info.json3
-rw-r--r--keyboards/aeboards/ext65/rev2/rev2.c50
-rw-r--r--keyboards/aeboards/satellite/rev1/config.h60
-rw-r--r--keyboards/aeboards/satellite/rev1/info.json52
-rw-r--r--keyboards/aeboards/satellite/rev1/rev1.c8
-rw-r--r--keyboards/aidansmithdotdev/sango/config.h19
-rw-r--r--keyboards/aidansmithdotdev/sango/info.json220
-rw-r--r--keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c32
-rw-r--r--keyboards/aidansmithdotdev/sango/readme.md19
-rw-r--r--keyboards/aidansmithdotdev/sango/rules.mk1
-rw-r--r--keyboards/akko/5087/5087.c176
-rw-r--r--keyboards/akko/5087/config.h15
-rw-r--r--keyboards/akko/5087/info.json6
-rw-r--r--keyboards/akko/5108/5108.c218
-rw-r--r--keyboards/akko/5108/config.h6
-rw-r--r--keyboards/akko/5108/info.json4
-rw-r--r--keyboards/akko/acr87/acr87.c290
-rw-r--r--keyboards/akko/acr87/config.h6
-rw-r--r--keyboards/akko/acr87/info.json4
-rw-r--r--keyboards/akko/top40/config.h7
-rw-r--r--keyboards/akko/top40/info.json4
-rw-r--r--keyboards/akko/top40/top40.c154
-rw-r--r--keyboards/aleblazer/zodiark/config.h8
-rw-r--r--keyboards/aleblazer/zodiark/info.json6
-rw-r--r--keyboards/aliceh66/pianoforte/config.h4
-rw-r--r--keyboards/aliceh66/pianoforte_hs/config.h4
-rw-r--r--keyboards/alpaca/wfeclipse/info.json1
-rw-r--r--keyboards/amjkeyboard/amj96/matrix.c2
-rw-r--r--keyboards/an_achronism/tetromino/config.h2
-rw-r--r--keyboards/anavi/arrows/config.h2
-rw-r--r--keyboards/anavi/arrows/info.json3
-rw-r--r--keyboards/anavi/knob1/config.h3
-rw-r--r--keyboards/anavi/knob1/info.json6
-rw-r--r--keyboards/anavi/macropad12/config.h2
-rw-r--r--keyboards/anavi/macropad12/info.json3
-rw-r--r--keyboards/annepro2/c15/config.h1
-rw-r--r--keyboards/annepro2/c15/info.json113
-rw-r--r--keyboards/annepro2/c15/rules.mk11
-rw-r--r--keyboards/annepro2/c18/config.h1
-rw-r--r--keyboards/annepro2/c18/info.json113
-rw-r--r--keyboards/annepro2/c18/rules.mk11
-rw-r--r--keyboards/annepro2/config_led.c43
-rw-r--r--keyboards/annepro2/config_led.h72
-rw-r--r--keyboards/annepro2/info.json2
-rw-r--r--keyboards/arabica37/keymaps/default/config.h4
-rw-r--r--keyboards/argyle/matrix.c6
-rw-r--r--keyboards/atlantis/ak81_ve/config.h48
-rw-r--r--keyboards/atlantis/ak81_ve/info.json51
-rw-r--r--keyboards/atlantis/ps17/config.h43
-rw-r--r--keyboards/atlantis/ps17/info.json9
-rw-r--r--keyboards/axolstudio/yeti/hotswap/config.h48
-rw-r--r--keyboards/axolstudio/yeti/hotswap/hotswap.c130
-rw-r--r--keyboards/axolstudio/yeti/hotswap/info.json37
-rw-r--r--keyboards/aya/keymaps/default/config.h18
-rw-r--r--keyboards/bajjak/bajjak.c47
-rw-r--r--keyboards/bajjak/bajjak.h4
-rw-r--r--keyboards/bajjak/matrix.c16
-rw-r--r--keyboards/bandominedoni/bandominedoni.c6
-rw-r--r--keyboards/bandominedoni/config.h15
-rw-r--r--keyboards/bandominedoni/info.json4
-rw-r--r--keyboards/barleycorn_smd/matrix.c6
-rw-r--r--keyboards/basekeys/trifecta/config.h67
-rw-r--r--keyboards/basekeys/trifecta/info.json50
-rw-r--r--keyboards/bastardkb/charybdis/3x5/config.h7
-rw-r--r--keyboards/bastardkb/charybdis/3x5/info.json3
-rw-r--r--keyboards/bastardkb/charybdis/3x6/config.h7
-rw-r--r--keyboards/bastardkb/charybdis/3x6/info.json5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/config.h7
-rw-r--r--keyboards/bastardkb/charybdis/4x6/info.json3
-rw-r--r--keyboards/bastardkb/charybdis/config.h16
-rw-r--r--keyboards/bastardkb/charybdis/info.json19
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/3x5_3.c132
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/config.h24
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/halconf.h1
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/info.json187
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c24
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h23
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c170
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md47
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk (renamed from keyboards/lpad/keymaps/via/rules.mk)0
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/mcuconf.h7
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/readme.md4
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/rules.mk20
-rw-r--r--keyboards/bastardkb/dilemma/4x6_4/config.h9
-rw-r--r--keyboards/bastardkb/dilemma/4x6_4/info.json13
-rw-r--r--keyboards/bastardkb/dilemma/config.h3
-rw-r--r--keyboards/bastardkb/scylla/config.h29
-rw-r--r--keyboards/bastardkb/scylla/info.json12
-rw-r--r--keyboards/bastardkb/skeletyl/config.h29
-rw-r--r--keyboards/bastardkb/skeletyl/info.json12
-rw-r--r--keyboards/bastardkb/tbkmini/config.h29
-rw-r--r--keyboards/bastardkb/tbkmini/info.json12
-rw-r--r--keyboards/beekeeb/piantor/info.json30
-rw-r--r--keyboards/biacco42/ergo42/keymaps/default-underglow/config.h4
-rwxr-xr-xkeyboards/binepad/bn006/config.h66
-rwxr-xr-xkeyboards/binepad/bn006/info.json16
-rw-r--r--keyboards/bioi/bluetooth_custom.c10
-rw-r--r--keyboards/bioi/g60/rules.mk3
-rw-r--r--keyboards/bioi/morgan65/rules.mk3
-rw-r--r--keyboards/black_hellebore/config.h72
-rw-r--r--keyboards/black_hellebore/info.json45
-rw-r--r--keyboards/blockboy/ac980mini/config.h85
-rw-r--r--keyboards/blockboy/ac980mini/info.json47
-rw-r--r--keyboards/boardsource/beiwagon/config.h51
-rw-r--r--keyboards/boardsource/beiwagon/info.json34
-rw-r--r--keyboards/boardsource/equals/48/config.h3
-rw-r--r--keyboards/boardsource/equals/48/info.json47
-rw-r--r--keyboards/boardsource/equals/60/config.h3
-rw-r--r--keyboards/boardsource/equals/60/info.json47
-rw-r--r--keyboards/boardsource/equals/avr/config.h4
-rw-r--r--keyboards/boardsource/equals/avr/info.json47
-rw-r--r--keyboards/boardsource/equals/avr/rules.mk (renamed from keyboards/macro3/rules.mk)0
-rw-r--r--keyboards/boardsource/equals/equals.c46
-rw-r--r--keyboards/boardsource/equals/info.json54
-rw-r--r--keyboards/boardsource/equals/readme.md2
-rw-r--r--keyboards/boardsource/equals/ui.c40
-rw-r--r--keyboards/boardsource/lulu/config.h5
-rw-r--r--keyboards/boardsource/microdox/v2/config.h14
-rw-r--r--keyboards/boardsource/microdox/v2/info.json13
-rw-r--r--keyboards/boardsource/technik_o/config.h52
-rw-r--r--keyboards/boardsource/technik_o/info.json28
-rw-r--r--keyboards/boardsource/technik_s/config.h52
-rw-r--r--keyboards/boardsource/technik_s/info.json28
-rw-r--r--keyboards/boardsource/the_mark/config.h55
-rw-r--r--keyboards/boardsource/the_mark/info.json38
-rw-r--r--keyboards/boardsource/unicorne/config.h4
-rw-r--r--keyboards/boardsource/unicorne/info.json9
-rw-r--r--keyboards/boston_meetup/2019/config.h2
-rw-r--r--keyboards/bpiphany/frosty_flake/config.h2
-rw-r--r--keyboards/bpiphany/frosty_flake/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/config.h2
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/config.h2
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/info.json3
-rw-r--r--keyboards/bubble75/hotswap/config.h70
-rw-r--r--keyboards/bubble75/hotswap/info.json31
-rw-r--r--keyboards/canary/canary60rgb/canary60rgb.c128
-rw-r--r--keyboards/canary/canary60rgb/info.json35
-rw-r--r--keyboards/canary/canary60rgb/keymaps/via/config.h2
-rw-r--r--keyboards/canary/canary60rgb/v1/config.h24
-rw-r--r--keyboards/cannonkeys/balance/config.h2
-rw-r--r--keyboards/cannonkeys/bastion60/config.h2
-rw-r--r--keyboards/cannonkeys/bastion65/config.h2
-rw-r--r--keyboards/cannonkeys/bastion75/config.h2
-rw-r--r--keyboards/cannonkeys/brutalv2_1800/config.h2
-rw-r--r--keyboards/cannonkeys/hoodrowg/config.h3
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c393
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h95
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c231
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_keycodes.h10
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c279
-rw-r--r--keyboards/cannonkeys/rekt1800/config.h3
-rw-r--r--keyboards/cannonkeys/sagittarius/config.h2
-rw-r--r--keyboards/cannonkeys/satisfaction75/chconf.h17
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h39
-rw-r--r--keyboards/cannonkeys/satisfaction75/halconf.h19
-rw-r--r--keyboards/cannonkeys/satisfaction75/info.json42
-rw-r--r--keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c18
-rw-r--r--keyboards/cannonkeys/satisfaction75/keymaps/tester/keymap.c37
-rw-r--r--keyboards/cannonkeys/satisfaction75/keymaps/tester/rules.mk1
-rw-r--r--keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c18
-rw-r--r--keyboards/cannonkeys/satisfaction75/led.c256
-rw-r--r--keyboards/cannonkeys/satisfaction75/led_custom.h7
-rw-r--r--keyboards/cannonkeys/satisfaction75/mcuconf.h21
-rw-r--r--keyboards/cannonkeys/satisfaction75/prototype/info.json44
-rw-r--r--keyboards/cannonkeys/satisfaction75/prototype/rules.mk1
-rw-r--r--keyboards/cannonkeys/satisfaction75/readme.md34
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/info.json192
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/keymap.c23
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/rules.mk1
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/rules.mk1
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/info.json193
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/keymaps/default/keymap.c26
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c25
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk (renamed from keyboards/enter80/keymaps/via/rules.mk)0
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/readme.md29
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev2/rules.mk (renamed from keyboards/enter67/rules.mk)0
-rw-r--r--keyboards/cannonkeys/satisfaction75/rules.mk22
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c464
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.h119
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction_encoder.c238
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction_oled.c267
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/chconf.h18
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/config.h44
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/halconf.h16
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/info.json207
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c23
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c23
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk (renamed from keyboards/epoch80/keymaps/via/rules.mk)0
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/mcuconf.h20
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/readme.md20
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/rules.mk7
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h6
-rw-r--r--keyboards/capsunlocked/cu80/v2/ansi/ansi.c4
-rw-r--r--keyboards/capsunlocked/cu80/v2/ansi/config.h8
-rw-r--r--keyboards/capsunlocked/cu80/v2/info.json1
-rw-r--r--keyboards/capsunlocked/cu80/v2/iso/config.h8
-rw-r--r--keyboards/capsunlocked/cu80/v2/iso/iso.c4
-rw-r--r--keyboards/checkerboards/quark_lp/config.h28
-rw-r--r--keyboards/checkerboards/quark_lp/info.json23
-rw-r--r--keyboards/cherrybstudio/cb87rgb/config.h70
-rw-r--r--keyboards/cherrybstudio/cb87rgb/info.json49
-rw-r--r--keyboards/chosfox/cf81/cf81.c212
-rw-r--r--keyboards/chosfox/cf81/config.h8
-rw-r--r--keyboards/chosfox/cf81/info.json4
-rw-r--r--keyboards/chromatonemini/config.h10
-rw-r--r--keyboards/chromatonemini/info.json5
-rw-r--r--keyboards/churrosoft/deck8/rgb/config.h74
-rw-r--r--keyboards/churrosoft/deck8/rgb/info.json54
-rw-r--r--keyboards/cipulot/common/ec_board.c64
-rw-r--r--keyboards/cipulot/common/ec_switch_matrix.c318
-rw-r--r--keyboards/cipulot/common/ec_switch_matrix.h72
-rw-r--r--keyboards/cipulot/common/eeprom_tools.h26
-rw-r--r--keyboards/cipulot/common/matrix.c42
-rw-r--r--keyboards/cipulot/common/via_apc.c158
-rw-r--r--keyboards/cipulot/common/via_ec.c363
-rw-r--r--keyboards/cipulot/ec_23u/config.h50
-rw-r--r--keyboards/cipulot/ec_23u/ec_switch_matrix.c165
-rw-r--r--keyboards/cipulot/ec_23u/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_23u/halconf.h2
-rw-r--r--keyboards/cipulot/ec_23u/info.json8
-rw-r--r--keyboards/cipulot/ec_23u/keymaps/default/keymap.c23
-rw-r--r--keyboards/cipulot/ec_23u/keymaps/via/config.h4
-rw-r--r--keyboards/cipulot/ec_23u/keymaps/via/keymap.c23
-rw-r--r--keyboards/cipulot/ec_23u/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_23u/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_23u/matrix.c44
-rw-r--r--keyboards/cipulot/ec_23u/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_23u/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_23u/readme.md7
-rw-r--r--keyboards/cipulot/ec_23u/rules.mk4
-rw-r--r--keyboards/cipulot/ec_60/config.h53
-rw-r--r--keyboards/cipulot/ec_60/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_60/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_60/halconf.h2
-rw-r--r--keyboards/cipulot/ec_60/info.json11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/60_ansi_tsangan/keymap.c11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/60_iso_tsangan/keymap.c11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/60_jis/keymap.c11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/default/keymap.c11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_60/keymaps/via/keymap.c11
-rw-r--r--keyboards/cipulot/ec_60/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_60/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_60/matrix.c44
-rw-r--r--keyboards/cipulot/ec_60/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_60/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_60/readme.md3
-rw-r--r--keyboards/cipulot/ec_60/rules.mk4
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/config.h52
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/halconf.h2
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/info.json11
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/keymaps/default/keymap.c11
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c11
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/matrix.c44
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/readme.md3
-rw-r--r--keyboards/cipulot/ec_alveus/1_0_0/rules.mk4
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/config.h52
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/halconf.h2
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/info.json11
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/default/keymap.c11
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/tkl_nofrow_ansi_tsangan_wkl_split_bs/keymap.c11
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c11
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/matrix.c44
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/readme.md3
-rw-r--r--keyboards/cipulot/ec_alveus/1_2_0/rules.mk4
-rw-r--r--keyboards/cipulot/ec_pro2/config.h53
-rw-r--r--keyboards/cipulot/ec_pro2/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_pro2/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_pro2/halconf.h2
-rw-r--r--keyboards/cipulot/ec_pro2/info.json11
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/60_hhkb/keymap.c14
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/default/keymap.c12
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/via/keymap.c12
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_pro2/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_pro2/matrix.c44
-rw-r--r--keyboards/cipulot/ec_pro2/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_pro2/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_pro2/readme.md3
-rw-r--r--keyboards/cipulot/ec_pro2/rules.mk4
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/config.h53
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/halconf.h2
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/info.json8
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/60_hhkb/keymap.c12
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/default/keymap.c15
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c15
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/matrix.c44
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/readme.md3
-rw-r--r--keyboards/cipulot/ec_prox/ansi_iso/rules.mk4
-rw-r--r--keyboards/cipulot/ec_prox/jis/config.h53
-rw-r--r--keyboards/cipulot/ec_prox/jis/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/ec_prox/jis/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_prox/jis/halconf.h2
-rw-r--r--keyboards/cipulot/ec_prox/jis/info.json150
-rw-r--r--keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c23
-rw-r--r--keyboards/cipulot/ec_prox/jis/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c27
-rw-r--r--keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_prox/jis/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/ec_prox/jis/matrix.c44
-rw-r--r--keyboards/cipulot/ec_prox/jis/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_prox/jis/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_prox/jis/readme.md3
-rw-r--r--keyboards/cipulot/ec_prox/jis/rules.mk4
-rw-r--r--keyboards/cipulot/ec_theca/config.h52
-rw-r--r--keyboards/cipulot/ec_theca/ec_switch_matrix.c191
-rw-r--r--keyboards/cipulot/ec_theca/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/ec_theca/halconf.h2
-rw-r--r--keyboards/cipulot/ec_theca/info.json2
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/default/keymap.c4
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c4
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c4
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/via/keymap.c4
-rw-r--r--keyboards/cipulot/ec_theca/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/ec_theca/matrix.c44
-rw-r--r--keyboards/cipulot/ec_theca/mcuconf.h2
-rw-r--r--keyboards/cipulot/ec_theca/post_rules.mk3
-rw-r--r--keyboards/cipulot/ec_theca/readme.md3
-rw-r--r--keyboards/cipulot/ec_theca/rules.mk4
-rw-r--r--keyboards/cipulot/kawayo/config.h2
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default/keymap.c2
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c2
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c2
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c2
-rw-r--r--keyboards/cipulot/kawayo/keymaps/via/keymap.c2
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/config.h52
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.c183
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.h36
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/halconf.h2
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/info.json8
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/default/keymap.c20
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_ansi_tsangan/keymap.c20
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_iso_tsangan/keymap.c20
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_jis/keymap.c20
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h6
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c20
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk2
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/keymaps/via/via_apc.c156
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/matrix.c44
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/mcuconf.h2
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/post_rules.mk3
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/readme.md3
-rw-r--r--keyboards/cipulot/rf_r1_8_9xu/rules.mk4
-rw-r--r--keyboards/clickety_split/leeloo/keymaps/default/config.h2
-rw-r--r--keyboards/clickety_split/leeloo/rev2/config.h22
-rw-r--r--keyboards/clickety_split/leeloo/rev2/info.json6
-rw-r--r--keyboards/clickety_split/leeloo/rev3/config.h22
-rw-r--r--keyboards/clickety_split/leeloo/rev3/info.json6
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/config.h28
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/gen1.c2
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/info.json22
-rw-r--r--keyboards/clueboard/card/info.json1
-rw-r--r--keyboards/controllerworks/city42/config.h5
-rw-r--r--keyboards/controllerworks/city42/info.json1
-rw-r--r--keyboards/controllerworks/mini36/config.h3
-rw-r--r--keyboards/controllerworks/mini36/info.json3
-rw-r--r--keyboards/controllerworks/mini36/keymaps/default/config.h2
-rw-r--r--keyboards/controllerworks/mini36/keymaps/via/config.h2
-rw-r--r--keyboards/controllerworks/mini42/config.h1
-rw-r--r--keyboards/controllerworks/mini42/keymaps/default/config.h2
-rw-r--r--keyboards/controllerworks/mini42/keymaps/via/config.h2
-rw-r--r--keyboards/converter/hp_46010a/rules.mk1
-rw-r--r--keyboards/converter/ibm_terminal/matrix.c26
-rw-r--r--keyboards/converter/m0110_usb/m0110.c3
-rw-r--r--keyboards/converter/palm_usb/matrix.c5
-rw-r--r--keyboards/converter/sun_usb/matrix.c2
-rw-r--r--keyboards/crkbd/info.json1
-rw-r--r--keyboards/crkbd/keymaps/colemak_luna/config.h2
-rw-r--r--keyboards/crkbd/post_config.h16
-rw-r--r--keyboards/crkbd/r2g/config.h51
-rw-r--r--keyboards/crkbd/r2g/info.json27
-rw-r--r--keyboards/crkbd/r2g/r2g.c69
-rw-r--r--keyboards/crkbd/readme.md2
-rw-r--r--keyboards/crkbd/rev1/config.h26
-rw-r--r--keyboards/crkbd/rev1/info.json8
-rw-r--r--keyboards/cxt_studio/config.h25
-rw-r--r--keyboards/cxt_studio/info.json49
-rw-r--r--keyboards/dark/magnum_ergo_1/config.h3
-rw-r--r--keyboards/dark/magnum_ergo_1/info.json9
-rw-r--r--keyboards/darkproject/kd83a_bfg_edition/config.h15
-rw-r--r--keyboards/darkproject/kd83a_bfg_edition/info.json11
-rw-r--r--keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c188
-rw-r--r--keyboards/darkproject/kd83a_bfg_edition/rules.mk2
-rw-r--r--keyboards/darkproject/kd87a_bfg_edition/config.h13
-rw-r--r--keyboards/darkproject/kd87a_bfg_edition/info.json5
-rw-r--r--keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c186
-rw-r--r--keyboards/darmoshark/k3/info.json1
-rw-r--r--keyboards/dasky/reverb/info.json1
-rw-r--r--keyboards/dc01/left/matrix.c36
-rw-r--r--keyboards/deemen17/de60fs/config.h2
-rw-r--r--keyboards/dekunukem/duckypad/config.h7
-rw-r--r--keyboards/dekunukem/duckypad/info.json5
-rw-r--r--keyboards/deng/djam/config.h26
-rw-r--r--keyboards/deng/djam/info.json7
-rw-r--r--keyboards/deng/thirty/config.h57
-rw-r--r--keyboards/deng/thirty/info.json51
-rw-r--r--keyboards/dm9records/ergoinu/config.h2
-rw-r--r--keyboards/dm9records/plaid/rules.mk2
-rw-r--r--keyboards/dm9records/tartan/rules.mk2
-rw-r--r--keyboards/doio/kb12/config.h69
-rw-r--r--keyboards/doio/kb12/info.json52
-rw-r--r--keyboards/doio/kb16/config.h21
-rw-r--r--keyboards/doio/kb16/info.json109
-rw-r--r--keyboards/doio/kb16/kb16.c21
-rw-r--r--keyboards/doio/kb16/keymaps/default/keymap.c (renamed from keyboards/doio/kb16/rev1/keymaps/via/keymap.c)0
-rw-r--r--keyboards/doio/kb16/keymaps/default/rules.mk (renamed from keyboards/doio/kb16/rev1/keymaps/default/rules.mk)0
-rw-r--r--keyboards/doio/kb16/keymaps/via/keymap.c (renamed from keyboards/doio/kb16/rev2/keymaps/via/keymap.c)0
-rw-r--r--keyboards/doio/kb16/keymaps/via/rules.mk (renamed from keyboards/doio/kb16/rev1/keymaps/via/rules.mk)0
-rw-r--r--keyboards/doio/kb16/rev1/config.h60
-rw-r--r--keyboards/doio/kb16/rev1/info.json49
-rw-r--r--keyboards/doio/kb16/rev1/keymaps/default/keymap.c140
-rw-r--r--keyboards/doio/kb16/rev1/rules.mk26
-rw-r--r--keyboards/doio/kb16/rev2/config.h42
-rw-r--r--keyboards/doio/kb16/rev2/info.json46
-rw-r--r--keyboards/doio/kb16/rev2/keymaps/default/keymap.c140
-rw-r--r--keyboards/doio/kb16/rev2/keymaps/default/rules.mk2
-rw-r--r--keyboards/doio/kb16/rev2/keymaps/via/rules.mk4
-rw-r--r--keyboards/doio/kb16/rev2/rules.mk22
-rw-r--r--keyboards/doio/kb30/config.h56
-rw-r--r--keyboards/doio/kb30/info.json39
-rw-r--r--keyboards/doio/kb38/config.h31
-rw-r--r--keyboards/doio/kb38/info.json11
-rw-r--r--keyboards/doro67/rgb/config.h53
-rw-r--r--keyboards/doro67/rgb/info.json45
-rw-r--r--keyboards/dotmod/dymium65/config.h9
-rw-r--r--keyboards/dotmod/dymium65/info.json4
-rw-r--r--keyboards/dp3000/config.h25
-rw-r--r--keyboards/dp3000/rev1/info.json5
-rw-r--r--keyboards/dp3000/rev2/config.h20
-rw-r--r--keyboards/dp60/config.h53
-rw-r--r--keyboards/dp60/dp60.c2
-rw-r--r--keyboards/dp60/info.json31
-rw-r--r--keyboards/drop/alt/v2/v2.c212
-rw-r--r--keyboards/drop/cstm65/cstm65.c136
-rw-r--r--keyboards/drop/cstm80/cstm80.c178
-rw-r--r--keyboards/drop/ctrl/v2/v2.c240
-rw-r--r--keyboards/drop/sense75/sense75.c224
-rw-r--r--keyboards/drop/shift/v2/v2.c334
-rw-r--r--keyboards/dtisaac/dosa40rgb/config.h74
-rw-r--r--keyboards/dtisaac/dosa40rgb/info.json51
-rw-r--r--keyboards/duck/jetfire/indicator_leds.h2
-rw-r--r--keyboards/duck/jetfire/jetfire.c8
-rw-r--r--keyboards/dumbpad/v1x_oled/v1x_oled.c32
-rw-r--r--keyboards/dumbpad/v3x/config.h42
-rw-r--r--keyboards/dumbpad/v3x/info.json32
-rw-r--r--keyboards/durgod/dgk6x/config.h60
-rw-r--r--keyboards/durgod/dgk6x/galaxy/config.h5
-rw-r--r--keyboards/durgod/dgk6x/galaxy/galaxy.c170
-rw-r--r--keyboards/durgod/dgk6x/hades_ansi/config.h5
-rw-r--r--keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c138
-rw-r--r--keyboards/durgod/dgk6x/hades_iso/config.h3
-rw-r--r--keyboards/durgod/dgk6x/hades_iso/hades_iso.c140
-rw-r--r--keyboards/durgod/dgk6x/info.json47
-rw-r--r--keyboards/durgod/dgk6x/venus/config.h5
-rw-r--r--keyboards/durgod/dgk6x/venus/venus.c124
-rw-r--r--keyboards/dz60/keymaps/crd_ansi/keymap.c30
-rw-r--r--keyboards/dz60/keymaps/crd_tsangan/keymap.c30
-rw-r--r--keyboards/dz60/keymaps/devinceble_wkl_tofu/keymap.c41
-rw-r--r--keyboards/dz60/keymaps/devinceble_wkl_tofu/readme.md9
-rw-r--r--keyboards/dz60/keymaps/devinceble_wkl_tofu/rules.mk1
-rw-r--r--keyboards/dz60/keymaps/iso_de_andys8/README.md3
-rw-r--r--keyboards/dz60/keymaps/iso_de_andys8/keymap.c38
-rw-r--r--keyboards/dz60/keymaps/iso_de_andys8/rules.mk15
-rw-r--r--keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c96
-rw-r--r--keyboards/dz60/keymaps/iso_de_arrow_0x544d/readme.md10
-rw-r--r--keyboards/dz60/keymaps/joooosh_hhkb/keymap.c49
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso/keymap.c113
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso/readme.md6
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso/rules.mk3
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c113
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md6
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk3
-rw-r--r--keyboards/dztech/duo_s/config.h1
-rw-r--r--keyboards/dztech/duo_s/info.json3
-rw-r--r--keyboards/dztech/dz60rgb/dz60rgb.c128
-rw-r--r--keyboards/dztech/dz60rgb/v1/config.h59
-rw-r--r--keyboards/dztech/dz60rgb/v1/info.json50
-rw-r--r--keyboards/dztech/dz60rgb/v2/config.h57
-rw-r--r--keyboards/dztech/dz60rgb/v2/info.json33
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/config.h57
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/info.json32
-rw-r--r--keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c124
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/config.h59
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/info.json50
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/config.h57
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/info.json35
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2_1/config.h57
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2_1/info.json32
-rw-r--r--keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c126
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/config.h59
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/info.json50
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/config.h54
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/info.json31
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2_1/config.h57
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2_1/info.json32
-rw-r--r--keyboards/dztech/dz64rgb/config.h35
-rw-r--r--keyboards/dztech/dz64rgb/dz64rgb.c130
-rw-r--r--keyboards/dztech/dz64rgb/info.json34
-rw-r--r--keyboards/dztech/dz65rgb/v1/config.h63
-rw-r--r--keyboards/dztech/dz65rgb/v1/info.json40
-rw-r--r--keyboards/dztech/dz65rgb/v1/v1.c2
-rw-r--r--keyboards/dztech/dz65rgb/v2/config.h63
-rw-r--r--keyboards/dztech/dz65rgb/v2/info.json40
-rw-r--r--keyboards/dztech/dz65rgb/v2/v2.c2
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/config.h59
-rw-r--r--keyboards/dztech/dz65rgb/v3/info.json53
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/v3.c138
-rw-r--r--keyboards/dztech/endless80/config.h1
-rw-r--r--keyboards/dztech/endless80/info.json3
-rw-r--r--keyboards/dztech/tofu/ii/v1/config.h63
-rw-r--r--keyboards/dztech/tofu/ii/v1/info.json54
-rw-r--r--keyboards/dztech/tofu/ii/v1/v1.c134
-rw-r--r--keyboards/dztech/tofu/jr/v1/config.h64
-rw-r--r--keyboards/dztech/tofu/jr/v1/info.json54
-rw-r--r--keyboards/dztech/tofu/jr/v1/v1.c138
-rw-r--r--keyboards/eek/config.h7
-rw-r--r--keyboards/eek/info.json7
-rw-r--r--keyboards/eggsworks/egg58/config.h6
-rw-r--r--keyboards/ein_60/config.h7
-rw-r--r--keyboards/ein_60/info.json7
-rw-r--r--keyboards/elephant42/config.h7
-rw-r--r--keyboards/elephant42/info.json11
-rw-r--r--keyboards/enter67/readme.md26
-rw-r--r--keyboards/enter80/readme.md26
-rw-r--r--keyboards/epoch80/readme.md20
-rw-r--r--keyboards/era/klein/config.h27
-rw-r--r--keyboards/era/klein/halconf.h21
-rw-r--r--keyboards/era/klein/info.json590
-rw-r--r--keyboards/era/klein/keymaps/default/keymap.c23
-rw-r--r--keyboards/era/klein/keymaps/via/keymap.c23
-rw-r--r--keyboards/era/klein/mcuconf.h22
-rw-r--r--keyboards/era/klein/readme.md23
-rw-r--r--keyboards/era/sirind/klein_sd/config.h4
-rw-r--r--keyboards/era/sirind/klein_sd/info.json6
-rw-r--r--keyboards/ergodox_ez/config.h56
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c53
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.h4
-rw-r--r--keyboards/ergodox_ez/info.json36
-rw-r--r--keyboards/ergodox_ez/keymaps/colemak_es_osx/config.h20
-rw-r--r--keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c397
-rw-r--r--keyboards/ergodox_ez/keymaps/colemak_es_osx/readme.md67
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/.gitignore2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h88
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/gulpfile.js22
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c353
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/aliases_definitions.c13
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/custom_keycodes.c7
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/keymap.c28
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/layers/layers_definitions.c12
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/package.json15
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/plover/plover_mode.c20
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/readme.md62
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk37
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c41
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c39
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c43
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c45
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c45
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c40
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c41
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c43
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c39
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c43
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c44
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c75
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dances.c98
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/eeconfig_init_user.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c121
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/matrix_scan_user.c20
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/process_record_user.c75
-rw-r--r--keyboards/ergodox_ez/led_i2c.c35
-rw-r--r--keyboards/ergodox_ez/matrix.c17
-rw-r--r--keyboards/ergodox_ez/post_config.h4
-rw-r--r--keyboards/ergodox_ez/shine/info.json3
-rw-r--r--keyboards/ergodox_ez/shine/rules.mk1
-rw-r--r--keyboards/ergodox_stm32/ergodox_stm32.c8
-rw-r--r--keyboards/ergodox_stm32/matrix.c4
-rw-r--r--keyboards/ergotravel/keymaps/default/config.h4
-rw-r--r--keyboards/ergotravel/keymaps/via/config.h4
-rw-r--r--keyboards/eu_isolation/readme.md31
-rw-r--r--keyboards/evyd13/atom47/rev5/config.h50
-rw-r--r--keyboards/evyd13/atom47/rev5/info.json33
-rw-r--r--keyboards/evyd13/atom47/rev5/rev5.c98
-rw-r--r--keyboards/evyd13/eon40/rules.mk2
-rw-r--r--keyboards/evyd13/eon95/config.h2
-rw-r--r--keyboards/evyd13/eon95/info.json3
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/rgb/config.h2
-rw-r--r--keyboards/evyd13/plain60/keymaps/rgb/config.h2
-rw-r--r--keyboards/evyd13/quackfire/config.h2
-rw-r--r--keyboards/evyd13/quackfire/info.json3
-rw-r--r--keyboards/evyd13/wasdat/config.h2
-rw-r--r--keyboards/evyd13/wasdat/info.json3
-rw-r--r--keyboards/evyd13/wasdat_code/config.h2
-rw-r--r--keyboards/evyd13/wasdat_code/info.json3
-rw-r--r--keyboards/exclusive/e6_rgb/config.h3
-rw-r--r--keyboards/exclusive/e6_rgb/e6_rgb.c134
-rwxr-xr-xkeyboards/fallacy/indicators.c2
-rwxr-xr-xkeyboards/fallacy/rules.mk2
-rw-r--r--keyboards/fancytech/fancyalice66/config.h12
-rw-r--r--keyboards/fancytech/fancyalice66/info.json4
-rw-r--r--keyboards/fc660c/ad5258.c6
-rw-r--r--keyboards/fc660c/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/fc660c/keymaps/via_rgb/config.h2
-rw-r--r--keyboards/fc980c/ad5258.c6
-rw-r--r--keyboards/fc980c/config.h4
-rw-r--r--keyboards/fc980c/info.json3
-rw-r--r--keyboards/feker/ik75/config.h61
-rw-r--r--keyboards/feker/ik75/ik75.c258
-rw-r--r--keyboards/feker/ik75/info.json48
-rw-r--r--keyboards/ferris/0_2/bling/bling.c2
-rw-r--r--keyboards/ferris/0_2/bling/config.h52
-rw-r--r--keyboards/ferris/0_2/bling/info.json45
-rw-r--r--keyboards/ferris/0_2/matrix.c24
-rw-r--r--keyboards/ferris/sweep/config.h9
-rw-r--r--keyboards/ferris/sweep/readme.md21
-rw-r--r--keyboards/ffkeebs/puca/config.h2
-rw-r--r--keyboards/fjlabs/avalon/config.h4
-rw-r--r--keyboards/fjlabs/avalon/info.json4
-rw-r--r--keyboards/fjlabs/kyuu/config.h3
-rw-r--r--keyboards/fjlabs/kyuu/info.json4
-rw-r--r--keyboards/fjlabs/mk61rgbansi/config.h3
-rw-r--r--keyboards/fjlabs/mk61rgbansi/info.json4
-rw-r--r--keyboards/fjlabs/tf60ansi/config.h3
-rw-r--r--keyboards/fjlabs/tf60ansi/info.json4
-rw-r--r--keyboards/fjlabs/tf60v2/config.h3
-rw-r--r--keyboards/fjlabs/tf60v2/info.json4
-rw-r--r--keyboards/fjlabs/tf65rgbv2/config.h3
-rw-r--r--keyboards/fjlabs/tf65rgbv2/info.json4
-rwxr-xr-xkeyboards/flashquark/horizon_z/config.h60
-rwxr-xr-xkeyboards/flashquark/horizon_z/horizon_z.c124
-rwxr-xr-xkeyboards/flashquark/horizon_z/info.json33
-rw-r--r--keyboards/flygone60/rev3/readme.md19
-rw-r--r--keyboards/fortitude60/keymaps/default/config.h18
-rw-r--r--keyboards/fortitude60/keymaps/via/config.h18
-rw-r--r--keyboards/foxlab/key65/universal/readme.md2
-rwxr-xr-xkeyboards/fractal/rules.mk2
-rw-r--r--keyboards/frobiac/blackbowl/matrix.c8
-rw-r--r--keyboards/frooastboard/nano/config.h4
-rw-r--r--keyboards/frooastboard/nano/info.json4
-rw-r--r--keyboards/frooastboard/walnut/config.h39
-rw-r--r--keyboards/frooastboard/walnut/info.json37
-rw-r--r--keyboards/frooastboard/walnut/walnut.c98
-rw-r--r--keyboards/fs_streampad/config.h7
-rw-r--r--keyboards/fs_streampad/info.json95
-rw-r--r--keyboards/fs_streampad/keymaps/default/keymap.c19
-rw-r--r--keyboards/fs_streampad/keymaps/via/keymap.c19
-rw-r--r--keyboards/fs_streampad/keymaps/via/rules.mk (renamed from keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk)0
-rw-r--r--keyboards/fs_streampad/readme.md24
-rw-r--r--keyboards/fs_streampad/rules.mk1
-rw-r--r--keyboards/gboards/ergotaco/ergotaco.c28
-rw-r--r--keyboards/gboards/ergotaco/ergotaco.h5
-rw-r--r--keyboards/gboards/ergotaco/matrix.c18
-rw-r--r--keyboards/gboards/georgi/georgi.c26
-rw-r--r--keyboards/gboards/georgi/georgi.h5
-rw-r--r--keyboards/gboards/georgi/matrix.c17
-rw-r--r--keyboards/gboards/gergo/gergo.c24
-rw-r--r--keyboards/gboards/gergo/gergo.h5
-rw-r--r--keyboards/gboards/gergo/keymaps/default/config.h2
-rw-r--r--keyboards/gboards/gergo/keymaps/germ/config.h2
-rw-r--r--keyboards/gboards/gergo/matrix.c20
-rw-r--r--keyboards/gboards/gergoplex/gergoplex.c34
-rw-r--r--keyboards/gboards/gergoplex/gergoplex.h4
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def11
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/config.h31
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def7
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c212
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md6
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk20
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def11
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h4
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def17
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c286
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md12
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk18
-rw-r--r--keyboards/gboards/gergoplex/matrix.c28
-rw-r--r--keyboards/geekboards/macropad_v2/config.h62
-rw-r--r--keyboards/geekboards/macropad_v2/info.json37
-rw-r--r--keyboards/geekboards/tester/config.h61
-rw-r--r--keyboards/geekboards/tester/info.json41
-rw-r--r--keyboards/geekboards/tester/tester.c2
-rw-r--r--keyboards/geonworks/ee_at/ee_at.c30
-rw-r--r--keyboards/geonworks/ee_at/info.json499
-rw-r--r--keyboards/geonworks/ee_at/keymaps/default/keymap.c32
-rw-r--r--keyboards/geonworks/ee_at/keymaps/via/keymap.c32
-rw-r--r--keyboards/geonworks/ee_at/keymaps/via/rules.mk (renamed from keyboards/hub16/keymaps/via/rules.mk)0
-rw-r--r--keyboards/geonworks/ee_at/matrix_diagram.md21
-rw-r--r--keyboards/geonworks/ee_at/readme.md32
-rw-r--r--keyboards/geonworks/ee_at/rules.mk2
-rw-r--r--keyboards/geonworks/w1_at/info.json507
-rw-r--r--keyboards/geonworks/w1_at/keymaps/default/keymap.c49
-rw-r--r--keyboards/geonworks/w1_at/keymaps/via/keymap.c (renamed from keyboards/w1_at/keymaps/via/keymap.c)0
-rw-r--r--keyboards/geonworks/w1_at/keymaps/via/rules.mk (renamed from keyboards/hub20/keymaps/via/rules.mk)0
-rw-r--r--keyboards/geonworks/w1_at/matrix_diagram.md (renamed from keyboards/w1_at/matrix_diagram.md)0
-rw-r--r--keyboards/geonworks/w1_at/readme.md32
-rw-r--r--keyboards/geonworks/w1_at/rules.mk2
-rw-r--r--keyboards/geonworks/w1_at/w1_at.c30
-rw-r--r--keyboards/gh60/revc/keymaps/bluezio/keymap.c38
-rw-r--r--keyboards/gh60/revc/keymaps/bluezio/rules.mk1
-rw-r--r--keyboards/gh60/revc/keymaps/chaser/README.md96
-rw-r--r--keyboards/gh60/revc/keymaps/chaser/keymap.c328
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c78
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua_7U/rules.mk1
-rw-r--r--keyboards/gh60/revc/keymaps/emiilsd/keymap.c48
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/config.h34
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c112
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/readme.md16
-rw-r--r--keyboards/gh60/revc/keymaps/sethbc/keymap.c18
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/keymap.c196
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/readme.md13
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/rules.mk20
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/config.h8
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/keymap.c127
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/readme.md12
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/rules.mk18
-rw-r--r--keyboards/gh60/satan/keymaps/bri/keymap.c68
-rw-r--r--keyboards/gh60/satan/keymaps/bri/readme.md2
-rw-r--r--keyboards/gh60/satan/keymaps/chaser/keymap.c49
-rw-r--r--keyboards/gh60/satan/keymaps/chaser/readme.md38
-rw-r--r--keyboards/gh60/satan/keymaps/chaser/rules.mk18
-rw-r--r--keyboards/gh60/satan/keymaps/dende_iso/keymap.c78
-rw-r--r--keyboards/gh60/satan/keymaps/dende_iso/readme.md61
-rw-r--r--keyboards/gh60/satan/keymaps/dende_iso/rules.mk18
-rw-r--r--keyboards/gh60/satan/keymaps/denolfe/README.md12
-rw-r--r--keyboards/gh60/satan/keymaps/denolfe/keymap.c72
-rw-r--r--keyboards/gh60/satan/keymaps/denolfe/rules.mk17
-rw-r--r--keyboards/gh60/satan/keymaps/dkrieger/config.h26
-rw-r--r--keyboards/gh60/satan/keymaps/dkrieger/keymap.c166
-rw-r--r--keyboards/gh60/satan/keymaps/dkrieger/readme.md23
-rw-r--r--keyboards/gh60/satan/keymaps/dkrieger/rules.mk19
-rw-r--r--keyboards/gh60/satan/keymaps/lepa/keymap.c146
-rw-r--r--keyboards/gh60/satan/keymaps/lepa/readme.md13
-rw-r--r--keyboards/gh60/satan/keymaps/lepa/rules.mk19
-rw-r--r--keyboards/gh60/satan/keymaps/mark1/keymap.c31
-rw-r--r--keyboards/gh60/satan/keymaps/mark1/readme.md5
-rw-r--r--keyboards/gh60/satan/keymaps/no_caps_lock/keymap.c55
-rw-r--r--keyboards/gh60/satan/keymaps/no_caps_lock/readme.md1
-rw-r--r--keyboards/gh60/satan/keymaps/olligranlund_iso/config.h26
-rw-r--r--keyboards/gh60/satan/keymaps/olligranlund_iso/keymap.c98
-rw-r--r--keyboards/gh60/satan/keymaps/olligranlund_iso/readme.md18
-rw-r--r--keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk17
-rw-r--r--keyboards/gh60/satan/keymaps/rask63/keymap.c83
-rw-r--r--keyboards/gh60/satan/keymaps/sethbc/keymap.c47
-rw-r--r--keyboards/gh60/satan/keymaps/sethbc/readme.md3
-rw-r--r--keyboards/gh60/satan/keymaps/sethbc/rules.mk18
-rw-r--r--keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c75
-rw-r--r--keyboards/gh60/satan/keymaps/spacemanspiff/readme.md34
-rw-r--r--keyboards/gh60/satan/keymaps/stanleylai/config.h15
-rw-r--r--keyboards/gh60/satan/keymaps/stanleylai/keymap.c50
-rw-r--r--keyboards/gh60/satan/keymaps/unxmaal/README.md20
-rw-r--r--keyboards/gh60/satan/keymaps/unxmaal/keymap.c84
-rw-r--r--keyboards/gh60/satan/keymaps/unxmaal/rules.mk18
-rw-r--r--keyboards/giabalanai/config.h53
-rw-r--r--keyboards/giabalanai/info.json10
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/config.h4
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/config.h4
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/config.h4
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/config.h26
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/gk6.c2
-rw-r--r--keyboards/gizmo_engineering/gk6/info.json18
-rw-r--r--keyboards/gkeyboard/gpad8_2r/config.h53
-rw-r--r--keyboards/gkeyboard/gpad8_2r/info.json48
-rw-r--r--keyboards/gl516/a52gl/keymaps/salicylic/config.h22
-rw-r--r--keyboards/gl516/a52gl/keymaps/salicylic/keymap.c65
-rw-r--r--keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h6
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/ansi.c176
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/info.json3
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c56
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc72
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c44
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p65/config.h60
-rw-r--r--keyboards/gmmk/gmmk2/p65/info.json51
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/info.json3
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/iso.c178
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/ansi.c240
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/info.json3
-rw-r--r--keyboards/gmmk/gmmk2/p96/config.h58
-rw-r--r--keyboards/gmmk/gmmk2/p96/info.json51
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/info.json3
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/iso.c242
-rw-r--r--keyboards/gmmk/numpad/config.h50
-rw-r--r--keyboards/gmmk/numpad/info.json45
-rw-r--r--keyboards/gmmk/numpad/numpad.c68
-rw-r--r--keyboards/gmmk/pro/config.h54
-rw-r--r--keyboards/gmmk/pro/info.json51
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/ansi.c198
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/config.h22
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/info.json3
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c67
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/readme.md7
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h81
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c510
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md32
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk30
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h24
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c88
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/readme.md18
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c50
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c128
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/readme.md19
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/config.h24
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c112
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/readme.md15
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/rules.mk5
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/config.h6
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c76
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h22
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c309
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/readme.md26
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/rules.mk5
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c67
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h19
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c92
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/rules.mk1
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h80
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c431
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/readme.md85
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/rules.mk4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/.gitignore1
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/README.md19
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h30
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c112
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.h35
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c50
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/keymap.c127
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c69
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h111
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.c119
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.h26
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c71
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h100
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rules.mk25
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.c64
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.h32
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h24
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c475
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/paddlegame.h46
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/readme.md18
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rgb_matrix_map.h181
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rules.mk4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h75
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c302
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/readme.md63
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/rules.mk2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h55
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c181
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/readme.md91
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/rules.mk2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c58
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c74
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json181
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/readme.md22
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/rules.mk2
-rw-r--r--keyboards/gmmk/pro/rev1/iso/config.h22
-rw-r--r--keyboards/gmmk/pro/rev1/iso/info.json3
-rw-r--r--keyboards/gmmk/pro/rev1/iso/iso.c200
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c107
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md8
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c72
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md8
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/ansi.c198
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/config.h22
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/info.json3
-rw-r--r--keyboards/gmmk/pro/rev2/iso/config.h22
-rw-r--r--keyboards/gmmk/pro/rev2/iso/info.json3
-rw-r--r--keyboards/gmmk/pro/rev2/iso/iso.c200
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/keymap.c114
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/readme.md5
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/rules.mk18
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/config.h10
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c261
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md114
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk23
-rw-r--r--keyboards/gopolar/gg86/config.h49
-rw-r--r--keyboards/gopolar/gg86/info.json44
-rw-r--r--keyboards/gray_studio/aero75/config.h4
-rw-r--r--keyboards/gray_studio/aero75/info.json7
-rw-r--r--keyboards/gray_studio/apollo80/config.h19
-rw-r--r--keyboards/gray_studio/apollo80/info.json3
-rw-r--r--keyboards/gray_studio/space65r3/config.h4
-rw-r--r--keyboards/gray_studio/space65r3/info.json7
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c232
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md9
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/config.h19
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c139
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/readme.md3
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk5
-rw-r--r--keyboards/gray_studio/think65v3/config.h2
-rw-r--r--keyboards/gray_studio/think65v3/info.json3
-rw-r--r--keyboards/hadron/ver3/config.h4
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/config.h1
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c43
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/readme.md7
-rw-r--r--keyboards/handwired/6macro/config.h20
-rw-r--r--keyboards/handwired/6macro/keymaps/default/config.h18
-rw-r--r--keyboards/handwired/6macro/keymaps/osu/config.h18
-rw-r--r--keyboards/handwired/aim65/keymaps/bonnee/keymap.c42
-rw-r--r--keyboards/handwired/alcor_dactyl/config.h4
-rw-r--r--keyboards/handwired/alcor_dactyl/info.json3
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c99
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md16
-rw-r--r--keyboards/handwired/bento/keymaps/cbc02009/keymap.c42
-rw-r--r--keyboards/handwired/chiron/keymaps/default/config.h4
-rw-r--r--keyboards/handwired/colorlice/config.h57
-rw-r--r--keyboards/handwired/colorlice/info.json50
-rw-r--r--keyboards/handwired/d48/ds1307.c5
-rw-r--r--keyboards/handwired/dactyl/matrix.c12
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c89
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h21
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c75
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h49
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c106
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c59
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c167
-rw-r--r--keyboards/handwired/dactyl_minidox/config.h5
-rw-r--r--keyboards/handwired/dactyl_minidox/info.json4
-rw-r--r--keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h2
-rw-r--r--keyboards/handwired/dygma/raise/config.h32
-rw-r--r--keyboards/handwired/dygma/raise/info.json15
-rw-r--r--keyboards/handwired/frenchdev/frenchdev.c27
-rw-r--r--keyboards/handwired/frenchdev/frenchdev.h4
-rw-r--r--keyboards/handwired/frenchdev/matrix.c30
-rw-r--r--keyboards/handwired/freoduo/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/hnah108/config.h50
-rw-r--r--keyboards/handwired/hnah108/info.json45
-rw-r--r--keyboards/handwired/hnah40rgb/config.h77
-rw-r--r--keyboards/handwired/hnah40rgb/info.json53
-rw-r--r--keyboards/handwired/hnah40rgb/keymaps/default/config.h17
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c61
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk1
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/config.h22
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c202
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk4
-rw-r--r--keyboards/handwired/macro3/info.json (renamed from keyboards/macro3/info.json)0
-rw-r--r--keyboards/handwired/macro3/keymaps/default/keymap.c (renamed from keyboards/macro3/keymaps/default/keymap.c)0
-rw-r--r--keyboards/handwired/macro3/keymaps/default/rules.mk (renamed from keyboards/macro3/keymaps/default/rules.mk)0
-rw-r--r--keyboards/handwired/macro3/macro3.c (renamed from keyboards/macro3/macro3.c)0
-rw-r--r--keyboards/handwired/macro3/readme.md26
-rw-r--r--keyboards/handwired/macro3/rules.mk1
-rw-r--r--keyboards/handwired/marauder/keymaps/orvia/keymap.c199
-rw-r--r--keyboards/handwired/marauder/keymaps/orvia/rules.mk3
-rw-r--r--keyboards/handwired/minorca/keymaps/rgb/config.h2
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/onekey/keymaps/apa102/config.h2
-rw-r--r--keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c12
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/config.h6
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c14
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk2
-rw-r--r--keyboards/handwired/onekey/keymaps/i2c_scanner/keymap.c15
-rw-r--r--keyboards/handwired/onekey/keymaps/rgb/config.h2
-rw-r--r--keyboards/handwired/onekey/stm32f3_disco/config.h6
-rw-r--r--keyboards/handwired/onekey/stm32f3_disco/mcuconf.h6
-rw-r--r--keyboards/handwired/orbweaver/config.h2
-rw-r--r--keyboards/handwired/orbweaver/info.json1
-rw-r--r--keyboards/handwired/orbweaver/orbweaver.c4
-rw-r--r--keyboards/handwired/p65rgb/config.h53
-rw-r--r--keyboards/handwired/p65rgb/info.json50
-rw-r--r--keyboards/handwired/pterodactyl/matrix.c83
-rw-r--r--keyboards/handwired/pteron/keymaps/FSund/keymap.c116
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/config.h22
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/keymap.c120
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/readme.md4
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/rules.mk2
-rw-r--r--keyboards/handwired/selene/keymaps/bpendragon/keymap.c43
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/config.h3
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c64
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/readme.md1
-rw-r--r--keyboards/handwired/steamvan/rev1/config.h2
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h9
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/info.json5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c12
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c40
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/layers.json1
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/readme.md13
-rw-r--r--keyboards/handwired/uthol/rev2/config.h21
-rw-r--r--keyboards/handwired/uthol/rev2/info.json5
-rw-r--r--keyboards/handwired/uthol/rev3/config.h2
-rw-r--r--keyboards/handwired/uthol/rev3/info.json3
-rw-r--r--keyboards/handwired/z150/keymaps/zyxx/keymap.c65
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/config.h8
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/halconf.h21
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/info.json18
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/mcuconf.h22
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/readme.md2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c117
-rw-r--r--keyboards/heliotrope/config.h75
-rw-r--r--keyboards/heliotrope/info.json45
-rw-r--r--keyboards/helix/pico/config.h8
-rw-r--r--keyboards/helix/rev2/config.h8
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/config.h64
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/keymap.c288
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/readme.md40
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/rules.mk24
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/config.h50
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/helixfont.h235
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/keymap.c696
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/readme.md83
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/rules.mk27
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/config.h47
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/helixfont.h235
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/keymap.c810
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/readme.md85
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/rules.mk27
-rw-r--r--keyboards/helix/rev3_4rows/config.h12
-rw-r--r--keyboards/helix/rev3_4rows/info.json5
-rw-r--r--keyboards/helix/rev3_5rows/config.h12
-rw-r--r--keyboards/helix/rev3_5rows/info.json8
-rw-r--r--keyboards/hfdkb/ac001/config.h59
-rw-r--r--keyboards/hfdkb/ac001/info.json11
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/README.md23
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/config.h10
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c173
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk20
-rw-r--r--keyboards/hhkb/ansi/keymaps/lxol/keymap.c181
-rw-r--r--keyboards/hhkb/ansi/keymaps/schaeferdev/README.md36
-rw-r--r--keyboards/hhkb/ansi/keymaps/schaeferdev/config.h9
-rw-r--r--keyboards/hhkb/ansi/keymaps/schaeferdev/keymap.c76
-rw-r--r--keyboards/hhkb/ansi/keymaps/schaeferdev/rules.mk1
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/action_pseudo.c149
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/action_pseudo.h27
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/config.h36
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/keymap.c443
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h49
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/readme.md68
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/rules.mk3
-rw-r--r--keyboards/hhkb/ansi/keymaps/tobiasvl_iso/keymap.c20
-rw-r--r--keyboards/hhkb/ansi/keymaps/tobiasvl_iso/readme.md22
-rw-r--r--keyboards/hhkb/jp/keymaps/bakingpy/keymap.c16
-rw-r--r--keyboards/hhkb/jp/keymaps/bakingpy/rules.mk1
-rw-r--r--keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c44
-rw-r--r--keyboards/hhkb/jp/keymaps/enoch_jp/rules.mk3
-rw-r--r--keyboards/hhkb/jp/keymaps/halfqwerty_jp/README.md49
-rw-r--r--keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c76
-rw-r--r--keyboards/hhkb/jp/keymaps/halfqwerty_jp/rules.mk1
-rw-r--r--keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c50
-rw-r--r--keyboards/hhkb/jp/keymaps/rdg_jp/rules.mk1
-rw-r--r--keyboards/hhkb/jp/keymaps/sh_jp/README.md86
-rw-r--r--keyboards/hhkb/jp/keymaps/sh_jp/keymap.c45
-rw-r--r--keyboards/hhkb/jp/keymaps/sh_jp/rules.mk1
-rw-r--r--keyboards/hillside/46/0_1/config.h1
-rw-r--r--keyboards/hillside/52/0_1/config.h1
-rw-r--r--keyboards/hineybush/h87_g2/config.h19
-rw-r--r--keyboards/hineybush/h87_g2/halconf.h20
-rw-r--r--keyboards/hineybush/h87_g2/info.json641
-rw-r--r--keyboards/hineybush/h87_g2/keymaps/default/keymap.c30
-rw-r--r--keyboards/hineybush/h87_g2/keymaps/via/keymap.c29
-rw-r--r--keyboards/hineybush/h87_g2/mcuconf.h21
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/config.h10
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c293
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/readme.md114
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk22
-rw-r--r--keyboards/hineybush/hbcp/hbcp.c2
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/config.h71
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/info.json48
-rw-r--r--keyboards/horrortroll/handwired_k552/config.h25
-rw-r--r--keyboards/horrortroll/handwired_k552/info.json23
-rw-r--r--keyboards/horrortroll/lemon40/lemon40.c27
-rw-r--r--keyboards/horrortroll/nyx/rev1/config.h22
-rw-r--r--keyboards/hotdox/keymaps/bliss/keymap.c173
-rw-r--r--keyboards/hotdox/keymaps/bliss/readme.md8
-rw-r--r--keyboards/hotdox/keymaps/bliss/rules.mk5
-rw-r--r--keyboards/hotdox/keymaps/eozaki/keymap.c192
-rw-r--r--keyboards/hotdox/left.c34
-rw-r--r--keyboards/hotdox/left.h7
-rw-r--r--keyboards/hotdox76v2/config.h15
-rw-r--r--keyboards/hotdox76v2/info.json13
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/config.h6
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/keymap.c177
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/rules.mk4
-rw-r--r--keyboards/hs60/v1/config.h65
-rw-r--r--keyboards/hs60/v1/info.json48
-rw-r--r--keyboards/hs60/v1/v1.c4
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h22
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c71
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md6
-rw-r--r--keyboards/hs60/v2/v2.c128
-rw-r--r--keyboards/hub16/keymaps/peepeetee/config.h45
-rw-r--r--keyboards/hub16/keymaps/peepeetee/keymap.c209
-rw-r--r--keyboards/hub16/keymaps/peepeetee/rules.mk1
-rwxr-xr-xkeyboards/hub16/readme.md24
-rw-r--r--keyboards/hub20/config.h78
-rw-r--r--keyboards/hub20/info.json128
-rwxr-xr-xkeyboards/hub20/readme.md24
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h23
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c47
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk1
-rw-r--r--keyboards/ibm/model_m/mschwingen/matrix.c3
-rw-r--r--keyboards/ibm/model_m/mschwingen/mschwingen.c10
-rw-r--r--keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h19
-rw-r--r--keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c27
-rw-r--r--keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md5
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c53
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md3
-rw-r--r--keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c29
-rw-r--r--keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h19
-rw-r--r--keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h21
-rw-r--r--keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c116
-rw-r--r--keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md11
-rw-r--r--keyboards/ibnuda/alicia_cook/keymaps/rick/config.h21
-rw-r--r--keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c246
-rw-r--r--keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md1
-rw-r--r--keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk2
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h6
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c188
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md3
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk2
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick/config.h4
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick/keymap.c178
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick/readme.md3
-rw-r--r--keyboards/idb/idb_60/keymaps/pngu/keymap.c27
-rwxr-xr-xkeyboards/idobao/id42/config.h58
-rw-r--r--keyboards/idobao/id42/info.json44
-rw-r--r--keyboards/idobao/id61/config.h58
-rw-r--r--keyboards/idobao/id61/info.json44
-rw-r--r--keyboards/idobao/id63/config.h71
-rw-r--r--keyboards/idobao/id63/info.json44
-rw-r--r--keyboards/idobao/id67/config.h52
-rw-r--r--keyboards/idobao/id67/info.json44
-rw-r--r--keyboards/idobao/id67/keymaps/thewerther/config.h82
-rw-r--r--keyboards/idobao/id67/keymaps/thewerther/keymap.c42
-rw-r--r--keyboards/idobao/id67/keymaps/thewerther/rules.mk2
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/config.h74
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c272
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk3
-rw-r--r--keyboards/idobao/id75/keymaps/drewdobo/config.h23
-rw-r--r--keyboards/idobao/id75/keymaps/drewdobo/keymap.c65
-rw-r--r--keyboards/idobao/id75/keymaps/drewdobo/readme.md1
-rw-r--r--keyboards/idobao/id75/keymaps/drewdobo/rules.mk17
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/config.h25
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/keymap.c41
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/readme.md7
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/rules.mk1
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_75/config.h20
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_75/keymap.c35
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_75/readme.md7
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_orthon/config.h19
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c78
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md11
-rw-r--r--keyboards/idobao/id75/keymaps/paryz/config.h20
-rw-r--r--keyboards/idobao/id75/keymaps/paryz/keymap.c144
-rw-r--r--keyboards/idobao/id75/keymaps/paryz/rules.mk2
-rw-r--r--keyboards/idobao/id75/keymaps/pathnirvana/config.h24
-rw-r--r--keyboards/idobao/id75/keymaps/pathnirvana/keymap.c44
-rw-r--r--keyboards/idobao/id75/keymaps/pathnirvana/rules.mk3
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h19
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c67
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md1
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk19
-rw-r--r--keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json190
-rw-r--r--keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c128
-rw-r--r--keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md5
-rw-r--r--keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk3
-rw-r--r--keyboards/idobao/id75/v2/config.h42
-rw-r--r--keyboards/idobao/id75/v2/info.json33
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h23
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c59
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md4
-rw-r--r--keyboards/idobao/id80/v3/ansi/config.h85
-rw-r--r--keyboards/idobao/id80/v3/ansi/info.json44
-rw-r--r--keyboards/idobao/id87/v2/config.h83
-rw-r--r--keyboards/idobao/id87/v2/info.json44
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/config.h66
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/info.json28
-rwxr-xr-xkeyboards/idobao/montex/v2/config.h59
-rwxr-xr-xkeyboards/idobao/montex/v2/info.json29
-rw-r--r--keyboards/idyllic/tinny50_rgb/config.h57
-rw-r--r--keyboards/idyllic/tinny50_rgb/info.json34
-rw-r--r--keyboards/illuminati/is0/keymaps/ctrlaltdel/keymap.c22
-rw-r--r--keyboards/illuminati/is0/keymaps/ctrlaltdel/readme.md3
-rw-r--r--keyboards/illusion/rosa/keymaps/oggi/keymap.c40
-rw-r--r--keyboards/illusion/rosa/keymaps/oggi/readme.md1
-rw-r--r--keyboards/ilumkb/simpler61/config.h56
-rw-r--r--keyboards/ilumkb/simpler61/info.json39
-rw-r--r--keyboards/ilumkb/simpler61/simpler61.c124
-rw-r--r--keyboards/ilumkb/simpler64/config.h57
-rw-r--r--keyboards/ilumkb/simpler64/info.json39
-rw-r--r--keyboards/ilumkb/simpler64/simpler64.c130
-rw-r--r--keyboards/inett_studio/sq80/hotswap_layout_i/info.json2
-rw-r--r--keyboards/inett_studio/sq80/hotswap_layout_i/keymaps/via/keymap.json3
-rw-r--r--keyboards/inett_studio/sqx/hotswap/config.h54
-rw-r--r--keyboards/inett_studio/sqx/hotswap/hotswap.c2
-rw-r--r--keyboards/inett_studio/sqx/hotswap/info.json31
-rw-r--r--keyboards/inett_studio/sqx/universal/config.h54
-rw-r--r--keyboards/inett_studio/sqx/universal/info.json31
-rw-r--r--keyboards/inett_studio/sqx/universal/universal.c2
-rw-r--r--keyboards/ingrained/matrix.c14
-rw-r--r--keyboards/inland/kb83/config.h33
-rw-r--r--keyboards/inland/kb83/info.json23
-rw-r--r--keyboards/inland/kb83/kb83.c198
-rw-r--r--keyboards/inland/mk47/config.h7
-rw-r--r--keyboards/inland/mk47/info.json3
-rw-r--r--keyboards/inland/mk47/mk47.c96
-rw-r--r--keyboards/inland/v83p/config.h7
-rw-r--r--keyboards/inland/v83p/info.json5
-rw-r--r--keyboards/inland/v83p/v83p.c186
-rw-r--r--keyboards/input_club/ergodox_infinity/config.h30
-rw-r--r--keyboards/input_club/ergodox_infinity/ergodox_infinity.c7
-rw-r--r--keyboards/input_club/ergodox_infinity/info.json26
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c243
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md9
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rask/README.md20
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c201
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md3
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c159
-rwxr-xr-xkeyboards/input_club/infinity60/keymaps/depariel/keymap.c87
-rw-r--r--keyboards/input_club/infinity60/led/config.h2
-rw-r--r--keyboards/input_club/infinity60/led/led.c2
-rw-r--r--keyboards/input_club/k_type/config.h93
-rw-r--r--keyboards/input_club/k_type/i2c_master.c4
-rw-r--r--keyboards/input_club/k_type/i2c_master.h4
-rw-r--r--keyboards/input_club/k_type/info.json45
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.c192
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.h433
-rw-r--r--keyboards/input_club/k_type/k_type.c258
-rw-r--r--keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h52
-rw-r--r--keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c60
-rw-r--r--keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk1
-rw-r--r--keyboards/input_club/k_type/keymaps/belak/keymap.c27
-rw-r--r--keyboards/input_club/whitefox/config.h3
-rw-r--r--keyboards/input_club/whitefox/info.json25
-rw-r--r--keyboards/input_club/whitefox/keymaps/matt3o/keymap.c95
-rw-r--r--keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c81
-rw-r--r--keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk10
-rw-r--r--keyboards/input_club/whitefox/keymaps/truefox/keymap.c60
-rw-r--r--keyboards/input_club/whitefox/whitefox.c11
-rw-r--r--keyboards/itstleo/itstleo40/info.json1
-rw-r--r--keyboards/jacky_studio/bear_65/config.h2
-rw-r--r--keyboards/jacky_studio/bear_65/rev1/info.json3
-rw-r--r--keyboards/jacky_studio/bear_65/rev2/info.json3
-rw-r--r--keyboards/jacky_studio/piggy60/rev2/config.h6
-rw-r--r--keyboards/jacky_studio/piggy60/rev2/info.json3
-rw-r--r--keyboards/jadookb/jkb65/config.h56
-rw-r--r--keyboards/jadookb/jkb65/info.json51
-rw-r--r--keyboards/jc65/v32u4/keymaps/coth/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/coth/keymap.c25
-rw-r--r--keyboards/jc65/v32u4/keymaps/coth/readme.md14
-rw-r--r--keyboards/jc65/v32u4/keymaps/dead_encryption/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c35
-rw-r--r--keyboards/jc65/v32u4/keymaps/dead_encryption/readme.md10
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/config.h10
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c258
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/readme.md105
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk21
-rw-r--r--keyboards/jc65/v32u4/keymaps/na7thana/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/na7thana/keymap.c18
-rw-r--r--keyboards/jc65/v32u4/keymaps/na7thana/readme.md10
-rw-r--r--keyboards/jd40/keymaps/vanagon/README.md17
-rw-r--r--keyboards/jd40/keymaps/vanagon/config.h13
-rw-r--r--keyboards/jd40/keymaps/vanagon/keymap.c26
-rw-r--r--keyboards/jd45/keymaps/mjt6u/config.h3
-rw-r--r--keyboards/jd45/keymaps/mjt6u/keymap.c153
-rw-r--r--keyboards/jd45/keymaps/mjt6u/readme.md23
-rw-r--r--keyboards/jd45/keymaps/mjt6u/rules.mk20
-rw-r--r--keyboards/jels/jels60/v2/config.h3
-rw-r--r--keyboards/jels/jels60/v2/info.json3
-rw-r--r--keyboards/jels/jels88/config.h2
-rw-r--r--keyboards/jels/jels88/info.json3
-rw-r--r--keyboards/jian/keymaps/default/config.h20
-rw-r--r--keyboards/jian/keymaps/left_hand/config.h21
-rw-r--r--keyboards/jian/keymaps/via/config.h21
-rw-r--r--keyboards/jian/nsrev2/config.h4
-rw-r--r--keyboards/jian/rev1/post_config.h4
-rw-r--r--keyboards/jian/rev2/post_config.h4
-rw-r--r--keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c70
-rw-r--r--keyboards/jkeys_design/gentleman65/config.h21
-rw-r--r--keyboards/jkeys_design/gentleman65/info.json3
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/config.h21
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/info.json3
-rw-r--r--keyboards/jm60/keymaps/default/keymap.c39
-rw-r--r--keyboards/jm60/readme.md21
-rw-r--r--keyboards/jorne/post_config.h22
-rwxr-xr-xkeyboards/joshajohnson/hub16/config.h (renamed from keyboards/hub16/config.h)0
-rw-r--r--keyboards/joshajohnson/hub16/info.json (renamed from keyboards/hub16/info.json)0
-rwxr-xr-xkeyboards/joshajohnson/hub16/keymaps/default/keymap.c (renamed from keyboards/hub16/keymaps/default/keymap.c)0
-rwxr-xr-xkeyboards/joshajohnson/hub16/keymaps/via/keymap.c (renamed from keyboards/hub16/keymaps/via/keymap.c)0
-rw-r--r--keyboards/joshajohnson/hub16/keymaps/via/rules.mk (renamed from keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/rules.mk)0
-rw-r--r--keyboards/joshajohnson/hub16/matrix.c (renamed from keyboards/hub16/matrix.c)0
-rwxr-xr-xkeyboards/joshajohnson/hub16/readme.md24
-rwxr-xr-xkeyboards/joshajohnson/hub16/rules.mk (renamed from keyboards/hub16/rules.mk)0
-rw-r--r--keyboards/joshajohnson/hub20/chconf.h (renamed from keyboards/hub20/chconf.h)0
-rw-r--r--keyboards/joshajohnson/hub20/config.h24
-rw-r--r--keyboards/joshajohnson/hub20/halconf.h (renamed from keyboards/hub20/halconf.h)0
-rw-r--r--keyboards/joshajohnson/hub20/hub20.c (renamed from keyboards/hub20/hub20.c)0
-rw-r--r--keyboards/joshajohnson/hub20/info.json147
-rw-r--r--keyboards/joshajohnson/hub20/keymaps/default/keymap.c (renamed from keyboards/hub20/keymaps/default/keymap.c)0
-rw-r--r--keyboards/joshajohnson/hub20/keymaps/left_hand_numpad/keymap.c (renamed from keyboards/hub20/keymaps/left_hand_numpad/keymap.c)0
-rw-r--r--keyboards/joshajohnson/hub20/keymaps/right_hand_numpad/keymap.c (renamed from keyboards/hub20/keymaps/right_hand_numpad/keymap.c)0
-rw-r--r--keyboards/joshajohnson/hub20/keymaps/via/keymap.c (renamed from keyboards/hub20/keymaps/via/keymap.c)0
-rw-r--r--keyboards/joshajohnson/hub20/keymaps/via/rules.mk (renamed from keyboards/kprepublic/bm80v2/keymaps/smooted/rules.mk)0
-rw-r--r--keyboards/joshajohnson/hub20/mcuconf.h (renamed from keyboards/hub20/mcuconf.h)0
-rwxr-xr-xkeyboards/joshajohnson/hub20/readme.md24
-rw-r--r--keyboards/joshajohnson/hub20/rules.mk (renamed from keyboards/hub20/rules.mk)0
-rw-r--r--keyboards/jpe230/big_knob/config.h1
-rw-r--r--keyboards/jpe230/big_knob/info.json4
-rw-r--r--keyboards/jukaie/jk01/config.h13
-rw-r--r--keyboards/jukaie/jk01/info.json5
-rw-r--r--keyboards/jukaie/jk01/jk01.c188
-rw-r--r--keyboards/junco/info.json3
-rw-r--r--keyboards/junco/keymaps/default/config.h2
-rw-r--r--keyboards/junco/keymaps/deluxe/config.h58
-rw-r--r--keyboards/junco/keymaps/deluxe/keymap.c329
-rw-r--r--keyboards/junco/keymaps/deluxe/readme.md43
-rw-r--r--keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc48
-rw-r--r--keyboards/junco/keymaps/deluxe/rules.mk20
-rw-r--r--keyboards/junco/keymaps/via/config.h2
-rw-r--r--keyboards/junco/rev1/config.h9
-rw-r--r--keyboards/junco/rev1/post_config.h8
-rw-r--r--keyboards/kabedon/kabedon98e/config.h2
-rw-r--r--keyboards/kabedon/kabedon98e/info.json3
-rw-r--r--keyboards/kagizaraya/chidori/board.c33
-rw-r--r--keyboards/kagizaraya/miniaxe/config.h (renamed from keyboards/miniaxe/config.h)0
-rw-r--r--keyboards/kagizaraya/miniaxe/info.json (renamed from keyboards/miniaxe/info.json)0
-rw-r--r--keyboards/kagizaraya/miniaxe/keymaps/default/keymap.c (renamed from keyboards/miniaxe/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kagizaraya/miniaxe/keymaps/underglow/keymap.c (renamed from keyboards/miniaxe/keymaps/underglow/keymap.c)0
-rw-r--r--keyboards/kagizaraya/miniaxe/keymaps/underglow/rules.mk (renamed from keyboards/gh60/revc/keymaps/robotmaxtron/rules.mk)0
-rw-r--r--keyboards/kagizaraya/miniaxe/readme.md16
-rw-r--r--keyboards/kagizaraya/miniaxe/rules.mk (renamed from keyboards/miniaxe/rules.mk)0
-rw-r--r--keyboards/kagizaraya/scythe/keymaps/forties/keymap.c193
-rw-r--r--keyboards/kagizaraya/scythe/keymaps/forties/readme.md2
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h19
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c197
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md1
-rw-r--r--keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c43
-rw-r--r--keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md1
-rw-r--r--keyboards/kapcave/arya/config.h2
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/config.h2
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/nachie/keymap.c37
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/aek/keymap.c38
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/aek/readme.md1
-rw-r--r--keyboards/kapl/keymaps/default/config.h3
-rw-r--r--keyboards/kapl/keymaps/via/config.h3
-rw-r--r--keyboards/kapl/rev1/config.h31
-rw-r--r--keyboards/kapl/rev1/info.json26
-rw-r--r--keyboards/karn/info.json60
-rw-r--r--keyboards/karn/keymaps/colemak/keymap.c24
-rw-r--r--keyboards/karn/keymaps/default/keymap.c26
-rw-r--r--keyboards/kb_elmo/aek2_usb/config.h2
-rw-r--r--keyboards/kb_elmo/aek2_usb/info.json3
-rw-r--r--keyboards/kbdcraft/adam64/adam64.c130
-rw-r--r--keyboards/kbdcraft/adam64/config.h7
-rw-r--r--keyboards/kbdcraft/adam64/info.json3
-rw-r--r--keyboards/kbdfans/baguette66/rgb/config.h34
-rw-r--r--keyboards/kbdfans/baguette66/rgb/info.json33
-rw-r--r--keyboards/kbdfans/bella/rgb/config.h60
-rw-r--r--keyboards/kbdfans/bella/rgb/info.json50
-rw-r--r--keyboards/kbdfans/bella/rgb/rgb.c190
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/config.h60
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/info.json50
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/rgb_iso.c192
-rw-r--r--keyboards/kbdfans/boop65/rgb/config.h57
-rw-r--r--keyboards/kbdfans/boop65/rgb/info.json53
-rw-r--r--keyboards/kbdfans/boop65/rgb/rgb.c168
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/config.h1
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/info.json3
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/config.h1
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/info.json3
-rw-r--r--keyboards/kbdfans/epoch80/info.json (renamed from keyboards/epoch80/info.json)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/default/keymap.c (renamed from keyboards/epoch80/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/iso/keymap.c (renamed from keyboards/epoch80/keymaps/iso/keymap.c)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/tsangan/keymap.c (renamed from keyboards/epoch80/keymaps/tsangan/keymap.c)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/via/keymap.c (renamed from keyboards/epoch80/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/via/rules.mk (renamed from keyboards/kudox/columner/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kbdfans/epoch80/keymaps/wkl/keymap.c (renamed from keyboards/epoch80/keymaps/wkl/keymap.c)0
-rw-r--r--keyboards/kbdfans/epoch80/readme.md20
-rw-r--r--keyboards/kbdfans/epoch80/rules.mk (renamed from keyboards/epoch80/rules.mk)0
-rw-r--r--keyboards/kbdfans/jm60/board.h (renamed from keyboards/jm60/board.h)0
-rw-r--r--keyboards/kbdfans/jm60/chconf.h (renamed from keyboards/jm60/chconf.h)0
-rw-r--r--keyboards/kbdfans/jm60/config.h (renamed from keyboards/jm60/config.h)0
-rw-r--r--keyboards/kbdfans/jm60/info.json (renamed from keyboards/jm60/info.json)0
-rw-r--r--keyboards/kbdfans/jm60/jm60.c (renamed from keyboards/jm60/jm60.c)0
-rw-r--r--keyboards/kbdfans/jm60/keymaps/default/keymap.c42
-rw-r--r--keyboards/kbdfans/jm60/keymaps/poker3/keymap.c (renamed from keyboards/jm60/keymaps/poker3/keymap.c)0
-rw-r--r--keyboards/kbdfans/jm60/ld/jm60_bootloader.ld (renamed from keyboards/jm60/ld/jm60_bootloader.ld)0
-rw-r--r--keyboards/kbdfans/jm60/mcuconf.h (renamed from keyboards/jm60/mcuconf.h)0
-rw-r--r--keyboards/kbdfans/jm60/readme.md21
-rw-r--r--keyboards/kbdfans/jm60/rules.mk (renamed from keyboards/jm60/rules.mk)0
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/config.h19
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/keymap.c79
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/rules.mk6
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/config.h22
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c165
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/readme.md27
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/rules.mk2
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/config.h3
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c71
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/rules.mk1
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c65
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h22
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c96
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/readme.md41
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c8
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/readme.md54
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h29
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/keymap.c48
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h41
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c158
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md23
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc68
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk4
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/config.h58
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/info.json37
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/config.h63
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/info.json34
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c2
-rwxr-xr-xkeyboards/kbdfans/kbd67/mkiirgb/v3/config.h57
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v3/info.json36
-rwxr-xr-xkeyboards/kbdfans/kbd67/mkiirgb/v3/v3.c146
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/config.h55
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/info.json32
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/config.h56
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/info.json32
-rw-r--r--keyboards/kbdfans/kbd67/rev1/info.json15
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h19
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c28
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h19
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c87
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/readme.md33
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/via/keymap.c43
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/via/readme.md1
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/via/rules.mk1
-rw-r--r--keyboards/kbdfans/kbd67/rev1/readme.md12
-rw-r--r--keyboards/kbdfans/kbd67/rev1/rules.mk13
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/config.h17
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/keymap.c33
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/readme.md1
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/rules.mk1
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h30
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c71
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md30
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk3
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c58
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/readme.md4
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c58
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md4
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h19
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/keymap.c60
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/readme.md1
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h14
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c79
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/readme.md9
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/rules.mk18
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/keymap.c52
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/readme.md9
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/rules.mk2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/config.h10
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c189
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/readme.md56
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/rules.mk16
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c212
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/aaronireland/readme.md39
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adamdehaven/config.h3
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c168
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adamdehaven/rules.mk1
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adit/keymap.c23
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/broswen/README.md7
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c22
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/digital/keymap.c22
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/digital/readme.md5
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c67
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c145
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c41
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/spacemanspiff/readme.md35
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/config.h21
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c90
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/readme.md5
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/rules.mk14
-rw-r--r--keyboards/kbdfans/kbd75hs/config.h1
-rw-r--r--keyboards/kbdfans/kbd75hs/info.json3
-rw-r--r--keyboards/kbdfans/kbd75rgb/config.h33
-rw-r--r--keyboards/kbdfans/kbd75rgb/info.json35
-rw-r--r--keyboards/kbdfans/kbdmini/config.h55
-rw-r--r--keyboards/kbdfans/kbdmini/info.json31
-rw-r--r--keyboards/kbdfans/kbdmini/kbdmini.c106
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c156
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/readme.md17
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/rules.mk1
-rw-r--r--keyboards/kbdfans/kbdpad/mk3/config.h55
-rw-r--r--keyboards/kbdfans/kbdpad/mk3/info.json41
-rwxr-xr-xkeyboards/kbdfans/maja/config.h57
-rw-r--r--keyboards/kbdfans/maja/info.json36
-rwxr-xr-xkeyboards/kbdfans/maja/maja.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c74
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md7
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c194
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md5
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/framtava/config.h29
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c279
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk3
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md35
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c8
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json1
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json1
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk4
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/config.h29
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c261
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/readme.md2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk1
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/config.h37
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c383
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h14
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c120
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md5
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk22
-rw-r--r--keyboards/kbdfans/niu_mini/rules.mk2
-rw-r--r--keyboards/kbdfans/odin/rgb/config.h73
-rw-r--r--keyboards/kbdfans/odin/rgb/info.json51
-rw-r--r--keyboards/kbdfans/odin/v2/config.h19
-rw-r--r--keyboards/kbdfans/odin/v2/info.json3
-rw-r--r--keyboards/kbdfans/phaseone/config.h1
-rw-r--r--keyboards/kbdfans/phaseone/info.json3
-rw-r--r--keyboards/kbdfans/tiger80/config.h1
-rw-r--r--keyboards/kbdfans/tiger80/info.json3
-rw-r--r--keyboards/kbdfans/tiger80/keymaps/micros24/config.h37
-rw-r--r--keyboards/kbdfans/tiger80/keymaps/micros24/keymap.c80
-rw-r--r--keyboards/kbdfans/tiger80/keymaps/micros24/readme.md15
-rw-r--r--keyboards/kbdfans/tiger80/keymaps/micros24/rules.mk5
-rw-r--r--keyboards/kbdmania/kmac/config.h (renamed from keyboards/kmac/config.h)0
-rw-r--r--keyboards/kbdmania/kmac/info.json (renamed from keyboards/kmac/info.json)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default/keymap.c (renamed from keyboards/kmac/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default/readme.md (renamed from keyboards/kmac/keymaps/default/readme.md)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/keymap.c (renamed from keyboards/kmac/keymaps/default_tkl_ansi/keymap.c)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/readme.md (renamed from keyboards/kmac/keymaps/default_tkl_ansi/readme.md)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/keymap.c (renamed from keyboards/kmac/keymaps/default_tkl_ansi_wkl/keymap.c)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/readme.md (renamed from keyboards/kmac/keymaps/default_tkl_ansi_wkl/readme.md)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/via/keymap.c (renamed from keyboards/kmac/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kbdmania/kmac/keymaps/via/rules.mk (renamed from keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/rules.mk)0
-rw-r--r--keyboards/kbdmania/kmac/kmac.c (renamed from keyboards/kmac/kmac.c)0
-rw-r--r--keyboards/kbdmania/kmac/matrix.c (renamed from keyboards/kmac/matrix.c)0
-rw-r--r--keyboards/kbdmania/kmac/readme.md21
-rw-r--r--keyboards/kbdmania/kmac/rules.mk (renamed from keyboards/kmac/rules.mk)0
-rw-r--r--keyboards/kbdmania/kmac_pad/config.h (renamed from keyboards/kmac_pad/config.h)0
-rw-r--r--keyboards/kbdmania/kmac_pad/info.json (renamed from keyboards/kmac_pad/info.json)0
-rw-r--r--keyboards/kbdmania/kmac_pad/keymaps/default/keymap.c (renamed from keyboards/kmac_pad/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kbdmania/kmac_pad/keymaps/default/readme.md (renamed from keyboards/kmac_pad/keymaps/default/readme.md)0
-rw-r--r--keyboards/kbdmania/kmac_pad/kmac_pad.c (renamed from keyboards/kmac_pad/kmac_pad.c)0
-rw-r--r--keyboards/kbdmania/kmac_pad/matrix.c (renamed from keyboards/kmac_pad/matrix.c)0
-rw-r--r--keyboards/kbdmania/kmac_pad/readme.md56
-rw-r--r--keyboards/kbdmania/kmac_pad/rules.mk (renamed from keyboards/kmac_pad/rules.mk)0
-rw-r--r--keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c51
-rw-r--r--keyboards/kc60/keymaps/dbroqua_hhkb/readme.md9
-rw-r--r--keyboards/kc60/keymaps/stanleylai/keymap.c51
-rw-r--r--keyboards/kc60/keymaps/stanleylai/readme.md24
-rw-r--r--keyboards/kc60/keymaps/stanleylai/rules.mk20
-rw-r--r--keyboards/kc60/keymaps/wigguno/keymap.c52
-rw-r--r--keyboards/kc60/keymaps/wigguno/readme.md14
-rw-r--r--keyboards/kc60/keymaps/wigguno/rules.mk19
-rw-r--r--keyboards/kc60/mod_rgb_underglow.md4
-rw-r--r--keyboards/keebio/bamfk4/config.h47
-rw-r--r--keyboards/keebio/bamfk4/info.json44
-rw-r--r--keyboards/keebio/bdn9/keymaps/ghostseven/config.h20
-rw-r--r--keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c71
-rw-r--r--keyboards/keebio/bdn9/keymaps/lickel/keymap.c171
-rw-r--r--keyboards/keebio/bdn9/keymaps/lickel/readme.md21
-rw-r--r--keyboards/keebio/bdn9/keymaps/lickel/rules.mk6
-rw-r--r--keyboards/keebio/bdn9/keymaps/mousepad/config.h3
-rw-r--r--keyboards/keebio/bdn9/keymaps/mousepad/keymap.c82
-rw-r--r--keyboards/keebio/bdn9/keymaps/mousepad/readme.md16
-rw-r--r--keyboards/keebio/bdn9/keymaps/mousepad/rules.mk2
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c58
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c173
-rw-r--r--keyboards/keebio/bdn9/rev2/config.h55
-rw-r--r--keyboards/keebio/bdn9/rev2/info.json45
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h37
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c381
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/readme.md1
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/rules.mk19
-rw-r--r--keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c20
-rw-r--r--keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c81
-rw-r--r--keyboards/keebio/bfo9000/keymaps/shadyproject/readme.md11
-rw-r--r--keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h37
-rw-r--r--keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c341
-rw-r--r--keyboards/keebio/bfo9000/keymaps/tuesdayjohn/rules.mk19
-rw-r--r--keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c34
-rw-r--r--keyboards/keebio/bfo9000/keymaps/vladkvit/readme.md4
-rw-r--r--keyboards/keebio/cepstrum/rev1/config.h50
-rw-r--r--keyboards/keebio/cepstrum/rev1/info.json46
-rw-r--r--keyboards/keebio/chocopad/rev2/config.h6
-rw-r--r--keyboards/keebio/chocopad/rev2/info.json3
-rw-r--r--keyboards/keebio/convolution/rev1/config.h26
-rw-r--r--keyboards/keebio/convolution/rev1/info.json26
-rw-r--r--keyboards/keebio/dilly/keymaps/default/config.h1
-rw-r--r--keyboards/keebio/dsp40/keymaps/bakingpy/config.h19
-rw-r--r--keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c214
-rw-r--r--keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c306
-rw-r--r--keyboards/keebio/foldkb/keymaps/forrcaho/readme.md23
-rw-r--r--keyboards/keebio/foldkb/keymaps/forrcaho/rules.mk3
-rw-r--r--keyboards/keebio/fourier/keymaps/maxim/config.h23
-rw-r--r--keyboards/keebio/fourier/keymaps/maxim/keymap.c45
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/config.h4
-rw-r--r--keyboards/keebio/iris/rev5/config.h3
-rw-r--r--keyboards/keebio/iris/rev5/info.json8
-rw-r--r--keyboards/keebio/iris/rev6/config.h48
-rw-r--r--keyboards/keebio/iris/rev6/info.json45
-rw-r--r--keyboards/keebio/iris/rev7/config.h48
-rw-r--r--keyboards/keebio/iris/rev7/info.json43
-rw-r--r--keyboards/keebio/iris/rev8/config.h10
-rw-r--r--keyboards/keebio/iris/rev8/info.json3
-rw-r--r--keyboards/keebio/levinson/keymaps/drogglbecher/config.h11
-rw-r--r--keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c76
-rw-r--r--keyboards/keebio/levinson/keymaps/drogglbecher/rules.mk6
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh/keymap.c202
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh/readme.md32
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh/rules.mk1
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh2/config.h41
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh2/keymap.c222
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh2/readme.md32
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh2/rules.mk2
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/config.h35
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/keymap.c151
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/rules.mk3
-rw-r--r--keyboards/keebio/levinson/keymaps/mmacdougall/README.md21
-rw-r--r--keyboards/keebio/levinson/keymaps/mmacdougall/config.h24
-rw-r--r--keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c197
-rw-r--r--keyboards/keebio/levinson/keymaps/mmacdougall/rules.mk2
-rw-r--r--keyboards/keebio/levinson/keymaps/treadwell/config.h25
-rw-r--r--keyboards/keebio/levinson/keymaps/treadwell/keymap.c175
-rw-r--r--keyboards/keebio/levinson/keymaps/treadwell/rules.mk2
-rw-r--r--keyboards/keebio/nyquist/keymaps/bwprobably/config.h30
-rw-r--r--keyboards/keebio/nyquist/keymaps/bwprobably/keymap.c31
-rw-r--r--keyboards/keebio/nyquist/keymaps/bwprobably/rules.mk1
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri/config.h26
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri/keymap.c106
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri/readme.md52
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri/rules.mk5
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri3/config.h25
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c106
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri3/readme.md52
-rw-r--r--keyboards/keebio/nyquist/keymaps/georgepetri3/rules.mk5
-rw-r--r--keyboards/keebio/nyquist/keymaps/jojiichan/config.h45
-rw-r--r--keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c46
-rw-r--r--keyboards/keebio/nyquist/keymaps/jojiichan/rules.mk2
-rw-r--r--keyboards/keebio/nyquist/keymaps/pipicanim/README.md63
-rw-r--r--keyboards/keebio/nyquist/keymaps/pipicanim/config.h40
-rw-r--r--keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c29
-rw-r--r--keyboards/keebio/nyquist/keymaps/pipicanim/rules.mk1
-rw-r--r--keyboards/keebio/nyquist/keymaps/shovelpaw/config.h47
-rw-r--r--keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c156
-rw-r--r--keyboards/keebio/nyquist/keymaps/shovelpaw/rules.mk3
-rw-r--r--keyboards/keebio/nyquist/rev4/config.h10
-rw-r--r--keyboards/keebio/nyquist/rev4/info.json3
-rw-r--r--keyboards/keebio/nyquistpad/config.h6
-rw-r--r--keyboards/keebio/nyquistpad/info.json3
-rw-r--r--keyboards/keebio/quefrency/keymaps/bfiedler/config.h27
-rw-r--r--keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c70
-rw-r--r--keyboards/keebio/quefrency/keymaps/bfiedler/rules.mk3
-rw-r--r--keyboards/keebio/quefrency/keymaps/bjohnson/config.h35
-rw-r--r--keyboards/keebio/quefrency/keymaps/bjohnson/keymap.c33
-rw-r--r--keyboards/keebio/quefrency/keymaps/bjohnson/rules.mk22
-rw-r--r--keyboards/keebio/quefrency/keymaps/default60/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/default65/config.h23
-rw-r--r--keyboards/keebio/quefrency/keymaps/drashna_ms/config.h40
-rw-r--r--keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c43
-rw-r--r--keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk5
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/config.h33
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c91
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/readme.md64
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/rules.mk1
-rw-r--r--keyboards/keebio/quefrency/keymaps/joestrong/README.md17
-rw-r--r--keyboards/keebio/quefrency/keymaps/joestrong/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/joestrong/keymap.c41
-rw-r--r--keyboards/keebio/quefrency/keymaps/kingwangwong/config.h27
-rw-r--r--keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c40
-rw-r--r--keyboards/keebio/quefrency/keymaps/rogthefrog/config.h23
-rw-r--r--keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c46
-rw-r--r--keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/unausgeschlafen/keymap.c62
-rw-r--r--keyboards/keebio/quefrency/keymaps/unausgeschlafen/readme.md26
-rw-r--r--keyboards/keebio/quefrency/keymaps/unausgeschlafen/rules.mk1
-rw-r--r--keyboards/keebio/quefrency/keymaps/yoryer/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/yoryer/keymap.c42
-rw-r--r--keyboards/keebio/quefrency/rev2/keymaps/xeal/config.h40
-rw-r--r--keyboards/keebio/quefrency/rev2/keymaps/xeal/keymap.c44
-rw-r--r--keyboards/keebio/quefrency/rev2/keymaps/xeal/rules.mk4
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h18
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c281
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/readme.md1
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/rules.mk19
-rw-r--r--keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h18
-rw-r--r--keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c296
-rw-r--r--keyboards/keebio/rorschach/keymaps/tuesdayjohn/rules.mk19
-rw-r--r--keyboards/keebio/sinc/keymaps/lickel/keymap.c65
-rw-r--r--keyboards/keebio/sinc/keymaps/lickel/readme.md26
-rw-r--r--keyboards/keebio/sinc/keymaps/lickel/rules.mk3
-rw-r--r--keyboards/keebio/sinc/rev1/config.h1
-rw-r--r--keyboards/keebio/sinc/rev1/info.json3
-rw-r--r--keyboards/keebio/sinc/rev2/config.h1
-rw-r--r--keyboards/keebio/sinc/rev2/info.json3
-rw-r--r--keyboards/keebio/sinc/rev3/config.h49
-rw-r--r--keyboards/keebio/sinc/rev3/info.json46
-rw-r--r--keyboards/keebio/sinc/rev4/config.h59
-rw-r--r--keyboards/keebio/sinc/rev4/info.json55
-rw-r--r--keyboards/keebio/stick/config.h71
-rw-r--r--keyboards/keebio/stick/info.json45
-rw-r--r--keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c60
-rw-r--r--keyboards/keebio/viterbi/keymaps/default/config.h4
-rw-r--r--keyboards/keebio/viterbi/keymaps/met/keymap.c321
-rw-r--r--keyboards/keebio/viterbi/keymaps/met/rules.mk1
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/ansi.c256
-rw-r--r--keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c176
-rw-r--r--keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/readme.md9
-rw-r--r--keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c154
-rw-r--r--keyboards/keebwerk/nano_slider/keymaps/midi2vol/readme.md2
-rw-r--r--keyboards/keybee/keybee65/config.h24
-rw-r--r--keyboards/keybee/keybee65/info.json3
-rw-r--r--keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c137
-rw-r--r--keyboards/keyboardio/atreus/keymaps/ardumont/readme.md23
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/config.h26
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c110
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md5
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk4
-rw-r--r--keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h45
-rw-r--r--keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c224
-rw-r--r--keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md35
-rw-r--r--keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk7
-rw-r--r--keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h44
-rw-r--r--keyboards/keyboardio/atreus/keymaps/slotthe/config.h19
-rw-r--r--keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c328
-rw-r--r--keyboards/keyboardio/atreus/keymaps/slotthe/readme.md251
-rw-r--r--keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk9
-rw-r--r--keyboards/keyboardio/model01/config.h53
-rw-r--r--keyboards/keyboardio/model01/info.json99
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/config.h19
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c50
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/readme.md5
-rw-r--r--keyboards/keyboardio/model01/leds.c31
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c42
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk1
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c102
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk1
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c61
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk1
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/config.h14
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/info.json3
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/rgb.c178
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/config.h15
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/info.json6
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/white.c182
-rw-r--r--keyboards/keychron/c1_pro/c1_pro.c13
-rw-r--r--keyboards/keychron/c1_pro/config.h10
-rw-r--r--keyboards/keychron/c1_pro/info.json8
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/config.h14
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/info.json3
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/rgb.c218
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/config.h15
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/info.json6
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/white.c218
-rw-r--r--keyboards/keychron/c2_pro/c2_pro.c12
-rw-r--r--keyboards/keychron/c2_pro/config.h10
-rw-r--r--keyboards/keychron/c2_pro/info.json8
-rw-r--r--keyboards/keychron/q0/base/base.c54
-rw-r--r--keyboards/keychron/q0/base/config.h3
-rw-r--r--keyboards/keychron/q0/config.h6
-rw-r--r--keyboards/keychron/q0/info.json3
-rw-r--r--keyboards/keychron/q0/plus/config.h3
-rw-r--r--keyboards/keychron/q0/plus/plus.c64
-rw-r--r--keyboards/keychron/q10/ansi_encoder/ansi_encoder.c178
-rw-r--r--keyboards/keychron/q10/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/q10/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/q10/config.h65
-rw-r--r--keyboards/keychron/q10/info.json37
-rw-r--r--keyboards/keychron/q10/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/q10/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/q10/iso_encoder/iso_encoder.c180
-rw-r--r--keyboards/keychron/q10/q10.c9
-rwxr-xr-xkeyboards/keychron/q11/ansi_encoder/ansi_encoder.c180
-rwxr-xr-xkeyboards/keychron/q11/ansi_encoder/config.h3
-rwxr-xr-xkeyboards/keychron/q11/config.h25
-rwxr-xr-xkeyboards/keychron/q11/info.json14
-rwxr-xr-xkeyboards/keychron/q11/iso_encoder/config.h3
-rwxr-xr-xkeyboards/keychron/q11/iso_encoder/iso_encoder.c182
-rwxr-xr-xkeyboards/keychron/q11/q11.c19
-rw-r--r--keyboards/keychron/q12/ansi_encoder/ansi_encoder.c210
-rw-r--r--keyboards/keychron/q12/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/q12/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/q12/config.h69
-rw-r--r--keyboards/keychron/q12/info.json32
-rw-r--r--keyboards/keychron/q12/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/q12/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/q12/iso_encoder/iso_encoder.c214
-rw-r--r--keyboards/keychron/q12/q12.c10
-rw-r--r--keyboards/keychron/q1v1/ansi/ansi.c175
-rw-r--r--keyboards/keychron/q1v1/ansi/config.h3
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/README.md21
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h25
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap.c70
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap_user.h28
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.c72
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.h24
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rules.mk6
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h23
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap.c153
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap_user.h33
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/readme.md54
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.c84
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.h26
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rules.mk6
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h32
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap.c67
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap_user.h48
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/readme.md13
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.c92
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.h25
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/rules.mk14
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.c50
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.h23
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.c49
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.h38
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_user.c28
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.c50
-rw-r--r--keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.h23
-rw-r--r--keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c175
-rw-r--r--keyboards/keychron/q1v1/ansi_encoder/config.h3
-rw-r--r--keyboards/keychron/q1v1/config.h12
-rw-r--r--keyboards/keychron/q1v1/info.json10
-rw-r--r--keyboards/keychron/q1v1/iso/config.h3
-rw-r--r--keyboards/keychron/q1v1/iso/iso.c177
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/README.md16
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h25
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap.c66
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap_user.h28
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.c76
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.h24
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/kubahorak/rules.mk6
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h23
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap.c153
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap_user.h33
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/readme.md54
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.c84
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.h26
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rules.mk6
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/victorsavu3/config.h69
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/victorsavu3/keymap.c146
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/victorsavu3/readme.md4
-rw-r--r--keyboards/keychron/q1v1/iso/keymaps/victorsavu3/rules.mk3
-rw-r--r--keyboards/keychron/q1v1/iso_encoder/config.h3
-rw-r--r--keyboards/keychron/q1v1/iso_encoder/iso_encoder.c177
-rw-r--r--keyboards/keychron/q1v2/ansi/ansi.c166
-rw-r--r--keyboards/keychron/q1v2/ansi/config.h5
-rw-r--r--keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c166
-rw-r--r--keyboards/keychron/q1v2/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/q1v2/config.h22
-rw-r--r--keyboards/keychron/q1v2/info.json11
-rw-r--r--keyboards/keychron/q1v2/iso/config.h5
-rw-r--r--keyboards/keychron/q1v2/iso/iso.c168
-rw-r--r--keyboards/keychron/q1v2/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/q1v2/iso_encoder/iso_encoder.c168
-rw-r--r--keyboards/keychron/q1v2/jis/config.h5
-rw-r--r--keyboards/keychron/q1v2/jis/jis.c174
-rw-r--r--keyboards/keychron/q1v2/jis_encoder/config.h5
-rw-r--r--keyboards/keychron/q1v2/jis_encoder/jis_encoder.c174
-rw-r--r--keyboards/keychron/q1v2/q1v2.c9
-rw-r--r--keyboards/keychron/q2/ansi/ansi.c136
-rw-r--r--keyboards/keychron/q2/ansi/config.h3
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/config.h25
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c68
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/keymap_user.h27
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/readme.md29
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.c73
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.h25
-rw-r--r--keyboards/keychron/q2/ansi/keymaps/ladduro/rules.mk5
-rw-r--r--keyboards/keychron/q2/ansi_encoder/ansi_encoder.c136
-rw-r--r--keyboards/keychron/q2/ansi_encoder/config.h3
-rw-r--r--keyboards/keychron/q2/config.h12
-rw-r--r--keyboards/keychron/q2/info.json6
-rw-r--r--keyboards/keychron/q2/iso/config.h3
-rw-r--r--keyboards/keychron/q2/iso/iso.c138
-rw-r--r--keyboards/keychron/q2/iso_encoder/config.h3
-rw-r--r--keyboards/keychron/q2/iso_encoder/iso_encoder.c138
-rw-r--r--keyboards/keychron/q2/jis/jis.c144
-rw-r--r--keyboards/keychron/q2/jis_encoder/jis_encoder.c144
-rw-r--r--keyboards/keychron/q2/q2.c8
-rw-r--r--keyboards/keychron/q3/ansi/ansi.c176
-rw-r--r--keyboards/keychron/q3/ansi/config.h3
-rw-r--r--keyboards/keychron/q3/ansi_encoder/ansi_encoder.c176
-rw-r--r--keyboards/keychron/q3/ansi_encoder/config.h3
-rw-r--r--keyboards/keychron/q3/config.h12
-rw-r--r--keyboards/keychron/q3/info.json6
-rw-r--r--keyboards/keychron/q3/iso/config.h3
-rw-r--r--keyboards/keychron/q3/iso/iso.c178
-rw-r--r--keyboards/keychron/q3/iso_encoder/config.h3
-rw-r--r--keyboards/keychron/q3/iso_encoder/iso_encoder.c178
-rw-r--r--keyboards/keychron/q3/jis/config.h3
-rw-r--r--keyboards/keychron/q3/jis/jis.c184
-rw-r--r--keyboards/keychron/q3/jis_encoder/config.h3
-rw-r--r--keyboards/keychron/q3/jis_encoder/jis_encoder.c186
-rw-r--r--keyboards/keychron/q3/q3.c13
-rw-r--r--keyboards/keychron/q4/ansi/v1/config.h3
-rw-r--r--keyboards/keychron/q4/ansi/v1/v1.c124
-rw-r--r--keyboards/keychron/q4/ansi/v2/config.h3
-rw-r--r--keyboards/keychron/q4/ansi/v2/v2.c124
-rw-r--r--keyboards/keychron/q4/config.h12
-rw-r--r--keyboards/keychron/q4/info.json6
-rw-r--r--keyboards/keychron/q4/iso/config.h3
-rw-r--r--keyboards/keychron/q4/iso/iso.c126
-rw-r--r--keyboards/keychron/q4/q4.c8
-rw-r--r--keyboards/keychron/q5/ansi/ansi.c234
-rw-r--r--keyboards/keychron/q5/ansi/config.h7
-rw-r--r--keyboards/keychron/q5/ansi/info.json121
-rw-r--r--keyboards/keychron/q5/ansi/rules.mk17
-rw-r--r--keyboards/keychron/q5/ansi_encoder/ansi_encoder.c234
-rw-r--r--keyboards/keychron/q5/ansi_encoder/config.h10
-rw-r--r--keyboards/keychron/q5/ansi_encoder/info.json128
-rw-r--r--keyboards/keychron/q5/ansi_encoder/rules.mk18
-rw-r--r--keyboards/keychron/q5/config.h69
-rw-r--r--keyboards/keychron/q5/info.json57
-rw-r--r--keyboards/keychron/q5/iso/config.h7
-rw-r--r--keyboards/keychron/q5/iso/info.json126
-rw-r--r--keyboards/keychron/q5/iso/iso.c236
-rw-r--r--keyboards/keychron/q5/iso/rules.mk17
-rw-r--r--keyboards/keychron/q5/iso_encoder/config.h10
-rw-r--r--keyboards/keychron/q5/iso_encoder/info.json129
-rw-r--r--keyboards/keychron/q5/iso_encoder/iso_encoder.c232
-rw-r--r--keyboards/keychron/q5/iso_encoder/rules.mk18
-rw-r--r--keyboards/keychron/q5/q5.c9
-rw-r--r--keyboards/keychron/q5/readme.md16
-rw-r--r--keyboards/keychron/q6/ansi/ansi.c218
-rw-r--r--keyboards/keychron/q6/ansi/config.h5
-rw-r--r--keyboards/keychron/q6/ansi/info.json3
-rw-r--r--keyboards/keychron/q6/ansi_encoder/ansi_encoder.c218
-rw-r--r--keyboards/keychron/q6/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/q6/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/q6/config.h65
-rw-r--r--keyboards/keychron/q6/info.json37
-rw-r--r--keyboards/keychron/q6/iso/config.h5
-rw-r--r--keyboards/keychron/q6/iso/info.json3
-rw-r--r--keyboards/keychron/q6/iso/iso.c220
-rw-r--r--keyboards/keychron/q6/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/q6/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/q6/iso_encoder/iso_encoder.c220
-rw-r--r--keyboards/keychron/q6/q6.c9
-rw-r--r--keyboards/keychron/q60/ansi/ansi.c122
-rw-r--r--keyboards/keychron/q60/ansi/config.h20
-rw-r--r--keyboards/keychron/q60/ansi/info.json3
-rw-r--r--keyboards/keychron/q60/config.h65
-rw-r--r--keyboards/keychron/q60/info.json37
-rw-r--r--keyboards/keychron/q60/q60.c8
-rw-r--r--keyboards/keychron/q65/ansi_encoder/ansi_encoder.c146
-rw-r--r--keyboards/keychron/q65/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/q65/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/q65/config.h65
-rw-r--r--keyboards/keychron/q65/info.json37
-rw-r--r--keyboards/keychron/q65/q65.c8
-rw-r--r--keyboards/keychron/q7/ansi/ansi.c175
-rw-r--r--keyboards/keychron/q7/ansi/config.h5
-rw-r--r--keyboards/keychron/q7/ansi/info.json100
-rw-r--r--keyboards/keychron/q7/ansi/rules.mk15
-rw-r--r--keyboards/keychron/q7/config.h67
-rw-r--r--keyboards/keychron/q7/info.json64
-rw-r--r--keyboards/keychron/q7/iso/config.h5
-rw-r--r--keyboards/keychron/q7/iso/info.json100
-rw-r--r--keyboards/keychron/q7/iso/iso.c177
-rw-r--r--keyboards/keychron/q7/iso/rules.mk15
-rw-r--r--keyboards/keychron/q7/q7.c8
-rw-r--r--keyboards/keychron/q7/readme.md10
-rw-r--r--keyboards/keychron/q8/ansi/ansi.c171
-rw-r--r--keyboards/keychron/q8/ansi/config.h5
-rw-r--r--keyboards/keychron/q8/ansi/info.json96
-rw-r--r--keyboards/keychron/q8/ansi/rules.mk15
-rw-r--r--keyboards/keychron/q8/ansi_encoder/ansi_encoder.c171
-rw-r--r--keyboards/keychron/q8/ansi_encoder/config.h8
-rw-r--r--keyboards/keychron/q8/ansi_encoder/info.json104
-rw-r--r--keyboards/keychron/q8/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q8/config.h67
-rw-r--r--keyboards/keychron/q8/info.json64
-rw-r--r--keyboards/keychron/q8/iso/config.h5
-rw-r--r--keyboards/keychron/q8/iso/info.json98
-rw-r--r--keyboards/keychron/q8/iso/iso.c171
-rw-r--r--keyboards/keychron/q8/iso/rules.mk15
-rw-r--r--keyboards/keychron/q8/iso_encoder/config.h8
-rw-r--r--keyboards/keychron/q8/iso_encoder/info.json104
-rw-r--r--keyboards/keychron/q8/iso_encoder/iso_encoder.c171
-rw-r--r--keyboards/keychron/q8/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q8/q8.c8
-rw-r--r--keyboards/keychron/q8/readme.md14
-rw-r--r--keyboards/keychron/q9/ansi/ansi.c132
-rw-r--r--keyboards/keychron/q9/ansi/config.h4
-rw-r--r--keyboards/keychron/q9/ansi/info.json79
-rw-r--r--keyboards/keychron/q9/ansi/rules.mk15
-rw-r--r--keyboards/keychron/q9/ansi_encoder/ansi_encoder.c132
-rw-r--r--keyboards/keychron/q9/ansi_encoder/config.h7
-rw-r--r--keyboards/keychron/q9/ansi_encoder/info.json85
-rw-r--r--keyboards/keychron/q9/ansi_encoder/rules.mk17
-rw-r--r--keyboards/keychron/q9/config.h68
-rw-r--r--keyboards/keychron/q9/info.json64
-rw-r--r--keyboards/keychron/q9/iso/config.h4
-rw-r--r--keyboards/keychron/q9/iso/info.json80
-rw-r--r--keyboards/keychron/q9/iso/iso.c134
-rw-r--r--keyboards/keychron/q9/iso/rules.mk15
-rw-r--r--keyboards/keychron/q9/iso_encoder/config.h7
-rw-r--r--keyboards/keychron/q9/iso_encoder/info.json88
-rw-r--r--keyboards/keychron/q9/iso_encoder/iso_encoder.c134
-rw-r--r--keyboards/keychron/q9/iso_encoder/rules.mk17
-rw-r--r--keyboards/keychron/q9/q9.c7
-rw-r--r--keyboards/keychron/q9/readme.md16
-rwxr-xr-xkeyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c110
-rwxr-xr-xkeyboards/keychron/q9_plus/ansi_encoder/config.h3
-rwxr-xr-xkeyboards/keychron/q9_plus/config.h19
-rwxr-xr-xkeyboards/keychron/q9_plus/info.json11
-rwxr-xr-xkeyboards/keychron/q9_plus/q9_plus.c7
-rw-r--r--keyboards/keychron/s1/ansi/rgb/config.h58
-rw-r--r--keyboards/keychron/s1/ansi/rgb/info.json26
-rw-r--r--keyboards/keychron/s1/ansi/rgb/rgb.c170
-rw-r--r--keyboards/keychron/s1/ansi/white/config.h38
-rw-r--r--keyboards/keychron/s1/ansi/white/info.json26
-rw-r--r--keyboards/keychron/s1/ansi/white/white.c170
-rw-r--r--keyboards/keychron/s1/config.h10
-rw-r--r--keyboards/keychron/s1/info.json10
-rw-r--r--keyboards/keychron/s1/s1.c9
-rw-r--r--keyboards/keychron/v1/ansi/ansi.c166
-rw-r--r--keyboards/keychron/v1/ansi/config.h5
-rw-r--r--keyboards/keychron/v1/ansi/info.json3
-rw-r--r--keyboards/keychron/v1/ansi_encoder/ansi_encoder.c166
-rw-r--r--keyboards/keychron/v1/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v1/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v1/config.h65
-rw-r--r--keyboards/keychron/v1/info.json37
-rw-r--r--keyboards/keychron/v1/iso/config.h5
-rw-r--r--keyboards/keychron/v1/iso/info.json3
-rw-r--r--keyboards/keychron/v1/iso/iso.c168
-rw-r--r--keyboards/keychron/v1/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v1/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v1/iso_encoder/iso_encoder.c168
-rw-r--r--keyboards/keychron/v1/jis/config.h5
-rw-r--r--keyboards/keychron/v1/jis/info.json3
-rw-r--r--keyboards/keychron/v1/jis/jis.c174
-rw-r--r--keyboards/keychron/v1/jis_encoder/config.h5
-rw-r--r--keyboards/keychron/v1/jis_encoder/info.json3
-rw-r--r--keyboards/keychron/v1/jis_encoder/jis_encoder.c174
-rw-r--r--keyboards/keychron/v1/v1.c9
-rw-r--r--keyboards/keychron/v10/ansi_encoder/ansi_encoder.c178
-rw-r--r--keyboards/keychron/v10/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v10/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v10/config.h65
-rw-r--r--keyboards/keychron/v10/info.json37
-rw-r--r--keyboards/keychron/v10/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v10/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v10/iso_encoder/iso_encoder.c180
-rw-r--r--keyboards/keychron/v10/v10.c9
-rw-r--r--keyboards/keychron/v2/ansi/ansi.c136
-rw-r--r--keyboards/keychron/v2/ansi/config.h5
-rw-r--r--keyboards/keychron/v2/ansi/info.json3
-rw-r--r--keyboards/keychron/v2/ansi_encoder/ansi_encoder.c136
-rw-r--r--keyboards/keychron/v2/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v2/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v2/config.h65
-rw-r--r--keyboards/keychron/v2/info.json37
-rw-r--r--keyboards/keychron/v2/iso/config.h5
-rw-r--r--keyboards/keychron/v2/iso/info.json3
-rw-r--r--keyboards/keychron/v2/iso/iso.c138
-rw-r--r--keyboards/keychron/v2/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v2/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v2/iso_encoder/iso_encoder.c138
-rw-r--r--keyboards/keychron/v2/jis/config.h5
-rw-r--r--keyboards/keychron/v2/jis/info.json3
-rw-r--r--keyboards/keychron/v2/jis/jis.c144
-rw-r--r--keyboards/keychron/v2/jis_encoder/config.h5
-rw-r--r--keyboards/keychron/v2/jis_encoder/info.json3
-rw-r--r--keyboards/keychron/v2/jis_encoder/jis_encoder.c144
-rw-r--r--keyboards/keychron/v2/v2.c8
-rw-r--r--keyboards/keychron/v3/ansi/ansi.c176
-rw-r--r--keyboards/keychron/v3/ansi/config.h5
-rw-r--r--keyboards/keychron/v3/ansi/info.json3
-rw-r--r--keyboards/keychron/v3/ansi_encoder/ansi_encoder.c178
-rw-r--r--keyboards/keychron/v3/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v3/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v3/config.h65
-rw-r--r--keyboards/keychron/v3/info.json37
-rw-r--r--keyboards/keychron/v3/iso/config.h5
-rw-r--r--keyboards/keychron/v3/iso/info.json3
-rw-r--r--keyboards/keychron/v3/iso/iso.c178
-rw-r--r--keyboards/keychron/v3/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v3/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v3/iso_encoder/iso_encoder.c178
-rw-r--r--keyboards/keychron/v3/jis/config.h5
-rw-r--r--keyboards/keychron/v3/jis/info.json3
-rw-r--r--keyboards/keychron/v3/jis/jis.c184
-rw-r--r--keyboards/keychron/v3/jis_encoder/config.h5
-rw-r--r--keyboards/keychron/v3/jis_encoder/info.json3
-rw-r--r--keyboards/keychron/v3/jis_encoder/jis_encoder.c186
-rw-r--r--keyboards/keychron/v3/v3.c13
-rw-r--r--keyboards/keychron/v4/ansi/ansi.c124
-rw-r--r--keyboards/keychron/v4/ansi/config.h4
-rw-r--r--keyboards/keychron/v4/ansi/info.json3
-rw-r--r--keyboards/keychron/v4/config.h65
-rw-r--r--keyboards/keychron/v4/info.json37
-rw-r--r--keyboards/keychron/v4/iso/config.h4
-rw-r--r--keyboards/keychron/v4/iso/info.json3
-rw-r--r--keyboards/keychron/v4/iso/iso.c126
-rw-r--r--keyboards/keychron/v4/v4.c8
-rw-r--r--keyboards/keychron/v5/ansi/ansi.c202
-rw-r--r--keyboards/keychron/v5/ansi/config.h5
-rw-r--r--keyboards/keychron/v5/ansi/info.json3
-rw-r--r--keyboards/keychron/v5/ansi_encoder/ansi_encoder.c202
-rw-r--r--keyboards/keychron/v5/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v5/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v5/config.h65
-rw-r--r--keyboards/keychron/v5/info.json37
-rw-r--r--keyboards/keychron/v5/iso/config.h5
-rw-r--r--keyboards/keychron/v5/iso/info.json3
-rw-r--r--keyboards/keychron/v5/iso/iso.c204
-rw-r--r--keyboards/keychron/v5/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v5/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v5/iso_encoder/iso_encoder.c200
-rw-r--r--keyboards/keychron/v5/v5.c9
-rw-r--r--keyboards/keychron/v6/ansi/ansi.c218
-rw-r--r--keyboards/keychron/v6/ansi/config.h5
-rw-r--r--keyboards/keychron/v6/ansi/info.json3
-rw-r--r--keyboards/keychron/v6/ansi_encoder/ansi_encoder.c218
-rw-r--r--keyboards/keychron/v6/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v6/config.h66
-rw-r--r--keyboards/keychron/v6/info.json37
-rw-r--r--keyboards/keychron/v6/iso/config.h5
-rw-r--r--keyboards/keychron/v6/iso/iso.c220
-rw-r--r--keyboards/keychron/v6/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v6/iso_encoder/iso_encoder.c220
-rw-r--r--keyboards/keychron/v6/v6.c9
-rw-r--r--keyboards/keychron/v7/ansi/ansi.c146
-rw-r--r--keyboards/keychron/v7/ansi/config.h5
-rw-r--r--keyboards/keychron/v7/ansi/info.json3
-rw-r--r--keyboards/keychron/v7/config.h65
-rw-r--r--keyboards/keychron/v7/info.json37
-rw-r--r--keyboards/keychron/v7/iso/config.h5
-rw-r--r--keyboards/keychron/v7/iso/info.json3
-rw-r--r--keyboards/keychron/v7/iso/iso.c148
-rw-r--r--keyboards/keychron/v7/v7.c8
-rw-r--r--keyboards/keychron/v8/ansi/ansi.c142
-rw-r--r--keyboards/keychron/v8/ansi/config.h5
-rw-r--r--keyboards/keychron/v8/ansi/info.json3
-rw-r--r--keyboards/keychron/v8/ansi/rules.mk5
-rw-r--r--keyboards/keychron/v8/ansi_encoder/ansi_encoder.c142
-rw-r--r--keyboards/keychron/v8/ansi_encoder/config.h5
-rw-r--r--keyboards/keychron/v8/ansi_encoder/info.json3
-rw-r--r--keyboards/keychron/v8/ansi_encoder/rules.mk4
-rw-r--r--keyboards/keychron/v8/config.h65
-rw-r--r--keyboards/keychron/v8/info.json37
-rw-r--r--keyboards/keychron/v8/iso/config.h5
-rw-r--r--keyboards/keychron/v8/iso/info.json3
-rw-r--r--keyboards/keychron/v8/iso/iso.c142
-rw-r--r--keyboards/keychron/v8/iso_encoder/config.h5
-rw-r--r--keyboards/keychron/v8/iso_encoder/info.json3
-rw-r--r--keyboards/keychron/v8/iso_encoder/iso_encoder.c142
-rw-r--r--keyboards/keychron/v8/iso_encoder/rules.mk4
-rw-r--r--keyboards/keychron/v8/v8.c8
-rw-r--r--keyboards/keygem/kg60ansi/config.h3
-rw-r--r--keyboards/keygem/kg60ansi/info.json4
-rw-r--r--keyboards/keygem/kg65rgbv2/config.h3
-rw-r--r--keyboards/keygem/kg65rgbv2/info.json4
-rw-r--r--keyboards/keyhive/opus/keymaps/thefoxcodes/config.h21
-rw-r--r--keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c94
-rw-r--r--keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md1
-rw-r--r--keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk1
-rw-r--r--keyboards/keyhive/southpole/keymaps/foobeard/keymap.c72
-rw-r--r--keyboards/keyhive/uno/keymaps/copypasta/keymap.c85
-rw-r--r--keyboards/keyhive/uno/keymaps/copypasta/readme.md4
-rwxr-xr-xkeyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json1
-rw-r--r--keyboards/keyhive/ut472/keymaps/annihilator6000/config.h19
-rw-r--r--keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c256
-rw-r--r--keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md15
-rw-r--r--keyboards/keyhive/ut472/keymaps/gardego5/keymap.c116
-rw-r--r--keyboards/keyhive/ut472/keymaps/gardego5/readme.md5
-rw-r--r--keyboards/keyhive/ut472/keymaps/stefanopace/config.h21
-rw-r--r--keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c185
-rw-r--r--keyboards/keyhive/ut472/keymaps/stefanopace/readme.md6
-rw-r--r--keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk7
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/config.h16
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/keymap.c111
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/readme.md5
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/rules.mk17
-rw-r--r--keyboards/keyprez/unicorn/keymaps/jorge/keymap.c33
-rw-r--r--keyboards/keyprez/unicorn/keymaps/jorge/readme.md1
-rw-r--r--keyboards/kezewa/enter67/info.json (renamed from keyboards/enter67/info.json)0
-rw-r--r--keyboards/kezewa/enter67/keymaps/default/keymap.c (renamed from keyboards/enter67/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kezewa/enter67/keymaps/via/keymap.c (renamed from keyboards/enter67/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kezewa/enter67/keymaps/via/rules.mk (renamed from keyboards/enter67/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kezewa/enter67/readme.md27
-rw-r--r--keyboards/kezewa/enter67/rules.mk (renamed from keyboards/enter80/rules.mk)0
-rw-r--r--keyboards/kezewa/enter80/info.json (renamed from keyboards/enter80/info.json)0
-rw-r--r--keyboards/kezewa/enter80/keymaps/default/keymap.c (renamed from keyboards/enter80/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kezewa/enter80/keymaps/via/keymap.c (renamed from keyboards/enter80/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kezewa/enter80/keymaps/via/rules.mk (renamed from keyboards/kudox/rev3/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kezewa/enter80/matrix_diagram.md (renamed from keyboards/enter80/matrix_diagram.md)0
-rw-r--r--keyboards/kezewa/enter80/readme.md27
-rw-r--r--keyboards/kezewa/enter80/rules.mk (renamed from keyboards/riot_pad/rules.mk)0
-rw-r--r--keyboards/kikoslab/kl90/config.h19
-rw-r--r--keyboards/kikoslab/kl90/keymaps/via/keymap.c34
-rw-r--r--keyboards/kikoslab/kl90/keymaps/via/rules.mk3
-rw-r--r--keyboards/kin80/keymaps/andrew/keymap.c127
-rw-r--r--keyboards/kin80/keymaps/maxim/keymap.c215
-rw-r--r--keyboards/kin80/keymaps/roman/keymap.c134
-rw-r--r--keyboards/kinesis/alvicstep/matrix.c2
-rw-r--r--keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c22
-rw-r--r--keyboards/kinesis/keymaps/farmergreg/keymap.c157
-rw-r--r--keyboards/kinesis/keymaps/farmergreg/readme.md1
-rw-r--r--keyboards/kinesis/keymaps/farmergreg/rules.mk5
-rw-r--r--keyboards/kinesis/keymaps/heatxsink/keymap.c148
-rw-r--r--keyboards/kinesis/keymaps/heatxsink/readme.md165
-rw-r--r--keyboards/kinesis/keymaps/heatxsink/rules.mk5
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/config.h12
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/keymap.c480
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/readme.md226
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/rules.mk21
-rw-r--r--keyboards/kinesis/keymaps/jwon/keymap.c122
-rw-r--r--keyboards/kinesis/keymaps/jwon/readme.md8
-rw-r--r--keyboards/kinesis/keymaps/jwon/rules.mk3
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/config.h5
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/keymap.c430
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/readme.md219
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/rules.mk19
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/config.h3
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/keymap.c33
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/readme.md1
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/rules.mk18
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/config.h19
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/keymap.c405
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/readme.md9
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/rules.mk5
-rwxr-xr-xkeyboards/kingly_keys/romac/keymaps/boss566y/config.h20
-rwxr-xr-xkeyboards/kingly_keys/romac/keymaps/boss566y/keymap.c91
-rwxr-xr-xkeyboards/kingly_keys/romac/keymaps/boss566y/rules.mk3
-rw-r--r--keyboards/kingly_keys/ropro/keymaps/jdayton3/README.md19
-rw-r--r--keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c287
-rw-r--r--keyboards/kingly_keys/ropro/rules.mk1
-rw-r--r--keyboards/kingly_keys/soap/rules.mk1
-rw-r--r--keyboards/kira/kira75/config.h (renamed from keyboards/kbdfans/kbd67/rev1/config.h)0
-rw-r--r--keyboards/kira/kira75/info.json (renamed from keyboards/kira75/info.json)0
-rw-r--r--keyboards/kira/kira75/keymaps/default/keymap.c (renamed from keyboards/kira75/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kira/kira75/keymaps/default/readme.md (renamed from keyboards/kira75/keymaps/default/readme.md)0
-rw-r--r--keyboards/kira/kira75/kira75.h (renamed from keyboards/kira75/kira75.h)0
-rw-r--r--keyboards/kira/kira75/readme.md15
-rw-r--r--keyboards/kira/kira75/rules.mk (renamed from keyboards/kira75/rules.mk)0
-rw-r--r--keyboards/kira/kira80/info.json (renamed from keyboards/kira80/info.json)0
-rw-r--r--keyboards/kira/kira80/keymaps/ansi/keymap.c (renamed from keyboards/kira80/keymaps/ansi/keymap.c)0
-rw-r--r--keyboards/kira/kira80/keymaps/ansi/readme.md (renamed from keyboards/kira80/keymaps/ansi/readme.md)0
-rw-r--r--keyboards/kira/kira80/keymaps/ansi_wkl/keymap.c (renamed from keyboards/kira80/keymaps/ansi_wkl/keymap.c)0
-rw-r--r--keyboards/kira/kira80/keymaps/ansi_wkl/readme.md (renamed from keyboards/kira80/keymaps/ansi_wkl/readme.md)0
-rw-r--r--keyboards/kira/kira80/keymaps/default/keymap.c (renamed from keyboards/kira80/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kira/kira80/keymaps/default/readme.md (renamed from keyboards/kira80/keymaps/default/readme.md)0
-rw-r--r--keyboards/kira/kira80/keymaps/iso/keymap.c (renamed from keyboards/kira80/keymaps/iso/keymap.c)0
-rw-r--r--keyboards/kira/kira80/keymaps/iso/readme.md (renamed from keyboards/kira80/keymaps/iso/readme.md)0
-rw-r--r--keyboards/kira/kira80/keymaps/via/keymap.c (renamed from keyboards/kira80/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kira/kira80/keymaps/via/readme.md (renamed from keyboards/kira80/keymaps/via/readme.md)0
-rw-r--r--keyboards/kira/kira80/keymaps/via/rules.mk (renamed from keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/rules.mk)0
-rw-r--r--keyboards/kira/kira80/readme.md50
-rw-r--r--keyboards/kira/kira80/rules.mk (renamed from keyboards/kira80/rules.mk)0
-rw-r--r--keyboards/kira75/config.h39
-rw-r--r--keyboards/kira75/readme.md15
-rw-r--r--keyboards/kira80/readme.md50
-rw-r--r--keyboards/kmac/readme.md21
-rw-r--r--keyboards/kmac_pad/readme.md56
-rw-r--r--keyboards/kprepublic/bm16a/v2/config.h2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h52
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c89
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md63
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h88
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c301
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md77
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h7
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.c76
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.h99
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c349
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md105
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/rules.mk2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/simchee/config.h20
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/keymaps/simchee/keymap.c61
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/simchee/readme.md75
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/simchee/rules.mk1
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev1/config.h55
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/info.json49
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/config.h81
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/keymap.c125
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/readme.md47
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/rules.mk5
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/config.h86
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/keymap.c242
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/readme.md117
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/rules.mk7
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/config.h86
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/keymap.c215
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/readme.md117
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/rules.mk7
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/config.h86
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/keymap.c179
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/readme.md117
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/rules.mk7
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/keymap.c216
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/readme.md79
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev1/rules.mk2
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev2/config.h3
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev2/info.json3
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/rev2/rev2.c96
-rw-r--r--keyboards/kprepublic/bm43a/config.h22
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h31
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c68
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md107
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/rules.mk1
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/config.h72
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/info.json48
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c41
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/readme.md5
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/config.h60
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/info.json46
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/rev2.c140
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h64
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json42
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h54
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json33
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c128
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h72
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json48
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h74
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json54
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c144
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h73
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json47
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h9
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/keymap.c25
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk4
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c145
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/readme.md1
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/rules.mk1
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h71
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json51
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c136
-rw-r--r--keyboards/kprepublic/bm65hsrgb/rev1/config.h4
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h36
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h71
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c463
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md22
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk23
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h72
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json51
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h27
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c273
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h63
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md20
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk4
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/config.h55
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/info.json48
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h117
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c304
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h63
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md1
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/config.h65
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/info.json37
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/rev2.c138
-rw-r--r--keyboards/kprepublic/bm80hsrgb/config.h60
-rw-r--r--keyboards/kprepublic/bm80hsrgb/info.json44
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h93
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c51
-rw-r--r--keyboards/kprepublic/bm80v2/bm80v2.c176
-rw-r--r--keyboards/kprepublic/bm80v2/config.h43
-rw-r--r--keyboards/kprepublic/bm80v2/info.json40
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h23
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/saph1s/keymap.c50
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/saph1s/readme.md6
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/saph1s/rgb_matrix_map.h113
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/smooted/config.h17
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/smooted/keymap.c25
-rw-r--r--keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c178
-rw-r--r--keyboards/kprepublic/bm80v2_iso/config.h44
-rw-r--r--keyboards/kprepublic/bm80v2_iso/info.json40
-rw-r--r--keyboards/kprepublic/bm980hsrgb/config.h6
-rw-r--r--keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c62
-rw-r--r--keyboards/kprepublic/cospad/keymaps/detrus/keymap.c367
-rw-r--r--keyboards/kprepublic/cstc40/config.h51
-rw-r--r--keyboards/kprepublic/cstc40/daughterboard/daughterboard.c96
-rw-r--r--keyboards/kprepublic/cstc40/info.json48
-rw-r--r--keyboards/kprepublic/cstc40/single_pcb/single_pcb.c96
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c168
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/readme.md69
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk1
-rw-r--r--keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c144
-rw-r--r--keyboards/kprepublic/jj40/keymaps/cockpit/readme.md55
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/keymap.c98
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/readme.md4
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/rules.mk17
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c124
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk11
-rw-r--r--keyboards/kprepublic/jj40/keymaps/suzuken/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/suzuken/keymap.c99
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/keymap.c115
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/readme.md49
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/rules.mk9
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/config.h3
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c136
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/readme.md4
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/README.md22
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/config.h9
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/keymap.c286
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/rules.mk4
-rw-r--r--keyboards/ktec/ergodone/keymaps/eozaki/keymap.c201
-rw-r--r--keyboards/ktec/ergodone/keymaps/eozaki/readme.md13
-rw-r--r--keyboards/ktec/ergodone/keymaps/vega/keymap.c828
-rw-r--r--keyboards/ktec/ergodone/keymaps/vega/rules.mk2
-rw-r--r--keyboards/kudox/columner/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/columner/keymaps/default/keymap.c63
-rw-r--r--keyboards/kudox/columner/keymaps/via/keymap.c76
-rw-r--r--keyboards/kudox/columner/readme.md32
-rw-r--r--keyboards/kudox/readme.md27
-rw-r--r--keyboards/kudox/rev1/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/default/keymap.c49
-rw-r--r--keyboards/kudox/rev1/keymaps/jis/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/jis/keymap.c48
-rw-r--r--keyboards/kudox/rev1/keymaps/x1/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/x1/keymap.c73
-rw-r--r--keyboards/kudox/rev1/keymaps/x1/readme.md1
-rw-r--r--keyboards/kudox/rev2/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/rev2/keymaps/default/keymap.c49
-rw-r--r--keyboards/kudox/rev2/keymaps/jis/config.h17
-rw-r--r--keyboards/kudox/rev2/keymaps/jis/keymap.c48
-rw-r--r--keyboards/kudox/rev3/keymaps/default/keymap.c70
-rw-r--r--keyboards/kudox/rev3/keymaps/jis/keymap.c70
-rw-r--r--keyboards/kudox/rev3/keymaps/via/keymap.c77
-rw-r--r--keyboards/kudox/rules.mk16
-rw-r--r--keyboards/kudox_full/readme.md32
-rw-r--r--keyboards/kudox_full/rules.mk18
-rw-r--r--keyboards/kudox_game/keymaps/default/config.h18
-rw-r--r--keyboards/kudox_game/keymaps/default/keymap.c71
-rw-r--r--keyboards/kudox_game/keymaps/via/keymap.c78
-rw-r--r--keyboards/kudox_game/readme.md26
-rw-r--r--keyboards/kudox_game/rev2/rules.mk1
-rw-r--r--keyboards/kudox_game/rules.mk14
-rw-r--r--keyboards/kumaokobo/kudox/columner/config.h (renamed from keyboards/kudox/columner/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox/columner/info.json (renamed from keyboards/kudox/columner/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox/columner/keymaps/default/keymap.c66
-rw-r--r--keyboards/kumaokobo/kudox/columner/keymaps/default/readme.md (renamed from keyboards/kudox/columner/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/columner/keymaps/via/keymap.c79
-rw-r--r--keyboards/kumaokobo/kudox/columner/keymaps/via/readme.md (renamed from keyboards/kudox/columner/keymaps/via/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/columner/keymaps/via/rules.mk (renamed from keyboards/kudox_game/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/columner/readme.md32
-rw-r--r--keyboards/kumaokobo/kudox/columner/rules.mk (renamed from keyboards/era/klein/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/config.h (renamed from keyboards/kudox/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox/readme.md27
-rw-r--r--keyboards/kumaokobo/kudox/rev1/config.h (renamed from keyboards/kudox/rev1/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox/rev1/info.json (renamed from keyboards/kudox/rev1/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox/rev1/keymaps/default/keymap.c52
-rw-r--r--keyboards/kumaokobo/kudox/rev1/keymaps/default/readme.md (renamed from keyboards/kudox/rev1/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev1/keymaps/jis/keymap.c51
-rw-r--r--keyboards/kumaokobo/kudox/rev1/keymaps/jis/readme.md (renamed from keyboards/kudox/rev1/keymaps/jis/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev1/rules.mk (renamed from keyboards/kudox/columner/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/rev2/config.h (renamed from keyboards/kudox/rev2/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox/rev2/info.json (renamed from keyboards/kudox/rev2/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox/rev2/keymaps/default/keymap.c52
-rw-r--r--keyboards/kumaokobo/kudox/rev2/keymaps/default/readme.md (renamed from keyboards/kudox/rev2/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev2/keymaps/jis/keymap.c51
-rw-r--r--keyboards/kumaokobo/kudox/rev2/keymaps/jis/readme.md (renamed from keyboards/kudox/rev2/keymaps/jis/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev2/rules.mk (renamed from keyboards/kudox/rev1/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/config.h (renamed from keyboards/kudox/rev3/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/info.json (renamed from keyboards/kudox/rev3/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/default/keymap.c73
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/default/readme.md (renamed from keyboards/kudox/rev3/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/jis/keymap.c73
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/jis/readme.md (renamed from keyboards/kudox/rev3/keymaps/jis/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/via/keymap.c80
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/via/readme.md (renamed from keyboards/kudox/rev3/keymaps/via/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/keymaps/via/rules.mk (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/rev3/rules.mk (renamed from keyboards/kudox/rev2/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox/rules.mk16
-rw-r--r--keyboards/kumaokobo/kudox_full/config.h (renamed from keyboards/kudox_full/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_full/keymaps/default/keymap.c (renamed from keyboards/kudox_full/keymaps/default/keymap.c)0
-rw-r--r--keyboards/kumaokobo/kudox_full/keymaps/jis/keymap.c (renamed from keyboards/kudox_full/keymaps/jis/keymap.c)0
-rw-r--r--keyboards/kumaokobo/kudox_full/keymaps/via/keymap.c (renamed from keyboards/kudox_full/keymaps/via/keymap.c)0
-rw-r--r--keyboards/kumaokobo/kudox_full/keymaps/via/rules.mk (renamed from keyboards/kudox_full/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox_full/kudox_full.c (renamed from keyboards/kudox_full/kudox_full.c)0
-rw-r--r--keyboards/kumaokobo/kudox_full/post_config.h (renamed from keyboards/kudox_full/post_config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_full/readme.md32
-rw-r--r--keyboards/kumaokobo/kudox_full/rev1/config.h (renamed from keyboards/kudox_full/rev1/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_full/rev1/info.json (renamed from keyboards/kudox_full/rev1/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox_full/rev1/rules.mk (renamed from keyboards/kudox_full/rev1/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox_full/rules.mk18
-rw-r--r--keyboards/kumaokobo/kudox_game/config.h (renamed from keyboards/kudox_game/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_game/info.json (renamed from keyboards/kudox_game/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox_game/keymaps/default/keymap.c74
-rw-r--r--keyboards/kumaokobo/kudox_game/keymaps/default/readme.md (renamed from keyboards/kudox_game/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox_game/keymaps/via/keymap.c81
-rw-r--r--keyboards/kumaokobo/kudox_game/keymaps/via/readme.md (renamed from keyboards/kudox_game/keymaps/via/readme.md)0
-rw-r--r--keyboards/kumaokobo/kudox_game/keymaps/via/rules.mk (renamed from keyboards/lefty/keymaps/via/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox_game/readme.md26
-rw-r--r--keyboards/kumaokobo/kudox_game/rev1/config.h (renamed from keyboards/kudox_game/rev1/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rev1/info.json (renamed from keyboards/kudox_game/rev1/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rev1/rules.mk (renamed from keyboards/kudox/rev3/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rev2/config.h (renamed from keyboards/kudox_game/rev2/config.h)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rev2/info.json (renamed from keyboards/kudox_game/rev2/info.json)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rev2/rules.mk (renamed from keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk)0
-rw-r--r--keyboards/kumaokobo/kudox_game/rules.mk14
-rw-r--r--keyboards/kumaokobo/pico/65keys/config.h (renamed from keyboards/pico/65keys/config.h)0
-rw-r--r--keyboards/kumaokobo/pico/65keys/info.json (renamed from keyboards/pico/65keys/info.json)0
-rw-r--r--keyboards/kumaokobo/pico/65keys/keymaps/default/keymap.c49
-rw-r--r--keyboards/kumaokobo/pico/65keys/keymaps/default/readme.md (renamed from keyboards/pico/65keys/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/pico/65keys/keymaps/jis/keymap.c50
-rw-r--r--keyboards/kumaokobo/pico/65keys/keymaps/jis/readme.md (renamed from keyboards/pico/65keys/keymaps/jis/readme.md)0
-rw-r--r--keyboards/kumaokobo/pico/65keys/rules.mk (renamed from keyboards/kudox_game/rev1/rules.mk)0
-rw-r--r--keyboards/kumaokobo/pico/70keys/config.h (renamed from keyboards/pico/70keys/config.h)0
-rw-r--r--keyboards/kumaokobo/pico/70keys/info.json (renamed from keyboards/pico/70keys/info.json)0
-rw-r--r--keyboards/kumaokobo/pico/70keys/keymaps/default/keymap.c49
-rw-r--r--keyboards/kumaokobo/pico/70keys/keymaps/default/readme.md (renamed from keyboards/pico/70keys/keymaps/default/readme.md)0
-rw-r--r--keyboards/kumaokobo/pico/70keys/keymaps/jis/keymap.c50
-rw-r--r--keyboards/kumaokobo/pico/70keys/keymaps/jis/readme.md (renamed from keyboards/pico/70keys/keymaps/jis/readme.md)0
-rw-r--r--keyboards/kumaokobo/pico/70keys/rules.mk (renamed from keyboards/lefty/rev1/rules.mk)0
-rw-r--r--keyboards/kumaokobo/pico/config.h (renamed from keyboards/pico/config.h)0
-rw-r--r--keyboards/kumaokobo/pico/readme.md24
-rw-r--r--keyboards/kumaokobo/pico/rules.mk16
-rw-r--r--keyboards/kuro/kuro65/config.h63
-rw-r--r--keyboards/kuro/kuro65/info.json53
-rw-r--r--keyboards/kuro/kuro65/keymaps/0x544d/keymap.c102
-rw-r--r--keyboards/kuro/kuro65/keymaps/0x544d/rules.mk1
-rw-r--r--keyboards/kwstudio/scorpio/config.h20
-rw-r--r--keyboards/kwub/bloop/keymaps/crispyy/keymap.c39
-rw-r--r--keyboards/labbe/labbeminiv1/keymaps/rgb/config.h2
-rw-r--r--keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h4
-rw-r--r--keyboards/laneware/lpad/config.h (renamed from keyboards/lpad/config.h)0
-rw-r--r--keyboards/laneware/lpad/info.json (renamed from keyboards/lpad/info.json)0
-rw-r--r--keyboards/laneware/lpad/keymaps/default/keymap.c (renamed from keyboards/lpad/keymaps/default/keymap.c)0
-rw-r--r--keyboards/laneware/lpad/keymaps/via/keymap.c (renamed from keyboards/lpad/keymaps/via/keymap.c)0
-rw-r--r--keyboards/laneware/lpad/keymaps/via/rules.mk (renamed from keyboards/lw75/keymaps/via/rules.mk)0
-rw-r--r--keyboards/laneware/lpad/readme.md27
-rw-r--r--keyboards/laneware/lpad/rules.mk (renamed from keyboards/lpad/rules.mk)0
-rw-r--r--keyboards/laneware/lw67/config.h (renamed from keyboards/lw67/config.h)0
-rw-r--r--keyboards/laneware/lw67/info.json (renamed from keyboards/lw67/info.json)0
-rw-r--r--keyboards/laneware/lw67/keymaps/ansi_split_backspace/keymap.c (renamed from keyboards/lw67/keymaps/ansi_split_backspace/keymap.c)0
-rw-r--r--keyboards/laneware/lw67/keymaps/default/keymap.c28
-rw-r--r--keyboards/laneware/lw67/keymaps/iso/keymap.c28
-rw-r--r--keyboards/laneware/lw67/keymaps/iso_split_backspace/keymap.c (renamed from keyboards/lw67/keymaps/iso_split_backspace/keymap.c)0
-rw-r--r--keyboards/laneware/lw67/keymaps/via/keymap.c34
-rw-r--r--keyboards/laneware/lw67/keymaps/via/rules.mk (renamed from keyboards/era/klein/keymaps/via/rules.mk)0
-rw-r--r--keyboards/laneware/lw67/readme.md22
-rw-r--r--keyboards/laneware/lw67/rules.mk (renamed from keyboards/lw67/rules.mk)0
-rw-r--r--keyboards/laneware/lw75/config.h (renamed from keyboards/lw75/config.h)0
-rw-r--r--keyboards/laneware/lw75/info.json (renamed from keyboards/lw75/info.json)0
-rw-r--r--keyboards/laneware/lw75/keymaps/ansi_split_backspace/keymap.c (renamed from keyboards/lw75/keymaps/ansi_split_backspace/keymap.c)0
-rw-r--r--keyboards/laneware/lw75/keymaps/default/keymap.c (renamed from keyboards/lw75/keymaps/default/keymap.c)0
-rw-r--r--keyboards/laneware/lw75/keymaps/iso/keymap.c (renamed from keyboards/lw75/keymaps/iso/keymap.c)0
-rw-r--r--keyboards/laneware/lw75/keymaps/iso_split_backspace/keymap.c (renamed from keyboards/lw75/keymaps/iso_split_backspace/keymap.c)0
-rw-r--r--keyboards/laneware/lw75/keymaps/via/keymap.c (renamed from keyboards/lw75/keymaps/via/keymap.c)0
-rw-r--r--keyboards/laneware/lw75/keymaps/via/rules.mk2
-rw-r--r--keyboards/laneware/lw75/readme.md25
-rw-r--r--keyboards/laneware/lw75/rules.mk (renamed from keyboards/lw75/rules.mk)0
-rw-r--r--keyboards/laneware/macro1/config.h (renamed from keyboards/macro1/config.h)0
-rw-r--r--keyboards/laneware/macro1/info.json (renamed from keyboards/macro1/info.json)0
-rw-r--r--keyboards/laneware/macro1/keymaps/default/keymap.c40
-rw-r--r--keyboards/laneware/macro1/keymaps/macropad/keymap.c (renamed from keyboards/macro1/keymaps/macropad/keymap.c)0
-rw-r--r--keyboards/laneware/macro1/keymaps/southpaw/keymap.c (renamed from keyboards/macro1/keymaps/southpaw/keymap.c)0
-rw-r--r--keyboards/laneware/macro1/keymaps/via/keymap.c90
-rw-r--r--keyboards/laneware/macro1/keymaps/via/rules.mk (renamed from keyboards/lw67/keymaps/via/rules.mk)0
-rw-r--r--keyboards/laneware/macro1/readme.md22
-rw-r--r--keyboards/laneware/macro1/rules.mk (renamed from keyboards/macro1/rules.mk)0
-rw-r--r--keyboards/laneware/raindrop/config.h (renamed from keyboards/raindrop/config.h)0
-rw-r--r--keyboards/laneware/raindrop/info.json (renamed from keyboards/raindrop/info.json)0
-rw-r--r--keyboards/laneware/raindrop/keymaps/arrows/keymap.c (renamed from keyboards/raindrop/keymaps/arrows/keymap.c)0
-rw-r--r--keyboards/laneware/raindrop/keymaps/default/keymap.c (renamed from keyboards/raindrop/keymaps/default/keymap.c)0
-rw-r--r--keyboards/laneware/raindrop/keymaps/hhkb/keymap.c (renamed from keyboards/raindrop/keymaps/hhkb/keymap.c)0
-rw-r--r--keyboards/laneware/raindrop/matrix_diagram.md (renamed from keyboards/raindrop/matrix_diagram.md)0
-rw-r--r--keyboards/laneware/raindrop/readme.md38
-rw-r--r--keyboards/laneware/raindrop/rules.mk (renamed from keyboards/lefty/rev2/rules.mk)0
-rw-r--r--keyboards/laser_ninja/pumpkin_pad/config.h57
-rw-r--r--keyboards/laser_ninja/pumpkin_pad/info.json80
-rw-r--r--keyboards/laser_ninja/pumpkin_pad/readme.md23
-rw-r--r--keyboards/laser_ninja/pumpkinpad/config.h22
-rw-r--r--keyboards/laser_ninja/pumpkinpad/info.json112
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c)0
-rw-r--r--[-rwxr-xr-x]keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk (renamed from keyboards/mnk1800s/keymaps/via/rules.mk)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/readme.md23
-rw-r--r--keyboards/laser_ninja/pumpkinpad/rules.mk (renamed from keyboards/laser_ninja/pumpkin_pad/rules.mk)0
-rw-r--r--keyboards/late9/readme.md27
-rw-r--r--keyboards/late9/rev1/info.json53
-rw-r--r--keyboards/late9/rev1/keymaps/default/keymap.c84
-rw-r--r--keyboards/late9/rev1/keymaps/multitap/keymap.c235
-rw-r--r--keyboards/late9/rev1/keymaps/multitap/readme.md3
-rw-r--r--keyboards/late9/rev1/keymaps/multitap/rules.mk2
-rw-r--r--keyboards/late9/rev1/rules.mk14
-rwxr-xr-xkeyboards/late9/rules.mk1
-rw-r--r--keyboards/latincompass/latin17rgb/config.h62
-rw-r--r--keyboards/latincompass/latin17rgb/info.json33
-rw-r--r--keyboards/latincompass/latin17rgb/latin17rgb.c2
-rw-r--r--keyboards/latincompass/latin60rgb/config.h58
-rw-r--r--keyboards/latincompass/latin60rgb/info.json33
-rw-r--r--keyboards/latincompass/latin60rgb/latin60rgb.c122
-rw-r--r--keyboards/latincompass/latin6rgb/config.h56
-rw-r--r--keyboards/latincompass/latin6rgb/info.json33
-rw-r--r--keyboards/latincompass/latin6rgb/latin6rgb.c2
-rw-r--r--keyboards/latincompass/latinpad/config.h50
-rw-r--r--keyboards/latincompass/latinpad/info.json31
-rw-r--r--keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c23
-rw-r--r--keyboards/leafcutterlabs/bigknob/keymaps/macos/keymap.c42
-rw-r--r--keyboards/leafcutterlabs/bigknob/keymaps/macos/readme.md6
-rw-r--r--keyboards/lefty/rules.mk17
-rw-r--r--keyboards/lets_split/keymaps/DE_programming/config.h24
-rw-r--r--keyboards/lets_split/keymaps/DE_programming/keymap.c97
-rw-r--r--keyboards/lets_split/keymaps/DE_programming/readme.md57
-rw-r--r--keyboards/lets_split/keymaps/DE_simple/config.h32
-rw-r--r--keyboards/lets_split/keymaps/DE_simple/keymap.c151
-rw-r--r--keyboards/lets_split/keymaps/DE_simple/readme.md59
-rw-r--r--keyboards/lets_split/keymaps/adam/config.h50
-rw-r--r--keyboards/lets_split/keymaps/adam/keymap.c73
-rw-r--r--keyboards/lets_split/keymaps/aerialviews007/config.h32
-rw-r--r--keyboards/lets_split/keymaps/aerialviews007/keymap.c160
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/config.h58
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/keymap.c215
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/rules.mk3
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/config.h34
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/keymap.c343
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/readme.md3
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/rules.mk3
-rw-r--r--keyboards/lets_split/keymaps/halvves/config.h33
-rw-r--r--keyboards/lets_split/keymaps/halvves/keymap.c196
-rw-r--r--keyboards/lets_split/keymaps/halvves/rules.mk1
-rw-r--r--keyboards/lets_split/keymaps/heartrobotninja/config.h44
-rw-r--r--keyboards/lets_split/keymaps/heartrobotninja/keymap.c180
-rw-r--r--keyboards/lets_split/keymaps/heartrobotninja/rules.mk22
-rw-r--r--keyboards/lets_split/keymaps/kris/keymap.c209
-rw-r--r--keyboards/lets_split/keymaps/mypetyak/keymap.c113
-rw-r--r--keyboards/lets_split/keymaps/normacos/config.h32
-rw-r--r--keyboards/lets_split/keymaps/normacos/keymap.c209
-rw-r--r--keyboards/lets_split/keymaps/normacos/readme.md86
-rw-r--r--keyboards/lets_split/keymaps/pyrol/config.h35
-rw-r--r--keyboards/lets_split/keymaps/pyrol/keymap.c214
-rw-r--r--keyboards/lets_split/keymaps/pyrol/rules.mk1
-rw-r--r--keyboards/lets_split/keymaps/shaymdev/config.h53
-rw-r--r--keyboards/lets_split/keymaps/shaymdev/keymap.c188
-rw-r--r--keyboards/lets_split/keymaps/shaymdev/rules.mk5
-rw-r--r--keyboards/lets_split/keymaps/via/config.h4
-rw-r--r--keyboards/lets_split/keymaps/vim-mode/config.h34
-rw-r--r--keyboards/lets_split/keymaps/vim-mode/keymap.c196
-rw-r--r--keyboards/lets_split/keymaps/vim-mode/readme.md22
-rw-r--r--keyboards/lets_split/keymaps/waples/README.md58
-rw-r--r--keyboards/lets_split/keymaps/waples/config.h11
-rw-r--r--keyboards/lets_split/keymaps/waples/keymap.c129
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c136
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md1
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk3
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c170
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md1
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk2
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c89
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk1
-rw-r--r--keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h27
-rw-r--r--keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c58
-rw-r--r--keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/rules.mk2
-rw-r--r--keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c108
-rw-r--r--keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk1
-rw-r--r--keyboards/lily58/keymaps/barabas/config.h24
-rw-r--r--keyboards/lily58/keymaps/barabas/keymap.c193
-rw-r--r--keyboards/lily58/keymaps/barabas/readme.md6
-rw-r--r--keyboards/lily58/keymaps/barabas/rules.mk6
-rw-r--r--keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h49
-rw-r--r--keyboards/lily58/keymaps/bongocat_wpm_responsive/keymap.c334
-rw-r--r--keyboards/lily58/keymaps/bongocat_wpm_responsive/readme.md23
-rw-r--r--keyboards/lily58/keymaps/bongocat_wpm_responsive/rules.mk11
-rw-r--r--keyboards/lily58/keymaps/chuan/config.h68
-rw-r--r--keyboards/lily58/keymaps/chuan/keymap.c225
-rw-r--r--keyboards/lily58/keymaps/chuan/rules.mk11
-rw-r--r--keyboards/lily58/keymaps/datadavd/config.h59
-rw-r--r--keyboards/lily58/keymaps/datadavd/keymap.c266
-rw-r--r--keyboards/lily58/keymaps/datadavd/rules.mk6
-rw-r--r--keyboards/lily58/keymaps/default/config.h8
-rw-r--r--keyboards/lily58/keymaps/domnantas/config.h32
-rw-r--r--keyboards/lily58/keymaps/domnantas/keymap.c285
-rw-r--r--keyboards/lily58/keymaps/domnantas/readme.md21
-rw-r--r--keyboards/lily58/keymaps/domnantas/rules.mk2
-rw-r--r--keyboards/lily58/keymaps/druotoni/boot.c309
-rw-r--r--keyboards/lily58/keymaps/druotoni/boot.h9
-rw-r--r--keyboards/lily58/keymaps/druotoni/burst.c252
-rw-r--r--keyboards/lily58/keymaps/druotoni/burst.h24
-rw-r--r--keyboards/lily58/keymaps/druotoni/config.h55
-rw-r--r--keyboards/lily58/keymaps/druotoni/draw_helper.c768
-rw-r--r--keyboards/lily58/keymaps/druotoni/draw_helper.h47
-rw-r--r--keyboards/lily58/keymaps/druotoni/fast_random.c17
-rw-r--r--keyboards/lily58/keymaps/druotoni/fast_random.h7
-rw-r--r--keyboards/lily58/keymaps/druotoni/gui_state.c71
-rw-r--r--keyboards/lily58/keymaps/druotoni/gui_state.h18
-rw-r--r--keyboards/lily58/keymaps/druotoni/keymap.c253
-rw-r--r--keyboards/lily58/keymaps/druotoni/layer_frame.c105
-rw-r--r--keyboards/lily58/keymaps/druotoni/layer_frame.h15
-rw-r--r--keyboards/lily58/keymaps/druotoni/navi_font.c139
-rw-r--r--keyboards/lily58/keymaps/druotoni/navi_logo.c117
-rw-r--r--keyboards/lily58/keymaps/druotoni/navi_logo.h7
-rw-r--r--keyboards/lily58/keymaps/druotoni/readme.md133
-rw-r--r--keyboards/lily58/keymaps/druotoni/ring.c494
-rw-r--r--keyboards/lily58/keymaps/druotoni/ring.h11
-rw-r--r--keyboards/lily58/keymaps/druotoni/rules.mk27
-rw-r--r--keyboards/lily58/keymaps/gaston/config.h27
-rw-r--r--keyboards/lily58/keymaps/gaston/keymap.c70
-rw-r--r--keyboards/lily58/keymaps/gaston/readme.md68
-rw-r--r--keyboards/lily58/keymaps/gaston/rules.mk9
-rw-r--r--keyboards/lily58/keymaps/gshmu/config.h23
-rw-r--r--keyboards/lily58/keymaps/gshmu/keymap.c128
-rw-r--r--keyboards/lily58/keymaps/gshmu/rules.mk5
-rw-r--r--keyboards/lily58/keymaps/muuko/config.h36
-rw-r--r--keyboards/lily58/keymaps/muuko/keymap.c185
-rw-r--r--keyboards/lily58/keymaps/muuko/rules.mk4
-rw-r--r--keyboards/lily58/keymaps/niolang/config.h46
-rw-r--r--keyboards/lily58/keymaps/niolang/keymap.c359
-rw-r--r--keyboards/lily58/keymaps/niolang/rules.mk2
-rw-r--r--keyboards/lily58/keymaps/oldfieldtc/config.h23
-rw-r--r--keyboards/lily58/keymaps/oldfieldtc/keymap.c191
-rw-r--r--keyboards/lily58/keymaps/oldfieldtc/readme.md22
-rw-r--r--keyboards/lily58/keymaps/oldfieldtc/rules.mk11
-rw-r--r--keyboards/lily58/keymaps/paulomp90/config.h22
-rw-r--r--keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.c67
-rw-r--r--keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.h29
-rw-r--r--keyboards/lily58/keymaps/paulomp90/keymap.c264
-rw-r--r--keyboards/lily58/keymaps/paulomp90/readme.md10
-rw-r--r--keyboards/lily58/keymaps/paulomp90/rules.mk14
-rw-r--r--keyboards/lily58/keymaps/pomodoro/config.h56
-rw-r--r--keyboards/lily58/keymaps/pomodoro/keymap.c154
-rw-r--r--keyboards/lily58/keymaps/pomodoro/pomodoro.c249
-rw-r--r--keyboards/lily58/keymaps/pomodoro/rules.mk23
-rw-r--r--keyboards/lily58/keymaps/pttbx/config.h54
-rw-r--r--keyboards/lily58/keymaps/pttbx/keymap.c164
-rw-r--r--keyboards/lily58/keymaps/pttbx/rules.mk5
-rw-r--r--keyboards/lily58/keymaps/via/config.h4
-rw-r--r--keyboards/lily58/keymaps/yuchi/config.h32
-rw-r--r--keyboards/lily58/keymaps/yuchi/keymap.c164
-rw-r--r--keyboards/lily58/keymaps/yuchi/rules.mk30
-rw-r--r--keyboards/lily58/r2g/config.h48
-rw-r--r--keyboards/lily58/r2g/info.json23
-rw-r--r--keyboards/lime/rev1/rev1.c62
-rw-r--r--keyboards/linworks/fave60a/config.h67
-rw-r--r--keyboards/linworks/fave60a/info.json48
-rw-r--r--keyboards/linworks/fave65h/config.h85
-rw-r--r--keyboards/linworks/fave65h/info.json48
-rw-r--r--keyboards/linworks/fave84h/config.h63
-rw-r--r--keyboards/linworks/fave84h/info.json48
-rw-r--r--keyboards/linworks/fave87h/config.h85
-rw-r--r--keyboards/linworks/fave87h/info.json48
-rw-r--r--keyboards/linworks/favepada/config.h11
-rw-r--r--keyboards/linworks/favepada/info.json8
-rw-r--r--keyboards/lpad/readme.md27
-rw-r--r--keyboards/lw67/keymaps/default/keymap.c41
-rw-r--r--keyboards/lw67/keymaps/iso/keymap.c41
-rw-r--r--keyboards/lw67/keymaps/via/keymap.c47
-rw-r--r--keyboards/lw67/readme.md22
-rw-r--r--keyboards/lw75/readme.md25
-rw-r--r--keyboards/lxxt/config.h19
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c150
-rw-r--r--keyboards/m10a/keymaps/gam3cat/readme.md21
-rw-r--r--keyboards/m10a/keymaps/gam3cat/rules.mk22
-rw-r--r--keyboards/macro1/keymaps/default/keymap.c53
-rw-r--r--keyboards/macro1/keymaps/via/keymap.c103
-rw-r--r--keyboards/macro1/readme.md22
-rw-r--r--keyboards/macro3/readme.md26
-rw-r--r--keyboards/magic_force/mf17/config.h14
-rw-r--r--keyboards/magic_force/mf17/info.json4
-rw-r--r--keyboards/magic_force/mf34/config.h56
-rw-r--r--keyboards/magic_force/mf34/info.json48
-rw-r--r--keyboards/majistic/keymaps/default/config.h17
-rw-r--r--keyboards/maple_computing/jnao/rules.mk2
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h21
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/resfury/config.h23
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c189
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md7
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk1
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md28
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h23
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c434
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk5
-rw-r--r--keyboards/maple_computing/minidox/keymaps/haegin/keymap.c86
-rw-r--r--keyboards/maple_computing/minidox/keymaps/norman/config.h4
-rw-r--r--keyboards/maple_computing/minidox/keymaps/norman/keymap.c69
-rw-r--r--keyboards/maple_computing/minidox/keymaps/norman/readme.md56
-rw-r--r--keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h5
-rw-r--r--keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c109
-rw-r--r--keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md22
-rw-r--r--keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c59
-rw-r--r--keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md23
-rw-r--r--keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk1
-rw-r--r--keyboards/marksard/rhymestone/rev1/config.h73
-rw-r--r--keyboards/marksard/rhymestone/rev1/info.json4
-rw-r--r--keyboards/marksard/treadstone48/rev1/config.h4
-rw-r--r--keyboards/massdrop/alt/keymaps/b_/config.h118
-rw-r--r--keyboards/massdrop/alt/keymaps/b_/keymap.c50
-rw-r--r--keyboards/massdrop/alt/keymaps/bonta/keymap.c112
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/README.md14
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/config.h3
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/keymap.c292
-rw-r--r--keyboards/massdrop/alt/keymaps/ewersp/README.md30
-rw-r--r--keyboards/massdrop/alt/keymaps/ewersp/config.h3
-rw-r--r--keyboards/massdrop/alt/keymaps/ewersp/keymap.c242
-rw-r--r--keyboards/massdrop/alt/keymaps/favorable-mutation/README.md14
-rw-r--r--keyboards/massdrop/alt/keymaps/favorable-mutation/config.h28
-rw-r--r--keyboards/massdrop/alt/keymaps/favorable-mutation/keymap.c145
-rw-r--r--keyboards/massdrop/alt/keymaps/hlmtre/keymap.c131
-rw-r--r--keyboards/massdrop/alt/keymaps/mac/keymap.c115
-rw-r--r--keyboards/massdrop/alt/keymaps/mac_md/keymap.c258
-rw-r--r--keyboards/massdrop/alt/keymaps/mac_md/rules.mk2
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/config.h150
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/keymap.c248
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/readme.md35
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/rules.mk14
-rw-r--r--keyboards/massdrop/alt/keymaps/reywood/README.md5
-rw-r--r--keyboards/massdrop/alt/keymaps/reywood/keymap.c189
-rw-r--r--keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.c193
-rw-r--r--keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.h3
-rw-r--r--keyboards/massdrop/alt/keymaps/reywood/rules.mk5
-rw-r--r--keyboards/massdrop/alt/keymaps/urbanvanilla/config.h27
-rw-r--r--keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c164
-rw-r--r--keyboards/massdrop/alt/keymaps/urbanvanilla/readme.md48
-rw-r--r--keyboards/massdrop/alt/keymaps/urbanvanilla/rules.mk2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/R167/keymap.c143
-rw-r--r--keyboards/massdrop/ctrl/keymaps/R167/readme.md14
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/README.md83
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/config.h101
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/config_led.c83
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/keymap.c489
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/rules.mk13
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/README.md18
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/config.h88
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.c25
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h80
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c268
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc44
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/rules.mk6
-rw-r--r--keyboards/massdrop/ctrl/keymaps/mac/keymap.c126
-rw-r--r--keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c269
-rw-r--r--keyboards/massdrop/ctrl/keymaps/mac_md/rules.mk2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/r-pufky/config.h27
-rw-r--r--keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c175
-rw-r--r--keyboards/massdrop/ctrl/keymaps/r-pufky/readme.md44
-rw-r--r--keyboards/massdrop/ctrl/keymaps/responsive_pattern/README.md17
-rw-r--r--keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c764
-rw-r--r--keyboards/massdrop/ctrl/keymaps/responsive_pattern/rules.mk2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/config.h117
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c98
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c517
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/readme.md200
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk13
-rw-r--r--keyboards/matrix/abelx/abelx.c7
-rw-r--r--keyboards/matrix/abelx/aw9523b.c14
-rw-r--r--keyboards/matrix/abelx/info.json1
-rw-r--r--keyboards/matrix/abelx/rules.mk1
-rw-r--r--keyboards/matrix/abelx/tca6424.c4
-rw-r--r--keyboards/matrix/m20add/info.json1
-rw-r--r--keyboards/matrix/m20add/rgb_ring.c6
-rw-r--r--keyboards/matrix/m20add/tca6424.c4
-rw-r--r--keyboards/matrix/noah/config.h52
-rw-r--r--keyboards/matrix/noah/info.json45
-rw-r--r--keyboards/matrix/noah/noah.c39
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h4
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c50
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk11
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h4
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c33
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk11
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h11
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c96
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk11
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/config.h59
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/info.json53
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/config.h59
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/info.json52
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c2
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/config.h64
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/info.json51
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c134
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/config.h56
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/info.json51
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/rgb_led.c2
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/config.h60
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/info.json51
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/config.h59
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/info.json51
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/rev2.c2
-rw-r--r--keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c98
-rw-r--r--keyboards/mechlovin/hex4b/keymaps/nazzer/reame.md15
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/config.h59
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/info.json51
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c184
-rw-r--r--keyboards/mechlovin/infinity875/config.h7
-rw-r--r--keyboards/mechlovin/infinity875/info.json4
-rw-r--r--keyboards/mechlovin/olly/jf/config.h38
-rw-r--r--keyboards/mechlovin/olly/jf/info.json677
-rw-r--r--keyboards/mechlovin/olly/jf/keymaps/via/readme.md1
-rw-r--r--keyboards/mechlovin/olly/jf/keymaps/via/rules.mk2
-rw-r--r--keyboards/mechlovin/olly/jf/matrix_diagram.md37
-rw-r--r--keyboards/mechlovin/olly/jf/readme.md12
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/info.json675
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/default/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default/readme.md (renamed from keyboards/mechlovin/olly/jf/keymaps/default/readme.md)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/default_ansi/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi_split_bs_rshift/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/default_ansi_split_bs_rshift/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/default_iso/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso_split_bs_rshift/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/default_iso_split_bs_rshift/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/via/config.h (renamed from keyboards/mechlovin/olly/jf/keymaps/via/config.h)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/via/keymap.c (renamed from keyboards/mechlovin/olly/jf/keymaps/via/keymap.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/keymaps/via/rules.mk (renamed from keyboards/kira80/keymaps/via/rules.mk)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/matrix.c (renamed from keyboards/mechlovin/olly/jf/matrix.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/matrix_diagram.md37
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/readme.md27
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/rev1.c (renamed from keyboards/mechlovin/olly/jf/jf.c)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev1/rules.mk4
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/config.h28
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/halconf.h25
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/info.json707
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/default/keymap.c27
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi/keymap.c28
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi_split_bs_rshift/keymap.c28
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso/keymap.c28
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso_split_bs_rshift/keymap.c28
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/via/keymap.c27
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keymaps/via/rules.mk (renamed from keyboards/kmac/keymaps/via/rules.mk)0
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/matrix_diagram.md37
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/mcuconf.h27
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/readme.md27
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/rev2.c92
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/rules.mk1
-rw-r--r--keyboards/mechlovin/olly/jf/rules.mk19
-rw-r--r--keyboards/mechlovin/olly/octagon/config.h31
-rw-r--r--keyboards/mechlovin/olly/octagon/info.json25
-rw-r--r--keyboards/mechlovin/olly/octagon/octagon.c2
-rw-r--r--keyboards/mechlovin/zed1800/config.h21
-rw-r--r--keyboards/mechlovin/zed1800/info.json5
-rw-r--r--keyboards/mechlovin/zed65/mono_led/config.h30
-rw-r--r--keyboards/mechlovin/zed65/mono_led/info.json25
-rw-r--r--keyboards/mechlovin/zed65/mono_led/mono_led.c2
-rw-r--r--keyboards/mechlovin/zed65/no_backlight/cor65/info.json62
-rw-r--r--keyboards/mechwild/mercutio/keymaps/default/config.h17
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fancy/config.h17
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h28
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c301
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md29
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk7
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h19
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c293
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md22
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk3
-rw-r--r--keyboards/mechwild/mercutio/keymaps/via/config.h17
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/config.h6
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c128
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md1
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk2
-rw-r--r--keyboards/mechwild/sugarglider/matrix.c6
-rw-r--r--keyboards/mehkee96/keymaps/johann/keymap.c80
-rwxr-xr-xkeyboards/melgeek/mach80/config.h55
-rwxr-xr-xkeyboards/melgeek/mach80/info.json54
-rwxr-xr-xkeyboards/melgeek/mach80/rev1/config.h5
-rw-r--r--keyboards/melgeek/mach80/rev1/info.json3
-rwxr-xr-xkeyboards/melgeek/mach80/rev1/rev1.c211
-rwxr-xr-xkeyboards/melgeek/mach80/rev2/config.h5
-rw-r--r--keyboards/melgeek/mach80/rev2/info.json3
-rwxr-xr-xkeyboards/melgeek/mach80/rev2/rev2.c205
-rw-r--r--keyboards/melgeek/mj61/config.h55
-rw-r--r--keyboards/melgeek/mj61/info.json51
-rw-r--r--keyboards/melgeek/mj61/rev1/config.h20
-rw-r--r--keyboards/melgeek/mj61/rev1/info.json3
-rw-r--r--keyboards/melgeek/mj61/rev1/rev1.c134
-rw-r--r--keyboards/melgeek/mj61/rev2/config.h20
-rw-r--r--keyboards/melgeek/mj61/rev2/info.json3
-rw-r--r--keyboards/melgeek/mj61/rev2/rev2.c150
-rw-r--r--keyboards/melgeek/mj63/config.h55
-rw-r--r--keyboards/melgeek/mj63/info.json51
-rw-r--r--keyboards/melgeek/mj63/rev1/config.h20
-rw-r--r--keyboards/melgeek/mj63/rev1/info.json3
-rw-r--r--keyboards/melgeek/mj63/rev1/rev1.c140
-rw-r--r--keyboards/melgeek/mj63/rev2/config.h20
-rw-r--r--keyboards/melgeek/mj63/rev2/info.json3
-rw-r--r--keyboards/melgeek/mj63/rev2/rev2.c150
-rw-r--r--keyboards/melgeek/mj64/config.h55
-rw-r--r--keyboards/melgeek/mj64/info.json51
-rw-r--r--keyboards/melgeek/mj64/rev1/config.h20
-rw-r--r--keyboards/melgeek/mj64/rev1/info.json3
-rw-r--r--keyboards/melgeek/mj64/rev1/rev1.c137
-rw-r--r--keyboards/melgeek/mj64/rev2/config.h20
-rw-r--r--keyboards/melgeek/mj64/rev2/info.json3
-rw-r--r--keyboards/melgeek/mj64/rev2/rev2.c142
-rw-r--r--keyboards/melgeek/mj64/rev3/config.h20
-rw-r--r--keyboards/melgeek/mj64/rev3/info.json3
-rw-r--r--keyboards/melgeek/mj64/rev3/rev3.c152
-rw-r--r--keyboards/melgeek/mj65/config.h55
-rw-r--r--keyboards/melgeek/mj65/info.json50
-rw-r--r--keyboards/melgeek/mj65/rev3/config.h20
-rw-r--r--keyboards/melgeek/mj65/rev3/rev3.c160
-rwxr-xr-xkeyboards/melgeek/mj6xy/rev3/config.h3
-rw-r--r--keyboards/melgeek/mj6xy/rev3/info.json3
-rwxr-xr-xkeyboards/melgeek/mojo68/config.h54
-rwxr-xr-xkeyboards/melgeek/mojo68/info.json47
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/config.h1
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/rev1.c153
-rw-r--r--keyboards/melgeek/mojo75/config.h56
-rw-r--r--keyboards/melgeek/mojo75/info.json50
-rw-r--r--keyboards/melgeek/mojo75/rev1/config.h21
-rw-r--r--keyboards/melgeek/mojo75/rev1/rev1.c194
-rwxr-xr-xkeyboards/melgeek/tegic/config.h52
-rw-r--r--keyboards/melgeek/tegic/info.json53
-rwxr-xr-xkeyboards/melgeek/tegic/rev1/config.h24
-rwxr-xr-xkeyboards/melgeek/tegic/rev1/rev1.c194
-rw-r--r--keyboards/melgeek/z70ultra/config.h56
-rw-r--r--keyboards/melgeek/z70ultra/info.json50
-rw-r--r--keyboards/melgeek/z70ultra/z70ultra.c154
-rw-r--r--keyboards/merge/um70/config.h5
-rw-r--r--keyboards/merge/um70/info.json4
-rw-r--r--keyboards/merge/um80/config.h5
-rw-r--r--keyboards/miiiw/blackio83/config.h36
-rw-r--r--keyboards/miiiw/blackio83/info.json34
-rw-r--r--keyboards/miiiw/blackio83/rev_0100/config.h3
-rw-r--r--keyboards/miiiw/blackio83/rev_0100/rev_0100.c17
-rw-r--r--keyboards/miller/gm862/config.h57
-rw-r--r--keyboards/miller/gm862/gm862.c124
-rw-r--r--keyboards/miller/gm862/info.json33
-rw-r--r--keyboards/miniaxe/keymaps/underglow/rules.mk1
-rw-r--r--keyboards/miniaxe/readme.md16
-rw-r--r--keyboards/minimacro5/keymaps/kabraxcis/keymap.c63
-rw-r--r--keyboards/minimacro5/keymaps/voaraq/keymap.c63
-rw-r--r--keyboards/mino/readme.md27
-rw-r--r--keyboards/mino_plus/mino_plus.c248
-rw-r--r--keyboards/mino_plus/readme.md29
-rw-r--r--keyboards/misonoworks/karina/keymaps/voltex/keymap.c70
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/keymap.c123
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/rules.mk1
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c207
-rw-r--r--keyboards/mitosis/keymaps/nzen/readme.md75
-rw-r--r--keyboards/mitosis/keymaps/nzen/rules.mk8
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/config.h8
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/keymap.c60
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/readme.md1
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/rules.mk18
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h22
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c173
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md19
-rw-r--r--keyboards/mixi/keymaps/default/keymap.c6
-rw-r--r--keyboards/mixi/keymaps/via/keymap.c6
-rw-r--r--keyboards/ml/gas75/config.h67
-rw-r--r--keyboards/ml/gas75/info.json46
-rw-r--r--keyboards/mlego/m48/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m48/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m60/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m60/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m60_split/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m60_split/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m60_split/rev1/config.h3
-rw-r--r--keyboards/mlego/m60_split/rev1/info.json6
-rw-r--r--keyboards/mlego/m65/m65.c8
-rwxr-xr-xkeyboards/mnk1800s/readme.md32
-rwxr-xr-xkeyboards/mnk50/readme.md32
-rwxr-xr-xkeyboards/mnk75/readme.md32
-rw-r--r--keyboards/mode/m256wh/info.json4
-rw-r--r--keyboards/mode/m256ws/info.json4
-rw-r--r--keyboards/mode/m60h/config.h2
-rw-r--r--keyboards/mode/m60h/info.json3
-rw-r--r--keyboards/mode/m60h_f/config.h2
-rw-r--r--keyboards/mode/m60h_f/info.json3
-rw-r--r--keyboards/mode/m60s/config.h2
-rw-r--r--keyboards/mode/m60s/info.json3
-rw-r--r--keyboards/mode/m75s/config.h1
-rw-r--r--keyboards/moky/moky88/info.json2
-rw-r--r--keyboards/momokai/aurora/config.h78
-rw-r--r--keyboards/momokai/aurora/info.json32
-rw-r--r--keyboards/momokai/tap_duo/config.h61
-rw-r--r--keyboards/momokai/tap_duo/info.json30
-rw-r--r--keyboards/momokai/tap_trio/config.h80
-rw-r--r--keyboards/momokai/tap_trio/info.json30
-rwxr-xr-xkeyboards/monokei/mnk1800s/config.h (renamed from keyboards/mnk1800s/config.h)0
-rwxr-xr-xkeyboards/monokei/mnk1800s/info.json (renamed from keyboards/mnk1800s/info.json)0
-rw-r--r--keyboards/monokei/mnk1800s/keymaps/default/keymap.c (renamed from keyboards/mnk1800s/keymaps/default/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk1800s/keymaps/default/readme.md (renamed from keyboards/mnk1800s/keymaps/default/readme.md)0
-rw-r--r--keyboards/monokei/mnk1800s/keymaps/default_2u_bs/keymap.c (renamed from keyboards/mnk1800s/keymaps/default_2u_bs/keymap.c)0
-rw-r--r--keyboards/monokei/mnk1800s/keymaps/via/keymap.c (renamed from keyboards/mnk1800s/keymaps/via/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk1800s/keymaps/via/readme.md (renamed from keyboards/mnk1800s/keymaps/via/readme.md)0
-rwxr-xr-xkeyboards/monokei/mnk1800s/keymaps/via/rules.mk (renamed from keyboards/mnk50/keymaps/via/rules.mk)0
-rw-r--r--keyboards/monokei/mnk1800s/matrix_diagram.md (renamed from keyboards/mnk1800s/matrix_diagram.md)0
-rwxr-xr-xkeyboards/monokei/mnk1800s/readme.md32
-rw-r--r--keyboards/monokei/mnk1800s/rules.mk (renamed from keyboards/mnk1800s/rules.mk)0
-rwxr-xr-xkeyboards/monokei/mnk50/config.h (renamed from keyboards/mnk50/config.h)0
-rwxr-xr-xkeyboards/monokei/mnk50/info.json (renamed from keyboards/mnk50/info.json)0
-rw-r--r--keyboards/monokei/mnk50/keymaps/default/keymap.c (renamed from keyboards/mnk50/keymaps/default/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk50/keymaps/default/readme.md (renamed from keyboards/mnk50/keymaps/default/readme.md)0
-rw-r--r--keyboards/monokei/mnk50/keymaps/via/keymap.c (renamed from keyboards/mnk50/keymaps/via/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk50/keymaps/via/readme.md (renamed from keyboards/mnk50/keymaps/via/readme.md)0
-rwxr-xr-xkeyboards/monokei/mnk50/keymaps/via/rules.mk (renamed from keyboards/mnk75/keymaps/via/rules.mk)0
-rwxr-xr-xkeyboards/monokei/mnk50/readme.md32
-rw-r--r--keyboards/monokei/mnk50/rules.mk (renamed from keyboards/mnk50/rules.mk)0
-rwxr-xr-xkeyboards/monokei/mnk75/config.h (renamed from keyboards/mnk75/config.h)0
-rwxr-xr-xkeyboards/monokei/mnk75/info.json (renamed from keyboards/mnk75/info.json)0
-rw-r--r--keyboards/monokei/mnk75/keymaps/default/keymap.c (renamed from keyboards/mnk75/keymaps/default/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk75/keymaps/default/readme.md (renamed from keyboards/mnk75/keymaps/default/readme.md)0
-rw-r--r--keyboards/monokei/mnk75/keymaps/via/keymap.c (renamed from keyboards/mnk75/keymaps/via/keymap.c)0
-rwxr-xr-xkeyboards/monokei/mnk75/keymaps/via/readme.md (renamed from keyboards/mnk75/keymaps/via/readme.md)0
-rwxr-xr-x[-rw-r--r--]keyboards/monokei/mnk75/keymaps/via/rules.mk (renamed from keyboards/moonlander/keymaps/via/rules.mk)0
-rw-r--r--keyboards/monokei/mnk75/matrix_diagram.md (renamed from keyboards/mnk75/matrix_diagram.md)0
-rwxr-xr-xkeyboards/monokei/mnk75/readme.md32
-rw-r--r--keyboards/monokei/mnk75/rules.mk (renamed from keyboards/mnk75/rules.mk)0
-rw-r--r--keyboards/monsgeek/m1/config.h9
-rw-r--r--keyboards/monsgeek/m1/info.json4
-rw-r--r--keyboards/monsgeek/m1/m1.c214
-rw-r--r--keyboards/monsgeek/m3/config.h6
-rw-r--r--keyboards/monsgeek/m3/info.json3
-rw-r--r--keyboards/monsgeek/m3/m3.c176
-rw-r--r--keyboards/monsgeek/m5/config.h7
-rw-r--r--keyboards/monsgeek/m5/info.json4
-rw-r--r--keyboards/monsgeek/m5/m5.c218
-rw-r--r--keyboards/monsgeek/m6/config.h7
-rw-r--r--keyboards/monsgeek/m6/info.json4
-rw-r--r--keyboards/monsgeek/m6/m6.c186
-rw-r--r--keyboards/monstargear/xo87/rgb/config.h55
-rw-r--r--keyboards/monstargear/xo87/rgb/info.json49
-rw-r--r--keyboards/monstargear/xo87/rgb/keymaps/default/config.h16
-rw-r--r--keyboards/monstargear/xo87/solderable/solderable.h4
-rw-r--r--keyboards/montsinger/rebound/rev1/rules.mk2
-rw-r--r--keyboards/montsinger/rebound/rev2/rules.mk2
-rw-r--r--keyboards/montsinger/rebound/rev3/rules.mk2
-rw-r--r--keyboards/montsinger/rebound/rev4/rules.mk2
-rw-r--r--keyboards/moondrop/dash75/info.json6
-rw-r--r--keyboards/moondrop/dash75/keymaps/via/keymap.json3
-rw-r--r--keyboards/moonlander/config.h147
-rw-r--r--keyboards/moonlander/info.json114
-rw-r--r--keyboards/moonlander/keymaps/shahn-neo/config.h19
-rw-r--r--keyboards/moonlander/keymaps/shahn-neo/keymap.c121
-rw-r--r--keyboards/moonlander/keymaps/shahn-neo/readme.md16
-rw-r--r--keyboards/moonlander/matrix.c233
-rw-r--r--keyboards/moonlander/moonlander.c469
-rw-r--r--keyboards/moonlander/readme.md58
-rw-r--r--keyboards/mss_studio/m63_rgb/config.h71
-rw-r--r--keyboards/mss_studio/m63_rgb/info.json47
-rw-r--r--keyboards/mss_studio/m64_rgb/config.h71
-rw-r--r--keyboards/mss_studio/m64_rgb/info.json47
-rw-r--r--keyboards/mt/mt40/rules.mk2
-rw-r--r--keyboards/mt/mt64rgb/config.h59
-rw-r--r--keyboards/mt/mt64rgb/info.json35
-rw-r--r--keyboards/mt/mt64rgb/mt64rgb.c130
-rw-r--r--keyboards/mt/mt84/config.h66
-rw-r--r--keyboards/mt/mt84/info.json38
-rw-r--r--keyboards/mt/mt84/mt84.c170
-rw-r--r--keyboards/mt/mt980/keymaps/walker/config.h5
-rw-r--r--keyboards/mt/mt980/keymaps/walker/keymap.c168
-rw-r--r--keyboards/mt/mt980/keymaps/walker/rules.mk1
-rw-r--r--keyboards/mtbkeys/mtb60/hotswap/config.h2
-rw-r--r--keyboards/mtbkeys/mtb60/hotswap/info.json3
-rw-r--r--keyboards/mtbkeys/mtb60/solder/config.h2
-rw-r--r--keyboards/mtbkeys/mtb60/solder/info.json3
-rw-r--r--keyboards/mwstudio/alicekk/config.h19
-rw-r--r--keyboards/mwstudio/mw65_rgb/config.h66
-rw-r--r--keyboards/mwstudio/mw65_rgb/info.json45
-rw-r--r--keyboards/mwstudio/mw75/config.h66
-rw-r--r--keyboards/mwstudio/mw75/info.json47
-rw-r--r--keyboards/mwstudio/mw75r2/config.h41
-rw-r--r--keyboards/mwstudio/mw75r2/info.json22
-rw-r--r--keyboards/nack/config.h58
-rw-r--r--keyboards/nack/info.json50
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/keymap.c203
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/keymap.h116
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/readme.md1
-rw-r--r--keyboards/nacly/sodium62/info.json4
-rw-r--r--keyboards/nacly/sodium62/keymaps/via/keymap.c50
-rw-r--r--keyboards/nacly/sodium62/keymaps/via/rules.mk2
-rw-r--r--keyboards/nasu/keymaps/mariocs/config.h5
-rw-r--r--keyboards/nasu/keymaps/mariocs/keymap.c60
-rw-r--r--keyboards/nasu/keymaps/mariocs/readme.md14
-rw-r--r--keyboards/nasu/keymaps/mariocs/rules.mk2
-rw-r--r--keyboards/nek_type_a/nek_type_a.h4
-rw-r--r--keyboards/neopad/readme.md25
-rwxr-xr-xkeyboards/neopad/rules.mk1
-rw-r--r--keyboards/neson_design/700e/700e.c7
-rw-r--r--keyboards/neson_design/700e/config.h16
-rw-r--r--keyboards/neson_design/700e/info.json1
-rw-r--r--keyboards/neson_design/700e/rules.mk1
-rw-r--r--keyboards/neson_design/n6/config.h16
-rw-r--r--keyboards/neson_design/n6/info.json1
-rw-r--r--keyboards/neson_design/n6/n6.c7
-rw-r--r--keyboards/neson_design/n6/rules.mk1
-rw-r--r--keyboards/neson_design/nico/info.json3
-rw-r--r--keyboards/neson_design/nico/nico.c12
-rw-r--r--keyboards/neson_design/nico/rules.mk2
-rw-r--r--keyboards/newgame40/post_config.h4
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/config.h24
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/info.json6
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c37
-rw-r--r--keyboards/nopunin10did/jabberwocky/v1/config.h3
-rw-r--r--keyboards/nopunin10did/jabberwocky/v1/info.json3
-rw-r--r--keyboards/nopunin10did/jabberwocky/v2/config.h3
-rw-r--r--keyboards/nopunin10did/jabberwocky/v2/info.json3
-rw-r--r--keyboards/novelkeys/nk20/config.h57
-rw-r--r--keyboards/novelkeys/nk20/info.json49
-rwxr-xr-xkeyboards/novelkeys/nk65/nk65.c256
-rwxr-xr-xkeyboards/novelkeys/nk65b/config.h57
-rwxr-xr-xkeyboards/novelkeys/nk65b/info.json49
-rwxr-xr-xkeyboards/novelkeys/nk87/nk87.c256
-rw-r--r--keyboards/novelkeys/nk87b/config.h57
-rwxr-xr-xkeyboards/novelkeys/nk87b/info.json49
-rw-r--r--keyboards/novelkeys/nk_plus/config.h56
-rwxr-xr-xkeyboards/novelkeys/nk_plus/info.json48
-rw-r--r--keyboards/null/st110r2/info.json596
-rw-r--r--keyboards/null/st110r2/keymaps/ansi_std/keymap.c32
-rw-r--r--keyboards/null/st110r2/keymaps/default/keymap.c32
-rw-r--r--keyboards/null/st110r2/keymaps/iso_default/keymap.c32
-rw-r--r--keyboards/null/st110r2/keymaps/iso_std/keymap.c32
-rw-r--r--keyboards/null/st110r2/keymaps/jis_std/keymap.c32
-rw-r--r--keyboards/null/st110r2/readme.md31
-rw-r--r--keyboards/null/st110r2/rules.mk1
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c543
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md36
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk5
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/via/keymap.c2
-rw-r--r--keyboards/nullbitsco/scramble/keymaps/oled/config.h4
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/config.h46
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/keymap.c157
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/readme.md51
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/rules.mk6
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/typehud.c349
-rw-r--r--keyboards/nullbitsco/snap/keymaps/typehud/typehud.h87
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c289
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk7
-rw-r--r--keyboards/numatreus/keymaps/yohewi/keymap.c61
-rw-r--r--keyboards/oddforge/vea/config.h2
-rw-r--r--keyboards/oddforge/vea/info.json3
-rw-r--r--keyboards/ok60/keymaps/ebrowncross/keymap.c30
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h27
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c141
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md62
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h27
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c111
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md4
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk4
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h27
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json460
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c124
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h27
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c219
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json1
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md73
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h30
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c199
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md89
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h27
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c24
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md4
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk3
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/config.h5
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/info.json3
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h26
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c60
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk3
-rw-r--r--keyboards/opendeck/32/rev1/config.h55
-rw-r--r--keyboards/opendeck/32/rev1/info.json51
-rw-r--r--keyboards/opendeck/32/rev1/rev1.c14
-rw-r--r--keyboards/opendeck/32/rev1/rev1.h2
-rw-r--r--keyboards/org60/keymaps/boardy/keymap.c114
-rw-r--r--keyboards/org60/keymaps/boardy/readme.md7
-rw-r--r--keyboards/org60/keymaps/boardy/rules.mk10
-rw-r--r--keyboards/ortho5by12/rules.mk1
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/config.h41
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/keymap.c134
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/readme.md19
-rw-r--r--keyboards/orthodox/keymaps/shaymdev/config.h51
-rw-r--r--keyboards/orthodox/keymaps/shaymdev/keymap.c196
-rw-r--r--keyboards/orthodox/keymaps/shaymdev/rules.mk6
-rw-r--r--keyboards/orthograph/config.h20
-rw-r--r--keyboards/orthograph/info.json229
-rw-r--r--keyboards/orthograph/keymaps/default/keymap.json24
-rw-r--r--keyboards/orthograph/orthograph.c128
-rw-r--r--keyboards/orthograph/readme.md25
-rw-r--r--keyboards/orthograph/rules.mk1
-rw-r--r--keyboards/owlab/spring/config.h21
-rw-r--r--keyboards/owlab/spring/info.json4
-rw-r--r--keyboards/owlab/voice65/hotswap/config.h60
-rw-r--r--keyboards/owlab/voice65/hotswap/hotswap.c136
-rw-r--r--keyboards/owlab/voice65/hotswap/info.json54
-rw-r--r--keyboards/owlab/voice65/soldered/config.h61
-rw-r--r--keyboards/owlab/voice65/soldered/info.json54
-rw-r--r--keyboards/owlab/voice65/soldered/soldered.c144
-rw-r--r--keyboards/p3d/eu_isolation/config.h (renamed from keyboards/eu_isolation/config.h)0
-rw-r--r--keyboards/p3d/eu_isolation/info.json (renamed from keyboards/eu_isolation/info.json)0
-rw-r--r--keyboards/p3d/eu_isolation/keymaps/default/config.h (renamed from keyboards/eu_isolation/keymaps/default/config.h)0
-rw-r--r--keyboards/p3d/eu_isolation/keymaps/default/keymap.c (renamed from keyboards/eu_isolation/keymaps/default/keymap.c)0
-rw-r--r--keyboards/p3d/eu_isolation/keymaps/default/readme.md (renamed from keyboards/eu_isolation/keymaps/default/readme.md)0
-rw-r--r--keyboards/p3d/eu_isolation/keymaps/default/rules.mk (renamed from keyboards/eu_isolation/keymaps/default/rules.mk)0
-rw-r--r--keyboards/p3d/eu_isolation/readme.md31
-rw-r--r--keyboards/p3d/eu_isolation/rules.mk (renamed from keyboards/eu_isolation/rules.mk)0
-rw-r--r--keyboards/p3d/q4z/config.h (renamed from keyboards/q4z/config.h)0
-rw-r--r--keyboards/p3d/q4z/info.json (renamed from keyboards/q4z/info.json)0
-rw-r--r--keyboards/p3d/q4z/keymaps/default/config.h (renamed from keyboards/q4z/keymaps/default/config.h)0
-rw-r--r--keyboards/p3d/q4z/keymaps/default/keymap.c (renamed from keyboards/q4z/keymaps/default/keymap.c)0
-rw-r--r--keyboards/p3d/q4z/keymaps/default/readme.md (renamed from keyboards/q4z/keymaps/default/readme.md)0
-rw-r--r--keyboards/p3d/q4z/keymaps/default/rules.mk (renamed from keyboards/ibnuda/squiggle/keymaps/rick/rules.mk)0
-rw-r--r--keyboards/p3d/q4z/readme.md20
-rw-r--r--keyboards/p3d/q4z/rules.mk (renamed from keyboards/q4z/rules.mk)0
-rw-r--r--keyboards/p3d/spacey/info.json (renamed from keyboards/spacey/info.json)0
-rw-r--r--keyboards/p3d/spacey/keymaps/default/keymap.c (renamed from keyboards/spacey/keymaps/default/keymap.c)0
-rw-r--r--keyboards/p3d/spacey/keymaps/default/readme.md (renamed from keyboards/spacey/keymaps/default/readme.md)0
-rw-r--r--keyboards/p3d/spacey/keymaps/via/keymap.c (renamed from keyboards/spacey/keymaps/via/keymap.c)0
-rw-r--r--keyboards/p3d/spacey/keymaps/via/rules.mk (renamed from keyboards/flygone60/rev3/keymaps/via/rules.mk)0
-rw-r--r--keyboards/p3d/spacey/readme.md19
-rw-r--r--keyboards/p3d/spacey/rules.mk (renamed from keyboards/spacey/rules.mk)0
-rw-r--r--keyboards/p3d/synapse/config.h (renamed from keyboards/synapse/config.h)0
-rw-r--r--keyboards/p3d/synapse/info.json (renamed from keyboards/synapse/info.json)0
-rw-r--r--keyboards/p3d/synapse/keymaps/7u_space/config.h (renamed from keyboards/synapse/keymaps/7u_space/config.h)0
-rw-r--r--keyboards/p3d/synapse/keymaps/7u_space/keymap.c (renamed from keyboards/synapse/keymaps/7u_space/keymap.c)0
-rw-r--r--keyboards/p3d/synapse/keymaps/7u_space/rules.mk (renamed from keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk)0
-rw-r--r--keyboards/p3d/synapse/keymaps/default/config.h (renamed from keyboards/synapse/keymaps/default/config.h)0
-rw-r--r--keyboards/p3d/synapse/keymaps/default/keymap.c (renamed from keyboards/synapse/keymaps/default/keymap.c)0
-rw-r--r--keyboards/p3d/synapse/keymaps/default/rules.mk (renamed from keyboards/maple_computing/minidox/keymaps/rsthd_combos/rules.mk)0
-rw-r--r--keyboards/p3d/synapse/readme.md27
-rw-r--r--keyboards/p3d/synapse/rules.mk (renamed from keyboards/synapse/rules.mk)0
-rw-r--r--keyboards/p3d/synapse/synapse.c (renamed from keyboards/synapse/synapse.c)0
-rw-r--r--keyboards/p3d/tw40/config.h (renamed from keyboards/tw40/config.h)0
-rw-r--r--keyboards/p3d/tw40/info.json (renamed from keyboards/tw40/info.json)0
-rw-r--r--keyboards/p3d/tw40/keymaps/default/keymap.c (renamed from keyboards/tw40/keymaps/default/keymap.c)0
-rw-r--r--keyboards/p3d/tw40/keymaps/default/readme.md (renamed from keyboards/tw40/keymaps/default/readme.md)0
-rw-r--r--keyboards/p3d/tw40/keymaps/via/keymap.c (renamed from keyboards/tw40/keymaps/via/keymap.c)0
-rw-r--r--keyboards/p3d/tw40/keymaps/via/rules.mk (renamed from keyboards/kprepublic/bm80v2/keymaps/saph1s/rules.mk)0
-rw-r--r--keyboards/p3d/tw40/readme.md19
-rw-r--r--keyboards/p3d/tw40/rules.mk (renamed from keyboards/tw40/rules.mk)0
-rw-r--r--keyboards/pangorin/tan67/config.h23
-rw-r--r--keyboards/paprikman/albacore/config.h37
-rw-r--r--keyboards/paprikman/albacore/info.json4
-rw-r--r--keyboards/pauperboards/brick/info.json3
-rw-r--r--keyboards/pearl/keymaps/cijanzen/README.md29
-rw-r--r--keyboards/pearl/keymaps/cijanzen/config.h21
-rw-r--r--keyboards/pearl/keymaps/cijanzen/keymap.c77
-rw-r--r--keyboards/pearl/keymaps/cijanzen/rules.mk10
-rwxr-xr-xkeyboards/pearl/keymaps/phil/keymap.c88
-rw-r--r--keyboards/pearl/keymaps/rask/.editorconfig5
-rw-r--r--keyboards/pearl/keymaps/rask/README.md23
-rw-r--r--keyboards/pearl/keymaps/rask/keymap.c87
-rw-r--r--keyboards/percent/canoe_gen2/config.h56
-rw-r--r--keyboards/percent/canoe_gen2/info.json35
-rwxr-xr-xkeyboards/percent/skog_lite/keymaps/binman/keymap.c20
-rwxr-xr-xkeyboards/percent/skog_lite/keymaps/binman/readme.md3
-rw-r--r--keyboards/phage_studio/pila87/config.h73
-rw-r--r--keyboards/phage_studio/pila87/info.json48
-rw-r--r--keyboards/phase_studio/titan65/hotswap/config.h22
-rw-r--r--keyboards/phase_studio/titan65/hotswap/info.json3
-rw-r--r--keyboards/phentech/rpk_001/config.h11
-rw-r--r--keyboards/phentech/rpk_001/info.json7
-rw-r--r--keyboards/phentech/rpk_001/rpk_001.c136
-rw-r--r--keyboards/phoenix/phoenix.c2
-rw-r--r--keyboards/pica40/keymaps/zzeneg/config.h11
-rw-r--r--keyboards/pica40/keymaps/zzeneg/keymap.c196
-rw-r--r--keyboards/pica40/keymaps/zzeneg/rules.mk2
-rw-r--r--keyboards/pica40/rev2/post_rules.mk8
-rw-r--r--keyboards/pica40/rev2/rev2.c98
-rw-r--r--keyboards/pico/65keys/keymaps/default/config.h18
-rw-r--r--keyboards/pico/65keys/keymaps/default/keymap.c46
-rw-r--r--keyboards/pico/65keys/keymaps/jis/config.h18
-rw-r--r--keyboards/pico/65keys/keymaps/jis/keymap.c47
-rw-r--r--keyboards/pico/70keys/keymaps/default/keymap.c46
-rw-r--r--keyboards/pico/70keys/keymaps/jis/keymap.c47
-rw-r--r--keyboards/pico/readme.md24
-rw-r--r--keyboards/pico/rules.mk16
-rw-r--r--keyboards/pierce/keymaps/durken1/config.h69
-rw-r--r--keyboards/pierce/keymaps/durken1/keymap.c159
-rw-r--r--keyboards/pierce/keymaps/durken1/rules.mk4
-rw-r--r--keyboards/pisces/config.h2
-rw-r--r--keyboards/planck/ez/config.h57
-rw-r--r--keyboards/planck/ez/ez.c110
-rw-r--r--keyboards/planck/ez/info.json50
-rw-r--r--keyboards/planck/ez/rules.mk2
-rw-r--r--keyboards/planck/light/config.h52
-rw-r--r--keyboards/planck/light/info.json45
-rw-r--r--keyboards/planck/light/light.c2
-rw-r--r--keyboards/planck/light/rules.mk2
-rw-r--r--keyboards/planck/rev1/rules.mk2
-rw-r--r--keyboards/planck/rev2/rules.mk2
-rw-r--r--keyboards/planck/rev3/rules.mk2
-rw-r--r--keyboards/planck/rev4/rules.mk2
-rw-r--r--keyboards/planck/rev5/rules.mk2
-rw-r--r--keyboards/planck/rev6/config.h4
-rw-r--r--keyboards/planck/rev6/info.json3
-rw-r--r--keyboards/planck/rev6/rules.mk2
-rw-r--r--keyboards/planck/rev6_drop/config.h4
-rw-r--r--keyboards/planck/rev6_drop/info.json3
-rw-r--r--keyboards/planck/rev6_drop/rules.mk2
-rw-r--r--keyboards/planck/rev7/config.h2
-rw-r--r--keyboards/planck/rev7/info.json12
-rw-r--r--keyboards/planck/rev7/matrix.c86
-rw-r--r--keyboards/planck/rev7/rules.mk2
-rw-r--r--keyboards/playkbtw/ca66/keymaps/olivia/keymap.c27
-rw-r--r--keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c29
-rw-r--r--keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md11
-rw-r--r--keyboards/playkbtw/pk64rgb/config.h22
-rw-r--r--keyboards/playkbtw/pk64rgb/info.json5
-rw-r--r--keyboards/playkbtw/pk64rgb/pk64rgb.c130
-rw-r--r--keyboards/ploopyco/mouse/config.h3
-rw-r--r--keyboards/ploopyco/mouse/info.json6
-rw-r--r--keyboards/ploopyco/mouse/mouse.c20
-rw-r--r--keyboards/ploopyco/mouse/rules.mk3
-rw-r--r--keyboards/ploopyco/trackball/config.h3
-rw-r--r--keyboards/ploopyco/trackball/info.json6
-rw-r--r--keyboards/ploopyco/trackball/rules.mk3
-rw-r--r--keyboards/ploopyco/trackball/trackball.c20
-rw-r--r--keyboards/ploopyco/trackball_mini/config.h3
-rw-r--r--keyboards/ploopyco/trackball_mini/info.json6
-rw-r--r--keyboards/ploopyco/trackball_mini/rules.mk3
-rw-r--r--keyboards/ploopyco/trackball_mini/trackball_mini.c20
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c86
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md1
-rw-r--r--keyboards/ploopyco/trackball_thumb/config.h3
-rw-r--r--keyboards/ploopyco/trackball_thumb/info.json5
-rw-r--r--keyboards/ploopyco/trackball_thumb/post_rules.mk4
-rw-r--r--keyboards/ploopyco/trackball_thumb/trackball_thumb.c20
-rw-r--r--keyboards/ploopyco/trackball_thumb/trackball_thumb.h3
-rw-r--r--keyboards/plywrks/ply8x/config.h4
-rw-r--r--keyboards/pom_keyboards/tnln95/config.h5
-rw-r--r--keyboards/preonic/rev3/config.h2
-rw-r--r--keyboards/preonic/rev3_drop/config.h2
-rw-r--r--keyboards/primekb/prime_e/keymaps/gwillad/keymap.c79
-rw-r--r--keyboards/primekb/prime_e/keymaps/gwillad/readme.md7
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h21
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c174
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md5
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk20
-rw-r--r--keyboards/primekb/prime_r/keymaps/rooski/config.h26
-rw-r--r--keyboards/primekb/prime_r/keymaps/rooski/keymap.c197
-rw-r--r--keyboards/primekb/prime_r/keymaps/rooski/readme.md3
-rw-r--r--keyboards/primekb/prime_r/keymaps/rooski/rules.mk2
-rw-r--r--keyboards/projectcain/vault35/atmega32u4/info.json45
-rw-r--r--keyboards/projectcain/vault35/atmega32u4/rules.mk1
-rw-r--r--keyboards/projectcain/vault35/config.h36
-rw-r--r--keyboards/projectcain/vault35/info.json113
-rw-r--r--keyboards/projectcain/vault35/keymaps/default/keymap.c39
-rw-r--r--keyboards/projectcain/vault35/keymaps/default/rules.mk3
-rw-r--r--keyboards/projectcain/vault35/rules.mk14
-rw-r--r--keyboards/projectd/65/projectd_65_ansi/config.h6
-rw-r--r--keyboards/projectd/65/projectd_65_ansi/info.json3
-rw-r--r--keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c158
-rw-r--r--keyboards/projectd/75/ansi/ansi.c192
-rw-r--r--keyboards/projectd/75/ansi/config.h13
-rw-r--r--keyboards/projectd/75/ansi/info.json5
-rw-r--r--keyboards/prototypist/oceanographer/config.h6
-rw-r--r--keyboards/prototypist/oceanographer/info.json7
-rw-r--r--keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c56
-rw-r--r--keyboards/psuieee/pluto12/keymaps/wymcg/readme.md1
-rw-r--r--keyboards/pw88/config.h21
-rw-r--r--keyboards/q4z/keymaps/default/rules.mk1
-rw-r--r--keyboards/q4z/keymaps/rjboone/config.h21
-rw-r--r--keyboards/q4z/keymaps/rjboone/keymap.c107
-rw-r--r--keyboards/q4z/keymaps/rjboone/readme.md1
-rw-r--r--keyboards/q4z/keymaps/rjboone/rules.mk1
-rw-r--r--keyboards/q4z/readme.md20
-rw-r--r--keyboards/qpockets/space_space/rev2/config.h2
-rw-r--r--keyboards/qpockets/space_space/rev2/info.json5
-rw-r--r--keyboards/quadrum/delta/info.json4
-rw-r--r--keyboards/quarkeys/z40/config.h29
-rw-r--r--keyboards/quarkeys/z40/info.json23
-rw-r--r--keyboards/quarkeys/z40/z40.c2
-rw-r--r--keyboards/quokka/config.h1
-rw-r--r--keyboards/quokka/info.json146
-rw-r--r--keyboards/quokka/keymaps/default/keymap.c1
-rw-r--r--keyboards/qvex/lynepad2/config.h6
-rw-r--r--keyboards/qvex/lynepad2/info.json10
-rw-r--r--keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c142
-rw-r--r--keyboards/qwertykeys/qk100/ansi/ansi.c204
-rw-r--r--keyboards/qwertykeys/qk100/ansi/config.h30
-rw-r--r--keyboards/qwertykeys/qk100/ansi/info.json11
-rw-r--r--keyboards/qwertykeys/qk100/info.json11
-rw-r--r--keyboards/qwertykeys/qk100/solder/config.h15
-rw-r--r--keyboards/rabbit/rabbit68/keymaps/kaiec/config.h19
-rw-r--r--keyboards/raindrop/readme.md38
-rw-r--r--keyboards/raindrop/rules.mk0
-rw-r--r--keyboards/rate/pistachio/rev2/config.h1
-rw-r--r--keyboards/rate/pistachio_pro/lib/bme280.c14
-rw-r--r--keyboards/recompile_keys/choco60/config.h18
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h2
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h2
-rw-r--r--keyboards/redox/keymaps/KL1RL/config.h42
-rw-r--r--keyboards/redox/keymaps/KL1RL/keymap.c90
-rw-r--r--keyboards/redox/keymaps/KL1RL/readme.md22
-rw-r--r--keyboards/redox/keymaps/KL1RL/rules.mk2
-rw-r--r--keyboards/redox/keymaps/default/config.h4
-rw-r--r--keyboards/redox/keymaps/default/keymap.c36
-rw-r--r--keyboards/redox/keymaps/eightbitraptor/config.h41
-rw-r--r--keyboards/redox/keymaps/eightbitraptor/keymap.c87
-rw-r--r--keyboards/redox/keymaps/eightbitraptor/rules.mk2
-rw-r--r--keyboards/redox/keymaps/fculpo/config.h39
-rw-r--r--keyboards/redox/keymaps/fculpo/keymap.c92
-rw-r--r--keyboards/redox/keymaps/fculpo/keymap.json399
-rw-r--r--keyboards/redox/keymaps/fculpo/readme.md18
-rw-r--r--keyboards/redox/keymaps/fculpo/rules.mk2
-rw-r--r--keyboards/redox/keymaps/finex/config.h42
-rw-r--r--keyboards/redox/keymaps/finex/keymap.c386
-rw-r--r--keyboards/redox/keymaps/finex/readme.md69
-rw-r--r--keyboards/redox/keymaps/finex/rules.mk4
-rw-r--r--keyboards/redox/keymaps/german/config.h40
-rw-r--r--keyboards/redox/keymaps/german/keymap.c96
-rw-r--r--keyboards/redox/keymaps/german/readme.md5
-rw-r--r--keyboards/redox/keymaps/german/rules.mk1
-rw-r--r--keyboards/redox/keymaps/italian/config.h40
-rw-r--r--keyboards/redox/keymaps/italian/keymap.c102
-rw-r--r--keyboards/redox/keymaps/italian/readme.md1
-rw-r--r--keyboards/redox/keymaps/italian/rules.mk2
-rw-r--r--keyboards/redox/keymaps/jeherve/config.h41
-rw-r--r--keyboards/redox/keymaps/jeherve/keymap.c268
-rw-r--r--keyboards/redox/keymaps/jeherve/readme.md45
-rw-r--r--keyboards/redox/keymaps/jeherve/rules.mk3
-rwxr-xr-xkeyboards/redox/keymaps/nrichers/config.h40
-rwxr-xr-xkeyboards/redox/keymaps/nrichers/keymap.c92
-rwxr-xr-xkeyboards/redox/keymaps/nrichers/readme.md28
-rwxr-xr-xkeyboards/redox/keymaps/nrichers/rules.mk2
-rw-r--r--keyboards/redox/keymaps/tw1t611/config.h23
-rw-r--r--keyboards/redox/keymaps/tw1t611/keymap.c36
-rw-r--r--keyboards/redox/keymaps/tw1t611/readme.md1
-rw-r--r--keyboards/redox/keymaps/via/config.h4
-rw-r--r--keyboards/redox/keymaps/via/keymap.c36
-rw-r--r--keyboards/redox/keymaps/via/rules.mk2
-rw-r--r--keyboards/redox/readme.md48
-rw-r--r--keyboards/redox/rev1/base/info.json3
-rw-r--r--keyboards/redox/rev1/base/rules.mk1
-rw-r--r--keyboards/redox/rev1/info.json28
-rw-r--r--keyboards/redox/rev1/proton_c/config.h16
-rw-r--r--keyboards/redox/rev1/proton_c/info.json4
-rw-r--r--keyboards/redox/rev1/readme.md50
-rw-r--r--keyboards/redox/rules.mk15
-rw-r--r--keyboards/redox/wireless/config.h23
-rw-r--r--keyboards/redox/wireless/info.json105
-rw-r--r--keyboards/redox/wireless/matrix.c (renamed from keyboards/redox_w/matrix.c)0
-rw-r--r--keyboards/redox/wireless/readme.md34
-rw-r--r--keyboards/redox/wireless/rules.mk5
-rw-r--r--keyboards/redox/wireless/wireless.c49
-rw-r--r--keyboards/redox/wireless/wireless.h35
-rw-r--r--keyboards/redox_w/config.h40
-rw-r--r--keyboards/redox_w/info.json98
-rw-r--r--keyboards/redox_w/keymaps/default/keymap.c111
-rw-r--r--keyboards/redox_w/keymaps/default/readme.md1
-rw-r--r--keyboards/redox_w/keymaps/dvorak/keymap.c128
-rw-r--r--keyboards/redox_w/keymaps/dvorak/readme.md38
-rw-r--r--keyboards/redox_w/keymaps/italian/keymap.c123
-rw-r--r--keyboards/redox_w/keymaps/italian/readme.md1
-rw-r--r--keyboards/redox_w/keymaps/via/keymap.c89
-rw-r--r--keyboards/redox_w/keymaps/via/readme.md1
-rw-r--r--keyboards/redox_w/readme.md34
-rw-r--r--keyboards/redox_w/redox_w.c32
-rw-r--r--keyboards/redox_w/redox_w.h18
-rw-r--r--keyboards/redox_w/rules.mk17
-rw-r--r--keyboards/redragon/k667/config.h7
-rw-r--r--keyboards/redragon/k667/info.json1
-rw-r--r--keyboards/redragon/k667/k667.c182
-rw-r--r--keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c81
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/readme.md2
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/config.h25
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c333
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk10
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/rgbkb/common/touch_encoder.c4
-rw-r--r--keyboards/rgbkb/mun/config.h57
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/config.h2
-rw-r--r--keyboards/rgbkb/mun/keymaps/via/config.h2
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/config.h42
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c248
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk5
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json52
-rw-r--r--keyboards/rgbkb/pan/config.h49
-rw-r--r--keyboards/rgbkb/pan/info.json45
-rw-r--r--keyboards/rgbkb/sol/config.h48
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/config.h25
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c272
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk15
-rw-r--r--keyboards/rgbkb/sol/rev1/config.h8
-rw-r--r--keyboards/rgbkb/sol/rev1/info.json46
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h16
-rw-r--r--keyboards/rgbkb/sol/rev2/info.json46
-rw-r--r--keyboards/rgbkb/sol3/config.h59
-rw-r--r--keyboards/rgbkb/sol3/keymaps/default/config.h2
-rw-r--r--keyboards/rgbkb/sol3/keymaps/via/config.h2
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json52
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/default/config.h4
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h42
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c97
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk1
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/config.h35
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c79
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk1
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h41
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c148
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk3
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/config.h7
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/info.json3
-rw-r--r--keyboards/riot_pad/keymaps/via/rules.mk1
-rw-r--r--keyboards/riot_pad/readme.md25
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h20
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c151
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md23
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h24
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c65
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md5
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h19
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c79
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md1
-rw-r--r--keyboards/rookiebwoy/late9/readme.md25
-rw-r--r--keyboards/rookiebwoy/late9/rev1/config.h (renamed from keyboards/late9/rev1/config.h)0
-rw-r--r--keyboards/rookiebwoy/late9/rev1/info.json58
-rw-r--r--keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c84
-rw-r--r--keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md (renamed from keyboards/late9/rev1/keymaps/default/readme.md)0
-rw-r--r--keyboards/rookiebwoy/late9/rev1/keymaps/via/keymap.c84
-rw-r--r--keyboards/rookiebwoy/late9/rev1/keymaps/via/rules.mk (renamed from keyboards/macro1/keymaps/via/rules.mk)0
-rw-r--r--keyboards/rookiebwoy/late9/rev1/readme.md (renamed from keyboards/late9/rev1/readme.md)0
-rw-r--r--keyboards/rookiebwoy/late9/rev1/rev1.c (renamed from keyboards/late9/rev1/rev1.c)0
-rw-r--r--keyboards/rookiebwoy/late9/rev1/rules.mk1
-rwxr-xr-xkeyboards/rookiebwoy/late9/rules.mk1
-rw-r--r--keyboards/rookiebwoy/neopad/readme.md25
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rev1/config.h (renamed from keyboards/neopad/rev1/config.h)0
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rev1/info.json (renamed from keyboards/neopad/rev1/info.json)0
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c (renamed from keyboards/neopad/rev1/keymaps/default/keymap.c)0
-rw-r--r--keyboards/rookiebwoy/neopad/rev1/readme.md (renamed from keyboards/neopad/rev1/readme.md)0
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rev1/rev1.c (renamed from keyboards/neopad/rev1/rev1.c)0
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rev1/rules.mk (renamed from keyboards/neopad/rev1/rules.mk)0
-rwxr-xr-xkeyboards/rookiebwoy/neopad/rules.mk1
-rw-r--r--keyboards/rura66/rev1/oled_display.c141
-rw-r--r--keyboards/ryanskidmore/rskeys100/config.h9
-rw-r--r--keyboards/ryanskidmore/rskeys100/info.json6
-rw-r--r--keyboards/s_ol/0xc_pad/config.h47
-rw-r--r--keyboards/s_ol/0xc_pad/info.json20
-rw-r--r--keyboards/s_ol/0xc_pad/keymaps/superfell/keymap.c86
-rw-r--r--keyboards/s_ol/0xc_pad/keymaps/superfell/readme.md7
-rw-r--r--keyboards/saevus/cor_tkl/config.h23
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h23
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c181
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c147
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk2
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c80
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c101
-rw-r--r--keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c148
-rw-r--r--keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h6
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h6
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h42
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c117
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md37
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk4
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h35
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c139
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md32
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h34
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c143
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md44
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h6
-rw-r--r--keyboards/salicylic_acid3/naked48/rev1/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/rev1/info.json3
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c111
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md51
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h26
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c176
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md39
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h26
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c170
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md44
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c203
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md56
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h26
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c256
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md44
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk1
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h22
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c147
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h23
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c145
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h38
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c198
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md49
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk3
-rw-r--r--keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c40
-rw-r--r--keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c143
-rw-r--r--keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h15
-rw-r--r--keyboards/satt/comet46/keymaps/satt/keymap.c257
-rw-r--r--keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h32
-rw-r--r--keyboards/satt/comet46/keymaps/satt/readme.md6
-rw-r--r--keyboards/satt/comet46/keymaps/satt/rules.mk8
-rw-r--r--keyboards/satt/vision/keymaps/satt/action_pseudo.c149
-rw-r--r--keyboards/satt/vision/keymaps/satt/action_pseudo.h27
-rw-r--r--keyboards/satt/vision/keymaps/satt/keymap.c168
-rw-r--r--keyboards/satt/vision/keymaps/satt/keymap_jis2us.h49
-rw-r--r--keyboards/satt/vision/keymaps/satt/readme.md6
-rw-r--r--keyboards/satt/vision/keymaps/satt/rules.mk1
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/info.json9
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/keymaps/default/readme.md3
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/keymap.c19
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/readme.md1
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/readme.md18
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/rules.mk12
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/keymap.c75
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/readme.md1
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/rules.mk1
-rw-r--r--keyboards/sawnsprojects/satxri6key/config.h71
-rw-r--r--keyboards/sawnsprojects/satxri6key/info.json52
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c50
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md1
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk1
-rw-r--r--keyboards/sck/osa/keymaps/ocm/keymap.c79
-rw-r--r--keyboards/sck/osa/keymaps/ocm/readme.md1
-rw-r--r--keyboards/sck/osa/keymaps/splitrs/keymap.c59
-rw-r--r--keyboards/sck/osa/keymaps/splitrs/readme.md1
-rw-r--r--keyboards/senselessclay/ck60/config.h51
-rw-r--r--keyboards/senselessclay/ck60/info.json27
-rw-r--r--keyboards/senselessclay/had60/keymaps/had/keymap.c38
-rw-r--r--keyboards/sentraq/s65_x/keymaps/nall/keymap.c94
-rw-r--r--keyboards/sets3n/kk980/config.h5
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/config.h (renamed from keyboards/flygone60/rev3/config.h)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/info.json (renamed from keyboards/flygone60/rev3/info.json)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/keymaps/default/keymap.c (renamed from keyboards/flygone60/rev3/keymaps/default/keymap.c)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/keymaps/default/readme.md (renamed from keyboards/flygone60/rev3/keymaps/default/readme.md)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/keymaps/via/keymap.c (renamed from keyboards/flygone60/rev3/keymaps/via/keymap.c)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/keymaps/via/rules.mk (renamed from keyboards/redox_w/keymaps/via/rules.mk)0
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/readme.md19
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/rules.mk (renamed from keyboards/flygone60/rev3/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino/hotswap/config.h (renamed from keyboards/mino/hotswap/config.h)0
-rw-r--r--keyboards/shandoncodes/mino/hotswap/info.json (renamed from keyboards/mino/hotswap/info.json)0
-rw-r--r--keyboards/shandoncodes/mino/hotswap/rules.mk (renamed from keyboards/mino/hotswap/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino/keymaps/default/keymap.c (renamed from keyboards/mino/keymaps/default/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino/keymaps/via/keymap.c (renamed from keyboards/mino/keymaps/via/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino/keymaps/via/rules.mk (renamed from keyboards/mino/keymaps/via/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino/readme.md27
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/config.h (renamed from keyboards/mino_plus/hotswap/config.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/halconf.h (renamed from keyboards/mino_plus/hotswap/halconf.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/hotswap.c (renamed from keyboards/mino_plus/hotswap/hotswap.c)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/info.json (renamed from keyboards/mino_plus/hotswap/info.json)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c (renamed from keyboards/mino_plus/hotswap/keymaps/default/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/keymap.c (renamed from keyboards/mino_plus/hotswap/keymaps/via/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/rules.mk (renamed from keyboards/mechlovin/hex4b/keymaps/nazzer/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h (renamed from keyboards/mino_plus/hotswap/mcuconf.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/rules.mk (renamed from keyboards/mino_plus/hotswap/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino_plus/mino_plus.c251
-rw-r--r--keyboards/shandoncodes/mino_plus/readme.md29
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/config.h (renamed from keyboards/mino_plus/soldered/config.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/halconf.h (renamed from keyboards/mino_plus/soldered/halconf.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/info.json (renamed from keyboards/mino_plus/soldered/info.json)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c (renamed from keyboards/mino_plus/soldered/keymaps/default/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/keymaps/via/keymap.c (renamed from keyboards/mino_plus/soldered/keymaps/via/keymap.c)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/keymaps/via/rules.mk (renamed from keyboards/mino_plus/hotswap/keymaps/via/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/mcuconf.h (renamed from keyboards/mino_plus/soldered/mcuconf.h)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/rules.mk (renamed from keyboards/mino_plus/soldered/rules.mk)0
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/soldered.c (renamed from keyboards/mino_plus/soldered/soldered.c)0
-rw-r--r--keyboards/shandoncodes/riot_pad/config.h (renamed from keyboards/riot_pad/config.h)0
-rw-r--r--keyboards/shandoncodes/riot_pad/halconf.h (renamed from keyboards/riot_pad/halconf.h)0
-rw-r--r--keyboards/shandoncodes/riot_pad/info.json (renamed from keyboards/riot_pad/info.json)0
-rw-r--r--keyboards/shandoncodes/riot_pad/keymaps/default/keymap.c (renamed from keyboards/riot_pad/keymaps/default/keymap.c)0
-rw-r--r--keyboards/shandoncodes/riot_pad/keymaps/via/keymap.c (renamed from keyboards/riot_pad/keymaps/via/keymap.c)0
-rw-r--r--keyboards/shandoncodes/riot_pad/keymaps/via/rules.mk (renamed from keyboards/mino_plus/soldered/keymaps/via/rules.mk)0
-rw-r--r--keyboards/shandoncodes/riot_pad/mcuconf.h (renamed from keyboards/riot_pad/mcuconf.h)0
-rw-r--r--keyboards/shandoncodes/riot_pad/readme.md25
-rw-r--r--keyboards/shandoncodes/riot_pad/rules.mk1
-rw-r--r--keyboards/sharkoon/skiller_sgk50_s3/config.h5
-rw-r--r--keyboards/sharkoon/skiller_sgk50_s3/info.json7
-rw-r--r--keyboards/shoc/keymaps/bongo/keymap.c170
-rw-r--r--keyboards/signum/3_0/keymaps/sgurenkov/config.h39
-rw-r--r--keyboards/signum/3_0/keymaps/sgurenkov/keymap.c138
-rw-r--r--keyboards/signum/3_0/keymaps/sgurenkov/rules.mk2
-rw-r--r--keyboards/silverbullet44/config.h15
-rw-r--r--keyboards/silverbullet44/info.json7
-rw-r--r--keyboards/silverbullet44/keymaps/FKML/keymap.c144
-rw-r--r--keyboards/silverbullet44/keymaps/FKML/readme.md47
-rw-r--r--keyboards/sirius/unigo66/main.c2
-rw-r--r--keyboards/sixkeyboard/keymaps/semicolonsnet/keymap.c42
-rw-r--r--keyboards/sixkeyboard/keymaps/semicolonsnet/readme.md29
-rw-r--r--keyboards/skeletonkbd/frost68/config.h55
-rw-r--r--keyboards/skeletonkbd/frost68/info.json52
-rw-r--r--keyboards/skippys_custom_pcs/rooboard65/config.h3
-rw-r--r--keyboards/skippys_custom_pcs/rooboard65/info.json4
-rw-r--r--keyboards/skme/zeno/keymaps/paulgali/keymap.c35
-rw-r--r--keyboards/skmt/15k/config.h75
-rw-r--r--keyboards/skmt/15k/info.json50
-rw-r--r--keyboards/skmt/15k/keymaps/fns/keymap.c25
-rw-r--r--keyboards/skyloong/dt40/config.h8
-rw-r--r--keyboards/skyloong/dt40/info.json6
-rw-r--r--keyboards/skyloong/gk61/pro/config.h13
-rw-r--r--keyboards/skyloong/gk61/pro/pro.c146
-rw-r--r--keyboards/skyloong/gk61/pro_48/config.h9
-rw-r--r--keyboards/skyloong/gk61/pro_48/info.json3
-rw-r--r--keyboards/skyloong/gk61/pro_48/pro_48.c146
-rw-r--r--keyboards/skyloong/gk61/v1/config.h8
-rw-r--r--keyboards/skyloong/gk61/v1/info.json3
-rw-r--r--keyboards/skyloong/gk61/v1/v1.c157
-rw-r--r--keyboards/skyloong/qk21/v1/config.h5
-rw-r--r--keyboards/skyloong/qk21/v1/info.json3
-rw-r--r--keyboards/smallkeyboard/config.h52
-rw-r--r--keyboards/smallkeyboard/info.json31
-rw-r--r--keyboards/smallkeyboard/smallkeyboard.c2
-rw-r--r--keyboards/smithrune/iron160/iron160_h/config.h18
-rw-r--r--keyboards/smithrune/iron160/iron160_h/info.json9
-rw-r--r--keyboards/smithrune/iron165r2/config.h2
-rw-r--r--keyboards/smithrune/iron165r2/f072/info.json3
-rw-r--r--keyboards/smithrune/iron165r2/f411/info.json3
-rw-r--r--keyboards/smithrune/iron180/info.json2
-rw-r--r--keyboards/smithrune/iron180v2/readme.md27
-rw-r--r--keyboards/smithrune/iron180v2/v2h/config.h26
-rw-r--r--keyboards/smithrune/iron180v2/v2h/info.json674
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c37
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c37
-rw-r--r--keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk (renamed from keyboards/primekb/prime_e/keymaps/gwillad/rules.mk)0
-rw-r--r--keyboards/smithrune/iron180v2/v2h/matrix_diagram.md24
-rw-r--r--keyboards/smithrune/iron180v2/v2h/rules.mk1
-rw-r--r--keyboards/smithrune/iron180v2/v2s/config.h46
-rw-r--r--keyboards/smithrune/iron180v2/v2s/halconf.h26
-rw-r--r--keyboards/smithrune/iron180v2/v2s/info.json1432
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c37
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c37
-rw-r--r--keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk (renamed from keyboards/pw88/keymaps/via/rules.mk)0
-rw-r--r--keyboards/smithrune/iron180v2/v2s/matrix_diagram.md24
-rw-r--r--keyboards/smithrune/iron180v2/v2s/mcuconf.h22
-rw-r--r--keyboards/smithrune/iron180v2/v2s/rules.mk1
-rw-r--r--keyboards/smithrune/magnus/m75h/config.h3
-rw-r--r--keyboards/smithrune/magnus/m75h/info.json9
-rw-r--r--keyboards/smithrune/magnus/m75s/config.h3
-rw-r--r--keyboards/smithrune/magnus/m75s/info.json9
-rw-r--r--keyboards/smoll/lefty/config.h (renamed from keyboards/lefty/config.h)0
-rw-r--r--keyboards/smoll/lefty/info.json (renamed from keyboards/lefty/info.json)0
-rw-r--r--keyboards/smoll/lefty/keymaps/default/keymap.c (renamed from keyboards/lefty/keymaps/default/keymap.c)0
-rw-r--r--keyboards/smoll/lefty/keymaps/via/keymap.c (renamed from keyboards/lefty/keymaps/via/keymap.c)0
-rw-r--r--keyboards/smoll/lefty/keymaps/via/rules.mk (renamed from keyboards/w1_at/keymaps/via/rules.mk)0
-rw-r--r--keyboards/smoll/lefty/lefty.c (renamed from keyboards/lefty/lefty.c)0
-rw-r--r--keyboards/smoll/lefty/readme.md (renamed from keyboards/lefty/readme.md)0
-rw-r--r--keyboards/smoll/lefty/rev1/info.json (renamed from keyboards/lefty/rev1/info.json)0
-rw-r--r--keyboards/smoll/lefty/rev1/rules.mk (renamed from keyboards/pico/65keys/rules.mk)0
-rw-r--r--keyboards/smoll/lefty/rev2/info.json (renamed from keyboards/lefty/rev2/info.json)0
-rw-r--r--keyboards/smoll/lefty/rev2/rules.mk (renamed from keyboards/pico/70keys/rules.mk)0
-rw-r--r--keyboards/smoll/lefty/rules.mk17
-rw-r--r--keyboards/smoll/pw88/info.json (renamed from keyboards/pw88/info.json)0
-rw-r--r--keyboards/smoll/pw88/keymaps/default/keymap.c (renamed from keyboards/pw88/keymaps/default/keymap.c)0
-rw-r--r--keyboards/smoll/pw88/keymaps/via/keymap.c (renamed from keyboards/pw88/keymaps/via/keymap.c)0
-rw-r--r--[-rwxr-xr-x]keyboards/smoll/pw88/keymaps/via/rules.mk (renamed from keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk)0
-rw-r--r--keyboards/smoll/pw88/readme.md (renamed from keyboards/pw88/readme.md)0
-rw-r--r--keyboards/smoll/pw88/rules.mk (renamed from keyboards/pw88/rules.mk)0
-rw-r--r--keyboards/snes_macropad/keymaps/jbarberu/keymap.c99
-rw-r--r--keyboards/snes_macropad/snes_macropad.c2
-rw-r--r--keyboards/sofle/info.json117
-rw-r--r--[-rwxr-xr-x]keyboards/sofle/keyhive/config.h0
-rw-r--r--keyboards/sofle/keyhive/info.json13
-rw-r--r--[-rwxr-xr-x]keyboards/sofle/keyhive/readme.md0
-rw-r--r--[-rwxr-xr-x]keyboards/sofle/keyhive/rules.mk17
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/config.h54
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c211
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/readme.md5
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk9
-rw-r--r--keyboards/sofle/keymaps/default/config.h6
-rw-r--r--keyboards/sofle/keymaps/default/keymap.c163
-rw-r--r--keyboards/sofle/keymaps/default/readme.md8
-rw-r--r--keyboards/sofle/keymaps/default/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/flare576/config.h40
-rw-r--r--keyboards/sofle/keymaps/flare576/enums.h34
-rw-r--r--keyboards/sofle/keymaps/flare576/graphics.c290
-rw-r--r--keyboards/sofle/keymaps/flare576/graphics.h16
-rw-r--r--keyboards/sofle/keymaps/flare576/keymap.c196
-rw-r--r--keyboards/sofle/keymaps/flare576/logos.h96
-rw-r--r--keyboards/sofle/keymaps/flare576/readme.md22
-rw-r--r--keyboards/sofle/keymaps/flare576/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/foureight84/config.h33
-rw-r--r--keyboards/sofle/keymaps/foureight84/keymap.c616
-rw-r--r--keyboards/sofle/keymaps/foureight84/readme.md1
-rw-r--r--keyboards/sofle/keymaps/foureight84/rules.mk24
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/encoder.c37
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/keymap.c85
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/oled.c77
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/readme.md19
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/killmaster/config.h60
-rw-r--r--keyboards/sofle/keymaps/killmaster/keymap.c404
-rw-r--r--keyboards/sofle/keymaps/killmaster/readme.md19
-rw-r--r--keyboards/sofle/keymaps/killmaster/rules.mk4
-rw-r--r--keyboards/sofle/keymaps/michal/config.h17
-rw-r--r--keyboards/sofle/keymaps/michal/keymap.c192
-rw-r--r--keyboards/sofle/keymaps/michal/rules.mk19
-rw-r--r--keyboards/sofle/keymaps/noqmk/keymap.c684
-rw-r--r--keyboards/sofle/keymaps/noqmk/readme.md28
-rw-r--r--keyboards/sofle/keymaps/noqmk/rules.mk5
-rw-r--r--keyboards/sofle/keymaps/rgb_default/config.h14
-rw-r--r--keyboards/sofle/keymaps/via/config.h50
-rw-r--r--keyboards/sofle/keymaps/via/keymap.c29
-rw-r--r--keyboards/sofle/keymaps/via/oled.c85
-rw-r--r--keyboards/sofle/keymaps/via/readme.md2
-rw-r--r--keyboards/sofle/keymaps/via/rules.mk7
-rw-r--r--keyboards/sofle/readme.md2
-rw-r--r--keyboards/sofle/rev1/info.json13
-rw-r--r--keyboards/sofle/rev1/readme.md2
-rw-r--r--keyboards/sofle/rev1/rev1.c87
-rw-r--r--keyboards/sofle/rev1/rules.mk3
-rw-r--r--keyboards/sofle/rules.mk2
-rw-r--r--keyboards/sofle/sofle.c89
-rw-r--r--keyboards/sofle_choc/info.json1
-rw-r--r--keyboards/sofle_choc/keymaps/default/config.h2
-rw-r--r--keyboards/sofle_choc/keymaps/via/config.h2
-rw-r--r--keyboards/sowbug/68keys/config.h72
-rw-r--r--keyboards/sowbug/68keys/info.json48
-rw-r--r--keyboards/sowbug/ansi_tkl/config.h73
-rw-r--r--keyboards/sowbug/ansi_tkl/info.json48
-rw-r--r--keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c48
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/config.h76
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/info.json48
-rwxr-xr-xkeyboards/spaceholdings/nebula68/nebula68.c256
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/config.h75
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/hs/config.h21
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/info.json49
-rw-r--r--keyboards/spaceman/2_milk/keymaps/binary/keymap.c8
-rw-r--r--keyboards/spaceman/2_milk/keymaps/binary/readme.md2
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta/keymap.c8
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta/readme.md2
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h6
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c56
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md18
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk4
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/config.h20
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/keymap.c196
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/readme.md26
-rw-r--r--keyboards/spaceman/2_milk/keymaps/encg/rules.mk1
-rw-r--r--keyboards/spaceman/2_milk/keymaps/excessbread/keymap.c8
-rw-r--r--keyboards/spaceman/2_milk/keymaps/excessbread/readme.md2
-rw-r--r--keyboards/spacetime/keymaps/kyleterry/keymap.c135
-rw-r--r--keyboards/spacetime/keymaps/kyleterry/rules.mk1
-rw-r--r--keyboards/spacey/keymaps/via/rules.mk2
-rw-r--r--keyboards/spacey/readme.md19
-rw-r--r--keyboards/sparrow62/keymaps/74th/config.h23
-rw-r--r--keyboards/sparrow62/keymaps/74th/keymap.c85
-rw-r--r--keyboards/spleeb/keymaps/chrishoage/config.h15
-rw-r--r--keyboards/spleeb/keymaps/chrishoage/keymap.c127
-rw-r--r--keyboards/spleeb/keymaps/chrishoage/rules.mk10
-rw-r--r--keyboards/splitkb/aurora/corne/keymaps/x123/config.h24
-rw-r--r--keyboards/splitkb/aurora/corne/keymaps/x123/keymap.c244
-rw-r--r--keyboards/splitkb/aurora/corne/keymaps/x123/readme.md56
-rw-r--r--keyboards/splitkb/aurora/corne/keymaps/x123/rules.mk22
-rw-r--r--keyboards/splitkb/aurora/corne/rev1/config.h8
-rw-r--r--keyboards/splitkb/aurora/corne/rev1/info.json8
-rw-r--r--keyboards/splitkb/aurora/helix/keymaps/default/config.h2
-rw-r--r--keyboards/splitkb/aurora/helix/rev1/config.h2
-rw-r--r--keyboards/splitkb/aurora/lily58/rev1/config.h7
-rw-r--r--keyboards/splitkb/aurora/lily58/rev1/info.json8
-rw-r--r--keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h2
-rw-r--r--keyboards/splitkb/aurora/sofle_v2/rev1/config.h2
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/default/config.h2
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/.clang-format1
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h72
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c504
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c245
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c208
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h35
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c127
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c88
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c466
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md97
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk17
-rw-r--r--keyboards/splitkb/aurora/sweep/rev1/config.h7
-rw-r--r--keyboards/splitkb/aurora/sweep/rev1/info.json8
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/config.h20
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/keymap.c37
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/readme.md26
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/rules.mk1
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json167
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/config.h56
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c307
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk5
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/config.h43
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/glcdfont.c228
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/keymap.c248
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/readme.md246
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/rules.mk3
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/config.h54
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/keymap.c314
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h47
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c247
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/config.h45
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/keymap.c377
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/rules.mk16
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/config.h40
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/glcdfont.c276
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c261
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/oled.c490
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/readme.md20
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk18
-rw-r--r--keyboards/splitkb/kyria/keymaps/lms_ace01/config.h63
-rw-r--r--keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c852
-rw-r--r--keyboards/splitkb/kyria/keymaps/lms_ace01/readme.md92
-rw-r--r--keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk8
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/config.h23
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/keymap.c249
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/readme.md104
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/rules.mk5
-rw-r--r--keyboards/splitkb/kyria/keymaps/maherma-adg/config.h39
-rw-r--r--keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c420
-rw-r--r--keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md17
-rw-r--r--keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/config.h64
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/keymap.c288
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/readme.md141
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/config.h30
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/keymap.c59
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/readme.md67
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/ohlin/config.h27
-rw-r--r--keyboards/splitkb/kyria/keymaps/ohlin/keymap.c260
-rw-r--r--keyboards/splitkb/kyria/keymaps/ohlin/readme.md65
-rw-r--r--keyboards/splitkb/kyria/keymaps/ohlin/rules.mk5
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/README.md172
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/config.h52
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/keymap.c475
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/rules.mk5
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/squigglybob/config.h35
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/squigglybob/keymap.c315
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/squigglybob/rules.mk2
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/config.h38
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/keymap.c242
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/rules.mk3
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/config.h56
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c354
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk5
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/config.h42
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/keymap.c423
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/readme.md99
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/rules.mk11
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h9
-rw-r--r--keyboards/splitkb/kyria/rev1/info.json10
-rw-r--r--keyboards/splitkb/kyria/rev2/config.h10
-rw-r--r--keyboards/splitkb/kyria/rev2/info.json10
-rw-r--r--keyboards/splitkb/kyria/rev3/config.h7
-rw-r--r--keyboards/splitkb/kyria/rev3/info.json8
-rw-r--r--keyboards/splitography/keymaps/jeandeaual/keymap.c292
-rw-r--r--keyboards/splitography/keymaps/jeandeaual/readme.md7
-rw-r--r--keyboards/splitography/keymaps/multi/keymap.c410
-rw-r--r--keyboards/splitography/keymaps/multi/readme.md15
-rw-r--r--keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c40
-rw-r--r--keyboards/stenokeyboards/the_uni/keymaps/utility_belt/readme.md14
-rw-r--r--keyboards/stront/config.h57
-rw-r--r--keyboards/stront/info.json49
-rw-r--r--keyboards/stront/keymaps/zzeneg/config.h30
-rw-r--r--keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c782
-rw-r--r--keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c189
-rw-r--r--keyboards/stront/keymaps/zzeneg/halconf.h8
-rw-r--r--keyboards/stront/keymaps/zzeneg/icons/flag_pl.c42
-rw-r--r--keyboards/stront/keymaps/zzeneg/icons/flag_ru.c42
-rw-r--r--keyboards/stront/keymaps/zzeneg/icons/flag_uk.c46
-rw-r--r--keyboards/stront/keymaps/zzeneg/keymap.c305
-rw-r--r--keyboards/stront/keymaps/zzeneg/lv_conf.h148
-rw-r--r--keyboards/stront/keymaps/zzeneg/mcuconf.h9
-rw-r--r--keyboards/stront/keymaps/zzeneg/rules.mk17
-rw-r--r--keyboards/stront/keymaps/zzeneg/zzeneg_display.c242
-rw-r--r--keyboards/stront/keymaps/zzeneg/zzeneg_display.h27
-rw-r--r--keyboards/sx60/keymaps/amnobis/config.h1
-rw-r--r--keyboards/sx60/keymaps/amnobis/keymap.c92
-rw-r--r--keyboards/sx60/keymaps/amnobis/readme.md8
-rw-r--r--keyboards/sx60/matrix.c4
-rwxr-xr-xkeyboards/sx60/sx60.c4
-rw-r--r--keyboards/synapse/keymaps/7u_space/rules.mk1
-rw-r--r--keyboards/synapse/keymaps/default/rules.mk1
-rw-r--r--keyboards/synapse/readme.md27
-rw-r--r--keyboards/synthlabs/060/config.h60
-rw-r--r--keyboards/synthlabs/060/info.json36
-rw-r--r--keyboards/synthlabs/solo/keymaps/iidx/keymap.c72
-rw-r--r--keyboards/synthlabs/solo/keymaps/iidx/readme.md16
-rw-r--r--keyboards/synthlabs/solo/keymaps/iidx/rules.mk3
-rw-r--r--keyboards/system76/launch_1/config.h29
-rw-r--r--keyboards/system76/launch_1/info.json23
-rw-r--r--keyboards/system76/launch_1/usb_mux.c81
-rwxr-xr-xkeyboards/tada68/keymaps/rgb/config.h2
-rw-r--r--keyboards/takashicompany/heavy_left/config.h41
-rw-r--r--keyboards/takashicompany/heavy_left/info.json23
-rw-r--r--keyboards/takashicompany/heavy_left/keymaps/default/keymap.c9
-rw-r--r--keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c69
-rw-r--r--keyboards/takashicompany/heavy_left/keymaps/takashicompany/rules.mk1
-rw-r--r--keyboards/takashicompany/heavy_left/keymaps/via/keymap.c21
-rw-r--r--keyboards/takashicompany/heavy_left/readme.md2
-rw-r--r--keyboards/takashicompany/heavy_left/rules.mk15
-rw-r--r--keyboards/takashicompany/minizone/config.h25
-rw-r--r--keyboards/takashicompany/minizone/info.json22
-rw-r--r--keyboards/takashicompany/minizone/keymaps/default/keymap.c86
-rw-r--r--keyboards/takashicompany/minizone/keymaps/via/config.h5
-rw-r--r--keyboards/takashicompany/minizone/keymaps/via/keymap.c98
-rw-r--r--keyboards/takashicompany/minizone/rules.mk14
-rw-r--r--keyboards/takashiski/hecomi/keymaps/kakunpc/config.h32
-rw-r--r--keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c52
-rw-r--r--keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md1
-rw-r--r--keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h19
-rw-r--r--keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c42
-rw-r--r--keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md12
-rw-r--r--keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c67
-rw-r--r--keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md1
-rw-r--r--keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c73
-rw-r--r--keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md1
-rw-r--r--keyboards/tanuki/keymaps/tucznak/config.h18
-rw-r--r--keyboards/tanuki/keymaps/tucznak/keymap.c116
-rw-r--r--keyboards/tanuki/keymaps/tucznak/readme.md8
-rw-r--r--keyboards/tanuki/keymaps/tucznak/rules.mk19
-rw-r--r--keyboards/teleport/native/config.h30
-rw-r--r--keyboards/teleport/native/info.json24
-rw-r--r--keyboards/teleport/native/native.c180
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h20
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c148
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk1
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h20
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c42
-rw-r--r--keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk1
-rw-r--r--keyboards/terrazzo/config.h36
-rw-r--r--keyboards/terrazzo/info.json4
-rw-r--r--keyboards/terrazzo/terrazzo.c2
-rw-r--r--keyboards/tgr/alice/keymaps/mrkeebs/keymap.c35
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/config.h6
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/info.json124
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c97
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk (renamed from keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk)0
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c85
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk2
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/readme.md32
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/rules.mk15
-rw-r--r--keyboards/themadnoodle/noodlepad/config.h6
-rw-r--r--keyboards/themadnoodle/noodlepad/info.json107
-rw-r--r--keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c93
-rw-r--r--keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk1
-rw-r--r--keyboards/themadnoodle/noodlepad/keymaps/via/keymap.c85
-rw-r--r--keyboards/themadnoodle/noodlepad/keymaps/via/rules.mk2
-rw-r--r--keyboards/themadnoodle/noodlepad/readme.md17
-rw-r--r--keyboards/themadnoodle/noodlepad/rules.mk17
-rw-r--r--keyboards/themadnoodle/noodlepad/v1/info.json25
-rw-r--r--keyboards/themadnoodle/noodlepad/v1/readme.md27
-rw-r--r--keyboards/themadnoodle/noodlepad/v1/rules.mk1
-rw-r--r--keyboards/themadnoodle/noodlepad/v2/info.json24
-rw-r--r--keyboards/themadnoodle/noodlepad/v2/readme.md27
-rw-r--r--keyboards/themadnoodle/noodlepad/v2/rules.mk1
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h24
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c69
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk33
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c22
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/readme.md35
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c89
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md66
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c103
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md61
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c42
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md53
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c72
-rw-r--r--keyboards/thevankeyboards/caravan/keymaps/default/config.h1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/config.h9
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c96
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/readme.md14
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/config.h21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c225
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/readme.md17
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/core/keymap.c26
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/core/readme.md18
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/config.h20
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c237
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/readme.md3
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/rules.mk3
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c201
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md95
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c200
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md92
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c242
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md135
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c291
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h52
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md198
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.c409
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h96
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.md364
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c209
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md127
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c251
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h60
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md134
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c203
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md95
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h49
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c1784
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h108
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md1252
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/rules.mk19
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/todo.md34
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_hebrew.h116
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c2671
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.h46
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_weurope.h290
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h751
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/king/keymap.c124
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/king/readme.md4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/king/rules.mk6
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/lexworth/config.h5
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c29
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/lexworth/readme.md7
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/lexworth/rules.mk5
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/via/keymap.json6
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c211
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md26
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk18
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c10
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md35
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk17
-rw-r--r--keyboards/tkc/california/config.h3
-rw-r--r--keyboards/tkc/california/info.json3
-rw-r--r--keyboards/tkc/portico/config.h33
-rw-r--r--keyboards/tkc/portico/info.json34
-rw-r--r--keyboards/tkc/portico68v2/config.h59
-rw-r--r--keyboards/tkc/portico68v2/info.json48
-rw-r--r--keyboards/tkc/portico68v2/portico68v2.c170
-rw-r--r--keyboards/tkc/portico75/config.h64
-rw-r--r--keyboards/tkc/portico75/info.json34
-rw-r--r--keyboards/tkc/portico75/portico75.c222
-rw-r--r--keyboards/tkc/tkl_ab87/config.h3
-rw-r--r--keyboards/tmo50/keymaps/olivia/keymap.c53
-rw-r--r--keyboards/tmo50/keymaps/pyrol/keymap.c68
-rw-r--r--keyboards/tmo50/keymaps/xerpocalypse/keymap.c56
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c47
-rw-r--r--keyboards/tominabox1/adalyn/rules.mk5
-rw-r--r--keyboards/tominabox1/le_chiffre/config.h6
-rw-r--r--keyboards/tominabox1/le_chiffre/info.json3
-rw-r--r--keyboards/torn/keymaps/kinesish/config.h21
-rw-r--r--keyboards/torn/keymaps/kinesish/keymap.c165
-rw-r--r--keyboards/torn/keymaps/kinesish/readme.md6
-rw-r--r--keyboards/torn/keymaps/kinesish/rules.mk2
-rw-r--r--keyboards/torn/mcp23018.c4
-rw-r--r--keyboards/touchpad/matrix.c2
-rw-r--r--keyboards/tr60w/keymaps/joule-flow/keymap.c21
-rw-r--r--keyboards/treasure/type9s3/config.h30
-rw-r--r--keyboards/treasure/type9s3/info.json25
-rw-r--r--keyboards/tunks/ergo33/keymaps/default/config.h2
-rw-r--r--keyboards/tunks/ergo33/keymaps/prpro/config.h28
-rw-r--r--keyboards/tunks/ergo33/keymaps/prpro/keymap.c164
-rw-r--r--keyboards/tunks/ergo33/keymaps/prpro/readme.md5
-rw-r--r--keyboards/tunks/ergo33/keymaps/prpro/rules.mk1
-rw-r--r--keyboards/tunks/ergo33/keymaps/rgb/config.h6
-rw-r--r--keyboards/tw40/keymaps/via/rules.mk2
-rw-r--r--keyboards/tw40/readme.md20
-rw-r--r--keyboards/tweetydabird/chameleon/config.h6
-rw-r--r--keyboards/tweetydabird/lotus58/config.h9
-rw-r--r--keyboards/tweetydabird/lotus58/info.json6
-rw-r--r--keyboards/tzarc/djinn/rev1/config.h3
-rw-r--r--keyboards/tzarc/djinn/rev1/info.json3
-rw-r--r--keyboards/tzarc/djinn/rev2/config.h3
-rw-r--r--keyboards/tzarc/djinn/rev2/info.json3
-rw-r--r--keyboards/tzarc/ghoul/config.h3
-rw-r--r--keyboards/uk78/keymaps/rask/README.md15
-rw-r--r--keyboards/uk78/keymaps/rask/keymap.c84
-rw-r--r--keyboards/ungodly/launch_pad/config.h63
-rw-r--r--keyboards/ungodly/launch_pad/info.json11
-rw-r--r--keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c270
-rw-r--r--keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk2
-rw-r--r--keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk1
-rw-r--r--keyboards/unison/keymaps/via/config.h4
-rw-r--r--keyboards/v60_type_r/info.json16
-rw-r--r--keyboards/v60_type_r/keymaps/followingghosts/config.h18
-rw-r--r--keyboards/v60_type_r/keymaps/followingghosts/keymap.c110
-rw-r--r--keyboards/v60_type_r/keymaps/followingghosts/readme.md61
-rw-r--r--keyboards/v60_type_r/keymaps/followingghosts/rules.mk4
-rw-r--r--keyboards/v60_type_r/keymaps/vimouse/config.h26
-rw-r--r--keyboards/v60_type_r/keymaps/vimouse/keymap.c112
-rw-r--r--keyboards/v60_type_r/keymaps/vimouse/readme.md0
-rw-r--r--keyboards/v60_type_r/keymaps/vimouse/rules.mk2
-rw-r--r--keyboards/v60_type_r/rules.mk2
-rw-r--r--keyboards/v60_type_r/v60_type_r.c14
-rw-r--r--keyboards/viendi8l/config.h2
-rw-r--r--keyboards/viendi8l/info.json5
-rw-r--r--keyboards/vitamins_included/keymaps/vitavim/config.h42
-rw-r--r--keyboards/vitamins_included/keymaps/vitavim/keymap.c106
-rw-r--r--keyboards/w1_at/config.h21
-rw-r--r--keyboards/w1_at/info.json569
-rw-r--r--keyboards/w1_at/keymaps/default/keymap.c49
-rw-r--r--keyboards/w1_at/keymaps/default/readme.md9
-rw-r--r--keyboards/w1_at/keymaps/via/readme.md9
-rw-r--r--keyboards/w1_at/keymaps/zq/keymap.c119
-rw-r--r--keyboards/w1_at/keymaps/zq/readme.md21
-rw-r--r--keyboards/w1_at/keymaps/zq/rules.mk1
-rw-r--r--keyboards/w1_at/readme.md32
-rw-r--r--keyboards/w1_at/rules.mk15
-rw-r--r--keyboards/w1_at/w1_at.c30
-rw-r--r--keyboards/waterfowl/keymaps/cyanduck/keymap.c129
-rw-r--r--keyboards/wavtype/p01_ultra/config.h2
-rw-r--r--keyboards/wekey/we27/config.h59
-rw-r--r--keyboards/wekey/we27/info.json9
-rw-r--r--keyboards/wilba_tech/wt60_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_a/wt60_a.c120
-rw-r--r--keyboards/wilba_tech/wt65_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt65_a/wt65_a.c120
-rw-r--r--keyboards/wilba_tech/wt65_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt65_b/wt65_b.c120
-rw-r--r--keyboards/wilba_tech/wt65_xt/keymaps/zunger/keymap.c640
-rw-r--r--keyboards/wilba_tech/wt65_xt/keymaps/zunger/readme.md9
-rw-r--r--keyboards/wilba_tech/wt65_xt/keymaps/zunger/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_a/wt75_a.c120
-rw-r--r--keyboards/wilba_tech/wt75_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_b/wt75_b.c120
-rw-r--r--keyboards/wilba_tech/wt75_c/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_c/wt75_c.c120
-rw-r--r--keyboards/wilba_tech/wt80_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt80_a/wt80_a.c120
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c112
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c90
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/README.md79
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/config.h45
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c48
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk6
-rw-r--r--keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c75
-rw-r--r--keyboards/winkeyless/bface/keymaps/kpeatt/readme.md10
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/README.md21
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/keymap.c188
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/rules.mk1
-rw-r--r--keyboards/winry/winry315/config.h76
-rw-r--r--keyboards/winry/winry315/info.json46
-rw-r--r--keyboards/wolf/m60_b/config.h84
-rw-r--r--keyboards/wolf/m60_b/info.json48
-rw-r--r--keyboards/wolf/m6_c/config.h10
-rw-r--r--keyboards/wolf/m6_c/info.json7
-rw-r--r--keyboards/wolf/ts60/config.h22
-rw-r--r--keyboards/wolf/ts60/info.json3
-rw-r--r--keyboards/work_louder/loop/config.h58
-rw-r--r--keyboards/work_louder/loop/info.json41
-rw-r--r--keyboards/work_louder/micro/config.h53
-rw-r--r--keyboards/work_louder/micro/info.json41
-rw-r--r--keyboards/work_louder/nano/config.h57
-rw-r--r--keyboards/work_louder/nano/info.json41
-rw-r--r--keyboards/work_louder/numpad/config.h53
-rw-r--r--keyboards/work_louder/numpad/info.json41
-rw-r--r--keyboards/work_louder/rgb_functions.c6
-rw-r--r--keyboards/work_louder/work_board/config.h58
-rw-r--r--keyboards/work_louder/work_board/info.json43
-rw-r--r--keyboards/wren/keymaps/walterhanley/config.h20
-rw-r--r--keyboards/wren/keymaps/walterhanley/keymap.c170
-rw-r--r--keyboards/wren/keymaps/walterhanley/readme.md12
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/ewersp/README.md40
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/ewersp/config.h19
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c215
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/ewersp/rules.mk1
-rw-r--r--keyboards/xbows/knight/config.h43
-rw-r--r--keyboards/xbows/knight/info.json24
-rw-r--r--keyboards/xbows/knight/knight.c2
-rw-r--r--keyboards/xbows/knight_plus/config.h43
-rw-r--r--keyboards/xbows/knight_plus/info.json24
-rw-r--r--keyboards/xbows/knight_plus/knight_plus.c2
-rw-r--r--keyboards/xbows/nature/config.h45
-rw-r--r--keyboards/xbows/nature/info.json24
-rw-r--r--keyboards/xbows/nature/nature.c2
-rw-r--r--keyboards/xbows/numpad/config.h36
-rw-r--r--keyboards/xbows/numpad/info.json24
-rw-r--r--keyboards/xbows/numpad/numpad.c2
-rw-r--r--keyboards/xbows/ranger/config.h43
-rw-r--r--keyboards/xbows/ranger/info.json24
-rw-r--r--keyboards/xbows/ranger/ranger.c2
-rw-r--r--keyboards/xbows/woody/config.h64
-rw-r--r--keyboards/xbows/woody/info.json36
-rw-r--r--keyboards/xbows/woody/woody.c2
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/config.h56
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/info.json46
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c12
-rwxr-xr-xkeyboards/xelus/la_plus/config.h53
-rw-r--r--keyboards/xelus/la_plus/info.json37
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/config.h55
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/info.json51
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/rev1.c238
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/config.h56
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/info.json49
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/rev2.c254
-rw-r--r--keyboards/xelus/valor/rev2/config.h57
-rw-r--r--keyboards/xelus/valor/rev2/info.json49
-rw-r--r--keyboards/xelus/xs60/hotswap/config.h2
-rw-r--r--keyboards/xelus/xs60/soldered/config.h2
-rw-r--r--keyboards/xiudi/xd004/keymaps/system_and_media/keymap.c59
-rw-r--r--keyboards/xiudi/xd004/keymaps/system_and_media/readme.md9
-rw-r--r--keyboards/xiudi/xd60/keymaps/Jos/README.md22
-rw-r--r--keyboards/xiudi/xd60/keymaps/Jos/config.h2
-rw-r--r--keyboards/xiudi/xd60/keymaps/Jos/keymap.c202
-rw-r--r--keyboards/xiudi/xd60/keymaps/Jos/rules.mk1
-rw-r--r--keyboards/xiudi/xd60/keymaps/birkir/keymap.c66
-rw-r--r--keyboards/xiudi/xd60/keymaps/birkir/readme.md45
-rw-r--r--keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c22
-rw-r--r--keyboards/xiudi/xd60/keymaps/edulpn64/readme.md9
-rw-r--r--keyboards/xiudi/xd60/keymaps/finnish/keymap.c25
-rw-r--r--keyboards/xiudi/xd60/keymaps/finnish/readme.md20
-rwxr-xr-xkeyboards/xiudi/xd60/keymaps/fvolpe83/config.h10
-rwxr-xr-xkeyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c78
-rwxr-xr-xkeyboards/xiudi/xd60/keymaps/fvolpe83/readme.md33
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/.gitignore1
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/config.h20
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/keymap.c165
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/passwd_template.h10
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/readme.md21
-rw-r--r--keyboards/xiudi/xd60/keymaps/petesmom/README.md26
-rw-r--r--keyboards/xiudi/xd60/keymaps/petesmom/keymap.c28
-rw-r--r--keyboards/xiudi/xd60/keymaps/rooski/instructions.txt2
-rw-r--r--keyboards/xiudi/xd60/keymaps/rooski/keymap.c57
-rw-r--r--keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c24
-rw-r--r--keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md13
-rw-r--r--keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c30
-rw-r--r--keyboards/xiudi/xd60/keymaps/styr/keymap.c56
-rw-r--r--keyboards/xiudi/xd60/keymaps/styr/readme.md7
-rw-r--r--keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c22
-rw-r--r--keyboards/xiudi/xd60/keymaps/supercoffee/readme.md9
-rw-r--r--keyboards/xiudi/xd60/keymaps/suryanisaac/README.md16
-rw-r--r--keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c29
-rw-r--r--keyboards/xiudi/xd60/keymaps/yuuki/README.md31
-rw-r--r--keyboards/xiudi/xd60/keymaps/yuuki/keymap.c28
-rwxr-xr-xkeyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c35
-rwxr-xr-xkeyboards/xiudi/xd87/keymaps/mac_underglow/readme.md13
-rwxr-xr-xkeyboards/xiudi/xd87/keymaps/mac_underglow/rules.mk3
-rw-r--r--keyboards/xiudi/xd96/keymaps/uuupah/keymap.c71
-rw-r--r--keyboards/xw60/keymaps/pingjunior/keymap.c30
-rw-r--r--keyboards/xw60/keymaps/pingjunior/readme.md44
-rw-r--r--keyboards/yampad/keymaps/traditional/keymap.c165
-rw-r--r--keyboards/yandrstudio/eau_r2/config.h14
-rw-r--r--keyboards/yandrstudio/eau_r2/info.json3
-rw-r--r--keyboards/yandrstudio/nightstar75/config.h16
-rw-r--r--keyboards/yandrstudio/nightstar75/info.json7
-rw-r--r--keyboards/yandrstudio/nz64/config.h78
-rw-r--r--keyboards/yandrstudio/nz64/info.json50
-rw-r--r--keyboards/yandrstudio/nz67v2/config.h66
-rw-r--r--keyboards/yandrstudio/nz67v2/info.json49
-rw-r--r--keyboards/yandrstudio/tg67/config.h69
-rw-r--r--keyboards/yandrstudio/tg67/info.json49
-rw-r--r--keyboards/yandrstudio/yr6095/config.h14
-rw-r--r--keyboards/yandrstudio/yr6095/info.json7
-rw-r--r--keyboards/yandrstudio/yr80/config.h16
-rw-r--r--keyboards/yandrstudio/yr80/info.json7
-rw-r--r--keyboards/yatara/drink_me/keymaps/caterpillar/keymap.c10
-rw-r--r--keyboards/yatara/drink_me/keymaps/caterpillar/readme.md9
-rw-r--r--keyboards/yatara/drink_me/keymaps/cheshire_cat/keymap.c10
-rw-r--r--keyboards/yatara/drink_me/keymaps/cheshire_cat/readme.md13
-rw-r--r--keyboards/yatara/drink_me/keymaps/dormouse/keymap.c10
-rw-r--r--keyboards/yatara/drink_me/keymaps/dormouse/readme.md11
-rw-r--r--keyboards/yatara/drink_me/keymaps/dormouse/rules.mk1
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/config.h1
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/keymap.c67
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/readme.md20
-rw-r--r--keyboards/yatara/drink_me/keymaps/queen/rules.mk2
-rw-r--r--keyboards/ydkb/grape/config.h2
-rw-r--r--keyboards/ydkb/grape/info.json3
-rw-r--r--keyboards/ydkb/just60/keymaps/thinxer/keymap.c50
-rw-r--r--keyboards/ydkb/just60/keymaps/thinxer/readme.md19
-rw-r--r--keyboards/ydkb/just60/keymaps/thinxer/rules.mk1
-rw-r--r--keyboards/yiancardesigns/barleycorn/matrix.c6
-rw-r--r--keyboards/yiancardesigns/gingham/gingham.c4
-rw-r--r--keyboards/yiancardesigns/gingham/matrix.c10
-rw-r--r--keyboards/yiancardesigns/seigaiha/matrix.c6
-rw-r--r--keyboards/yiancardesigns/seigaiha/seigaiha.c2
-rw-r--r--keyboards/ymdk/bface/keymaps/minila/keymap.c42
-rw-r--r--keyboards/ymdk/bface/keymaps/minila/readme.md11
-rw-r--r--keyboards/ymdk/id75/config.h7
-rw-r--r--keyboards/ymdk/id75/info.json3
-rw-r--r--keyboards/ymdk/melody96/hotswap/keymaps/zunger/config.h22
-rw-r--r--keyboards/ymdk/melody96/hotswap/keymaps/zunger/keymap.c489
-rw-r--r--keyboards/ymdk/melody96/hotswap/keymaps/zunger/readme.md78
-rw-r--r--keyboards/ymdk/melody96/hotswap/keymaps/zunger/rules.mk2
-rw-r--r--keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c38
-rw-r--r--keyboards/ymdk/sp64/keymaps/daed/keymap.c140
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/config.h5
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c149
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/readme.md7
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk1
-rw-r--r--keyboards/ymdk/sp64/keymaps/walston/keymap.c94
-rw-r--r--keyboards/ymdk/sp64/keymaps/walston/rules.mk1
-rw-r--r--keyboards/ymdk/sp64/matrix.c4
-rw-r--r--keyboards/ymdk/sp64/sp64.c6
-rw-r--r--keyboards/ymdk/sp64/sp64.h4
-rw-r--r--keyboards/ymdk/ymd09/config.h53
-rw-r--r--keyboards/ymdk/ymd09/info.json37
-rw-r--r--keyboards/ymdk/ymd09/keymaps/andys8/keymap.c65
-rw-r--r--keyboards/ymdk/ymd40/air40/config.h72
-rw-r--r--keyboards/ymdk/ymd40/air40/info.json49
-rw-r--r--keyboards/ymdk/ymd75/rev4/iso/config.h2
-rw-r--r--keyboards/ymdk/ymd75/rev4/iso/info.json3
-rw-r--r--keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md16
-rw-r--r--keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h36
-rw-r--r--keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c47
-rw-r--r--keyboards/ymdk/ymd96/keymaps/epx/keymap.c87
-rw-r--r--keyboards/ymdk/ymd96/keymaps/hgoel89/config.h8
-rw-r--r--keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c66
-rw-r--r--keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md2
-rw-r--r--keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk1
-rw-r--r--keyboards/yncognito/batpad/config.h76
-rw-r--r--keyboards/yncognito/batpad/info.json51
-rw-r--r--keyboards/yoichiro/lunakey_macro/config.h3
-rw-r--r--keyboards/yosino58/keymaps/default/config.h4
-rw-r--r--keyboards/yosino58/keymaps/sakura/config.h56
-rw-r--r--keyboards/yosino58/keymaps/sakura/keymap.c290
-rw-r--r--keyboards/yosino58/keymaps/sakura/rules.mk31
-rw-r--r--keyboards/yushakobo/quick17/config.h12
-rw-r--r--keyboards/yushakobo/quick17/info.json2
-rw-r--r--keyboards/yynmt/dozen0/keymaps/f12/keymap.c24
-rw-r--r--keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c118
-rw-r--r--keyboards/zfrontier/big_switch/keymaps/longtap/readme.md4
-rw-r--r--keyboards/zfrontier/big_switch/keymaps/longtap/rules.mk1
-rw-r--r--keyboards/zigotica/z12/config.h (renamed from keyboards/z12/config.h)0
-rw-r--r--keyboards/zigotica/z12/info.json (renamed from keyboards/z12/info.json)0
-rw-r--r--keyboards/zigotica/z12/keymaps/default/config.h (renamed from keyboards/z12/keymaps/default/config.h)0
-rw-r--r--keyboards/zigotica/z12/keymaps/default/keymap.c (renamed from keyboards/z12/keymaps/default/keymap.c)0
-rw-r--r--keyboards/zigotica/z12/keymaps/default/readme.md (renamed from keyboards/z12/keymaps/default/readme.md)0
-rw-r--r--keyboards/zigotica/z12/keymaps/default/rules.mk (renamed from keyboards/z12/keymaps/default/rules.mk)0
-rw-r--r--keyboards/zigotica/z12/readme.md (renamed from keyboards/z12/readme.md)0
-rw-r--r--keyboards/zigotica/z12/rules.mk (renamed from keyboards/z12/rules.mk)0
-rw-r--r--keyboards/zigotica/z34/config.h (renamed from keyboards/z34/config.h)0
-rw-r--r--keyboards/zigotica/z34/info.json (renamed from keyboards/z34/info.json)0
-rw-r--r--keyboards/zigotica/z34/keymaps/default/config.h (renamed from keyboards/z34/keymaps/default/config.h)0
-rw-r--r--keyboards/zigotica/z34/keymaps/default/keymap.c (renamed from keyboards/z34/keymaps/default/keymap.c)0
-rw-r--r--keyboards/zigotica/z34/keymaps/default/readme.md (renamed from keyboards/z34/keymaps/default/readme.md)0
-rw-r--r--keyboards/zigotica/z34/keymaps/default/rules.mk (renamed from keyboards/z34/keymaps/default/rules.mk)0
-rw-r--r--keyboards/zigotica/z34/readme.md (renamed from keyboards/z34/readme.md)0
-rw-r--r--keyboards/zigotica/z34/rules.mk (renamed from keyboards/z34/rules.mk)0
-rw-r--r--keyboards/zsa/moonlander/config.h87
-rw-r--r--keyboards/zsa/moonlander/halconf.h (renamed from keyboards/moonlander/halconf.h)0
-rw-r--r--keyboards/zsa/moonlander/info.json162
-rw-r--r--keyboards/zsa/moonlander/keymaps/default/config.h (renamed from keyboards/moonlander/keymaps/default/config.h)0
-rw-r--r--keyboards/zsa/moonlander/keymaps/default/keymap.c (renamed from keyboards/moonlander/keymaps/default/keymap.c)0
-rw-r--r--keyboards/zsa/moonlander/keymaps/via/keymap.c (renamed from keyboards/moonlander/keymaps/via/keymap.c)0
-rw-r--r--keyboards/zsa/moonlander/keymaps/via/readme.md (renamed from keyboards/moonlander/keymaps/via/readme.md)0
-rw-r--r--keyboards/zsa/moonlander/keymaps/via/rules.mk1
-rw-r--r--keyboards/zsa/moonlander/matrix.c233
-rw-r--r--keyboards/zsa/moonlander/mcuconf.h (renamed from keyboards/moonlander/mcuconf.h)0
-rw-r--r--keyboards/zsa/moonlander/moonlander.c469
-rw-r--r--keyboards/zsa/moonlander/moonlander.h (renamed from keyboards/moonlander/moonlander.h)0
-rw-r--r--keyboards/zsa/moonlander/readme.md58
-rw-r--r--keyboards/zsa/moonlander/rules.mk (renamed from keyboards/moonlander/rules.mk)0
-rw-r--r--keyboards/ztboards/after/keymaps/ellicose/keymap.c56
-rw-r--r--keyboards/ztboards/after/keymaps/phlop/keymap.c43
-rw-r--r--keyboards/zykrah/fuyu/config.h41
-rw-r--r--keyboards/zykrah/fuyu/info.json37
-rw-r--r--keyboards/zykrah/fuyu/keymaps/via/keymap.c2
-rw-r--r--layouts/default/ortho_5x13/default_ortho_5x13/keymap.c41
-rw-r--r--layouts/default/ortho_5x13/info.json80
-rw-r--r--layouts/default/ortho_5x13/layout.json5
-rw-r--r--layouts/default/ortho_5x13/readme.md3
-rw-r--r--layouts/default/ortho_5x14/default_ortho_5x14/keymap.c4
-rw-r--r--layouts/default/ortho_6x13/default_ortho_6x13/keymap.c46
-rw-r--r--layouts/default/ortho_6x13/info.json94
-rw-r--r--layouts/default/ortho_6x13/layout.json6
-rw-r--r--layouts/default/ortho_6x13/readme.md3
-rw-r--r--layouts/default/readme.md32
m---------lib/chibios-contrib0
-rw-r--r--lib/python/qmk/build_targets.py5
-rwxr-xr-xlib/python/qmk/cli/bux.py4
-rw-r--r--lib/python/qmk/cli/find.py4
-rwxr-xr-xlib/python/qmk/cli/format/json.py4
-rwxr-xr-xlib/python/qmk/cli/generate/compilation_database.py4
-rwxr-xr-xlib/python/qmk/cli/generate/config_h.py2
-rwxr-xr-xlib/python/qmk/cli/generate/keyboard_c.py25
-rw-r--r--lib/python/qmk/cli/git/submodule.py8
-rw-r--r--lib/python/qmk/cli/lint.py15
-rwxr-xr-xlib/python/qmk/cli/mass_compile.py6
-rw-r--r--lib/python/qmk/cli/migrate.py5
-rw-r--r--lib/python/qmk/info.py46
-rw-r--r--lib/python/qmk/painter_qgf.py304
-rw-r--r--lib/python/qmk/search.py111
-rw-r--r--platforms/arm_atsam/gpio.h24
-rw-r--r--platforms/avr/_print.h7
-rw-r--r--platforms/avr/drivers/audio_pwm_hardware.c4
-rw-r--r--platforms/avr/drivers/backlight_pwm.c6
-rw-r--r--platforms/avr/drivers/i2c_master.c39
-rw-r--r--platforms/avr/drivers/i2c_master.h22
-rw-r--r--platforms/avr/drivers/ps2/ps2_io.c20
-rw-r--r--platforms/avr/drivers/serial.c10
-rw-r--r--platforms/avr/drivers/spi_master.c16
-rw-r--r--platforms/avr/gpio.h22
-rw-r--r--platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/config.h28
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_G431XB/configs/hal_lld.h8
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_G431XB/configs/stm32_registry.h14
-rw-r--r--platforms/chibios/boards/QMK_BLOK/configs/config.h24
-rw-r--r--platforms/chibios/boards/QMK_PM2040/configs/config.h24
-rw-r--r--platforms/chibios/chibios_config.h14
-rw-r--r--platforms/chibios/converters/promicro_to_imera/_pin_defs.h36
-rw-r--r--platforms/chibios/converters/promicro_to_imera/converter.mk10
-rw-r--r--platforms/chibios/drivers/analog.c111
-rw-r--r--platforms/chibios/drivers/audio_dac.h34
-rw-r--r--platforms/chibios/drivers/audio_dac_additive.c48
-rw-r--r--platforms/chibios/drivers/audio_pwm_hardware.c8
-rw-r--r--platforms/chibios/drivers/i2c_master.c47
-rw-r--r--platforms/chibios/drivers/i2c_master.h18
-rw-r--r--platforms/chibios/drivers/serial.c12
-rw-r--r--platforms/chibios/drivers/spi_master.c14
-rw-r--r--platforms/chibios/drivers/uart.c70
-rw-r--r--platforms/chibios/drivers/uart.h194
-rw-r--r--platforms/chibios/drivers/uart_serial.c65
-rw-r--r--platforms/chibios/drivers/uart_sio.c77
-rw-r--r--platforms/chibios/drivers/ws2812_bitbang.c23
-rw-r--r--platforms/chibios/drivers/ws2812_pwm.c3
-rw-r--r--platforms/chibios/gpio.h34
-rw-r--r--platforms/chibios/platform.mk11
-rw-r--r--platforms/gpio.h19
-rw-r--r--quantum/action.c4
-rw-r--r--quantum/audio/audio.c37
-rw-r--r--quantum/audio/audio.h3
-rw-r--r--quantum/backlight/backlight.c21
-rw-r--r--quantum/backlight/backlight.h2
-rw-r--r--quantum/backlight/backlight_driver_common.c10
-rw-r--r--quantum/bootmagic/bootmagic.c79
-rw-r--r--quantum/bootmagic/bootmagic.h22
-rw-r--r--quantum/bootmagic/bootmagic_lite.c69
-rw-r--r--quantum/bootmagic/bootmagic_lite.h25
-rw-r--r--quantum/bootmagic/magic.c54
-rw-r--r--quantum/bootmagic/magic.h18
-rw-r--r--quantum/dip_switch.c61
-rw-r--r--quantum/dip_switch.h27
-rw-r--r--quantum/eeconfig.c2
-rw-r--r--quantum/encoder.c336
-rw-r--r--quantum/encoder.h99
-rw-r--r--quantum/encoder/tests/config_encoder_common.h6
-rw-r--r--quantum/encoder/tests/config_mock.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_left_eq_right.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_left_gt_right.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_left_lt_right.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_no_left.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_no_right.h3
-rw-r--r--quantum/encoder/tests/config_mock_split_role.h3
-rw-r--r--quantum/encoder/tests/encoder_tests.cpp2
-rw-r--r--quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp91
-rw-r--r--quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp89
-rw-r--r--quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp89
-rw-r--r--quantum/encoder/tests/encoder_tests_split_no_left.cpp69
-rw-r--r--quantum/encoder/tests/encoder_tests_split_no_right.cpp66
-rw-r--r--quantum/encoder/tests/encoder_tests_split_role.cpp8
-rw-r--r--quantum/encoder/tests/mock.c4
-rw-r--r--quantum/encoder/tests/mock.h8
-rw-r--r--quantum/encoder/tests/mock_split.c8
-rw-r--r--quantum/encoder/tests/mock_split.h11
-rw-r--r--quantum/encoder/tests/rules.mk7
-rw-r--r--quantum/haptic.c8
-rw-r--r--quantum/haptic.h16
-rw-r--r--quantum/joystick.c101
-rw-r--r--quantum/joystick.h30
-rw-r--r--quantum/keyboard.c72
-rw-r--r--quantum/keyboard.h13
-rw-r--r--quantum/keycode_config.c2
-rw-r--r--quantum/keymap_common.c12
-rw-r--r--quantum/keymap_extras/keymap_canadian_french.h122
-rw-r--r--quantum/keymap_extras/keymap_spanish_latin_america.h105
-rw-r--r--quantum/keymap_extras/sendstring_canadian_french.h120
-rw-r--r--quantum/keymap_extras/sendstring_spanish_latin_america.h120
-rw-r--r--quantum/keymap_introspection.c18
-rw-r--r--quantum/keymap_introspection.h12
-rw-r--r--quantum/led.c34
-rw-r--r--quantum/led_matrix/led_matrix.c43
-rw-r--r--quantum/led_matrix/led_matrix.h45
-rw-r--r--quantum/led_matrix/led_matrix_drivers.c44
-rw-r--r--quantum/led_matrix/led_matrix_drivers.h46
-rw-r--r--quantum/logging/debug.h120
-rw-r--r--quantum/logging/print.h36
-rw-r--r--quantum/matrix.c14
-rw-r--r--quantum/os_detection.c148
-rw-r--r--quantum/os_detection.h12
-rw-r--r--quantum/os_detection/tests/os_detection.cpp231
-rw-r--r--quantum/os_detection/tests/rules.mk4
-rw-r--r--quantum/painter/qp.h6
-rw-r--r--quantum/painter/qp_draw.h5
-rw-r--r--quantum/painter/qp_draw_codec.c40
-rw-r--r--quantum/painter/qp_draw_image.c29
-rw-r--r--quantum/painter/qp_draw_text.c11
-rw-r--r--quantum/painter/qp_internal.c1
-rw-r--r--quantum/painter/rules.mk12
-rw-r--r--quantum/pointing_device/pointing_device.c19
-rw-r--r--quantum/pointing_device/pointing_device_auto_mouse.c15
-rw-r--r--quantum/pointing_device/pointing_device_auto_mouse.h10
-rw-r--r--quantum/process_keycode/process_caps_word.c4
-rw-r--r--quantum/process_keycode/process_midi.c23
-rw-r--r--quantum/process_keycode/process_space_cadet.c6
-rw-r--r--quantum/process_keycode/process_space_cadet.h1
-rw-r--r--quantum/process_keycode/process_steno.c3
-rw-r--r--quantum/process_keycode/process_tap_dance.c6
-rw-r--r--quantum/process_keycode/process_tap_dance.h4
-rw-r--r--quantum/quantum.h9
-rw-r--r--quantum/quantum_keycodes.h4
-rw-r--r--quantum/rgb_matrix/animations/solid_reactive_anim.h2
-rw-r--r--quantum/rgb_matrix/rgb_matrix.c29
-rw-r--r--quantum/rgb_matrix/rgb_matrix.h40
-rw-r--r--quantum/rgb_matrix/rgb_matrix_drivers.c52
-rw-r--r--quantum/rgb_matrix/rgb_matrix_drivers.h49
-rw-r--r--quantum/rgblight/rgblight.c71
-rw-r--r--quantum/rgblight/rgblight.h9
-rw-r--r--quantum/rgblight/rgblight_drivers.c20
-rw-r--r--quantum/rgblight/rgblight_drivers.h13
-rw-r--r--quantum/send_string/send_string.c36
-rw-r--r--quantum/send_string/send_string.h14
-rw-r--r--quantum/split_common/split_util.c22
-rw-r--r--quantum/split_common/transaction_id_define.h1
-rw-r--r--quantum/split_common/transactions.c26
-rw-r--r--quantum/split_common/transport.c6
-rw-r--r--quantum/split_common/transport.h4
-rw-r--r--shell.nix44
-rw-r--r--tests/caps_word/test_caps_word.cpp6
-rw-r--r--tests/tap_dance/examples.c2
-rw-r--r--tmk_core/protocol/arm_atsam/shift_register.c24
-rw-r--r--tmk_core/protocol/arm_atsam/spi_master.c8
-rw-r--r--tmk_core/protocol/chibios/usb_main.c103
-rw-r--r--tmk_core/protocol/chibios/usb_main.h3
-rw-r--r--tmk_core/protocol/lufa/lufa.c46
-rw-r--r--tmk_core/protocol/usb_descriptor.c20
-rw-r--r--tmk_core/protocol/usb_descriptor.h14
-rw-r--r--tmk_core/protocol/usb_device_state.c9
-rw-r--r--tmk_core/protocol/usb_util.c4
-rw-r--r--tmk_core/protocol/vusb/protocol.c89
-rw-r--r--tmk_core/protocol/vusb/vusb.c17
-rw-r--r--tmk_core/protocol/vusb/vusb.h1
-rw-r--r--util/drivers.txt14
-rw-r--r--util/nix/poetry.lock970
-rw-r--r--util/nix/pyproject.toml24
-rw-r--r--util/nix/sources.json12
-rw-r--r--util/nix/sources.nix118
-rwxr-xr-xutil/uf2conv.py6
4972 files changed, 71622 insertions, 197611 deletions
diff --git a/Makefile b/Makefile
index ab30a17f58..78d1a372bc 100644
--- a/Makefile
+++ b/Makefile
@@ -337,24 +337,23 @@ define BUILD_TEST
endif
endef
+define LIST_TEST
+ include $(BUILDDEFS_PATH)/testlist.mk
+ FOUND_TESTS := $$(patsubst ./tests/%,%,$$(TEST_LIST))
+ $$(info $$(FOUND_TESTS))
+endef
+
define PARSE_TEST
TESTS :=
- # list of possible targets, colon-delimited, to reassign to MAKE_TARGET and remove
- TARGETS := :clean:
- ifneq (,$$(findstring :$$(lastword $$(subst :, ,$$(RULE))):, $$(TARGETS)))
- MAKE_TARGET := $$(lastword $$(subst :, ,$$(RULE)))
- TEST_SUBPATH := $$(subst $$(eval) ,/,$$(wordlist 2, $$(words $$(subst :, ,$$(RULE))), _ $$(subst :, ,$$(RULE))))
- else
- MAKE_TARGET :=
- TEST_SUBPATH := $$(subst :,/,$$(RULE))
- endif
+ TEST_NAME := $$(firstword $$(subst :, ,$$(RULE)))
+ TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE)))
include $(BUILDDEFS_PATH)/testlist.mk
- ifeq ($$(RULE),all)
+ ifeq ($$(TEST_NAME),all)
MATCHED_TESTS := $$(TEST_LIST)
else
- MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring /$$(TEST_SUBPATH)/, $$(patsubst %,%/,$$(TEST))), $$(TEST),))
+ MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring x$$(TEST_NAME)x, x$$(patsubst ./tests/%,%,$$(TEST)x)), $$(TEST),))
endif
- $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(MAKE_TARGET))))
+ $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET))))
endef
@@ -437,6 +436,10 @@ git-submodules: git-submodule
list-keyboards:
$(QMK_BIN) list-keyboards --no-resolve-defaults | tr '\n' ' '
+.PHONY: list-tests
+list-tests:
+ $(eval $(call LIST_TEST))
+
.PHONY: generate-keyboards-file
generate-keyboards-file:
$(QMK_BIN) list-keyboards --no-resolve-defaults
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index 60f1cbd837..7227a5558e 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -313,6 +313,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]'))
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight/rgblight.c
+ SRC += $(QUANTUM_DIR)/rgblight/rgblight_drivers.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
endif
@@ -339,7 +340,7 @@ LED_MATRIX_DRIVER := snled27351
endif
LED_MATRIX_ENABLE ?= no
-VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
+VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
@@ -361,71 +362,73 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3218-simple.c
+ SRC += is31fl3218-mono.c
+ endif
+
+ ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3729)
+ I2C_DRIVER_REQUIRED = yes
+ COMMON_VPATH += $(DRIVER_PATH)/led/issi
+ SRC += is31fl3729-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3731-simple.c
+ SRC += is31fl3731-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3733-simple.c
+ SRC += is31fl3733-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3736-simple.c
+ SRC += is31fl3736-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3737-simple.c
+ SRC += is31fl3737-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31fl3741-simple.c
+ SRC += is31fl3741-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3742a-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3743a-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3745-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3746a-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led
- SRC += snled27351-simple.c
+ SRC += snled27351-mono.c
endif
endif
@@ -440,7 +443,7 @@ endif
RGB_MATRIX_ENABLE ?= no
-VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
+VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
@@ -471,6 +474,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
SRC += is31fl3218.c
endif
+ ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3729)
+ I2C_DRIVER_REQUIRED = yes
+ COMMON_VPATH += $(DRIVER_PATH)/led/issi
+ SRC += is31fl3729.c
+ endif
+
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
@@ -502,31 +511,27 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3742a.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3743a.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3745.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a)
- OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
- SRC += is31flcommon.c
+ SRC += is31fl3746a.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351)
@@ -615,24 +620,9 @@ ifeq ($(strip $(VIA_ENABLE)), yes)
TRI_LAYER_ENABLE := yes
endif
-VALID_MAGIC_TYPES := yes
-BOOTMAGIC_ENABLE ?= no
-ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
- ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),)
- $(call CATASTROPHIC_ERROR,Invalid BOOTMAGIC_ENABLE,BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic)
- endif
- ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
- OPT_DEFS += -DBOOTMAGIC_LITE
- QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_lite.c
- endif
-endif
-COMMON_VPATH += $(QUANTUM_DIR)/bootmagic
-QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/magic.c
-
VALID_CUSTOM_MATRIX_TYPES:= yes lite no
CUSTOM_MATRIX ?= no
-
ifneq ($(strip $(CUSTOM_MATRIX)), yes)
ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid CUSTOM_MATRIX,CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type)
@@ -837,15 +827,12 @@ ifeq ($(strip $(JOYSTICK_ENABLE)), yes)
$(call CATASTROPHIC_ERROR,Invalid JOYSTICK_DRIVER,JOYSTICK_DRIVER="$(JOYSTICK_DRIVER)" is not a valid joystick driver)
endif
OPT_DEFS += -DJOYSTICK_ENABLE
+ OPT_DEFS += -DJOYSTICK_$(strip $(shell echo $(JOYSTICK_DRIVER) | tr '[:lower:]' '[:upper:]'))
SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c
SRC += $(QUANTUM_DIR)/joystick.c
ifeq ($(strip $(JOYSTICK_DRIVER)), analog)
ANALOG_DRIVER_REQUIRED = yes
- OPT_DEFS += -DANALOG_JOYSTICK_ENABLE
- endif
- ifeq ($(strip $(JOYSTICK_DRIVER)), digital)
- OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE
endif
endif
@@ -899,14 +886,35 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
endif
endif
+ENCODER_ENABLE ?= no
+ENCODER_DRIVER ?= quadrature
+VALID_ENCODER_DRIVER_TYPES := quadrature custom
ifeq ($(strip $(ENCODER_ENABLE)), yes)
+ ifeq ($(filter $(ENCODER_DRIVER),$(VALID_ENCODER_DRIVER_TYPES)),)
+ $(call CATASTROPHIC_ERROR,Invalid ENCODER_DRIVER,ENCODER_DRIVER="$(ENCODER_DRIVER)" is not a valid encoder driver)
+ endif
SRC += $(QUANTUM_DIR)/encoder.c
OPT_DEFS += -DENCODER_ENABLE
+ OPT_DEFS += -DENCODER_DRIVER_$(strip $(shell echo $(ENCODER_DRIVER) | tr '[:lower:]' '[:upper:]'))
+
+ COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/encoder
+ COMMON_VPATH += $(DRIVER_PATH)/encoder
+
+ ifneq ($(strip $(ENCODER_DRIVER)), custom)
+ SRC += encoder_$(strip $(ENCODER_DRIVER)).c
+ endif
+
ifeq ($(strip $(ENCODER_MAP_ENABLE)), yes)
OPT_DEFS += -DENCODER_MAP_ENABLE
endif
endif
+ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
+ ifeq ($(strip $(DIP_SWITCH_MAP_ENABLE)), yes)
+ OPT_DEFS += -DDIP_SWITCH_MAP_ENABLE
+ endif
+endif
+
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
WS2812_DRIVER ?= bitbang
@@ -952,6 +960,15 @@ ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes)
endif
ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes)
- OPT_DEFS += -DHAL_USE_SERIAL=TRUE
- QUANTUM_LIB_SRC += uart.c
+ ifeq ($(strip $(PLATFORM)), CHIBIOS)
+ ifneq ($(filter $(MCU_SERIES),RP2040),)
+ OPT_DEFS += -DHAL_USE_SIO=TRUE
+ QUANTUM_LIB_SRC += uart_sio.c
+ else
+ OPT_DEFS += -DHAL_USE_SERIAL=TRUE
+ QUANTUM_LIB_SRC += uart_serial.c
+ endif
+ else
+ QUANTUM_LIB_SRC += uart.c
+ endif
endif
diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk
index 9c86958625..dc34a64230 100644
--- a/builddefs/generic_features.mk
+++ b/builddefs/generic_features.mk
@@ -21,6 +21,7 @@ SPACE_CADET_ENABLE ?= yes
GENERIC_FEATURES = \
AUTO_SHIFT \
AUTOCORRECT \
+ BOOTMAGIC \
CAPS_WORD \
COMBO \
COMMAND \
diff --git a/data/constants/keycodes/extras/keycodes_canadian_french_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_canadian_french_0.0.1.hjson
new file mode 100644
index 0000000000..6fefd11f59
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_canadian_french_0.0.1.hjson
@@ -0,0 +1,407 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ 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 │ , │ . │ É │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "FR_HASH",
+ "label": "#",
+ }
+ "KC_1": {
+ "key": "FR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "FR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "FR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "FR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "FR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "FR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "FR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "FR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "FR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "FR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "FR_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "FR_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "FR_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "FR_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "FR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "FR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "FR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "FR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "FR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "FR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "FR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "FR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "FR_DCIR",
+ "label": "^ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "FR_CEDL",
+ "label": "¸ (dead)",
+ }
+ "KC_A": {
+ "key": "FR_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "FR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "FR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "FR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "FR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "FR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "FR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "FR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "FR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "FR_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "FR_DGRV",
+ "label": "` (dead)",
+ }
+ "KC_NUHS": {
+ "key": "FR_LABK",
+ "label": "<",
+ }
+ "KC_NUBS": {
+ "key": "FR_LDAQ",
+ "label": "«",
+ }
+ "KC_Z": {
+ "key": "FR_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "FR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "FR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "FR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "FR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "FR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "FR_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "FR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "FR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "FR_EACU",
+ "label": "É",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ | │ ! │ " │ / │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠│
+ * │ │ │ │ │ │ │ │ │ │ │ : │ │ > │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ » │ │ │ │ │ │ │ │ ' │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(FR_HASH)": {
+ "key": "FR_PIPE",
+ "label": "|",
+ }
+ "S(FR_1)": {
+ "key": "FR_EXLM",
+ "label": "!",
+ }
+ "S(FR_2)": {
+ "key": "FR_DQUO",
+ "label": "\"",
+ }
+ "S(FR_3)": {
+ "key": "FR_SLSH",
+ "label": "/",
+ }
+ "S(FR_4)": {
+ "key": "FR_DLR",
+ "label": "$",
+ }
+ "S(FR_5)": {
+ "key": "FR_PERC",
+ "label": "%",
+ }
+ "S(FR_6)": {
+ "key": "FR_QUES",
+ "label": "?",
+ }
+ "S(FR_7)": {
+ "key": "FR_AMPR",
+ "label": "&",
+ }
+ "S(FR_8)": {
+ "key": "FR_ASTR",
+ "label": "*",
+ }
+ "S(FR_9)": {
+ "key": "FR_LPRN",
+ "label": "(",
+ }
+ "S(FR_0)": {
+ "key": "FR_RPRN",
+ "label": ")",
+ }
+ "S(FR_MINS)": {
+ "key": "FR_UNDS",
+ "label": "_",
+ }
+ "S(FR_EQL)": {
+ "key": "FR_PLUS",
+ "label": "+",
+ }
+ "S(FR_CEDL)": {
+ "key": "FR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(FR_SCLN)": {
+ "key": "FR_COLN",
+ "label": ":",
+ }
+ "S(FR_LABK)": {
+ "key": "FR_RABK",
+ "label": ">",
+ }
+ "S(FR_LDAQ)": {
+ "key": "FR_RDAQ",
+ "label": "»",
+ }
+ "S(FR_COMM)": {
+ "key": "FR_QUOT",
+ "label": "'",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ \ │ ± │ @ │ £ │ ¢ │ ¤ │ ¬ │ ¦ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ § │ ¶ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠│
+ * │ │ │ │ │ │ │ │ │ │ │ ~ │ { │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ° │ │ │ │ │ │ │ µ │ ¯ │ - │ ´ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(FR_HASH)": {
+ "key": "FR_BSLS",
+ "label": "\\",
+ }
+ "ALGR(FR_1)": {
+ "key": "FR_PLMN",
+ "label": "±",
+ }
+ "ALGR(FR_2)": {
+ "key": "FR_AT",
+ "label": "@",
+ }
+ "ALGR(FR_3)": {
+ "key": "FR_PND",
+ "label": "£",
+ }
+ "ALGR(FR_4)": {
+ "key": "FR_CENT",
+ "label": "¢",
+ }
+ "ALGR(FR_5)": {
+ "key": "FR_CURR",
+ "label": "¤",
+ }
+ "ALGR(FR_6)": {
+ "key": "FR_NOT",
+ "label": "¬",
+ }
+ "ALGR(FR_7)": {
+ "key": "FR_BRKP",
+ "label": "¦",
+ }
+ "ALGR(FR_8)": {
+ "key": "FR_SUP2",
+ "label": "²",
+ }
+ "ALGR(FR_9)": {
+ "key": "FR_SUP3",
+ "label": "³",
+ }
+ "ALGR(FR_0)": {
+ "key": "FR_QRTR",
+ "label": "¼",
+ }
+ "ALGR(FR_MINS)": {
+ "key": "FR_HALF",
+ "label": "½",
+ }
+ "ALGR(FR_EQL)": {
+ "key": "FR_TQTR",
+ "label": "¾",
+ }
+ "ALGR(FR_O)": {
+ "key": "FR_SECT",
+ "label": "§",
+ }
+ "ALGR(FR_P)": {
+ "key": "FR_PARA",
+ "label": "¶",
+ }
+ "ALGR(FR_DCIR)": {
+ "key": "FR_LBRC",
+ "label": "[",
+ }
+ "ALGR(FR_CEDL)": {
+ "key": "FR_RBRC",
+ "label": "]",
+ }
+ "ALGR(FR_SCLN)": {
+ "key": "FR_TILD",
+ "label": "~",
+ }
+ "ALGR(FR_DGRV)": {
+ "key": "FR_LCBR",
+ "label": "{",
+ }
+ "ALGR(FR_LABK)": {
+ "key": "FR_RCBR",
+ "label": "}",
+ }
+ "ALGR(FR_LDAQ)": {
+ "key": "FR_DEG",
+ "label": "°",
+ }
+ "ALGR(FR_M)": {
+ "key": "FR_MICR",
+ "label": "µ",
+ }
+ "ALGR(FR_COMM)": {
+ "key": "FR_MACR",
+ "label": "¯",
+ }
+ "ALGR(FR_DOT)": {
+ "key": "FR_SHYP",
+ "label": "­ (soft hyphen)",
+ }
+ "ALGR(FR_EACU)": {
+ "key": "FR_ACUT",
+ "label": "´ (dead)",
+ }
+ }
+}
diff --git a/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson
new file mode 100644
index 0000000000..50c49274be
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson
@@ -0,0 +1,339 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¿ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ 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 │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "ES_PIPE",
+ "label": "|",
+ }
+ "KC_1": {
+ "key": "ES_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "ES_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "ES_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "ES_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "ES_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "ES_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "ES_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "ES_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "ES_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "ES_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "ES_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "ES_IQUE",
+ "label": "¿",
+ }
+ "KC_Q": {
+ "key": "ES_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "ES_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "ES_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "ES_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "ES_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "ES_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "ES_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "ES_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "ES_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "ES_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "ES_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "ES_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "ES_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "ES_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "ES_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "ES_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "ES_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "ES_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "ES_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "ES_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "ES_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "ES_NTIL",
+ "label": "Ñ",
+ }
+ "KC_QUOT": {
+ "key": "ES_LCBR",
+ "label": "{",
+ }
+ "KC_NUHS": {
+ "key": "ES_RCBR",
+ "label": "}",
+ }
+ "KC_NUBS": {
+ "key": "ES_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "ES_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "ES_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "ES_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "ES_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "ES_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "ES_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "ES_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "ES_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "ES_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "ES_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ ° │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¡ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠│
+ * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ES_PIPE)": {
+ "key": "ES_MORD",
+ "label": "°",
+ }
+ "S(ES_1)": {
+ "key": "ES_EXLM",
+ "label": "!",
+ }
+ "S(ES_2)": {
+ "key": "ES_DQUO",
+ "label": "\"",
+ }
+ "S(ES_3)": {
+ "key": "ES_NUMB",
+ "label": "#",
+ }
+ "S(ES_4)": {
+ "key": "ES_DLR",
+ "label": "$",
+ }
+ "S(ES_5)": {
+ "key": "ES_PERC",
+ "label": "%",
+ }
+ "S(ES_6)": {
+ "key": "ES_AMPR",
+ "label": "&",
+ }
+ "S(ES_7)": {
+ "key": "ES_SLSH",
+ "label": "/",
+ }
+ "S(ES_8)": {
+ "key": "ES_LPRN",
+ "label": "(",
+ }
+ "S(ES_9)": {
+ "key": "ES_RPRN",
+ "label": ")",
+ }
+ "S(ES_0)": {
+ "key": "ES_EQL",
+ "label": "=",
+ }
+ "S(ES_QUOT)": {
+ "key": "ES_QUES",
+ "label": "?",
+ }
+ "S(ES_IQUE)": {
+ "key": "ES_IEXL",
+ "label": "¡",
+ }
+ "S(ES_ACUT)": {
+ "key": "ES_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(ES_PLUS)": {
+ "key": "ES_ASTR",
+ "label": "*",
+ }
+ "S(ES_LCBR)": {
+ "key": "ES_LBRC",
+ "label": "[",
+ }
+ "S(ES_RCBR)": {
+ "key": "ES_RBRC",
+ "label": "]",
+ }
+ "S(ES_LABK)": {
+ "key": "ES_RABK",
+ "label": ">",
+ }
+ "S(ES_COMM)": {
+ "key": "ES_SCLN",
+ "label": ";",
+ }
+ "S(ES_DOT)": {
+ "key": "ES_COLN",
+ "label": ":",
+ }
+ "S(ES_MINS)": {
+ "key": "ES_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ ¬ │ │ │ │ │ │ │ │ │ │ │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ @ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠│
+ * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(ES_PIPE)": {
+ "key": "ES_NOT",
+ "label": "¬",
+ }
+ "ALGR(ES_QUOT)": {
+ "key": "ES_BSLS",
+ "label": "\\",
+ }
+ "ALGR(ES_Q)": {
+ "key": "ES_AT",
+ "label": "@",
+ }
+ "ALGR(ES_PLUS)": {
+ "key": "ES_TILD",
+ "label": "~",
+ }
+ "ALGR(ES_LCBR)": {
+ "key": "ES_CIRC",
+ "label": "^",
+ }
+ }
+} \ No newline at end of file
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 4a9f06c0da..71902c92d6 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -45,6 +45,11 @@
"bootloader": "rp2040",
"processor": "RP2040"
},
+ "imera": {
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "board": "QMK_PM2040"
+ },
"kb2040": {
"board": "QMK_PM2040",
"bootloader": "rp2040",
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index 26b437b513..e2e9569372 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -3,7 +3,7 @@
{
// Format:
// <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
- // value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
+ // value_type: one of "array", "array.int", "bool, "flag", "int", "hex", "list", "mapping", "str", "raw"
// to_json: Default `true`. Set to `false` to exclude this mapping from info.json
// to_c: Default `true`. Set to `false` to exclude this mapping from config.h
// warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
@@ -17,12 +17,14 @@
"APA102_DI_PIN": {"info_key": "apa102.data_pin"},
// Audio
- "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
- "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
+ "AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"},
+ "AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"},
+ "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"},
+ "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "flag"},
// Backlight
- "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
- "BACKLIGHT_CAPS_LOCK": {"info_key": "backlight.as_caps_lock", "value_type": "bool"},
+ "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "flag"},
+ "BACKLIGHT_CAPS_LOCK": {"info_key": "backlight.as_caps_lock", "value_type": "flag"},
"BACKLIGHT_LEVELS": {"info_key": "backlight.levels", "value_type": "int"},
"BACKLIGHT_LIMIT_VAL": {"info_key": "backlight.max_brightness", "value_type": "int"},
"BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
@@ -34,16 +36,16 @@
"BACKLIGHT_DEFAULT_LEVEL": {"info_key": "backlight.default.brightness", "value_type": "int"},
// Bootmagic
- "BOOTMAGIC_LITE_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"},
- "BOOTMAGIC_LITE_COLUMN_RIGHT": {"info_key": "split.bootmagic.matrix.1", "value_type": "int"},
- "BOOTMAGIC_LITE_ROW": {"info_key": "bootmagic.matrix.0", "value_type": "int"},
- "BOOTMAGIC_LITE_ROW_RIGHT": {"info_key": "split.bootmagic.matrix.0", "value_type": "int"},
+ "BOOTMAGIC_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"},
+ "BOOTMAGIC_COLUMN_RIGHT": {"info_key": "split.bootmagic.matrix.1", "value_type": "int"},
+ "BOOTMAGIC_ROW": {"info_key": "bootmagic.matrix.0", "value_type": "int"},
+ "BOOTMAGIC_ROW_RIGHT": {"info_key": "split.bootmagic.matrix.0", "value_type": "int"},
// Caps Word
- "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
+ "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "flag"},
"CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
- "CAPS_WORD_INVERT_ON_SHIFT": {"info_key": "caps_word.invert_on_shift", "value_type": "bool"},
- "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
+ "CAPS_WORD_INVERT_ON_SHIFT": {"info_key": "caps_word.invert_on_shift", "value_type": "flag"},
+ "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "flag"},
// Combos
"COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
@@ -69,17 +71,17 @@
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
// Leader Key
- "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
- "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
+ "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "flag"},
+ "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "flag"},
"LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
// LED Matrix
- "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "led_matrix.sleep", "value_type": "bool"},
"LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
- "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "bool"},
+ "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "flag"},
"LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"},
"LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false},
"LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
+ "LED_MATRIX_SLEEP": {"info_key": "led_matrix.sleep", "value_type": "flag"},
"LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
"LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
"LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
@@ -90,8 +92,8 @@
"LED_MATRIX_DEFAULT_SPD": {"info_key": "led_matrix.default.speed", "value_type": "int"},
// Locking Switch
- "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "bool"},
- "LOCKING_RESYNC_ENABLE": {"info_key": "qmk.locking.resync", "value_type": "bool"},
+ "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "flag"},
+ "LOCKING_RESYNC_ENABLE": {"info_key": "qmk.locking.resync", "value_type": "flag"},
// LUFA Bootloader
"QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
@@ -102,7 +104,7 @@
// Matrix
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
- "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
+ "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "flag"},
"MATRIX_INPUT_PRESSED_STATE": {"info_key": "matrix_pins.input_pressed_state", "value_type": "int"},
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
@@ -122,14 +124,14 @@
"PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
// RGB Matrix
- "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "rgb_matrix.sleep", "value_type": "bool"},
"RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
"RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
- "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "bool"},
+ "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "flag"},
"RGB_MATRIX_LED_FLUSH_LIMIT": {"info_key": "rgb_matrix.led_flush_limit", "value_type": "int"},
"RGB_MATRIX_LED_PROCESS_LIMIT": {"info_key": "rgb_matrix.led_process_limit", "value_type": "int", "to_json": false},
"RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
"RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
+ "RGB_MATRIX_SLEEP": {"info_key": "rgb_matrix.sleep", "value_type": "flag"},
"RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},
"RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
"RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
@@ -142,25 +144,25 @@
"RGB_MATRIX_DEFAULT_SPD": {"info_key": "rgb_matrix.default.speed", "value_type": "int"},
// RGBLight
- "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
"RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
"RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
- "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
- "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
- "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
+ "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "flag"},
+ "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "flag"},
+ "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "flag"},
+ "RGBLIGHT_LED_COUNT": {"info_key": "rgblight.led_count", "value_type": "int"},
"RGBLIGHT_LED_MAP": {"info_key": "rgblight.led_map", "value_type": "array.int"},
"RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
"RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
"RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
- "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
- "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
+ "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "flag"},
+ "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "flag"},
"RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
"RGBLIGHT_DEFAULT_ON": {"info_key": "rgblight.default.on", "value_type": "bool"},
"RGBLIGHT_DEFAULT_HUE": {"info_key": "rgblight.default.hue", "value_type": "int"},
"RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"},
"RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"},
"RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"},
- "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
+ "RGBW": {"info_key": "rgblight.rgbw", "value_type": "flag"},
// Secure
"SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
@@ -172,37 +174,37 @@
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false},
"SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"},
- "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
+ "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "flag"},
"SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
"SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
- "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"},
+ "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "flag"},
"SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"},
- "SPLIT_ACTIVITY_ENABLE": {"info_key": "split.transport.sync.activity", "value_type": "bool"},
- "SPLIT_DETECTED_OS_ENABLE": {"info_key": "split.transport.sync.detected_os", "value_type": "bool"},
- "SPLIT_HAPTIC_ENABLE": {"info_key": "split.transport.sync.haptic", "value_type": "bool"},
- "SPLIT_LAYER_STATE_ENABLE": {"info_key": "split.transport.sync.layer_state", "value_type": "bool"},
- "SPLIT_LED_STATE_ENABLE": {"info_key": "split.transport.sync.indicators", "value_type": "bool"},
- "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync.matrix_state", "value_type": "bool"},
- "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync.modifiers", "value_type": "bool"},
- "SPLIT_OLED_ENABLE": {"info_key": "split.transport.sync.oled", "value_type": "bool"},
- "SPLIT_ST7565_ENABLE": {"info_key": "split.transport.sync.st7565", "value_type": "bool"},
- "SPLIT_WPM_ENABLE": {"info_key": "split.transport.sync.wpm", "value_type": "bool"},
+ "SPLIT_ACTIVITY_ENABLE": {"info_key": "split.transport.sync.activity", "value_type": "flag"},
+ "SPLIT_DETECTED_OS_ENABLE": {"info_key": "split.transport.sync.detected_os", "value_type": "flag"},
+ "SPLIT_HAPTIC_ENABLE": {"info_key": "split.transport.sync.haptic", "value_type": "flag"},
+ "SPLIT_LAYER_STATE_ENABLE": {"info_key": "split.transport.sync.layer_state", "value_type": "flag"},
+ "SPLIT_LED_STATE_ENABLE": {"info_key": "split.transport.sync.indicators", "value_type": "flag"},
+ "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync.matrix_state", "value_type": "flag"},
+ "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync.modifiers", "value_type": "flag"},
+ "SPLIT_OLED_ENABLE": {"info_key": "split.transport.sync.oled", "value_type": "flag"},
+ "SPLIT_ST7565_ENABLE": {"info_key": "split.transport.sync.st7565", "value_type": "flag"},
+ "SPLIT_WPM_ENABLE": {"info_key": "split.transport.sync.wpm", "value_type": "flag"},
// Tapping
- "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
- "HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
- "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
- "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
- "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
- "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
+ "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "flag"},
+ "HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "flag"},
+ "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "flag"},
+ "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "flag"},
+ "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "flag"},
+ "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "flag"},
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
- "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
+ "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "flag"},
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
// USB
- "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
+ "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag"},
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
@@ -217,16 +219,18 @@
// Items we want flagged in lint
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
"DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
- "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_invalid.ignore_mod_tap_interrupt", "value_type": "bool", "invalid": true},
- "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true}
+ "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_invalid.ignore_mod_tap_interrupt", "value_type": "flag", "invalid": true},
+ "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true},
+ "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.led_matrix_sleep", "invalid": true, "replace_with": "LED_MATRIX_SLEEP"},
"NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
"NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
"RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"},
- "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true},
- "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true},
- "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true},
+ "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.rgb_matrix_sleep", "invalid": true, "replace_with": "RGB_MATRIX_SLEEP"},
+ "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "flag", "invalid": true},
+ "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "flag", "deprecated": true},
+ "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "flag", "deprecated": true},
"UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
"COMBO_COUNT": {"info_key": "_invalid.combo.count", "invalid": true},
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
index 02fc2bee9d..fc25eb3328 100644
--- a/data/mappings/info_rules.hjson
+++ b/data/mappings/info_rules.hjson
@@ -21,6 +21,7 @@
"DEBOUNCE_TYPE": {"info_key": "build.debounce_type"},
"EEPROM_DRIVER": {"info_key": "eeprom.driver"},
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
+ "ENCODER_DRIVER": {"info_key": "encoder.driver"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index 90f32ee6ac..29a7a719f3 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -185,6 +185,12 @@
"eek": {
"target": "eek/silk_down"
},
+ "epoch80": {
+ "target": "kbdfans/epoch80"
+ },
+ "era/klein": {
+ "target": "era/sirind/klein_sd"
+ },
"ergodone": {
"target": "ktec/ergodone"
},
@@ -284,6 +290,12 @@
"honeycomb": {
"target": "keyhive/honeycomb"
},
+ "hub16": {
+ "target": "joshajohnson/hub16"
+ },
+ "hub20": {
+ "target": "joshajohnson/hub20"
+ },
"idb_60": {
"target": "idb/idb_60"
},
@@ -302,6 +314,9 @@
"jj50": {
"target": "kprepublic/jj50"
},
+ "jm60": {
+ "target": "kbdfans/jm60"
+ },
"jones": {
"target": "jones/v03_1"
},
@@ -326,12 +341,48 @@
"keycapsss/plaid_pad": {
"target": "keycapsss/plaid_pad/rev1"
},
+ "kira75": {
+ "target": "kira/kira75"
+ },
+ "kira80": {
+ "target": "kira/kira80"
+ },
"kudox": {
- "target": "kudox/rev1"
+ "target": "kumaokobo/kudox/rev1"
+ },
+ "kudox/columner": {
+ "target": "kumaokobo/kudox/columner"
+ },
+ "kudox/rev1": {
+ "target": "kumaokobo/kudox/rev1"
+ },
+ "kudox/rev2": {
+ "target": "kumaokobo/kudox/rev2"
+ },
+ "kudox/rev3": {
+ "target": "kumaokobo/kudox/rev3"
+ },
+ "kudox_full": {
+ "target": "kumaokobo/kudox_full/rev1"
+ },
+ "kudox_full/rev1": {
+ "target": "kumaokobo/kudox_full/rev1"
+ },
+ "kudox_game": {
+ "target": "kumaokobo/kudox_game/rev1"
+ },
+ "kudox_game/rev1": {
+ "target": "kumaokobo/kudox_game/rev1"
+ },
+ "kudox_game/rev2": {
+ "target": "kumaokobo/kudox_game/rev2"
},
"kyria": {
"target": "splitkb/kyria"
},
+ "laser_ninja/pumpkin_pad": {
+ "target": "laser_ninja/pumpkinpad"
+ },
"lattice60": {
"target": "keyhive/lattice60"
},
@@ -446,6 +497,15 @@
"minim": {
"target": "matthewdias/minim"
},
+ "mnk1800s": {
+ "target": "monokei/mnk1800s"
+ },
+ "mnk50": {
+ "target": "monokei/mnk50"
+ },
+ "mnk75": {
+ "target": "monokei/mnk75"
+ },
"model01": {
"target": "keyboardio/model01"
},
@@ -458,6 +518,9 @@
"montsinger/rebound": {
"target": "montsinger/rebound/rev1"
},
+ "moonlander": {
+ "target": "zsa/moonlander"
+ },
"mschwingen/modelm": {
"target": "ibm/model_m/mschwingen"
},
@@ -485,6 +548,15 @@
"peiorisboards/ixora": {
"target": "coarse/ixora"
},
+ "pico": {
+ "target": "kumaokobo/pico/65keys"
+ },
+ "pico/65keys": {
+ "target": "kumaokobo/pico/65keys"
+ },
+ "pico/70keys": {
+ "target": "kumaokobo/pico/70keys"
+ },
"plaid": {
"target": "dm9records/plaid"
},
@@ -530,6 +602,9 @@
"ramonimbao/mona": {
"target": "rmi_kb/mona/v1"
},
+ "redox_w": {
+ "target": "redox/wireless"
+ },
"rgbkb/pan": {
"target": "rgbkb/pan/rev1/32a"
},
@@ -798,6 +873,12 @@
"eggman": {
"target": "qpockets/eggman"
},
+ "enter67": {
+ "target": "kezewa/enter67"
+ },
+ "enter80": {
+ "target": "kezewa/enter80"
+ },
"ergo42": {
"target": "biacco42/ergo42"
},
@@ -819,9 +900,15 @@
"espectro": {
"target": "mechkeys/espectro"
},
+ "eu_isolation": {
+ "target": "p3d/eu_isolation"
+ },
"felix": {
"target": "unikeyboard/felix"
},
+ "flygone60/rev3": {
+ "target": "shandoncodes/flygone60/rev3"
+ },
"four_banger": {
"target": "bpiphany/four_banger"
},
@@ -915,6 +1002,12 @@
"keychron/q4": {
"target": "keychron/q4/ansi/v1"
}
+ "kmac": {
+ "target": "kbdmania/kmac"
+ }
+ "kmac_pad": {
+ "target": "kbdmania/kmac_pad"
+ }
"kprepublic/bm40hsrgb": {
"target": "kprepublic/bm40hsrgb/rev1"
},
@@ -924,6 +1017,9 @@
"kprepublic/bm68hsrgb": {
"target": "kprepublic/bm68hsrgb/rev1"
},
+ "late9/rev1": {
+ "target": "rookiebwoy/late9/rev1"
+ },
"latin17rgb": {
"target": "latincompass/latin17rgb"
},
@@ -948,6 +1044,12 @@
"launchpad/rev1": {
"target": "maple_computing/launchpad/rev1"
},
+ "lefty": {
+ "target": "smoll/lefty/rev2"
+ },
+ "lefty/rev1": {
+ "target": "smoll/lefty/rev1"
+ },
"lck75": {
"target": "lyso1/lck75"
},
@@ -963,9 +1065,21 @@
"ls_60": {
"target": "weirdo/ls_60"
},
+ "lpad": {
+ "target": "laneware/lpad"
+ },
+ "lw67": {
+ "target": "laneware/lw67"
+ },
+ "lw75": {
+ "target": "laneware/lw75"
+ },
"m3n3van": {
"target": "matthewdias/m3n3van"
},
+ "macro1": {
+ "target": "laneware/macro1"
+ },
"massdrop/thekey": {
"target": "drop/thekey/v1"
},
@@ -990,9 +1104,21 @@
"melody96": {
"target": "ymdk/melody96"
},
+ "miniaxe": {
+ "target": "kagizaraya/miniaxe"
+ },
"minidox/rev1": {
"target": "maple_computing/minidox/rev1"
},
+ "mino/hotswap": {
+ "target": "shandoncodes/mino/hotswap"
+ },
+ "mino_plus/hotswap": {
+ "target": "shandoncodes/mino_plus/hotswap"
+ },
+ "mino_plus/soldered": {
+ "target": "shandoncodes/mino_plus/soldered"
+ },
"mio": {
"target": "recompile_keys/mio"
},
@@ -1047,6 +1173,9 @@
"nebula68b": {
"target": "spaceholdings/nebula68b"
},
+ "neopad/rev1": {
+ "target": "rookiebwoy/neopad/rev1"
+ },
"niu_mini": {
"target": "kbdfans/niu_mini"
},
@@ -1101,6 +1230,12 @@
"pursuit40": {
"target": "checkerboards/pursuit40"
},
+ "pw88": {
+ "target": "smoll/pw88"
+ },
+ "q4z": {
+ "target": "p3d/q4z"
+ },
"qaz": {
"target": "tominabox1/qaz"
},
@@ -1110,6 +1245,9 @@
"rabbit_capture_plan": {
"target": "kakunpc/rabbit_capture_plan"
},
+ "raindrop": {
+ "target": "laneware/raindrop"
+ },
"ramonimbao/aelith": {
"target": "rmi_kb/aelith"
},
@@ -1176,6 +1314,9 @@
"reviung61": {
"target": "reviung/reviung61"
},
+ "riot_pad": {
+ "target": "shandoncodes/riot_pad"
+ },
"runner3680/3x6": {
"target": "omkbd/runner3680/3x6"
},
@@ -1230,6 +1371,9 @@
"space_space/rev2": {
"target": "qpockets/space_space/rev2"
},
+ "spacey": {
+ "target": "p3d/spacey"
+ },
"spiderisland/winry25tc": {
"target": "winry/winry25tc"
},
@@ -1260,6 +1404,9 @@
"suihankey/split": {
"target": "kakunpc/suihankey/split"
},
+ "synapse": {
+ "target": "p3d/synapse"
+ },
"the_ruler": {
"target": "maple_computing/the_ruler"
},
@@ -1281,6 +1428,9 @@
"tronguylabs/m122_3270": {
"target": "ibm/model_m_122/m122_3270/teensy"
},
+ "tw40": {
+ "target": "p3d/tw40"
+ },
"ua62": {
"target": "nacly/ua62"
},
@@ -1299,6 +1449,9 @@
"vn66": {
"target": "hnahkb/vn66"
},
+ "w1_at": {
+ "target": "geonworks/w1_at"
+ },
"wallaby": {
"target": "kkatano/wallaby"
},
@@ -1347,6 +1500,12 @@
"yurei": {
"target": "kkatano/yurei"
},
+ "z12": {
+ "target": "zigotica/z12"
+ },
+ "z34": {
+ "target": "zigotica/z34"
+ },
"zinc": {
"target": "25keys/zinc"
},
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 2996958084..340eb64ba1 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -6,6 +6,10 @@
"encoder_config": {
"type": "object",
"properties": {
+ "driver": {
+ "type": "string",
+ "enum": ["custom", "quadrature"]
+ },
"rotary": {
"type": "array",
"items": {
@@ -24,14 +28,12 @@
"dip_switch_config": {
"type": "object",
"properties": {
- "pins": {
- "$ref": "qmk.definitions.v1#/mcu_pin_array"
- }
+ "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
}
- },
+ }
},
"type": "object",
- "not": { "required": [ "vendorId", "productId" ] }, // reject via keys...
+ "not": {"required": ["vendorId", "productId"]}, // reject via keys...
"properties": {
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
@@ -43,7 +45,7 @@
},
"development_board": {
"type": "string",
- "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris"]
+ "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"]
},
"pin_compatible": {
"type": "string",
@@ -123,6 +125,14 @@
"type": "object",
"additionalProperties": false,
"properties": {
+ "default": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "on": {"type": "boolean"},
+ "clicky": {"type": "boolean"}
+ }
+ },
"macro_beep": {"type": "boolean"},
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"voices": {"type": "boolean"}
@@ -134,7 +144,7 @@
"properties": {
"driver": {
"type": "string",
- "enum": ["pwm", "software", "timer", "custom"]
+ "enum": ["custom", "pwm", "software", "timer"]
},
"default": {
"type": "object",
@@ -306,8 +316,8 @@
},
"features": {
"$ref": "qmk.definitions.v1#/boolean_array",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
-
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "not": {"required": ["lto"]}
},
"indicators": {
"type": "object",
@@ -332,15 +342,9 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "filename": {
- "type": "string"
- },
- "c_macro": {
- "type": "boolean"
- },
- "json_layout": {
- "type": "boolean"
- },
+ "filename": {"type": "string"},
+ "c_macro": {"type": "boolean"},
+ "json_layout": {"type": "boolean"},
"layout": {
"type": "array",
"items": {
@@ -423,10 +427,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"default": {
"type": "object",
@@ -438,7 +440,24 @@
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
- "driver": {"type": "string"},
+ "driver": {
+ "type": "string",
+ "enum": [
+ "custom",
+ "is31fl3218",
+ "is31fl3729",
+ "is31fl3731",
+ "is31fl3733",
+ "is31fl3736",
+ "is31fl3737",
+ "is31fl3741",
+ "is31fl3742a",
+ "is31fl3743a",
+ "is31fl3745",
+ "is31fl3746a",
+ "snled27351"
+ ]
+ },
"center_point": {
"type": "array",
"minItems": 2,
@@ -487,10 +506,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"default": {
"type": "object",
@@ -504,7 +521,26 @@
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
- "driver": {"type": "string"},
+ "driver": {
+ "type": "string",
+ "enum": [
+ "aw20216s",
+ "custom",
+ "is31fl3218",
+ "is31fl3729",
+ "is31fl3731",
+ "is31fl3733",
+ "is31fl3736",
+ "is31fl3737",
+ "is31fl3741",
+ "is31fl3742a",
+ "is31fl3743a",
+ "is31fl3745",
+ "is31fl3746a",
+ "snled27351",
+ "ws2812"
+ ]
+ },
"center_point": {
"type": "array",
"minItems": 2,
@@ -556,10 +592,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"default": {
@@ -762,7 +796,7 @@
"st7565": {"type": "boolean"},
"wpm": {"type": "boolean"}
}
- }
+ },
"watchdog": {"type": "boolean"},
"watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sync_matrix_state": {
diff --git a/docs/ChangeLog/20240225.md b/docs/ChangeLog/20240225.md
new file mode 100644
index 0000000000..779b778490
--- /dev/null
+++ b/docs/ChangeLog/20240225.md
@@ -0,0 +1,367 @@
+# QMK Breaking Changes - 2024 February 25 Changelog
+
+## Notable Features :id=notable-features
+
+_0.24.0_ is mainly a maintenance release of QMK Firmware -- as per last few breaking changes cycles, there have been a lot of behind-the-scenes changes, mainly:
+
+* continued purge of user keymaps
+* migration of RGB matrix configuration into `info.json` files
+* standardisation of `LAYOUT` naming
+* keyboard relocations
+* addressing technical debt
+
+## Changes Requiring User Action :id=changes-requiring-user-action
+
+### Windows Driver Changes ([QMK Toolbox 0.3.0 Release](https://github.com/qmk/qmk_toolbox/releases/tag/0.3.0))
+
+Flashing keyboards that target `atmel-dfu` or `qmk-dfu` on Windows using `qmk flash` or QMK Toolbox have traditionally used _libusb_ for access to the DFU USB device. Since QMK Toolbox 0.3.0, this has changed to WinUSB.
+
+If you update QMK Toolbox or update QMK MSYS, you may find that flashing Atmel DFU keyboards no longer functions as intended. If you strike such issues when flashing new firmware, you will need to replace the _libusb_ driver with _WinUSB_ using Zadig. You can follow the [Recovering from Installation to Wrong Device](driver_installation_zadig.md#recovering-from-installation-to-wrong-device) instructions to replace the driver associated with the Atmel DFU bootloader, skipping the section about removal as Zadig will safely replace the driver instead. Please ensure your keyboard is in bootloader mode and has _libusb_ as the existing driver before attempting to use Zadig to replace the driver. If instead you see _HidUsb_ you're not in bootloader mode and should not continue with driver replacement.
+
+### Updated Keyboard Codebases :id=updated-keyboard-codebases
+
+One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](newbs_external_userspace.md) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
+
+| Old Keyboard Name | New Keyboard Name |
+|-------------------------|---------------------------------|
+| enter67 | kezewa/enter67 |
+| enter80 | kezewa/enter80 |
+| epoch80 | kbdfans/epoch80 |
+| eu_isolation | p3d/eu_isolation |
+| flygone60/rev3 | shandoncodes/flygone60/rev3 |
+| hub16 | joshajohnson/hub16 |
+| hub20 | joshajohnson/hub20 |
+| jm60 | kbdfans/jm60 |
+| kira75 | kira/kira75 |
+| kira80 | kira/kira80 |
+| kmac | kbdmania/kmac |
+| kmac_pad | kbdmania/kmac_pad |
+| kudox/columner | kumaokobo/kudox/columner |
+| kudox/rev1 | kumaokobo/kudox/rev1 |
+| kudox/rev2 | kumaokobo/kudox/rev2 |
+| kudox/rev3 | kumaokobo/kudox/rev3 |
+| kudox_full/rev1 | kumaokobo/kudox_full/rev1 |
+| kudox_game | kumaokobo/kudox_game |
+| kudox_game/rev1 | kumaokobo/kudox_game/rev1 |
+| kudox_game/rev2 | kumaokobo/kudox_game/rev2 |
+| laser_ninja/pumpkin_pad | laser_ninja/pumpkinpad |
+| late9/rev1 | rookiebwoy/late9/rev1 |
+| lefty | smoll/lefty |
+| lefty/rev1 | smoll/lefty/rev1 |
+| lefty/rev2 | smoll/lefty/rev2 |
+| lpad | laneware/lpad |
+| lw67 | laneware/lw67 |
+| lw75 | laneware/lw75 |
+| macro1 | laneware/macro1 |
+| macro3 | handwired/macro3 |
+| miniaxe | kagizaraya/miniaxe |
+| mino/hotswap | shandoncodes/mino/hotswap |
+| mino_plus/hotswap | shandoncodes/mino_plus/hotswap |
+| mino_plus/soldered | shandoncodes/mino_plus/soldered |
+| mnk1800s | monokei/mnk1800s |
+| mnk50 | monokei/mnk50 |
+| mnk75 | monokei/mnk75 |
+| moonlander | zsa/moonlander |
+| neopad/rev1 | rookiebwoy/neopad/rev1 |
+| pico/65keys | kumaokobo/pico/65keys |
+| pico/70keys | kumaokobo/pico/70keys |
+| pw88 | smoll/pw88 |
+| q4z | p3d/q4z |
+| raindrop | laneware/raindrop |
+| redox_w | redox/wireless |
+| riot_pad | shandoncodes/riot_pad |
+| spacey | p3d/spacey |
+| synapse | p3d/synapse |
+| tw40 | p3d/tw40 |
+| w1_at | geonworks/w1_at |
+| z12 | zigotica/z12 |
+| z34 | zigotica/z34 |
+
+## Notable core changes :id=notable-core
+
+### Renaming Arduino-style GPIO pin functions ([#23085](https://github.com/qmk/qmk_firmware/pull/23085), [#23093](https://github.com/qmk/qmk_firmware/pull/23093)) :id=gpio-rename
+
+QMK has long used Arduino-style GPIO naming conventions. This has been confusing for users, as over time they've had new variations added, as well as users mistakenly thinking that QMK supports the rest of the Arduino ecosystem.
+
+The decision was made to rename the GPIO manipulation functions with ones matching QMK Firmware's code styling.
+
+| Old | New |
+|------------------------------|---------------------------------------|
+| `setPinInput(pin)` | `gpio_set_pin_input(pin)` |
+| `setPinInputHigh(pin)` | `gpio_set_pin_input_high(pin)` |
+| `setPinInputLow(pin)` | `gpio_set_pin_input_low(pin)` |
+| `setPinOutput(pin)` | `gpio_set_pin_output(pin)` |
+| `setPinOutputPushPull(pin)` | `gpio_set_pin_output_push_pull(pin)` |
+| `setPinOutputOpenDrain(pin)` | `gpio_set_pin_output_open_drain(pin)` |
+| `writePinHigh(pin)` | `gpio_write_pin_high(pin)` |
+| `writePinLow(pin)` | `gpio_write_pin_low(pin)` |
+| `writePin(pin, level)` | `gpio_write_pin(pin, level)` |
+| `readPin(pin)` | `gpio_read_pin(pin)` |
+| `togglePin(pin)` | `gpio_toggle_pin(pin)` |
+
+### I2C driver API Changes ([#22905](https://github.com/qmk/qmk_firmware/pull/22905))
+
+Much like the GPIO refactoring, I2C APIs were also updated to conform to QMK naming standards. This is largely irrelevant to people using subsystem abstractions such as touchpads or RGB lighting, and only affects people manually communicating with other peripherals.
+
+| Old API | New API |
+|--------------------|--------------------------|
+| `i2c_readReg()` | `i2c_read_register()` |
+| `i2c_readReg16()` | `i2c_read_register16()` |
+| `i2c_writeReg()` | `i2c_write_register()` |
+| `i2c_writeReg16()` | `i2c_write_register16()` |
+
+### Renaming _Bootmagic Lite_ => _Bootmagic_ ([#22970](https://github.com/qmk/qmk_firmware/pull/22970), [#22979](https://github.com/qmk/qmk_firmware/pull/22979)) :id=bootmagic-rename
+
+Bootmagic "Lite" had no real meaning once the historical Bootmagic "Full" was deprecated and removed. Any references to _Bootmagic Lite_ should now just refer to _Bootmagic_. We hope we got the majority of the code and the documentation, so if you find any more, let us know!
+
+### Threshold for automatic mouse layer activation ([#21398](https://github.com/qmk/qmk_firmware/pull/21398)) :id=auto-mouse-layer
+
+In some cases, accidental automatic activation of the mouse layer made it difficult to continue typing, such as when brushing across a trackball. `AUTO_MOUSE_THRESHOLD` is now a configurable option in `config.h` which allows for specifying what the movement threshold is before automatically activating the mouse layer.
+
+### DIP Switch Mapping ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) :id=dip-switch-map
+
+Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](feature_dip_switch.md#dip-switch-map) for more information.
+
+```c
+#if defined(DIP_SWITCH_MAP_ENABLE)
+const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
+ DIP_SWITCH_OFF_ON(DF(0), DF(1)),
+ DIP_SWITCH_OFF_ON(EC_NORM, EC_SWAP)
+};
+#endif
+```
+
+### Quantum Painter updates ([#18521](https://github.com/qmk/qmk_firmware/pull/18521), [#20645](https://github.com/qmk/qmk_firmware/pull/20645), [#22358](https://github.com/qmk/qmk_firmware/pull/22358)) :id=qp-updates
+
+Quantum Painter picked up support for the following:
+
+* ILI9486 displays
+* SSD1306 displays, including smaller OLEDs
+* Native panel pixel format support for fonts
+
+Quantum Painter now supports the majority of common OLED panels supported by the basic OLED driver, so if you're using an ARM-based board you may find Quantum Painter a much more feature-rich API in comparison.
+
+## Full changelist :id=full-changelist
+
+Core:
+* [Driver] ILI9486 on Quantum Painter ([#18521](https://github.com/qmk/qmk_firmware/pull/18521))
+* Insert delay between shifted chars in send_string_with_delay ([#19280](https://github.com/qmk/qmk_firmware/pull/19280))
+* [QP] Native palette support for fonts ([#20645](https://github.com/qmk/qmk_firmware/pull/20645))
+* I2C driver cleanup ([#21273](https://github.com/qmk/qmk_firmware/pull/21273))
+* Add option for auto mouse movement threshold ([#21398](https://github.com/qmk/qmk_firmware/pull/21398))
+* Add Canadian French input locale ([#21456](https://github.com/qmk/qmk_firmware/pull/21456))
+* Add encoder abstraction. ([#21548](https://github.com/qmk/qmk_firmware/pull/21548))
+* Converted RGB matrix to use last_input_activity_elapsed(). ([#21687](https://github.com/qmk/qmk_firmware/pull/21687))
+* Ignore space cadet key release when caps word is active ([#21721](https://github.com/qmk/qmk_firmware/pull/21721))
+* Add OS detection callbacks ([#21777](https://github.com/qmk/qmk_firmware/pull/21777))
+* joystick weights ([#21883](https://github.com/qmk/qmk_firmware/pull/21883))
+* Add RGB matrix & LED Matrix support for IS31FL3729 ([#21944](https://github.com/qmk/qmk_firmware/pull/21944))
+* dac_additive: Decouple the buffer length from the waveform length ([#22276](https://github.com/qmk/qmk_firmware/pull/22276))
+* Add missing rgb matrix default parameters ([#22281](https://github.com/qmk/qmk_firmware/pull/22281))
+* Remove console out endpoint ([#22304](https://github.com/qmk/qmk_firmware/pull/22304))
+* Add ADC support STM32L4xx and STM32G4xx series MCUs ([#22341](https://github.com/qmk/qmk_firmware/pull/22341))
+* Add QP support for smaller OLED displays and SSD1306 ([#22358](https://github.com/qmk/qmk_firmware/pull/22358))
+* Add Imera converter ([#22419](https://github.com/qmk/qmk_firmware/pull/22419))
+* LED drivers: refactor page selection ([#22518](https://github.com/qmk/qmk_firmware/pull/22518))
+* Rework RGBLight driver system ([#22529](https://github.com/qmk/qmk_firmware/pull/22529))
+* Add `APA102_LED_COUNT` define ([#22530](https://github.com/qmk/qmk_firmware/pull/22530))
+* Add latam spanish headers ([#22542](https://github.com/qmk/qmk_firmware/pull/22542))
+* Keymap introspection for Dip Switches ([#22543](https://github.com/qmk/qmk_firmware/pull/22543))
+* Add basic presence check for cirque trackpad. ([#22546](https://github.com/qmk/qmk_firmware/pull/22546))
+* Rename `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` ([#22570](https://github.com/qmk/qmk_firmware/pull/22570))
+* LED drivers: change "TWI" to "I2C" ([#22617](https://github.com/qmk/qmk_firmware/pull/22617))
+* LED drivers: extract IS31FL3742A from IS31COMMON ([#22620](https://github.com/qmk/qmk_firmware/pull/22620))
+* Align Dip Switch feature ([#22625](https://github.com/qmk/qmk_firmware/pull/22625))
+* LED/RGB Matrix: add header for drivers ([#22628](https://github.com/qmk/qmk_firmware/pull/22628))
+* LED drivers: extract IS31FL3743A from IS31COMMON ([#22635](https://github.com/qmk/qmk_firmware/pull/22635))
+* LED drivers: extract IS31FL3745 from IS31COMMON ([#22636](https://github.com/qmk/qmk_firmware/pull/22636))
+* LED drivers: extract IS31FL3746A from IS31COMMON ([#22637](https://github.com/qmk/qmk_firmware/pull/22637))
+* Update keyboard LED driver configs ([#22638](https://github.com/qmk/qmk_firmware/pull/22638))
+* Solid reactive: improve fading effect ([#22656](https://github.com/qmk/qmk_firmware/pull/22656))
+* Remove redundant RGB/LED matrix eeconfig init ([#22673](https://github.com/qmk/qmk_firmware/pull/22673))
+* Remove redundant rgblight eeconfig init ([#22674](https://github.com/qmk/qmk_firmware/pull/22674))
+* Remove redundant steno eeconfig init ([#22680](https://github.com/qmk/qmk_firmware/pull/22680))
+* Rename `LED_DISABLE_WHEN_USB_SUSPENDED` -> `LED_MATRIX_SLEEP` ([#22681](https://github.com/qmk/qmk_firmware/pull/22681))
+* Rename `RGB_DISABLE_WHEN_USB_SUSPENDED` -> `RGB_MATRIX_SLEEP` ([#22682](https://github.com/qmk/qmk_firmware/pull/22682))
+* Align VUSB suspend protocol logic ([#22688](https://github.com/qmk/qmk_firmware/pull/22688))
+* [Audio] Enable Complementary output for PWM Hardware driver ([#22726](https://github.com/qmk/qmk_firmware/pull/22726))
+* Remove redundant audio eeconfig init ([#22736](https://github.com/qmk/qmk_firmware/pull/22736))
+* Align location of tap dance keycode ([#22742](https://github.com/qmk/qmk_firmware/pull/22742))
+* Align `SPLIT_HAND_MATRIX_GRID` left/right logic with `SPLIT_HAND_PIN` ([#22775](https://github.com/qmk/qmk_firmware/pull/22775))
+* [CI] Regenerate Files ([#22795](https://github.com/qmk/qmk_firmware/pull/22795))
+* Remove IS31FLCOMMON code ([#22800](https://github.com/qmk/qmk_firmware/pull/22800))
+* Cirque reachable calibration aide ([#22803](https://github.com/qmk/qmk_firmware/pull/22803))
+* LED drivers: rename "simple" to "mono" ([#22814](https://github.com/qmk/qmk_firmware/pull/22814))
+* is31fl3733: change `write_register()` return type to `void` ([#22824](https://github.com/qmk/qmk_firmware/pull/22824))
+* snled27351: change `write_register()` return type to `void` ([#22825](https://github.com/qmk/qmk_firmware/pull/22825))
+* apa102: cleanups ([#22826](https://github.com/qmk/qmk_firmware/pull/22826))
+* Remove PWM advanced check for WS2812 driver ([#22830](https://github.com/qmk/qmk_firmware/pull/22830))
+* Allow ChibiOS `SIO` driver for `UART` driver ([#22839](https://github.com/qmk/qmk_firmware/pull/22839))
+* LED drivers: more formatting ([#22865](https://github.com/qmk/qmk_firmware/pull/22865))
+* LED drivers: change `write_pwm_buffer()` return type to `void` ([#22869](https://github.com/qmk/qmk_firmware/pull/22869))
+* [CI] Regenerate Files ([#22872](https://github.com/qmk/qmk_firmware/pull/22872))
+* LED drivers: switch to i2c_writeReg() ([#22878](https://github.com/qmk/qmk_firmware/pull/22878))
+* LED drivers: remove `write_pwm_buffer()` from public API ([#22884](https://github.com/qmk/qmk_firmware/pull/22884))
+* i2c: rename read/write register functions ([#22905](https://github.com/qmk/qmk_firmware/pull/22905))
+* LED drivers: update I2C API usage ([#22951](https://github.com/qmk/qmk_firmware/pull/22951))
+* LED drivers: create structs to hold PWM/scaling buffers ([#22955](https://github.com/qmk/qmk_firmware/pull/22955))
+* Migrate and remove deprecated debug utils ([#22961](https://github.com/qmk/qmk_firmware/pull/22961))
+* Remove call to removed i2c function in azoteq driver ([#22966](https://github.com/qmk/qmk_firmware/pull/22966))
+* Tidy up print/debug logging headers ([#22969](https://github.com/qmk/qmk_firmware/pull/22969))
+* Begin removal of bootmagic lite terminology ([#22970](https://github.com/qmk/qmk_firmware/pull/22970))
+* LED drivers: place I2C addresses into an array ([#22975](https://github.com/qmk/qmk_firmware/pull/22975))
+* Removal of bootmagic lite terminology ([#22979](https://github.com/qmk/qmk_firmware/pull/22979))
+* Init pins for Analog Joystick sensor ([#22985](https://github.com/qmk/qmk_firmware/pull/22985))
+* Workaround for G431 eeprom emulation ([#23002](https://github.com/qmk/qmk_firmware/pull/23002))
+* is31fl3741: split PWM and scaling buffers ([#23049](https://github.com/qmk/qmk_firmware/pull/23049))
+* LED drivers: update PWM register defines for `g_<driver>_leds` ([#23052](https://github.com/qmk/qmk_firmware/pull/23052))
+* LED drivers: add support for shutdown pin ([#23058](https://github.com/qmk/qmk_firmware/pull/23058))
+* AW20216S: combine EN pin defines ([#23067](https://github.com/qmk/qmk_firmware/pull/23067))
+* Update naming convention for GPIO control macros ([#23085](https://github.com/qmk/qmk_firmware/pull/23085))
+* Update GPIO macro usages in core ([#23093](https://github.com/qmk/qmk_firmware/pull/23093))
+* OS Detection - Entire file should not be wrapped with ifdef ([#23108](https://github.com/qmk/qmk_firmware/pull/23108))
+* IS31FL3729 updates ([#23109](https://github.com/qmk/qmk_firmware/pull/23109))
+* Nix shell updates (Nixpkgs 2024-02-23, QMK CLI 1.1.5) ([#23143](https://github.com/qmk/qmk_firmware/pull/23143))
+
+CLI:
+* [Refactor] `qmk find` ([#21096](https://github.com/qmk/qmk_firmware/pull/21096))
+* [Refactor] Break `QGFImageFile`'s `_save` function into smaller pieces ([#21124](https://github.com/qmk/qmk_firmware/pull/21124))
+* [Enhancement] Prepare for `SyntaxWarning` ([#22562](https://github.com/qmk/qmk_firmware/pull/22562))
+* Flag invalid keyboard features during lint ([#22832](https://github.com/qmk/qmk_firmware/pull/22832))
+
+Submodule updates:
+* chore(chibios-contrib): sync with chibios-21.11.x ([#22560](https://github.com/qmk/qmk_firmware/pull/22560))
+
+Keyboards:
+* Move `redox_w` into `redox` ([#21448](https://github.com/qmk/qmk_firmware/pull/21448))
+* null ST110R2.1 (SaikouType) basic support with layouts ([#21623](https://github.com/qmk/qmk_firmware/pull/21623))
+* New keyboard addition: Orthograph ([#21770](https://github.com/qmk/qmk_firmware/pull/21770))
+* Add Olly JF Rev.2 ([#21775](https://github.com/qmk/qmk_firmware/pull/21775))
+* Cleanup Satisfaction75 Firmware and add new revisions ([#22082](https://github.com/qmk/qmk_firmware/pull/22082))
+* Migrate dynamic_keymap.layer_count < 4 where requried ([#22091](https://github.com/qmk/qmk_firmware/pull/22091))
+* Bastard Keyboards: Add support for Dilemma v2 (3x5+3) ([#22185](https://github.com/qmk/qmk_firmware/pull/22185))
+* Karn: correct layout data ([#22201](https://github.com/qmk/qmk_firmware/pull/22201))
+* zk3mod : added OLED ([#22303](https://github.com/qmk/qmk_firmware/pull/22303))
+* Adds support for the Iron180 V2 PCBs ([#22314](https://github.com/qmk/qmk_firmware/pull/22314))
+* Add 5x13 and 6x13 ortho community layouts ([#22315](https://github.com/qmk/qmk_firmware/pull/22315))
+* Cipulot refactoring ([#22368](https://github.com/qmk/qmk_firmware/pull/22368))
+* Remove era/klein ([#22384](https://github.com/qmk/qmk_firmware/pull/22384))
+* consolidate firmware folder in smoll parent folder ([#22401](https://github.com/qmk/qmk_firmware/pull/22401))
+* `keycapsss/plaid_pad`: switch to encoder map ([#22474](https://github.com/qmk/qmk_firmware/pull/22474))
+* Add EE-AT and move W1-AT under geonworks ([#22526](https://github.com/qmk/qmk_firmware/pull/22526))
+* refactor: projectcain/vault35 ([#22558](https://github.com/qmk/qmk_firmware/pull/22558))
+* Update Q5 ([#22575](https://github.com/qmk/qmk_firmware/pull/22575))
+* Update Q7 ([#22577](https://github.com/qmk/qmk_firmware/pull/22577))
+* Update Q8 ([#22578](https://github.com/qmk/qmk_firmware/pull/22578))
+* Update Q9 ([#22579](https://github.com/qmk/qmk_firmware/pull/22579))
+* Remove "empty" files ([#22603](https://github.com/qmk/qmk_firmware/pull/22603))
+* Rename Pumpkin Pad to Pumkinpad ([#22651](https://github.com/qmk/qmk_firmware/pull/22651))
+* Noodlepad Additions and Updates ([#22701](https://github.com/qmk/qmk_firmware/pull/22701))
+* Refactor: move miniaxe into kagizaraya ([#22708](https://github.com/qmk/qmk_firmware/pull/22708))
+* Refactor: move keyboards into zigotica folder ([#22709](https://github.com/qmk/qmk_firmware/pull/22709))
+* Refactor: move keyboards into laneware folder ([#22710](https://github.com/qmk/qmk_firmware/pull/22710))
+* Refactor: move keyboards into kezewa ([#22712](https://github.com/qmk/qmk_firmware/pull/22712))
+* Refactor: move keyboards into kbdmania folder ([#22714](https://github.com/qmk/qmk_firmware/pull/22714))
+* Refactor: move keyboards into monokei folder ([#22715](https://github.com/qmk/qmk_firmware/pull/22715))
+* Refactor: move keyboards into kumaokobo ([#22719](https://github.com/qmk/qmk_firmware/pull/22719))
+* Updating NCC1701KB and adding via support ([#22721](https://github.com/qmk/qmk_firmware/pull/22721))
+* Move Moonlander to ZSA folder ([#22740](https://github.com/qmk/qmk_firmware/pull/22740))
+* Refactor: group shandoncodes keyboards ([#22743](https://github.com/qmk/qmk_firmware/pull/22743))
+* Refactor: group rookiebwoy keyboards ([#22745](https://github.com/qmk/qmk_firmware/pull/22745))
+* Default folder correction for kumaokobo ([#22750](https://github.com/qmk/qmk_firmware/pull/22750))
+* Default folder correction for rookiebwoy ([#22753](https://github.com/qmk/qmk_firmware/pull/22753))
+* Refactor: move macro3 into handwired folder ([#22759](https://github.com/qmk/qmk_firmware/pull/22759))
+* Refactor: group kira keyboards ([#22760](https://github.com/qmk/qmk_firmware/pull/22760))
+* Refactor: group hub keyboards ([#22762](https://github.com/qmk/qmk_firmware/pull/22762))
+* Refactor: move p3d keyboards ([#22763](https://github.com/qmk/qmk_firmware/pull/22763))
+* Refactor: group kbdfans keyboards ([#22764](https://github.com/qmk/qmk_firmware/pull/22764))
+* Remove incorrect use of WS2812_PIO_USE_PIO1 ([#22771](https://github.com/qmk/qmk_firmware/pull/22771))
+* Migrate LED Matrix config to info.json ([#22792](https://github.com/qmk/qmk_firmware/pull/22792))
+* Migrate RGB Matrix config to info.json - [0-9] ([#22797](https://github.com/qmk/qmk_firmware/pull/22797))
+* Migrate RGB Matrix config to info.json - A ([#22798](https://github.com/qmk/qmk_firmware/pull/22798))
+* Late9 keymaps update, added VIA support ([#22801](https://github.com/qmk/qmk_firmware/pull/22801))
+* Migrate RGB Matrix config to info.json - B ([#22806](https://github.com/qmk/qmk_firmware/pull/22806))
+* Migrate RGB Matrix config to info.json - C ([#22807](https://github.com/qmk/qmk_firmware/pull/22807))
+* Migrate RGB Matrix config to info.json - EF ([#22808](https://github.com/qmk/qmk_firmware/pull/22808))
+* Migrate RGB Matrix config to info.json - D ([#22811](https://github.com/qmk/qmk_firmware/pull/22811))
+* H87g2 updates ([#22819](https://github.com/qmk/qmk_firmware/pull/22819))
+* WT boards: extract `g_is31fl3736_leds` from wt_mono_backlight ([#22823](https://github.com/qmk/qmk_firmware/pull/22823))
+* Migrate RGB Matrix config to info.json - G ([#22859](https://github.com/qmk/qmk_firmware/pull/22859))
+* Use existing columns for 3x5 layout ([#22860](https://github.com/qmk/qmk_firmware/pull/22860))
+* Migrate RGB Matrix config to info.json - H ([#22861](https://github.com/qmk/qmk_firmware/pull/22861))
+* Migrate RGB Matrix config to info.json - J ([#22862](https://github.com/qmk/qmk_firmware/pull/22862))
+* Migrate RGB Matrix config to info.json - I ([#22863](https://github.com/qmk/qmk_firmware/pull/22863))
+* Migrate RGB Matrix config to info.json - L ([#22864](https://github.com/qmk/qmk_firmware/pull/22864))
+* Migrate RGB Matrix config to info.json - NOPQ ([#22866](https://github.com/qmk/qmk_firmware/pull/22866))
+* Migrate RGB Matrix config to info.json - XZY ([#22879](https://github.com/qmk/qmk_firmware/pull/22879))
+* Zed65/no_backlight/cor65 correct data layout ([#22898](https://github.com/qmk/qmk_firmware/pull/22898))
+* Migrate RGB Matrix config to info.json - M ([#22908](https://github.com/qmk/qmk_firmware/pull/22908))
+* Migrate RGB Matrix config to info.json - RS ([#22909](https://github.com/qmk/qmk_firmware/pull/22909))
+* Migrate RGB Matrix config to info.json - TUVW ([#22910](https://github.com/qmk/qmk_firmware/pull/22910))
+* Migrate RGB Matrix config to info.json - K ([#22911](https://github.com/qmk/qmk_firmware/pull/22911))
+* Remove `LAYOUTS_HAS_RGB` ([#22917](https://github.com/qmk/qmk_firmware/pull/22917))
+* Migrate lighting defaults to info.json ([#22920](https://github.com/qmk/qmk_firmware/pull/22920))
+* Ensure LTO is enabled as a `info.json` build config option ([#22932](https://github.com/qmk/qmk_firmware/pull/22932))
+* refactor(keyboard): quokka ([#22942](https://github.com/qmk/qmk_firmware/pull/22942))
+* Sango Keyboard ([#22971](https://github.com/qmk/qmk_firmware/pull/22971))
+* Add FS streampad ([#22991](https://github.com/qmk/qmk_firmware/pull/22991))
+* Remove always enabled effects from lighting animation list ([#22992](https://github.com/qmk/qmk_firmware/pull/22992))
+* Migrate RGB Matrix config to info.json - keychron ([#22998](https://github.com/qmk/qmk_firmware/pull/22998))
+* Migrate RGB Matrix config to info.json - Misc ([#23000](https://github.com/qmk/qmk_firmware/pull/23000))
+* Remove ee_hands config from ferris/sweep firmware ([#23029](https://github.com/qmk/qmk_firmware/pull/23029))
+* Migrate dip switch config to info.json - keychron ([#23037](https://github.com/qmk/qmk_firmware/pull/23037))
+* [unicorne] Add a layout alias ([#23056](https://github.com/qmk/qmk_firmware/pull/23056))
+* nacly/sodium62: Update vid, pid, and add via keymap ([#23063](https://github.com/qmk/qmk_firmware/pull/23063))
+* LED drivers: update keyboard LED configs ([#23073](https://github.com/qmk/qmk_firmware/pull/23073))
+* Remove invalid keyboard level features ([#23074](https://github.com/qmk/qmk_firmware/pull/23074))
+* Migrate WEAR_LEVELING_* to info.json ([#23077](https://github.com/qmk/qmk_firmware/pull/23077))
+* [Keymap Removal] keyboard with most keymaps ([#23081](https://github.com/qmk/qmk_firmware/pull/23081))
+* Remove obvious user keymaps, keyboards/{v,x,y,z}* edition. ([#23083](https://github.com/qmk/qmk_firmware/pull/23083))
+* Remove obvious user keymaps, keyboards/{s,t}* edition. ([#23084](https://github.com/qmk/qmk_firmware/pull/23084))
+* [Keymap Removal] keyboard with most keymaps ([#23092](https://github.com/qmk/qmk_firmware/pull/23092))
+* Fiuxup takashicompany/heavy_left ([#23094](https://github.com/qmk/qmk_firmware/pull/23094))
+* Remove obvious user keymaps, keyboards/{i,j,k}* edition ([#23102](https://github.com/qmk/qmk_firmware/pull/23102))
+* Manual user keymap removal ([#23104](https://github.com/qmk/qmk_firmware/pull/23104))
+* Manual user keymap removal ([#23119](https://github.com/qmk/qmk_firmware/pull/23119))
+* Migrate `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` in remaining non-user keymaps ([#23128](https://github.com/qmk/qmk_firmware/pull/23128))
+
+Keyboard fixes:
+* Fix VID and PID for AnnePro2 ([#22263](https://github.com/qmk/qmk_firmware/pull/22263))
+* fix(kikoslab/kl90): Fix firmware to support encoder knobs properly ([#22649](https://github.com/qmk/qmk_firmware/pull/22649))
+* fix: improper usage of keyboard/user-level functions ([#22652](https://github.com/qmk/qmk_firmware/pull/22652))
+* Temporary fix for mechlovin/olly/octagon ([#22796](https://github.com/qmk/qmk_firmware/pull/22796))
+* Keychron Q11 usb poweron fix ([#22799](https://github.com/qmk/qmk_firmware/pull/22799))
+* capsunlocked/cu80/v2: Fix invalid RGB matrix config ([#22873](https://github.com/qmk/qmk_firmware/pull/22873))
+* Fix typo in Redox config ([#22899](https://github.com/qmk/qmk_firmware/pull/22899))
+* Fixup doio/kb16 ([#22921](https://github.com/qmk/qmk_firmware/pull/22921))
+* Fixup takashicompany/minizone ([#22922](https://github.com/qmk/qmk_firmware/pull/22922))
+* Fixup sofle ([#22934](https://github.com/qmk/qmk_firmware/pull/22934))
+* Fix Issue with RGB Matrix not understanding the split keyboard ([#22997](https://github.com/qmk/qmk_firmware/pull/22997))
+* Fixup sawnsprojects/krush60 ([#23095](https://github.com/qmk/qmk_firmware/pull/23095))
+* Fixup kbd67/rev1 ([#23096](https://github.com/qmk/qmk_firmware/pull/23096))
+* Fixup boardsource/equals ([#23106](https://github.com/qmk/qmk_firmware/pull/23106))
+* Fixup inett_studio/sq80 ([#23121](https://github.com/qmk/qmk_firmware/pull/23121))
+* Add LED/RGB Matrix drivers to info.json schema ([#23127](https://github.com/qmk/qmk_firmware/pull/23127))
+* Fix for multiple AMUX usage ([#23155](https://github.com/qmk/qmk_firmware/pull/23155))
+
+Bugs:
+* MIDI sustain effect fix on qmk 0.22.2 ([#22114](https://github.com/qmk/qmk_firmware/pull/22114))
+* Prevent `qmk migrate` processing unparsed info.json values ([#22374](https://github.com/qmk/qmk_firmware/pull/22374))
+* Remove redundant backlight eeconfig init ([#22675](https://github.com/qmk/qmk_firmware/pull/22675))
+* pointing_device ifdef indentation fix ([#22802](https://github.com/qmk/qmk_firmware/pull/22802))
+* Ensure LED config is extracted when feature is disabled ([#22809](https://github.com/qmk/qmk_firmware/pull/22809))
+* Generate true/false for _DEFAULT_ON options ([#22829](https://github.com/qmk/qmk_firmware/pull/22829))
+* is31fl3733: fix driver sync backwards compatibility defines ([#22851](https://github.com/qmk/qmk_firmware/pull/22851))
+* LED drivers: misc formatting and typos ([#22857](https://github.com/qmk/qmk_firmware/pull/22857))
+* Allow generation of both LED and RGB Matrix config ([#22896](https://github.com/qmk/qmk_firmware/pull/22896))
+* LED drivers: remove PWM register offsets ([#22897](https://github.com/qmk/qmk_firmware/pull/22897))
+* `qmk format-json`: Force Unix line endings and ensure LF at EOF ([#22901](https://github.com/qmk/qmk_firmware/pull/22901))
+* Fix cirque connected check ([#22948](https://github.com/qmk/qmk_firmware/pull/22948))
+* Fix joystick initialization ([#22953](https://github.com/qmk/qmk_firmware/pull/22953))
+* Workaround for `make test:all DEBUG=1` ([#23047](https://github.com/qmk/qmk_firmware/pull/23047))
+* Fix unit test execution ([#23048](https://github.com/qmk/qmk_firmware/pull/23048))
+* Fix git-submodule running in wrong location ([#23059](https://github.com/qmk/qmk_firmware/pull/23059))
+* WS2812 bitbang: prefix for `NOP_FUDGE` define ([#23110](https://github.com/qmk/qmk_firmware/pull/23110))
+* Fix make clean test:os_detection ([#23112](https://github.com/qmk/qmk_firmware/pull/23112))
+* Fix pmw33xx sensor corruption on get-cpi call ([#23116](https://github.com/qmk/qmk_firmware/pull/23116))
+* Ensure `qmk generate-compilation-database` copies to userspace as well. ([#23129](https://github.com/qmk/qmk_firmware/pull/23129))
diff --git a/docs/_summary.md b/docs/_summary.md
index bae93da5b6..fb584955ce 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -138,7 +138,7 @@
* Breaking Changes
* [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
- * [Most Recent ChangeLog](ChangeLog/20231126.md "QMK v0.23.0 - 2023 Nov 26")
+ * [Most Recent ChangeLog](ChangeLog/20240225.md "QMK v0.24.0 - 2024 Feb 25")
* [Past Breaking Changes](breaking_changes_history.md)
* C Development
diff --git a/docs/audio_driver.md b/docs/audio_driver.md
index a0bbb22e19..03c0a824df 100644
--- a/docs/audio_driver.md
+++ b/docs/audio_driver.md
@@ -116,19 +116,32 @@ Additionally, in the board config, you'll want to make changes to enable the DAC
| Define | Defaults | Description |
| -------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AUDIO_DAC_SAMPLE_MAX` | `4095U` | Highest value allowed. Lower value means lower volume. And 4095U is the upper limit, since this is limited to a 12 bit value. Only effects non-pregenerated samples. |
-| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when notplaying anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. |
+| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when not playing anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. |
| `AUDIO_MAX_SIMULTANEOUS_TONES` | __see next table__ | The number of tones that can be played simultaneously. A value that is too high may freeze the controller or glitch out when too many tones are being played. |
| `AUDIO_DAC_SAMPLE_RATE` | __see next table__ | Effective bit rate of the DAC (in hertz), higher limits simultaneous tones, and lower sacrifices quality. |
+| `AUDIO_DAC_BUFFER_SIZE` | __see next table__ | Number of samples generated every refill. Too few may cause excessive CPU load; too many may cause freezes, RAM or flash exhaustion or lags during matrix scanning. |
-There are a number of predefined quality settings that you can use, with "sane minimum" being the default. You can use custom values by simply defining the sample rate and number of simultaneous tones, instead of using one of the listed presets.
+There are a number of predefined quality settings that you can use, with "sane minimum" being the default. You can use custom values by simply defining the sample rate, number of simultaneous tones and buffer size, instead of using one of the listed presets.
-| Define | Sample Rate | Simultaneous tones |
-| --------------------------------- | ----------- | ------------------- |
-| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` |
-| `AUDIO_DAC_QUALITY_LOW` | `22040U` | `4` |
-| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` |
-| `AUDIO_DAC_QUALITY_VERY_HIGH` | `88200U` | `1` |
-| `AUDIO_DAC_QUALITY_SANE_MINIMUM` | `16384U` | `8` |
+| Define | Sample Rate | Simultaneous tones | Buffer size |
+| --------------------------------- | ----------- | ------------------- | ----------- |
+| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` | `64U` |
+| `AUDIO_DAC_QUALITY_LOW` | `22050U` | `4` | `128U` |
+| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` | `256U` |
+| `AUDIO_DAC_QUALITY_VERY_HIGH` | `88200U` | `1` | `256U` |
+| `AUDIO_DAC_QUALITY_SANE_MINIMUM` | `16384U` | `8` | `64U` |
+
+#### Notes on buffer size :id=buffer-size
+
+By default, the buffer size attempts to keep to these constraints:
+
+* The interval between buffer refills can't be too short, since the microcontroller would then only be servicing buffer refills and would freeze up.
+* On the additive driver, the interval between buffer refills can't be too long, since matrix scanning would suffer lengthy pauses every so often, which would delay key presses or releases or lose some short taps altogether.
+* The interval between buffer refills is kept to a minimum, which allows notes to stop as soon as possible after they should.
+* For greater compatibility, the buffer size should be a power of 2.
+* The buffer size being too large causes resource exhaustion leading to build failures or freezing at runtime: RAM usage (on the additive driver) or flash usage (on the basic driver).
+
+You can lower the buffer size if you need a bit more space in your firmware, or raise it if your keyboard freezes up.
```c
@@ -186,6 +199,11 @@ with all this information, the configuration would contain these lines:
ChibiOS uses GPIOv1 for the F103, which only knows of one alternate function.
On 'larger' STM32s, GPIOv2 or GPIOv3 are used; with them it is also necessary to configure `AUDIO_PWM_PAL_MODE` to the correct alternate function for the selected pin, timer and timer-channel.
+You can also use the Complementary output (`TIMx_CHyN`) for PWM on supported controllers. To enable this functionality, you will need to make the following changes:
+```c
+// config.h:
+#define AUDIO_PWM_COMPLEMENTARY_OUTPUT
+```
### PWM software :id=pwm-software
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md
index 70a9044c8c..b60118cd64 100644
--- a/docs/breaking_changes.md
+++ b/docs/breaking_changes.md
@@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch
## What has been included in past Breaking Changes?
+* [2024 Feb 25](ChangeLog/20240225.md)
* [2023 Nov 26](ChangeLog/20231126.md)
* [2023 Aug 27](ChangeLog/20230827.md)
-* [2023 May 28](ChangeLog/20230528.md)
* [Older Breaking Changes](breaking_changes_history.md)
## When is the next Breaking Change?
-The next Breaking Change is scheduled for November 26, 2023.
+The next Breaking Change is scheduled for May 26, 2024.
### Important Dates
-* 2023 Nov 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
-* 2024 Jan 28 - `develop` closed to new PRs.
-* 2024 Jan 28 - Call for testers.
-* 2024 Feb 4 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
-* 2024 Feb 18 - `develop` is locked, only critical bugfix PRs merged.
-* 2024 Feb 22 - `master` is locked, no PRs merged.
-* 2024 Feb 25 - Merge `develop` to `master`.
-* 2024 Feb 25 - `master` is unlocked. PRs can be merged again.
+* 2024 Feb 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
+* 2024 Apr 28 - `develop` closed to new PRs.
+* 2024 Apr 28 - Call for testers.
+* 2024 May 5 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
+* 2024 May 19 - `develop` is locked, only critical bugfix PRs merged.
+* 2024 May 23 - `master` is locked, no PRs merged.
+* 2024 May 26 - Merge `develop` to `master`.
+* 2024 May 26 - `master` is unlocked. PRs can be merged again.
## What changes will be included?
@@ -48,7 +48,7 @@ Criteria for acceptance:
Strongly suggested:
-* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20240225`.
+* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20240526`.
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PRs ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.
diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md
index 4ab890294b..6e304685b5 100644
--- a/docs/breaking_changes_history.md
+++ b/docs/breaking_changes_history.md
@@ -2,6 +2,7 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
+* [2024 Feb 25](ChangeLog/20240225.md) - version 0.24.0
* [2023 Nov 26](ChangeLog/20231126.md) - version 0.23.0
* [2023 Aug 27](ChangeLog/20230827.md) - version 0.22.0
* [2023 May 28](ChangeLog/20230528.md) - version 0.21.0
diff --git a/docs/config_options.md b/docs/config_options.md
index 8119b9e356..045d9c0747 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -223,7 +223,7 @@ If you define these options you will enable the associated feature, which may in
* Adds ability to [blink](feature_rgblight.md?id=lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action).
* `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF`
* If defined, then [lighting layers](feature_rgblight?id=overriding-rgb-lighting-onoff-status) will be shown even if RGB Light is off.
-* `#define RGBLED_NUM 12`
+* `#define RGBLIGHT_LED_COUNT 12`
* number of LEDs
* `#define RGBLIGHT_SPLIT`
* Needed if both halves of the board have RGB LEDs wired directly to the RGB output pin on the controllers instead of passing the output of the left half to the input of the right half
@@ -275,7 +275,7 @@ There are a few different ways to set handedness for split keyboards (listed in
* For using high/low pin to determine handedness, low = right hand, high = left hand. Replace `B7` with the pin you are using. This is optional, and if you leave `SPLIT_HAND_PIN` undefined, then you can still use the EE_HANDS method or MASTER_LEFT / MASTER_RIGHT defines like the stock Let's Split uses.
* `#define SPLIT_HAND_MATRIX_GRID <out_pin>,<in_pin>`
- * The handedness is determined by using the intersection of the keyswitches in the key matrix, which does not exist. Normally, when this intersection is shorted (level low), it is considered left. If you define `#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, it is determined to be right when the level is low.
+ * The handedness is determined by using the intersection of the keyswitches in the key matrix, which does not exist. Normally, when this intersection is shorted (level low), it is considered right. If you define `#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT`, it is determined to be left when the level is low.
* `#define EE_HANDS` (only works if `SPLIT_HAND_PIN` and `SPLIT_HAND_MATRIX_GRID` are not defined)
* Reads the handedness value stored in the EEPROM after `eeprom-lefthand.eep`/`eeprom-righthand.eep` has been flashed to their respective halves.
diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md
index 957633837c..bc3b28bbba 100644
--- a/docs/custom_quantum_functions.md
+++ b/docs/custom_quantum_functions.md
@@ -119,11 +119,11 @@ void keyboard_pre_init_user(void) {
// Call the keyboard pre init code.
// Set our LED pins as output
- setPinOutput(B0);
- setPinOutput(B1);
- setPinOutput(B2);
- setPinOutput(B3);
- setPinOutput(B4);
+ gpio_set_pin_output(B0);
+ gpio_set_pin_output(B1);
+ gpio_set_pin_output(B2);
+ gpio_set_pin_output(B3);
+ gpio_set_pin_output(B4);
}
```
diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md
index 3b2c0b74dc..0440d6a4aa 100644
--- a/docs/driver_installation_zadig.md
+++ b/docs/driver_installation_zadig.md
@@ -70,13 +70,13 @@ The device name here is the name that appears in Zadig, and may not be what the
|Bootloader |Device Name |VID/PID |Driver |
|--------------|------------------------------|--------------|-------|
-|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |libusb0|
-|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |libusb0|
-|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |libusb0|
-|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |libusb0|
-|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |libusb0|
-|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |libusb0|
-|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|libusb0|
+|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |WinUSB |
+|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |WinUSB |
+|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |WinUSB |
+|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |WinUSB |
+|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |WinUSB |
+|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |WinUSB |
+|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|WinUSB |
|`halfkay` |*none* |`16C0:0478` |HidUsb |
|`caterina` |Pro Micro 3.3V |`1B4F:9203` |usbser |
|`caterina` |Pro Micro 5V |`1B4F:9205` |usbser |
diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md
index 4239cdfd2a..564760be92 100644
--- a/docs/feature_bootmagic.md
+++ b/docs/feature_bootmagic.md
@@ -1,8 +1,8 @@
-# Bootmagic Lite :id=bootmagic-lite
+# Bootmagic :id=bootmagic
-The Bootmagic Lite feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button, giving you a way to jump into the bootloader
+The Bootmagic feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button, giving you a way to jump into the bootloader
-On some keyboards Bootmagic Lite is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with:
+On some keyboards Bootmagic is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with:
```make
BOOTMAGIC_ENABLE = yes
@@ -11,15 +11,15 @@ BOOTMAGIC_ENABLE = yes
Additionally, you may want to specify which key to use. This is especially useful for keyboards that have unusual matrices. To do so, you need to specify the row and column of the key that you want to use. Add these entries to your `config.h` file:
```c
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 1
+#define BOOTMAGIC_ROW 0
+#define BOOTMAGIC_COLUMN 1
```
By default, these are set to 0 and 0, which is usually the "ESC" key on a majority of keyboards.
And to trigger the bootloader, you hold this key down when plugging the keyboard in. Just the single key.
-!> Using Bootmagic Lite will **always reset** the EEPROM, so you will lose any settings that have been saved.
+!> Using Bootmagic will **always reset** the EEPROM, so you will lose any settings that have been saved.
## Split Keyboards
@@ -44,35 +44,35 @@ When [handedness](feature_split_keyboard.md#setting-handedness) is predetermined
}
```
-If you pick the top right key for the right half, it is `R05` on the top layout. Within the key matrix below, `R05` is located on row 4 columnn 4. To use that key as the right half's Bootmagic Lite trigger, add these entries to your `config.h` file:
+If you pick the top right key for the right half, it is `R05` on the top layout. Within the key matrix below, `R05` is located on row 4 columnn 4. To use that key as the right half's Bootmagic trigger, add these entries to your `config.h` file:
```c
-#define BOOTMAGIC_LITE_ROW_RIGHT 4
-#define BOOTMAGIC_LITE_COLUMN_RIGHT 4
+#define BOOTMAGIC_ROW_RIGHT 4
+#define BOOTMAGIC_COLUMN_RIGHT 4
```
?> These values are not set by default.
-## Advanced Bootmagic Lite
+## Advanced Bootmagic
-The `bootmagic_lite` function is defined weakly, so that you can replace this in your code, if you need. A great example of this is the Zeal60 boards that have some additional handling needed.
+The `bootmagic_scan` function is defined weakly, so that you can replace this in your code, if you need. A great example of this is the Zeal60 boards that have some additional handling needed.
To replace the function, all you need to do is add something like this to your code:
```c
-void bootmagic_lite(void) {
+void bootmagic_scan(void) {
matrix_scan();
wait_ms(DEBOUNCE * 2);
matrix_scan();
- if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {
+ if (matrix_get_row(BOOTMAGIC_ROW) & (1 << BOOTMAGIC_COLUMN)) {
// Jump to bootloader.
bootloader_jump();
}
}
```
-You can define additional logic here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic Lite. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware.
+You can define additional logic here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic. Keep in mind that `bootmagic_scan` is called before a majority of features are initialized in the firmware.
## Addenda
diff --git a/docs/feature_converters.md b/docs/feature_converters.md
index 11bdbed576..62c214e246 100644
--- a/docs/feature_converters.md
+++ b/docs/feature_converters.md
@@ -19,6 +19,7 @@ The following converters are available at this time:
| `promicro` | `elite_pi` |
| `promicro` | `helios` |
| `promicro` | `liatris` |
+| `promicro` | `imera` |
| `promicro` | `michi` |
| `elite_c` | `stemcell` |
| `elite_c` | `rp2040_ce` |
@@ -82,6 +83,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` |
| [Liatris](https://splitkb.com/products/liatris) | `liatris` |
+| [Imera](https://splitkb.com/products/imera) | `imera` |
| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |
Converter summary:
@@ -99,6 +101,7 @@ Converter summary:
| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |
| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` |
+| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` |
| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |
### Proton C :id=proton_c
diff --git a/docs/feature_dip_switch.md b/docs/feature_dip_switch.md
index 6fbe91657d..0e31f5acae 100644
--- a/docs/feature_dip_switch.md
+++ b/docs/feature_dip_switch.md
@@ -20,6 +20,27 @@ or
#define DIP_SWITCH_MATRIX_GRID { {0,6}, {1,6}, {2,6} } // List of row and col pairs
```
+## DIP Switch map :id=dip-switch-map
+
+DIP Switch mapping may be added to your `keymap.c`, which replicates the normal keyswitch functionality, but with dip switches. Add this to your keymap's `rules.mk`:
+
+```make
+DIP_SWITCH_MAP_ENABLE = yes
+```
+
+Your `keymap.c` will then need a dip switch mapping defined (for two dip switches):
+
+```c
+#if defined(DIP_SWITCH_MAP_ENABLE)
+const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
+ DIP_SWITCH_OFF_ON(DF(0), DF(1)),
+ DIP_SWITCH_OFF_ON(EC_NORM, EC_SWAP)
+};
+#endif
+```
+
+?> This should only be enabled at the keymap level.
+
## Callbacks
The callback functions can be inserted into your `<keyboard>.c`:
diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md
index 7b699aef17..0e4529b2eb 100644
--- a/docs/feature_joystick.md
+++ b/docs/feature_joystick.md
@@ -50,10 +50,6 @@ Axes can be configured using one of the following macros:
* `JOYSTICK_AXIS_IN(input_pin, low, rest, high)`
The ADC samples the provided pin. `low`, `high` and `rest` correspond to the minimum, maximum, and resting (or centered) analog values of the axis, respectively.
- * `JOYSTICK_AXIS_IN_OUT(input_pin, output_pin, low, rest, high)`
- Same as `JOYSTICK_AXIS_IN()`, but the provided `output_pin` will be pulled high before `input_pin` is read.
- * `JOYSTICK_AXIS_IN_OUT_GROUND(input_pin, output_pin, ground_pin, low, rest, high)`
- Same as `JOYSTICK_AXIS_IN_OUT()`, but the provided `ground_pin` will be pulled low before reading from `input_pin`.
* `JOYSTICK_AXIS_VIRTUAL`
No ADC reading is performed. The value should be provided by user code.
@@ -160,12 +156,8 @@ Describes a single axis.
#### Members :id=api-joystick-config-t-members
- - `pin_t output_pin`
- A pin to set as output high when reading the analog value, or `JS_VIRTUAL_AXIS`.
- `pin_t input_pin`
The pin to read the analog value from, or `JS_VIRTUAL_AXIS`.
- - `pin_t ground_pin`
- A pin to set as output low when reading the analog value, or `JS_VIRTUAL_AXIS`.
- `uint16_t min_digit`
The minimum analog value.
- `uint16_t mid_digit`
diff --git a/docs/feature_led_indicators.md b/docs/feature_led_indicators.md
index 1f71cdb1c8..b35a174490 100644
--- a/docs/feature_led_indicators.md
+++ b/docs/feature_led_indicators.md
@@ -56,16 +56,16 @@ This is a template indicator function that can be implemented on keyboard level
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
- // writePin sets the pin high for 1 and low for 0.
+ // gpio_write_pin sets the pin high for 1 and low for 0.
// In this example the pins are inverted, setting
// it low/0 turns it on, and high/1 turns the LED off.
// This behavior depends on whether the LED is between the pin
// and VCC or the pin and GND.
- writePin(B0, !led_state.num_lock);
- writePin(B1, !led_state.caps_lock);
- writePin(B2, !led_state.scroll_lock);
- writePin(B3, !led_state.compose);
- writePin(B4, !led_state.kana);
+ gpio_write_pin(B0, !led_state.num_lock);
+ gpio_write_pin(B1, !led_state.caps_lock);
+ gpio_write_pin(B2, !led_state.scroll_lock);
+ gpio_write_pin(B3, !led_state.compose);
+ gpio_write_pin(B4, !led_state.kana);
}
return res;
}
diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md
index b1ce09d349..3a3a9dbf84 100644
--- a/docs/feature_led_matrix.md
+++ b/docs/feature_led_matrix.md
@@ -54,7 +54,7 @@ For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
@@ -65,7 +65,7 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
}
```
-Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
+Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-mono.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
---
### IS31FLCOMMON :id=is31flcommon
@@ -142,8 +142,8 @@ const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
* driver
* | LED address
* | | */
- { 0, CS1_SW1 },
- { 0, CS2_SW1 },
+ { 0, SW1_CS1 },
+ { 0, SW1_CS2 },
// ...
}
```
@@ -357,7 +357,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
```c
#define LED_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses)
#define LED_MATRIX_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off
-#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define LED_MATRIX_SLEEP // turn off effects when suspended
#define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs
@@ -365,6 +365,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
#define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set
#define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#define LED_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
+#define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set
#define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
// If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
```
diff --git a/docs/feature_macros.md b/docs/feature_macros.md
index c7d6c1a918..f0533f14fe 100644
--- a/docs/feature_macros.md
+++ b/docs/feature_macros.md
@@ -69,9 +69,9 @@ The current list of available languages is:
| **italian_osx_iso** | **jis** | **latvian** | **lithuanian_azerty** |
| **lithuanian_qwerty** | **norman** | **norwegian** | **portuguese** |
| **portuguese_osx_iso** | **romanian** | **serbian_latin** | **slovak** |
-| **slovenian** | **spanish_dvorak** | **spanish** | **swedish** |
-| **turkish_f** | **turkish_q** | **uk** | **us_international** |
-| **workman** | **workman_zxcvm** |
+| **slovenian** | **spanish_dvorak** | **spanish_latin_america** | **spanish** |
+| **swedish** | **turkish_f** | **turkish_q** | **uk** |
+| **us_international** | **workman** | **workman_zxcvm** |
### Macro Basics
diff --git a/docs/feature_os_detection.md b/docs/feature_os_detection.md
index 907638bcfa..a50ee7ccc2 100644
--- a/docs/feature_os_detection.md
+++ b/docs/feature_os_detection.md
@@ -14,7 +14,7 @@ In your `rules.mk` add:
OS_DETECTION_ENABLE = yes
```
-Include `"os_detection.h"` in your `keymap.c`.
+It will automatically include the required headers file.
It declares `os_variant_t detected_host_os(void);` which you can call to get detected OS.
It returns one of the following values:
@@ -32,6 +32,54 @@ enum {
?> Note that it takes some time after firmware is booted to detect the OS.
This time is quite short, probably hundreds of milliseconds, but this data may be not ready in keyboard and layout setup functions which run very early during firmware startup.
+## Callbacks :id=callbacks
+
+If you want to perform custom actions when the OS is detected, then you can use the `process_detected_host_os_kb` function on the keyboard level source file, or `process_detected_host_os_user` function in the user `keymap.c`.
+
+```c
+bool process_detected_host_os_kb(os_variant_t detected_os) {
+ if (!process_detected_host_os_user(detected_os)) {
+ return false;
+ }
+ switch (detected_os) {
+ case OS_MACOS:
+ case OS_IOS:
+ rgb_matrix_set_color_all(RGB_WHITE);
+ break;
+ case OS_WINDOWS:
+ rgb_matrix_set_color_all(RGB_BLUE);
+ break;
+ case OS_LINUX:
+ rgb_matrix_set_color_all(RGB_ORANGE);
+ break;
+ case OS_UNSURE:
+ rgb_matrix_set_color_all(RGB_RED);
+ break;
+ }
+
+ return true;
+}
+```
+
+## OS detection stability
+
+The OS detection is currently handled while the USB device descriptor is being assembled.
+The process is done in steps, generating a number of intermediate results until it stabilizes.
+We therefore resort to debouncing the result until it has been stable for a given amount of milliseconds.
+This amount can be configured, in case your board is not stable within the default debouncing time of 200ms.
+
+## KVM and USB switches
+
+Some KVM and USB switches may not trigger the USB controller on the keyboard to fully reset upon switching machines.
+If your keyboard does not redetect the OS in this situation, you can force the keyboard to reset when the USB initialization event is detected, forcing the USB controller to be reconfigured.
+
+## Configuration Options
+
+* `#define OS_DETECTION_DEBOUNCE 200`
+ * defined the debounce time for OS detection, in milliseconds
+* `#define OS_DETECTION_KEYBOARD_RESET`
+ * enables the keyboard reset upon a USB device reinitilization, such as switching devices on some KVMs
+
## Debug
If OS is guessed incorrectly, you may want to collect data about USB setup packets to refine the detection logic.
diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md
index 0ac0069ff8..b091dec08b 100644
--- a/docs/feature_pointing_device.md
+++ b/docs/feature_pointing_device.md
@@ -69,10 +69,29 @@ The Analog Joystick is an analog (ADC) driven sensor. There are a variety of jo
| `ANALOG_JOYSTICK_Y_AXIS_PIN` | (Required) The pin used for the horizontal/Y axis. | _not defined_ |
| `ANALOG_JOYSTICK_AXIS_MIN` | (Optional) Sets the lower range to be considered movement. | `0` |
| `ANALOG_JOYSTICK_AXIS_MAX` | (Optional) Sets the upper range to be considered movement. | `1023` |
+| `ANALOG_JOYSTICK_AUTO_AXIS` | (Optional) Sets ranges to be considered movement automatically. | _not defined_ |
| `ANALOG_JOYSTICK_SPEED_REGULATOR` | (Optional) The divisor used to slow down movement. (lower makes it faster) | `20` |
| `ANALOG_JOYSTICK_READ_INTERVAL` | (Optional) The interval in milliseconds between reads. | `10` |
| `ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maximum value used for motion. | `2` |
| `ANALOG_JOYSTICK_CLICK_PIN` | (Optional) The pin wired up to the press switch of the analog stick. | _not defined_ |
+| `ANALOG_JOYSTICK_WEIGHTS` | (Optional) Use custom weights for lever positions. | _not defined_ |
+| `ANALOG_JOYSTICK_CUTOFF` | (Optional) Cut off movement when joystick returns to start position. | _not defined_ |
+
+If `ANALOG_JOYSTICK_AUTO_AXIS` is used, then `ANALOG_JOYSTICK_AXIS_MIN` and `ANALOG_JOYSTICK_AXIS_MAX` are ignored.
+
+By default analog joystick implementation uses `x^2` weighting for lever positions. `ANALOG_JOYSTICK_WEIGHTS` allows to experiment with different configurations that might feel better.
+
+E.g. This is weights for `((x-0.4)^3+0.064)/0.282`:
+
+```c
+#define ANALOG_JOYSTICK_WEIGHTS {0,2,4,5,7,8,9,10,12,13,14,15,15,16,17,18,18,19,19,20,20,21,21,21,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,25,25,25,26,26,26,27,28,28,29,29,30,31,32,33,34,35,36,37,38,40,41,43,44,46,48,49,51,53,56,58,60,62,65,68,70,73,76,79,82,85,89,92,96,100}
+```
+
+You can use following JS code to generate weights for different formulas:
+
+```js
+JSON.stringify(Array.from(Array(101).keys()).map(x => Math.ceil((((x/100-0.4)**3+0.064)/0.282*100))))
+```
### Azoteq IQS5XX Trackpad
@@ -158,12 +177,13 @@ This supports the Cirque Pinnacle 1CA027 Touch Controller, which is used in the
#### Common settings
-| Setting | Description | Default |
-| -------------------------------- | ---------------------------------------------------------- | ------------------------------------------- |
-| `CIRQUE_PINNACLE_DIAMETER_MM` | (Optional) Diameter of the trackpad sensor in millimeters. | `40` |
-| `CIRQUE_PINNACLE_ATTENUATION` | (Optional) Sets the attenuation of the sensor data. | `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_4X` |
-| `CIRQUE_PINNACLE_CURVED_OVERLAY` | (Optional) Applies settings tuned for curved overlay. | _not defined_ |
-| `CIRQUE_PINNACLE_POSITION_MODE` | (Optional) Mode of operation. | _not defined_ |
+| Setting | Description | Default |
+| ------------------------------------ | ---------------------------------------------------------- | ------------------------------------------- |
+| `CIRQUE_PINNACLE_DIAMETER_MM` | (Optional) Diameter of the trackpad sensor in millimeters. | `40` |
+| `CIRQUE_PINNACLE_ATTENUATION` | (Optional) Sets the attenuation of the sensor data. | `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_4X` |
+| `CIRQUE_PINNACLE_CURVED_OVERLAY` | (Optional) Applies settings tuned for curved overlay. | _not defined_ |
+| `CIRQUE_PINNACLE_POSITION_MODE` | (Optional) Mode of operation. | _not defined_ |
+| `CIRQUE_PINNACLE_SKIP_SENSOR_CHECK` | (Optional) Skips sensor presence check | _not defined_ |
**`CIRQUE_PINNACLE_ATTENUATION`** is a measure of how much data is suppressed in regards to sensitivity. The higher the attenuation, the less sensitive the touchpad will be.
@@ -197,12 +217,13 @@ Also see the `POINTING_DEVICE_TASK_THROTTLE_MS`, which defaults to 10ms when usi
#### Absolute mode settings
-| Setting | Description | Default |
-| -------------------------------- | ---------------------------------------------------------- | ------------------ |
-| `CIRQUE_PINNACLE_X_LOWER` | (Optional) The minimum reachable X value on the sensor. | `127` |
-| `CIRQUE_PINNACLE_X_UPPER` | (Optional) The maximum reachable X value on the sensor. | `1919` |
-| `CIRQUE_PINNACLE_Y_LOWER` | (Optional) The minimum reachable Y value on the sensor. | `63` |
-| `CIRQUE_PINNACLE_Y_UPPER` | (Optional) The maximum reachable Y value on the sensor. | `1471` |
+| Setting | Description | Default |
+|-----------------------------------------|-------------------------------------------------------------------------|-------------|
+| `CIRQUE_PINNACLE_X_LOWER` | (Optional) The minimum reachable X value on the sensor. | `127` |
+| `CIRQUE_PINNACLE_X_UPPER` | (Optional) The maximum reachable X value on the sensor. | `1919` |
+| `CIRQUE_PINNACLE_Y_LOWER` | (Optional) The minimum reachable Y value on the sensor. | `63` |
+| `CIRQUE_PINNACLE_Y_UPPER` | (Optional) The maximum reachable Y value on the sensor. | `1471` |
+| `CIRQUE_PINNACLE_REACHABLE_CALIBRATION` | (Optional) Enable console messages to aide in calibrating above values. | not defined |
#### Absolute mode gestures
@@ -708,6 +729,7 @@ There are a few ways to control the auto mouse feature with both `config.h` opti
| `AUTO_MOUSE_TIME` | (Optional) Time layer remains active after activation | _ideally_ (250-1000) | _ms_ | `650 ms` |
| `AUTO_MOUSE_DELAY` | (Optional) Lockout time after non-mouse key is pressed | _ideally_ (100-1000) | _ms_ | `TAPPING_TERM` or `200 ms` |
| `AUTO_MOUSE_DEBOUNCE` | (Optional) Time delay from last activation to next update | _ideally_ (10 - 100) | _ms_ | `25 ms` |
+| `AUTO_MOUSE_THRESHOLD` | (Optional) Amount of mouse movement required to switch layers | 0 - | _units_ | `10 units` |
### Adding mouse keys
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index 824ff50648..d05d768ceb 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -55,7 +55,7 @@ For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -139,19 +139,19 @@ Currently only 4 drivers are supported, but it would be trivial to support all 8
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, B_1, A_1, C_1},
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
....
}
```
-Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/led/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
+Where `SWx_CSy` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/led/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
---
### IS31FL3736 :id=is31fl3736
@@ -218,14 +218,14 @@ Here is an example using 2 drivers.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const is31fl3736_led_t PROGMEM g_is31fl3736_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, B_1, A_1, C_1},
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
....
}
```
@@ -292,19 +292,19 @@ Here is an example using 2 drivers.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, B_1, A_1, C_1},
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
....
}
```
-Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1`, `2`, or `3` for now).
+Where `SWx_CSy` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1`, `2`, or `3` for now).
---
### IS31FLCOMMON :id=is31flcommon
@@ -386,7 +386,7 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1},
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
....
}
```
@@ -501,7 +501,7 @@ Here is an example using 2 drivers.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
-const aw20216s_led_t PROGMEM g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Each AW20216S channel is controlled by a register at some offset between 0x00
* and 0xD7 inclusive.
* See drivers/led/aw20216s.h for the mapping between register offsets and
@@ -511,16 +511,16 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- { 0, CS1_SW1, CS2_SW1, CS3_SW1 },
- { 0, CS4_SW1, CS5_SW1, CS6_SW1 },
- { 0, CS7_SW1, CS8_SW1, CS9_SW1 },
- { 0, CS10_SW1, CS11_SW1, CS12_SW1 },
- { 0, CS13_SW1, CS14_SW1, CS15_SW1 },
+ { 0, SW1_CS1, SW1_CS2, SW1_CS3 },
+ { 0, SW1_CS4, SW1_CS5, SW1_CS6 },
+ { 0, SW1_CS7, SW1_CS8, SW1_CS9 },
+ { 0, SW1_CS10, SW1_CS11, SW1_CS12 },
+ { 0, SW1_CS13, SW1_CS14, SW1_CS15 },
...
- { 1, CS1_SW1, CS2_SW1, CS3_SW1 },
- { 1, CS13_SW1, CS14_SW1, CS15_SW1 },
- { 1, CS16_SW1, CS17_SW1, CS18_SW1 },
- { 1, CS4_SW2, CS5_SW2, CS6_SW2 },
+ { 1, SW1_CS1, SW1_CS2, SW1_CS3 },
+ { 1, SW1_CS13, SW1_CS14, SW1_CS15 },
+ { 1, SW1_CS16, SW1_CS17, SW1_CS18 },
+ { 1, SW2_CS4, SW2_CS5, SW2_CS6 },
...
};
```
@@ -869,16 +869,17 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
```c
#define RGB_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses)
#define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
+#define RGB_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
#define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set
#define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set
-#define RGB_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set
#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
+#define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set
#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
// If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 8a64454b0d..b7ba075731 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -33,13 +33,13 @@ RGBLIGHT_DRIVER = apa102
At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
-|Define |Description |
-|---------------|-------------------------------------------------------------------------|
-|`WS2812_DI_PIN`|The pin connected to the data pin of the LEDs (WS2812) |
-|`APA102_DI_PIN`|The pin connected to the data pin of the LEDs (APA102) |
-|`APA102_CI_PIN`|The pin connected to the clock pin of the LEDs (APA102) |
-|`RGBLED_NUM` |The number of LEDs connected |
-|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half|
+|Define |Description |
+|--------------------|-------------------------------------------------------------------------|
+|`WS2812_DI_PIN` |The pin connected to the data pin of the LEDs (WS2812) |
+|`APA102_DI_PIN` |The pin connected to the data pin of the LEDs (APA102) |
+|`APA102_CI_PIN` |The pin connected to the clock pin of the LEDs (APA102) |
+|`RGBLIGHT_LED_COUNT`|The number of LEDs connected |
+|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half|
Then you should be able to use the keycodes below to change the RGB lighting to your liking.
@@ -152,28 +152,28 @@ Use these defines to add or remove animations from the firmware. When you are ru
The following options are used to tweak the various animations:
-|Define |Default |Description |
-|------------------------------------|-------------|-----------------------------------------------------------------------------------------------|
-|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined*|If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 |
-|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 |
-|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`40` |How long (in milliseconds) to wait between animation steps for the "Christmas" animation |
-|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation |
-|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel |
-|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
-|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
-|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls |
-|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
-|`RGBLIGHT_EFFECT_TWINKLE_LIFE` |`200` |Adjusts how quickly each LED brightens and dims when twinkling (in animation steps) |
-|`RGBLIGHT_EFFECT_TWINKLE_PROBABILITY`|`1/127` |Adjusts how likely each LED is to twinkle (on each animation step) |
+|Define |Default |Description |
+|------------------------------------|--------------------|-----------------------------------------------------------------------------------------------|
+|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined* |If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 |
+|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 |
+|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`40` |How long (in milliseconds) to wait between animation steps for the "Christmas" animation |
+|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation |
+|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLIGHT_LED_COUNT`|The number of LEDs to have the "Knight" animation travel |
+|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
+|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
+|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls |
+|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
+|`RGBLIGHT_EFFECT_TWINKLE_LIFE` |`200` |Adjusts how quickly each LED brightens and dims when twinkling (in animation steps) |
+|`RGBLIGHT_EFFECT_TWINKLE_PROBABILITY`|`1/127` |Adjusts how likely each LED is to twinkle (on each animation step) |
### Example Usage to Reduce Memory Footprint
1. Use `#undef` to selectively disable animations. The following would disable two animations and save about 4KiB:
```diff
- #undef RGBLED_NUM
+ #undef RGBLIGHT_LED_COUNT
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
```
@@ -386,10 +386,10 @@ rgblight_set(); // Utility functions do not call rgblight_set() automatically, s
#### direct operation
|Function |Description |
|--------------------------------------------|-------------|
-|`rgblight_setrgb_at(r, g, b, index)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) |
-|`rgblight_sethsv_at(h, s, v, index)` |Set a single LED to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) |
-|`rgblight_setrgb_range(r, g, b, start, end)`|Set a continuous range of LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)|
-|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)|
+|`rgblight_setrgb_at(r, g, b, index)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `index` is between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM) |
+|`rgblight_sethsv_at(h, s, v, index)` |Set a single LED to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `index` is between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM) |
+|`rgblight_setrgb_range(r, g, b, start, end)`|Set a continuous range of LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `start`(included) and `stop`(excluded) are between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM)|
+|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM)|
|`rgblight_setrgb(r, g, b)` |Set effect range LEDs to the given RGB value where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_setrgb_master(r, g, b)` |Set the LEDs on the master side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_setrgb_slave(r, g, b)` |Set the LEDs on the slave side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
@@ -519,7 +519,7 @@ By defining `RGBLIGHT_LED_MAP` as in the example below, you can specify the LED
```c
// config.h
-#define RGBLED_NUM 4
+#define RGBLIGHT_LED_COUNT 4
#define RGBLIGHT_LED_MAP { 3, 2, 1, 0 }
```
@@ -541,7 +541,7 @@ In addition to setting the Clipping Range, you can use `RGBLIGHT_LED_MAP` togeth
```c
// config.h
-#define RGBLED_NUM 8
+#define RGBLIGHT_LED_COUNT 8
#define RGBLIGHT_LED_MAP { 7, 6, 5, 4, 3, 2, 1, 0 }
// some source
diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md
index 8f695a2b7c..59159cb3fa 100644
--- a/docs/feature_split_keyboard.md
+++ b/docs/feature_split_keyboard.md
@@ -119,12 +119,12 @@ You can configure the firmware to read key matrix pins on the controller to dete
The first pin is the output pin and the second is the input pin.
-Some keyboards have unused intersections in the key matrix. This setting uses one of these unused intersections to determine the handness.
+Some keyboards have unused intersections in the key matrix. This setting uses one of these unused intersections to determine the handedness.
-Normally, when a diode is connected to an intersection, it is judged to be left. If you add the following definition, it will be judged to be right.
+Normally, when a diode is connected to an intersection, it is judged to be right. If you add the following definition, it will be judged to be left.
```c
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
```
Note that adding a diode at a previously unused intersection will effectively tell the firmware that there is a key held down at that point. You can instruct qmk to ignore that intersection by defining `MATRIX_MASKED` and then defining a `matrix_row_t matrix_mask[MATRIX_ROWS]` array in your keyboard config. Each bit of a single value (starting form the least-significant bit) is used to tell qmk whether or not to pay attention to key presses at that intersection.
diff --git a/docs/feature_tap_dance.md b/docs/feature_tap_dance.md
index 42ea233962..bb1c2c8034 100644
--- a/docs/feature_tap_dance.md
+++ b/docs/feature_tap_dance.md
@@ -173,7 +173,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case TD(CT_CLN): // list all tap dance keycodes with tap-hold configurations
- action = &tap_dance_actions[TD_INDEX(keycode)];
+ action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)];
if (!record->event.pressed && action->state.count && !action->state.finished) {
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data;
tap_code16(tap_hold->tap);
diff --git a/docs/gpio_control.md b/docs/gpio_control.md
index 12413dfc8e..90798fc87b 100644
--- a/docs/gpio_control.md
+++ b/docs/gpio_control.md
@@ -2,29 +2,29 @@
QMK has a GPIO control abstraction layer which is microcontroller agnostic. This is done to allow easy access to pin control across different platforms.
-## Functions :id=functions
-
-The following functions provide basic control of GPIOs and are found in `platforms/<platform>/gpio.h`.
-
-| Function | Description | Old AVR Examples | Old ChibiOS/ARM Examples |
-|------------------------------|-----------------------------------------------------|-------------------------------------------------|--------------------------------------------------|
-| `setPinInput(pin)` | Set pin as input with high impedance (High-Z) | `DDRB &= ~(1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT)` |
-| `setPinInputHigh(pin)` | Set pin as input with builtin pull-up resistor | `DDRB &= ~(1<<2); PORTB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_INPUT_PULLUP)` |
-| `setPinInputLow(pin)` | Set pin as input with builtin pull-down resistor | N/A (Not supported on AVR) | `palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN)` |
-| `setPinOutput(pin)` | Set pin as output (alias of `setPinOutputPushPull`) | `DDRB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL)` |
-| `setPinOutputPushPull(pin)` | Set pin as output, push/pull mode | `DDRB \|= (1<<2)` | `palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL)` |
-| `setPinOutputOpenDrain(pin)` | Set pin as output, open-drain mode | N/A (Not implemented on AVR) | `palSetLineMode(pin, PAL_MODE_OUTPUT_OPENDRAIN)` |
-| `writePinHigh(pin)` | Set pin level as high, assuming it is an output | `PORTB \|= (1<<2)` | `palSetLine(pin)` |
-| `writePinLow(pin)` | Set pin level as low, assuming it is an output | `PORTB &= ~(1<<2)` | `palClearLine(pin)` |
-| `writePin(pin, level)` | Set pin level, assuming it is an output | `(level) ? PORTB \|= (1<<2) : PORTB &= ~(1<<2)` | `(level) ? palSetLine(pin) : palClearLine(pin)` |
-| `readPin(pin)` | Returns the level of the pin | `_SFR_IO8(pin >> 4) & _BV(pin & 0xF)` | `palReadLine(pin)` |
-| `togglePin(pin)` | Invert pin level, assuming it is an output | `PORTB ^= (1<<2)` | `palToggleLine(pin)` |
+## Macros :id=macros
+
+The following macros provide basic control of GPIOs and are found in `platforms/<platform>/gpio.h`.
+
+|Macro |Description |
+|-------------------------------------|---------------------------------------------------------------------|
+|`gpio_set_pin_input(pin)` |Set pin as input with high impedance (High-Z) |
+|`gpio_set_pin_input_high(pin)` |Set pin as input with builtin pull-up resistor |
+|`gpio_set_pin_input_low(pin)` |Set pin as input with builtin pull-down resistor (unavailable on AVR)|
+|`gpio_set_pin_output(pin)` |Set pin as output (alias of `gpio_set_pin_output_push_pull`) |
+|`gpio_set_pin_output_push_pull(pin)` |Set pin as output, push/pull mode |
+|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR and ATSAM) |
+|`gpio_write_pin_high(pin)` |Set pin level as high, assuming it is an output |
+|`gpio_write_pin_low(pin)` |Set pin level as low, assuming it is an output |
+|`gpio_write_pin(pin, level)` |Set pin level, assuming it is an output |
+|`gpio_read_pin(pin)` |Returns the level of the pin |
+|`gpio_toggle_pin(pin)` |Invert pin level, assuming it is an output |
## Advanced Settings :id=advanced-settings
-Each microcontroller can have multiple advanced settings regarding its GPIO. This abstraction layer does not limit the use of architecture-specific functions. Advanced users should consult the datasheet of their desired device and include any needed libraries. For AVR, the standard avr/io.h library is used; for STM32, the ChibiOS [PAL library](https://chibios.sourceforge.net/docs3/hal/group___p_a_l.html) is used.
+Each microcontroller can have multiple advanced settings regarding its GPIO. This abstraction layer does not limit the use of architecture-specific functions. Advanced users should consult the datasheet of their desired device. For AVR, the standard `avr/io.h` library is used; for STM32, the ChibiOS [PAL library](https://chibios.sourceforge.net/docs3/hal/group___p_a_l.html) is used.
-## Atomic Operation
+## Atomic Operation :id=atomic-operation
The above functions are not always guaranteed to work atomically. Therefore, if you want to prevent interruptions in the middle of operations when using multiple combinations of the above functions, use the following `ATOMIC_BLOCK_FORCEON` macro.
diff --git a/docs/hardware_keyboard_guidelines.md b/docs/hardware_keyboard_guidelines.md
index fb434e1576..684ccc73f6 100644
--- a/docs/hardware_keyboard_guidelines.md
+++ b/docs/hardware_keyboard_guidelines.md
@@ -169,11 +169,11 @@ The `post_rules.mk` file can interpret `features` of a keyboard-level before `co
ifeq ($(strip $(RGBLED_OPTION_TYPE)),backlight)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_NUM=30
+ OPT_DEFS += -DRGBLIGHT_LED_COUNT=30
endif
ifeq ($(strip $(RGBLED_OPTION_TYPE)),underglow)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_NUM=6
+ OPT_DEFS += -DRGBLIGHT_LED_COUNT=6
endif
```
diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md
index faff0a1d7b..9a3c08b90b 100644
--- a/docs/i2c_driver.md
+++ b/docs/i2c_driver.md
@@ -127,8 +127,8 @@ This function is weakly defined, meaning it can be overridden if necessary for y
```c
void i2c_init(void) {
- setPinInput(B6); // Try releasing special pins for a short time
- setPinInput(B7);
+ gpio_set_pin_input(B6); // Try releasing special pins for a short time
+ gpio_set_pin_input(B7);
wait_ms(10); // Wait for the release to happen
palSetPadMode(GPIOB, 6, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_PUPDR_PULLUP); // Set B6 to I2C function
@@ -138,23 +138,6 @@ void i2c_init(void) {
---
-### `i2c_status_t i2c_start(uint8_t address, uint16_t timeout)` :id=api-i2c-start
-
-Start an I2C transaction.
-
-#### Arguments :id=api-i2c-start-arguments
-
- - `uint8_t address`
- The 7-bit I2C address of the device (ie. without the read/write bit - this will be set automatically).
- - `uint16_t timeout`
- The time in milliseconds to wait for a response from the target device.
-
-#### Return Value :id=api-i2c-start-return
-
-`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
-
----
-
### `i2c_status_t i2c_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout)` :id=api-i2c-transmit
Send multiple bytes to the selected I2C device.
@@ -197,11 +180,11 @@ Receive multiple bytes from the selected I2C device.
---
-### `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-writereg
+### `i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-write-register
Writes to a register with an 8-bit address on the I2C device.
-#### Arguments :id=api-i2c-writereg-arguments
+#### Arguments :id=api-i2c-write-register-arguments
- `uint8_t devaddr`
The 7-bit I2C address of the device.
@@ -214,17 +197,17 @@ Writes to a register with an 8-bit address on the I2C device.
- `uint16_t timeout`
The time in milliseconds to wait for a response from the target device.
-#### Return Value :id=api-i2c-writereg-return
+#### Return Value :id=api-i2c-write-register-return
`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
---
-### `i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-writereg16
+### `i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-write-register16
Writes to a register with a 16-bit address (big endian) on the I2C device.
-#### Arguments :id=api-i2c-writereg16-arguments
+#### Arguments :id=api-i2c-write-register16-arguments
- `uint8_t devaddr`
The 7-bit I2C address of the device.
@@ -237,17 +220,17 @@ Writes to a register with a 16-bit address (big endian) on the I2C device.
- `uint16_t timeout`
The time in milliseconds to wait for a response from the target device.
-#### Return Value :id=api-i2c-writereg16-return
+#### Return Value :id=api-i2c-write-register16-return
`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
---
-### `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-readreg
+### `i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-read-register
Reads from a register with an 8-bit address on the I2C device.
-#### Arguments :id=api-i2c-readreg-arguments
+#### Arguments :id=api-i2c-read-register-arguments
- `uint8_t devaddr`
The 7-bit I2C address of the device.
@@ -258,17 +241,17 @@ Reads from a register with an 8-bit address on the I2C device.
- `uint16_t timeout`
The time in milliseconds to wait for a response from the target device.
-#### Return Value :id=api-i2c-readreg-return
+#### Return Value :id=api-i2c-read-register-return
`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
---
-### `i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)`
+### `i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-read-register16
Reads from a register with a 16-bit address (big endian) on the I2C device.
-#### Arguments :id=api-i2c-readreg16-arguments
+#### Arguments :id=api-i2c-read-register16-arguments
- `uint8_t devaddr`
The 7-bit I2C address of the device.
@@ -279,12 +262,27 @@ Reads from a register with a 16-bit address (big endian) on the I2C device.
- `uint16_t timeout`
The time in milliseconds to wait for a response from the target device.
-#### Return Value :id=api-i2c-readreg16-return
+#### Return Value :id=api-i2c-read-register16-return
`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
---
-### `i2c_status_t i2c_stop(void)` :id=api-i2c-stop
+### `i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout)` :id=api-i2c-ping-address
-Stop the current I2C transaction.
+Pings the I2C bus for a specific address.
+
+On ChibiOS a "best effort" attempt is made by reading a single byte from register 0 at the requested address. This should generally work except for I2C devices that do not not respond to a register 0 read request, which will result in a false negative result (unsucessful response to ping attempt).
+
+This function is weakly defined, meaning it can be overridden if necessary for your particular use case:
+
+#### Arguments
+
+ - `uint8_t address`
+ The 7-bit I2C address of the device (ie. without the read/write bit - this will be set automatically).
+ - `uint16_t timeout`
+ The time in milliseconds to wait for a response from the target device.
+
+#### Return Value
+
+`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md
index 5e98da5eee..a349081d6a 100644
--- a/docs/ja/config_options.md
+++ b/docs/ja/config_options.md
@@ -248,7 +248,7 @@ QMK ã§ã®å…¨ã¦ã®åˆ©ç”¨å¯èƒ½ãªè¨­å®šã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãŒã‚ã‚Šã¾ã™ã€‚ã
* high/low ピンを使ã£ã¦å·¦å³ã‚’決定ã—ã¾ã™ã€‚low = å³æ‰‹ã€high = 左手。`B7` を使ã£ã¦ã„るピンã«ç½®ãæ›ãˆã¾ã™ã€‚ã“ã‚Œã¯ã‚ªãƒ—ションã§ã€`SPLIT_HAND_PIN` ãŒæœªå®šç¾©ã®ã¾ã¾ã§ã‚ã‚‹å ´åˆã€EE_HANDS メソッドã¾ãŸã¯æ¨™æº–ã® Let's SplitãŒä½¿ã£ã¦ã„ã‚‹ MASTER_LEFT / MASTER_RIGHT 定義をã¾ã ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
* `#define SPLIT_HAND_MATRIX_GRID <out_pin>,<in_pin>`
- * å·¦å³ã¯ã‚­ãƒ¼ãƒžãƒˆãƒªãƒƒã‚¯ã‚¹ã®ã‚­ãƒ¼ã‚¹ã‚¤ãƒƒãƒãŒå­˜åœ¨ã—ãªã„交点を使ã£ã¦æ±ºå®šã•ã‚Œã¾ã™ã€‚通常ã€ã“ã®äº¤ç‚¹ãŒçŸ­çµ¡ã—ã¦ã„ã‚‹(ローレベル)ã®ã¨ãã«å·¦å´ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚ã‚‚ã— `#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT` ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ãƒ­ãƒ¼ãƒ¬ãƒ™ãƒ«ã®æ™‚ã«å³å´ã¨æ±ºå®šã•ã‚Œã¾ã™ã€‚
+ * å·¦å³ã¯ã‚­ãƒ¼ãƒžãƒˆãƒªãƒƒã‚¯ã‚¹ã®ã‚­ãƒ¼ã‚¹ã‚¤ãƒƒãƒãŒå­˜åœ¨ã—ãªã„交点を使ã£ã¦æ±ºå®šã•ã‚Œã¾ã™ã€‚通常ã€ã“ã®äº¤ç‚¹ãŒçŸ­çµ¡ã—ã¦ã„ã‚‹(ローレベル)ã®ã¨ãã«å³å´ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚ã‚‚ã— `#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT` ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ãƒ­ãƒ¼ãƒ¬ãƒ™ãƒ«ã®æ™‚ã«å·¦å´ã¨æ±ºå®šã•ã‚Œã¾ã™ã€‚
* `#define EE_HANDS` (`SPLIT_HAND_PIN` 㨠`SPLIT_HAND_MATRIX_GRID` ãŒå®šç¾©ã•ã‚Œã¦ã„ãªã„å ´åˆã®ã¿å‹•ä½œã—ã¾ã™)
* `eeprom-lefthand.eep`/`eeprom-righthand.eep` ãŒãã‚Œãžã‚Œã®åŠåˆ†ã«æ›¸ãè¾¼ã¾ã‚ŒãŸå¾Œã§ã€EEPROM 内ã«æ ¼ç´ã•ã‚Œã¦ã„ã‚‹å·¦å³ã®è¨­å®šã®å€¤ã‚’読ã¿è¾¼ã¿ã¾ã™ã€‚
diff --git a/docs/ja/feature_bootmagic.md b/docs/ja/feature_bootmagic.md
index 2ad6fc8531..c146176a7e 100644
--- a/docs/ja/feature_bootmagic.md
+++ b/docs/ja/feature_bootmagic.md
@@ -139,8 +139,8 @@ BOOTMAGIC_ENABLE = lite
ã•ã‚‰ã«ã€ã©ã®ã‚­ãƒ¼ã‚’使ã†ã‹ã‚’指定ã—ãŸã»ã†ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯æ™®é€šã§ã¯ãªã„マトリックスをæŒã¤ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã§ç‰¹ã«ä¾¿åˆ©ã§ã™ã€‚ãã®ãŸã‚ã«ã¯ã€ä½¿ã„ãŸã„キーã®è¡Œã¨åˆ—を指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚`config.h` ファイルã«ã“れらã®ã‚¨ãƒ³ãƒˆãƒªã‚’追加ã—ã¾ã™:
```c
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 1
+#define BOOTMAGIC_ROW 0
+#define BOOTMAGIC_COLUMN 1
```
デフォルトã§ã¯ã€ã“れら㯠0 㨠0 ã«è¨­å®šã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯é€šå¸¸ã¯ã»ã¨ã‚“ã©ã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã§ "ESC" キーã§ã™ã€‚
@@ -154,8 +154,8 @@ BOOTMAGIC_ENABLE = lite
`SPLIT_HAND_PIN` ã®ã‚ˆã†ãªã‚ªãƒ—ションã§ã€å·¦å³ã®è¨­å®šãŒã‚らã‹ã˜ã‚決ã‚られã¦ã„ã‚‹å ´åˆã¯ã€ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®å·¦å³ã§åˆ¥ã®ã‚­ãƒ¼ã‚’設定ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“れを行ã†ã«ã¯ã€`config.h` ファイルã«ä»¥ä¸‹ã®ã‚¨ãƒ³ãƒˆãƒªã‚’追加ã—ã¾ã™ã€‚
```c
-#define BOOTMAGIC_LITE_ROW_RIGHT 4
-#define BOOTMAGIC_LITE_COLUMN_RIGHT 1
+#define BOOTMAGIC_ROW_RIGHT 4
+#define BOOTMAGIC_COLUMN_RIGHT 1
```
デフォルトã§ã¯ã€ã“れらã®å€¤ã¯è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。
@@ -172,7 +172,7 @@ void bootmagic_lite(void) {
wait_ms(DEBOUNCE * 2);
matrix_scan();
- if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {
+ if (matrix_get_row(BOOTMAGIC_ROW) & (1 << BOOTMAGIC_COLUMN)) {
// ブートローダã«ã‚¸ãƒ£ãƒ³ãƒ—ã™ã‚‹ã€‚
bootloader_jump();
}
diff --git a/docs/ja/feature_split_keyboard.md b/docs/ja/feature_split_keyboard.md
index 3bdf96d1c7..c84b782d87 100644
--- a/docs/ja/feature_split_keyboard.md
+++ b/docs/ja/feature_split_keyboard.md
@@ -108,10 +108,10 @@ SPLIT_TRANSPORT = custom
キーマトリックスã«æœªä½¿ç”¨ã®äº¤ç‚¹ãŒã‚るキーボードãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨­å®šã¯ã€å·¦å³ã®æ±ºå®šã«ã“れらã®æœªä½¿ç”¨ã®äº¤ç‚¹ã®1ã¤ã‚’使用ã—ã¾ã™ã€‚
-通常ã€ãƒ€ã‚¤ã‚ªãƒ¼ãƒ‰ãŒäº¤ç‚¹ã«æŽ¥ç¶šã•ã‚Œã¦ã„ã‚‹å ´åˆã€å·¦å´ã¨åˆ¤æ–­ã•ã‚Œã¾ã™ã€‚次ã®å®šç¾©ã‚’追加ã™ã‚‹ã¨ã€å³å´ã¨åˆ¤æ–­ã•ã‚Œã¾ã™ã€‚
+通常ã€ãƒ€ã‚¤ã‚ªãƒ¼ãƒ‰ãŒäº¤ç‚¹ã«æŽ¥ç¶šã•ã‚Œã¦ã„ã‚‹å ´åˆã€å³å´ã¨åˆ¤æ–­ã•ã‚Œã¾ã™ã€‚次ã®å®šç¾©ã‚’追加ã™ã‚‹ã¨ã€å·¦å´ã¨åˆ¤æ–­ã•ã‚Œã¾ã™ã€‚
```c
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
```
#### EEPROM ã«ã‚ˆã‚‹å·¦å³ã®è¨­å®š
diff --git a/docs/ja/i2c_driver.md b/docs/ja/i2c_driver.md
index 1d8f70e163..92c4185370 100644
--- a/docs/ja/i2c_driver.md
+++ b/docs/ja/i2c_driver.md
@@ -23,12 +23,11 @@ I2C アドレスã¨ä»–ã®æŠ€è¡“詳細ã«ã¤ã„ã¦ã€ã•ã‚‰ãªã‚‹æƒ…報を得るã
| 関数 | 説明 |
|-------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `void i2c_init(void);` | I2C ドライãƒã‚’åˆæœŸåŒ–ã—ã¾ã™ã€‚ä»–ã®ã‚らゆるトランザクションを開始ã™ã‚‹å‰ã«ã€ã“ã®é–¢æ•°ã‚’一度ã ã‘呼ã¶å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ |
-| `i2c_status_t i2c_start(uint8_t address, uint16_t timeout);` | I2C トランザクションを開始ã—ã¾ã™ã€‚アドレスã¯æ–¹å‘ビットã®ãªã„7ビットスレーブアドレスã§ã™ã€‚ |
| `i2c_status_t i2c_transmit(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout);` | I2C 経由ã§ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã—ã¾ã™ã€‚アドレスã¯æ–¹å‘ビットã®ãªã„7ビットスレーブアドレスã§ã™ã€‚トランザクションã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚ |
| `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout);` | I2C 経由ã§ãƒ‡ãƒ¼ã‚¿ã‚’å—ä¿¡ã—ã¾ã™ã€‚アドレスã¯æ–¹å‘ビットã®ãªã„7ビットスレーブアドレスã§ã™ã€‚ `length` ã§æŒ‡å®šã—ãŸé•·ã•ã®ãƒã‚¤ãƒˆåˆ—ã‚’ `data` ã«ä¿å­˜ã—ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚ |
| `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);` | `i2c_transmit` ã¨åŒæ§˜ã§ã™ãŒã€ `regaddr` ã§ã‚¹ãƒ¬ãƒ¼ãƒ–ã®ãƒ‡ãƒ¼ã‚¿æ›¸ãè¾¼ã¿å…ˆã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’指定ã—ã¾ã™ã€‚ |
| `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);` | `i2c_receive` ã¨åŒæ§˜ã§ã™ãŒã€ `regaddr` ã§ã‚¹ãƒ¬ãƒ¼ãƒ–ã®ãƒ‡ãƒ¼ã‚¿èª­ã¿è¾¼ã¿å…ˆã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’指定ã—ã¾ã™ã€‚ |
-| `i2c_status_t i2c_stop(void);` | I2C トランザクションを終了ã—ã¾ã™ã€‚ |
+| `i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout);` | I2C アドレスをテストã—ã¾ã™ã€‚アドレスã¯æ–¹å‘ビットã®ãªã„7ビットスレーブアドレスã§ã™ã€‚ |
### 関数ã®æˆ»ã‚Šå€¤ :id=function-return
diff --git a/docs/platformdev_rp2040.md b/docs/platformdev_rp2040.md
index 890dadb6f0..593a8198eb 100644
--- a/docs/platformdev_rp2040.md
+++ b/docs/platformdev_rp2040.md
@@ -2,7 +2,7 @@
The following table shows the current driver status for peripherals on RP2040 MCUs:
-| System | Support |
+| System | Support |
| ---------------------------------------------------------------- | ---------------------------------------------- |
| [ADC driver](adc_driver.md) | :heavy_check_mark: |
| [Audio](audio_driver.md#pwm-hardware) | :heavy_check_mark: |
@@ -13,7 +13,7 @@ The following table shows the current driver status for peripherals on RP2040 MC
| [External EEPROMs](eeprom_driver.md) | :heavy_check_mark: using `I2C` or `SPI` driver |
| [EEPROM emulation](eeprom_driver.md#wear_leveling-configuration) | :heavy_check_mark: |
| [serial driver](serial_driver.md) | :heavy_check_mark: using `SIO` or `PIO` driver |
-| [UART driver](uart_driver.md) | Support planned (no ETA) |
+| [UART driver](uart_driver.md) | :heavy_check_mark: using `SIO` driver |
## GPIO
@@ -52,6 +52,13 @@ To configure the I2C driver please read the [ChibiOS/ARM](i2c_driver.md#arm-conf
To configure the SPI driver please read the [ChibiOS/ARM](spi_driver.md#chibiosarm-configuration) section.
+### UART Driver
+
+| RP2040 Peripheral | `mcuconf.h` values | `UART_DRIVER` |
+| ----------------- | ------------------ | ------------- |
+| `UART0` | `RP_SIO_USE_UART0` | `SIOD0` |
+| `UART1` | `RP_SIO_USE_UART1` | `SIOD1` |
+
## Double-tap reset boot-loader entry :id=double-tap
The double-tap reset mechanism is an alternate way in QMK to enter the embedded mass storage UF2 boot-loader of the RP2040. It enables bootloader entry by a fast double-tap of the reset pin on start up, which is similar to the behavior of AVR Pro Micros. This feature activated by default for the Pro Micro RP2040 board, but has to be configured for other boards. To activate it, add the following options to your keyboards `config.h` file:
@@ -87,6 +94,10 @@ This is the default board that is chosen, unless any other RP2040 board is selec
| `SOFT_SERIAL_PIN` | undefined, use `SERIAL_USART_TX_PIN` |
| `SERIAL_USART_TX_PIN` | `GP0` |
| `SERIAL_USART_RX_PIN` | `GP1` |
+| **UART driver** | |
+| `UART_DRIVER` | `SIOD0` |
+| `UART_TX_PIN` | `GP0` |
+| `UART_RX_PIN` | `GP1` |
?> The pin-outs of Adafruit's KB2040 and Boardsource's Blok both deviate from the Sparkfun Pro Micro RP2040. Lookup the pin-out of these boards and adjust your keyboards pin definition accordingly if you want to use these boards.
diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md
index 181abf8bb3..7f524b07ee 100644
--- a/docs/quantum_painter.md
+++ b/docs/quantum_painter.md
@@ -19,18 +19,21 @@ The QMK CLI can be used to convert from normal images such as PNG files or anima
Supported devices:
-| Display Panel | Panel Type | Size | Comms Transport | Driver |
-|---------------|--------------------|------------------|-----------------|------------------------------------------|
-| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` |
-| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` |
-| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` |
-| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` |
-| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` |
-| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` |
-| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` |
-| SH1106 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` |
-| SH1106 (I2C) | Monochrome OLED | 128x64 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` |
-| Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += surface` |
+| Display Panel | Panel Type | Size | Comms Transport | Driver |
+|----------------|--------------------|------------------|-----------------|------------------------------------------|
+| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` |
+| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` |
+| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` |
+| ILI9486 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9486_spi` |
+| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` |
+| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` |
+| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` |
+| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` |
+| SH1106 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` |
+| SH1106 (I2C) | Monochrome OLED | 128x64 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` |
+| SSD1306 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` |
+| SSD1306 (I2C) | Monochrome OLED | 128x32 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` |
+| Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += surface` |
## Quantum Painter Configuration :id=quantum-painter-config
@@ -279,6 +282,39 @@ The maximum number of displays can be configured by changing the following in yo
Native color format rgb565 is compatible with ILI9341
+#### ** ILI9486 **
+
+Enabling support for the ILI9486 in Quantum Painter is done by adding the following to `rules.mk`:
+
+```make
+QUANTUM_PAINTER_ENABLE = yes
+QUANTUM_PAINTER_DRIVERS += ili9486_spi
+```
+
+Creating a ILI9486 device in firmware can then be done with the following API:
+
+```c
+painter_device_t qp_ili9486_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+```
+
+There's another variant for this [Waveshare module](https://www.waveshare.com/wiki/3.5inch_TFT_Touch_Shield), because it has a quirky SPI->Parallel converter. You can create it with:
+
+```c
+painter_device_t qp_ili9486_make_spi_waveshare_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+```
+
+The device handle returned from these functions can be used to perform all other drawing operations.
+
+The maximum number of displays can be configured by changing the following in your `config.h` (default is 1):
+
+```c
+// 3 displays:
+#define ILI9486_NUM_DEVICES 3
+```
+
+Native color format rgb888 is compatible with ILI9486
+Native color format rgb565 is compatible with ILI9486 Waveshare
+
#### ** ILI9488 **
Enabling support for the ILI9488 in Quantum Painter is done by adding the following to `rules.mk`:
@@ -433,6 +469,10 @@ The maximum number of displays of each type can be configured by changing the fo
Native color format mono2 is compatible with SH1106
+#### ** SSD1306 **
+
+SSD1306 and SH1106 are almost entirely identical, to the point of being indisinguishable by Quantum Painter. Enable SH1106 support in Quantum Painter and create SH1106 devices in firmware to perform drawing operations on SSD1306 displays.
+
<!-- tabs:end -->
### ** Surface **
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index e102b9bfb9..796db1f244 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -111,6 +111,13 @@ Configures the [APA102](apa102_driver.md) driver.
Configures the [Audio](feature_audio.md) feature.
* `audio`
+ * `default`
+ * `on`
+ * The default audio enabled state.
+ * Default: `true`
+ * `clicky`
+ * The default audio clicky enabled state.
+ * Default: `true`
* `macro_beep`
* Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros.
* Default: `false`
@@ -626,7 +633,7 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
* The default animation speed.
* Default: `128`
* `driver` (Required)
- * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.
+ * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.
* `hue_steps`
* The number of hue adjustment steps.
* Default: `8`
diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md
index 84751a512c..cf2ab28876 100644
--- a/docs/reference_keymap_extras.md
+++ b/docs/reference_keymap_extras.md
@@ -36,6 +36,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` |
|French (BÉPO) |`keymap_bepo.h` |`sendstring_bepo.h` |
|French (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` |
+|French (Canada) |`keymap_canadian_french.h` |`sendstring_canadian_french.h` |
|French (Switzerland) |`keymap_swiss_fr.h` |`sendstring_swiss_fr.h` |
|French (macOS, ISO) |`keymap_french_mac_iso.h` |`sendstring_french_mac_iso.h` |
|German |`keymap_german.h` |`sendstring_german.h` |
@@ -67,6 +68,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|Slovenian |`keymap_slovenian.h` |`sendstring_slovenian.h` |
|Spanish |`keymap_spanish.h` |`sendstring_spanish.h` |
|Spanish (Dvorak) |`keymap_spanish_dvorak.h` |`sendstring_spanish_dvorak.h` |
+|Spanish (Latin America) |`keymap_spanish_latin_america.h` |`sendstring_spanish_latin_america.h`|
|Swedish |`keymap_swedish.h` |`sendstring_swedish.h` |
|Swedish (macOS, ANSI) |`keymap_swedish_mac_ansi.h` | |
|Swedish (macOS, ISO) |`keymap_swedish_mac_iso.h` | |
diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md
index af015b4b18..c3b9e5595e 100644
--- a/docs/squeezing_avr.md
+++ b/docs/squeezing_avr.md
@@ -210,6 +210,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
* [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040)
* [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop)
* [Liatris](https://splitkb.com/products/liatris)
+* [Imera](https://splitkb.com/products/imera)
* [Michi](https://github.com/ci-bus/michi-promicro-rp2040)
There are other, non-Pro Micro compatible boards out there. The most popular being:
diff --git a/docs/uart_driver.md b/docs/uart_driver.md
index a88278d543..9b0a92d23d 100644
--- a/docs/uart_driver.md
+++ b/docs/uart_driver.md
@@ -32,13 +32,7 @@ No special setup is required - just connect the `RX` and `TX` pins of your UART
You'll need to determine which pins can be used for UART -- as an example, STM32 parts generally have multiple UART peripherals, labeled USART1, USART2, USART3 etc.
-To enable UART, modify your board's `halconf.h` to enable the serial driver:
-
-```c
-#define HAL_USE_SERIAL TRUE
-```
-
-Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
+To enable UART, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
```c
#undef STM32_SERIAL_USE_USART2
@@ -47,17 +41,17 @@ Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, fo
Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303.
-|`config.h` override |Description |Default Value|
-|--------------------------|---------------------------------------------------------------|-------------|
-|`#define SERIAL_DRIVER` |USART peripheral to use - USART1 -> `SD1`, USART2 -> `SD2` etc.|`SD1` |
-|`#define SD1_TX_PIN` |The pin to use for TX |`A9` |
-|`#define SD1_TX_PAL_MODE` |The alternate function mode for TX |`7` |
-|`#define SD1_RX_PIN` |The pin to use for RX |`A10` |
-|`#define SD1_RX_PAL_MODE` |The alternate function mode for RX |`7` |
-|`#define SD1_CTS_PIN` |The pin to use for CTS |`A11` |
-|`#define SD1_CTS_PAL_MODE`|The alternate function mode for CTS |`7` |
-|`#define SD1_RTS_PIN` |The pin to use for RTS |`A12` |
-|`#define SD1_RTS_PAL_MODE`|The alternate function mode for RTS |`7` |
+| `config.h` override | Description | Default Value |
+| --------------------------- | --------------------------------------------------------------- | ------------- |
+| `#define UART_DRIVER` | USART peripheral to use - USART1 -> `SD1`, USART2 -> `SD2` etc. | `SD1` |
+| `#define UART_TX_PIN` | The pin to use for TX | `A9` |
+| `#define UART_TX_PAL_MODE` | The alternate function mode for TX | `7` |
+| `#define UART_RX_PIN` | The pin to use for RX | `A10` |
+| `#define UART_RX_PAL_MODE` | The alternate function mode for RX | `7` |
+| `#define UART_CTS_PIN` | The pin to use for CTS | `A11` |
+| `#define UART_CTS_PAL_MODE` | The alternate function mode for CTS | `7` |
+| `#define UART_RTS_PIN` | The pin to use for RTS | `A12` |
+| `#define UART_RTS_PAL_MODE` | The alternate function mode for RTS | `7` |
## API :id=api
diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp
index 39c14ddd13..218eca2195 100644
--- a/drivers/bluetooth/bluefruit_le.cpp
+++ b/drivers/bluetooth/bluefruit_le.cpp
@@ -188,7 +188,7 @@ static bool sdep_recv_pkt(struct sdep_msg *msg, uint16_t timeout) {
bool ready = false;
do {
- ready = readPin(BLUEFRUIT_LE_IRQ_PIN);
+ ready = gpio_read_pin(BLUEFRUIT_LE_IRQ_PIN);
if (ready) {
break;
}
@@ -231,7 +231,7 @@ static void resp_buf_read_one(bool greedy) {
return;
}
- if (readPin(BLUEFRUIT_LE_IRQ_PIN)) {
+ if (gpio_read_pin(BLUEFRUIT_LE_IRQ_PIN)) {
struct sdep_msg msg;
again:
@@ -242,7 +242,7 @@ static void resp_buf_read_one(bool greedy) {
dprintf("recv latency %dms\n", TIMER_DIFF_16(timer_read(), last_send));
}
- if (greedy && resp_buf.peek(last_send) && readPin(BLUEFRUIT_LE_IRQ_PIN)) {
+ if (greedy && resp_buf.peek(last_send) && gpio_read_pin(BLUEFRUIT_LE_IRQ_PIN)) {
goto again;
}
}
@@ -293,16 +293,16 @@ void bluefruit_le_init(void) {
state.configured = false;
state.is_connected = false;
- setPinInput(BLUEFRUIT_LE_IRQ_PIN);
+ gpio_set_pin_input(BLUEFRUIT_LE_IRQ_PIN);
spi_init();
// Perform a hardware reset
- setPinOutput(BLUEFRUIT_LE_RST_PIN);
- writePinHigh(BLUEFRUIT_LE_RST_PIN);
- writePinLow(BLUEFRUIT_LE_RST_PIN);
+ gpio_set_pin_output(BLUEFRUIT_LE_RST_PIN);
+ gpio_write_pin_high(BLUEFRUIT_LE_RST_PIN);
+ gpio_write_pin_low(BLUEFRUIT_LE_RST_PIN);
wait_ms(10);
- writePinHigh(BLUEFRUIT_LE_RST_PIN);
+ gpio_write_pin_high(BLUEFRUIT_LE_RST_PIN);
wait_ms(1000); // Give it a second to initialize
@@ -508,7 +508,7 @@ void bluefruit_le_task(void) {
resp_buf_read_one(true);
send_buf_send_one(SdepShortTimeout);
- if (resp_buf.empty() && (state.event_flags & UsingEvents) && readPin(BLUEFRUIT_LE_IRQ_PIN)) {
+ if (resp_buf.empty() && (state.event_flags & UsingEvents) && gpio_read_pin(BLUEFRUIT_LE_IRQ_PIN)) {
// Must be an event update
if (at_command_P(PSTR("AT+EVENTSTATUS"), resbuf, sizeof(resbuf))) {
uint32_t mask = strtoul(resbuf, NULL, 16);
diff --git a/drivers/eeprom/eeprom_i2c.c b/drivers/eeprom/eeprom_i2c.c
index a74a010415..0d3d5ccbe5 100644
--- a/drivers/eeprom/eeprom_i2c.c
+++ b/drivers/eeprom/eeprom_i2c.c
@@ -57,8 +57,8 @@ void eeprom_driver_init(void) {
i2c_init();
#if defined(EXTERNAL_EEPROM_WP_PIN)
/* We are setting the WP pin to high in a way that requires at least two bit-flips to change back to 0 */
- writePin(EXTERNAL_EEPROM_WP_PIN, 1);
- setPinInputHigh(EXTERNAL_EEPROM_WP_PIN);
+ gpio_write_pin(EXTERNAL_EEPROM_WP_PIN, 1);
+ gpio_set_pin_input_high(EXTERNAL_EEPROM_WP_PIN);
#endif
}
@@ -100,8 +100,8 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) {
uintptr_t target_addr = (uintptr_t)addr;
#if defined(EXTERNAL_EEPROM_WP_PIN)
- setPinOutput(EXTERNAL_EEPROM_WP_PIN);
- writePin(EXTERNAL_EEPROM_WP_PIN, 0);
+ gpio_set_pin_output(EXTERNAL_EEPROM_WP_PIN);
+ gpio_write_pin(EXTERNAL_EEPROM_WP_PIN, 0);
#endif
while (len > 0) {
@@ -134,7 +134,7 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) {
#if defined(EXTERNAL_EEPROM_WP_PIN)
/* We are setting the WP pin to high in a way that requires at least two bit-flips to change back to 0 */
- writePin(EXTERNAL_EEPROM_WP_PIN, 1);
- setPinInputHigh(EXTERNAL_EEPROM_WP_PIN);
+ gpio_write_pin(EXTERNAL_EEPROM_WP_PIN, 1);
+ gpio_set_pin_input_high(EXTERNAL_EEPROM_WP_PIN);
#endif
}
diff --git a/drivers/encoder/encoder_quadrature.c b/drivers/encoder/encoder_quadrature.c
new file mode 100644
index 0000000000..cd589bf1e2
--- /dev/null
+++ b/drivers/encoder/encoder_quadrature.c
@@ -0,0 +1,213 @@
+// Copyright 2018 Jack Humbert <jack.humb@gmail.com>
+// Copyright 2018-2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include <stdint.h>
+#include "encoder.h"
+#include "gpio.h"
+#include "keyboard.h"
+#include "action.h"
+#include "keycodes.h"
+#include "wait.h"
+
+#ifdef SPLIT_KEYBOARD
+# include "split_util.h"
+#endif
+
+// for memcpy
+#include <string.h>
+
+#if !defined(ENCODER_RESOLUTIONS) && !defined(ENCODER_RESOLUTION)
+# define ENCODER_RESOLUTION 4
+#endif
+
+#undef ENCODER_DEFAULT_PIN_API_IMPL
+#if defined(ENCODERS_PAD_A) && defined(ENCODERS_PAD_B)
+// Inform the quadrature driver that it needs to implement pin init/read functions
+# define ENCODER_DEFAULT_PIN_API_IMPL
+#endif
+
+extern volatile bool isLeftHand;
+
+__attribute__((weak)) void encoder_quadrature_init_pin(uint8_t index, bool pad_b);
+__attribute__((weak)) uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b);
+
+#ifdef ENCODER_DEFAULT_PIN_API_IMPL
+
+static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_A;
+static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_B;
+
+__attribute__((weak)) void encoder_wait_pullup_charge(void) {
+ wait_us(100);
+}
+
+__attribute__((weak)) void encoder_quadrature_init_pin(uint8_t index, bool pad_b) {
+ pin_t pin = pad_b ? encoders_pad_b[index] : encoders_pad_a[index];
+ if (pin != NO_PIN) {
+ gpio_set_pin_input_high(pin);
+ }
+}
+
+__attribute__((weak)) uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) {
+ pin_t pin = pad_b ? encoders_pad_b[index] : encoders_pad_a[index];
+ if (pin != NO_PIN) {
+ return gpio_read_pin(pin) ? 1 : 0;
+ }
+ return 0;
+}
+
+#endif // ENCODER_DEFAULT_PIN_API_IMPL
+
+#ifdef ENCODER_RESOLUTIONS
+static uint8_t encoder_resolutions[NUM_ENCODERS] = ENCODER_RESOLUTIONS;
+#endif
+
+#ifndef ENCODER_DIRECTION_FLIP
+# define ENCODER_CLOCKWISE true
+# define ENCODER_COUNTER_CLOCKWISE false
+#else
+# define ENCODER_CLOCKWISE false
+# define ENCODER_COUNTER_CLOCKWISE true
+#endif
+static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
+
+static uint8_t encoder_state[NUM_ENCODERS] = {0};
+static int8_t encoder_pulses[NUM_ENCODERS] = {0};
+
+// encoder counts
+static uint8_t thisCount;
+#ifdef SPLIT_KEYBOARD
+// encoder offsets for each hand
+static uint8_t thisHand, thatHand;
+// encoder counts for each hand
+static uint8_t thatCount;
+#endif
+
+__attribute__((weak)) void encoder_quadrature_post_init_kb(void) {
+ extern void encoder_quadrature_handle_read(uint8_t index, uint8_t pin_a_state, uint8_t pin_b_state);
+ // Unused normally, but can be used for things like setting up pin-change interrupts in keyboard code.
+ // During the interrupt, read the pins then call `encoder_handle_read()` with the pin states and it'll queue up an encoder event if needed.
+}
+
+void encoder_quadrature_post_init(void) {
+#ifdef ENCODER_DEFAULT_PIN_API_IMPL
+ for (uint8_t i = 0; i < thisCount; i++) {
+ encoder_quadrature_init_pin(i, false);
+ encoder_quadrature_init_pin(i, true);
+ }
+ encoder_wait_pullup_charge();
+ for (uint8_t i = 0; i < thisCount; i++) {
+ encoder_state[i] = (encoder_quadrature_read_pin(i, false) << 0) | (encoder_quadrature_read_pin(i, true) << 1);
+ }
+#else
+ memset(encoder_state, 0, sizeof(encoder_state));
+#endif
+
+ encoder_quadrature_post_init_kb();
+}
+
+void encoder_driver_init(void) {
+#ifdef SPLIT_KEYBOARD
+ thisHand = isLeftHand ? 0 : NUM_ENCODERS_LEFT;
+ thatHand = NUM_ENCODERS_LEFT - thisHand;
+ thisCount = isLeftHand ? NUM_ENCODERS_LEFT : NUM_ENCODERS_RIGHT;
+ thatCount = isLeftHand ? NUM_ENCODERS_RIGHT : NUM_ENCODERS_LEFT;
+#else // SPLIT_KEYBOARD
+ thisCount = NUM_ENCODERS;
+#endif
+
+#ifdef ENCODER_TESTS
+ // Annoying that we have to clear out values during initialisation here, but
+ // because all the arrays are static locals, rerunning tests in the same
+ // executable doesn't reset any of these. Kinda crappy having test-only code
+ // here, but it's the simplest solution.
+ memset(encoder_state, 0, sizeof(encoder_state));
+ memset(encoder_pulses, 0, sizeof(encoder_pulses));
+ const pin_t encoders_pad_a_left[] = ENCODERS_PAD_A;
+ const pin_t encoders_pad_b_left[] = ENCODERS_PAD_B;
+ for (uint8_t i = 0; i < thisCount; i++) {
+ encoders_pad_a[i] = encoders_pad_a_left[i];
+ encoders_pad_b[i] = encoders_pad_b_left[i];
+ }
+#endif
+
+#if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
+ // Re-initialise the pads if it's the right-hand side
+ if (!isLeftHand) {
+ const pin_t encoders_pad_a_right[] = ENCODERS_PAD_A_RIGHT;
+ const pin_t encoders_pad_b_right[] = ENCODERS_PAD_B_RIGHT;
+ for (uint8_t i = 0; i < thisCount; i++) {
+ encoders_pad_a[i] = encoders_pad_a_right[i];
+ encoders_pad_b[i] = encoders_pad_b_right[i];
+ }
+ }
+#endif // defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
+
+ // Encoder resolutions is defined differently in config.h, so concatenate
+#if defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS)
+# if defined(ENCODER_RESOLUTIONS_RIGHT)
+ static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS_RIGHT;
+# else // defined(ENCODER_RESOLUTIONS_RIGHT)
+ static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS;
+# endif // defined(ENCODER_RESOLUTIONS_RIGHT)
+ for (uint8_t i = 0; i < NUM_ENCODERS_RIGHT; i++) {
+ encoder_resolutions[NUM_ENCODERS_LEFT + i] = encoder_resolutions_right[i];
+ }
+#endif // defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS)
+
+ encoder_quadrature_post_init();
+}
+
+static void encoder_handle_state_change(uint8_t index, uint8_t state) {
+ uint8_t i = index;
+
+#ifdef SPLIT_KEYBOARD
+ index += thisHand;
+#endif
+
+#ifdef ENCODER_RESOLUTIONS
+ const uint8_t resolution = encoder_resolutions[index];
+#else
+ const uint8_t resolution = ENCODER_RESOLUTION;
+#endif
+
+ encoder_pulses[i] += encoder_LUT[state & 0xF];
+
+#ifdef ENCODER_DEFAULT_POS
+ if ((encoder_pulses[i] >= resolution) || (encoder_pulses[i] <= -resolution) || ((state & 0x3) == ENCODER_DEFAULT_POS)) {
+ if (encoder_pulses[i] >= 1) {
+#else
+ if (encoder_pulses[i] >= resolution) {
+#endif
+
+ encoder_queue_event(index, ENCODER_COUNTER_CLOCKWISE);
+ }
+
+#ifdef ENCODER_DEFAULT_POS
+ if (encoder_pulses[i] <= -1) {
+#else
+ if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise
+#endif
+ encoder_queue_event(index, ENCODER_CLOCKWISE);
+ }
+ encoder_pulses[i] %= resolution;
+#ifdef ENCODER_DEFAULT_POS
+ encoder_pulses[i] = 0;
+ }
+#endif
+}
+
+void encoder_quadrature_handle_read(uint8_t index, uint8_t pin_a_state, uint8_t pin_b_state) {
+ uint8_t state = pin_a_state | (pin_b_state << 1);
+ if ((encoder_state[index] & 0x3) != state) {
+ encoder_state[index] <<= 2;
+ encoder_state[index] |= state;
+ encoder_handle_state_change(index, encoder_state[index]);
+ }
+}
+
+__attribute__((weak)) void encoder_driver_task(void) {
+ for (uint8_t i = 0; i < thisCount; i++) {
+ encoder_quadrature_handle_read(i, encoder_quadrature_read_pin(i, false), encoder_quadrature_read_pin(i, true));
+ }
+}
diff --git a/drivers/gpio/mcp23018.c b/drivers/gpio/mcp23018.c
index 41cbfe087e..3eca4f9d34 100644
--- a/drivers/gpio/mcp23018.c
+++ b/drivers/gpio/mcp23018.c
@@ -33,13 +33,13 @@ bool mcp23018_set_config(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf)
uint8_t cmdDirection = port ? CMD_IODIRB : CMD_IODIRA;
uint8_t cmdPullup = port ? CMD_GPPUB : CMD_GPPUA;
- i2c_status_t ret = i2c_writeReg(addr, cmdDirection, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmdDirection, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_set_config::directionFAILED::%u\n", ret);
return false;
}
- ret = i2c_writeReg(addr, cmdPullup, &conf, sizeof(conf), TIMEOUT);
+ ret = i2c_write_register(addr, cmdPullup, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_set_config::pullupFAILED::%u\n", ret);
return false;
@@ -52,7 +52,7 @@ bool mcp23018_set_output(uint8_t slave_addr, mcp23018_port_t port, uint8_t conf)
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_GPIOB : CMD_GPIOA;
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_set_output::FAILED::%u\n", ret);
return false;
@@ -65,7 +65,7 @@ bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t conf[2] = {confA, confB};
- i2c_status_t ret = i2c_writeReg(addr, CMD_GPIOA, &conf[0], sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, CMD_GPIOA, &conf[0], sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_set_output::FAILED::%u\n", ret);
return false;
@@ -78,7 +78,7 @@ bool mcp23018_readPins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_GPIOB : CMD_GPIOA;
- i2c_status_t ret = i2c_readReg(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
+ i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_readPins::FAILED::%u\n", ret);
return false;
@@ -97,7 +97,7 @@ bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* out) {
data16 data = {.u16 = 0};
- i2c_status_t ret = i2c_readReg(addr, CMD_GPIOA, &data.u8[0], sizeof(data), TIMEOUT);
+ i2c_status_t ret = i2c_read_register(addr, CMD_GPIOA, &data.u8[0], sizeof(data), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_readPins::FAILED::%u\n", ret);
return false;
diff --git a/drivers/gpio/pca9505.c b/drivers/gpio/pca9505.c
index 5803746c96..5617a14a8b 100644
--- a/drivers/gpio/pca9505.c
+++ b/drivers/gpio/pca9505.c
@@ -41,8 +41,6 @@ void pca9505_init(uint8_t slave_addr) {
}
// TODO: could check device connected
- // i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE);
- // i2c_stop();
}
bool pca9505_set_config(uint8_t slave_addr, pca9505_port_t port, uint8_t conf) {
@@ -66,7 +64,7 @@ bool pca9505_set_config(uint8_t slave_addr, pca9505_port_t port, uint8_t conf) {
break;
}
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9505_set_config::FAILED\n");
return false;
@@ -96,7 +94,7 @@ bool pca9505_set_polarity(uint8_t slave_addr, pca9505_port_t port, uint8_t conf)
break;
}
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9505_set_polarity::FAILED\n");
return false;
@@ -126,7 +124,7 @@ bool pca9505_set_output(uint8_t slave_addr, pca9505_port_t port, uint8_t conf) {
break;
}
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9505_set_output::FAILED\n");
return false;
@@ -156,7 +154,7 @@ bool pca9505_readPins(uint8_t slave_addr, pca9505_port_t port, uint8_t* out) {
break;
}
- i2c_status_t ret = i2c_readReg(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
+ i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9505_readPins::FAILED\n");
return false;
diff --git a/drivers/gpio/pca9555.c b/drivers/gpio/pca9555.c
index adcd040083..0fc30099ac 100644
--- a/drivers/gpio/pca9555.c
+++ b/drivers/gpio/pca9555.c
@@ -29,15 +29,13 @@ void pca9555_init(uint8_t slave_addr) {
}
// TODO: could check device connected
- // i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE);
- // i2c_stop();
}
bool pca9555_set_config(uint8_t slave_addr, pca9555_port_t port, uint8_t conf) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0;
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_set_config::FAILED\n");
return false;
@@ -50,7 +48,7 @@ bool pca9555_set_output(uint8_t slave_addr, pca9555_port_t port, uint8_t conf) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0;
- i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, cmd, &conf, sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_set_output::FAILED\n");
return false;
@@ -63,7 +61,7 @@ bool pca9555_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t conf[2] = {confA, confB};
- i2c_status_t ret = i2c_writeReg(addr, CMD_OUTPUT_0, &conf[0], sizeof(conf), TIMEOUT);
+ i2c_status_t ret = i2c_write_register(addr, CMD_OUTPUT_0, &conf[0], sizeof(conf), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("pca9555_set_output::FAILED::%u\n", ret);
return false;
@@ -76,7 +74,7 @@ bool pca9555_readPins(uint8_t slave_addr, pca9555_port_t port, uint8_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0;
- i2c_status_t ret = i2c_readReg(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
+ i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_readPins::FAILED\n");
return false;
@@ -95,7 +93,7 @@ bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* out) {
data16 data = {.u16 = 0};
- i2c_status_t ret = i2c_readReg(addr, CMD_INPUT_0, &data.u8[0], sizeof(data), TIMEOUT);
+ i2c_status_t ret = i2c_read_register(addr, CMD_INPUT_0, &data.u8[0], sizeof(data), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_readPins_all::FAILED\n");
return false;
diff --git a/drivers/gpio/sn74x138.c b/drivers/gpio/sn74x138.c
index 222e5db56c..1cf8e54f56 100644
--- a/drivers/gpio/sn74x138.c
+++ b/drivers/gpio/sn74x138.c
@@ -27,39 +27,39 @@ static const pin_t address_pins[ADDRESS_PIN_COUNT] = SN74X138_ADDRESS_PINS;
void sn74x138_init(void) {
for (int i = 0; i < ADDRESS_PIN_COUNT; i++) {
- setPinOutput(address_pins[i]);
- writePinLow(address_pins[i]);
+ gpio_set_pin_output(address_pins[i]);
+ gpio_write_pin_low(address_pins[i]);
}
#if defined(SN74X138_E1_PIN)
- setPinOutput(SN74X138_E1_PIN);
- writePinHigh(SN74X138_E1_PIN);
+ gpio_set_pin_output(SN74X138_E1_PIN);
+ gpio_write_pin_high(SN74X138_E1_PIN);
#endif
#if defined(SN74X138_E2_PIN)
- setPinOutput(SN74X138_E2_PIN);
- writePinHigh(SN74X138_E2_PIN);
+ gpio_set_pin_output(SN74X138_E2_PIN);
+ gpio_write_pin_high(SN74X138_E2_PIN);
#endif
#if defined(SN74X138_E3_PIN)
- setPinOutput(SN74X138_E3_PIN);
- writePinLow(SN74X138_E3_PIN);
+ gpio_set_pin_output(SN74X138_E3_PIN);
+ gpio_write_pin_low(SN74X138_E3_PIN);
#endif
}
void sn74x138_set_enabled(bool enabled) {
#if defined(SN74X138_E1_PIN)
- writePin(SN74X138_E1_PIN, !enabled);
+ gpio_write_pin(SN74X138_E1_PIN, !enabled);
#endif
#if defined(SN74X138_E2_PIN)
- writePin(SN74X138_E2_PIN, !enabled);
+ gpio_write_pin(SN74X138_E2_PIN, !enabled);
#endif
#if defined(SN74X138_E3_PIN)
- writePin(SN74X138_E3_PIN, enabled);
+ gpio_write_pin(SN74X138_E3_PIN, enabled);
#endif
}
void sn74x138_set_addr(uint8_t address) {
for (int i = 0; i < ADDRESS_PIN_COUNT; i++) {
- writePin(address_pins[i], address & (1 << i));
+ gpio_write_pin(address_pins[i], address & (1 << i));
}
}
diff --git a/drivers/gpio/sn74x154.c b/drivers/gpio/sn74x154.c
index 5f21f12b55..6226adf27e 100644
--- a/drivers/gpio/sn74x154.c
+++ b/drivers/gpio/sn74x154.c
@@ -27,32 +27,32 @@ static const pin_t address_pins[ADDRESS_PIN_COUNT] = SN74X154_ADDRESS_PINS;
void sn74x154_init(void) {
for (int i = 0; i < ADDRESS_PIN_COUNT; i++) {
- setPinOutput(address_pins[i]);
- writePinLow(address_pins[i]);
+ gpio_set_pin_output(address_pins[i]);
+ gpio_write_pin_low(address_pins[i]);
}
#if defined(SN74X154_E0_PIN)
- setPinOutput(SN74X154_E0_PIN);
- writePinHigh(SN74X154_E0_PIN);
+ gpio_set_pin_output(SN74X154_E0_PIN);
+ gpio_write_pin_high(SN74X154_E0_PIN);
#endif
#if defined(SN74X154_E1_PIN)
- setPinOutput(SN74X154_E1_PIN);
- writePinHigh(SN74X154_E1_PIN);
+ gpio_set_pin_output(SN74X154_E1_PIN);
+ gpio_write_pin_high(SN74X154_E1_PIN);
#endif
}
void sn74x154_set_enabled(bool enabled) {
#if defined(SN74X154_E0_PIN)
- writePin(SN74X154_E0_PIN, !enabled);
+ gpio_write_pin(SN74X154_E0_PIN, !enabled);
#endif
#if defined(SN74X154_E1_PIN)
- writePin(SN74X154_E1_PIN, !enabled);
+ gpio_write_pin(SN74X154_E1_PIN, !enabled);
#endif
}
void sn74x154_set_addr(uint8_t address) {
for (int i = 0; i < ADDRESS_PIN_COUNT; i++) {
- writePin(address_pins[i], address & (1 << i));
+ gpio_write_pin(address_pins[i], address & (1 << i));
}
}
diff --git a/drivers/haptic/drv2605l.c b/drivers/haptic/drv2605l.c
index 1ad2ad385f..a5adde5366 100644
--- a/drivers/haptic/drv2605l.c
+++ b/drivers/haptic/drv2605l.c
@@ -29,7 +29,7 @@ void drv2605l_write(uint8_t reg_addr, uint8_t data) {
}
uint8_t drv2605l_read(uint8_t reg_addr) {
- i2c_readReg(DRV2605L_I2C_ADDRESS << 1, reg_addr, &drv2605l_read_buffer, 1, 100);
+ i2c_read_register(DRV2605L_I2C_ADDRESS << 1, reg_addr, &drv2605l_read_buffer, 1, 100);
return drv2605l_read_buffer;
}
diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c
index da4095cda4..346b88bbc4 100644
--- a/drivers/haptic/solenoid.c
+++ b/drivers/haptic/solenoid.c
@@ -61,7 +61,7 @@ void solenoid_set_dwell(uint8_t dwell) {
* @param index select which solenoid to check/stop
*/
void solenoid_stop(uint8_t index) {
- writePin(solenoid_pads[index], !solenoid_active_state[index]);
+ gpio_write_pin(solenoid_pads[index], !solenoid_active_state[index]);
solenoid_on[index] = false;
solenoid_buzzing[index] = false;
}
@@ -78,7 +78,7 @@ void solenoid_fire(uint8_t index) {
solenoid_on[index] = true;
solenoid_buzzing[index] = true;
solenoid_start[index] = timer_read();
- writePin(solenoid_pads[index], solenoid_active_state[index]);
+ gpio_write_pin(solenoid_pads[index], solenoid_active_state[index]);
}
/**
@@ -128,12 +128,12 @@ void solenoid_check(void) {
if ((elapsed[i] % (SOLENOID_BUZZ_ACTUATED + SOLENOID_BUZZ_NONACTUATED)) < SOLENOID_BUZZ_ACTUATED) {
if (!solenoid_buzzing[i]) {
solenoid_buzzing[i] = true;
- writePin(solenoid_pads[i], solenoid_active_state[i]);
+ gpio_write_pin(solenoid_pads[i], solenoid_active_state[i]);
}
} else {
if (solenoid_buzzing[i]) {
solenoid_buzzing[i] = false;
- writePin(solenoid_pads[i], !solenoid_active_state[i]);
+ gpio_write_pin(solenoid_pads[i], !solenoid_active_state[i]);
}
}
}
@@ -156,8 +156,8 @@ void solenoid_setup(void) {
#else
solenoid_active_state[i] = high;
#endif
- writePin(solenoid_pads[i], !solenoid_active_state[i]);
- setPinOutput(solenoid_pads[i]);
+ gpio_write_pin(solenoid_pads[i], !solenoid_active_state[i]);
+ gpio_set_pin_output(solenoid_pads[i]);
if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED)) {
solenoid_fire(i);
}
@@ -170,6 +170,6 @@ void solenoid_setup(void) {
*/
void solenoid_shutdown(void) {
for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) {
- writePin(solenoid_pads[i], !solenoid_active_state[i]);
+ gpio_write_pin(solenoid_pads[i], !solenoid_active_state[i]);
}
}
diff --git a/drivers/lcd/hd44780.c b/drivers/lcd/hd44780.c
index ccc50117ab..9b4e2f0226 100644
--- a/drivers/lcd/hd44780.c
+++ b/drivers/lcd/hd44780.c
@@ -57,67 +57,67 @@ static const pin_t data_pins[4] = HD44780_DATA_PINS;
#define HD44780_ENABLE_DELAY_US 1
static void hd44780_latch(void) {
- writePinHigh(HD44780_E_PIN);
+ gpio_write_pin_high(HD44780_E_PIN);
wait_us(HD44780_ENABLE_DELAY_US);
- writePinLow(HD44780_E_PIN);
+ gpio_write_pin_low(HD44780_E_PIN);
}
void hd44780_write(uint8_t data, bool isData) {
- writePin(HD44780_RS_PIN, isData);
- writePinLow(HD44780_RW_PIN);
+ gpio_write_pin(HD44780_RS_PIN, isData);
+ gpio_write_pin_low(HD44780_RW_PIN);
for (int i = 0; i < 4; i++) {
- setPinOutput(data_pins[i]);
+ gpio_set_pin_output(data_pins[i]);
}
// Write high nibble
for (int i = 0; i < 4; i++) {
- writePin(data_pins[i], (data >> 4) & (1 << i));
+ gpio_write_pin(data_pins[i], (data >> 4) & (1 << i));
}
hd44780_latch();
// Write low nibble
for (int i = 0; i < 4; i++) {
- writePin(data_pins[i], data & (1 << i));
+ gpio_write_pin(data_pins[i], data & (1 << i));
}
hd44780_latch();
for (int i = 0; i < 4; i++) {
- writePinHigh(data_pins[i]);
+ gpio_write_pin_high(data_pins[i]);
}
}
uint8_t hd44780_read(bool isData) {
uint8_t data = 0;
- writePin(HD44780_RS_PIN, isData);
- writePinHigh(HD44780_RW_PIN);
+ gpio_write_pin(HD44780_RS_PIN, isData);
+ gpio_write_pin_high(HD44780_RW_PIN);
for (int i = 0; i < 4; i++) {
- setPinInput(data_pins[i]);
+ gpio_set_pin_input(data_pins[i]);
}
- writePinHigh(HD44780_E_PIN);
+ gpio_write_pin_high(HD44780_E_PIN);
wait_us(HD44780_ENABLE_DELAY_US);
// Read high nibble
for (int i = 0; i < 4; i++) {
- data |= (readPin(data_pins[i]) << i);
+ data |= (gpio_read_pin(data_pins[i]) << i);
}
data <<= 4;
- writePinLow(HD44780_E_PIN);
+ gpio_write_pin_low(HD44780_E_PIN);
wait_us(HD44780_ENABLE_DELAY_US);
- writePinHigh(HD44780_E_PIN);
+ gpio_write_pin_high(HD44780_E_PIN);
wait_us(HD44780_ENABLE_DELAY_US);
// Read low nibble
for (int i = 0; i < 4; i++) {
- data |= (readPin(data_pins[i]) << i);
+ data |= (gpio_read_pin(data_pins[i]) << i);
}
- writePinLow(HD44780_E_PIN);
+ gpio_write_pin_low(HD44780_E_PIN);
return data;
}
@@ -171,20 +171,20 @@ void hd44780_set_ddram_address(uint8_t address) {
}
void hd44780_init(bool cursor, bool blink) {
- setPinOutput(HD44780_RS_PIN);
- setPinOutput(HD44780_RW_PIN);
- setPinOutput(HD44780_E_PIN);
+ gpio_set_pin_output(HD44780_RS_PIN);
+ gpio_set_pin_output(HD44780_RW_PIN);
+ gpio_set_pin_output(HD44780_E_PIN);
for (int i = 0; i < 4; i++) {
- setPinOutput(data_pins[i]);
+ gpio_set_pin_output(data_pins[i]);
}
wait_ms(HD44780_INIT_DELAY_MS);
// Manually configure for 4-bit mode - can't use hd44780_command() yet
// HD44780U datasheet, Fig. 24 (p46)
- writePinHigh(data_pins[0]); // Function set
- writePinHigh(data_pins[1]); // DL = 1
+ gpio_write_pin_high(data_pins[0]); // Function set
+ gpio_write_pin_high(data_pins[1]); // DL = 1
hd44780_latch();
wait_ms(5);
// Send again
@@ -194,7 +194,7 @@ void hd44780_init(bool cursor, bool blink) {
hd44780_latch();
wait_us(64);
- writePinLow(data_pins[0]); // DL = 0
+ gpio_write_pin_low(data_pins[0]); // DL = 0
hd44780_latch();
wait_us(64);
diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c
index 47ee02804b..4fce40edbe 100644
--- a/drivers/lcd/st7565.c
+++ b/drivers/lcd/st7565.c
@@ -92,10 +92,10 @@ static void InvertCharacter(uint8_t *cursor) {
}
bool st7565_init(display_rotation_t rotation) {
- setPinOutput(ST7565_A0_PIN);
- writePinHigh(ST7565_A0_PIN);
- setPinOutput(ST7565_RST_PIN);
- writePinHigh(ST7565_RST_PIN);
+ gpio_set_pin_output(ST7565_A0_PIN);
+ gpio_write_pin_high(ST7565_A0_PIN);
+ gpio_set_pin_output(ST7565_RST_PIN);
+ gpio_write_pin_high(ST7565_RST_PIN);
st7565_rotation = st7565_init_user(rotation);
@@ -488,18 +488,18 @@ void st7565_task(void) {
__attribute__((weak)) void st7565_task_user(void) {}
void st7565_reset(void) {
- writePinLow(ST7565_RST_PIN);
+ gpio_write_pin_low(ST7565_RST_PIN);
wait_ms(20);
- writePinHigh(ST7565_RST_PIN);
+ gpio_write_pin_high(ST7565_RST_PIN);
wait_ms(20);
}
spi_status_t st7565_send_cmd(uint8_t cmd) {
- writePinLow(ST7565_A0_PIN);
+ gpio_write_pin_low(ST7565_A0_PIN);
return spi_write(cmd);
}
spi_status_t st7565_send_data(uint8_t *data, uint16_t length) {
- writePinHigh(ST7565_A0_PIN);
+ gpio_write_pin_high(ST7565_A0_PIN);
return spi_transmit(data, length);
}
diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c
index 527519eb8a..d6d4327495 100644
--- a/drivers/led/apa102.c
+++ b/drivers/led/apa102.c
@@ -43,72 +43,37 @@
} \
} while (0)
-#define APA102_SEND_BIT(byte, bit) \
- do { \
- writePin(APA102_DI_PIN, (byte >> bit) & 1); \
- io_wait; \
- writePinHigh(APA102_CI_PIN); \
- io_wait; \
- writePinLow(APA102_CI_PIN); \
- io_wait; \
+#define APA102_SEND_BIT(byte, bit) \
+ do { \
+ gpio_write_pin(APA102_DI_PIN, (byte >> bit) & 1); \
+ io_wait; \
+ gpio_write_pin_high(APA102_CI_PIN); \
+ io_wait; \
+ gpio_write_pin_low(APA102_CI_PIN); \
+ io_wait; \
} while (0)
uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS;
-void static apa102_start_frame(void);
-void static apa102_end_frame(uint16_t num_leds);
-
-void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness);
-void static apa102_send_byte(uint8_t byte);
-
-void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) {
- rgb_led_t *end = start_led + num_leds;
-
- apa102_start_frame();
- for (rgb_led_t *led = start_led; led < end; led++) {
- apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness);
- }
- apa102_end_frame(num_leds);
-}
-
-// Overwrite the default rgblight_call_driver to use apa102 driver
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
- apa102_setleds(start_led, num_leds);
-}
-
-void static apa102_init(void) {
- setPinOutput(APA102_DI_PIN);
- setPinOutput(APA102_CI_PIN);
-
- writePinLow(APA102_DI_PIN);
- writePinLow(APA102_CI_PIN);
-}
-
-void apa102_set_brightness(uint8_t brightness) {
- if (brightness > APA102_MAX_BRIGHTNESS) {
- apa102_led_brightness = APA102_MAX_BRIGHTNESS;
- } else if (brightness < 0) {
- apa102_led_brightness = 0;
- } else {
- apa102_led_brightness = brightness;
- }
-}
-
-void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness) {
- apa102_send_byte(0b11100000 | brightness);
- apa102_send_byte(blue);
- apa102_send_byte(green);
- apa102_send_byte(red);
+static void apa102_send_byte(uint8_t byte) {
+ APA102_SEND_BIT(byte, 7);
+ APA102_SEND_BIT(byte, 6);
+ APA102_SEND_BIT(byte, 5);
+ APA102_SEND_BIT(byte, 4);
+ APA102_SEND_BIT(byte, 3);
+ APA102_SEND_BIT(byte, 2);
+ APA102_SEND_BIT(byte, 1);
+ APA102_SEND_BIT(byte, 0);
}
-void static apa102_start_frame(void) {
+static void apa102_start_frame(void) {
apa102_init();
for (uint16_t i = 0; i < 4; i++) {
apa102_send_byte(0);
}
}
-void static apa102_end_frame(uint16_t num_leds) {
+static void apa102_end_frame(uint16_t num_leds) {
// This function has been taken from: https://github.com/pololu/apa102-arduino/blob/master/APA102.h
// and adapted. The code is MIT licensed. I think thats compatible?
//
@@ -141,13 +106,37 @@ void static apa102_end_frame(uint16_t num_leds) {
apa102_init();
}
-void static apa102_send_byte(uint8_t byte) {
- APA102_SEND_BIT(byte, 7);
- APA102_SEND_BIT(byte, 6);
- APA102_SEND_BIT(byte, 5);
- APA102_SEND_BIT(byte, 4);
- APA102_SEND_BIT(byte, 3);
- APA102_SEND_BIT(byte, 2);
- APA102_SEND_BIT(byte, 1);
- APA102_SEND_BIT(byte, 0);
+static void apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness) {
+ apa102_send_byte(0b11100000 | brightness);
+ apa102_send_byte(blue);
+ apa102_send_byte(green);
+ apa102_send_byte(red);
+}
+
+void apa102_init(void) {
+ gpio_set_pin_output(APA102_DI_PIN);
+ gpio_set_pin_output(APA102_CI_PIN);
+
+ gpio_write_pin_low(APA102_DI_PIN);
+ gpio_write_pin_low(APA102_CI_PIN);
+}
+
+void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) {
+ rgb_led_t *end = start_led + num_leds;
+
+ apa102_start_frame();
+ for (rgb_led_t *led = start_led; led < end; led++) {
+ apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness);
+ }
+ apa102_end_frame(num_leds);
+}
+
+void apa102_set_brightness(uint8_t brightness) {
+ if (brightness > APA102_MAX_BRIGHTNESS) {
+ apa102_led_brightness = APA102_MAX_BRIGHTNESS;
+ } else if (brightness < 0) {
+ apa102_led_brightness = 0;
+ } else {
+ apa102_led_brightness = brightness;
+ }
}
diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h
index cd0a19d445..5e2f78658b 100644
--- a/drivers/led/apa102.h
+++ b/drivers/led/apa102.h
@@ -19,13 +19,19 @@
#include "color.h"
+#if defined(RGBLIGHT_APA102)
+# define APA102_LED_COUNT RGBLIGHT_LED_COUNT
+#elif defined(RGB_MATRIX_APA102)
+# define APA102_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
#ifndef APA102_DEFAULT_BRIGHTNESS
# define APA102_DEFAULT_BRIGHTNESS 31
#endif
#define APA102_MAX_BRIGHTNESS 31
-extern uint8_t apa102_led_brightness;
+void apa102_init(void);
/* User Interface
*
@@ -38,4 +44,5 @@ extern uint8_t apa102_led_brightness;
* - Send out the LED data
*/
void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds);
+
void apa102_set_brightness(uint8_t brightness);
diff --git a/drivers/led/aw20216s.c b/drivers/led/aw20216s.c
index ab7f3ccb42..704794f5b5 100644
--- a/drivers/led/aw20216s.c
+++ b/drivers/led/aw20216s.c
@@ -45,8 +45,15 @@
# define AW20216S_SPI_DIVISOR 4
#endif
-uint8_t g_pwm_buffer[AW20216S_DRIVER_COUNT][AW20216S_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[AW20216S_DRIVER_COUNT] = {false};
+typedef struct aw20216s_driver_t {
+ uint8_t pwm_buffer[AW20216S_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+} PACKED aw20216s_driver_t;
+
+aw20216s_driver_t driver_buffers[AW20216S_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+}};
bool aw20216s_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) {
static uint8_t s_spi_transfer_buffer[2] = {0};
@@ -106,16 +113,18 @@ static inline void aw20216s_auto_lowpower(pin_t cs_pin) {
void aw20216s_init_drivers(void) {
spi_init();
- aw20216s_init(AW20216S_CS_PIN_1, AW20216S_EN_PIN_1);
+#if defined(AW20216S_EN_PIN)
+ gpio_set_pin_output(AW20216S_EN_PIN);
+ gpio_write_pin_high(AW20216S_EN_PIN);
+#endif
+
+ aw20216s_init(AW20216S_CS_PIN_1);
#if defined(AW20216S_CS_PIN_2)
- aw20216s_init(AW20216S_CS_PIN_2, AW20216S_EN_PIN_2);
+ aw20216s_init(AW20216S_CS_PIN_2);
#endif
}
-void aw20216s_init(pin_t cs_pin, pin_t en_pin) {
- setPinOutput(en_pin);
- writePinHigh(en_pin);
-
+void aw20216s_init(pin_t cs_pin) {
aw20216s_soft_reset(cs_pin);
wait_ms(2);
@@ -131,13 +140,14 @@ void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
aw20216s_led_t led;
memcpy_P(&led, (&g_aw20216s_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
@@ -147,10 +157,10 @@ void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
}
void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- aw20216s_write(cs_pin, AW20216S_PAGE_PWM, 0, g_pwm_buffer[index], AW20216S_PWM_REGISTER_COUNT);
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ aw20216s_write(cs_pin, AW20216S_PAGE_PWM, 0, driver_buffers[index].pwm_buffer, AW20216S_PWM_REGISTER_COUNT);
+ driver_buffers[index].pwm_buffer_dirty = false;
}
- g_pwm_buffer_update_required[index] = false;
}
void aw20216s_flush(void) {
diff --git a/drivers/led/aw20216s.h b/drivers/led/aw20216s.h
index 38a0c92b2f..b2c097125f 100644
--- a/drivers/led/aw20216s.h
+++ b/drivers/led/aw20216s.h
@@ -42,10 +42,10 @@
# define AW20216S_CS_PIN_2 DRIVER_2_CS
#endif
#ifdef DRIVER_1_EN
-# define AW20216S_EN_PIN_1 DRIVER_1_EN
+# define AW20216S_EN_PIN DRIVER_1_EN
#endif
-#ifdef DRIVER_2_EN
-# define AW20216S_EN_PIN_2 DRIVER_2_EN
+#ifdef AW20216S_EN_PIN_1
+# define AW20216S_EN_PIN AW20216S_EN_PIN_1
#endif
#define aw_led aw20216s_led_t
@@ -94,226 +94,467 @@ typedef struct aw20216s_led_t {
extern const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT];
void aw20216s_init_drivers(void);
-void aw20216s_init(pin_t cs_pin, pin_t en_pin);
+void aw20216s_init(pin_t cs_pin);
void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index);
void aw20216s_flush(void);
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-#define CS1_SW2 0x12
-#define CS2_SW2 0x13
-#define CS3_SW2 0x14
-#define CS4_SW2 0x15
-#define CS5_SW2 0x16
-#define CS6_SW2 0x17
-#define CS7_SW2 0x18
-#define CS8_SW2 0x19
-#define CS9_SW2 0x1A
-#define CS10_SW2 0x1B
-#define CS11_SW2 0x1C
-#define CS12_SW2 0x1D
-#define CS13_SW2 0x1E
-#define CS14_SW2 0x1F
-#define CS15_SW2 0x20
-#define CS16_SW2 0x21
-#define CS17_SW2 0x22
-#define CS18_SW2 0x23
-#define CS1_SW3 0x24
-#define CS2_SW3 0x25
-#define CS3_SW3 0x26
-#define CS4_SW3 0x27
-#define CS5_SW3 0x28
-#define CS6_SW3 0x29
-#define CS7_SW3 0x2A
-#define CS8_SW3 0x2B
-#define CS9_SW3 0x2C
-#define CS10_SW3 0x2D
-#define CS11_SW3 0x2E
-#define CS12_SW3 0x2F
-#define CS13_SW3 0x30
-#define CS14_SW3 0x31
-#define CS15_SW3 0x32
-#define CS16_SW3 0x33
-#define CS17_SW3 0x34
-#define CS18_SW3 0x35
-#define CS1_SW4 0x36
-#define CS2_SW4 0x37
-#define CS3_SW4 0x38
-#define CS4_SW4 0x39
-#define CS5_SW4 0x3A
-#define CS6_SW4 0x3B
-#define CS7_SW4 0x3C
-#define CS8_SW4 0x3D
-#define CS9_SW4 0x3E
-#define CS10_SW4 0x3F
-#define CS11_SW4 0x40
-#define CS12_SW4 0x41
-#define CS13_SW4 0x42
-#define CS14_SW4 0x43
-#define CS15_SW4 0x44
-#define CS16_SW4 0x45
-#define CS17_SW4 0x46
-#define CS18_SW4 0x47
-#define CS1_SW5 0x48
-#define CS2_SW5 0x49
-#define CS3_SW5 0x4A
-#define CS4_SW5 0x4B
-#define CS5_SW5 0x4C
-#define CS6_SW5 0x4D
-#define CS7_SW5 0x4E
-#define CS8_SW5 0x4F
-#define CS9_SW5 0x50
-#define CS10_SW5 0x51
-#define CS11_SW5 0x52
-#define CS12_SW5 0x53
-#define CS13_SW5 0x54
-#define CS14_SW5 0x55
-#define CS15_SW5 0x56
-#define CS16_SW5 0x57
-#define CS17_SW5 0x58
-#define CS18_SW5 0x59
-#define CS1_SW6 0x5A
-#define CS2_SW6 0x5B
-#define CS3_SW6 0x5C
-#define CS4_SW6 0x5D
-#define CS5_SW6 0x5E
-#define CS6_SW6 0x5F
-#define CS7_SW6 0x60
-#define CS8_SW6 0x61
-#define CS9_SW6 0x62
-#define CS10_SW6 0x63
-#define CS11_SW6 0x64
-#define CS12_SW6 0x65
-#define CS13_SW6 0x66
-#define CS14_SW6 0x67
-#define CS15_SW6 0x68
-#define CS16_SW6 0x69
-#define CS17_SW6 0x6A
-#define CS18_SW6 0x6B
-#define CS1_SW7 0x6C
-#define CS2_SW7 0x6D
-#define CS3_SW7 0x6E
-#define CS4_SW7 0x6F
-#define CS5_SW7 0x70
-#define CS6_SW7 0x71
-#define CS7_SW7 0x72
-#define CS8_SW7 0x73
-#define CS9_SW7 0x74
-#define CS10_SW7 0x75
-#define CS11_SW7 0x76
-#define CS12_SW7 0x77
-#define CS13_SW7 0x78
-#define CS14_SW7 0x79
-#define CS15_SW7 0x7A
-#define CS16_SW7 0x7B
-#define CS17_SW7 0x7C
-#define CS18_SW7 0x7D
-#define CS1_SW8 0x7E
-#define CS2_SW8 0x7F
-#define CS3_SW8 0x80
-#define CS4_SW8 0x81
-#define CS5_SW8 0x82
-#define CS6_SW8 0x83
-#define CS7_SW8 0x84
-#define CS8_SW8 0x85
-#define CS9_SW8 0x86
-#define CS10_SW8 0x87
-#define CS11_SW8 0x88
-#define CS12_SW8 0x89
-#define CS13_SW8 0x8A
-#define CS14_SW8 0x8B
-#define CS15_SW8 0x8C
-#define CS16_SW8 0x8D
-#define CS17_SW8 0x8E
-#define CS18_SW8 0x8F
-#define CS1_SW9 0x90
-#define CS2_SW9 0x91
-#define CS3_SW9 0x92
-#define CS4_SW9 0x93
-#define CS5_SW9 0x94
-#define CS6_SW9 0x95
-#define CS7_SW9 0x96
-#define CS8_SW9 0x97
-#define CS9_SW9 0x98
-#define CS10_SW9 0x99
-#define CS11_SW9 0x9A
-#define CS12_SW9 0x9B
-#define CS13_SW9 0x9C
-#define CS14_SW9 0x9D
-#define CS15_SW9 0x9E
-#define CS16_SW9 0x9F
-#define CS17_SW9 0xA0
-#define CS18_SW9 0xA1
-#define CS1_SW10 0xA2
-#define CS2_SW10 0xA3
-#define CS3_SW10 0xA4
-#define CS4_SW10 0xA5
-#define CS5_SW10 0xA6
-#define CS6_SW10 0xA7
-#define CS7_SW10 0xA8
-#define CS8_SW10 0xA9
-#define CS9_SW10 0xAA
-#define CS10_SW10 0xAB
-#define CS11_SW10 0xAC
-#define CS12_SW10 0xAD
-#define CS13_SW10 0xAE
-#define CS14_SW10 0xAF
-#define CS15_SW10 0xB0
-#define CS16_SW10 0xB1
-#define CS17_SW10 0xB2
-#define CS18_SW10 0xB3
-#define CS1_SW11 0xB4
-#define CS2_SW11 0xB5
-#define CS3_SW11 0xB6
-#define CS4_SW11 0xB7
-#define CS5_SW11 0xB8
-#define CS6_SW11 0xB9
-#define CS7_SW11 0xBA
-#define CS8_SW11 0xBB
-#define CS9_SW11 0xBC
-#define CS10_SW11 0xBD
-#define CS11_SW11 0xBE
-#define CS12_SW11 0xBF
-#define CS13_SW11 0xC0
-#define CS14_SW11 0xC1
-#define CS15_SW11 0xC2
-#define CS16_SW11 0xC3
-#define CS17_SW11 0xC4
-#define CS18_SW11 0xC5
-#define CS1_SW12 0xC6
-#define CS2_SW12 0xC7
-#define CS3_SW12 0xC8
-#define CS4_SW12 0xC9
-#define CS5_SW12 0xCA
-#define CS6_SW12 0xCB
-#define CS7_SW12 0xCC
-#define CS8_SW12 0xCD
-#define CS9_SW12 0xCE
-#define CS10_SW12 0xCF
-#define CS11_SW12 0xD0
-#define CS12_SW12 0xD1
-#define CS13_SW12 0xD2
-#define CS14_SW12 0xD3
-#define CS15_SW12 0xD4
-#define CS16_SW12 0xD5
-#define CS17_SW12 0xD6
-#define CS18_SW12 0xD7
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
+
+#define SW5_CS1 0x48
+#define SW5_CS2 0x49
+#define SW5_CS3 0x4A
+#define SW5_CS4 0x4B
+#define SW5_CS5 0x4C
+#define SW5_CS6 0x4D
+#define SW5_CS7 0x4E
+#define SW5_CS8 0x4F
+#define SW5_CS9 0x50
+#define SW5_CS10 0x51
+#define SW5_CS11 0x52
+#define SW5_CS12 0x53
+#define SW5_CS13 0x54
+#define SW5_CS14 0x55
+#define SW5_CS15 0x56
+#define SW5_CS16 0x57
+#define SW5_CS17 0x58
+#define SW5_CS18 0x59
+
+#define SW6_CS1 0x5A
+#define SW6_CS2 0x5B
+#define SW6_CS3 0x5C
+#define SW6_CS4 0x5D
+#define SW6_CS5 0x5E
+#define SW6_CS6 0x5F
+#define SW6_CS7 0x60
+#define SW6_CS8 0x61
+#define SW6_CS9 0x62
+#define SW6_CS10 0x63
+#define SW6_CS11 0x64
+#define SW6_CS12 0x65
+#define SW6_CS13 0x66
+#define SW6_CS14 0x67
+#define SW6_CS15 0x68
+#define SW6_CS16 0x69
+#define SW6_CS17 0x6A
+#define SW6_CS18 0x6B
+
+#define SW7_CS1 0x6C
+#define SW7_CS2 0x6D
+#define SW7_CS3 0x6E
+#define SW7_CS4 0x6F
+#define SW7_CS5 0x70
+#define SW7_CS6 0x71
+#define SW7_CS7 0x72
+#define SW7_CS8 0x73
+#define SW7_CS9 0x74
+#define SW7_CS10 0x75
+#define SW7_CS11 0x76
+#define SW7_CS12 0x77
+#define SW7_CS13 0x78
+#define SW7_CS14 0x79
+#define SW7_CS15 0x7A
+#define SW7_CS16 0x7B
+#define SW7_CS17 0x7C
+#define SW7_CS18 0x7D
+
+#define SW8_CS1 0x7E
+#define SW8_CS2 0x7F
+#define SW8_CS3 0x80
+#define SW8_CS4 0x81
+#define SW8_CS5 0x82
+#define SW8_CS6 0x83
+#define SW8_CS7 0x84
+#define SW8_CS8 0x85
+#define SW8_CS9 0x86
+#define SW8_CS10 0x87
+#define SW8_CS11 0x88
+#define SW8_CS12 0x89
+#define SW8_CS13 0x8A
+#define SW8_CS14 0x8B
+#define SW8_CS15 0x8C
+#define SW8_CS16 0x8D
+#define SW8_CS17 0x8E
+#define SW8_CS18 0x8F
+
+#define SW9_CS1 0x90
+#define SW9_CS2 0x91
+#define SW9_CS3 0x92
+#define SW9_CS4 0x93
+#define SW9_CS5 0x94
+#define SW9_CS6 0x95
+#define SW9_CS7 0x96
+#define SW9_CS8 0x97
+#define SW9_CS9 0x98
+#define SW9_CS10 0x99
+#define SW9_CS11 0x9A
+#define SW9_CS12 0x9B
+#define SW9_CS13 0x9C
+#define SW9_CS14 0x9D
+#define SW9_CS15 0x9E
+#define SW9_CS16 0x9F
+#define SW9_CS17 0xA0
+#define SW9_CS18 0xA1
+
+#define SW10_CS1 0xA2
+#define SW10_CS2 0xA3
+#define SW10_CS3 0xA4
+#define SW10_CS4 0xA5
+#define SW10_CS5 0xA6
+#define SW10_CS6 0xA7
+#define SW10_CS7 0xA8
+#define SW10_CS8 0xA9
+#define SW10_CS9 0xAA
+#define SW10_CS10 0xAB
+#define SW10_CS11 0xAC
+#define SW10_CS12 0xAD
+#define SW10_CS13 0xAE
+#define SW10_CS14 0xAF
+#define SW10_CS15 0xB0
+#define SW10_CS16 0xB1
+#define SW10_CS17 0xB2
+#define SW10_CS18 0xB3
+
+#define SW11_CS1 0xB4
+#define SW11_CS2 0xB5
+#define SW11_CS3 0xB6
+#define SW11_CS4 0xB7
+#define SW11_CS5 0xB8
+#define SW11_CS6 0xB9
+#define SW11_CS7 0xBA
+#define SW11_CS8 0xBB
+#define SW11_CS9 0xBC
+#define SW11_CS10 0xBD
+#define SW11_CS11 0xBE
+#define SW11_CS12 0xBF
+#define SW11_CS13 0xC0
+#define SW11_CS14 0xC1
+#define SW11_CS15 0xC2
+#define SW11_CS16 0xC3
+#define SW11_CS17 0xC4
+#define SW11_CS18 0xC5
+
+#define SW12_CS1 0xC6
+#define SW12_CS2 0xC7
+#define SW12_CS3 0xC8
+#define SW12_CS4 0xC9
+#define SW12_CS5 0xCA
+#define SW12_CS6 0xCB
+#define SW12_CS7 0xCC
+#define SW12_CS8 0xCD
+#define SW12_CS9 0xCE
+#define SW12_CS10 0xCF
+#define SW12_CS11 0xD0
+#define SW12_CS12 0xD1
+#define SW12_CS13 0xD2
+#define SW12_CS14 0xD3
+#define SW12_CS15 0xD4
+#define SW12_CS16 0xD5
+#define SW12_CS17 0xD6
+#define SW12_CS18 0xD7
+
+// DEPRECATED - DO NOT USE
+
+#define CS1_SW1 SW1_CS1
+#define CS2_SW1 SW1_CS2
+#define CS3_SW1 SW1_CS3
+#define CS4_SW1 SW1_CS4
+#define CS5_SW1 SW1_CS5
+#define CS6_SW1 SW1_CS6
+#define CS7_SW1 SW1_CS7
+#define CS8_SW1 SW1_CS8
+#define CS9_SW1 SW1_CS9
+#define CS10_SW1 SW1_CS10
+#define CS11_SW1 SW1_CS11
+#define CS12_SW1 SW1_CS12
+#define CS13_SW1 SW1_CS13
+#define CS14_SW1 SW1_CS14
+#define CS15_SW1 SW1_CS15
+#define CS16_SW1 SW1_CS16
+#define CS17_SW1 SW1_CS17
+#define CS18_SW1 SW1_CS18
+
+#define CS1_SW2 SW2_CS1
+#define CS2_SW2 SW2_CS2
+#define CS3_SW2 SW2_CS3
+#define CS4_SW2 SW2_CS4
+#define CS5_SW2 SW2_CS5
+#define CS6_SW2 SW2_CS6
+#define CS7_SW2 SW2_CS7
+#define CS8_SW2 SW2_CS8
+#define CS9_SW2 SW2_CS9
+#define CS10_SW2 SW2_CS10
+#define CS11_SW2 SW2_CS11
+#define CS12_SW2 SW2_CS12
+#define CS13_SW2 SW2_CS13
+#define CS14_SW2 SW2_CS14
+#define CS15_SW2 SW2_CS15
+#define CS16_SW2 SW2_CS16
+#define CS17_SW2 SW2_CS17
+#define CS18_SW2 SW2_CS18
+
+#define CS1_SW3 SW3_CS1
+#define CS2_SW3 SW3_CS2
+#define CS3_SW3 SW3_CS3
+#define CS4_SW3 SW3_CS4
+#define CS5_SW3 SW3_CS5
+#define CS6_SW3 SW3_CS6
+#define CS7_SW3 SW3_CS7
+#define CS8_SW3 SW3_CS8
+#define CS9_SW3 SW3_CS9
+#define CS10_SW3 SW3_CS10
+#define CS11_SW3 SW3_CS11
+#define CS12_SW3 SW3_CS12
+#define CS13_SW3 SW3_CS13
+#define CS14_SW3 SW3_CS14
+#define CS15_SW3 SW3_CS15
+#define CS16_SW3 SW3_CS16
+#define CS17_SW3 SW3_CS17
+#define CS18_SW3 SW3_CS18
+
+#define CS1_SW4 SW4_CS1
+#define CS2_SW4 SW4_CS2
+#define CS3_SW4 SW4_CS3
+#define CS4_SW4 SW4_CS4
+#define CS5_SW4 SW4_CS5
+#define CS6_SW4 SW4_CS6
+#define CS7_SW4 SW4_CS7
+#define CS8_SW4 SW4_CS8
+#define CS9_SW4 SW4_CS9
+#define CS10_SW4 SW4_CS10
+#define CS11_SW4 SW4_CS11
+#define CS12_SW4 SW4_CS12
+#define CS13_SW4 SW4_CS13
+#define CS14_SW4 SW4_CS14
+#define CS15_SW4 SW4_CS15
+#define CS16_SW4 SW4_CS16
+#define CS17_SW4 SW4_CS17
+#define CS18_SW4 SW4_CS18
+
+#define CS1_SW5 SW5_CS1
+#define CS2_SW5 SW5_CS2
+#define CS3_SW5 SW5_CS3
+#define CS4_SW5 SW5_CS4
+#define CS5_SW5 SW5_CS5
+#define CS6_SW5 SW5_CS6
+#define CS7_SW5 SW5_CS7
+#define CS8_SW5 SW5_CS8
+#define CS9_SW5 SW5_CS9
+#define CS10_SW5 SW5_CS10
+#define CS11_SW5 SW5_CS11
+#define CS12_SW5 SW5_CS12
+#define CS13_SW5 SW5_CS13
+#define CS14_SW5 SW5_CS14
+#define CS15_SW5 SW5_CS15
+#define CS16_SW5 SW5_CS16
+#define CS17_SW5 SW5_CS17
+#define CS18_SW5 SW5_CS18
+
+#define CS1_SW6 SW6_CS1
+#define CS2_SW6 SW6_CS2
+#define CS3_SW6 SW6_CS3
+#define CS4_SW6 SW6_CS4
+#define CS5_SW6 SW6_CS5
+#define CS6_SW6 SW6_CS6
+#define CS7_SW6 SW6_CS7
+#define CS8_SW6 SW6_CS8
+#define CS9_SW6 SW6_CS9
+#define CS10_SW6 SW6_CS10
+#define CS11_SW6 SW6_CS11
+#define CS12_SW6 SW6_CS12
+#define CS13_SW6 SW6_CS13
+#define CS14_SW6 SW6_CS14
+#define CS15_SW6 SW6_CS15
+#define CS16_SW6 SW6_CS16
+#define CS17_SW6 SW6_CS17
+#define CS18_SW6 SW6_CS18
+
+#define CS1_SW7 SW7_CS1
+#define CS2_SW7 SW7_CS2
+#define CS3_SW7 SW7_CS3
+#define CS4_SW7 SW7_CS4
+#define CS5_SW7 SW7_CS5
+#define CS6_SW7 SW7_CS6
+#define CS7_SW7 SW7_CS7
+#define CS8_SW7 SW7_CS8
+#define CS9_SW7 SW7_CS9
+#define CS10_SW7 SW7_CS10
+#define CS11_SW7 SW7_CS11
+#define CS12_SW7 SW7_CS12
+#define CS13_SW7 SW7_CS13
+#define CS14_SW7 SW7_CS14
+#define CS15_SW7 SW7_CS15
+#define CS16_SW7 SW7_CS16
+#define CS17_SW7 SW7_CS17
+#define CS18_SW7 SW7_CS18
+
+#define CS1_SW8 SW8_CS1
+#define CS2_SW8 SW8_CS2
+#define CS3_SW8 SW8_CS3
+#define CS4_SW8 SW8_CS4
+#define CS5_SW8 SW8_CS5
+#define CS6_SW8 SW8_CS6
+#define CS7_SW8 SW8_CS7
+#define CS8_SW8 SW8_CS8
+#define CS9_SW8 SW8_CS9
+#define CS10_SW8 SW8_CS10
+#define CS11_SW8 SW8_CS11
+#define CS12_SW8 SW8_CS12
+#define CS13_SW8 SW8_CS13
+#define CS14_SW8 SW8_CS14
+#define CS15_SW8 SW8_CS15
+#define CS16_SW8 SW8_CS16
+#define CS17_SW8 SW8_CS17
+#define CS18_SW8 SW8_CS18
+
+#define CS1_SW9 SW9_CS1
+#define CS2_SW9 SW9_CS2
+#define CS3_SW9 SW9_CS3
+#define CS4_SW9 SW9_CS4
+#define CS5_SW9 SW9_CS5
+#define CS6_SW9 SW9_CS6
+#define CS7_SW9 SW9_CS7
+#define CS8_SW9 SW9_CS8
+#define CS9_SW9 SW9_CS9
+#define CS10_SW9 SW9_CS10
+#define CS11_SW9 SW9_CS11
+#define CS12_SW9 SW9_CS12
+#define CS13_SW9 SW9_CS13
+#define CS14_SW9 SW9_CS14
+#define CS15_SW9 SW9_CS15
+#define CS16_SW9 SW9_CS16
+#define CS17_SW9 SW9_CS17
+#define CS18_SW9 SW9_CS18
+
+#define CS1_SW10 SW10_CS1
+#define CS2_SW10 SW10_CS2
+#define CS3_SW10 SW10_CS3
+#define CS4_SW10 SW10_CS4
+#define CS5_SW10 SW10_CS5
+#define CS6_SW10 SW10_CS6
+#define CS7_SW10 SW10_CS7
+#define CS8_SW10 SW10_CS8
+#define CS9_SW10 SW10_CS9
+#define CS10_SW10 SW10_CS10
+#define CS11_SW10 SW10_CS11
+#define CS12_SW10 SW10_CS12
+#define CS13_SW10 SW10_CS13
+#define CS14_SW10 SW10_CS14
+#define CS15_SW10 SW10_CS15
+#define CS16_SW10 SW10_CS16
+#define CS17_SW10 SW10_CS17
+#define CS18_SW10 SW10_CS18
+
+#define CS1_SW11 SW11_CS1
+#define CS2_SW11 SW11_CS2
+#define CS3_SW11 SW11_CS3
+#define CS4_SW11 SW11_CS4
+#define CS5_SW11 SW11_CS5
+#define CS6_SW11 SW11_CS6
+#define CS7_SW11 SW11_CS7
+#define CS8_SW11 SW11_CS8
+#define CS9_SW11 SW11_CS9
+#define CS10_SW11 SW11_CS10
+#define CS11_SW11 SW11_CS11
+#define CS12_SW11 SW11_CS12
+#define CS13_SW11 SW11_CS13
+#define CS14_SW11 SW11_CS14
+#define CS15_SW11 SW11_CS15
+#define CS16_SW11 SW11_CS16
+#define CS17_SW11 SW11_CS17
+#define CS18_SW11 SW11_CS18
+
+#define CS1_SW12 SW12_CS1
+#define CS2_SW12 SW12_CS2
+#define CS3_SW12 SW12_CS3
+#define CS4_SW12 SW12_CS4
+#define CS5_SW12 SW12_CS5
+#define CS6_SW12 SW12_CS6
+#define CS7_SW12 SW12_CS7
+#define CS8_SW12 SW12_CS8
+#define CS9_SW12 SW12_CS9
+#define CS10_SW12 SW12_CS10
+#define CS11_SW12 SW12_CS11
+#define CS12_SW12 SW12_CS12
+#define CS13_SW12 SW12_CS13
+#define CS14_SW12 SW12_CS14
+#define CS15_SW12 SW12_CS15
+#define CS16_SW12 SW12_CS16
+#define CS17_SW12 SW12_CS17
+#define CS18_SW12 SW12_CS18
diff --git a/drivers/led/issi/is31fl3218-mono.c b/drivers/led/issi/is31fl3218-mono.c
new file mode 100644
index 0000000000..0174da7ab3
--- /dev/null
+++ b/drivers/led/issi/is31fl3218-mono.c
@@ -0,0 +1,156 @@
+/* Copyright 2018 Jason Williams (Wilba)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3218-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+
+#define IS31FL3218_PWM_REGISTER_COUNT 18
+#define IS31FL3218_LED_CONTROL_REGISTER_COUNT 3
+
+#ifndef IS31FL3218_I2C_TIMEOUT
+# define IS31FL3218_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3218_I2C_PERSISTENCE
+# define IS31FL3218_I2C_PERSISTENCE 0
+#endif
+
+typedef struct is31fl3218_driver_t {
+ uint8_t pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3218_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3218_driver_t;
+
+// IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining.
+is31fl3218_driver_t driver_buffers = {
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+};
+
+void is31fl3218_write_register(uint8_t reg, uint8_t data) {
+#if IS31FL3218_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, reg, &data, 1, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, reg, &data, 1, IS31FL3218_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3218_write_pwm_buffer(void) {
+#if IS31FL3218_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, driver_buffers.pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, driver_buffers.pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3218_init(void) {
+ i2c_init();
+
+#if defined(IS31FL3218_SDB_PIN)
+ gpio_set_pin_output(IS31FL3218_SDB_PIN);
+ gpio_write_pin_high(IS31FL3218_SDB_PIN);
+#endif
+
+ // In case we ever want to reinitialize (?)
+ is31fl3218_write_register(IS31FL3218_REG_RESET, 0x00);
+
+ // Turn off software shutdown
+ is31fl3218_write_register(IS31FL3218_REG_SHUTDOWN, 0x01);
+
+ // Set all PWM values to zero
+ for (uint8_t i = 0; i < IS31FL3218_PWM_REGISTER_COUNT; i++) {
+ is31fl3218_write_register(IS31FL3218_REG_PWM + i, 0x00);
+ }
+
+ // turn off all LEDs in the LED control register
+ for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, 0x00);
+ }
+
+ // Load PWM registers and LED Control register data
+ is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01);
+
+ for (int i = 0; i < IS31FL3218_LED_COUNT; i++) {
+ is31fl3218_set_led_control_register(i, true);
+ }
+
+ is31fl3218_update_led_control_registers();
+}
+
+void is31fl3218_set_value(int index, uint8_t value) {
+ is31fl3218_led_t led;
+
+ if (index >= 0 && index < IS31FL3218_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
+
+ if (driver_buffers.pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers.pwm_buffer[led.v] = value;
+ driver_buffers.pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3218_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3218_LED_COUNT; i++) {
+ is31fl3218_set_value(i, value);
+ }
+}
+
+void is31fl3218_set_led_control_register(uint8_t index, bool value) {
+ is31fl3218_led_t led;
+ memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
+
+ uint8_t control_register = led.v / 6;
+ uint8_t bit_value = led.v % 6;
+
+ if (value) {
+ driver_buffers.led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers.led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers.led_control_buffer_dirty = true;
+}
+
+void is31fl3218_update_pwm_buffers(void) {
+ if (driver_buffers.pwm_buffer_dirty) {
+ is31fl3218_write_pwm_buffer();
+ // Load PWM registers and LED Control register data
+ is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01);
+
+ driver_buffers.pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3218_update_led_control_registers(void) {
+ if (driver_buffers.led_control_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, driver_buffers.led_control_buffer[i]);
+ }
+
+ driver_buffers.led_control_buffer_dirty = false;
+ }
+}
diff --git a/drivers/led/issi/is31fl3218-mono.h b/drivers/led/issi/is31fl3218-mono.h
new file mode 100644
index 0000000000..38beed0569
--- /dev/null
+++ b/drivers/led/issi/is31fl3218-mono.h
@@ -0,0 +1,75 @@
+/* Copyright 2018 Jason Williams (Wilba)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3218_REG_SHUTDOWN 0x00
+#define IS31FL3218_REG_PWM 0x01
+#define IS31FL3218_REG_LED_CONTROL_1 0x13
+#define IS31FL3218_REG_LED_CONTROL_2 0x14
+#define IS31FL3218_REG_LED_CONTROL_3 0x15
+#define IS31FL3218_REG_UPDATE 0x16
+#define IS31FL3218_REG_RESET 0x17
+
+#define IS31FL3218_I2C_ADDRESS 0x54
+
+#if defined(LED_MATRIX_IS31FL3218)
+# define IS31FL3218_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+typedef struct is31fl3218_led_t {
+ uint8_t v;
+} PACKED is31fl3218_led_t;
+
+extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT];
+
+void is31fl3218_init(void);
+
+void is31fl3218_write_register(uint8_t reg, uint8_t data);
+
+void is31fl3218_set_value(int index, uint8_t value);
+
+void is31fl3218_set_value_all(uint8_t value);
+
+void is31fl3218_set_led_control_register(uint8_t index, bool value);
+
+void is31fl3218_update_pwm_buffers(void);
+
+void is31fl3218_update_led_control_registers(void);
+
+#define OUT1 0x00
+#define OUT2 0x01
+#define OUT3 0x02
+#define OUT4 0x03
+#define OUT5 0x04
+#define OUT6 0x05
+#define OUT7 0x06
+#define OUT8 0x07
+#define OUT9 0x08
+#define OUT10 0x09
+#define OUT11 0x0A
+#define OUT12 0x0B
+#define OUT13 0x0C
+#define OUT14 0x0D
+#define OUT15 0x0E
+#define OUT16 0x0F
+#define OUT17 0x10
+#define OUT18 0x11
diff --git a/drivers/led/issi/is31fl3218-simple.c b/drivers/led/issi/is31fl3218-simple.c
deleted file mode 100644
index ce28c51d18..0000000000
--- a/drivers/led/issi/is31fl3218-simple.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "is31fl3218.h"
-#include <string.h>
-#include "i2c_master.h"
-
-#define IS31FL3218_PWM_REGISTER_COUNT 18
-#define IS31FL3218_LED_CONTROL_REGISTER_COUNT 3
-
-#ifndef IS31FL3218_I2C_TIMEOUT
-# define IS31FL3218_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3218_I2C_PERSISTENCE
-# define IS31FL3218_I2C_PERSISTENCE 0
-#endif
-
-// Reusable buffer for transfers
-uint8_t g_twi_transfer_buffer[20];
-
-// IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining.
-uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required = false;
-
-uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required = false;
-
-void is31fl3218_write_register(uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-#if IS31FL3218_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT);
-#endif
-}
-
-void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) {
- g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18);
-
-#if IS31FL3218_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT);
- }
-#else
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT);
-#endif
-}
-
-void is31fl3218_init(void) {
- i2c_init();
-
- // In case we ever want to reinitialize (?)
- is31fl3218_write_register(IS31FL3218_REG_RESET, 0x00);
-
- // Turn off software shutdown
- is31fl3218_write_register(IS31FL3218_REG_SHUTDOWN, 0x01);
-
- // Set all PWM values to zero
- for (uint8_t i = 0; i < IS31FL3218_PWM_REGISTER_COUNT; i++) {
- is31fl3218_write_register(IS31FL3218_REG_PWM + i, 0x00);
- }
-
- // turn off all LEDs in the LED control register
- for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, 0x00);
- }
-
- // Load PWM registers and LED Control register data
- is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01);
-
- for (int i = 0; i < IS31FL3218_LED_COUNT; i++) {
- is31fl3218_set_led_control_register(i, true);
- }
-
- is31fl3218_update_led_control_registers();
-}
-
-void is31fl3218_set_value(int index, uint8_t value) {
- is31fl3218_led_t led;
- if (index >= 0 && index < IS31FL3218_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
- }
- if (g_pwm_buffer[led.v - IS31FL3218_REG_PWM] == value) {
- return;
- }
- g_pwm_buffer[led.v - IS31FL3218_REG_PWM] = value;
- g_pwm_buffer_update_required = true;
-}
-
-void is31fl3218_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3218_LED_COUNT; i++) {
- is31fl3218_set_value(i, value);
- }
-}
-
-void is31fl3218_set_led_control_register(uint8_t index, bool value) {
- is31fl3218_led_t led;
- memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
-
- uint8_t control_register = (led.v - IS31FL3218_REG_PWM) / 6;
- uint8_t bit_value = (led.v - IS31FL3218_REG_PWM) % 6;
-
- if (value) {
- g_led_control_registers[control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required = true;
-}
-
-void is31fl3218_update_pwm_buffers(void) {
- if (g_pwm_buffer_update_required) {
- is31fl3218_write_pwm_buffer(g_pwm_buffer);
- // Load PWM registers and LED Control register data
- is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01);
-
- g_pwm_buffer_update_required = false;
- }
-}
-
-void is31fl3218_update_led_control_registers(void) {
- if (g_led_control_registers_update_required) {
- for (int i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, g_led_control_registers[i]);
- }
-
- g_led_control_registers_update_required = false;
- }
-}
diff --git a/drivers/led/issi/is31fl3218-simple.h b/drivers/led/issi/is31fl3218-simple.h
deleted file mode 100644
index 9492817809..0000000000
--- a/drivers/led/issi/is31fl3218-simple.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-#define IS31FL3218_REG_SHUTDOWN 0x00
-#define IS31FL3218_REG_PWM 0x01
-#define IS31FL3218_REG_LED_CONTROL_1 0x13
-#define IS31FL3218_REG_LED_CONTROL_2 0x14
-#define IS31FL3218_REG_LED_CONTROL_3 0x15
-#define IS31FL3218_REG_UPDATE 0x16
-#define IS31FL3218_REG_RESET 0x17
-
-#define IS31FL3218_I2C_ADDRESS 0x54
-
-#if defined(LED_MATRIX_IS31FL3218)
-# define IS31FL3218_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-typedef struct is31fl3218_led_t {
- uint8_t v;
-} PACKED is31fl3218_led_t;
-
-extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT];
-
-void is31fl3218_init(void);
-
-void is31fl3218_set_value(int index, uint8_t value);
-
-void is31fl3218_set_value_all(uint8_t value);
-
-void is31fl3218_set_led_control_register(uint8_t index, bool value);
-
-void is31fl3218_update_pwm_buffers(void);
-
-void is31fl3218_update_led_control_registers(void);
-
-#define OUT1 0x01
-#define OUT2 0x02
-#define OUT3 0x03
-#define OUT4 0x04
-#define OUT5 0x05
-#define OUT6 0x06
-#define OUT7 0x07
-#define OUT8 0x08
-#define OUT9 0x09
-#define OUT10 0x0A
-#define OUT11 0x0B
-#define OUT12 0x0C
-#define OUT13 0x0D
-#define OUT14 0x0E
-#define OUT15 0x0F
-#define OUT16 0x10
-#define OUT17 0x11
-#define OUT18 0x12
diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c
index 39db09d518..dd97d236f7 100644
--- a/drivers/led/issi/is31fl3218.c
+++ b/drivers/led/issi/is31fl3218.c
@@ -13,9 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
#include "is31fl3218.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#define IS31FL3218_PWM_REGISTER_COUNT 18
#define IS31FL3218_LED_CONTROL_REGISTER_COUNT 3
@@ -28,44 +29,49 @@
# define IS31FL3218_I2C_PERSISTENCE 0
#endif
-// Reusable buffer for transfers
-uint8_t g_twi_transfer_buffer[20];
+typedef struct is31fl3218_driver_t {
+ uint8_t pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3218_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3218_driver_t;
// IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining.
-uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required = false;
-
-uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required = false;
+is31fl3218_driver_t driver_buffers = {
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+};
void is31fl3218_write_register(uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
#if IS31FL3218_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break;
+ if (i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, reg, &data, 1, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT);
+ i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, reg, &data, 1, IS31FL3218_I2C_TIMEOUT);
#endif
}
-void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) {
- g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18);
-
+void is31fl3218_write_pwm_buffer(void) {
#if IS31FL3218_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) {
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT);
+ if (i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, driver_buffers.pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT);
+ i2c_write_register(IS31FL3218_I2C_ADDRESS << 1, IS31FL3218_REG_PWM, driver_buffers.pwm_buffer, 18, IS31FL3218_I2C_TIMEOUT);
#endif
}
void is31fl3218_init(void) {
i2c_init();
+#if defined(IS31FL3218_SDB_PIN)
+ gpio_set_pin_output(IS31FL3218_SDB_PIN);
+ gpio_write_pin_high(IS31FL3218_SDB_PIN);
+#endif
+
// In case we ever want to reinitialize (?)
is31fl3218_write_register(IS31FL3218_REG_RESET, 0x00);
@@ -94,16 +100,19 @@ void is31fl3218_init(void) {
void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3218_led_t led;
+
if (index >= 0 && index < IS31FL3218_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
+
+ if (driver_buffers.pwm_buffer[led.r] == red && driver_buffers.pwm_buffer[led.g] == green && driver_buffers.pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers.pwm_buffer[led.r] = red;
+ driver_buffers.pwm_buffer[led.g] = green;
+ driver_buffers.pwm_buffer[led.b] = blue;
+ driver_buffers.pwm_buffer_dirty = true;
}
- if (g_pwm_buffer[led.r - IS31FL3218_REG_PWM] == red && g_pwm_buffer[led.g - IS31FL3218_REG_PWM] == green && g_pwm_buffer[led.b - IS31FL3218_REG_PWM] == blue) {
- return;
- }
- g_pwm_buffer[led.r - IS31FL3218_REG_PWM] = red;
- g_pwm_buffer[led.g - IS31FL3218_REG_PWM] = green;
- g_pwm_buffer[led.b - IS31FL3218_REG_PWM] = blue;
- g_pwm_buffer_update_required = true;
}
void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
@@ -116,48 +125,48 @@ void is31fl3218_set_led_control_register(uint8_t index, bool red, bool green, bo
is31fl3218_led_t led;
memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led));
- uint8_t control_register_r = (led.r - IS31FL3218_REG_PWM) / 6;
- uint8_t control_register_g = (led.g - IS31FL3218_REG_PWM) / 6;
- uint8_t control_register_b = (led.b - IS31FL3218_REG_PWM) / 6;
- uint8_t bit_r = (led.r - IS31FL3218_REG_PWM) % 6;
- uint8_t bit_g = (led.g - IS31FL3218_REG_PWM) % 6;
- uint8_t bit_b = (led.b - IS31FL3218_REG_PWM) % 6;
+ uint8_t control_register_r = led.r / 6;
+ uint8_t control_register_g = led.g / 6;
+ uint8_t control_register_b = led.b / 6;
+ uint8_t bit_r = led.r % 6;
+ uint8_t bit_g = led.g % 6;
+ uint8_t bit_b = led.b % 6;
if (red) {
- g_led_control_registers[control_register_r] |= (1 << bit_r);
+ driver_buffers.led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[control_register_r] &= ~(1 << bit_r);
+ driver_buffers.led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[control_register_g] |= (1 << bit_g);
+ driver_buffers.led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[control_register_g] &= ~(1 << bit_g);
+ driver_buffers.led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[control_register_b] |= (1 << bit_b);
+ driver_buffers.led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[control_register_b] &= ~(1 << bit_b);
+ driver_buffers.led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required = true;
+ driver_buffers.led_control_buffer_dirty = true;
}
void is31fl3218_update_pwm_buffers(void) {
- if (g_pwm_buffer_update_required) {
- is31fl3218_write_pwm_buffer(g_pwm_buffer);
+ if (driver_buffers.pwm_buffer_dirty) {
+ is31fl3218_write_pwm_buffer();
// Load PWM registers and LED Control register data
is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01);
- g_pwm_buffer_update_required = false;
+ driver_buffers.pwm_buffer_dirty = false;
}
}
void is31fl3218_update_led_control_registers(void) {
- if (g_led_control_registers_update_required) {
- for (int i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, g_led_control_registers[i]);
+ if (driver_buffers.led_control_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, driver_buffers.led_control_buffer[i]);
}
- g_led_control_registers_update_required = false;
+ driver_buffers.led_control_buffer_dirty = false;
}
}
diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h
index ffa7f36d61..2228343329 100644
--- a/drivers/led/issi/is31fl3218.h
+++ b/drivers/led/issi/is31fl3218.h
@@ -45,6 +45,8 @@ extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT];
void is31fl3218_init(void);
+void is31fl3218_write_register(uint8_t reg, uint8_t data);
+
void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -55,21 +57,21 @@ void is31fl3218_update_pwm_buffers(void);
void is31fl3218_update_led_control_registers(void);
-#define OUT1 0x01
-#define OUT2 0x02
-#define OUT3 0x03
-#define OUT4 0x04
-#define OUT5 0x05
-#define OUT6 0x06
-#define OUT7 0x07
-#define OUT8 0x08
-#define OUT9 0x09
-#define OUT10 0x0A
-#define OUT11 0x0B
-#define OUT12 0x0C
-#define OUT13 0x0D
-#define OUT14 0x0E
-#define OUT15 0x0F
-#define OUT16 0x10
-#define OUT17 0x11
-#define OUT18 0x12
+#define OUT1 0x00
+#define OUT2 0x01
+#define OUT3 0x02
+#define OUT4 0x03
+#define OUT5 0x04
+#define OUT6 0x05
+#define OUT7 0x06
+#define OUT8 0x07
+#define OUT9 0x08
+#define OUT10 0x09
+#define OUT11 0x0A
+#define OUT12 0x0B
+#define OUT13 0x0C
+#define OUT14 0x0D
+#define OUT15 0x0E
+#define OUT16 0x0F
+#define OUT17 0x10
+#define OUT18 0x11
diff --git a/drivers/led/issi/is31fl3729-mono.c b/drivers/led/issi/is31fl3729-mono.c
new file mode 100644
index 0000000000..13d5146877
--- /dev/null
+++ b/drivers/led/issi/is31fl3729-mono.c
@@ -0,0 +1,213 @@
+/* Copyright 2024 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2024 Harrison Chan (Xelus)
+ * Copyright 2024 Dimitris Mantzouranis <d3xter93@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 "is31fl3729-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3729_PWM_REGISTER_COUNT 143
+#define IS31FL3729_SCALING_REGISTER_COUNT 16
+
+#ifndef IS31FL3729_I2C_TIMEOUT
+# define IS31FL3729_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3729_I2C_PERSISTENCE
+# define IS31FL3729_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3729_CONFIGURATION
+# define IS31FL3729_CONFIGURATION IS31FL3729_CONFIG_SWS_15_9
+#endif
+
+#ifndef IS31FL3729_GLOBAL_CURRENT
+# define IS31FL3729_GLOBAL_CURRENT 0x40
+#endif
+
+#ifndef IS31FL3729_SW_PULLDOWN
+# define IS31FL3729_SW_PULLDOWN IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3729_CS_PULLUP
+# define IS31FL3729_CS_PULLUP IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM
+# define IS31FL3729_SPREAD_SPECTRUM IS31FL3729_SPREAD_SPECTRUM_DISABLE
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM_RANGE
+# define IS31FL3729_SPREAD_SPECTRUM_RANGE IS31FL3729_SPREAD_SPECTRUM_RANGE_5_PERCENT
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME
+# define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1980_US
+#endif
+
+#ifndef IS31FL3729_PWM_FREQUENCY
+# define IS31FL3729_PWM_FREQUENCY IS31FL3729_PWM_FREQUENCY_32K_HZ
+#endif
+
+const uint8_t i2c_addresses[IS31FL3729_DRIVER_COUNT] = {
+ IS31FL3729_I2C_ADDRESS_1,
+#ifdef IS31FL3729_I2C_ADDRESS_2
+ IS31FL3729_I2C_ADDRESS_2,
+# ifdef IS31FL3729_I2C_ADDRESS_3
+ IS31FL3729_I2C_ADDRESS_3,
+# ifdef IS31FL3729_I2C_ADDRESS_4
+ IS31FL3729_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the PWM & scaling registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+typedef struct is31fl3729_driver_t {
+ uint8_t pwm_buffer[IS31FL3729_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3729_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3729_driver_t;
+
+is31fl3729_driver_t driver_buffers[IS31FL3729_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3729_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3729_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3729_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3729_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3729_write_pwm_buffer(uint8_t index) {
+ // Transmit PWM registers in 11 transfers of 13 bytes.
+
+ // Iterate over the pwm_buffer contents at 13 byte intervals.
+ for (uint8_t i = 0; i <= IS31FL3729_PWM_REGISTER_COUNT; i += 13) {
+#if IS31FL3729_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3729_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3729_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3729_SDB_PIN)
+ gpio_set_pin_output(IS31FL3729_SDB_PIN);
+ gpio_write_pin_high(IS31FL3729_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3729_LED_COUNT; i++) {
+ is31fl3729_set_scaling_register(i, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_update_scaling_registers(i);
+ }
+}
+
+void is31fl3729_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3729_write_register(index, IS31FL3729_REG_PULLDOWNUP, ((IS31FL3729_SW_PULLDOWN & 0b111) << 4) | (IS31FL3729_CS_PULLUP & 0b111));
+ is31fl3729_write_register(index, IS31FL3729_REG_SPREAD_SPECTRUM, ((IS31FL3729_SPREAD_SPECTRUM & 0b1) << 4) | ((IS31FL3729_SPREAD_SPECTRUM_RANGE & 0b11) << 2) | (IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME & 0b11));
+ is31fl3729_write_register(index, IS31FL3729_REG_PWM_FREQUENCY, IS31FL3729_PWM_FREQUENCY);
+ is31fl3729_write_register(index, IS31FL3729_REG_GLOBAL_CURRENT, IS31FL3729_GLOBAL_CURRENT);
+ is31fl3729_write_register(index, IS31FL3729_REG_CONFIGURATION, IS31FL3729_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3729_set_value(int index, uint8_t value) {
+ is31fl3729_led_t led;
+ if (index >= 0 && index < IS31FL3729_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3729_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3729_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3729_LED_COUNT; i++) {
+ is31fl3729_set_value(i, value);
+ }
+}
+
+void is31fl3729_set_scaling_register(uint8_t index, uint8_t value) {
+ is31fl3729_led_t led;
+ memcpy_P(&led, (&g_is31fl3729_leds[index]), sizeof(led));
+
+ // need to do a bit of checking here since 3729 scaling is per CS pin.
+ // not the usual per single LED key as per other ISSI drivers
+ // only enable them, since they should be default disabled
+ int cs_value = (led.v & 0x0F) - 1;
+
+ driver_buffers[led.driver].scaling_buffer[cs_value] = value;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3729_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3729_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3729_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3729_SCALING_REGISTER_COUNT; i++) {
+ is31fl3729_write_register(index, IS31FL3729_REG_SCALING + i, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3729_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3729-mono.h b/drivers/led/issi/is31fl3729-mono.h
new file mode 100644
index 0000000000..9afcde84b3
--- /dev/null
+++ b/drivers/led/issi/is31fl3729-mono.h
@@ -0,0 +1,278 @@
+/* Copyright 2024 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2024 Harrison Chan (Xelus)
+ * Copyright 2024 Dimitris Mantzouranis <d3xter93@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 <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3729_REG_PWM 0x01
+#define IS31FL3729_REG_SCALING 0x90
+#define IS31FL3729_REG_CONFIGURATION 0xA0
+#define IS31FL3729_REG_GLOBAL_CURRENT 0xA1
+#define IS31FL3729_REG_PULLDOWNUP 0xB0
+#define IS31FL3729_REG_SPREAD_SPECTRUM 0xB1
+#define IS31FL3729_REG_PWM_FREQUENCY 0xB2
+#define IS31FL3729_REG_RESET 0xCF
+
+#define IS31FL3729_I2C_ADDRESS_GND 0x34
+#define IS31FL3729_I2C_ADDRESS_SCL 0x35
+#define IS31FL3729_I2C_ADDRESS_SDA 0x36
+#define IS31FL3729_I2C_ADDRESS_VCC 0x37
+
+#if defined(LED_MATRIX_IS31FL3729)
+# define IS31FL3729_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3729_I2C_ADDRESS_4)
+# define IS31FL3729_DRIVER_COUNT 4
+#elif defined(IS31FL3729_I2C_ADDRESS_3)
+# define IS31FL3729_DRIVER_COUNT 3
+#elif defined(IS31FL3729_I2C_ADDRESS_2)
+# define IS31FL3729_DRIVER_COUNT 2
+#elif defined(IS31FL3729_I2C_ADDRESS_1)
+# define IS31FL3729_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3729_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3729_led_t;
+
+extern const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT];
+
+void is31fl3729_init_drivers(void);
+void is31fl3729_init(uint8_t index);
+void is31fl3729_write_register(uint8_t index, uint8_t reg, uint8_t data);
+
+void is31fl3729_set_value(int index, uint8_t value);
+void is31fl3729_set_value_all(uint8_t value);
+
+void is31fl3729_set_scaling_register(uint8_t index, uint8_t value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3729_update_pwm_buffers(uint8_t index);
+void is31fl3729_update_scaling_registers(uint8_t index);
+
+void is31fl3729_flush(void);
+
+#define IS31FL3729_SW_PULLDOWN_0_OHM 0b000
+#define IS31FL3729_SW_PULLDOWN_0K5_OHM_SW_OFF 0b001
+#define IS31FL3729_SW_PULLDOWN_1K_OHM_SW_OFF 0b010
+#define IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF 0b011
+#define IS31FL3729_SW_PULLDOWN_1K_OHM 0b100
+#define IS31FL3729_SW_PULLDOWN_2K_OHM 0b101
+#define IS31FL3729_SW_PULLDOWN_4K_OHM 0b110
+#define IS31FL3729_SW_PULLDOWN_8K_OHM 0b111
+
+#define IS31FL3729_CS_PULLUP_0_OHM 0b000
+#define IS31FL3729_CS_PULLUP_0K5_OHM_CS_OFF 0b001
+#define IS31FL3729_CS_PULLUP_1K_OHM_CS_OFF 0b010
+#define IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF 0b011
+#define IS31FL3729_CS_PULLUP_1K_OHM 0b100
+#define IS31FL3729_CS_PULLUP_2K_OHM 0b101
+#define IS31FL3729_CS_PULLUP_4K_OHM 0b110
+#define IS31FL3729_CS_PULLUP_8K_OHM 0b111
+
+#define IS31FL3729_SPREAD_SPECTRUM_DISABLE 0b0
+#define IS31FL3729_SPREAD_SPECTRUM_ENABLE 0b1
+
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_5_PERCENT 0b00
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_15_PERCENT 0b01
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_24_PERCENT 0b10
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_34_PERCENT 0b11
+
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1980_US 0b00
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1200_US 0b01
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_820_US 0b10
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_660_US 0b11
+
+#define IS31FL3729_PWM_FREQUENCY_55K_HZ 0b000
+#define IS31FL3729_PWM_FREQUENCY_32K_HZ 0b001
+#define IS31FL3729_PWM_FREQUENCY_4K_HZ 0b010
+#define IS31FL3729_PWM_FREQUENCY_2K_HZ 0b011
+#define IS31FL3729_PWM_FREQUENCY_1K_HZ 0b100
+#define IS31FL3729_PWM_FREQUENCY_500_HZ 0b101
+#define IS31FL3729_PWM_FREQUENCY_250_HZ 0b110
+#define IS31FL3729_PWM_FREQUENCY_80K_HZ 0b111
+
+#define IS31FL3729_CONFIG_SWS_15_9 0x01 // 15 CS x 9 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_8 0x11 // 16 CS x 8 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_7 0x21 // 16 CS x 7 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_6 0x31 // 16 CS x 6 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_5 0x41 // 16 CS x 5 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_4 0x51 // 16 CS x 4 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_3 0x61 // 16 CS x 3 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_2 0x71 // 16 CS x 2 SW matrix
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x16
+#define SW2_CS8 0x17
+#define SW2_CS9 0x18
+#define SW2_CS10 0x19
+#define SW2_CS11 0x1A
+#define SW2_CS12 0x1B
+#define SW2_CS13 0x1C
+#define SW2_CS14 0x1D
+#define SW2_CS15 0x1E
+#define SW2_CS16 0x1F
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x26
+#define SW3_CS8 0x27
+#define SW3_CS9 0x28
+#define SW3_CS10 0x29
+#define SW3_CS11 0x2A
+#define SW3_CS12 0x2B
+#define SW3_CS13 0x2C
+#define SW3_CS14 0x2D
+#define SW3_CS15 0x2E
+#define SW3_CS16 0x2F
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x36
+#define SW4_CS8 0x37
+#define SW4_CS9 0x38
+#define SW4_CS10 0x39
+#define SW4_CS11 0x3A
+#define SW4_CS12 0x3B
+#define SW4_CS13 0x3C
+#define SW4_CS14 0x3D
+#define SW4_CS15 0x3E
+#define SW4_CS16 0x3F
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x46
+#define SW5_CS8 0x47
+#define SW5_CS9 0x48
+#define SW5_CS10 0x49
+#define SW5_CS11 0x4A
+#define SW5_CS12 0x4B
+#define SW5_CS13 0x4C
+#define SW5_CS14 0x4D
+#define SW5_CS15 0x4E
+#define SW5_CS16 0x4F
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x56
+#define SW6_CS8 0x57
+#define SW6_CS9 0x58
+#define SW6_CS10 0x59
+#define SW6_CS11 0x5A
+#define SW6_CS12 0x5B
+#define SW6_CS13 0x5C
+#define SW6_CS14 0x5D
+#define SW6_CS15 0x5E
+#define SW6_CS16 0x5F
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x66
+#define SW7_CS8 0x67
+#define SW7_CS9 0x68
+#define SW7_CS10 0x69
+#define SW7_CS11 0x6A
+#define SW7_CS12 0x6B
+#define SW7_CS13 0x6C
+#define SW7_CS14 0x6D
+#define SW7_CS15 0x6E
+#define SW7_CS16 0x6F
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x76
+#define SW8_CS8 0x77
+#define SW8_CS9 0x78
+#define SW8_CS10 0x79
+#define SW8_CS11 0x7A
+#define SW8_CS12 0x7B
+#define SW8_CS13 0x7C
+#define SW8_CS14 0x7D
+#define SW8_CS15 0x7E
+#define SW8_CS16 0x7F
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x86
+#define SW9_CS8 0x87
+#define SW9_CS9 0x88
+#define SW9_CS10 0x89
+#define SW9_CS11 0x8A
+#define SW9_CS12 0x8B
+#define SW9_CS13 0x8C
+#define SW9_CS14 0x8D
+#define SW9_CS15 0x8E
diff --git a/drivers/led/issi/is31fl3729.c b/drivers/led/issi/is31fl3729.c
new file mode 100644
index 0000000000..80acb22fa2
--- /dev/null
+++ b/drivers/led/issi/is31fl3729.c
@@ -0,0 +1,219 @@
+/* Copyright 2024 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2024 Harrison Chan (Xelus)
+ * Copyright 2024 Dimitris Mantzouranis <d3xter93@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 "is31fl3729.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3729_PWM_REGISTER_COUNT 143
+#define IS31FL3729_SCALING_REGISTER_COUNT 16
+
+#ifndef IS31FL3729_I2C_TIMEOUT
+# define IS31FL3729_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3729_I2C_PERSISTENCE
+# define IS31FL3729_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3729_CONFIGURATION
+# define IS31FL3729_CONFIGURATION IS31FL3729_CONFIG_SWS_15_9
+#endif
+
+#ifndef IS31FL3729_GLOBAL_CURRENT
+# define IS31FL3729_GLOBAL_CURRENT 0x40
+#endif
+
+#ifndef IS31FL3729_SW_PULLDOWN
+# define IS31FL3729_SW_PULLDOWN IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3729_CS_PULLUP
+# define IS31FL3729_CS_PULLUP IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM
+# define IS31FL3729_SPREAD_SPECTRUM IS31FL3729_SPREAD_SPECTRUM_DISABLE
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM_RANGE
+# define IS31FL3729_SPREAD_SPECTRUM_RANGE IS31FL3729_SPREAD_SPECTRUM_RANGE_5_PERCENT
+#endif
+
+#ifndef IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME
+# define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1980_US
+#endif
+
+#ifndef IS31FL3729_PWM_FREQUENCY
+# define IS31FL3729_PWM_FREQUENCY IS31FL3729_PWM_FREQUENCY_32K_HZ
+#endif
+
+const uint8_t i2c_addresses[IS31FL3729_DRIVER_COUNT] = {
+ IS31FL3729_I2C_ADDRESS_1,
+#ifdef IS31FL3729_I2C_ADDRESS_2
+ IS31FL3729_I2C_ADDRESS_2,
+# ifdef IS31FL3729_I2C_ADDRESS_3
+ IS31FL3729_I2C_ADDRESS_3,
+# ifdef IS31FL3729_I2C_ADDRESS_4
+ IS31FL3729_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the PWM & scaling registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+typedef struct is31fl3729_driver_t {
+ uint8_t pwm_buffer[IS31FL3729_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3729_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3729_driver_t;
+
+is31fl3729_driver_t driver_buffers[IS31FL3729_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3729_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3729_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3729_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3729_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3729_write_pwm_buffer(uint8_t index) {
+ // Transmit PWM registers in 11 transfers of 13 bytes.
+
+ // Iterate over the pwm_buffer contents at 13 byte intervals.
+ for (uint8_t i = 0; i <= IS31FL3729_PWM_REGISTER_COUNT; i += 13) {
+#if IS31FL3729_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3729_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3729_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3729_SDB_PIN)
+ gpio_set_pin_output(IS31FL3729_SDB_PIN);
+ gpio_write_pin_high(IS31FL3729_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3729_LED_COUNT; i++) {
+ is31fl3729_set_scaling_register(i, 0xFF, 0xFF, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_update_scaling_registers(i);
+ }
+}
+
+void is31fl3729_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3729_write_register(index, IS31FL3729_REG_PULLDOWNUP, ((IS31FL3729_SW_PULLDOWN & 0b111) << 4) | (IS31FL3729_CS_PULLUP & 0b111));
+ is31fl3729_write_register(index, IS31FL3729_REG_SPREAD_SPECTRUM, ((IS31FL3729_SPREAD_SPECTRUM & 0b1) << 4) | ((IS31FL3729_SPREAD_SPECTRUM_RANGE & 0b11) << 2) | (IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME & 0b11));
+ is31fl3729_write_register(index, IS31FL3729_REG_PWM_FREQUENCY, IS31FL3729_PWM_FREQUENCY);
+ is31fl3729_write_register(index, IS31FL3729_REG_GLOBAL_CURRENT, IS31FL3729_GLOBAL_CURRENT);
+ is31fl3729_write_register(index, IS31FL3729_REG_CONFIGURATION, IS31FL3729_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3729_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3729_led_t led;
+ if (index >= 0 && index < IS31FL3729_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3729_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3729_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < IS31FL3729_LED_COUNT; i++) {
+ is31fl3729_set_color(i, red, green, blue);
+ }
+}
+
+void is31fl3729_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3729_led_t led;
+ memcpy_P(&led, (&g_is31fl3729_leds[index]), sizeof(led));
+
+ // need to do a bit of checking here since 3729 scaling is per CS pin.
+ // not the usual per RGB key as per other ISSI drivers
+ // only enable them, since they should be default disabled
+ int cs_red = (led.r & 0x0F) - 1;
+ int cs_green = (led.g & 0x0F) - 1;
+ int cs_blue = (led.b & 0x0F) - 1;
+
+ driver_buffers[led.driver].scaling_buffer[cs_red] = red;
+ driver_buffers[led.driver].scaling_buffer[cs_green] = green;
+ driver_buffers[led.driver].scaling_buffer[cs_blue] = blue;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3729_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3729_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3729_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3729_SCALING_REGISTER_COUNT; i++) {
+ is31fl3729_write_register(index, IS31FL3729_REG_SCALING + i, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3729_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3729_DRIVER_COUNT; i++) {
+ is31fl3729_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3729.h b/drivers/led/issi/is31fl3729.h
new file mode 100644
index 0000000000..865c462f05
--- /dev/null
+++ b/drivers/led/issi/is31fl3729.h
@@ -0,0 +1,280 @@
+/* Copyright 2024 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2024 Harrison Chan (Xelus)
+ * Copyright 2024 Dimitris Mantzouranis <d3xter93@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 <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3729_REG_PWM 0x01
+#define IS31FL3729_REG_SCALING 0x90
+#define IS31FL3729_REG_CONFIGURATION 0xA0
+#define IS31FL3729_REG_GLOBAL_CURRENT 0xA1
+#define IS31FL3729_REG_PULLDOWNUP 0xB0
+#define IS31FL3729_REG_SPREAD_SPECTRUM 0xB1
+#define IS31FL3729_REG_PWM_FREQUENCY 0xB2
+#define IS31FL3729_REG_RESET 0xCF
+
+#define IS31FL3729_I2C_ADDRESS_GND 0x34
+#define IS31FL3729_I2C_ADDRESS_SCL 0x35
+#define IS31FL3729_I2C_ADDRESS_SDA 0x36
+#define IS31FL3729_I2C_ADDRESS_VCC 0x37
+
+#if defined(RGB_MATRIX_IS31FL3729)
+# define IS31FL3729_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3729_I2C_ADDRESS_4)
+# define IS31FL3729_DRIVER_COUNT 4
+#elif defined(IS31FL3729_I2C_ADDRESS_3)
+# define IS31FL3729_DRIVER_COUNT 3
+#elif defined(IS31FL3729_I2C_ADDRESS_2)
+# define IS31FL3729_DRIVER_COUNT 2
+#elif defined(IS31FL3729_I2C_ADDRESS_1)
+# define IS31FL3729_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3729_led_t {
+ uint8_t driver : 2;
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+} PACKED is31fl3729_led_t;
+
+extern const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT];
+
+void is31fl3729_init_drivers(void);
+void is31fl3729_init(uint8_t index);
+void is31fl3729_write_register(uint8_t index, uint8_t reg, uint8_t data);
+
+void is31fl3729_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void is31fl3729_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3729_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3729_update_pwm_buffers(uint8_t index);
+void is31fl3729_update_scaling_registers(uint8_t index);
+
+void is31fl3729_flush(void);
+
+#define IS31FL3729_SW_PULLDOWN_0_OHM 0b000
+#define IS31FL3729_SW_PULLDOWN_0K5_OHM_SW_OFF 0b001
+#define IS31FL3729_SW_PULLDOWN_1K_OHM_SW_OFF 0b010
+#define IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF 0b011
+#define IS31FL3729_SW_PULLDOWN_1K_OHM 0b100
+#define IS31FL3729_SW_PULLDOWN_2K_OHM 0b101
+#define IS31FL3729_SW_PULLDOWN_4K_OHM 0b110
+#define IS31FL3729_SW_PULLDOWN_8K_OHM 0b111
+
+#define IS31FL3729_CS_PULLUP_0_OHM 0b000
+#define IS31FL3729_CS_PULLUP_0K5_OHM_CS_OFF 0b001
+#define IS31FL3729_CS_PULLUP_1K_OHM_CS_OFF 0b010
+#define IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF 0b011
+#define IS31FL3729_CS_PULLUP_1K_OHM 0b100
+#define IS31FL3729_CS_PULLUP_2K_OHM 0b101
+#define IS31FL3729_CS_PULLUP_4K_OHM 0b110
+#define IS31FL3729_CS_PULLUP_8K_OHM 0b111
+
+#define IS31FL3729_SPREAD_SPECTRUM_DISABLE 0b0
+#define IS31FL3729_SPREAD_SPECTRUM_ENABLE 0b1
+
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_5_PERCENT 0b00
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_15_PERCENT 0b01
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_24_PERCENT 0b10
+#define IS31FL3729_SPREAD_SPECTRUM_RANGE_34_PERCENT 0b11
+
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1980_US 0b00
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_1200_US 0b01
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_820_US 0b10
+#define IS31FL3729_SPREAD_SPECTRUM_CYCLE_TIME_660_US 0b11
+
+#define IS31FL3729_PWM_FREQUENCY_55K_HZ 0b000
+#define IS31FL3729_PWM_FREQUENCY_32K_HZ 0b001
+#define IS31FL3729_PWM_FREQUENCY_4K_HZ 0b010
+#define IS31FL3729_PWM_FREQUENCY_2K_HZ 0b011
+#define IS31FL3729_PWM_FREQUENCY_1K_HZ 0b100
+#define IS31FL3729_PWM_FREQUENCY_500_HZ 0b101
+#define IS31FL3729_PWM_FREQUENCY_250_HZ 0b110
+#define IS31FL3729_PWM_FREQUENCY_80K_HZ 0b111
+
+#define IS31FL3729_CONFIG_SWS_15_9 0x01 // 15 CS x 9 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_8 0x11 // 16 CS x 8 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_7 0x21 // 16 CS x 7 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_6 0x31 // 16 CS x 6 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_5 0x41 // 16 CS x 5 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_4 0x51 // 16 CS x 4 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_3 0x61 // 16 CS x 3 SW matrix
+#define IS31FL3729_CONFIG_SWS_16_2 0x71 // 16 CS x 2 SW matrix
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x16
+#define SW2_CS8 0x17
+#define SW2_CS9 0x18
+#define SW2_CS10 0x19
+#define SW2_CS11 0x1A
+#define SW2_CS12 0x1B
+#define SW2_CS13 0x1C
+#define SW2_CS14 0x1D
+#define SW2_CS15 0x1E
+#define SW2_CS16 0x1F
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x26
+#define SW3_CS8 0x27
+#define SW3_CS9 0x28
+#define SW3_CS10 0x29
+#define SW3_CS11 0x2A
+#define SW3_CS12 0x2B
+#define SW3_CS13 0x2C
+#define SW3_CS14 0x2D
+#define SW3_CS15 0x2E
+#define SW3_CS16 0x2F
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x36
+#define SW4_CS8 0x37
+#define SW4_CS9 0x38
+#define SW4_CS10 0x39
+#define SW4_CS11 0x3A
+#define SW4_CS12 0x3B
+#define SW4_CS13 0x3C
+#define SW4_CS14 0x3D
+#define SW4_CS15 0x3E
+#define SW4_CS16 0x3F
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x46
+#define SW5_CS8 0x47
+#define SW5_CS9 0x48
+#define SW5_CS10 0x49
+#define SW5_CS11 0x4A
+#define SW5_CS12 0x4B
+#define SW5_CS13 0x4C
+#define SW5_CS14 0x4D
+#define SW5_CS15 0x4E
+#define SW5_CS16 0x4F
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x56
+#define SW6_CS8 0x57
+#define SW6_CS9 0x58
+#define SW6_CS10 0x59
+#define SW6_CS11 0x5A
+#define SW6_CS12 0x5B
+#define SW6_CS13 0x5C
+#define SW6_CS14 0x5D
+#define SW6_CS15 0x5E
+#define SW6_CS16 0x5F
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x66
+#define SW7_CS8 0x67
+#define SW7_CS9 0x68
+#define SW7_CS10 0x69
+#define SW7_CS11 0x6A
+#define SW7_CS12 0x6B
+#define SW7_CS13 0x6C
+#define SW7_CS14 0x6D
+#define SW7_CS15 0x6E
+#define SW7_CS16 0x6F
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x76
+#define SW8_CS8 0x77
+#define SW8_CS9 0x78
+#define SW8_CS10 0x79
+#define SW8_CS11 0x7A
+#define SW8_CS12 0x7B
+#define SW8_CS13 0x7C
+#define SW8_CS14 0x7D
+#define SW8_CS15 0x7E
+#define SW8_CS16 0x7F
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x86
+#define SW9_CS8 0x87
+#define SW9_CS9 0x88
+#define SW9_CS10 0x89
+#define SW9_CS11 0x8A
+#define SW9_CS12 0x8B
+#define SW9_CS13 0x8C
+#define SW9_CS14 0x8D
+#define SW9_CS15 0x8E
diff --git a/drivers/led/issi/is31fl3731-mono.c b/drivers/led/issi/is31fl3731-mono.c
new file mode 100644
index 0000000000..33a863b982
--- /dev/null
+++ b/drivers/led/issi/is31fl3731-mono.c
@@ -0,0 +1,230 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2019 Clueboard
+ * Copyright 2021 Doni Crosby
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3731-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3731_PWM_REGISTER_COUNT 144
+#define IS31FL3731_LED_CONTROL_REGISTER_COUNT 18
+
+#ifndef IS31FL3731_I2C_TIMEOUT
+# define IS31FL3731_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3731_I2C_PERSISTENCE
+# define IS31FL3731_I2C_PERSISTENCE 0
+#endif
+
+const uint8_t i2c_addresses[IS31FL3731_DRIVER_COUNT] = {
+ IS31FL3731_I2C_ADDRESS_1,
+#ifdef IS31FL3731_I2C_ADDRESS_2
+ IS31FL3731_I2C_ADDRESS_2,
+# ifdef IS31FL3731_I2C_ADDRESS_3
+ IS31FL3731_I2C_ADDRESS_3,
+# ifdef IS31FL3731_I2C_ADDRESS_4
+ IS31FL3731_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the IS31FL3731 PWM registers 0x24-0xB3.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct is31fl3731_driver_t {
+ uint8_t pwm_buffer[IS31FL3731_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3731_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3731_driver_t;
+
+is31fl3731_driver_t driver_buffers[IS31FL3731_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3731_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3731_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3731_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3731_select_page(uint8_t index, uint8_t page) {
+ is31fl3731_write_register(index, IS31FL3731_REG_COMMAND, page);
+}
+
+void is31fl3731_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 9 transfers of 16 bytes.
+
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) {
+#if IS31FL3731_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3731_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3731_FRAME_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, IS31FL3731_FRAME_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3731_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3731_SDB_PIN)
+ gpio_set_pin_output(IS31FL3731_SDB_PIN);
+ gpio_write_pin_high(IS31FL3731_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3731_LED_COUNT; i++) {
+ is31fl3731_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_update_led_control_registers(i);
+ }
+}
+
+void is31fl3731_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, first enable software shutdown,
+ // then set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FUNCTION);
+
+ // enable software shutdown
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00);
+#ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN);
+#endif
+
+ // this delay was copied from other drivers, might not be needed
+ wait_ms(10);
+
+ // picture mode
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE);
+ // display frame 0
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00);
+ // audio sync off
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00);
+
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FRAME_1);
+
+ // turn off all LEDs in the LED control register
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_LED_CONTROL + i, 0x00);
+ }
+
+ // turn off all LEDs in the blink control register (not really needed)
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_BLINK_CONTROL + i, 0x00);
+ }
+
+ // set PWM on all LEDs to 0
+ for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_PWM + i, 0x00);
+ }
+
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FUNCTION);
+
+ // disable software shutdown
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01);
+
+ // select page 0 and leave it selected.
+ // most usage after initialization is just writing PWM buffers in page 0
+ // as there's not much point in double-buffering
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FRAME_1);
+}
+
+void is31fl3731_set_value(int index, uint8_t value) {
+ is31fl3731_led_t led;
+
+ if (index >= 0 && index < IS31FL3731_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3731_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3731_LED_COUNT; i++) {
+ is31fl3731_set_value(i, value);
+ }
+}
+
+void is31fl3731_set_led_control_register(uint8_t index, bool value) {
+ is31fl3731_led_t led;
+ memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
+
+ uint8_t control_register = led.v / 8;
+ uint8_t bit_value = led.v % 8;
+
+ if (value) {
+ driver_buffers[led.driver].led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers[led.driver].led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
+}
+
+void is31fl3731_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3731_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3731_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
+ }
+
+ driver_buffers[index].led_control_buffer_dirty = false;
+ }
+}
+
+void is31fl3731_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3731-mono.h b/drivers/led/issi/is31fl3731-mono.h
new file mode 100644
index 0000000000..e6e107d309
--- /dev/null
+++ b/drivers/led/issi/is31fl3731-mono.h
@@ -0,0 +1,286 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2019 Clueboard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef LED_DRIVER_ADDR_1
+# define IS31FL3731_I2C_ADDRESS_1 LED_DRIVER_ADDR_1
+#endif
+#ifdef LED_DRIVER_ADDR_2
+# define IS31FL3731_I2C_ADDRESS_2 LED_DRIVER_ADDR_2
+#endif
+#ifdef LED_DRIVER_ADDR_3
+# define IS31FL3731_I2C_ADDRESS_3 LED_DRIVER_ADDR_3
+#endif
+#ifdef LED_DRIVER_ADDR_4
+# define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4
+#endif
+#ifdef ISSI_TIMEOUT
+# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
+#endif
+#ifdef ISSI_PERSISTENCE
+# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE
+#endif
+#ifdef ISSI_3731_DEGHOST
+# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST
+#endif
+
+#define is31_led is31fl3731_led_t
+#define g_is31_leds g_is31fl3731_leds
+// ========
+
+#define IS31FL3731_REG_COMMAND 0xFD
+#define IS31FL3731_COMMAND_FRAME_1 0x00
+#define IS31FL3731_COMMAND_FRAME_2 0x01
+#define IS31FL3731_COMMAND_FRAME_3 0x02
+#define IS31FL3731_COMMAND_FRAME_4 0x03
+#define IS31FL3731_COMMAND_FRAME_5 0x04
+#define IS31FL3731_COMMAND_FRAME_6 0x05
+#define IS31FL3731_COMMAND_FRAME_7 0x06
+#define IS31FL3731_COMMAND_FRAME_8 0x07
+#define IS31FL3731_COMMAND_FUNCTION 0x0B
+
+#define IS31FL3731_FRAME_REG_LED_CONTROL 0x00
+#define IS31FL3731_FRAME_REG_BLINK_CONTROL 0x12
+#define IS31FL3731_FRAME_REG_PWM 0x24
+
+#define IS31FL3731_FUNCTION_REG_CONFIG 0x00
+#define IS31FL3731_CONFIG_MODE_PICTURE 0x00
+#define IS31FL3731_CONFIG_MODE_AUTO_PLAY 0x08
+#define IS31FL3731_CONFIG_MODE_AUDIO_PLAY 0x18
+
+#define IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY 0x01
+#define IS31FL3731_FUNCTION_REG_AUDIO_SYNC 0x06
+#define IS31FL3731_FUNCTION_REG_SHUTDOWN 0x0A
+
+// Not defined in the datasheet -- See AN for IC
+#define IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION 0xC2
+#define IS31FL3731_GHOST_IMAGE_PREVENTION_GEN 0x10
+
+#define IS31FL3731_I2C_ADDRESS_GND 0x74
+#define IS31FL3731_I2C_ADDRESS_SCL 0x75
+#define IS31FL3731_I2C_ADDRESS_SDA 0x76
+#define IS31FL3731_I2C_ADDRESS_VCC 0x77
+
+#if defined(LED_MATRIX_IS31FL3731)
+# define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined IS31FL3731_I2C_ADDRESS_4
+# define IS31FL3731_DRIVER_COUNT 4
+#elif defined IS31FL3731_I2C_ADDRESS_3
+# define IS31FL3731_DRIVER_COUNT 3
+#elif defined IS31FL3731_I2C_ADDRESS_2
+# define IS31FL3731_DRIVER_COUNT 2
+#elif defined IS31FL3731_I2C_ADDRESS_1
+# define IS31FL3731_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3731_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3731_led_t;
+
+extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT];
+
+void is31fl3731_init_drivers(void);
+void is31fl3731_init(uint8_t index);
+void is31fl3731_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3731_select_page(uint8_t index, uint8_t page);
+
+void is31fl3731_set_value(int index, uint8_t value);
+void is31fl3731_set_value_all(uint8_t value);
+
+void is31fl3731_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3731_update_pwm_buffers(uint8_t index);
+void is31fl3731_update_led_control_registers(uint8_t index);
+
+void is31fl3731_flush(void);
+
+#define C1_1 0x00
+#define C1_2 0x01
+#define C1_3 0x02
+#define C1_4 0x03
+#define C1_5 0x04
+#define C1_6 0x05
+#define C1_7 0x06
+#define C1_8 0x07
+
+#define C1_9 0x08
+#define C1_10 0x09
+#define C1_11 0x0A
+#define C1_12 0x0B
+#define C1_13 0x0C
+#define C1_14 0x0D
+#define C1_15 0x0E
+#define C1_16 0x0F
+
+#define C2_1 0x10
+#define C2_2 0x11
+#define C2_3 0x12
+#define C2_4 0x13
+#define C2_5 0x14
+#define C2_6 0x15
+#define C2_7 0x16
+#define C2_8 0x17
+
+#define C2_9 0x18
+#define C2_10 0x19
+#define C2_11 0x1A
+#define C2_12 0x1B
+#define C2_13 0x1C
+#define C2_14 0x1D
+#define C2_15 0x1E
+#define C2_16 0x1F
+
+#define C3_1 0x20
+#define C3_2 0x21
+#define C3_3 0x22
+#define C3_4 0x23
+#define C3_5 0x24
+#define C3_6 0x25
+#define C3_7 0x26
+#define C3_8 0x27
+
+#define C3_9 0x28
+#define C3_10 0x29
+#define C3_11 0x2A
+#define C3_12 0x2B
+#define C3_13 0x2C
+#define C3_14 0x2D
+#define C3_15 0x2E
+#define C3_16 0x2F
+
+#define C4_1 0x30
+#define C4_2 0x31
+#define C4_3 0x32
+#define C4_4 0x33
+#define C4_5 0x34
+#define C4_6 0x35
+#define C4_7 0x36
+#define C4_8 0x37
+
+#define C4_9 0x38
+#define C4_10 0x39
+#define C4_11 0x3A
+#define C4_12 0x3B
+#define C4_13 0x3C
+#define C4_14 0x3D
+#define C4_15 0x3E
+#define C4_16 0x3F
+
+#define C5_1 0x40
+#define C5_2 0x41
+#define C5_3 0x42
+#define C5_4 0x43
+#define C5_5 0x44
+#define C5_6 0x45
+#define C5_7 0x46
+#define C5_8 0x47
+
+#define C5_9 0x48
+#define C5_10 0x49
+#define C5_11 0x4A
+#define C5_12 0x4B
+#define C5_13 0x4C
+#define C5_14 0x4D
+#define C5_15 0x4E
+#define C5_16 0x4F
+
+#define C6_1 0x50
+#define C6_2 0x51
+#define C6_3 0x52
+#define C6_4 0x53
+#define C6_5 0x54
+#define C6_6 0x55
+#define C6_7 0x56
+#define C6_8 0x57
+
+#define C6_9 0x58
+#define C6_10 0x59
+#define C6_11 0x5A
+#define C6_12 0x5B
+#define C6_13 0x5C
+#define C6_14 0x5D
+#define C6_15 0x5E
+#define C6_16 0x5F
+
+#define C7_1 0x60
+#define C7_2 0x61
+#define C7_3 0x62
+#define C7_4 0x63
+#define C7_5 0x64
+#define C7_6 0x65
+#define C7_7 0x66
+#define C7_8 0x67
+
+#define C7_9 0x68
+#define C7_10 0x69
+#define C7_11 0x6A
+#define C7_12 0x6B
+#define C7_13 0x6C
+#define C7_14 0x6D
+#define C7_15 0x6E
+#define C7_16 0x6F
+
+#define C8_1 0x70
+#define C8_2 0x71
+#define C8_3 0x72
+#define C8_4 0x73
+#define C8_5 0x74
+#define C8_6 0x75
+#define C8_7 0x76
+#define C8_8 0x77
+
+#define C8_9 0x78
+#define C8_10 0x79
+#define C8_11 0x7A
+#define C8_12 0x7B
+#define C8_13 0x7C
+#define C8_14 0x7D
+#define C8_15 0x7E
+#define C8_16 0x7F
+
+#define C9_1 0x80
+#define C9_2 0x81
+#define C9_3 0x82
+#define C9_4 0x83
+#define C9_5 0x84
+#define C9_6 0x85
+#define C9_7 0x86
+#define C9_8 0x87
+
+#define C9_9 0x88
+#define C9_10 0x89
+#define C9_11 0x8A
+#define C9_12 0x8B
+#define C9_13 0x8C
+#define C9_14 0x8D
+#define C9_15 0x8E
+#define C9_16 0x8F
diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c
deleted file mode 100644
index 8dbfc3cd31..0000000000
--- a/drivers/led/issi/is31fl3731-simple.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2019 Clueboard
- * Copyright 2021 Doni Crosby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31fl3731-simple.h"
-#include <string.h>
-#include "i2c_master.h"
-#include "wait.h"
-
-#define IS31FL3731_PWM_REGISTER_COUNT 144
-#define IS31FL3731_LED_CONTROL_REGISTER_COUNT 18
-
-#ifndef IS31FL3731_I2C_TIMEOUT
-# define IS31FL3731_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3731_I2C_PERSISTENCE
-# define IS31FL3731_I2C_PERSISTENCE 0
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the IS31FL3731 PWM registers 0x24-0xB3.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][IS31FL3731_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-
-void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if IS31FL3731_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) {
- break;
- }
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT);
-#endif
-}
-
-void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes bank is already selected
-
- // transmit PWM registers in 9 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
-
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) {
- // set the first register, e.g. 0x24, 0x34, 0x44, etc.
- g_twi_transfer_buffer[0] = 0x24 + i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
-
-#if IS31FL3731_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT);
-#endif
- }
-}
-
-void is31fl3731_init_drivers(void) {
- i2c_init();
-
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_1);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_2);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_3);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < IS31FL3731_LED_COUNT; i++) {
- is31fl3731_set_led_control_register(i, true);
- }
-
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void is31fl3731_init(uint8_t addr) {
- // In order to avoid the LEDs being driven with garbage data
- // in the LED driver's PWM registers, first enable software shutdown,
- // then set up the mode and other settings, clear the PWM registers,
- // then disable software shutdown.
-
- // select "function register" bank
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION);
-
- // enable software shutdown
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00);
-#ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN);
-#endif
-
- // this delay was copied from other drivers, might not be needed
- wait_ms(10);
-
- // picture mode
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE);
- // display frame 0
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00);
- // audio sync off
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00);
-
- // select bank 0
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1);
-
- // turn off all LEDs in the LED control register
- for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3731_write_register(addr, i, 0x00);
- }
-
- // turn off all LEDs in the blink control register (not really needed)
- for (int i = 0x12; i <= 0x23; i++) {
- is31fl3731_write_register(addr, i, 0x00);
- }
-
- // set PWM on all LEDs to 0
- for (int i = 0x24; i <= 0xB3; i++) {
- is31fl3731_write_register(addr, i, 0x00);
- }
-
- // select "function register" bank
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION);
-
- // disable software shutdown
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01);
-
- // select bank 0 and leave it selected.
- // most usage after initialization is just writing PWM buffers in bank 0
- // as there's not much point in double-buffering
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1);
-}
-
-void is31fl3731_set_value(int index, uint8_t value) {
- is31fl3731_led_t led;
- if (index >= 0 && index < IS31FL3731_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
-
- // Subtract 0x24 to get the second index of g_pwm_buffer
-
- if (g_pwm_buffer[led.driver][led.v - 0x24] == value) {
- return;
- }
- g_pwm_buffer[led.driver][led.v - 0x24] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void is31fl3731_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3731_LED_COUNT; i++) {
- is31fl3731_set_value(i, value);
- }
-}
-
-void is31fl3731_set_led_control_register(uint8_t index, bool value) {
- is31fl3731_led_t led;
- memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
-
- uint8_t control_register = (led.v - 0x24) / 8;
- uint8_t bit_value = (led.v - 0x24) % 8;
-
- if (value) {
- g_led_control_registers[led.driver][control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required[led.driver] = true;
-}
-
-void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]);
- g_pwm_buffer_update_required[index] = false;
- }
-}
-
-void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3731_write_register(addr, i, g_led_control_registers[index][i]);
- }
- g_led_control_registers_update_required[index] = false;
- }
-}
-
-void is31fl3731_flush(void) {
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h
deleted file mode 100644
index 4d173847dd..0000000000
--- a/drivers/led/issi/is31fl3731-simple.h
+++ /dev/null
@@ -1,282 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2019 Clueboard
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef LED_DRIVER_ADDR_1
-# define IS31FL3731_I2C_ADDRESS_1 LED_DRIVER_ADDR_1
-#endif
-#ifdef LED_DRIVER_ADDR_2
-# define IS31FL3731_I2C_ADDRESS_2 LED_DRIVER_ADDR_2
-#endif
-#ifdef LED_DRIVER_ADDR_3
-# define IS31FL3731_I2C_ADDRESS_3 LED_DRIVER_ADDR_3
-#endif
-#ifdef LED_DRIVER_ADDR_4
-# define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4
-#endif
-#ifdef ISSI_TIMEOUT
-# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT
-#endif
-#ifdef ISSI_PERSISTENCE
-# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE
-#endif
-#ifdef ISSI_3731_DEGHOST
-# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST
-#endif
-
-#define is31_led is31fl3731_led_t
-#define g_is31_leds g_is31fl3731_leds
-// ========
-
-#define IS31FL3731_REG_COMMAND 0xFD
-#define IS31FL3731_COMMAND_FRAME_1 0x00
-#define IS31FL3731_COMMAND_FRAME_2 0x01
-#define IS31FL3731_COMMAND_FRAME_3 0x02
-#define IS31FL3731_COMMAND_FRAME_4 0x03
-#define IS31FL3731_COMMAND_FRAME_5 0x04
-#define IS31FL3731_COMMAND_FRAME_6 0x05
-#define IS31FL3731_COMMAND_FRAME_7 0x06
-#define IS31FL3731_COMMAND_FRAME_8 0x07
-#define IS31FL3731_COMMAND_FUNCTION 0x0B
-
-#define IS31FL3731_FUNCTION_REG_CONFIG 0x00
-#define IS31FL3731_CONFIG_MODE_PICTURE 0x00
-#define IS31FL3731_CONFIG_MODE_AUTO_PLAY 0x08
-#define IS31FL3731_CONFIG_MODE_AUDIO_PLAY 0x18
-
-#define IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY 0x01
-#define IS31FL3731_FUNCTION_REG_AUDIO_SYNC 0x06
-#define IS31FL3731_FUNCTION_REG_SHUTDOWN 0x0A
-
-// Not defined in the datasheet -- See AN for IC
-#define IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION 0xC2
-#define IS31FL3731_GHOST_IMAGE_PREVENTION_GEN 0x10
-
-#define IS31FL3731_I2C_ADDRESS_GND 0x74
-#define IS31FL3731_I2C_ADDRESS_SCL 0x75
-#define IS31FL3731_I2C_ADDRESS_SDA 0x76
-#define IS31FL3731_I2C_ADDRESS_VCC 0x77
-
-#if defined(LED_MATRIX_IS31FL3731)
-# define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined IS31FL3731_I2C_ADDRESS_4
-# define IS31FL3731_DRIVER_COUNT 4
-#elif defined IS31FL3731_I2C_ADDRESS_3
-# define IS31FL3731_DRIVER_COUNT 3
-#elif defined IS31FL3731_I2C_ADDRESS_2
-# define IS31FL3731_DRIVER_COUNT 2
-#elif defined IS31FL3731_I2C_ADDRESS_1
-# define IS31FL3731_DRIVER_COUNT 1
-#endif
-
-typedef struct is31fl3731_led_t {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED is31fl3731_led_t;
-
-extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT];
-
-void is31fl3731_init_drivers(void);
-void is31fl3731_init(uint8_t addr);
-void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void is31fl3731_set_value(int index, uint8_t value);
-void is31fl3731_set_value_all(uint8_t value);
-
-void is31fl3731_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index);
-
-void is31fl3731_flush(void);
-
-#define C1_1 0x24
-#define C1_2 0x25
-#define C1_3 0x26
-#define C1_4 0x27
-#define C1_5 0x28
-#define C1_6 0x29
-#define C1_7 0x2A
-#define C1_8 0x2B
-
-#define C1_9 0x2C
-#define C1_10 0x2D
-#define C1_11 0x2E
-#define C1_12 0x2F
-#define C1_13 0x30
-#define C1_14 0x31
-#define C1_15 0x32
-#define C1_16 0x33
-
-#define C2_1 0x34
-#define C2_2 0x35
-#define C2_3 0x36
-#define C2_4 0x37
-#define C2_5 0x38
-#define C2_6 0x39
-#define C2_7 0x3A
-#define C2_8 0x3B
-
-#define C2_9 0x3C
-#define C2_10 0x3D
-#define C2_11 0x3E
-#define C2_12 0x3F
-#define C2_13 0x40
-#define C2_14 0x41
-#define C2_15 0x42
-#define C2_16 0x43
-
-#define C3_1 0x44
-#define C3_2 0x45
-#define C3_3 0x46
-#define C3_4 0x47
-#define C3_5 0x48
-#define C3_6 0x49
-#define C3_7 0x4A
-#define C3_8 0x4B
-
-#define C3_9 0x4C
-#define C3_10 0x4D
-#define C3_11 0x4E
-#define C3_12 0x4F
-#define C3_13 0x50
-#define C3_14 0x51
-#define C3_15 0x52
-#define C3_16 0x53
-
-#define C4_1 0x54
-#define C4_2 0x55
-#define C4_3 0x56
-#define C4_4 0x57
-#define C4_5 0x58
-#define C4_6 0x59
-#define C4_7 0x5A
-#define C4_8 0x5B
-
-#define C4_9 0x5C
-#define C4_10 0x5D
-#define C4_11 0x5E
-#define C4_12 0x5F
-#define C4_13 0x60
-#define C4_14 0x61
-#define C4_15 0x62
-#define C4_16 0x63
-
-#define C5_1 0x64
-#define C5_2 0x65
-#define C5_3 0x66
-#define C5_4 0x67
-#define C5_5 0x68
-#define C5_6 0x69
-#define C5_7 0x6A
-#define C5_8 0x6B
-
-#define C5_9 0x6C
-#define C5_10 0x6D
-#define C5_11 0x6E
-#define C5_12 0x6F
-#define C5_13 0x70
-#define C5_14 0x71
-#define C5_15 0x72
-#define C5_16 0x73
-
-#define C6_1 0x74
-#define C6_2 0x75
-#define C6_3 0x76
-#define C6_4 0x77
-#define C6_5 0x78
-#define C6_6 0x79
-#define C6_7 0x7A
-#define C6_8 0x7B
-
-#define C6_9 0x7C
-#define C6_10 0x7D
-#define C6_11 0x7E
-#define C6_12 0x7F
-#define C6_13 0x80
-#define C6_14 0x81
-#define C6_15 0x82
-#define C6_16 0x83
-
-#define C7_1 0x84
-#define C7_2 0x85
-#define C7_3 0x86
-#define C7_4 0x87
-#define C7_5 0x88
-#define C7_6 0x89
-#define C7_7 0x8A
-#define C7_8 0x8B
-
-#define C7_9 0x8C
-#define C7_10 0x8D
-#define C7_11 0x8E
-#define C7_12 0x8F
-#define C7_13 0x90
-#define C7_14 0x91
-#define C7_15 0x92
-#define C7_16 0x93
-
-#define C8_1 0x94
-#define C8_2 0x95
-#define C8_3 0x96
-#define C8_4 0x97
-#define C8_5 0x98
-#define C8_6 0x99
-#define C8_7 0x9A
-#define C8_8 0x9B
-
-#define C8_9 0x9C
-#define C8_10 0x9D
-#define C8_11 0x9E
-#define C8_12 0x9F
-#define C8_13 0xA0
-#define C8_14 0xA1
-#define C8_15 0xA2
-#define C8_16 0xA3
-
-#define C9_1 0xA4
-#define C9_2 0xA5
-#define C9_3 0xA6
-#define C9_4 0xA7
-#define C9_5 0xA8
-#define C9_6 0xA9
-#define C9_7 0xAA
-#define C9_8 0xAB
-
-#define C9_9 0xAC
-#define C9_10 0xAD
-#define C9_11 0xAE
-#define C9_12 0xAF
-#define C9_13 0xB0
-#define C9_14 0xB1
-#define C9_15 0xB2
-#define C9_16 0xB3
diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c
index 1ab8997731..86d953ef25 100644
--- a/drivers/led/issi/is31fl3731.c
+++ b/drivers/led/issi/is31fl3731.c
@@ -17,8 +17,8 @@
*/
#include "is31fl3731.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
#define IS31FL3731_PWM_REGISTER_COUNT 144
@@ -32,54 +32,64 @@
# define IS31FL3731_I2C_PERSISTENCE 0
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+const uint8_t i2c_addresses[IS31FL3731_DRIVER_COUNT] = {
+ IS31FL3731_I2C_ADDRESS_1,
+#ifdef IS31FL3731_I2C_ADDRESS_2
+ IS31FL3731_I2C_ADDRESS_2,
+# ifdef IS31FL3731_I2C_ADDRESS_3
+ IS31FL3731_I2C_ADDRESS_3,
+# ifdef IS31FL3731_I2C_ADDRESS_4
+ IS31FL3731_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
// These buffers match the IS31FL3731 PWM registers 0x24-0xB3.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][IS31FL3731_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false};
-
-void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3731_driver_t {
+ uint8_t pwm_buffer[IS31FL3731_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3731_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3731_driver_t;
+
+is31fl3731_driver_t driver_buffers[IS31FL3731_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3731_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3731_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) break;
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3731_I2C_TIMEOUT);
#endif
}
-void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes bank is already selected
-
- // transmit PWM registers in 9 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
+void is31fl3731_select_page(uint8_t index, uint8_t page) {
+ is31fl3731_write_register(index, IS31FL3731_REG_COMMAND, page);
+}
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) {
- // set the first register, e.g. 0x24, 0x34, 0x44, etc.
- g_twi_transfer_buffer[0] = 0x24 + i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
+void is31fl3731_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 9 transfers of 16 bytes.
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) {
#if IS31FL3731_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break;
+ for (uint8_t j = 0; j < IS31FL3731_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3731_FRAME_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, IS31FL3731_FRAME_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3731_I2C_TIMEOUT);
#endif
}
}
@@ -87,101 +97,90 @@ void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
void is31fl3731_init_drivers(void) {
i2c_init();
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_1);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_2);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_3);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_4);
-# endif
-# endif
+#if defined(IS31FL3731_SDB_PIN)
+ gpio_set_pin_output(IS31FL3731_SDB_PIN);
+ gpio_write_pin_high(IS31FL3731_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_init(i);
+ }
+
for (int i = 0; i < IS31FL3731_LED_COUNT; i++) {
is31fl3731_set_led_control_register(i, true, true, true);
}
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_update_led_control_registers(i);
+ }
}
-void is31fl3731_init(uint8_t addr) {
+void is31fl3731_init(uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, first enable software shutdown,
// then set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
- // select "function register" bank
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION);
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FUNCTION);
// enable software shutdown
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00);
#ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN);
#endif
// this delay was copied from other drivers, might not be needed
wait_ms(10);
// picture mode
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE);
// display frame 0
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00);
// audio sync off
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00);
- // select bank 0
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1);
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FRAME_1);
// turn off all LEDs in the LED control register
- for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3731_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_LED_CONTROL + i, 0x00);
}
// turn off all LEDs in the blink control register (not really needed)
- for (int i = 0x12; i <= 0x23; i++) {
- is31fl3731_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_BLINK_CONTROL + i, 0x00);
}
// set PWM on all LEDs to 0
- for (int i = 0x24; i <= 0xB3; i++) {
- is31fl3731_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, IS31FL3731_FRAME_REG_PWM + i, 0x00);
}
- // select "function register" bank
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION);
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FUNCTION);
// disable software shutdown
- is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01);
+ is31fl3731_write_register(index, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01);
- // select bank 0 and leave it selected.
- // most usage after initialization is just writing PWM buffers in bank 0
+ // select page 0 and leave it selected.
+ // most usage after initialization is just writing PWM buffers in page 0
// as there's not much point in double-buffering
- is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1);
+ is31fl3731_select_page(index, IS31FL3731_COMMAND_FRAME_1);
}
void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3731_led_t led;
+
if (index >= 0 && index < IS31FL3731_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
- // Subtract 0x24 to get the second index of g_pwm_buffer
- if (g_pwm_buffer[led.driver][led.r - 0x24] == red && g_pwm_buffer[led.driver][led.g - 0x24] == green && g_pwm_buffer[led.driver][led.b - 0x24] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r - 0x24] = red;
- g_pwm_buffer[led.driver][led.g - 0x24] = green;
- g_pwm_buffer[led.driver][led.b - 0x24] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -195,57 +194,52 @@ void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bo
is31fl3731_led_t led;
memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led));
- uint8_t control_register_r = (led.r - 0x24) / 8;
- uint8_t control_register_g = (led.g - 0x24) / 8;
- uint8_t control_register_b = (led.b - 0x24) / 8;
- uint8_t bit_r = (led.r - 0x24) % 8;
- uint8_t bit_g = (led.g - 0x24) % 8;
- uint8_t bit_b = (led.b - 0x24) % 8;
+ uint8_t control_register_r = led.r / 8;
+ uint8_t control_register_g = led.g / 8;
+ uint8_t control_register_b = led.b / 8;
+ uint8_t bit_r = led.r % 8;
+ uint8_t bit_g = led.g % 8;
+ uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]);
+void is31fl3731_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3731_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
}
- g_pwm_buffer_update_required[index] = false;
}
-void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3731_write_register(addr, i, g_led_control_registers[index][i]);
+void is31fl3731_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ for (uint8_t i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3731_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
}
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
- g_led_control_registers_update_required[index] = false;
}
void is31fl3731_flush(void) {
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3731_I2C_ADDRESS_2)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3731_I2C_ADDRESS_3)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3731_I2C_ADDRESS_4)
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3731_DRIVER_COUNT; i++) {
+ is31fl3731_update_pwm_buffers(i);
+ }
}
diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h
index b45cb2b07d..dc229c876d 100644
--- a/drivers/led/issi/is31fl3731.h
+++ b/drivers/led/issi/is31fl3731.h
@@ -60,6 +60,10 @@
#define IS31FL3731_COMMAND_FRAME_8 0x07
#define IS31FL3731_COMMAND_FUNCTION 0x0B
+#define IS31FL3731_FRAME_REG_LED_CONTROL 0x00
+#define IS31FL3731_FRAME_REG_BLINK_CONTROL 0x12
+#define IS31FL3731_FRAME_REG_PWM 0x24
+
#define IS31FL3731_FUNCTION_REG_CONFIG 0x00
#define IS31FL3731_CONFIG_MODE_PICTURE 0x00
#define IS31FL3731_CONFIG_MODE_AUTO_PLAY 0x08
@@ -102,9 +106,9 @@ typedef struct is31fl3731_led_t {
extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT];
void is31fl3731_init_drivers(void);
-void is31fl3731_init(uint8_t addr);
-void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3731_init(uint8_t index);
+void is31fl3731_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3731_select_page(uint8_t index, uint8_t page);
void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -115,169 +119,169 @@ void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3731_update_pwm_buffers(uint8_t index);
+void is31fl3731_update_led_control_registers(uint8_t index);
void is31fl3731_flush(void);
-#define C1_1 0x24
-#define C1_2 0x25
-#define C1_3 0x26
-#define C1_4 0x27
-#define C1_5 0x28
-#define C1_6 0x29
-#define C1_7 0x2A
-#define C1_8 0x2B
-
-#define C1_9 0x2C
-#define C1_10 0x2D
-#define C1_11 0x2E
-#define C1_12 0x2F
-#define C1_13 0x30
-#define C1_14 0x31
-#define C1_15 0x32
-#define C1_16 0x33
-
-#define C2_1 0x34
-#define C2_2 0x35
-#define C2_3 0x36
-#define C2_4 0x37
-#define C2_5 0x38
-#define C2_6 0x39
-#define C2_7 0x3A
-#define C2_8 0x3B
-
-#define C2_9 0x3C
-#define C2_10 0x3D
-#define C2_11 0x3E
-#define C2_12 0x3F
-#define C2_13 0x40
-#define C2_14 0x41
-#define C2_15 0x42
-#define C2_16 0x43
-
-#define C3_1 0x44
-#define C3_2 0x45
-#define C3_3 0x46
-#define C3_4 0x47
-#define C3_5 0x48
-#define C3_6 0x49
-#define C3_7 0x4A
-#define C3_8 0x4B
-
-#define C3_9 0x4C
-#define C3_10 0x4D
-#define C3_11 0x4E
-#define C3_12 0x4F
-#define C3_13 0x50
-#define C3_14 0x51
-#define C3_15 0x52
-#define C3_16 0x53
-
-#define C4_1 0x54
-#define C4_2 0x55
-#define C4_3 0x56
-#define C4_4 0x57
-#define C4_5 0x58
-#define C4_6 0x59
-#define C4_7 0x5A
-#define C4_8 0x5B
-
-#define C4_9 0x5C
-#define C4_10 0x5D
-#define C4_11 0x5E
-#define C4_12 0x5F
-#define C4_13 0x60
-#define C4_14 0x61
-#define C4_15 0x62
-#define C4_16 0x63
-
-#define C5_1 0x64
-#define C5_2 0x65
-#define C5_3 0x66
-#define C5_4 0x67
-#define C5_5 0x68
-#define C5_6 0x69
-#define C5_7 0x6A
-#define C5_8 0x6B
-
-#define C5_9 0x6C
-#define C5_10 0x6D
-#define C5_11 0x6E
-#define C5_12 0x6F
-#define C5_13 0x70
-#define C5_14 0x71
-#define C5_15 0x72
-#define C5_16 0x73
-
-#define C6_1 0x74
-#define C6_2 0x75
-#define C6_3 0x76
-#define C6_4 0x77
-#define C6_5 0x78
-#define C6_6 0x79
-#define C6_7 0x7A
-#define C6_8 0x7B
-
-#define C6_9 0x7C
-#define C6_10 0x7D
-#define C6_11 0x7E
-#define C6_12 0x7F
-#define C6_13 0x80
-#define C6_14 0x81
-#define C6_15 0x82
-#define C6_16 0x83
-
-#define C7_1 0x84
-#define C7_2 0x85
-#define C7_3 0x86
-#define C7_4 0x87
-#define C7_5 0x88
-#define C7_6 0x89
-#define C7_7 0x8A
-#define C7_8 0x8B
-
-#define C7_9 0x8C
-#define C7_10 0x8D
-#define C7_11 0x8E
-#define C7_12 0x8F
-#define C7_13 0x90
-#define C7_14 0x91
-#define C7_15 0x92
-#define C7_16 0x93
-
-#define C8_1 0x94
-#define C8_2 0x95
-#define C8_3 0x96
-#define C8_4 0x97
-#define C8_5 0x98
-#define C8_6 0x99
-#define C8_7 0x9A
-#define C8_8 0x9B
-
-#define C8_9 0x9C
-#define C8_10 0x9D
-#define C8_11 0x9E
-#define C8_12 0x9F
-#define C8_13 0xA0
-#define C8_14 0xA1
-#define C8_15 0xA2
-#define C8_16 0xA3
-
-#define C9_1 0xA4
-#define C9_2 0xA5
-#define C9_3 0xA6
-#define C9_4 0xA7
-#define C9_5 0xA8
-#define C9_6 0xA9
-#define C9_7 0xAA
-#define C9_8 0xAB
-
-#define C9_9 0xAC
-#define C9_10 0xAD
-#define C9_11 0xAE
-#define C9_12 0xAF
-#define C9_13 0xB0
-#define C9_14 0xB1
-#define C9_15 0xB2
-#define C9_16 0xB3
+#define C1_1 0x00
+#define C1_2 0x01
+#define C1_3 0x02
+#define C1_4 0x03
+#define C1_5 0x04
+#define C1_6 0x05
+#define C1_7 0x06
+#define C1_8 0x07
+
+#define C1_9 0x08
+#define C1_10 0x09
+#define C1_11 0x0A
+#define C1_12 0x0B
+#define C1_13 0x0C
+#define C1_14 0x0D
+#define C1_15 0x0E
+#define C1_16 0x0F
+
+#define C2_1 0x10
+#define C2_2 0x11
+#define C2_3 0x12
+#define C2_4 0x13
+#define C2_5 0x14
+#define C2_6 0x15
+#define C2_7 0x16
+#define C2_8 0x17
+
+#define C2_9 0x18
+#define C2_10 0x19
+#define C2_11 0x1A
+#define C2_12 0x1B
+#define C2_13 0x1C
+#define C2_14 0x1D
+#define C2_15 0x1E
+#define C2_16 0x1F
+
+#define C3_1 0x20
+#define C3_2 0x21
+#define C3_3 0x22
+#define C3_4 0x23
+#define C3_5 0x24
+#define C3_6 0x25
+#define C3_7 0x26
+#define C3_8 0x27
+
+#define C3_9 0x28
+#define C3_10 0x29
+#define C3_11 0x2A
+#define C3_12 0x2B
+#define C3_13 0x2C
+#define C3_14 0x2D
+#define C3_15 0x2E
+#define C3_16 0x2F
+
+#define C4_1 0x30
+#define C4_2 0x31
+#define C4_3 0x32
+#define C4_4 0x33
+#define C4_5 0x34
+#define C4_6 0x35
+#define C4_7 0x36
+#define C4_8 0x37
+
+#define C4_9 0x38
+#define C4_10 0x39
+#define C4_11 0x3A
+#define C4_12 0x3B
+#define C4_13 0x3C
+#define C4_14 0x3D
+#define C4_15 0x3E
+#define C4_16 0x3F
+
+#define C5_1 0x40
+#define C5_2 0x41
+#define C5_3 0x42
+#define C5_4 0x43
+#define C5_5 0x44
+#define C5_6 0x45
+#define C5_7 0x46
+#define C5_8 0x47
+
+#define C5_9 0x48
+#define C5_10 0x49
+#define C5_11 0x4A
+#define C5_12 0x4B
+#define C5_13 0x4C
+#define C5_14 0x4D
+#define C5_15 0x4E
+#define C5_16 0x4F
+
+#define C6_1 0x50
+#define C6_2 0x51
+#define C6_3 0x52
+#define C6_4 0x53
+#define C6_5 0x54
+#define C6_6 0x55
+#define C6_7 0x56
+#define C6_8 0x57
+
+#define C6_9 0x58
+#define C6_10 0x59
+#define C6_11 0x5A
+#define C6_12 0x5B
+#define C6_13 0x5C
+#define C6_14 0x5D
+#define C6_15 0x5E
+#define C6_16 0x5F
+
+#define C7_1 0x60
+#define C7_2 0x61
+#define C7_3 0x62
+#define C7_4 0x63
+#define C7_5 0x64
+#define C7_6 0x65
+#define C7_7 0x66
+#define C7_8 0x67
+
+#define C7_9 0x68
+#define C7_10 0x69
+#define C7_11 0x6A
+#define C7_12 0x6B
+#define C7_13 0x6C
+#define C7_14 0x6D
+#define C7_15 0x6E
+#define C7_16 0x6F
+
+#define C8_1 0x70
+#define C8_2 0x71
+#define C8_3 0x72
+#define C8_4 0x73
+#define C8_5 0x74
+#define C8_6 0x75
+#define C8_7 0x76
+#define C8_8 0x77
+
+#define C8_9 0x78
+#define C8_10 0x79
+#define C8_11 0x7A
+#define C8_12 0x7B
+#define C8_13 0x7C
+#define C8_14 0x7D
+#define C8_15 0x7E
+#define C8_16 0x7F
+
+#define C9_1 0x80
+#define C9_2 0x81
+#define C9_3 0x82
+#define C9_4 0x83
+#define C9_5 0x84
+#define C9_6 0x85
+#define C9_7 0x86
+#define C9_8 0x87
+
+#define C9_9 0x88
+#define C9_10 0x89
+#define C9_11 0x8A
+#define C9_12 0x8B
+#define C9_13 0x8C
+#define C9_14 0x8D
+#define C9_15 0x8E
+#define C9_16 0x8F
diff --git a/drivers/led/issi/is31fl3733-mono.c b/drivers/led/issi/is31fl3733-mono.c
new file mode 100644
index 0000000000..740fe06097
--- /dev/null
+++ b/drivers/led/issi/is31fl3733-mono.c
@@ -0,0 +1,265 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2021 Doni Crosby
+ * Copyright 2021 Leo Deng
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3733-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3733_PWM_REGISTER_COUNT 192
+#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24
+
+#ifndef IS31FL3733_I2C_TIMEOUT
+# define IS31FL3733_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3733_I2C_PERSISTENCE
+# define IS31FL3733_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3733_PWM_FREQUENCY
+# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only
+#endif
+
+#ifndef IS31FL3733_SW_PULLUP
+# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
+#endif
+
+#ifndef IS31FL3733_CS_PULLDOWN
+# define IS31FL3733_CS_PULLDOWN IS31FL3733_PDR_0_OHM
+#endif
+
+#ifndef IS31FL3733_GLOBAL_CURRENT
+# define IS31FL3733_GLOBAL_CURRENT 0xFF
+#endif
+
+#ifndef IS31FL3733_SYNC_1
+# define IS31FL3733_SYNC_1 IS31FL3733_SYNC_NONE
+#endif
+#ifndef IS31FL3733_SYNC_2
+# define IS31FL3733_SYNC_2 IS31FL3733_SYNC_NONE
+#endif
+#ifndef IS31FL3733_SYNC_3
+# define IS31FL3733_SYNC_3 IS31FL3733_SYNC_NONE
+#endif
+#ifndef IS31FL3733_SYNC_4
+# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE
+#endif
+
+const uint8_t i2c_addresses[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_I2C_ADDRESS_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_I2C_ADDRESS_2,
+# ifdef IS31FL3733_I2C_ADDRESS_3
+ IS31FL3733_I2C_ADDRESS_3,
+# ifdef IS31FL3733_I2C_ADDRESS_4
+ IS31FL3733_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_SYNC_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_SYNC_2,
+# ifdef IS31FL3733_I2C_ADDRESS_3
+ IS31FL3733_SYNC_3,
+# ifdef IS31FL3733_I2C_ADDRESS_4
+ IS31FL3733_SYNC_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the IS31FL3733 PWM registers.
+// The control buffers match the page 0 LED On/Off registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct is31fl3733_driver_t {
+ uint8_t pwm_buffer[IS31FL3733_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3733_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3733_driver_t;
+
+is31fl3733_driver_t driver_buffers[IS31FL3733_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3733_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3733_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3733_select_page(uint8_t index, uint8_t page) {
+ is31fl3733_write_register(index, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_write_register(index, IS31FL3733_REG_COMMAND, page);
+}
+
+void is31fl3733_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
+#if IS31FL3733_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3733_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3733_SDB_PIN)
+ gpio_set_pin_output(IS31FL3733_SDB_PIN);
+ gpio_write_pin_high(IS31FL3733_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
+ is31fl3733_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_update_led_control_registers(i);
+ }
+}
+
+void is31fl3733_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_LED_CONTROL);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, 0x00);
+ }
+
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_PWM);
+
+ // Set PWM on all LEDs to 0
+ // No need to setup Breath registers to PWM as that is the default.
+ for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, 0x00);
+ }
+
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
+
+ // Set de-ghost pull-up resistors (SWx)
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
+ // Set de-ghost pull-down resistors (CSx)
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
+ // Set global current to maximum.
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
+ // Disable software shutdown.
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3733_set_value(int index, uint8_t value) {
+ is31fl3733_led_t led;
+
+ if (index >= 0 && index < IS31FL3733_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3733_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
+ is31fl3733_set_value(i, value);
+ }
+}
+
+void is31fl3733_set_led_control_register(uint8_t index, bool value) {
+ is31fl3733_led_t led;
+ memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
+
+ uint8_t control_register = led.v / 8;
+ uint8_t bit_value = led.v % 8;
+
+ if (value) {
+ driver_buffers[led.driver].led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers[led.driver].led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
+}
+
+void is31fl3733_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_PWM);
+
+ is31fl3733_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3733_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
+ }
+
+ driver_buffers[index].led_control_buffer_dirty = false;
+ }
+}
+
+void is31fl3733_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3733-mono.h b/drivers/led/issi/is31fl3733-mono.h
new file mode 100644
index 0000000000..3786b2ed71
--- /dev/null
+++ b/drivers/led/issi/is31fl3733-mono.h
@@ -0,0 +1,366 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2021 Doni Crosby
+ * Copyright 2021 Leo Deng
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef ISSI_TIMEOUT
+# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
+#endif
+#ifdef ISSI_PERSISTENCE
+# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE
+#endif
+#ifdef ISSI_PWM_FREQUENCY
+# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY
+#endif
+#ifdef ISSI_SWPULLUP
+# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP
+#endif
+#ifdef ISSI_CSPULLUP
+# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP
+#endif
+#ifdef ISSI_GLOBALCURRENT
+# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT
+#endif
+
+#define is31_led is31fl3733_led_t
+#define g_is31_leds g_is31fl3733_leds
+
+#define PUR_0R IS31FL3733_PUR_0_OHM
+#define PUR_05KR IS31FL3733_PUR_1K_OHM
+#define PUR_3KR IS31FL3733_PUR_2K_OHM
+#define PUR_4KR IS31FL3733_PUR_4K_OHM
+#define PUR_8KR IS31FL3733_PUR_8K_OHM
+#define PUR_16KR IS31FL3733_PUR_16K_OHM
+#define PUR_32KR IS31FL3733_PUR_32K_OHM
+// ========
+
+#define IS31FL3733_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1
+
+#define IS31FL3733_REG_COMMAND 0xFD
+
+#define IS31FL3733_COMMAND_LED_CONTROL 0x00
+#define IS31FL3733_COMMAND_PWM 0x01
+#define IS31FL3733_COMMAND_AUTO_BREATH 0x02
+#define IS31FL3733_COMMAND_FUNCTION 0x03
+
+#define IS31FL3733_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3733_FUNCTION_REG_SW_PULLUP 0x0F
+#define IS31FL3733_FUNCTION_REG_CS_PULLDOWN 0x10
+#define IS31FL3733_FUNCTION_REG_RESET 0x11
+
+#define IS31FL3733_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3733_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
+#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51
+#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52
+#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53
+#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54
+#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55
+#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56
+#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57
+#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58
+#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59
+#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A
+#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B
+#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C
+#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D
+#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
+#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F
+
+#if defined(LED_MATRIX_IS31FL3733)
+# define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3733_I2C_ADDRESS_4)
+# define IS31FL3733_DRIVER_COUNT 4
+#elif defined(IS31FL3733_I2C_ADDRESS_3)
+# define IS31FL3733_DRIVER_COUNT 3
+#elif defined(IS31FL3733_I2C_ADDRESS_2)
+# define IS31FL3733_DRIVER_COUNT 2
+#elif defined(IS31FL3733_I2C_ADDRESS_1)
+# define IS31FL3733_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3733_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3733_led_t;
+
+extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
+
+void is31fl3733_init_drivers(void);
+void is31fl3733_init(uint8_t index);
+void is31fl3733_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3733_select_page(uint8_t index, uint8_t page);
+
+void is31fl3733_set_value(int index, uint8_t value);
+void is31fl3733_set_value_all(uint8_t value);
+
+void is31fl3733_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3733_update_pwm_buffers(uint8_t index);
+void is31fl3733_update_led_control_registers(uint8_t index);
+
+void is31fl3733_flush(void);
+
+#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000
+#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001
+#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0b010
+#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0b011
+#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0b100
+
+#define IS31FL3733_SYNC_NONE 0b00
+#define IS31FL3733_SYNC_MASTER 0b01
+#define IS31FL3733_SYNC_SLAVE 0b10
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x16
+#define SW2_CS8 0x17
+#define SW2_CS9 0x18
+#define SW2_CS10 0x19
+#define SW2_CS11 0x1A
+#define SW2_CS12 0x1B
+#define SW2_CS13 0x1C
+#define SW2_CS14 0x1D
+#define SW2_CS15 0x1E
+#define SW2_CS16 0x1F
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x26
+#define SW3_CS8 0x27
+#define SW3_CS9 0x28
+#define SW3_CS10 0x29
+#define SW3_CS11 0x2A
+#define SW3_CS12 0x2B
+#define SW3_CS13 0x2C
+#define SW3_CS14 0x2D
+#define SW3_CS15 0x2E
+#define SW3_CS16 0x2F
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x36
+#define SW4_CS8 0x37
+#define SW4_CS9 0x38
+#define SW4_CS10 0x39
+#define SW4_CS11 0x3A
+#define SW4_CS12 0x3B
+#define SW4_CS13 0x3C
+#define SW4_CS14 0x3D
+#define SW4_CS15 0x3E
+#define SW4_CS16 0x3F
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x46
+#define SW5_CS8 0x47
+#define SW5_CS9 0x48
+#define SW5_CS10 0x49
+#define SW5_CS11 0x4A
+#define SW5_CS12 0x4B
+#define SW5_CS13 0x4C
+#define SW5_CS14 0x4D
+#define SW5_CS15 0x4E
+#define SW5_CS16 0x4F
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x56
+#define SW6_CS8 0x57
+#define SW6_CS9 0x58
+#define SW6_CS10 0x59
+#define SW6_CS11 0x5A
+#define SW6_CS12 0x5B
+#define SW6_CS13 0x5C
+#define SW6_CS14 0x5D
+#define SW6_CS15 0x5E
+#define SW6_CS16 0x5F
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x66
+#define SW7_CS8 0x67
+#define SW7_CS9 0x68
+#define SW7_CS10 0x69
+#define SW7_CS11 0x6A
+#define SW7_CS12 0x6B
+#define SW7_CS13 0x6C
+#define SW7_CS14 0x6D
+#define SW7_CS15 0x6E
+#define SW7_CS16 0x6F
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x76
+#define SW8_CS8 0x77
+#define SW8_CS9 0x78
+#define SW8_CS10 0x79
+#define SW8_CS11 0x7A
+#define SW8_CS12 0x7B
+#define SW8_CS13 0x7C
+#define SW8_CS14 0x7D
+#define SW8_CS15 0x7E
+#define SW8_CS16 0x7F
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x86
+#define SW9_CS8 0x87
+#define SW9_CS9 0x88
+#define SW9_CS10 0x89
+#define SW9_CS11 0x8A
+#define SW9_CS12 0x8B
+#define SW9_CS13 0x8C
+#define SW9_CS14 0x8D
+#define SW9_CS15 0x8E
+#define SW9_CS16 0x8F
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x91
+#define SW10_CS3 0x92
+#define SW10_CS4 0x93
+#define SW10_CS5 0x94
+#define SW10_CS6 0x95
+#define SW10_CS7 0x96
+#define SW10_CS8 0x97
+#define SW10_CS9 0x98
+#define SW10_CS10 0x99
+#define SW10_CS11 0x9A
+#define SW10_CS12 0x9B
+#define SW10_CS13 0x9C
+#define SW10_CS14 0x9D
+#define SW10_CS15 0x9E
+#define SW10_CS16 0x9F
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA1
+#define SW11_CS3 0xA2
+#define SW11_CS4 0xA3
+#define SW11_CS5 0xA4
+#define SW11_CS6 0xA5
+#define SW11_CS7 0xA6
+#define SW11_CS8 0xA7
+#define SW11_CS9 0xA8
+#define SW11_CS10 0xA9
+#define SW11_CS11 0xAA
+#define SW11_CS12 0xAB
+#define SW11_CS13 0xAC
+#define SW11_CS14 0xAD
+#define SW11_CS15 0xAE
+#define SW11_CS16 0xAF
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB1
+#define SW12_CS3 0xB2
+#define SW12_CS4 0xB3
+#define SW12_CS5 0xB4
+#define SW12_CS6 0xB5
+#define SW12_CS7 0xB6
+#define SW12_CS8 0xB7
+#define SW12_CS9 0xB8
+#define SW12_CS10 0xB9
+#define SW12_CS11 0xBA
+#define SW12_CS12 0xBB
+#define SW12_CS13 0xBC
+#define SW12_CS14 0xBD
+#define SW12_CS15 0xBE
+#define SW12_CS16 0xBF
diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c
deleted file mode 100644
index 9f2444c253..0000000000
--- a/drivers/led/issi/is31fl3733-simple.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2021 Doni Crosby
- * Copyright 2021 Leo Deng
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31fl3733-simple.h"
-#include <string.h>
-#include "i2c_master.h"
-#include "wait.h"
-
-#define IS31FL3733_PWM_REGISTER_COUNT 192
-#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24
-
-#ifndef IS31FL3733_I2C_TIMEOUT
-# define IS31FL3733_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3733_I2C_PERSISTENCE
-# define IS31FL3733_I2C_PERSISTENCE 0
-#endif
-
-#ifndef IS31FL3733_PWM_FREQUENCY
-# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only
-#endif
-
-#ifndef IS31FL3733_SW_PULLUP
-# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
-#endif
-
-#ifndef IS31FL3733_CS_PULLDOWN
-# define IS31FL3733_CSPULLDOWN IS31FL3733_PDR_0_OHM
-#endif
-
-#ifndef IS31FL3733_GLOBAL_CURRENT
-# define IS31FL3733_GLOBAL_CURRENT 0xFF
-#endif
-
-#ifndef IS31FL3733_SYNC_1
-# define IS31FL3733_SYNC_1 IS31FL3733_SYNC_NONE
-#endif
-#ifndef IS31FL3733_SYNC_2
-# define IS31FL3733_SYNC_2 IS31FL3733_SYNC_NONE
-#endif
-#ifndef IS31FL3733_SYNC_3
-# define IS31FL3733_SYNC_3 IS31FL3733_SYNC_NONE
-#endif
-#ifndef IS31FL3733_SYNC_4
-# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the IS31FL3733 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][IS31FL3733_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- // If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if IS31FL3733_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
- return true;
-}
-
-bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // Assumes PG1 is already selected.
- // If any of the transactions fails function returns false.
- // Transmit PWM registers in 12 transfers of 16 bytes.
- // g_twi_transfer_buffer[] is 20 bytes
-
- // Iterate over the pwm_buffer contents at 16 byte intervals.
- for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // Copy the data from i to i+15.
- // Device will auto-increment register for data after the first byte
- // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
-
-#if IS31FL3733_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
- }
- return true;
-}
-
-void is31fl3733_init_drivers(void) {
- i2c_init();
-
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_2);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_3, IS31FL3733_SYNC_3);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_4, IS31FL3733_SYNC_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
- is31fl3733_set_led_control_register(i, true);
- }
-
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void is31fl3733_init(uint8_t addr, uint8_t sync) {
- // In order to avoid the LEDs being driven with garbage data
- // in the LED driver's PWM registers, shutdown is enabled last.
- // Set up the mode and other settings, clear the PWM registers,
- // then disable software shutdown.
- // Sync is passed so set it according to the datasheet.
-
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG0
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
- // Turn off all LEDs.
- for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG1
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
- // Set PWM on all LEDs to 0
- // No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG3
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION);
- // Set de-ghost pull-up resistors (SWx)
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
- // Set de-ghost pull-down resistors (CSx)
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
- // Set global current to maximum.
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
- // Disable software shutdown.
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
-
- // Wait 10ms to ensure the device has woken up.
- wait_ms(10);
-}
-
-void is31fl3733_set_value(int index, uint8_t value) {
- is31fl3733_led_t led;
- if (index >= 0 && index < IS31FL3733_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
-
- if (g_pwm_buffer[led.driver][led.v] == value) {
- return;
- }
- g_pwm_buffer[led.driver][led.v] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void is31fl3733_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
- is31fl3733_set_value(i, value);
- }
-}
-
-void is31fl3733_set_led_control_register(uint8_t index, bool value) {
- is31fl3733_led_t led;
- memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
-
- uint8_t control_register = led.v / 8;
- uint8_t bit_value = led.v % 8;
-
- if (value) {
- g_led_control_registers[led.driver][control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required[led.driver] = true;
-}
-
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
-
- // If any of the transactions fail we risk writing dirty PG0,
- // refresh page 0 just in case.
- if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) {
- g_led_control_registers_update_required[index] = true;
- }
- g_pwm_buffer_update_required[index] = false;
- }
-}
-
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, g_led_control_registers[index][i]);
- }
- g_led_control_registers_update_required[index] = false;
- }
-}
-
-void is31fl3733_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h
deleted file mode 100644
index c37b1fe5f2..0000000000
--- a/drivers/led/issi/is31fl3733-simple.h
+++ /dev/null
@@ -1,366 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2021 Doni Crosby
- * Copyright 2021 Leo Deng
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef ISSI_TIMEOUT
-# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT
-#endif
-#ifdef ISSI_PERSISTENCE
-# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE
-#endif
-#ifdef ISSI_PWM_FREQUENCY
-# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY
-#endif
-#ifdef ISSI_SWPULLUP
-# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP
-#endif
-#ifdef ISSI_CSPULLUP
-# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP
-#endif
-#ifdef ISSI_GLOBALCURRENT
-# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT
-#endif
-
-#define is31_led is31fl3733_led_t
-#define g_is31_leds g_is31fl3733_leds
-
-#define PUR_0R IS31FL3733_PUR_0_OHM
-#define PUR_05KR IS31FL3733_PUR_1K_OHM
-#define PUR_3KR IS31FL3733_PUR_2K_OHM
-#define PUR_4KR IS31FL3733_PUR_4K_OHM
-#define PUR_8KR IS31FL3733_PUR_8K_OHM
-#define PUR_16KR IS31FL3733_PUR_16K_OHM
-#define PUR_32KR IS31FL3733_PUR_32K_OHM
-// ========
-
-#define IS31FL3733_REG_INTERRUPT_MASK 0xF0
-#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1
-
-#define IS31FL3733_REG_COMMAND 0xFD
-
-#define IS31FL3733_COMMAND_LED_CONTROL 0x00
-#define IS31FL3733_COMMAND_PWM 0x01
-#define IS31FL3733_COMMAND_AUTO_BREATH 0x02
-#define IS31FL3733_COMMAND_FUNCTION 0x03
-
-#define IS31FL3733_FUNCTION_REG_CONFIGURATION 0x00
-#define IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT 0x01
-#define IS31FL3733_FUNCTION_REG_SW_PULLUP 0x0F
-#define IS31FL3733_FUNCTION_REG_CS_PULLDOWN 0x10
-#define IS31FL3733_FUNCTION_REG_RESET 0x11
-
-#define IS31FL3733_REG_COMMAND_WRITE_LOCK 0xFE
-#define IS31FL3733_COMMAND_WRITE_LOCK_MAGIC 0xC5
-
-#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
-#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51
-#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52
-#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53
-#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54
-#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55
-#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56
-#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57
-#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58
-#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59
-#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A
-#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B
-#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C
-#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D
-#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
-#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F
-
-#if defined(LED_MATRIX_IS31FL3733)
-# define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined(IS31FL3733_I2C_ADDRESS_4)
-# define IS31FL3733_DRIVER_COUNT 4
-#elif defined(IS31FL3733_I2C_ADDRESS_3)
-# define IS31FL3733_DRIVER_COUNT 3
-#elif defined(IS31FL3733_I2C_ADDRESS_2)
-# define IS31FL3733_DRIVER_COUNT 2
-#elif defined(IS31FL3733_I2C_ADDRESS_1)
-# define IS31FL3733_DRIVER_COUNT 1
-#endif
-
-typedef struct is31fl3733_led_t {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED is31fl3733_led_t;
-
-extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
-
-void is31fl3733_init_drivers(void);
-void is31fl3733_init(uint8_t addr, uint8_t sync);
-bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void is31fl3733_set_value(int index, uint8_t value);
-void is31fl3733_set_value_all(uint8_t value);
-
-void is31fl3733_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
-
-void is31fl3733_flush(void);
-
-#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor
-#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor
-#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000
-#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001
-#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0b010
-#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0b011
-#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0b100
-
-#define IS31FL3733_SYNC_NONE 0b00
-#define IS31FL3733_SYNC_MASTER 0b01
-#define IS31FL3733_SYNC_SLAVE 0b10
-
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x06
-#define A_8 0x07
-#define A_9 0x08
-#define A_10 0x09
-#define A_11 0x0A
-#define A_12 0x0B
-#define A_13 0x0C
-#define A_14 0x0D
-#define A_15 0x0E
-#define A_16 0x0F
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x16
-#define B_8 0x17
-#define B_9 0x18
-#define B_10 0x19
-#define B_11 0x1A
-#define B_12 0x1B
-#define B_13 0x1C
-#define B_14 0x1D
-#define B_15 0x1E
-#define B_16 0x1F
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x26
-#define C_8 0x27
-#define C_9 0x28
-#define C_10 0x29
-#define C_11 0x2A
-#define C_12 0x2B
-#define C_13 0x2C
-#define C_14 0x2D
-#define C_15 0x2E
-#define C_16 0x2F
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x36
-#define D_8 0x37
-#define D_9 0x38
-#define D_10 0x39
-#define D_11 0x3A
-#define D_12 0x3B
-#define D_13 0x3C
-#define D_14 0x3D
-#define D_15 0x3E
-#define D_16 0x3F
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x46
-#define E_8 0x47
-#define E_9 0x48
-#define E_10 0x49
-#define E_11 0x4A
-#define E_12 0x4B
-#define E_13 0x4C
-#define E_14 0x4D
-#define E_15 0x4E
-#define E_16 0x4F
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x56
-#define F_8 0x57
-#define F_9 0x58
-#define F_10 0x59
-#define F_11 0x5A
-#define F_12 0x5B
-#define F_13 0x5C
-#define F_14 0x5D
-#define F_15 0x5E
-#define F_16 0x5F
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x66
-#define G_8 0x67
-#define G_9 0x68
-#define G_10 0x69
-#define G_11 0x6A
-#define G_12 0x6B
-#define G_13 0x6C
-#define G_14 0x6D
-#define G_15 0x6E
-#define G_16 0x6F
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x76
-#define H_8 0x77
-#define H_9 0x78
-#define H_10 0x79
-#define H_11 0x7A
-#define H_12 0x7B
-#define H_13 0x7C
-#define H_14 0x7D
-#define H_15 0x7E
-#define H_16 0x7F
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x86
-#define I_8 0x87
-#define I_9 0x88
-#define I_10 0x89
-#define I_11 0x8A
-#define I_12 0x8B
-#define I_13 0x8C
-#define I_14 0x8D
-#define I_15 0x8E
-#define I_16 0x8F
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x96
-#define J_8 0x97
-#define J_9 0x98
-#define J_10 0x99
-#define J_11 0x9A
-#define J_12 0x9B
-#define J_13 0x9C
-#define J_14 0x9D
-#define J_15 0x9E
-#define J_16 0x9F
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA6
-#define K_8 0xA7
-#define K_9 0xA8
-#define K_10 0xA9
-#define K_11 0xAA
-#define K_12 0xAB
-#define K_13 0xAC
-#define K_14 0xAD
-#define K_15 0xAE
-#define K_16 0xAF
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB6
-#define L_8 0xB7
-#define L_9 0xB8
-#define L_10 0xB9
-#define L_11 0xBA
-#define L_12 0xBB
-#define L_13 0xBC
-#define L_14 0xBD
-#define L_15 0xBE
-#define L_16 0xBF
diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c
index 5857a800d7..a1d6899114 100644
--- a/drivers/led/issi/is31fl3733.c
+++ b/drivers/led/issi/is31fl3733.c
@@ -18,8 +18,8 @@
*/
#include "is31fl3733.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
#define IS31FL3733_PWM_REGISTER_COUNT 192
@@ -62,140 +62,137 @@
# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+const uint8_t i2c_addresses[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_I2C_ADDRESS_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_I2C_ADDRESS_2,
+# ifdef IS31FL3733_I2C_ADDRESS_3
+ IS31FL3733_I2C_ADDRESS_3,
+# ifdef IS31FL3733_I2C_ADDRESS_4
+ IS31FL3733_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_SYNC_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_SYNC_2,
+# ifdef IS31FL3733_I2C_ADDRESS_3
+ IS31FL3733_SYNC_3,
+# ifdef IS31FL3733_I2C_ADDRESS_4
+ IS31FL3733_SYNC_4,
+# endif
+# endif
+#endif
+};
// These buffers match the IS31FL3733 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
+// The control buffers match the page 0 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][IS31FL3733_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- // If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3733_driver_t {
+ uint8_t pwm_buffer[IS31FL3733_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3733_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3733_driver_t;
+
+is31fl3733_driver_t driver_buffers[IS31FL3733_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3733_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3733_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT);
#endif
- return true;
}
-bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // Assumes PG1 is already selected.
- // If any of the transactions fails function returns false.
+void is31fl3733_select_page(uint8_t index, uint8_t page) {
+ is31fl3733_write_register(index, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_write_register(index, IS31FL3733_REG_COMMAND, page);
+}
+
+void is31fl3733_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
// Transmit PWM registers in 12 transfers of 16 bytes.
- // g_twi_transfer_buffer[] is 20 bytes
// Iterate over the pwm_buffer contents at 16 byte intervals.
- for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // Copy the data from i to i+15.
- // Device will auto-increment register for data after the first byte
- // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
-
+ for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
#if IS31FL3733_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT);
#endif
}
- return true;
}
void is31fl3733_init_drivers(void) {
i2c_init();
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_2);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_3, IS31FL3733_SYNC_3);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_4, IS31FL3733_SYNC_4);
-# endif
-# endif
+#if defined(IS31FL3733_SDB_PIN)
+ gpio_set_pin_output(IS31FL3733_SDB_PIN);
+ gpio_write_pin_high(IS31FL3733_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_init(i);
+ }
+
for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
is31fl3733_set_led_control_register(i, true, true, true);
}
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_update_led_control_registers(i);
+ }
}
-void is31fl3733_init(uint8_t addr, uint8_t sync) {
+void is31fl3733_init(uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, shutdown is enabled last.
// Set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
- // Sync is passed so set it according to the datasheet.
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_LED_CONTROL);
- // Select PG0
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
// Turn off all LEDs.
- for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_PWM);
- // Select PG1
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
// Set PWM on all LEDs to 0
// No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
- // Select PG3
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
// Set global current to maximum.
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
// Disable software shutdown.
- is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+ is31fl3733_write_register(index, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
// Wait 10ms to ensure the device has woken up.
wait_ms(10);
@@ -203,16 +200,18 @@ void is31fl3733_init(uint8_t addr, uint8_t sync) {
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3733_led_t led;
+
if (index >= 0 && index < IS31FL3733_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -234,60 +233,48 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1.
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
+void is31fl3733_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_PWM);
- // If any of the transactions fail we risk writing dirty PG0,
- // refresh page 0 just in case.
- if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) {
- g_led_control_registers_update_required[index] = true;
- }
- g_pwm_buffer_update_required[index] = false;
+ is31fl3733_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
}
}
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(addr, i, g_led_control_registers[index][i]);
+void is31fl3733_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3733_select_page(index, IS31FL3733_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3733_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
}
- g_led_control_registers_update_required[index] = false;
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
}
void is31fl3733_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3733_I2C_ADDRESS_2)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3733_I2C_ADDRESS_3)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3733_I2C_ADDRESS_4)
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3733_DRIVER_COUNT; i++) {
+ is31fl3733_update_pwm_buffers(i);
+ }
}
diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h
index 20804b016b..fb60c76c2d 100644
--- a/drivers/led/issi/is31fl3733.h
+++ b/drivers/led/issi/is31fl3733.h
@@ -40,13 +40,13 @@
#ifdef DRIVER_SYNC_1
# define IS31FL3733_SYNC_1 DRIVER_SYNC_1
#endif
-#ifdef DRIVER_ADDR_2
+#ifdef DRIVER_SYNC_2
# define IS31FL3733_SYNC_2 DRIVER_SYNC_2
#endif
-#ifdef DRIVER_ADDR_3
+#ifdef DRIVER_SYNC_3
# define IS31FL3733_SYNC_3 DRIVER_SYNC_3
#endif
-#ifdef DRIVER_ADDR_4
+#ifdef DRIVER_SYNC_4
# define IS31FL3733_SYNC_4 DRIVER_SYNC_4
#endif
#ifdef ISSI_TIMEOUT
@@ -140,9 +140,9 @@ typedef struct is31fl3733_led_t {
extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
void is31fl3733_init_drivers(void);
-void is31fl3733_init(uint8_t addr, uint8_t sync);
-bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3733_init(uint8_t index);
+void is31fl3733_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3733_select_page(uint8_t index, uint8_t page);
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -153,8 +153,8 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3733_update_pwm_buffers(uint8_t index);
+void is31fl3733_update_led_control_registers(uint8_t index);
void is31fl3733_flush(void);
@@ -186,206 +186,412 @@ void is31fl3733_flush(void);
#define IS31FL3733_SYNC_MASTER 0b01
#define IS31FL3733_SYNC_SLAVE 0b10
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x06
-#define A_8 0x07
-#define A_9 0x08
-#define A_10 0x09
-#define A_11 0x0A
-#define A_12 0x0B
-#define A_13 0x0C
-#define A_14 0x0D
-#define A_15 0x0E
-#define A_16 0x0F
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x16
-#define B_8 0x17
-#define B_9 0x18
-#define B_10 0x19
-#define B_11 0x1A
-#define B_12 0x1B
-#define B_13 0x1C
-#define B_14 0x1D
-#define B_15 0x1E
-#define B_16 0x1F
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x26
-#define C_8 0x27
-#define C_9 0x28
-#define C_10 0x29
-#define C_11 0x2A
-#define C_12 0x2B
-#define C_13 0x2C
-#define C_14 0x2D
-#define C_15 0x2E
-#define C_16 0x2F
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x36
-#define D_8 0x37
-#define D_9 0x38
-#define D_10 0x39
-#define D_11 0x3A
-#define D_12 0x3B
-#define D_13 0x3C
-#define D_14 0x3D
-#define D_15 0x3E
-#define D_16 0x3F
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x46
-#define E_8 0x47
-#define E_9 0x48
-#define E_10 0x49
-#define E_11 0x4A
-#define E_12 0x4B
-#define E_13 0x4C
-#define E_14 0x4D
-#define E_15 0x4E
-#define E_16 0x4F
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x56
-#define F_8 0x57
-#define F_9 0x58
-#define F_10 0x59
-#define F_11 0x5A
-#define F_12 0x5B
-#define F_13 0x5C
-#define F_14 0x5D
-#define F_15 0x5E
-#define F_16 0x5F
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x66
-#define G_8 0x67
-#define G_9 0x68
-#define G_10 0x69
-#define G_11 0x6A
-#define G_12 0x6B
-#define G_13 0x6C
-#define G_14 0x6D
-#define G_15 0x6E
-#define G_16 0x6F
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x76
-#define H_8 0x77
-#define H_9 0x78
-#define H_10 0x79
-#define H_11 0x7A
-#define H_12 0x7B
-#define H_13 0x7C
-#define H_14 0x7D
-#define H_15 0x7E
-#define H_16 0x7F
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x86
-#define I_8 0x87
-#define I_9 0x88
-#define I_10 0x89
-#define I_11 0x8A
-#define I_12 0x8B
-#define I_13 0x8C
-#define I_14 0x8D
-#define I_15 0x8E
-#define I_16 0x8F
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x96
-#define J_8 0x97
-#define J_9 0x98
-#define J_10 0x99
-#define J_11 0x9A
-#define J_12 0x9B
-#define J_13 0x9C
-#define J_14 0x9D
-#define J_15 0x9E
-#define J_16 0x9F
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA6
-#define K_8 0xA7
-#define K_9 0xA8
-#define K_10 0xA9
-#define K_11 0xAA
-#define K_12 0xAB
-#define K_13 0xAC
-#define K_14 0xAD
-#define K_15 0xAE
-#define K_16 0xAF
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB6
-#define L_8 0xB7
-#define L_9 0xB8
-#define L_10 0xB9
-#define L_11 0xBA
-#define L_12 0xBB
-#define L_13 0xBC
-#define L_14 0xBD
-#define L_15 0xBE
-#define L_16 0xBF
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x16
+#define SW2_CS8 0x17
+#define SW2_CS9 0x18
+#define SW2_CS10 0x19
+#define SW2_CS11 0x1A
+#define SW2_CS12 0x1B
+#define SW2_CS13 0x1C
+#define SW2_CS14 0x1D
+#define SW2_CS15 0x1E
+#define SW2_CS16 0x1F
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x26
+#define SW3_CS8 0x27
+#define SW3_CS9 0x28
+#define SW3_CS10 0x29
+#define SW3_CS11 0x2A
+#define SW3_CS12 0x2B
+#define SW3_CS13 0x2C
+#define SW3_CS14 0x2D
+#define SW3_CS15 0x2E
+#define SW3_CS16 0x2F
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x36
+#define SW4_CS8 0x37
+#define SW4_CS9 0x38
+#define SW4_CS10 0x39
+#define SW4_CS11 0x3A
+#define SW4_CS12 0x3B
+#define SW4_CS13 0x3C
+#define SW4_CS14 0x3D
+#define SW4_CS15 0x3E
+#define SW4_CS16 0x3F
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x46
+#define SW5_CS8 0x47
+#define SW5_CS9 0x48
+#define SW5_CS10 0x49
+#define SW5_CS11 0x4A
+#define SW5_CS12 0x4B
+#define SW5_CS13 0x4C
+#define SW5_CS14 0x4D
+#define SW5_CS15 0x4E
+#define SW5_CS16 0x4F
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x56
+#define SW6_CS8 0x57
+#define SW6_CS9 0x58
+#define SW6_CS10 0x59
+#define SW6_CS11 0x5A
+#define SW6_CS12 0x5B
+#define SW6_CS13 0x5C
+#define SW6_CS14 0x5D
+#define SW6_CS15 0x5E
+#define SW6_CS16 0x5F
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x66
+#define SW7_CS8 0x67
+#define SW7_CS9 0x68
+#define SW7_CS10 0x69
+#define SW7_CS11 0x6A
+#define SW7_CS12 0x6B
+#define SW7_CS13 0x6C
+#define SW7_CS14 0x6D
+#define SW7_CS15 0x6E
+#define SW7_CS16 0x6F
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x76
+#define SW8_CS8 0x77
+#define SW8_CS9 0x78
+#define SW8_CS10 0x79
+#define SW8_CS11 0x7A
+#define SW8_CS12 0x7B
+#define SW8_CS13 0x7C
+#define SW8_CS14 0x7D
+#define SW8_CS15 0x7E
+#define SW8_CS16 0x7F
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x86
+#define SW9_CS8 0x87
+#define SW9_CS9 0x88
+#define SW9_CS10 0x89
+#define SW9_CS11 0x8A
+#define SW9_CS12 0x8B
+#define SW9_CS13 0x8C
+#define SW9_CS14 0x8D
+#define SW9_CS15 0x8E
+#define SW9_CS16 0x8F
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x91
+#define SW10_CS3 0x92
+#define SW10_CS4 0x93
+#define SW10_CS5 0x94
+#define SW10_CS6 0x95
+#define SW10_CS7 0x96
+#define SW10_CS8 0x97
+#define SW10_CS9 0x98
+#define SW10_CS10 0x99
+#define SW10_CS11 0x9A
+#define SW10_CS12 0x9B
+#define SW10_CS13 0x9C
+#define SW10_CS14 0x9D
+#define SW10_CS15 0x9E
+#define SW10_CS16 0x9F
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA1
+#define SW11_CS3 0xA2
+#define SW11_CS4 0xA3
+#define SW11_CS5 0xA4
+#define SW11_CS6 0xA5
+#define SW11_CS7 0xA6
+#define SW11_CS8 0xA7
+#define SW11_CS9 0xA8
+#define SW11_CS10 0xA9
+#define SW11_CS11 0xAA
+#define SW11_CS12 0xAB
+#define SW11_CS13 0xAC
+#define SW11_CS14 0xAD
+#define SW11_CS15 0xAE
+#define SW11_CS16 0xAF
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB1
+#define SW12_CS3 0xB2
+#define SW12_CS4 0xB3
+#define SW12_CS5 0xB4
+#define SW12_CS6 0xB5
+#define SW12_CS7 0xB6
+#define SW12_CS8 0xB7
+#define SW12_CS9 0xB8
+#define SW12_CS10 0xB9
+#define SW12_CS11 0xBA
+#define SW12_CS12 0xBB
+#define SW12_CS13 0xBC
+#define SW12_CS14 0xBD
+#define SW12_CS15 0xBE
+#define SW12_CS16 0xBF
+
+// DEPRECATED - DO NOT USE
+
+#define A_1 SW1_CS1
+#define A_2 SW1_CS2
+#define A_3 SW1_CS3
+#define A_4 SW1_CS4
+#define A_5 SW1_CS5
+#define A_6 SW1_CS6
+#define A_7 SW1_CS7
+#define A_8 SW1_CS8
+#define A_9 SW1_CS9
+#define A_10 SW1_CS10
+#define A_11 SW1_CS11
+#define A_12 SW1_CS12
+#define A_13 SW1_CS13
+#define A_14 SW1_CS14
+#define A_15 SW1_CS15
+#define A_16 SW1_CS16
+
+#define B_1 SW2_CS1
+#define B_2 SW2_CS2
+#define B_3 SW2_CS3
+#define B_4 SW2_CS4
+#define B_5 SW2_CS5
+#define B_6 SW2_CS6
+#define B_7 SW2_CS7
+#define B_8 SW2_CS8
+#define B_9 SW2_CS9
+#define B_10 SW2_CS10
+#define B_11 SW2_CS11
+#define B_12 SW2_CS12
+#define B_13 SW2_CS13
+#define B_14 SW2_CS14
+#define B_15 SW2_CS15
+#define B_16 SW2_CS16
+
+#define C_1 SW3_CS1
+#define C_2 SW3_CS2
+#define C_3 SW3_CS3
+#define C_4 SW3_CS4
+#define C_5 SW3_CS5
+#define C_6 SW3_CS6
+#define C_7 SW3_CS7
+#define C_8 SW3_CS8
+#define C_9 SW3_CS9
+#define C_10 SW3_CS10
+#define C_11 SW3_CS11
+#define C_12 SW3_CS12
+#define C_13 SW3_CS13
+#define C_14 SW3_CS14
+#define C_15 SW3_CS15
+#define C_16 SW3_CS16
+
+#define D_1 SW4_CS1
+#define D_2 SW4_CS2
+#define D_3 SW4_CS3
+#define D_4 SW4_CS4
+#define D_5 SW4_CS5
+#define D_6 SW4_CS6
+#define D_7 SW4_CS7
+#define D_8 SW4_CS8
+#define D_9 SW4_CS9
+#define D_10 SW4_CS10
+#define D_11 SW4_CS11
+#define D_12 SW4_CS12
+#define D_13 SW4_CS13
+#define D_14 SW4_CS14
+#define D_15 SW4_CS15
+#define D_16 SW4_CS16
+
+#define E_1 SW5_CS1
+#define E_2 SW5_CS2
+#define E_3 SW5_CS3
+#define E_4 SW5_CS4
+#define E_5 SW5_CS5
+#define E_6 SW5_CS6
+#define E_7 SW5_CS7
+#define E_8 SW5_CS8
+#define E_9 SW5_CS9
+#define E_10 SW5_CS10
+#define E_11 SW5_CS11
+#define E_12 SW5_CS12
+#define E_13 SW5_CS13
+#define E_14 SW5_CS14
+#define E_15 SW5_CS15
+#define E_16 SW5_CS16
+
+#define F_1 SW6_CS1
+#define F_2 SW6_CS2
+#define F_3 SW6_CS3
+#define F_4 SW6_CS4
+#define F_5 SW6_CS5
+#define F_6 SW6_CS6
+#define F_7 SW6_CS7
+#define F_8 SW6_CS8
+#define F_9 SW6_CS9
+#define F_10 SW6_CS10
+#define F_11 SW6_CS11
+#define F_12 SW6_CS12
+#define F_13 SW6_CS13
+#define F_14 SW6_CS14
+#define F_15 SW6_CS15
+#define F_16 SW6_CS16
+
+#define G_1 SW7_CS1
+#define G_2 SW7_CS2
+#define G_3 SW7_CS3
+#define G_4 SW7_CS4
+#define G_5 SW7_CS5
+#define G_6 SW7_CS6
+#define G_7 SW7_CS7
+#define G_8 SW7_CS8
+#define G_9 SW7_CS9
+#define G_10 SW7_CS10
+#define G_11 SW7_CS11
+#define G_12 SW7_CS12
+#define G_13 SW7_CS13
+#define G_14 SW7_CS14
+#define G_15 SW7_CS15
+#define G_16 SW7_CS16
+
+#define H_1 SW8_CS1
+#define H_2 SW8_CS2
+#define H_3 SW8_CS3
+#define H_4 SW8_CS4
+#define H_5 SW8_CS5
+#define H_6 SW8_CS6
+#define H_7 SW8_CS7
+#define H_8 SW8_CS8
+#define H_9 SW8_CS9
+#define H_10 SW8_CS10
+#define H_11 SW8_CS11
+#define H_12 SW8_CS12
+#define H_13 SW8_CS13
+#define H_14 SW8_CS14
+#define H_15 SW8_CS15
+#define H_16 SW8_CS16
+
+#define I_1 SW9_CS1
+#define I_2 SW9_CS2
+#define I_3 SW9_CS3
+#define I_4 SW9_CS4
+#define I_5 SW9_CS5
+#define I_6 SW9_CS6
+#define I_7 SW9_CS7
+#define I_8 SW9_CS8
+#define I_9 SW9_CS9
+#define I_10 SW9_CS10
+#define I_11 SW9_CS11
+#define I_12 SW9_CS12
+#define I_13 SW9_CS13
+#define I_14 SW9_CS14
+#define I_15 SW9_CS15
+#define I_16 SW9_CS16
+
+#define J_1 SW10_CS1
+#define J_2 SW10_CS2
+#define J_3 SW10_CS3
+#define J_4 SW10_CS4
+#define J_5 SW10_CS5
+#define J_6 SW10_CS6
+#define J_7 SW10_CS7
+#define J_8 SW10_CS8
+#define J_9 SW10_CS9
+#define J_10 SW10_CS10
+#define J_11 SW10_CS11
+#define J_12 SW10_CS12
+#define J_13 SW10_CS13
+#define J_14 SW10_CS14
+#define J_15 SW10_CS15
+#define J_16 SW10_CS16
+
+#define K_1 SW11_CS1
+#define K_2 SW11_CS2
+#define K_3 SW11_CS3
+#define K_4 SW11_CS4
+#define K_5 SW11_CS5
+#define K_6 SW11_CS6
+#define K_7 SW11_CS7
+#define K_8 SW11_CS8
+#define K_9 SW11_CS9
+#define K_10 SW11_CS10
+#define K_11 SW11_CS11
+#define K_12 SW11_CS12
+#define K_13 SW11_CS13
+#define K_14 SW11_CS14
+#define K_15 SW11_CS15
+#define K_16 SW11_CS16
+
+#define L_1 SW12_CS1
+#define L_2 SW12_CS2
+#define L_3 SW12_CS3
+#define L_4 SW12_CS4
+#define L_5 SW12_CS5
+#define L_6 SW12_CS6
+#define L_7 SW12_CS7
+#define L_8 SW12_CS8
+#define L_9 SW12_CS9
+#define L_10 SW12_CS10
+#define L_11 SW12_CS11
+#define L_12 SW12_CS12
+#define L_13 SW12_CS13
+#define L_14 SW12_CS14
+#define L_15 SW12_CS15
+#define L_16 SW12_CS16
diff --git a/drivers/led/issi/is31fl3736-mono.c b/drivers/led/issi/is31fl3736-mono.c
new file mode 100644
index 0000000000..7a5415c725
--- /dev/null
+++ b/drivers/led/issi/is31fl3736-mono.c
@@ -0,0 +1,240 @@
+/* Copyright 2018 Jason Williams (Wilba)
+ * Copyright 2021 Doni Crosby
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3736-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96
+#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24
+
+#ifndef IS31FL3736_I2C_TIMEOUT
+# define IS31FL3736_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3736_I2C_PERSISTENCE
+# define IS31FL3736_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3736_PWM_FREQUENCY
+# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only
+#endif
+
+#ifndef IS31FL3736_SW_PULLUP
+# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM
+#endif
+
+#ifndef IS31FL3736_CS_PULLDOWN
+# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM
+#endif
+
+#ifndef IS31FL3736_GLOBAL_CURRENT
+# define IS31FL3736_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3736_DRIVER_COUNT] = {
+ IS31FL3736_I2C_ADDRESS_1,
+#ifdef IS31FL3736_I2C_ADDRESS_2
+ IS31FL3736_I2C_ADDRESS_2,
+# ifdef IS31FL3736_I2C_ADDRESS_3
+ IS31FL3736_I2C_ADDRESS_3,
+# ifdef IS31FL3736_I2C_ADDRESS_4
+ IS31FL3736_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the IS31FL3736 PWM registers.
+// The control buffers match the page 0 LED On/Off registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct is31fl3736_driver_t {
+ uint8_t pwm_buffer[IS31FL3736_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3736_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3736_driver_t;
+
+is31fl3736_driver_t driver_buffers[IS31FL3736_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3736_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3736_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3736_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3736_select_page(uint8_t index, uint8_t page) {
+ is31fl3736_write_register(index, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3736_write_register(index, IS31FL3736_REG_COMMAND, page);
+}
+
+void is31fl3736_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) {
+#if IS31FL3736_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3736_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3736_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3736_SDB_PIN)
+ gpio_set_pin_output(IS31FL3736_SDB_PIN);
+ gpio_write_pin_high(IS31FL3736_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3736_LED_COUNT; i++) {
+ is31fl3736_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_update_led_control_registers(i);
+ }
+}
+
+void is31fl3736_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_LED_CONTROL);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, 0x00);
+ }
+
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_PWM);
+
+ // Set PWM on all LEDs to 0
+ // No need to setup Breath registers to PWM as that is the default.
+ for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, 0x00);
+ }
+
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_FUNCTION);
+
+ // Set de-ghost pull-up resistors (SWx)
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
+ // Set de-ghost pull-down resistors (CSx)
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
+ // Set global current to maximum.
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT);
+ // Disable software shutdown.
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3736_set_value(int index, uint8_t value) {
+ is31fl3736_led_t led;
+
+ if (index >= 0 && index < IS31FL3736_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3736_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3736_LED_COUNT; i++) {
+ is31fl3736_set_value(i, value);
+ }
+}
+
+void is31fl3736_set_led_control_register(uint8_t index, bool value) {
+ is31fl3736_led_t led;
+ memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led));
+
+ // The PWM register for a matrix position (0x00 to 0xBF) is interleaved, so:
+ // A1=0x00 A2=0x02 A3=0x04 A4=0x06 A5=0x08 A6=0x0A A7=0x0C A8=0x0E
+ // B1=0x10 B2=0x12 B3=0x14
+ // But also, the LED control registers (0x00 to 0x17) are also interleaved, so:
+ // A1-A4=0x00 A5-A8=0x01
+
+ uint8_t control_register = led.v / 8;
+ uint8_t bit_value = led.v % 8;
+
+ if (value) {
+ driver_buffers[led.driver].led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers[led.driver].led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
+}
+
+void is31fl3736_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_PWM);
+
+ is31fl3736_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3736_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
+ }
+
+ driver_buffers[index].led_control_buffer_dirty = false;
+ }
+}
+
+void is31fl3736_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3736-mono.h b/drivers/led/issi/is31fl3736-mono.h
new file mode 100644
index 0000000000..91c2e0420b
--- /dev/null
+++ b/drivers/led/issi/is31fl3736-mono.h
@@ -0,0 +1,371 @@
+/* Copyright 2018 Jason Williams (Wilba)
+ * Copyright 2021 Doni Crosby
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef ISSI_TIMEOUT
+# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
+#endif
+#ifdef ISSI_PERSISTENCE
+# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE
+#endif
+#ifdef ISSI_SWPULLUP
+# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP
+#endif
+#ifdef ISSI_CSPULLUP
+# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP
+#endif
+#ifdef ISSI_GLOBALCURRENT
+# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT
+#endif
+
+#define is31_led is31fl3736_led_t
+#define g_is31_leds g_is31fl3736_leds
+
+#define PUR_0R IS31FL3736_PUR_0_OHM
+#define PUR_05KR IS31FL3736_PUR_05K_OHM
+#define PUR_1KR IS31FL3736_PUR_1K_OHM
+#define PUR_2KR IS31FL3736_PUR_2K_OHM
+#define PUR_4KR IS31FL3736_PUR_4K_OHM
+#define PUR_8KR IS31FL3736_PUR_8K_OHM
+#define PUR_16KR IS31FL3736_PUR_16K_OHM
+#define PUR_32KR IS31FL3736_PUR_32K_OHM
+// ========
+
+#define IS31FL3736_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3736_REG_INTERRUPT_STATUS 0xF1
+
+#define IS31FL3736_REG_COMMAND 0xFD
+
+#define IS31FL3736_COMMAND_LED_CONTROL 0x00
+#define IS31FL3736_COMMAND_PWM 0x01
+#define IS31FL3736_COMMAND_AUTO_BREATH 0x02
+#define IS31FL3736_COMMAND_FUNCTION 0x03
+
+#define IS31FL3736_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3736_FUNCTION_REG_SW_PULLUP 0x0F
+#define IS31FL3736_FUNCTION_REG_CS_PULLDOWN 0x10
+#define IS31FL3736_FUNCTION_REG_RESET 0x11
+
+#define IS31FL3736_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3736_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50
+#define IS31FL3736_I2C_ADDRESS_GND_SCL 0x51
+#define IS31FL3736_I2C_ADDRESS_GND_SDA 0x52
+#define IS31FL3736_I2C_ADDRESS_GND_VCC 0x53
+#define IS31FL3736_I2C_ADDRESS_SCL_GND 0x54
+#define IS31FL3736_I2C_ADDRESS_SCL_SCL 0x55
+#define IS31FL3736_I2C_ADDRESS_SCL_SDA 0x56
+#define IS31FL3736_I2C_ADDRESS_SCL_VCC 0x57
+#define IS31FL3736_I2C_ADDRESS_SDA_GND 0x58
+#define IS31FL3736_I2C_ADDRESS_SDA_SCL 0x59
+#define IS31FL3736_I2C_ADDRESS_SDA_SDA 0x5A
+#define IS31FL3736_I2C_ADDRESS_SDA_VCC 0x5B
+#define IS31FL3736_I2C_ADDRESS_VCC_GND 0x5C
+#define IS31FL3736_I2C_ADDRESS_VCC_SCL 0x5D
+#define IS31FL3736_I2C_ADDRESS_VCC_SDA 0x5E
+#define IS31FL3736_I2C_ADDRESS_VCC_VCC 0x5F
+
+#if defined(LED_MATRIX_IS31FL3736)
+# define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3736_I2C_ADDRESS_4)
+# define IS31FL3736_DRIVER_COUNT 4
+#elif defined(IS31FL3736_I2C_ADDRESS_3)
+# define IS31FL3736_DRIVER_COUNT 3
+#elif defined(IS31FL3736_I2C_ADDRESS_2)
+# define IS31FL3736_DRIVER_COUNT 2
+#elif defined(IS31FL3736_I2C_ADDRESS_1)
+# define IS31FL3736_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3736_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3736_led_t;
+
+extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT];
+
+void is31fl3736_init_drivers(void);
+void is31fl3736_init(uint8_t index);
+void is31fl3736_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3736_select_page(uint8_t index, uint8_t page);
+
+void is31fl3736_set_value(int index, uint8_t value);
+void is31fl3736_set_value_all(uint8_t value);
+
+void is31fl3736_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3736_update_pwm_buffers(uint8_t index);
+void is31fl3736_update_led_control_registers(uint8_t index);
+
+void is31fl3736_flush(void);
+
+#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000
+#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001
+#define IS31FL3736_PWM_FREQUENCY_26K7_HZ 0b010
+#define IS31FL3736_PWM_FREQUENCY_2K1_HZ 0b011
+#define IS31FL3736_PWM_FREQUENCY_1K05_HZ 0b100
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x02
+#define SW1_CS3 0x04
+#define SW1_CS4 0x06
+#define SW1_CS5 0x08
+#define SW1_CS6 0x0A
+#define SW1_CS7 0x0C
+#define SW1_CS8 0x0E
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x12
+#define SW2_CS3 0x14
+#define SW2_CS4 0x16
+#define SW2_CS5 0x18
+#define SW2_CS6 0x1A
+#define SW2_CS7 0x1C
+#define SW2_CS8 0x1E
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x22
+#define SW3_CS3 0x24
+#define SW3_CS4 0x26
+#define SW3_CS5 0x28
+#define SW3_CS6 0x2A
+#define SW3_CS7 0x2C
+#define SW3_CS8 0x2E
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x32
+#define SW4_CS3 0x34
+#define SW4_CS4 0x36
+#define SW4_CS5 0x38
+#define SW4_CS6 0x3A
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3E
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x42
+#define SW5_CS3 0x44
+#define SW5_CS4 0x46
+#define SW5_CS5 0x48
+#define SW5_CS6 0x4A
+#define SW5_CS7 0x4C
+#define SW5_CS8 0x4E
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x52
+#define SW6_CS3 0x54
+#define SW6_CS4 0x56
+#define SW6_CS5 0x58
+#define SW6_CS6 0x5A
+#define SW6_CS7 0x5C
+#define SW6_CS8 0x5E
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x62
+#define SW7_CS3 0x64
+#define SW7_CS4 0x66
+#define SW7_CS5 0x68
+#define SW7_CS6 0x6A
+#define SW7_CS7 0x6C
+#define SW7_CS8 0x6E
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x72
+#define SW8_CS3 0x74
+#define SW8_CS4 0x76
+#define SW8_CS5 0x78
+#define SW8_CS6 0x7A
+#define SW8_CS7 0x7C
+#define SW8_CS8 0x7E
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x82
+#define SW9_CS3 0x84
+#define SW9_CS4 0x86
+#define SW9_CS5 0x88
+#define SW9_CS6 0x8A
+#define SW9_CS7 0x8C
+#define SW9_CS8 0x8E
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x92
+#define SW10_CS3 0x94
+#define SW10_CS4 0x96
+#define SW10_CS5 0x98
+#define SW10_CS6 0x9A
+#define SW10_CS7 0x9C
+#define SW10_CS8 0x9E
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA2
+#define SW11_CS3 0xA4
+#define SW11_CS4 0xA6
+#define SW11_CS5 0xA8
+#define SW11_CS6 0xAA
+#define SW11_CS7 0xAC
+#define SW11_CS8 0xAE
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB2
+#define SW12_CS3 0xB4
+#define SW12_CS4 0xB6
+#define SW12_CS5 0xB8
+#define SW12_CS6 0xBA
+#define SW12_CS7 0xBC
+#define SW12_CS8 0xBE
+
+// DEPRECATED - DO NOT USE
+
+#define A_1 SW1_CS1
+#define A_2 SW1_CS2
+#define A_3 SW1_CS3
+#define A_4 SW1_CS4
+#define A_5 SW1_CS5
+#define A_6 SW1_CS6
+#define A_7 SW1_CS7
+#define A_8 SW1_CS8
+
+#define B_1 SW2_CS1
+#define B_2 SW2_CS2
+#define B_3 SW2_CS3
+#define B_4 SW2_CS4
+#define B_5 SW2_CS5
+#define B_6 SW2_CS6
+#define B_7 SW2_CS7
+#define B_8 SW2_CS8
+
+#define C_1 SW3_CS1
+#define C_2 SW3_CS2
+#define C_3 SW3_CS3
+#define C_4 SW3_CS4
+#define C_5 SW3_CS5
+#define C_6 SW3_CS6
+#define C_7 SW3_CS7
+#define C_8 SW3_CS8
+
+#define D_1 SW4_CS1
+#define D_2 SW4_CS2
+#define D_3 SW4_CS3
+#define D_4 SW4_CS4
+#define D_5 SW4_CS5
+#define D_6 SW4_CS6
+#define D_7 SW4_CS7
+#define D_8 SW4_CS8
+
+#define E_1 SW5_CS1
+#define E_2 SW5_CS2
+#define E_3 SW5_CS3
+#define E_4 SW5_CS4
+#define E_5 SW5_CS5
+#define E_6 SW5_CS6
+#define E_7 SW5_CS7
+#define E_8 SW5_CS8
+
+#define F_1 SW6_CS1
+#define F_2 SW6_CS2
+#define F_3 SW6_CS3
+#define F_4 SW6_CS4
+#define F_5 SW6_CS5
+#define F_6 SW6_CS6
+#define F_7 SW6_CS7
+#define F_8 SW6_CS8
+
+#define G_1 SW7_CS1
+#define G_2 SW7_CS2
+#define G_3 SW7_CS3
+#define G_4 SW7_CS4
+#define G_5 SW7_CS5
+#define G_6 SW7_CS6
+#define G_7 SW7_CS7
+#define G_8 SW7_CS8
+
+#define H_1 SW8_CS1
+#define H_2 SW8_CS2
+#define H_3 SW8_CS3
+#define H_4 SW8_CS4
+#define H_5 SW8_CS5
+#define H_6 SW8_CS6
+#define H_7 SW8_CS7
+#define H_8 SW8_CS8
+
+#define I_1 SW9_CS1
+#define I_2 SW9_CS2
+#define I_3 SW9_CS3
+#define I_4 SW9_CS4
+#define I_5 SW9_CS5
+#define I_6 SW9_CS6
+#define I_7 SW9_CS7
+#define I_8 SW9_CS8
+
+#define J_1 SW10_CS1
+#define J_2 SW10_CS2
+#define J_3 SW10_CS3
+#define J_4 SW10_CS4
+#define J_5 SW10_CS5
+#define J_6 SW10_CS6
+#define J_7 SW10_CS7
+#define J_8 SW10_CS8
+
+#define K_1 SW11_CS1
+#define K_2 SW11_CS2
+#define K_3 SW11_CS3
+#define K_4 SW11_CS4
+#define K_5 SW11_CS5
+#define K_6 SW11_CS6
+#define K_7 SW11_CS7
+#define K_8 SW11_CS8
+
+#define L_1 SW12_CS1
+#define L_2 SW12_CS2
+#define L_3 SW12_CS3
+#define L_4 SW12_CS4
+#define L_5 SW12_CS5
+#define L_6 SW12_CS6
+#define L_7 SW12_CS7
+#define L_8 SW12_CS8
diff --git a/drivers/led/issi/is31fl3736-simple.c b/drivers/led/issi/is31fl3736-simple.c
deleted file mode 100644
index e1cce3c48a..0000000000
--- a/drivers/led/issi/is31fl3736-simple.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- * Copyright 2021 Doni Crosby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31fl3736-simple.h"
-#include <string.h>
-#include "i2c_master.h"
-#include "wait.h"
-
-#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96
-#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24
-
-#ifndef IS31FL3736_I2C_TIMEOUT
-# define IS31FL3736_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3736_I2C_PERSISTENCE
-# define IS31FL3736_I2C_PERSISTENCE 0
-#endif
-
-#ifndef IS31FL3736_PWM_FREQUENCY
-# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only
-#endif
-
-#ifndef IS31FL3736_SW_PULLUP
-# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM
-#endif
-
-#ifndef IS31FL3736_CS_PULLDOWN
-# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM
-#endif
-
-#ifndef IS31FL3736_GLOBAL_CURRENT
-# define IS31FL3736_GLOBAL_CURRENT 0xFF
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the IS31FL3736 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3736_DRIVER_COUNT][IS31FL3736_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3736_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false};
-
-void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if IS31FL3736_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT);
-#endif
-}
-
-void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes PG1 is already selected
-
- // transmit PWM registers in 12 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
-
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
-
-#if IS31FL3736_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT);
-#endif
- }
-}
-
-void is31fl3736_init_drivers(void) {
- i2c_init();
-
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_1);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_2);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_3);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < IS31FL3736_LED_COUNT; i++) {
- is31fl3736_set_led_control_register(i, true);
- }
-
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void is31fl3736_init(uint8_t addr) {
- // In order to avoid the LEDs being driven with garbage data
- // in the LED driver's PWM registers, shutdown is enabled last.
- // Set up the mode and other settings, clear the PWM registers,
- // then disable software shutdown.
-
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG0
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL);
- // Turn off all LEDs.
- for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG1
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM);
- // Set PWM on all LEDs to 0
- // No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG3
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION);
- // Set de-ghost pull-up resistors (SWx)
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
- // Set de-ghost pull-down resistors (CSx)
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
- // Set global current to maximum.
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT);
- // Disable software shutdown.
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01);
-
- // Wait 10ms to ensure the device has woken up.
- wait_ms(10);
-}
-
-void is31fl3736_set_value(int index, uint8_t value) {
- is31fl3736_led_t led;
- if (index >= 0 && index < IS31FL3736_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led));
-
- if (g_pwm_buffer[led.driver][led.v] == value) {
- return;
- }
- g_pwm_buffer[led.driver][led.v] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void is31fl3736_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3736_LED_COUNT; i++) {
- is31fl3736_set_value(i, value);
- }
-}
-
-void is31fl3736_set_led_control_register(uint8_t index, bool value) {
- is31fl3736_led_t led;
- memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led));
-
- // The PWM register for a matrix position (0x00 to 0xBF) is interleaved, so:
- // A1=0x00 A2=0x02 A3=0x04 A4=0x06 A5=0x08 A6=0x0A A7=0x0C A8=0x0E
- // B1=0x10 B2=0x12 B3=0x14
- // But also, the LED control registers (0x00 to 0x17) are also interleaved, so:
- // A1-A4=0x00 A5-A8=0x01
-
- uint8_t control_register = led.v / 8;
- uint8_t bit_value = led.v % 8;
-
- if (value) {
- g_led_control_registers[led.driver][control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required[led.driver] = true;
-}
-
-void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM);
-
- is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]);
- g_pwm_buffer_update_required[index] = false;
- }
-}
-
-void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, g_led_control_registers[index][i]);
- }
- g_led_control_registers_update_required[index] = false;
- }
-}
-
-void is31fl3736_flush(void) {
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
diff --git a/drivers/led/issi/is31fl3736-simple.h b/drivers/led/issi/is31fl3736-simple.h
deleted file mode 100644
index a73a872545..0000000000
--- a/drivers/led/issi/is31fl3736-simple.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- * Copyright 2021 Doni Crosby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef ISSI_TIMEOUT
-# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT
-#endif
-#ifdef ISSI_PERSISTENCE
-# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE
-#endif
-#ifdef ISSI_SWPULLUP
-# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP
-#endif
-#ifdef ISSI_CSPULLUP
-# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP
-#endif
-#ifdef ISSI_GLOBALCURRENT
-# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT
-#endif
-
-#define is31_led is31fl3736_led_t
-#define g_is31_leds g_is31fl3736_leds
-
-#define PUR_0R IS31FL3736_PUR_0_OHM
-#define PUR_05KR IS31FL3736_PUR_05K_OHM
-#define PUR_1KR IS31FL3736_PUR_1K_OHM
-#define PUR_2KR IS31FL3736_PUR_2K_OHM
-#define PUR_4KR IS31FL3736_PUR_4K_OHM
-#define PUR_8KR IS31FL3736_PUR_8K_OHM
-#define PUR_16KR IS31FL3736_PUR_16K_OHM
-#define PUR_32KR IS31FL3736_PUR_32K_OHM
-// ========
-
-#define IS31FL3736_REG_INTERRUPT_MASK 0xF0
-#define IS31FL3736_REG_INTERRUPT_STATUS 0xF1
-
-#define IS31FL3736_REG_COMMAND 0xFD
-
-#define IS31FL3736_COMMAND_LED_CONTROL 0x00
-#define IS31FL3736_COMMAND_PWM 0x01
-#define IS31FL3736_COMMAND_AUTO_BREATH 0x02
-#define IS31FL3736_COMMAND_FUNCTION 0x03
-
-#define IS31FL3736_FUNCTION_REG_CONFIGURATION 0x00
-#define IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT 0x01
-#define IS31FL3736_FUNCTION_REG_SW_PULLUP 0x0F
-#define IS31FL3736_FUNCTION_REG_CS_PULLDOWN 0x10
-#define IS31FL3736_FUNCTION_REG_RESET 0x11
-
-#define IS31FL3736_REG_COMMAND_WRITE_LOCK 0xFE
-#define IS31FL3736_COMMAND_WRITE_LOCK_MAGIC 0xC5
-
-#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50
-#define IS31FL3736_I2C_ADDRESS_GND_SCL 0x51
-#define IS31FL3736_I2C_ADDRESS_GND_SDA 0x52
-#define IS31FL3736_I2C_ADDRESS_GND_VCC 0x53
-#define IS31FL3736_I2C_ADDRESS_SCL_GND 0x54
-#define IS31FL3736_I2C_ADDRESS_SCL_SCL 0x55
-#define IS31FL3736_I2C_ADDRESS_SCL_SDA 0x56
-#define IS31FL3736_I2C_ADDRESS_SCL_VCC 0x57
-#define IS31FL3736_I2C_ADDRESS_SDA_GND 0x58
-#define IS31FL3736_I2C_ADDRESS_SDA_SCL 0x59
-#define IS31FL3736_I2C_ADDRESS_SDA_SDA 0x5A
-#define IS31FL3736_I2C_ADDRESS_SDA_VCC 0x5B
-#define IS31FL3736_I2C_ADDRESS_VCC_GND 0x5C
-#define IS31FL3736_I2C_ADDRESS_VCC_SCL 0x5D
-#define IS31FL3736_I2C_ADDRESS_VCC_SDA 0x5E
-#define IS31FL3736_I2C_ADDRESS_VCC_VCC 0x5F
-
-#if defined(LED_MATRIX_IS31FL3736)
-# define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined(IS31FL3736_I2C_ADDRESS_4)
-# define IS31FL3736_DRIVER_COUNT 4
-#elif defined(IS31FL3736_I2C_ADDRESS_3)
-# define IS31FL3736_DRIVER_COUNT 3
-#elif defined(IS31FL3736_I2C_ADDRESS_2)
-# define IS31FL3736_DRIVER_COUNT 2
-#elif defined(IS31FL3736_I2C_ADDRESS_1)
-# define IS31FL3736_DRIVER_COUNT 1
-#endif
-
-typedef struct is31fl3736_led_t {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED is31fl3736_led_t;
-
-extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT];
-
-void is31fl3736_init_drivers(void);
-void is31fl3736_init(uint8_t addr);
-void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void is31fl3736_set_value(int index, uint8_t value);
-void is31fl3736_set_value_all(uint8_t value);
-
-void is31fl3736_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index);
-
-void is31fl3736_flush(void);
-
-#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor
-#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor
-#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000
-#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001
-#define IS31FL3736_PWM_FREQUENCY_26K7_HZ 0b010
-#define IS31FL3736_PWM_FREQUENCY_2K1_HZ 0b011
-#define IS31FL3736_PWM_FREQUENCY_1K05_HZ 0b100
-
-#define A_1 0x00
-#define A_2 0x02
-#define A_3 0x04
-#define A_4 0x06
-#define A_5 0x08
-#define A_6 0x0A
-#define A_7 0x0C
-#define A_8 0x0E
-
-#define B_1 0x10
-#define B_2 0x12
-#define B_3 0x14
-#define B_4 0x16
-#define B_5 0x18
-#define B_6 0x1A
-#define B_7 0x1C
-#define B_8 0x1E
-
-#define C_1 0x20
-#define C_2 0x22
-#define C_3 0x24
-#define C_4 0x26
-#define C_5 0x28
-#define C_6 0x2A
-#define C_7 0x2C
-#define C_8 0x2E
-
-#define D_1 0x30
-#define D_2 0x32
-#define D_3 0x34
-#define D_4 0x36
-#define D_5 0x38
-#define D_6 0x3A
-#define D_7 0x3C
-#define D_8 0x3E
-
-#define E_1 0x40
-#define E_2 0x42
-#define E_3 0x44
-#define E_4 0x46
-#define E_5 0x48
-#define E_6 0x4A
-#define E_7 0x4C
-#define E_8 0x4E
-
-#define F_1 0x50
-#define F_2 0x52
-#define F_3 0x54
-#define F_4 0x56
-#define F_5 0x58
-#define F_6 0x5A
-#define F_7 0x5C
-#define F_8 0x5E
-
-#define G_1 0x60
-#define G_2 0x62
-#define G_3 0x64
-#define G_4 0x66
-#define G_5 0x68
-#define G_6 0x6A
-#define G_7 0x6C
-#define G_8 0x6E
-
-#define H_1 0x70
-#define H_2 0x72
-#define H_3 0x74
-#define H_4 0x76
-#define H_5 0x78
-#define H_6 0x7A
-#define H_7 0x7C
-#define H_8 0x7E
-
-#define I_1 0x80
-#define I_2 0x82
-#define I_3 0x84
-#define I_4 0x86
-#define I_5 0x88
-#define I_6 0x8A
-#define I_7 0x8C
-#define I_8 0x8E
-
-#define J_1 0x90
-#define J_2 0x92
-#define J_3 0x94
-#define J_4 0x96
-#define J_5 0x98
-#define J_6 0x9A
-#define J_7 0x9C
-#define J_8 0x9E
-
-#define K_1 0xA0
-#define K_2 0xA2
-#define K_3 0xA4
-#define K_4 0xA6
-#define K_5 0xA8
-#define K_6 0xAA
-#define K_7 0xAC
-#define K_8 0xAE
-
-#define L_1 0xB0
-#define L_2 0xB2
-#define L_3 0xB4
-#define L_4 0xB6
-#define L_5 0xB8
-#define L_6 0xBA
-#define L_7 0xBC
-#define L_8 0xBE
diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c
index 30ab796f3e..3ab42e2f7c 100644
--- a/drivers/led/issi/is31fl3736.c
+++ b/drivers/led/issi/is31fl3736.c
@@ -16,8 +16,8 @@
*/
#include "is31fl3736.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96
@@ -47,54 +47,66 @@
# define IS31FL3736_GLOBAL_CURRENT 0xFF
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+const uint8_t i2c_addresses[IS31FL3736_DRIVER_COUNT] = {
+ IS31FL3736_I2C_ADDRESS_1,
+#ifdef IS31FL3736_I2C_ADDRESS_2
+ IS31FL3736_I2C_ADDRESS_2,
+# ifdef IS31FL3736_I2C_ADDRESS_3
+ IS31FL3736_I2C_ADDRESS_3,
+# ifdef IS31FL3736_I2C_ADDRESS_4
+ IS31FL3736_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
// These buffers match the IS31FL3736 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
+// The control buffers match the page 0 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3736_DRIVER_COUNT][IS31FL3736_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3736_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false};
-
-void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3736_driver_t {
+ uint8_t pwm_buffer[IS31FL3736_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3736_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3736_driver_t;
+
+is31fl3736_driver_t driver_buffers[IS31FL3736_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3736_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3736_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break;
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3736_I2C_TIMEOUT);
#endif
}
-void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes PG1 is already selected
-
- // transmit PWM registers in 12 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
+void is31fl3736_select_page(uint8_t index, uint8_t page) {
+ is31fl3736_write_register(index, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3736_write_register(index, IS31FL3736_REG_COMMAND, page);
+}
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
+void is31fl3736_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) {
#if IS31FL3736_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break;
+ for (uint8_t j = 0; j < IS31FL3736_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3736_I2C_TIMEOUT);
#endif
}
}
@@ -102,73 +114,55 @@ void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
void is31fl3736_init_drivers(void) {
i2c_init();
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_1);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_2);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_3);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_init(IS31FL3736_I2C_ADDRESS_4);
-# endif
-# endif
+#if defined(IS31FL3736_SDB_PIN)
+ gpio_set_pin_output(IS31FL3736_SDB_PIN);
+ gpio_write_pin_high(IS31FL3736_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_init(i);
+ }
+
for (int i = 0; i < IS31FL3736_LED_COUNT; i++) {
is31fl3736_set_led_control_register(i, true, true, true);
}
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_update_led_control_registers(i);
+ }
}
-void is31fl3736_init(uint8_t addr) {
+void is31fl3736_init(uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, shutdown is enabled last.
// Set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_LED_CONTROL);
- // Select PG0
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_REG_LED_CONTROL);
// Turn off all LEDs.
- for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITELOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_PWM);
- // Select PG1
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM);
// Set PWM on all LEDs to 0
// No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_FUNCTION);
- // Select PG3
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
// Set global current to maximum.
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT);
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT);
// Disable software shutdown.
- is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+ is31fl3736_write_register(index, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01);
// Wait 10ms to ensure the device has woken up.
wait_ms(10);
@@ -176,16 +170,18 @@ void is31fl3736_init(uint8_t addr) {
void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3736_led_t led;
+
if (index >= 0 && index < IS31FL3736_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -214,56 +210,48 @@ void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bo
uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM);
+void is31fl3736_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_PWM);
+
+ is31fl3736_write_pwm_buffer(index);
- is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]);
- g_pwm_buffer_update_required[index] = false;
+ driver_buffers[index].pwm_buffer_dirty = false;
}
}
-void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3736_write_register(addr, i, g_led_control_registers[index][i]);
+void is31fl3736_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3736_select_page(index, IS31FL3736_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3736_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
}
- g_led_control_registers_update_required[index] = false;
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
}
void is31fl3736_flush(void) {
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3736_I2C_ADDRESS_2)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3736_I2C_ADDRESS_3)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3736_I2C_ADDRESS_4)
- is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3736_DRIVER_COUNT; i++) {
+ is31fl3736_update_pwm_buffers(i);
+ }
}
diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h
index a5710d7ed4..dae7b3c812 100644
--- a/drivers/led/issi/is31fl3736.h
+++ b/drivers/led/issi/is31fl3736.h
@@ -124,9 +124,9 @@ typedef struct is31fl3736_led_t {
extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT];
void is31fl3736_init_drivers(void);
-void is31fl3736_init(uint8_t addr);
-void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3736_init(uint8_t index);
+void is31fl3736_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3736_select_page(uint8_t index, uint8_t page);
void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -137,8 +137,8 @@ void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3736_update_pwm_buffers(uint8_t index);
+void is31fl3736_update_led_control_registers(uint8_t index);
void is31fl3736_flush(void);
@@ -166,110 +166,110 @@ void is31fl3736_flush(void);
#define IS31FL3736_PWM_FREQUENCY_2K1_HZ 0b011
#define IS31FL3736_PWM_FREQUENCY_1K05_HZ 0b100
-#define A_1 0x00
-#define A_2 0x02
-#define A_3 0x04
-#define A_4 0x06
-#define A_5 0x08
-#define A_6 0x0A
-#define A_7 0x0C
-#define A_8 0x0E
-
-#define B_1 0x10
-#define B_2 0x12
-#define B_3 0x14
-#define B_4 0x16
-#define B_5 0x18
-#define B_6 0x1A
-#define B_7 0x1C
-#define B_8 0x1E
-
-#define C_1 0x20
-#define C_2 0x22
-#define C_3 0x24
-#define C_4 0x26
-#define C_5 0x28
-#define C_6 0x2A
-#define C_7 0x2C
-#define C_8 0x2E
-
-#define D_1 0x30
-#define D_2 0x32
-#define D_3 0x34
-#define D_4 0x36
-#define D_5 0x38
-#define D_6 0x3A
-#define D_7 0x3C
-#define D_8 0x3E
-
-#define E_1 0x40
-#define E_2 0x42
-#define E_3 0x44
-#define E_4 0x46
-#define E_5 0x48
-#define E_6 0x4A
-#define E_7 0x4C
-#define E_8 0x4E
-
-#define F_1 0x50
-#define F_2 0x52
-#define F_3 0x54
-#define F_4 0x56
-#define F_5 0x58
-#define F_6 0x5A
-#define F_7 0x5C
-#define F_8 0x5E
-
-#define G_1 0x60
-#define G_2 0x62
-#define G_3 0x64
-#define G_4 0x66
-#define G_5 0x68
-#define G_6 0x6A
-#define G_7 0x6C
-#define G_8 0x6E
-
-#define H_1 0x70
-#define H_2 0x72
-#define H_3 0x74
-#define H_4 0x76
-#define H_5 0x78
-#define H_6 0x7A
-#define H_7 0x7C
-#define H_8 0x7E
-
-#define I_1 0x80
-#define I_2 0x82
-#define I_3 0x84
-#define I_4 0x86
-#define I_5 0x88
-#define I_6 0x8A
-#define I_7 0x8C
-#define I_8 0x8E
-
-#define J_1 0x90
-#define J_2 0x92
-#define J_3 0x94
-#define J_4 0x96
-#define J_5 0x98
-#define J_6 0x9A
-#define J_7 0x9C
-#define J_8 0x9E
-
-#define K_1 0xA0
-#define K_2 0xA2
-#define K_3 0xA4
-#define K_4 0xA6
-#define K_5 0xA8
-#define K_6 0xAA
-#define K_7 0xAC
-#define K_8 0xAE
-
-#define L_1 0xB0
-#define L_2 0xB2
-#define L_3 0xB4
-#define L_4 0xB6
-#define L_5 0xB8
-#define L_6 0xBA
-#define L_7 0xBC
-#define L_8 0xBE
+#define SW1_CS1 0x00
+#define SW1_CS2 0x02
+#define SW1_CS3 0x04
+#define SW1_CS4 0x06
+#define SW1_CS5 0x08
+#define SW1_CS6 0x0A
+#define SW1_CS7 0x0C
+#define SW1_CS8 0x0E
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x12
+#define SW2_CS3 0x14
+#define SW2_CS4 0x16
+#define SW2_CS5 0x18
+#define SW2_CS6 0x1A
+#define SW2_CS7 0x1C
+#define SW2_CS8 0x1E
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x22
+#define SW3_CS3 0x24
+#define SW3_CS4 0x26
+#define SW3_CS5 0x28
+#define SW3_CS6 0x2A
+#define SW3_CS7 0x2C
+#define SW3_CS8 0x2E
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x32
+#define SW4_CS3 0x34
+#define SW4_CS4 0x36
+#define SW4_CS5 0x38
+#define SW4_CS6 0x3A
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3E
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x42
+#define SW5_CS3 0x44
+#define SW5_CS4 0x46
+#define SW5_CS5 0x48
+#define SW5_CS6 0x4A
+#define SW5_CS7 0x4C
+#define SW5_CS8 0x4E
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x52
+#define SW6_CS3 0x54
+#define SW6_CS4 0x56
+#define SW6_CS5 0x58
+#define SW6_CS6 0x5A
+#define SW6_CS7 0x5C
+#define SW6_CS8 0x5E
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x62
+#define SW7_CS3 0x64
+#define SW7_CS4 0x66
+#define SW7_CS5 0x68
+#define SW7_CS6 0x6A
+#define SW7_CS7 0x6C
+#define SW7_CS8 0x6E
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x72
+#define SW8_CS3 0x74
+#define SW8_CS4 0x76
+#define SW8_CS5 0x78
+#define SW8_CS6 0x7A
+#define SW8_CS7 0x7C
+#define SW8_CS8 0x7E
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x82
+#define SW9_CS3 0x84
+#define SW9_CS4 0x86
+#define SW9_CS5 0x88
+#define SW9_CS6 0x8A
+#define SW9_CS7 0x8C
+#define SW9_CS8 0x8E
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x92
+#define SW10_CS3 0x94
+#define SW10_CS4 0x96
+#define SW10_CS5 0x98
+#define SW10_CS6 0x9A
+#define SW10_CS7 0x9C
+#define SW10_CS8 0x9E
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA2
+#define SW11_CS3 0xA4
+#define SW11_CS4 0xA6
+#define SW11_CS5 0xA8
+#define SW11_CS6 0xAA
+#define SW11_CS7 0xAC
+#define SW11_CS8 0xAE
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB2
+#define SW12_CS3 0xB4
+#define SW12_CS4 0xB6
+#define SW12_CS5 0xB8
+#define SW12_CS6 0xBA
+#define SW12_CS7 0xBC
+#define SW12_CS8 0xBE
diff --git a/drivers/led/issi/is31fl3737-mono.c b/drivers/led/issi/is31fl3737-mono.c
new file mode 100644
index 0000000000..7b2e5a3576
--- /dev/null
+++ b/drivers/led/issi/is31fl3737-mono.c
@@ -0,0 +1,236 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2021 Doni Crosby
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3737-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144
+#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24
+
+#ifndef IS31FL3737_I2C_TIMEOUT
+# define IS31FL3737_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3737_I2C_PERSISTENCE
+# define IS31FL3737_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3737_PWM_FREQUENCY
+# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only
+#endif
+
+#ifndef IS31FL3737_SW_PULLUP
+# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
+#endif
+
+#ifndef IS31FL3737_CS_PULLDOWN
+# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
+#endif
+
+#ifndef IS31FL3737_GLOBAL_CURRENT
+# define IS31FL3737_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3737_DRIVER_COUNT] = {
+ IS31FL3737_I2C_ADDRESS_1,
+#ifdef IS31FL3737_I2C_ADDRESS_2
+ IS31FL3737_I2C_ADDRESS_2,
+# ifdef IS31FL3737_I2C_ADDRESS_3
+ IS31FL3737_I2C_ADDRESS_3,
+# ifdef IS31FL3737_I2C_ADDRESS_4
+ IS31FL3737_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the IS31FL3737 PWM registers.
+// The control buffers match the page 0 LED On/Off registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct is31fl3737_driver_t {
+ uint8_t pwm_buffer[IS31FL3737_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3737_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3737_driver_t;
+
+is31fl3737_driver_t driver_buffers[IS31FL3737_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3737_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3737_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3737_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3737_select_page(uint8_t index, uint8_t page) {
+ is31fl3737_write_register(index, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3737_write_register(index, IS31FL3737_REG_COMMAND, page);
+}
+
+void is31fl3737_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) {
+#if IS31FL3737_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3737_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3737_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3737_SDB_PIN)
+ gpio_set_pin_output(IS31FL3737_SDB_PIN);
+ gpio_write_pin_high(IS31FL3737_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3737_LED_COUNT; i++) {
+ is31fl3737_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_update_led_control_registers(i);
+ }
+}
+
+void is31fl3737_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_LED_CONTROL);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, 0x00);
+ }
+
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_PWM);
+
+ // Set PWM on all LEDs to 0
+ // No need to setup Breath registers to PWM as that is the default.
+ for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, 0x00);
+ }
+
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_FUNCTION);
+
+ // Set de-ghost pull-up resistors (SWx)
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
+ // Set de-ghost pull-down resistors (CSx)
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
+ // Set global current to maximum.
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT);
+ // Disable software shutdown.
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3737_set_value(int index, uint8_t value) {
+ is31fl3737_led_t led;
+
+ if (index >= 0 && index < IS31FL3737_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3737_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3737_LED_COUNT; i++) {
+ is31fl3737_set_value(i, value);
+ }
+}
+
+void is31fl3737_set_led_control_register(uint8_t index, bool value) {
+ is31fl3737_led_t led;
+ memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led));
+
+ uint8_t control_register = led.v / 8;
+ uint8_t bit_value = led.v % 8;
+
+ if (value) {
+ driver_buffers[led.driver].led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers[led.driver].led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
+}
+
+void is31fl3737_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_PWM);
+
+ is31fl3737_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3737_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
+ }
+
+ driver_buffers[index].led_control_buffer_dirty = false;
+ }
+}
+
+void is31fl3737_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3737-mono.h b/drivers/led/issi/is31fl3737-mono.h
new file mode 100644
index 0000000000..99151c1e7a
--- /dev/null
+++ b/drivers/led/issi/is31fl3737-mono.h
@@ -0,0 +1,299 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2021 Doni Crosby
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef ISSI_TIMEOUT
+# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
+#endif
+#ifdef ISSI_PERSISTENCE
+# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE
+#endif
+#ifdef ISSI_PWM_FREQUENCY
+# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY
+#endif
+#ifdef ISSI_SWPULLUP
+# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP
+#endif
+#ifdef ISSI_CSPULLUP
+# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP
+#endif
+#ifdef ISSI_GLOBALCURRENT
+# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT
+#endif
+
+#define PUR_0R IS31FL3737_PUR_0_OHM
+#define PUR_05KR IS31FL3737_PUR_0K5_OHM
+#define PUR_1KR IS31FL3737_PUR_1K_OHM
+#define PUR_2KR IS31FL3737_PUR_2K_OHM
+#define PUR_4KR IS31FL3737_PUR_4K_OHM
+#define PUR_8KR IS31FL3737_PUR_8K_OHM
+#define PUR_16KR IS31FL3737_PUR_16K_OHM
+#define PUR_32KR IS31FL3737_PUR_32K_OHM
+// ========
+
+#define IS31FL3737_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3737_REG_INTERRUPT_STATUS 0xF1
+
+#define IS31FL3737_REG_COMMAND 0xFD
+
+#define IS31FL3737_COMMAND_LED_CONTROL 0x00
+#define IS31FL3737_COMMAND_PWM 0x01
+#define IS31FL3737_COMMAND_AUTO_BREATH 0x02
+#define IS31FL3737_COMMAND_FUNCTION 0x03
+
+#define IS31FL3737_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3737_FUNCTION_REG_SW_PULLUP 0x0F
+#define IS31FL3737_FUNCTION_REG_CS_PULLDOWN 0x10
+#define IS31FL3737_FUNCTION_REG_RESET 0x11
+
+#define IS31FL3737_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3737_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3737_I2C_ADDRESS_GND 0x50
+#define IS31FL3737_I2C_ADDRESS_SCL 0x55
+#define IS31FL3737_I2C_ADDRESS_SDA 0x5A
+#define IS31FL3737_I2C_ADDRESS_VCC 0x5F
+
+#if defined(LED_MATRIX_IS31FL3737)
+# define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3737_I2C_ADDRESS_4)
+# define IS31FL3737_DRIVER_COUNT 4
+#elif defined(IS31FL3737_I2C_ADDRESS_3)
+# define IS31FL3737_DRIVER_COUNT 3
+#elif defined(IS31FL3737_I2C_ADDRESS_2)
+# define IS31FL3737_DRIVER_COUNT 2
+#elif defined(IS31FL3737_I2C_ADDRESS_1)
+# define IS31FL3737_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3737_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3737_led_t;
+
+extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT];
+
+void is31fl3737_init_drivers(void);
+void is31fl3737_init(uint8_t index);
+void is31fl3737_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3737_select_page(uint8_t index, uint8_t page);
+
+void is31fl3737_set_value(int index, uint8_t value);
+void is31fl3737_set_value_all(uint8_t value);
+
+void is31fl3737_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3737_update_pwm_buffers(uint8_t index);
+void is31fl3737_update_led_control_registers(uint8_t index);
+
+void is31fl3737_flush(void);
+
+#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000
+#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001
+#define IS31FL3737_PWM_FREQUENCY_26K7_HZ 0b010
+#define IS31FL3737_PWM_FREQUENCY_2K1_HZ 0b011
+#define IS31FL3737_PWM_FREQUENCY_1K05_HZ 0b100
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x08
+#define SW1_CS8 0x09
+#define SW1_CS9 0x0A
+#define SW1_CS10 0x0B
+#define SW1_CS11 0x0C
+#define SW1_CS12 0x0D
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x28
+#define SW3_CS8 0x29
+#define SW3_CS9 0x2A
+#define SW3_CS10 0x2B
+#define SW3_CS11 0x2C
+#define SW3_CS12 0x2D
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x38
+#define SW4_CS8 0x39
+#define SW4_CS9 0x3A
+#define SW4_CS10 0x3B
+#define SW4_CS11 0x3C
+#define SW4_CS12 0x3D
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x48
+#define SW5_CS8 0x49
+#define SW5_CS9 0x4A
+#define SW5_CS10 0x4B
+#define SW5_CS11 0x4C
+#define SW5_CS12 0x4D
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x58
+#define SW6_CS8 0x59
+#define SW6_CS9 0x5A
+#define SW6_CS10 0x5B
+#define SW6_CS11 0x5C
+#define SW6_CS12 0x5D
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x68
+#define SW7_CS8 0x69
+#define SW7_CS9 0x6A
+#define SW7_CS10 0x6B
+#define SW7_CS11 0x6C
+#define SW7_CS12 0x6D
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x78
+#define SW8_CS8 0x79
+#define SW8_CS9 0x7A
+#define SW8_CS10 0x7B
+#define SW8_CS11 0x7C
+#define SW8_CS12 0x7D
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x88
+#define SW9_CS8 0x89
+#define SW9_CS9 0x8A
+#define SW9_CS10 0x8B
+#define SW9_CS11 0x8C
+#define SW9_CS12 0x8D
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x91
+#define SW10_CS3 0x92
+#define SW10_CS4 0x93
+#define SW10_CS5 0x94
+#define SW10_CS6 0x95
+#define SW10_CS7 0x98
+#define SW10_CS8 0x99
+#define SW10_CS9 0x9A
+#define SW10_CS10 0x9B
+#define SW10_CS11 0x9C
+#define SW10_CS12 0x9D
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA1
+#define SW11_CS3 0xA2
+#define SW11_CS4 0xA3
+#define SW11_CS5 0xA4
+#define SW11_CS6 0xA5
+#define SW11_CS7 0xA8
+#define SW11_CS8 0xA9
+#define SW11_CS9 0xAA
+#define SW11_CS10 0xAB
+#define SW11_CS11 0xAC
+#define SW11_CS12 0xAD
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB1
+#define SW12_CS3 0xB2
+#define SW12_CS4 0xB3
+#define SW12_CS5 0xB4
+#define SW12_CS6 0xB5
+#define SW12_CS7 0xB8
+#define SW12_CS8 0xB9
+#define SW12_CS9 0xBA
+#define SW12_CS10 0xBB
+#define SW12_CS11 0xBC
+#define SW12_CS12 0xBD
diff --git a/drivers/led/issi/is31fl3737-simple.c b/drivers/led/issi/is31fl3737-simple.c
deleted file mode 100644
index 7f641f4ca5..0000000000
--- a/drivers/led/issi/is31fl3737-simple.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2021 Doni Crosby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31fl3737-simple.h"
-#include <string.h>
-#include "i2c_master.h"
-#include "wait.h"
-
-#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144
-#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24
-
-#ifndef IS31FL3737_I2C_TIMEOUT
-# define IS31FL3737_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3737_I2C_PERSISTENCE
-# define IS31FL3737_I2C_PERSISTENCE 0
-#endif
-
-#ifndef IS31FL3737_PWM_FREQUENCY
-# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only
-#endif
-
-#ifndef IS31FL3737_SW_PULLUP
-# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
-#endif
-
-#ifndef IS31FL3737_CS_PULLDOWN
-# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
-#endif
-
-#ifndef IS31FL3737_GLOBAL_CURRENT
-# define IS31FL3737_GLOBAL_CURRENT 0xFF
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the IS31FL3737 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-
-uint8_t g_pwm_buffer[IS31FL3737_DRIVER_COUNT][IS31FL3737_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3737_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false};
-
-void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if IS31FL3737_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT);
-#endif
-}
-
-void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes PG1 is already selected
-
- // transmit PWM registers in 12 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
-
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
-
-#if IS31FL3737_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT);
-#endif
- }
-}
-
-void is31fl3737_init_drivers(void) {
- i2c_init();
-
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_1);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_2);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_3);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < IS31FL3737_LED_COUNT; i++) {
- is31fl3737_set_led_control_register(i, true);
- }
-
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void is31fl3737_init(uint8_t addr) {
- // In order to avoid the LEDs being driven with garbage data
- // in the LED driver's PWM registers, shutdown is enabled last.
- // Set up the mode and other settings, clear the PWM registers,
- // then disable software shutdown.
-
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG0
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL);
- // Turn off all LEDs.
- for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG1
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM);
- // Set PWM on all LEDs to 0
- // No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, 0x00);
- }
-
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG3
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION);
- // Set de-ghost pull-up resistors (SWx)
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
- // Set de-ghost pull-down resistors (CSx)
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
- // Set global current to maximum.
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT);
- // Disable software shutdown.
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01);
-
- // Wait 10ms to ensure the device has woken up.
- wait_ms(10);
-}
-
-void is31fl3737_set_value(int index, uint8_t value) {
- is31fl3737_led_t led;
- if (index >= 0 && index < IS31FL3737_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led));
-
- if (g_pwm_buffer[led.driver][led.v] == value) {
- return;
- }
- g_pwm_buffer[led.driver][led.v] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void is31fl3737_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3737_LED_COUNT; i++) {
- is31fl3737_set_value(i, value);
- }
-}
-
-void is31fl3737_set_led_control_register(uint8_t index, bool value) {
- is31fl3737_led_t led;
- memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led));
-
- uint8_t control_register = led.v / 8;
- uint8_t bit_value = led.v % 8;
-
- if (value) {
- g_led_control_registers[led.driver][control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required[led.driver] = true;
-}
-
-void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM);
-
- is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]);
- g_pwm_buffer_update_required[index] = false;
- }
-}
-
-void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, g_led_control_registers[index][i]);
- }
- g_led_control_registers_update_required[index] = false;
- }
-}
-
-void is31fl3737_flush(void) {
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
diff --git a/drivers/led/issi/is31fl3737-simple.h b/drivers/led/issi/is31fl3737-simple.h
deleted file mode 100644
index 2658702b1b..0000000000
--- a/drivers/led/issi/is31fl3737-simple.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2021 Doni Crosby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef ISSI_TIMEOUT
-# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT
-#endif
-#ifdef ISSI_PERSISTENCE
-# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE
-#endif
-#ifdef ISSI_PWM_FREQUENCY
-# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY
-#endif
-#ifdef ISSI_SWPULLUP
-# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP
-#endif
-#ifdef ISSI_CSPULLUP
-# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP
-#endif
-#ifdef ISSI_GLOBALCURRENT
-# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT
-#endif
-
-#define PUR_0R IS31FL3737_PUR_0_OHM
-#define PUR_05KR IS31FL3737_PUR_0K5_OHM
-#define PUR_1KR IS31FL3737_PUR_1K_OHM
-#define PUR_2KR IS31FL3737_PUR_2K_OHM
-#define PUR_4KR IS31FL3737_PUR_4K_OHM
-#define PUR_8KR IS31FL3737_PUR_8K_OHM
-#define PUR_16KR IS31FL3737_PUR_16K_OHM
-#define PUR_32KR IS31FL3737_PUR_32K_OHM
-// ========
-
-#define IS31FL3737_REG_INTERRUPT_MASK 0xF0
-#define IS31FL3737_REG_INTERRUPT_STATUS 0xF1
-
-#define IS31FL3737_REG_COMMAND 0xFD
-
-#define IS31FL3737_COMMAND_LED_CONTROL 0x00
-#define IS31FL3737_COMMAND_PWM 0x01
-#define IS31FL3737_COMMAND_AUTO_BREATH 0x02
-#define IS31FL3737_COMMAND_FUNCTION 0x03
-
-#define IS31FL3737_FUNCTION_REG_CONFIGURATION 0x00
-#define IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT 0x01
-#define IS31FL3737_FUNCTION_REG_SW_PULLUP 0x0F
-#define IS31FL3737_FUNCTION_REG_CS_PULLDOWN 0x10
-#define IS31FL3737_FUNCTION_REG_RESET 0x11
-
-#define IS31FL3737_REG_COMMAND_WRITE_LOCK 0xFE
-#define IS31FL3737_COMMAND_WRITE_LOCK_MAGIC 0xC5
-
-#define IS31FL3737_I2C_ADDRESS_GND 0x50
-#define IS31FL3737_I2C_ADDRESS_SCL 0x55
-#define IS31FL3737_I2C_ADDRESS_SDA 0x5A
-#define IS31FL3737_I2C_ADDRESS_VCC 0x5F
-
-#if defined(LED_MATRIX_IS31FL3737)
-# define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined(IS31FL3737_I2C_ADDRESS_4)
-# define IS31FL3737_DRIVER_COUNT 4
-#elif defined(IS31FL3737_I2C_ADDRESS_3)
-# define IS31FL3737_DRIVER_COUNT 3
-#elif defined(IS31FL3737_I2C_ADDRESS_2)
-# define IS31FL3737_DRIVER_COUNT 2
-#elif defined(IS31FL3737_I2C_ADDRESS_1)
-# define IS31FL3737_DRIVER_COUNT 1
-#endif
-
-typedef struct is31fl3737_led_t {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED is31fl3737_led_t;
-
-extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT];
-
-void is31fl3737_init_drivers(void);
-void is31fl3737_init(uint8_t addr);
-void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void is31fl3737_set_value(int index, uint8_t value);
-void is31fl3737_set_value_all(uint8_t value);
-
-void is31fl3737_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index);
-
-void is31fl3737_flush(void);
-
-#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor
-#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor
-#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000
-#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001
-#define IS31FL3737_PWM_FREQUENCY_26K7_HZ 0b010
-#define IS31FL3737_PWM_FREQUENCY_2K1_HZ 0b011
-#define IS31FL3737_PWM_FREQUENCY_1K05_HZ 0b100
-
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x08
-#define A_8 0x09
-#define A_9 0x0A
-#define A_10 0x0B
-#define A_11 0x0C
-#define A_12 0x0D
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x18
-#define B_8 0x19
-#define B_9 0x1A
-#define B_10 0x1B
-#define B_11 0x1C
-#define B_12 0x1D
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x28
-#define C_8 0x29
-#define C_9 0x2A
-#define C_10 0x2B
-#define C_11 0x2C
-#define C_12 0x2D
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x38
-#define D_8 0x39
-#define D_9 0x3A
-#define D_10 0x3B
-#define D_11 0x3C
-#define D_12 0x3D
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x48
-#define E_8 0x49
-#define E_9 0x4A
-#define E_10 0x4B
-#define E_11 0x4C
-#define E_12 0x4D
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x58
-#define F_8 0x59
-#define F_9 0x5A
-#define F_10 0x5B
-#define F_11 0x5C
-#define F_12 0x5D
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x68
-#define G_8 0x69
-#define G_9 0x6A
-#define G_10 0x6B
-#define G_11 0x6C
-#define G_12 0x6D
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x78
-#define H_8 0x79
-#define H_9 0x7A
-#define H_10 0x7B
-#define H_11 0x7C
-#define H_12 0x7D
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x88
-#define I_8 0x89
-#define I_9 0x8A
-#define I_10 0x8B
-#define I_11 0x8C
-#define I_12 0x8D
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x98
-#define J_8 0x99
-#define J_9 0x9A
-#define J_10 0x9B
-#define J_11 0x9C
-#define J_12 0x9D
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA8
-#define K_8 0xA9
-#define K_9 0xAA
-#define K_10 0xAB
-#define K_11 0xAC
-#define K_12 0xAD
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB8
-#define L_8 0xB9
-#define L_9 0xBA
-#define L_10 0xBB
-#define L_11 0xBC
-#define L_12 0xBD
diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c
index a458431952..b27a4cbb0f 100644
--- a/drivers/led/issi/is31fl3737.c
+++ b/drivers/led/issi/is31fl3737.c
@@ -18,8 +18,8 @@
*/
#include "is31fl3737.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144
@@ -41,7 +41,7 @@
# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
#endif
-#ifndef IS31FL3737_CS_PULLDONW
+#ifndef IS31FL3737_CS_PULLDOWN
# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
#endif
@@ -49,55 +49,66 @@
# define IS31FL3737_GLOBAL_CURRENT 0xFF
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+const uint8_t i2c_addresses[IS31FL3737_DRIVER_COUNT] = {
+ IS31FL3737_I2C_ADDRESS_1,
+#ifdef IS31FL3737_I2C_ADDRESS_2
+ IS31FL3737_I2C_ADDRESS_2,
+# ifdef IS31FL3737_I2C_ADDRESS_3
+ IS31FL3737_I2C_ADDRESS_3,
+# ifdef IS31FL3737_I2C_ADDRESS_4
+ IS31FL3737_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
// These buffers match the IS31FL3737 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
+// The control buffers match the page 0 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-
-uint8_t g_pwm_buffer[IS31FL3737_DRIVER_COUNT][IS31FL3737_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3737_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false};
-
-void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3737_driver_t {
+ uint8_t pwm_buffer[IS31FL3737_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3737_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3737_driver_t;
+
+is31fl3737_driver_t driver_buffers[IS31FL3737_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3737_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3737_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break;
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3737_I2C_TIMEOUT);
#endif
}
-void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // assumes PG1 is already selected
-
- // transmit PWM registers in 12 transfers of 16 bytes
- // g_twi_transfer_buffer[] is 20 bytes
+void is31fl3737_select_page(uint8_t index, uint8_t page) {
+ is31fl3737_write_register(index, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3737_write_register(index, IS31FL3737_REG_COMMAND, page);
+}
- // iterate over the pwm_buffer contents at 16 byte intervals
- for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // copy the data from i to i+15
- // device will auto-increment register for data after the first byte
- // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16);
+void is31fl3737_write_pwm_buffer(uint8_t index) {
+ // Assumes page 1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) {
#if IS31FL3737_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break;
+ for (uint8_t j = 0; j < IS31FL3737_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3737_I2C_TIMEOUT);
#endif
}
}
@@ -105,73 +116,55 @@ void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
void is31fl3737_init_drivers(void) {
i2c_init();
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_1);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_2);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_3);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_init(IS31FL3737_I2C_ADDRESS_4);
-# endif
-# endif
+#if defined(IS31FL3737_SDB_PIN)
+ gpio_set_pin_output(IS31FL3737_SDB_PIN);
+ gpio_write_pin_high(IS31FL3737_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_init(i);
+ }
+
for (int i = 0; i < IS31FL3737_LED_COUNT; i++) {
is31fl3737_set_led_control_register(i, true, true, true);
}
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_update_led_control_registers(i);
+ }
}
-void is31fl3737_init(uint8_t addr) {
+void is31fl3737_init(uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, shutdown is enabled last.
// Set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_LED_CONTROL);
- // Select PG0
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL);
// Turn off all LEDs.
- for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_PWM);
- // Select PG1
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM);
// Set PWM on all LEDs to 0
// No need to setup Breath registers to PWM as that is the default.
- for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, 0x00);
+ for (uint8_t i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, 0x00);
}
- // Unlock the command register.
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_FUNCTION);
- // Select PG3
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
// Set global current to maximum.
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT);
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT);
// Disable software shutdown.
- is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+ is31fl3737_write_register(index, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01);
// Wait 10ms to ensure the device has woken up.
wait_ms(10);
@@ -179,16 +172,18 @@ void is31fl3737_init(uint8_t addr) {
void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3737_led_t led;
+
if (index >= 0 && index < IS31FL3737_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -210,56 +205,48 @@ void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bo
uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM);
+void is31fl3737_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_PWM);
+
+ is31fl3737_write_pwm_buffer(index);
- is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]);
- g_pwm_buffer_update_required[index] = false;
+ driver_buffers[index].pwm_buffer_dirty = false;
}
}
-void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL);
- for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3737_write_register(addr, i, g_led_control_registers[index][i]);
+void is31fl3737_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3737_select_page(index, IS31FL3737_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) {
+ is31fl3737_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
}
- g_led_control_registers_update_required[index] = false;
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
}
void is31fl3737_flush(void) {
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3737_I2C_ADDRESS_2)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3737_I2C_ADDRESS_3)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3737_I2C_ADDRESS_4)
- is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3737_DRIVER_COUNT; i++) {
+ is31fl3737_update_pwm_buffers(i);
+ }
}
diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h
index 8de3bf4ef5..735a3a1e30 100644
--- a/drivers/led/issi/is31fl3737.h
+++ b/drivers/led/issi/is31fl3737.h
@@ -117,9 +117,9 @@ typedef struct is31fl3737_led_t {
extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT];
void is31fl3737_init_drivers(void);
-void is31fl3737_init(uint8_t addr);
-void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3737_init(uint8_t index);
+void is31fl3737_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3737_select_page(uint8_t index, uint8_t page);
void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -130,8 +130,8 @@ void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3737_update_pwm_buffers(uint8_t index);
+void is31fl3737_update_led_control_registers(uint8_t index);
void is31fl3737_flush(void);
@@ -159,158 +159,316 @@ void is31fl3737_flush(void);
#define IS31FL3737_PWM_FREQUENCY_2K1_HZ 0b011
#define IS31FL3737_PWM_FREQUENCY_1K05_HZ 0b100
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x08
-#define A_8 0x09
-#define A_9 0x0A
-#define A_10 0x0B
-#define A_11 0x0C
-#define A_12 0x0D
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x18
-#define B_8 0x19
-#define B_9 0x1A
-#define B_10 0x1B
-#define B_11 0x1C
-#define B_12 0x1D
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x28
-#define C_8 0x29
-#define C_9 0x2A
-#define C_10 0x2B
-#define C_11 0x2C
-#define C_12 0x2D
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x38
-#define D_8 0x39
-#define D_9 0x3A
-#define D_10 0x3B
-#define D_11 0x3C
-#define D_12 0x3D
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x48
-#define E_8 0x49
-#define E_9 0x4A
-#define E_10 0x4B
-#define E_11 0x4C
-#define E_12 0x4D
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x58
-#define F_8 0x59
-#define F_9 0x5A
-#define F_10 0x5B
-#define F_11 0x5C
-#define F_12 0x5D
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x68
-#define G_8 0x69
-#define G_9 0x6A
-#define G_10 0x6B
-#define G_11 0x6C
-#define G_12 0x6D
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x78
-#define H_8 0x79
-#define H_9 0x7A
-#define H_10 0x7B
-#define H_11 0x7C
-#define H_12 0x7D
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x88
-#define I_8 0x89
-#define I_9 0x8A
-#define I_10 0x8B
-#define I_11 0x8C
-#define I_12 0x8D
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x98
-#define J_8 0x99
-#define J_9 0x9A
-#define J_10 0x9B
-#define J_11 0x9C
-#define J_12 0x9D
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA8
-#define K_8 0xA9
-#define K_9 0xAA
-#define K_10 0xAB
-#define K_11 0xAC
-#define K_12 0xAD
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB8
-#define L_8 0xB9
-#define L_9 0xBA
-#define L_10 0xBB
-#define L_11 0xBC
-#define L_12 0xBD
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x08
+#define SW1_CS8 0x09
+#define SW1_CS9 0x0A
+#define SW1_CS10 0x0B
+#define SW1_CS11 0x0C
+#define SW1_CS12 0x0D
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x28
+#define SW3_CS8 0x29
+#define SW3_CS9 0x2A
+#define SW3_CS10 0x2B
+#define SW3_CS11 0x2C
+#define SW3_CS12 0x2D
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x38
+#define SW4_CS8 0x39
+#define SW4_CS9 0x3A
+#define SW4_CS10 0x3B
+#define SW4_CS11 0x3C
+#define SW4_CS12 0x3D
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x48
+#define SW5_CS8 0x49
+#define SW5_CS9 0x4A
+#define SW5_CS10 0x4B
+#define SW5_CS11 0x4C
+#define SW5_CS12 0x4D
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x58
+#define SW6_CS8 0x59
+#define SW6_CS9 0x5A
+#define SW6_CS10 0x5B
+#define SW6_CS11 0x5C
+#define SW6_CS12 0x5D
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x68
+#define SW7_CS8 0x69
+#define SW7_CS9 0x6A
+#define SW7_CS10 0x6B
+#define SW7_CS11 0x6C
+#define SW7_CS12 0x6D
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x78
+#define SW8_CS8 0x79
+#define SW8_CS9 0x7A
+#define SW8_CS10 0x7B
+#define SW8_CS11 0x7C
+#define SW8_CS12 0x7D
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x88
+#define SW9_CS8 0x89
+#define SW9_CS9 0x8A
+#define SW9_CS10 0x8B
+#define SW9_CS11 0x8C
+#define SW9_CS12 0x8D
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x91
+#define SW10_CS3 0x92
+#define SW10_CS4 0x93
+#define SW10_CS5 0x94
+#define SW10_CS6 0x95
+#define SW10_CS7 0x98
+#define SW10_CS8 0x99
+#define SW10_CS9 0x9A
+#define SW10_CS10 0x9B
+#define SW10_CS11 0x9C
+#define SW10_CS12 0x9D
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA1
+#define SW11_CS3 0xA2
+#define SW11_CS4 0xA3
+#define SW11_CS5 0xA4
+#define SW11_CS6 0xA5
+#define SW11_CS7 0xA8
+#define SW11_CS8 0xA9
+#define SW11_CS9 0xAA
+#define SW11_CS10 0xAB
+#define SW11_CS11 0xAC
+#define SW11_CS12 0xAD
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB1
+#define SW12_CS3 0xB2
+#define SW12_CS4 0xB3
+#define SW12_CS5 0xB4
+#define SW12_CS6 0xB5
+#define SW12_CS7 0xB8
+#define SW12_CS8 0xB9
+#define SW12_CS9 0xBA
+#define SW12_CS10 0xBB
+#define SW12_CS11 0xBC
+#define SW12_CS12 0xBD
+
+// DEPRECATED - DO NOT USE
+
+#define A_1 SW1_CS1
+#define A_2 SW1_CS2
+#define A_3 SW1_CS3
+#define A_4 SW1_CS4
+#define A_5 SW1_CS5
+#define A_6 SW1_CS6
+#define A_7 SW1_CS7
+#define A_8 SW1_CS8
+#define A_9 SW1_CS9
+#define A_10 SW1_CS10
+#define A_11 SW1_CS11
+#define A_12 SW1_CS12
+
+#define B_1 SW2_CS1
+#define B_2 SW2_CS2
+#define B_3 SW2_CS3
+#define B_4 SW2_CS4
+#define B_5 SW2_CS5
+#define B_6 SW2_CS6
+#define B_7 SW2_CS7
+#define B_8 SW2_CS8
+#define B_9 SW2_CS9
+#define B_10 SW2_CS10
+#define B_11 SW2_CS11
+#define B_12 SW2_CS12
+
+#define C_1 SW3_CS1
+#define C_2 SW3_CS2
+#define C_3 SW3_CS3
+#define C_4 SW3_CS4
+#define C_5 SW3_CS5
+#define C_6 SW3_CS6
+#define C_7 SW3_CS7
+#define C_8 SW3_CS8
+#define C_9 SW3_CS9
+#define C_10 SW3_CS10
+#define C_11 SW3_CS11
+#define C_12 SW3_CS12
+
+#define D_1 SW4_CS1
+#define D_2 SW4_CS2
+#define D_3 SW4_CS3
+#define D_4 SW4_CS4
+#define D_5 SW4_CS5
+#define D_6 SW4_CS6
+#define D_7 SW4_CS7
+#define D_8 SW4_CS8
+#define D_9 SW4_CS9
+#define D_10 SW4_CS10
+#define D_11 SW4_CS11
+#define D_12 SW4_CS12
+
+#define E_1 SW5_CS1
+#define E_2 SW5_CS2
+#define E_3 SW5_CS3
+#define E_4 SW5_CS4
+#define E_5 SW5_CS5
+#define E_6 SW5_CS6
+#define E_7 SW5_CS7
+#define E_8 SW5_CS8
+#define E_9 SW5_CS9
+#define E_10 SW5_CS10
+#define E_11 SW5_CS11
+#define E_12 SW5_CS12
+
+#define F_1 SW6_CS1
+#define F_2 SW6_CS2
+#define F_3 SW6_CS3
+#define F_4 SW6_CS4
+#define F_5 SW6_CS5
+#define F_6 SW6_CS6
+#define F_7 SW6_CS7
+#define F_8 SW6_CS8
+#define F_9 SW6_CS9
+#define F_10 SW6_CS10
+#define F_11 SW6_CS11
+#define F_12 SW6_CS12
+
+#define G_1 SW7_CS1
+#define G_2 SW7_CS2
+#define G_3 SW7_CS3
+#define G_4 SW7_CS4
+#define G_5 SW7_CS5
+#define G_6 SW7_CS6
+#define G_7 SW7_CS7
+#define G_8 SW7_CS8
+#define G_9 SW7_CS9
+#define G_10 SW7_CS10
+#define G_11 SW7_CS11
+#define G_12 SW7_CS12
+
+#define H_1 SW8_CS1
+#define H_2 SW8_CS2
+#define H_3 SW8_CS3
+#define H_4 SW8_CS4
+#define H_5 SW8_CS5
+#define H_6 SW8_CS6
+#define H_7 SW8_CS7
+#define H_8 SW8_CS8
+#define H_9 SW8_CS9
+#define H_10 SW8_CS10
+#define H_11 SW8_CS11
+#define H_12 SW8_CS12
+
+#define I_1 SW9_CS1
+#define I_2 SW9_CS2
+#define I_3 SW9_CS3
+#define I_4 SW9_CS4
+#define I_5 SW9_CS5
+#define I_6 SW9_CS6
+#define I_7 SW9_CS7
+#define I_8 SW9_CS8
+#define I_9 SW9_CS9
+#define I_10 SW9_CS10
+#define I_11 SW9_CS11
+#define I_12 SW9_CS12
+
+#define J_1 SW10_CS1
+#define J_2 SW10_CS2
+#define J_3 SW10_CS3
+#define J_4 SW10_CS4
+#define J_5 SW10_CS5
+#define J_6 SW10_CS6
+#define J_7 SW10_CS7
+#define J_8 SW10_CS8
+#define J_9 SW10_CS9
+#define J_10 SW10_CS10
+#define J_11 SW10_CS11
+#define J_12 SW10_CS12
+
+#define K_1 SW11_CS1
+#define K_2 SW11_CS2
+#define K_3 SW11_CS3
+#define K_4 SW11_CS4
+#define K_5 SW11_CS5
+#define K_6 SW11_CS6
+#define K_7 SW11_CS7
+#define K_8 SW11_CS8
+#define K_9 SW11_CS9
+#define K_10 SW11_CS10
+#define K_11 SW11_CS11
+#define K_12 SW11_CS12
+
+#define L_1 SW12_CS1
+#define L_2 SW12_CS2
+#define L_3 SW12_CS3
+#define L_4 SW12_CS4
+#define L_5 SW12_CS5
+#define L_6 SW12_CS6
+#define L_7 SW12_CS7
+#define L_8 SW12_CS8
+#define L_9 SW12_CS9
+#define L_10 SW12_CS10
+#define L_11 SW12_CS11
+#define L_12 SW12_CS12
diff --git a/drivers/led/issi/is31fl3741-mono.c b/drivers/led/issi/is31fl3741-mono.c
new file mode 100644
index 0000000000..dbccba0fc8
--- /dev/null
+++ b/drivers/led/issi/is31fl3741-mono.c
@@ -0,0 +1,282 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3741-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3741_PWM_0_REGISTER_COUNT 180
+#define IS31FL3741_PWM_1_REGISTER_COUNT 171
+#define IS31FL3741_SCALING_0_REGISTER_COUNT 180
+#define IS31FL3741_SCALING_1_REGISTER_COUNT 171
+
+#ifndef IS31FL3741_I2C_TIMEOUT
+# define IS31FL3741_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3741_I2C_PERSISTENCE
+# define IS31FL3741_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3741_CONFIGURATION
+# define IS31FL3741_CONFIGURATION 0x01
+#endif
+
+#ifndef IS31FL3741_PWM_FREQUENCY
+# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ
+#endif
+
+#ifndef IS31FL3741_SW_PULLUP
+# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM
+#endif
+
+#ifndef IS31FL3741_CS_PULLDOWN
+# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM
+#endif
+
+#ifndef IS31FL3741_GLOBAL_CURRENT
+# define IS31FL3741_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3741_DRIVER_COUNT] = {
+ IS31FL3741_I2C_ADDRESS_1,
+#ifdef IS31FL3741_I2C_ADDRESS_2
+ IS31FL3741_I2C_ADDRESS_2,
+# ifdef IS31FL3741_I2C_ADDRESS_3
+ IS31FL3741_I2C_ADDRESS_3,
+# ifdef IS31FL3741_I2C_ADDRESS_4
+ IS31FL3741_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the IS31FL3741 and IS31FL3741A PWM registers.
+// The scaling buffers match the page 2 and 3 LED On/Off registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct is31fl3741_driver_t {
+ uint8_t pwm_buffer_0[IS31FL3741_PWM_0_REGISTER_COUNT];
+ uint8_t pwm_buffer_1[IS31FL3741_PWM_1_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer_0[IS31FL3741_SCALING_0_REGISTER_COUNT];
+ uint8_t scaling_buffer_1[IS31FL3741_SCALING_1_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3741_driver_t;
+
+is31fl3741_driver_t driver_buffers[IS31FL3741_DRIVER_COUNT] = {{
+ .pwm_buffer_0 = {0},
+ .pwm_buffer_1 = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer_0 = {0},
+ .scaling_buffer_1 = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3741_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3741_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3741_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3741_select_page(uint8_t index, uint8_t page) {
+ is31fl3741_write_register(index, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3741_write_register(index, IS31FL3741_REG_COMMAND, page);
+}
+
+void is31fl3741_write_pwm_buffer(uint8_t index) {
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_PWM_0);
+
+ // Transmit PWM0 registers in 6 transfers of 30 bytes.
+
+ // Iterate over the pwm_buffer_0 contents at 30 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3741_PWM_0_REGISTER_COUNT; i += 30) {
+#if IS31FL3741_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3741_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_0 + i, 30, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_0 + i, 30, IS31FL3741_I2C_TIMEOUT);
+#endif
+ }
+
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_PWM_1);
+
+ // Transmit PWM1 registers in 9 transfers of 19 bytes.
+
+ // Iterate over the pwm_buffer_1 contents at 19 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3741_PWM_1_REGISTER_COUNT; i += 19) {
+#if IS31FL3741_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_1 + i, 19, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_1 + i, 19, IS31FL3741_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3741_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3741_SDB_PIN)
+ gpio_set_pin_output(IS31FL3741_SDB_PIN);
+ gpio_write_pin_high(IS31FL3741_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3741_LED_COUNT; i++) {
+ is31fl3741_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_update_led_control_registers(i);
+ }
+}
+
+void is31fl3741_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+ // Unlock the command register.
+
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_FUNCTION);
+
+ // Set to Normal operation
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION);
+
+ // Set Golbal Current Control Register
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT);
+ // Set Pull up & Down for SWx CSy
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
+ // Set PWM frequency
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));
+
+ // is31fl3741_update_led_scaling_registers(index, 0xFF, 0xFF, 0xFF);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+uint8_t get_pwm_value(uint8_t driver, uint16_t reg) {
+ if (reg & 0x100) {
+ return driver_buffers[driver].pwm_buffer_1[reg & 0xFF];
+ } else {
+ return driver_buffers[driver].pwm_buffer_0[reg];
+ }
+}
+
+void set_pwm_value(uint8_t driver, uint16_t reg, uint8_t value) {
+ if (reg & 0x100) {
+ driver_buffers[driver].pwm_buffer_1[reg & 0xFF] = value;
+ } else {
+ driver_buffers[driver].pwm_buffer_0[reg] = value;
+ }
+}
+
+void is31fl3741_set_value(int index, uint8_t value) {
+ is31fl3741_led_t led;
+
+ if (index >= 0 && index < IS31FL3741_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
+
+ if (get_pwm_value(led.driver, led.v) == value) {
+ return;
+ }
+
+ set_pwm_value(led.driver, led.v, value);
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3741_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3741_LED_COUNT; i++) {
+ is31fl3741_set_value(i, value);
+ }
+}
+
+void set_scaling_value(uint8_t driver, uint16_t reg, uint8_t value) {
+ if (reg & 0x100) {
+ driver_buffers[driver].scaling_buffer_1[reg & 0xFF] = value;
+ } else {
+ driver_buffers[driver].scaling_buffer_0[reg] = value;
+ }
+}
+
+void is31fl3741_set_led_control_register(uint8_t index, bool value) {
+ is31fl3741_led_t led;
+ memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
+
+ set_scaling_value(led.driver, led.v, value ? 0xFF : 0x00);
+
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3741_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3741_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value) {
+ set_pwm_value(pled->driver, pled->v, value);
+ driver_buffers[pled->driver].pwm_buffer_dirty = true;
+}
+
+void is31fl3741_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_SCALING_0);
+
+ for (uint8_t i = 0; i < IS31FL3741_SCALING_0_REGISTER_COUNT; i++) {
+ is31fl3741_write_register(index, i, driver_buffers[index].scaling_buffer_0[i]);
+ }
+
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_SCALING_1);
+
+ for (uint8_t i = 0; i < IS31FL3741_SCALING_1_REGISTER_COUNT; i++) {
+ is31fl3741_write_register(index, i, driver_buffers[index].scaling_buffer_1[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value) {
+ set_scaling_value(pled->driver, pled->v, value);
+ driver_buffers[pled->driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3741_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3741-mono.h b/drivers/led/issi/is31fl3741-mono.h
new file mode 100644
index 0000000000..6d4f70b1b3
--- /dev/null
+++ b/drivers/led/issi/is31fl3741-mono.h
@@ -0,0 +1,887 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef ISSI_TIMEOUT
+# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
+#endif
+#ifdef ISSI_PERSISTENCE
+# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE
+#endif
+#ifdef ISSI_CONFIGURATION
+# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION
+#endif
+#ifdef ISSI_SWPULLUP
+# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP
+#endif
+#ifdef ISSI_CSPULLUP
+# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP
+#endif
+#ifdef ISSI_GLOBALCURRENT
+# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT
+#endif
+
+#define PUR_0R IS31FL3741_PUR_0_OHM
+#define PUR_05KR IS31FL3741_PUR_0K5_OHM
+#define PUR_1KR IS31FL3741_PUR_1K_OHM
+#define PUR_2KR IS31FL3741_PUR_2K_OHM
+#define PUR_4KR IS31FL3741_PUR_4K_OHM
+#define PUR_8KR IS31FL3741_PUR_8K_OHM
+#define PUR_16KR IS31FL3741_PUR_16K_OHM
+#define PUR_32KR IS31FL3741_PUR_32K_OHM
+// ========
+
+#define IS31FL3741_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3741_REG_INTERRUPT_STATUS 0xF1
+#define IS31FL3741_REG_ID 0xFC
+
+#define IS31FL3741_REG_COMMAND 0xFD
+
+#define IS31FL3741_COMMAND_PWM_0 0x00
+#define IS31FL3741_COMMAND_PWM_1 0x01
+#define IS31FL3741_COMMAND_SCALING_0 0x02
+#define IS31FL3741_COMMAND_SCALING_1 0x03
+#define IS31FL3741_COMMAND_FUNCTION 0x04
+
+#define IS31FL3741_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3741_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3741_FUNCTION_REG_PWM_FREQUENCY 0x36
+#define IS31FL3741_FUNCTION_REG_RESET 0x3F
+
+#define IS31FL3741_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3741_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3741_I2C_ADDRESS_GND 0x30
+#define IS31FL3741_I2C_ADDRESS_SCL 0x31
+#define IS31FL3741_I2C_ADDRESS_SDA 0x32
+#define IS31FL3741_I2C_ADDRESS_VCC 0x33
+
+#if defined(LED_MATRIX_IS31FL3741)
+# define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3741_I2C_ADDRESS_4)
+# define IS31FL3741_DRIVER_COUNT 4
+#elif defined(IS31FL3741_I2C_ADDRESS_3)
+# define IS31FL3741_DRIVER_COUNT 3
+#elif defined(IS31FL3741_I2C_ADDRESS_2)
+# define IS31FL3741_DRIVER_COUNT 2
+#elif defined(IS31FL3741_I2C_ADDRESS_1)
+# define IS31FL3741_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3741_led_t {
+ uint8_t driver : 2;
+ uint16_t v : 9;
+} PACKED is31fl3741_led_t;
+
+extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT];
+
+void is31fl3741_init_drivers(void);
+void is31fl3741_init(uint8_t index);
+void is31fl3741_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3741_select_page(uint8_t index, uint8_t page);
+
+void is31fl3741_set_value(int index, uint8_t value);
+void is31fl3741_set_value_all(uint8_t value);
+
+void is31fl3741_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void is31fl3741_update_pwm_buffers(uint8_t index);
+void is31fl3741_update_led_control_registers(uint8_t index);
+void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value);
+
+void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value);
+
+void is31fl3741_flush(void);
+
+#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000
+#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011
+#define IS31FL3741_PWM_FREQUENCY_1K8_HZ 0b0111
+#define IS31FL3741_PWM_FREQUENCY_900_HZ 0b1011
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+#define SW1_CS19 0x12
+#define SW1_CS20 0x13
+#define SW1_CS21 0x14
+#define SW1_CS22 0x15
+#define SW1_CS23 0x16
+#define SW1_CS24 0x17
+#define SW1_CS25 0x18
+#define SW1_CS26 0x19
+#define SW1_CS27 0x1A
+#define SW1_CS28 0x1B
+#define SW1_CS29 0x1C
+#define SW1_CS30 0x1D
+
+#define SW2_CS1 0x1E
+#define SW2_CS2 0x1F
+#define SW2_CS3 0x20
+#define SW2_CS4 0x21
+#define SW2_CS5 0x22
+#define SW2_CS6 0x23
+#define SW2_CS7 0x24
+#define SW2_CS8 0x25
+#define SW2_CS9 0x26
+#define SW2_CS10 0x27
+#define SW2_CS11 0x28
+#define SW2_CS12 0x29
+#define SW2_CS13 0x2A
+#define SW2_CS14 0x2B
+#define SW2_CS15 0x2C
+#define SW2_CS16 0x2D
+#define SW2_CS17 0x2E
+#define SW2_CS18 0x2F
+#define SW2_CS19 0x30
+#define SW2_CS20 0x31
+#define SW2_CS21 0x32
+#define SW2_CS22 0x33
+#define SW2_CS23 0x34
+#define SW2_CS24 0x35
+#define SW2_CS25 0x36
+#define SW2_CS26 0x37
+#define SW2_CS27 0x38
+#define SW2_CS28 0x39
+#define SW2_CS29 0x3A
+#define SW2_CS30 0x3B
+
+#define SW3_CS1 0x3C
+#define SW3_CS2 0x3D
+#define SW3_CS3 0x3E
+#define SW3_CS4 0x3F
+#define SW3_CS5 0x40
+#define SW3_CS6 0x41
+#define SW3_CS7 0x42
+#define SW3_CS8 0x43
+#define SW3_CS9 0x44
+#define SW3_CS10 0x45
+#define SW3_CS11 0x46
+#define SW3_CS12 0x47
+#define SW3_CS13 0x48
+#define SW3_CS14 0x49
+#define SW3_CS15 0x4A
+#define SW3_CS16 0x4B
+#define SW3_CS17 0x4C
+#define SW3_CS18 0x4D
+#define SW3_CS19 0x4E
+#define SW3_CS20 0x4F
+#define SW3_CS21 0x50
+#define SW3_CS22 0x51
+#define SW3_CS23 0x52
+#define SW3_CS24 0x53
+#define SW3_CS25 0x54
+#define SW3_CS26 0x55
+#define SW3_CS27 0x56
+#define SW3_CS28 0x57
+#define SW3_CS29 0x58
+#define SW3_CS30 0x59
+
+#define SW4_CS1 0x5A
+#define SW4_CS2 0x5B
+#define SW4_CS3 0x5C
+#define SW4_CS4 0x5D
+#define SW4_CS5 0x5E
+#define SW4_CS6 0x5F
+#define SW4_CS7 0x60
+#define SW4_CS8 0x61
+#define SW4_CS9 0x62
+#define SW4_CS10 0x63
+#define SW4_CS11 0x64
+#define SW4_CS12 0x65
+#define SW4_CS13 0x66
+#define SW4_CS14 0x67
+#define SW4_CS15 0x68
+#define SW4_CS16 0x69
+#define SW4_CS17 0x6A
+#define SW4_CS18 0x6B
+#define SW4_CS19 0x6C
+#define SW4_CS20 0x6D
+#define SW4_CS21 0x6E
+#define SW4_CS22 0x6F
+#define SW4_CS23 0x70
+#define SW4_CS24 0x71
+#define SW4_CS25 0x72
+#define SW4_CS26 0x73
+#define SW4_CS27 0x74
+#define SW4_CS28 0x75
+#define SW4_CS29 0x76
+#define SW4_CS30 0x77
+
+#define SW5_CS1 0x78
+#define SW5_CS2 0x79
+#define SW5_CS3 0x7A
+#define SW5_CS4 0x7B
+#define SW5_CS5 0x7C
+#define SW5_CS6 0x7D
+#define SW5_CS7 0x7E
+#define SW5_CS8 0x7F
+#define SW5_CS9 0x80
+#define SW5_CS10 0x81
+#define SW5_CS11 0x82
+#define SW5_CS12 0x83
+#define SW5_CS13 0x84
+#define SW5_CS14 0x85
+#define SW5_CS15 0x86
+#define SW5_CS16 0x87
+#define SW5_CS17 0x88
+#define SW5_CS18 0x89
+#define SW5_CS19 0x8A
+#define SW5_CS20 0x8B
+#define SW5_CS21 0x8C
+#define SW5_CS22 0x8D
+#define SW5_CS23 0x8E
+#define SW5_CS24 0x8F
+#define SW5_CS25 0x90
+#define SW5_CS26 0x91
+#define SW5_CS27 0x92
+#define SW5_CS28 0x93
+#define SW5_CS29 0x94
+#define SW5_CS30 0x95
+
+#define SW6_CS1 0x96
+#define SW6_CS2 0x97
+#define SW6_CS3 0x98
+#define SW6_CS4 0x99
+#define SW6_CS5 0x9A
+#define SW6_CS6 0x9B
+#define SW6_CS7 0x9C
+#define SW6_CS8 0x9D
+#define SW6_CS9 0x9E
+#define SW6_CS10 0x9F
+#define SW6_CS11 0xA0
+#define SW6_CS12 0xA1
+#define SW6_CS13 0xA2
+#define SW6_CS14 0xA3
+#define SW6_CS15 0xA4
+#define SW6_CS16 0xA5
+#define SW6_CS17 0xA6
+#define SW6_CS18 0xA7
+#define SW6_CS19 0xA8
+#define SW6_CS20 0xA9
+#define SW6_CS21 0xAA
+#define SW6_CS22 0xAB
+#define SW6_CS23 0xAC
+#define SW6_CS24 0xAD
+#define SW6_CS25 0xAE
+#define SW6_CS26 0xAF
+#define SW6_CS27 0xB0
+#define SW6_CS28 0xB1
+#define SW6_CS29 0xB2
+#define SW6_CS30 0xB3
+
+#define SW7_CS1 0x100
+#define SW7_CS2 0x101
+#define SW7_CS3 0x102
+#define SW7_CS4 0x103
+#define SW7_CS5 0x104
+#define SW7_CS6 0x105
+#define SW7_CS7 0x106
+#define SW7_CS8 0x107
+#define SW7_CS9 0x108
+#define SW7_CS10 0x109
+#define SW7_CS11 0x10A
+#define SW7_CS12 0x10B
+#define SW7_CS13 0x10C
+#define SW7_CS14 0x10D
+#define SW7_CS15 0x10E
+#define SW7_CS16 0x10F
+#define SW7_CS17 0x110
+#define SW7_CS18 0x111
+#define SW7_CS19 0x112
+#define SW7_CS20 0x113
+#define SW7_CS21 0x114
+#define SW7_CS22 0x115
+#define SW7_CS23 0x116
+#define SW7_CS24 0x117
+#define SW7_CS25 0x118
+#define SW7_CS26 0x119
+#define SW7_CS27 0x11A
+#define SW7_CS28 0x11B
+#define SW7_CS29 0x11C
+#define SW7_CS30 0x11D
+
+#define SW8_CS1 0x11E
+#define SW8_CS2 0x11F
+#define SW8_CS3 0x120
+#define SW8_CS4 0x121
+#define SW8_CS5 0x122
+#define SW8_CS6 0x123
+#define SW8_CS7 0x124
+#define SW8_CS8 0x125
+#define SW8_CS9 0x126
+#define SW8_CS10 0x127
+#define SW8_CS11 0x128
+#define SW8_CS12 0x129
+#define SW8_CS13 0x12A
+#define SW8_CS14 0x12B
+#define SW8_CS15 0x12C
+#define SW8_CS16 0x12D
+#define SW8_CS17 0x12E
+#define SW8_CS18 0x12F
+#define SW8_CS19 0x130
+#define SW8_CS20 0x131
+#define SW8_CS21 0x132
+#define SW8_CS22 0x133
+#define SW8_CS23 0x134
+#define SW8_CS24 0x135
+#define SW8_CS25 0x136
+#define SW8_CS26 0x137
+#define SW8_CS27 0x138
+#define SW8_CS28 0x139
+#define SW8_CS29 0x13A
+#define SW8_CS30 0x13B
+
+#define SW9_CS1 0x13C
+#define SW9_CS2 0x13D
+#define SW9_CS3 0x13E
+#define SW9_CS4 0x13F
+#define SW9_CS5 0x140
+#define SW9_CS6 0x141
+#define SW9_CS7 0x142
+#define SW9_CS8 0x143
+#define SW9_CS9 0x144
+#define SW9_CS10 0x145
+#define SW9_CS11 0x146
+#define SW9_CS12 0x147
+#define SW9_CS13 0x148
+#define SW9_CS14 0x149
+#define SW9_CS15 0x14A
+#define SW9_CS16 0x14B
+#define SW9_CS17 0x14C
+#define SW9_CS18 0x14D
+#define SW9_CS19 0x14E
+#define SW9_CS20 0x14F
+#define SW9_CS21 0x150
+#define SW9_CS22 0x151
+#define SW9_CS23 0x152
+#define SW9_CS24 0x153
+#define SW9_CS25 0x154
+#define SW9_CS26 0x155
+#define SW9_CS27 0x156
+#define SW9_CS28 0x157
+#define SW9_CS29 0x158
+#define SW9_CS30 0x159
+
+#define SW1_CS31 0x15A
+#define SW1_CS32 0x15B
+#define SW1_CS33 0x15C
+#define SW1_CS34 0x15D
+#define SW1_CS35 0x15E
+#define SW1_CS36 0x15F
+#define SW1_CS37 0x160
+#define SW1_CS38 0x161
+#define SW1_CS39 0x162
+
+#define SW2_CS31 0x163
+#define SW2_CS32 0x164
+#define SW2_CS33 0x165
+#define SW2_CS34 0x166
+#define SW2_CS35 0x167
+#define SW2_CS36 0x168
+#define SW2_CS37 0x169
+#define SW2_CS38 0x16A
+#define SW2_CS39 0x16B
+
+#define SW3_CS31 0x16C
+#define SW3_CS32 0x16D
+#define SW3_CS33 0x16E
+#define SW3_CS34 0x16F
+#define SW3_CS35 0x170
+#define SW3_CS36 0x171
+#define SW3_CS37 0x172
+#define SW3_CS38 0x173
+#define SW3_CS39 0x174
+
+#define SW4_CS31 0x175
+#define SW4_CS32 0x176
+#define SW4_CS33 0x177
+#define SW4_CS34 0x178
+#define SW4_CS35 0x179
+#define SW4_CS36 0x17A
+#define SW4_CS37 0x17B
+#define SW4_CS38 0x17C
+#define SW4_CS39 0x17D
+
+#define SW5_CS31 0x17E
+#define SW5_CS32 0x17F
+#define SW5_CS33 0x180
+#define SW5_CS34 0x181
+#define SW5_CS35 0x182
+#define SW5_CS36 0x183
+#define SW5_CS37 0x184
+#define SW5_CS38 0x185
+#define SW5_CS39 0x186
+
+#define SW6_CS31 0x187
+#define SW6_CS32 0x188
+#define SW6_CS33 0x189
+#define SW6_CS34 0x18A
+#define SW6_CS35 0x18B
+#define SW6_CS36 0x18C
+#define SW6_CS37 0x18D
+#define SW6_CS38 0x18E
+#define SW6_CS39 0x18F
+
+#define SW7_CS31 0x190
+#define SW7_CS32 0x191
+#define SW7_CS33 0x192
+#define SW7_CS34 0x193
+#define SW7_CS35 0x194
+#define SW7_CS36 0x195
+#define SW7_CS37 0x196
+#define SW7_CS38 0x197
+#define SW7_CS39 0x198
+
+#define SW8_CS31 0x199
+#define SW8_CS32 0x19A
+#define SW8_CS33 0x19B
+#define SW8_CS34 0x19C
+#define SW8_CS35 0x19D
+#define SW8_CS36 0x19E
+#define SW8_CS37 0x19F
+#define SW8_CS38 0x1A0
+#define SW8_CS39 0x1A1
+
+#define SW9_CS31 0x1A2
+#define SW9_CS32 0x1A3
+#define SW9_CS33 0x1A4
+#define SW9_CS34 0x1A5
+#define SW9_CS35 0x1A6
+#define SW9_CS36 0x1A7
+#define SW9_CS37 0x1A8
+#define SW9_CS38 0x1A9
+#define SW9_CS39 0x1AA
+
+// DEPRECATED - DO NOT USE
+
+#define CS1_SW1 SW1_CS1
+#define CS2_SW1 SW1_CS2
+#define CS3_SW1 SW1_CS3
+#define CS4_SW1 SW1_CS4
+#define CS5_SW1 SW1_CS5
+#define CS6_SW1 SW1_CS6
+#define CS7_SW1 SW1_CS7
+#define CS8_SW1 SW1_CS8
+#define CS9_SW1 SW1_CS9
+#define CS10_SW1 SW1_CS10
+#define CS11_SW1 SW1_CS11
+#define CS12_SW1 SW1_CS12
+#define CS13_SW1 SW1_CS13
+#define CS14_SW1 SW1_CS14
+#define CS15_SW1 SW1_CS15
+#define CS16_SW1 SW1_CS16
+#define CS17_SW1 SW1_CS17
+#define CS18_SW1 SW1_CS18
+#define CS19_SW1 SW1_CS19
+#define CS20_SW1 SW1_CS20
+#define CS21_SW1 SW1_CS21
+#define CS22_SW1 SW1_CS22
+#define CS23_SW1 SW1_CS23
+#define CS24_SW1 SW1_CS24
+#define CS25_SW1 SW1_CS25
+#define CS26_SW1 SW1_CS26
+#define CS27_SW1 SW1_CS27
+#define CS28_SW1 SW1_CS28
+#define CS29_SW1 SW1_CS29
+#define CS30_SW1 SW1_CS30
+
+#define CS1_SW2 SW2_CS1
+#define CS2_SW2 SW2_CS2
+#define CS3_SW2 SW2_CS3
+#define CS4_SW2 SW2_CS4
+#define CS5_SW2 SW2_CS5
+#define CS6_SW2 SW2_CS6
+#define CS7_SW2 SW2_CS7
+#define CS8_SW2 SW2_CS8
+#define CS9_SW2 SW2_CS9
+#define CS10_SW2 SW2_CS10
+#define CS11_SW2 SW2_CS11
+#define CS12_SW2 SW2_CS12
+#define CS13_SW2 SW2_CS13
+#define CS14_SW2 SW2_CS14
+#define CS15_SW2 SW2_CS15
+#define CS16_SW2 SW2_CS16
+#define CS17_SW2 SW2_CS17
+#define CS18_SW2 SW2_CS18
+#define CS19_SW2 SW2_CS19
+#define CS20_SW2 SW2_CS20
+#define CS21_SW2 SW2_CS21
+#define CS22_SW2 SW2_CS22
+#define CS23_SW2 SW2_CS23
+#define CS24_SW2 SW2_CS24
+#define CS25_SW2 SW2_CS25
+#define CS26_SW2 SW2_CS26
+#define CS27_SW2 SW2_CS27
+#define CS28_SW2 SW2_CS28
+#define CS29_SW2 SW2_CS29
+#define CS30_SW2 SW2_CS30
+
+#define CS1_SW3 SW3_CS1
+#define CS2_SW3 SW3_CS2
+#define CS3_SW3 SW3_CS3
+#define CS4_SW3 SW3_CS4
+#define CS5_SW3 SW3_CS5
+#define CS6_SW3 SW3_CS6
+#define CS7_SW3 SW3_CS7
+#define CS8_SW3 SW3_CS8
+#define CS9_SW3 SW3_CS9
+#define CS10_SW3 SW3_CS10
+#define CS11_SW3 SW3_CS11
+#define CS12_SW3 SW3_CS12
+#define CS13_SW3 SW3_CS13
+#define CS14_SW3 SW3_CS14
+#define CS15_SW3 SW3_CS15
+#define CS16_SW3 SW3_CS16
+#define CS17_SW3 SW3_CS17
+#define CS18_SW3 SW3_CS18
+#define CS19_SW3 SW3_CS19
+#define CS20_SW3 SW3_CS20
+#define CS21_SW3 SW3_CS21
+#define CS22_SW3 SW3_CS22
+#define CS23_SW3 SW3_CS23
+#define CS24_SW3 SW3_CS24
+#define CS25_SW3 SW3_CS25
+#define CS26_SW3 SW3_CS26
+#define CS27_SW3 SW3_CS27
+#define CS28_SW3 SW3_CS28
+#define CS29_SW3 SW3_CS29
+#define CS30_SW3 SW3_CS30
+
+#define CS1_SW4 SW4_CS1
+#define CS2_SW4 SW4_CS2
+#define CS3_SW4 SW4_CS3
+#define CS4_SW4 SW4_CS4
+#define CS5_SW4 SW4_CS5
+#define CS6_SW4 SW4_CS6
+#define CS7_SW4 SW4_CS7
+#define CS8_SW4 SW4_CS8
+#define CS9_SW4 SW4_CS9
+#define CS10_SW4 SW4_CS10
+#define CS11_SW4 SW4_CS11
+#define CS12_SW4 SW4_CS12
+#define CS13_SW4 SW4_CS13
+#define CS14_SW4 SW4_CS14
+#define CS15_SW4 SW4_CS15
+#define CS16_SW4 SW4_CS16
+#define CS17_SW4 SW4_CS17
+#define CS18_SW4 SW4_CS18
+#define CS19_SW4 SW4_CS19
+#define CS20_SW4 SW4_CS20
+#define CS21_SW4 SW4_CS21
+#define CS22_SW4 SW4_CS22
+#define CS23_SW4 SW4_CS23
+#define CS24_SW4 SW4_CS24
+#define CS25_SW4 SW4_CS25
+#define CS26_SW4 SW4_CS26
+#define CS27_SW4 SW4_CS27
+#define CS28_SW4 SW4_CS28
+#define CS29_SW4 SW4_CS29
+#define CS30_SW4 SW4_CS30
+
+#define CS1_SW5 SW5_CS1
+#define CS2_SW5 SW5_CS2
+#define CS3_SW5 SW5_CS3
+#define CS4_SW5 SW5_CS4
+#define CS5_SW5 SW5_CS5
+#define CS6_SW5 SW5_CS6
+#define CS7_SW5 SW5_CS7
+#define CS8_SW5 SW5_CS8
+#define CS9_SW5 SW5_CS9
+#define CS10_SW5 SW5_CS10
+#define CS11_SW5 SW5_CS11
+#define CS12_SW5 SW5_CS12
+#define CS13_SW5 SW5_CS13
+#define CS14_SW5 SW5_CS14
+#define CS15_SW5 SW5_CS15
+#define CS16_SW5 SW5_CS16
+#define CS17_SW5 SW5_CS17
+#define CS18_SW5 SW5_CS18
+#define CS19_SW5 SW5_CS19
+#define CS20_SW5 SW5_CS20
+#define CS21_SW5 SW5_CS21
+#define CS22_SW5 SW5_CS22
+#define CS23_SW5 SW5_CS23
+#define CS24_SW5 SW5_CS24
+#define CS25_SW5 SW5_CS25
+#define CS26_SW5 SW5_CS26
+#define CS27_SW5 SW5_CS27
+#define CS28_SW5 SW5_CS28
+#define CS29_SW5 SW5_CS29
+#define CS30_SW5 SW5_CS30
+
+#define CS1_SW6 SW6_CS1
+#define CS2_SW6 SW6_CS2
+#define CS3_SW6 SW6_CS3
+#define CS4_SW6 SW6_CS4
+#define CS5_SW6 SW6_CS5
+#define CS6_SW6 SW6_CS6
+#define CS7_SW6 SW6_CS7
+#define CS8_SW6 SW6_CS8
+#define CS9_SW6 SW6_CS9
+#define CS10_SW6 SW6_CS10
+#define CS11_SW6 SW6_CS11
+#define CS12_SW6 SW6_CS12
+#define CS13_SW6 SW6_CS13
+#define CS14_SW6 SW6_CS14
+#define CS15_SW6 SW6_CS15
+#define CS16_SW6 SW6_CS16
+#define CS17_SW6 SW6_CS17
+#define CS18_SW6 SW6_CS18
+#define CS19_SW6 SW6_CS19
+#define CS20_SW6 SW6_CS20
+#define CS21_SW6 SW6_CS21
+#define CS22_SW6 SW6_CS22
+#define CS23_SW6 SW6_CS23
+#define CS24_SW6 SW6_CS24
+#define CS25_SW6 SW6_CS25
+#define CS26_SW6 SW6_CS26
+#define CS27_SW6 SW6_CS27
+#define CS28_SW6 SW6_CS28
+#define CS29_SW6 SW6_CS29
+#define CS30_SW6 SW6_CS30
+
+#define CS1_SW7 SW7_CS1
+#define CS2_SW7 SW7_CS2
+#define CS3_SW7 SW7_CS3
+#define CS4_SW7 SW7_CS4
+#define CS5_SW7 SW7_CS5
+#define CS6_SW7 SW7_CS6
+#define CS7_SW7 SW7_CS7
+#define CS8_SW7 SW7_CS8
+#define CS9_SW7 SW7_CS9
+#define CS10_SW7 SW7_CS10
+#define CS11_SW7 SW7_CS11
+#define CS12_SW7 SW7_CS12
+#define CS13_SW7 SW7_CS13
+#define CS14_SW7 SW7_CS14
+#define CS15_SW7 SW7_CS15
+#define CS16_SW7 SW7_CS16
+#define CS17_SW7 SW7_CS17
+#define CS18_SW7 SW7_CS18
+#define CS19_SW7 SW7_CS19
+#define CS20_SW7 SW7_CS20
+#define CS21_SW7 SW7_CS21
+#define CS22_SW7 SW7_CS22
+#define CS23_SW7 SW7_CS23
+#define CS24_SW7 SW7_CS24
+#define CS25_SW7 SW7_CS25
+#define CS26_SW7 SW7_CS26
+#define CS27_SW7 SW7_CS27
+#define CS28_SW7 SW7_CS28
+#define CS29_SW7 SW7_CS29
+#define CS30_SW7 SW7_CS30
+
+#define CS1_SW8 SW8_CS1
+#define CS2_SW8 SW8_CS2
+#define CS3_SW8 SW8_CS3
+#define CS4_SW8 SW8_CS4
+#define CS5_SW8 SW8_CS5
+#define CS6_SW8 SW8_CS6
+#define CS7_SW8 SW8_CS7
+#define CS8_SW8 SW8_CS8
+#define CS9_SW8 SW8_CS9
+#define CS10_SW8 SW8_CS10
+#define CS11_SW8 SW8_CS11
+#define CS12_SW8 SW8_CS12
+#define CS13_SW8 SW8_CS13
+#define CS14_SW8 SW8_CS14
+#define CS15_SW8 SW8_CS15
+#define CS16_SW8 SW8_CS16
+#define CS17_SW8 SW8_CS17
+#define CS18_SW8 SW8_CS18
+#define CS19_SW8 SW8_CS19
+#define CS20_SW8 SW8_CS20
+#define CS21_SW8 SW8_CS21
+#define CS22_SW8 SW8_CS22
+#define CS23_SW8 SW8_CS23
+#define CS24_SW8 SW8_CS24
+#define CS25_SW8 SW8_CS25
+#define CS26_SW8 SW8_CS26
+#define CS27_SW8 SW8_CS27
+#define CS28_SW8 SW8_CS28
+#define CS29_SW8 SW8_CS29
+#define CS30_SW8 SW8_CS30
+
+#define CS1_SW9 SW9_CS1
+#define CS2_SW9 SW9_CS2
+#define CS3_SW9 SW9_CS3
+#define CS4_SW9 SW9_CS4
+#define CS5_SW9 SW9_CS5
+#define CS6_SW9 SW9_CS6
+#define CS7_SW9 SW9_CS7
+#define CS8_SW9 SW9_CS8
+#define CS9_SW9 SW9_CS9
+#define CS10_SW9 SW9_CS10
+#define CS11_SW9 SW9_CS11
+#define CS12_SW9 SW9_CS12
+#define CS13_SW9 SW9_CS13
+#define CS14_SW9 SW9_CS14
+#define CS15_SW9 SW9_CS15
+#define CS16_SW9 SW9_CS16
+#define CS17_SW9 SW9_CS17
+#define CS18_SW9 SW9_CS18
+#define CS19_SW9 SW9_CS19
+#define CS20_SW9 SW9_CS20
+#define CS21_SW9 SW9_CS21
+#define CS22_SW9 SW9_CS22
+#define CS23_SW9 SW9_CS23
+#define CS24_SW9 SW9_CS24
+#define CS25_SW9 SW9_CS25
+#define CS26_SW9 SW9_CS26
+#define CS27_SW9 SW9_CS27
+#define CS28_SW9 SW9_CS28
+#define CS29_SW9 SW9_CS29
+#define CS30_SW9 SW9_CS30
+
+#define CS31_SW1 SW1_CS31
+#define CS32_SW1 SW1_CS32
+#define CS33_SW1 SW1_CS33
+#define CS34_SW1 SW1_CS34
+#define CS35_SW1 SW1_CS35
+#define CS36_SW1 SW1_CS36
+#define CS37_SW1 SW1_CS37
+#define CS38_SW1 SW1_CS38
+#define CS39_SW1 SW1_CS39
+
+#define CS31_SW2 SW2_CS31
+#define CS32_SW2 SW2_CS32
+#define CS33_SW2 SW2_CS33
+#define CS34_SW2 SW2_CS34
+#define CS35_SW2 SW2_CS35
+#define CS36_SW2 SW2_CS36
+#define CS37_SW2 SW2_CS37
+#define CS38_SW2 SW2_CS38
+#define CS39_SW2 SW2_CS39
+
+#define CS31_SW3 SW3_CS31
+#define CS32_SW3 SW3_CS32
+#define CS33_SW3 SW3_CS33
+#define CS34_SW3 SW3_CS34
+#define CS35_SW3 SW3_CS35
+#define CS36_SW3 SW3_CS36
+#define CS37_SW3 SW3_CS37
+#define CS38_SW3 SW3_CS38
+#define CS39_SW3 SW3_CS39
+
+#define CS31_SW4 SW4_CS31
+#define CS32_SW4 SW4_CS32
+#define CS33_SW4 SW4_CS33
+#define CS34_SW4 SW4_CS34
+#define CS35_SW4 SW4_CS35
+#define CS36_SW4 SW4_CS36
+#define CS37_SW4 SW4_CS37
+#define CS38_SW4 SW4_CS38
+#define CS39_SW4 SW4_CS39
+
+#define CS31_SW5 SW5_CS31
+#define CS32_SW5 SW5_CS32
+#define CS33_SW5 SW5_CS33
+#define CS34_SW5 SW5_CS34
+#define CS35_SW5 SW5_CS35
+#define CS36_SW5 SW5_CS36
+#define CS37_SW5 SW5_CS37
+#define CS38_SW5 SW5_CS38
+#define CS39_SW5 SW5_CS39
+
+#define CS31_SW6 SW6_CS31
+#define CS32_SW6 SW6_CS32
+#define CS33_SW6 SW6_CS33
+#define CS34_SW6 SW6_CS34
+#define CS35_SW6 SW6_CS35
+#define CS36_SW6 SW6_CS36
+#define CS37_SW6 SW6_CS37
+#define CS38_SW6 SW6_CS38
+#define CS39_SW6 SW6_CS39
+
+#define CS31_SW7 SW7_CS31
+#define CS32_SW7 SW7_CS32
+#define CS33_SW7 SW7_CS33
+#define CS34_SW7 SW7_CS34
+#define CS35_SW7 SW7_CS35
+#define CS36_SW7 SW7_CS36
+#define CS37_SW7 SW7_CS37
+#define CS38_SW7 SW7_CS38
+#define CS39_SW7 SW7_CS39
+
+#define CS31_SW8 SW8_CS31
+#define CS32_SW8 SW8_CS32
+#define CS33_SW8 SW8_CS33
+#define CS34_SW8 SW8_CS34
+#define CS35_SW8 SW8_CS35
+#define CS36_SW8 SW8_CS36
+#define CS37_SW8 SW8_CS37
+#define CS38_SW8 SW8_CS38
+#define CS39_SW8 SW8_CS39
+
+#define CS31_SW9 SW9_CS31
+#define CS32_SW9 SW9_CS32
+#define CS33_SW9 SW9_CS33
+#define CS34_SW9 SW9_CS34
+#define CS35_SW9 SW9_CS35
+#define CS36_SW9 SW9_CS36
+#define CS37_SW9 SW9_CS37
+#define CS38_SW9 SW9_CS38
+#define CS39_SW9 SW9_CS39
diff --git a/drivers/led/issi/is31fl3741-simple.c b/drivers/led/issi/is31fl3741-simple.c
deleted file mode 100644
index f7009853ba..0000000000
--- a/drivers/led/issi/is31fl3741-simple.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31fl3741-simple.h"
-#include <string.h>
-#include "i2c_master.h"
-#include "wait.h"
-
-#define IS31FL3741_PWM_REGISTER_COUNT 351
-
-#ifndef IS31FL3741_I2C_TIMEOUT
-# define IS31FL3741_I2C_TIMEOUT 100
-#endif
-
-#ifndef IS31FL3741_I2C_PERSISTENCE
-# define IS31FL3741_I2C_PERSISTENCE 0
-#endif
-
-#ifndef IS31FL3741_CONFIGURATION
-# define IS31FL3741_CONFIGURATION 0x01
-#endif
-
-#ifndef IS31FL3741_PWM_FREQUENCY
-# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ
-#endif
-
-#ifndef IS31FL3741_SW_PULLUP
-# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM
-#endif
-
-#ifndef IS31FL3741_CS_PULLDOWN
-# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM
-#endif
-
-#ifndef IS31FL3741_GLOBAL_CURRENT
-# define IS31FL3741_GLOBAL_CURRENT 0xFF
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20] = {0xFF};
-
-// These buffers match the IS31FL3741 and IS31FL3741A PWM registers.
-// The scaling buffers match the PG2 and PG3 LED On/Off registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false};
-bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false};
-
-uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT];
-
-void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if IS31FL3741_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT);
-#endif
-}
-
-bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // Assume PG0 is already selected
-
- for (int i = 0; i < 342; i += 18) {
- if (i == 180) {
- // unlock the command register and select PG1
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1);
- }
-
- g_twi_transfer_buffer[0] = i % 180;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18);
-
-#if IS31FL3741_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
- }
-
- // transfer the left cause the total number is 351
- g_twi_transfer_buffer[0] = 162;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9);
-
-#if IS31FL3741_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
-
- return true;
-}
-
-void is31fl3741_init_drivers(void) {
- i2c_init();
-
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_1);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_2);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_3);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < IS31FL3741_LED_COUNT; i++) {
- is31fl3741_set_led_control_register(i, true);
- }
-
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void is31fl3741_init(uint8_t addr) {
- // In order to avoid the LEDs being driven with garbage data
- // in the LED driver's PWM registers, shutdown is enabled last.
- // Set up the mode and other settings, clear the PWM registers,
- // then disable software shutdown.
- // Unlock the command register.
-
- // Unlock the command register.
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG4
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION);
-
- // Set to Normal operation
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION);
-
- // Set Golbal Current Control Register
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT);
- // Set Pull up & Down for SWx CSy
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
- // Set PWM frequency
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));
-
- // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF);
-
- // Wait 10ms to ensure the device has woken up.
- wait_ms(10);
-}
-
-void is31fl3741_set_value(int index, uint8_t value) {
- is31fl3741_led_t led;
- if (index >= 0 && index < IS31FL3741_LED_COUNT) {
- memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
-
- if (g_pwm_buffer[led.driver][led.v] == value) {
- return;
- }
- g_pwm_buffer_update_required[led.driver] = true;
- g_pwm_buffer[led.driver][led.v] = value;
- }
-}
-
-void is31fl3741_set_value_all(uint8_t value) {
- for (int i = 0; i < IS31FL3741_LED_COUNT; i++) {
- is31fl3741_set_value(i, value);
- }
-}
-
-void is31fl3741_set_led_control_register(uint8_t index, bool value) {
- is31fl3741_led_t led;
- memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
-
- if (value) {
- g_scaling_registers[led.driver][led.v] = 0xFF;
- } else {
- g_scaling_registers[led.driver][led.v] = 0x00;
- }
-
- g_scaling_registers_update_required[led.driver] = true;
-}
-
-void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // unlock the command register and select PG2
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0);
-
- is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]);
- }
-
- g_pwm_buffer_update_required[index] = false;
-}
-
-void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value) {
- g_pwm_buffer[pled->driver][pled->v] = value;
-
- g_pwm_buffer_update_required[pled->driver] = true;
-}
-
-void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_scaling_registers_update_required[index]) {
- // unlock the command register and select PG2
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0);
-
- // CS1_SW1 to CS30_SW6 are on PG2
- for (int i = CS1_SW1; i <= CS30_SW6; ++i) {
- is31fl3741_write_register(addr, i, g_scaling_registers[index][i]);
- }
-
- // unlock the command register and select PG3
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1);
-
- // CS1_SW7 to CS39_SW9 are on PG3
- for (int i = CS1_SW7; i <= CS39_SW9; ++i) {
- is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]);
- }
-
- g_scaling_registers_update_required[index] = false;
- }
-}
-
-void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value) {
- g_scaling_registers[pled->driver][pled->v] = value;
-
- g_scaling_registers_update_required[pled->driver] = true;
-}
-
-void is31fl3741_flush(void) {
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
diff --git a/drivers/led/issi/is31fl3741-simple.h b/drivers/led/issi/is31fl3741-simple.h
deleted file mode 100644
index 34608a37e0..0000000000
--- a/drivers/led/issi/is31fl3741-simple.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef ISSI_TIMEOUT
-# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT
-#endif
-#ifdef ISSI_PERSISTENCE
-# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE
-#endif
-#ifdef ISSI_CONFIGURATION
-# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION
-#endif
-#ifdef ISSI_SWPULLUP
-# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP
-#endif
-#ifdef ISSI_CSPULLUP
-# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP
-#endif
-#ifdef ISSI_GLOBALCURRENT
-# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT
-#endif
-
-#define PUR_0R IS31FL3741_PUR_0_OHM
-#define PUR_05KR IS31FL3741_PUR_0K5_OHM
-#define PUR_1KR IS31FL3741_PUR_1K_OHM
-#define PUR_2KR IS31FL3741_PUR_2K_OHM
-#define PUR_4KR IS31FL3741_PUR_4K_OHM
-#define PUR_8KR IS31FL3741_PUR_8K_OHM
-#define PUR_16KR IS31FL3741_PUR_16K_OHM
-#define PUR_32KR IS31FL3741_PUR_32K_OHM
-// ========
-
-#define IS31FL3741_REG_INTERRUPT_MASK 0xF0
-#define IS31FL3741_REG_INTERRUPT_STATUS 0xF1
-#define IS31FL3741_REG_ID 0xFC
-
-#define IS31FL3741_REG_COMMAND 0xFD
-
-#define IS31FL3741_COMMAND_PWM_0 0x00
-#define IS31FL3741_COMMAND_PWM_1 0x01
-#define IS31FL3741_COMMAND_SCALING_0 0x02
-#define IS31FL3741_COMMAND_SCALING_1 0x03
-#define IS31FL3741_COMMAND_FUNCTION 0x04
-
-#define IS31FL3741_FUNCTION_REG_CONFIGURATION 0x00
-#define IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT 0x01
-#define IS31FL3741_FUNCTION_REG_PULLDOWNUP 0x02
-#define IS31FL3741_FUNCTION_REG_PWM_FREQUENCY 0x36
-#define IS31FL3741_FUNCTION_REG_RESET 0x3F
-
-#define IS31FL3741_REG_COMMAND_WRITE_LOCK 0xFE
-#define IS31FL3741_COMMAND_WRITE_LOCK_MAGIC 0xC5
-
-#define IS31FL3741_I2C_ADDRESS_GND 0x30
-#define IS31FL3741_I2C_ADDRESS_SCL 0x31
-#define IS31FL3741_I2C_ADDRESS_SDA 0x32
-#define IS31FL3741_I2C_ADDRESS_VCC 0x33
-
-#if defined(LED_MATRIX_IS31FL3741)
-# define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined(IS31FL3741_I2C_ADDRESS_4)
-# define IS31FL3741_DRIVER_COUNT 4
-#elif defined(IS31FL3741_I2C_ADDRESS_3)
-# define IS31FL3741_DRIVER_COUNT 3
-#elif defined(IS31FL3741_I2C_ADDRESS_2)
-# define IS31FL3741_DRIVER_COUNT 2
-#elif defined(IS31FL3741_I2C_ADDRESS_1)
-# define IS31FL3741_DRIVER_COUNT 1
-#endif
-
-typedef struct is31fl3741_led_t {
- uint8_t driver : 2;
- uint16_t v : 9;
-} PACKED is31fl3741_led_t;
-
-extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT];
-
-void is31fl3741_init_drivers(void);
-void is31fl3741_init(uint8_t addr);
-void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void is31fl3741_set_value(int index, uint8_t value);
-void is31fl3741_set_value_all(uint8_t value);
-
-void is31fl3741_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index);
-void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value);
-
-void is31fl3741_set_pwm_buffer(const is31fl3741_led *pled, uint8_t value);
-
-void is31fl3741_flush(void);
-
-#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor
-#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor
-#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
-#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor
-#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor
-#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor
-#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor
-#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor
-#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor
-
-#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000
-#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011
-#define IS31FL3741_PWM_FREQUENCY_1K8_HZ 0b0111
-#define IS31FL3741_PWM_FREQUENCY_900_HZ 0b1011
-
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-#define CS19_SW1 0x12
-#define CS20_SW1 0x13
-#define CS21_SW1 0x14
-#define CS22_SW1 0x15
-#define CS23_SW1 0x16
-#define CS24_SW1 0x17
-#define CS25_SW1 0x18
-#define CS26_SW1 0x19
-#define CS27_SW1 0x1A
-#define CS28_SW1 0x1B
-#define CS29_SW1 0x1C
-#define CS30_SW1 0x1D
-
-#define CS1_SW2 0x1E
-#define CS2_SW2 0x1F
-#define CS3_SW2 0x20
-#define CS4_SW2 0x21
-#define CS5_SW2 0x22
-#define CS6_SW2 0x23
-#define CS7_SW2 0x24
-#define CS8_SW2 0x25
-#define CS9_SW2 0x26
-#define CS10_SW2 0x27
-#define CS11_SW2 0x28
-#define CS12_SW2 0x29
-#define CS13_SW2 0x2A
-#define CS14_SW2 0x2B
-#define CS15_SW2 0x2C
-#define CS16_SW2 0x2D
-#define CS17_SW2 0x2E
-#define CS18_SW2 0x2F
-#define CS19_SW2 0x30
-#define CS20_SW2 0x31
-#define CS21_SW2 0x32
-#define CS22_SW2 0x33
-#define CS23_SW2 0x34
-#define CS24_SW2 0x35
-#define CS25_SW2 0x36
-#define CS26_SW2 0x37
-#define CS27_SW2 0x38
-#define CS28_SW2 0x39
-#define CS29_SW2 0x3A
-#define CS30_SW2 0x3B
-
-#define CS1_SW3 0x3C
-#define CS2_SW3 0x3D
-#define CS3_SW3 0x3E
-#define CS4_SW3 0x3F
-#define CS5_SW3 0x40
-#define CS6_SW3 0x41
-#define CS7_SW3 0x42
-#define CS8_SW3 0x43
-#define CS9_SW3 0x44
-#define CS10_SW3 0x45
-#define CS11_SW3 0x46
-#define CS12_SW3 0x47
-#define CS13_SW3 0x48
-#define CS14_SW3 0x49
-#define CS15_SW3 0x4A
-#define CS16_SW3 0x4B
-#define CS17_SW3 0x4C
-#define CS18_SW3 0x4D
-#define CS19_SW3 0x4E
-#define CS20_SW3 0x4F
-#define CS21_SW3 0x50
-#define CS22_SW3 0x51
-#define CS23_SW3 0x52
-#define CS24_SW3 0x53
-#define CS25_SW3 0x54
-#define CS26_SW3 0x55
-#define CS27_SW3 0x56
-#define CS28_SW3 0x57
-#define CS29_SW3 0x58
-#define CS30_SW3 0x59
-
-#define CS1_SW4 0x5A
-#define CS2_SW4 0x5B
-#define CS3_SW4 0x5C
-#define CS4_SW4 0x5D
-#define CS5_SW4 0x5E
-#define CS6_SW4 0x5F
-#define CS7_SW4 0x60
-#define CS8_SW4 0x61
-#define CS9_SW4 0x62
-#define CS10_SW4 0x63
-#define CS11_SW4 0x64
-#define CS12_SW4 0x65
-#define CS13_SW4 0x66
-#define CS14_SW4 0x67
-#define CS15_SW4 0x68
-#define CS16_SW4 0x69
-#define CS17_SW4 0x6A
-#define CS18_SW4 0x6B
-#define CS19_SW4 0x6C
-#define CS20_SW4 0x6D
-#define CS21_SW4 0x6E
-#define CS22_SW4 0x6F
-#define CS23_SW4 0x70
-#define CS24_SW4 0x71
-#define CS25_SW4 0x72
-#define CS26_SW4 0x73
-#define CS27_SW4 0x74
-#define CS28_SW4 0x75
-#define CS29_SW4 0x76
-#define CS30_SW4 0x77
-
-#define CS1_SW5 0x78
-#define CS2_SW5 0x79
-#define CS3_SW5 0x7A
-#define CS4_SW5 0x7B
-#define CS5_SW5 0x7C
-#define CS6_SW5 0x7D
-#define CS7_SW5 0x7E
-#define CS8_SW5 0x7F
-#define CS9_SW5 0x80
-#define CS10_SW5 0x81
-#define CS11_SW5 0x82
-#define CS12_SW5 0x83
-#define CS13_SW5 0x84
-#define CS14_SW5 0x85
-#define CS15_SW5 0x86
-#define CS16_SW5 0x87
-#define CS17_SW5 0x88
-#define CS18_SW5 0x89
-#define CS19_SW5 0x8A
-#define CS20_SW5 0x8B
-#define CS21_SW5 0x8C
-#define CS22_SW5 0x8D
-#define CS23_SW5 0x8E
-#define CS24_SW5 0x8F
-#define CS25_SW5 0x90
-#define CS26_SW5 0x91
-#define CS27_SW5 0x92
-#define CS28_SW5 0x93
-#define CS29_SW5 0x94
-#define CS30_SW5 0x95
-
-#define CS1_SW6 0x96
-#define CS2_SW6 0x97
-#define CS3_SW6 0x98
-#define CS4_SW6 0x99
-#define CS5_SW6 0x9A
-#define CS6_SW6 0x9B
-#define CS7_SW6 0x9C
-#define CS8_SW6 0x9D
-#define CS9_SW6 0x9E
-#define CS10_SW6 0x9F
-#define CS11_SW6 0xA0
-#define CS12_SW6 0xA1
-#define CS13_SW6 0xA2
-#define CS14_SW6 0xA3
-#define CS15_SW6 0xA4
-#define CS16_SW6 0xA5
-#define CS17_SW6 0xA6
-#define CS18_SW6 0xA7
-#define CS19_SW6 0xA8
-#define CS20_SW6 0xA9
-#define CS21_SW6 0xAA
-#define CS22_SW6 0xAB
-#define CS23_SW6 0xAC
-#define CS24_SW6 0xAD
-#define CS25_SW6 0xAE
-#define CS26_SW6 0xAF
-#define CS27_SW6 0xB0
-#define CS28_SW6 0xB1
-#define CS29_SW6 0xB2
-#define CS30_SW6 0xB3
-
-#define CS1_SW7 0xB4
-#define CS2_SW7 0xB5
-#define CS3_SW7 0xB6
-#define CS4_SW7 0xB7
-#define CS5_SW7 0xB8
-#define CS6_SW7 0xB9
-#define CS7_SW7 0xBA
-#define CS8_SW7 0xBB
-#define CS9_SW7 0xBC
-#define CS10_SW7 0xBD
-#define CS11_SW7 0xBE
-#define CS12_SW7 0xBF
-#define CS13_SW7 0xC0
-#define CS14_SW7 0xC1
-#define CS15_SW7 0xC2
-#define CS16_SW7 0xC3
-#define CS17_SW7 0xC4
-#define CS18_SW7 0xC5
-#define CS19_SW7 0xC6
-#define CS20_SW7 0xC7
-#define CS21_SW7 0xC8
-#define CS22_SW7 0xC9
-#define CS23_SW7 0xCA
-#define CS24_SW7 0xCB
-#define CS25_SW7 0xCC
-#define CS26_SW7 0xCD
-#define CS27_SW7 0xCE
-#define CS28_SW7 0xCF
-#define CS29_SW7 0xD0
-#define CS30_SW7 0xD1
-
-#define CS1_SW8 0xD2
-#define CS2_SW8 0xD3
-#define CS3_SW8 0xD4
-#define CS4_SW8 0xD5
-#define CS5_SW8 0xD6
-#define CS6_SW8 0xD7
-#define CS7_SW8 0xD8
-#define CS8_SW8 0xD9
-#define CS9_SW8 0xDA
-#define CS10_SW8 0xDB
-#define CS11_SW8 0xDC
-#define CS12_SW8 0xDD
-#define CS13_SW8 0xDE
-#define CS14_SW8 0xDF
-#define CS15_SW8 0xE0
-#define CS16_SW8 0xE1
-#define CS17_SW8 0xE2
-#define CS18_SW8 0xE3
-#define CS19_SW8 0xE4
-#define CS20_SW8 0xE5
-#define CS21_SW8 0xE6
-#define CS22_SW8 0xE7
-#define CS23_SW8 0xE8
-#define CS24_SW8 0xE9
-#define CS25_SW8 0xEA
-#define CS26_SW8 0xEB
-#define CS27_SW8 0xEC
-#define CS28_SW8 0xED
-#define CS29_SW8 0xEE
-#define CS30_SW8 0xEF
-
-#define CS1_SW9 0xF0
-#define CS2_SW9 0xF1
-#define CS3_SW9 0xF2
-#define CS4_SW9 0xF3
-#define CS5_SW9 0xF4
-#define CS6_SW9 0xF5
-#define CS7_SW9 0xF6
-#define CS8_SW9 0xF7
-#define CS9_SW9 0xF8
-#define CS10_SW9 0xF9
-#define CS11_SW9 0xFA
-#define CS12_SW9 0xFB
-#define CS13_SW9 0xFC
-#define CS14_SW9 0xFD
-#define CS15_SW9 0xFE
-#define CS16_SW9 0xFF
-#define CS17_SW9 0x100
-#define CS18_SW9 0x101
-#define CS19_SW9 0x102
-#define CS20_SW9 0x103
-#define CS21_SW9 0x104
-#define CS22_SW9 0x105
-#define CS23_SW9 0x106
-#define CS24_SW9 0x107
-#define CS25_SW9 0x108
-#define CS26_SW9 0x109
-#define CS27_SW9 0x10A
-#define CS28_SW9 0x10B
-#define CS29_SW9 0x10C
-#define CS30_SW9 0x10D
-
-#define CS31_SW1 0x10E
-#define CS32_SW1 0x10F
-#define CS33_SW1 0x110
-#define CS34_SW1 0x111
-#define CS35_SW1 0x112
-#define CS36_SW1 0x113
-#define CS37_SW1 0x114
-#define CS38_SW1 0x115
-#define CS39_SW1 0x116
-
-#define CS31_SW2 0x117
-#define CS32_SW2 0x118
-#define CS33_SW2 0x119
-#define CS34_SW2 0x11A
-#define CS35_SW2 0x11B
-#define CS36_SW2 0x11C
-#define CS37_SW2 0x11D
-#define CS38_SW2 0x11E
-#define CS39_SW2 0x11F
-
-#define CS31_SW3 0x120
-#define CS32_SW3 0x121
-#define CS33_SW3 0x122
-#define CS34_SW3 0x123
-#define CS35_SW3 0x124
-#define CS36_SW3 0x125
-#define CS37_SW3 0x126
-#define CS38_SW3 0x127
-#define CS39_SW3 0x128
-
-#define CS31_SW4 0x129
-#define CS32_SW4 0x12A
-#define CS33_SW4 0x12B
-#define CS34_SW4 0x12C
-#define CS35_SW4 0x12D
-#define CS36_SW4 0x12E
-#define CS37_SW4 0x12F
-#define CS38_SW4 0x130
-#define CS39_SW4 0x131
-
-#define CS31_SW5 0x132
-#define CS32_SW5 0x133
-#define CS33_SW5 0x134
-#define CS34_SW5 0x135
-#define CS35_SW5 0x136
-#define CS36_SW5 0x137
-#define CS37_SW5 0x138
-#define CS38_SW5 0x139
-#define CS39_SW5 0x13A
-
-#define CS31_SW6 0x13B
-#define CS32_SW6 0x13C
-#define CS33_SW6 0x13D
-#define CS34_SW6 0x13E
-#define CS35_SW6 0x13F
-#define CS36_SW6 0x140
-#define CS37_SW6 0x141
-#define CS38_SW6 0x142
-#define CS39_SW6 0x143
-
-#define CS31_SW7 0x144
-#define CS32_SW7 0x145
-#define CS33_SW7 0x146
-#define CS34_SW7 0x147
-#define CS35_SW7 0x148
-#define CS36_SW7 0x149
-#define CS37_SW7 0x14A
-#define CS38_SW7 0x14B
-#define CS39_SW7 0x14C
-
-#define CS31_SW8 0x14D
-#define CS32_SW8 0x14E
-#define CS33_SW8 0x14F
-#define CS34_SW8 0x150
-#define CS35_SW8 0x151
-#define CS36_SW8 0x152
-#define CS37_SW8 0x153
-#define CS38_SW8 0x154
-#define CS39_SW8 0x155
-
-#define CS31_SW9 0x156
-#define CS32_SW9 0x157
-#define CS33_SW9 0x158
-#define CS34_SW9 0x159
-#define CS35_SW9 0x15A
-#define CS36_SW9 0x15B
-#define CS37_SW9 0x15C
-#define CS38_SW9 0x15D
-#define CS39_SW9 0x15E
diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c
index efcfa77b46..3614d1c104 100644
--- a/drivers/led/issi/is31fl3741.c
+++ b/drivers/led/issi/is31fl3741.c
@@ -18,11 +18,14 @@
*/
#include "is31fl3741.h"
-#include <string.h>
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
-#define IS31FL3741_PWM_REGISTER_COUNT 351
+#define IS31FL3741_PWM_0_REGISTER_COUNT 180
+#define IS31FL3741_PWM_1_REGISTER_COUNT 171
+#define IS31FL3741_SCALING_0_REGISTER_COUNT 180
+#define IS31FL3741_SCALING_1_REGISTER_COUNT 171
#ifndef IS31FL3741_I2C_TIMEOUT
# define IS31FL3741_I2C_TIMEOUT 100
@@ -52,150 +55,166 @@
# define IS31FL3741_GLOBAL_CURRENT 0xFF
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20] = {0xFF};
+const uint8_t i2c_addresses[IS31FL3741_DRIVER_COUNT] = {
+ IS31FL3741_I2C_ADDRESS_1,
+#ifdef IS31FL3741_I2C_ADDRESS_2
+ IS31FL3741_I2C_ADDRESS_2,
+# ifdef IS31FL3741_I2C_ADDRESS_3
+ IS31FL3741_I2C_ADDRESS_3,
+# ifdef IS31FL3741_I2C_ADDRESS_4
+ IS31FL3741_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
// These buffers match the IS31FL3741 and IS31FL3741A PWM registers.
-// The scaling buffers match the PG2 and PG3 LED On/Off registers.
+// The scaling buffers match the page 2 and 3 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false};
-bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false};
-
-uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT];
-
-void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3741_driver_t {
+ uint8_t pwm_buffer_0[IS31FL3741_PWM_0_REGISTER_COUNT];
+ uint8_t pwm_buffer_1[IS31FL3741_PWM_1_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer_0[IS31FL3741_SCALING_0_REGISTER_COUNT];
+ uint8_t scaling_buffer_1[IS31FL3741_SCALING_1_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3741_driver_t;
+
+is31fl3741_driver_t driver_buffers[IS31FL3741_DRIVER_COUNT] = {{
+ .pwm_buffer_0 = {0},
+ .pwm_buffer_1 = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer_0 = {0},
+ .scaling_buffer_1 = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3741_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3741_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break;
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT);
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3741_I2C_TIMEOUT);
#endif
}
-bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // Assume PG0 is already selected
+void is31fl3741_select_page(uint8_t index, uint8_t page) {
+ is31fl3741_write_register(index, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3741_write_register(index, IS31FL3741_REG_COMMAND, page);
+}
- for (int i = 0; i < 342; i += 18) {
- if (i == 180) {
- // unlock the command register and select PG1
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1);
- }
+void is31fl3741_write_pwm_buffer(uint8_t index) {
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_PWM_0);
- g_twi_transfer_buffer[0] = i % 180;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18);
+ // Transmit PWM0 registers in 6 transfers of 30 bytes.
+ // Iterate over the pwm_buffer_0 contents at 30 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3741_PWM_0_REGISTER_COUNT; i += 30) {
#if IS31FL3741_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
+ for (uint8_t j = 0; j < IS31FL3741_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_0 + i, 30, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_0 + i, 30, IS31FL3741_I2C_TIMEOUT);
#endif
}
- // transfer the left cause the total number is 351
- g_twi_transfer_buffer[0] = 162;
- memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9);
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_PWM_1);
+
+ // Transmit PWM1 registers in 9 transfers of 19 bytes.
+ // Iterate over the pwm_buffer_1 contents at 19 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3741_PWM_1_REGISTER_COUNT; i += 19) {
#if IS31FL3741_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
+ for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_1 + i, 19, IS31FL3741_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
- }
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer_1 + i, 19, IS31FL3741_I2C_TIMEOUT);
#endif
-
- return true;
+ }
}
void is31fl3741_init_drivers(void) {
i2c_init();
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_1);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_2);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_3);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_4);
-# endif
-# endif
+#if defined(IS31FL3741_SDB_PIN)
+ gpio_set_pin_output(IS31FL3741_SDB_PIN);
+ gpio_write_pin_high(IS31FL3741_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_init(i);
+ }
+
for (int i = 0; i < IS31FL3741_LED_COUNT; i++) {
is31fl3741_set_led_control_register(i, true, true, true);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_update_led_control_registers(i);
+ }
}
-void is31fl3741_init(uint8_t addr) {
+void is31fl3741_init(uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, shutdown is enabled last.
// Set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
// Unlock the command register.
- // Unlock the command register.
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
-
- // Select PG4
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION);
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_FUNCTION);
// Set to Normal operation
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION);
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION);
// Set Golbal Current Control Register
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT);
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT);
// Set Pull up & Down for SWx CSy
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
// Set PWM frequency
- is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));
+ is31fl3741_write_register(index, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));
- // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF);
+ // is31fl3741_update_led_scaling_registers(index, 0xFF, 0xFF, 0xFF);
// Wait 10ms to ensure the device has woken up.
wait_ms(10);
}
+uint8_t get_pwm_value(uint8_t driver, uint16_t reg) {
+ if (reg & 0x100) {
+ return driver_buffers[driver].pwm_buffer_1[reg & 0xFF];
+ } else {
+ return driver_buffers[driver].pwm_buffer_0[reg];
+ }
+}
+
+void set_pwm_value(uint8_t driver, uint16_t reg, uint8_t value) {
+ if (reg & 0x100) {
+ driver_buffers[driver].pwm_buffer_1[reg & 0xFF] = value;
+ } else {
+ driver_buffers[driver].pwm_buffer_0[reg] = value;
+ }
+}
+
void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3741_led_t led;
+
if (index >= 0 && index < IS31FL3741_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (get_pwm_value(led.driver, led.r) == red && get_pwm_value(led.driver, led.g) == green && get_pwm_value(led.driver, led.b) == blue) {
return;
}
- g_pwm_buffer_update_required[led.driver] = true;
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
+
+ set_pwm_value(led.driver, led.r, red);
+ set_pwm_value(led.driver, led.g, green);
+ set_pwm_value(led.driver, led.b, blue);
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -205,92 +224,67 @@ void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
}
}
-void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
- is31fl3741_led_t led;
- memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
-
- if (red) {
- g_scaling_registers[led.driver][led.r] = 0xFF;
+void set_scaling_value(uint8_t driver, uint16_t reg, uint8_t value) {
+ if (reg & 0x100) {
+ driver_buffers[driver].scaling_buffer_1[reg & 0xFF] = value;
} else {
- g_scaling_registers[led.driver][led.r] = 0x00;
+ driver_buffers[driver].scaling_buffer_0[reg] = value;
}
+}
- if (green) {
- g_scaling_registers[led.driver][led.g] = 0xFF;
- } else {
- g_scaling_registers[led.driver][led.g] = 0x00;
- }
+void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
+ is31fl3741_led_t led;
+ memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led));
- if (blue) {
- g_scaling_registers[led.driver][led.b] = 0xFF;
- } else {
- g_scaling_registers[led.driver][led.b] = 0x00;
- }
+ set_scaling_value(led.driver, led.r, red ? 0xFF : 0x00);
+ set_scaling_value(led.driver, led.g, green ? 0xFF : 0x00);
+ set_scaling_value(led.driver, led.b, blue ? 0xFF : 0x00);
- g_scaling_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
}
-void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // unlock the command register and select PG2
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0);
+void is31fl3741_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3741_write_pwm_buffer(index);
- is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]);
+ driver_buffers[index].pwm_buffer_dirty = false;
}
-
- g_pwm_buffer_update_required[index] = false;
}
void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue) {
- g_pwm_buffer[pled->driver][pled->r] = red;
- g_pwm_buffer[pled->driver][pled->g] = green;
- g_pwm_buffer[pled->driver][pled->b] = blue;
-
- g_pwm_buffer_update_required[pled->driver] = true;
+ set_pwm_value(pled->driver, pled->r, red);
+ set_pwm_value(pled->driver, pled->g, green);
+ set_pwm_value(pled->driver, pled->b, blue);
+ driver_buffers[pled->driver].pwm_buffer_dirty = true;
}
-void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_scaling_registers_update_required[index]) {
- // unlock the command register and select PG2
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0);
+void is31fl3741_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_SCALING_0);
- // CS1_SW1 to CS30_SW6 are on PG2
- for (int i = CS1_SW1; i <= CS30_SW6; ++i) {
- is31fl3741_write_register(addr, i, g_scaling_registers[index][i]);
+ for (uint8_t i = 0; i < IS31FL3741_SCALING_0_REGISTER_COUNT; i++) {
+ is31fl3741_write_register(index, i, driver_buffers[index].scaling_buffer_0[i]);
}
- // unlock the command register and select PG3
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1);
+ is31fl3741_select_page(index, IS31FL3741_COMMAND_SCALING_1);
- // CS1_SW7 to CS39_SW9 are on PG3
- for (int i = CS1_SW7; i <= CS39_SW9; ++i) {
- is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]);
+ for (uint8_t i = 0; i < IS31FL3741_SCALING_1_REGISTER_COUNT; i++) {
+ is31fl3741_write_register(index, i, driver_buffers[index].scaling_buffer_1[i]);
}
- g_scaling_registers_update_required[index] = false;
+ driver_buffers[index].scaling_buffer_dirty = false;
}
}
void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue) {
- g_scaling_registers[pled->driver][pled->r] = red;
- g_scaling_registers[pled->driver][pled->g] = green;
- g_scaling_registers[pled->driver][pled->b] = blue;
-
- g_scaling_registers_update_required[pled->driver] = true;
+ set_scaling_value(pled->driver, pled->r, red);
+ set_scaling_value(pled->driver, pled->g, green);
+ set_scaling_value(pled->driver, pled->b, blue);
+ driver_buffers[pled->driver].scaling_buffer_dirty = true;
}
void is31fl3741_flush(void) {
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
-#if defined(IS31FL3741_I2C_ADDRESS_2)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
-# if defined(IS31FL3741_I2C_ADDRESS_3)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
-# if defined(IS31FL3741_I2C_ADDRESS_4)
- is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < IS31FL3741_DRIVER_COUNT; i++) {
+ is31fl3741_update_pwm_buffers(i);
+ }
}
diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h
index 6466696b60..cc9637a4e8 100644
--- a/drivers/led/issi/is31fl3741.h
+++ b/drivers/led/issi/is31fl3741.h
@@ -119,9 +119,9 @@ typedef struct is31fl3741_led_t {
extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT];
void is31fl3741_init_drivers(void);
-void is31fl3741_init(uint8_t addr);
-void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3741_init(uint8_t index);
+void is31fl3741_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3741_select_page(uint8_t index, uint8_t page);
void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -132,8 +132,8 @@ void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index);
-void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3741_update_pwm_buffers(uint8_t index);
+void is31fl3741_update_led_control_registers(uint8_t index);
void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue);
@@ -163,371 +163,742 @@ void is31fl3741_flush(void);
#define IS31FL3741_PWM_FREQUENCY_1K8_HZ 0b0111
#define IS31FL3741_PWM_FREQUENCY_900_HZ 0b1011
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-#define CS19_SW1 0x12
-#define CS20_SW1 0x13
-#define CS21_SW1 0x14
-#define CS22_SW1 0x15
-#define CS23_SW1 0x16
-#define CS24_SW1 0x17
-#define CS25_SW1 0x18
-#define CS26_SW1 0x19
-#define CS27_SW1 0x1A
-#define CS28_SW1 0x1B
-#define CS29_SW1 0x1C
-#define CS30_SW1 0x1D
-
-#define CS1_SW2 0x1E
-#define CS2_SW2 0x1F
-#define CS3_SW2 0x20
-#define CS4_SW2 0x21
-#define CS5_SW2 0x22
-#define CS6_SW2 0x23
-#define CS7_SW2 0x24
-#define CS8_SW2 0x25
-#define CS9_SW2 0x26
-#define CS10_SW2 0x27
-#define CS11_SW2 0x28
-#define CS12_SW2 0x29
-#define CS13_SW2 0x2A
-#define CS14_SW2 0x2B
-#define CS15_SW2 0x2C
-#define CS16_SW2 0x2D
-#define CS17_SW2 0x2E
-#define CS18_SW2 0x2F
-#define CS19_SW2 0x30
-#define CS20_SW2 0x31
-#define CS21_SW2 0x32
-#define CS22_SW2 0x33
-#define CS23_SW2 0x34
-#define CS24_SW2 0x35
-#define CS25_SW2 0x36
-#define CS26_SW2 0x37
-#define CS27_SW2 0x38
-#define CS28_SW2 0x39
-#define CS29_SW2 0x3A
-#define CS30_SW2 0x3B
-
-#define CS1_SW3 0x3C
-#define CS2_SW3 0x3D
-#define CS3_SW3 0x3E
-#define CS4_SW3 0x3F
-#define CS5_SW3 0x40
-#define CS6_SW3 0x41
-#define CS7_SW3 0x42
-#define CS8_SW3 0x43
-#define CS9_SW3 0x44
-#define CS10_SW3 0x45
-#define CS11_SW3 0x46
-#define CS12_SW3 0x47
-#define CS13_SW3 0x48
-#define CS14_SW3 0x49
-#define CS15_SW3 0x4A
-#define CS16_SW3 0x4B
-#define CS17_SW3 0x4C
-#define CS18_SW3 0x4D
-#define CS19_SW3 0x4E
-#define CS20_SW3 0x4F
-#define CS21_SW3 0x50
-#define CS22_SW3 0x51
-#define CS23_SW3 0x52
-#define CS24_SW3 0x53
-#define CS25_SW3 0x54
-#define CS26_SW3 0x55
-#define CS27_SW3 0x56
-#define CS28_SW3 0x57
-#define CS29_SW3 0x58
-#define CS30_SW3 0x59
-
-#define CS1_SW4 0x5A
-#define CS2_SW4 0x5B
-#define CS3_SW4 0x5C
-#define CS4_SW4 0x5D
-#define CS5_SW4 0x5E
-#define CS6_SW4 0x5F
-#define CS7_SW4 0x60
-#define CS8_SW4 0x61
-#define CS9_SW4 0x62
-#define CS10_SW4 0x63
-#define CS11_SW4 0x64
-#define CS12_SW4 0x65
-#define CS13_SW4 0x66
-#define CS14_SW4 0x67
-#define CS15_SW4 0x68
-#define CS16_SW4 0x69
-#define CS17_SW4 0x6A
-#define CS18_SW4 0x6B
-#define CS19_SW4 0x6C
-#define CS20_SW4 0x6D
-#define CS21_SW4 0x6E
-#define CS22_SW4 0x6F
-#define CS23_SW4 0x70
-#define CS24_SW4 0x71
-#define CS25_SW4 0x72
-#define CS26_SW4 0x73
-#define CS27_SW4 0x74
-#define CS28_SW4 0x75
-#define CS29_SW4 0x76
-#define CS30_SW4 0x77
-
-#define CS1_SW5 0x78
-#define CS2_SW5 0x79
-#define CS3_SW5 0x7A
-#define CS4_SW5 0x7B
-#define CS5_SW5 0x7C
-#define CS6_SW5 0x7D
-#define CS7_SW5 0x7E
-#define CS8_SW5 0x7F
-#define CS9_SW5 0x80
-#define CS10_SW5 0x81
-#define CS11_SW5 0x82
-#define CS12_SW5 0x83
-#define CS13_SW5 0x84
-#define CS14_SW5 0x85
-#define CS15_SW5 0x86
-#define CS16_SW5 0x87
-#define CS17_SW5 0x88
-#define CS18_SW5 0x89
-#define CS19_SW5 0x8A
-#define CS20_SW5 0x8B
-#define CS21_SW5 0x8C
-#define CS22_SW5 0x8D
-#define CS23_SW5 0x8E
-#define CS24_SW5 0x8F
-#define CS25_SW5 0x90
-#define CS26_SW5 0x91
-#define CS27_SW5 0x92
-#define CS28_SW5 0x93
-#define CS29_SW5 0x94
-#define CS30_SW5 0x95
-
-#define CS1_SW6 0x96
-#define CS2_SW6 0x97
-#define CS3_SW6 0x98
-#define CS4_SW6 0x99
-#define CS5_SW6 0x9A
-#define CS6_SW6 0x9B
-#define CS7_SW6 0x9C
-#define CS8_SW6 0x9D
-#define CS9_SW6 0x9E
-#define CS10_SW6 0x9F
-#define CS11_SW6 0xA0
-#define CS12_SW6 0xA1
-#define CS13_SW6 0xA2
-#define CS14_SW6 0xA3
-#define CS15_SW6 0xA4
-#define CS16_SW6 0xA5
-#define CS17_SW6 0xA6
-#define CS18_SW6 0xA7
-#define CS19_SW6 0xA8
-#define CS20_SW6 0xA9
-#define CS21_SW6 0xAA
-#define CS22_SW6 0xAB
-#define CS23_SW6 0xAC
-#define CS24_SW6 0xAD
-#define CS25_SW6 0xAE
-#define CS26_SW6 0xAF
-#define CS27_SW6 0xB0
-#define CS28_SW6 0xB1
-#define CS29_SW6 0xB2
-#define CS30_SW6 0xB3
-
-#define CS1_SW7 0xB4
-#define CS2_SW7 0xB5
-#define CS3_SW7 0xB6
-#define CS4_SW7 0xB7
-#define CS5_SW7 0xB8
-#define CS6_SW7 0xB9
-#define CS7_SW7 0xBA
-#define CS8_SW7 0xBB
-#define CS9_SW7 0xBC
-#define CS10_SW7 0xBD
-#define CS11_SW7 0xBE
-#define CS12_SW7 0xBF
-#define CS13_SW7 0xC0
-#define CS14_SW7 0xC1
-#define CS15_SW7 0xC2
-#define CS16_SW7 0xC3
-#define CS17_SW7 0xC4
-#define CS18_SW7 0xC5
-#define CS19_SW7 0xC6
-#define CS20_SW7 0xC7
-#define CS21_SW7 0xC8
-#define CS22_SW7 0xC9
-#define CS23_SW7 0xCA
-#define CS24_SW7 0xCB
-#define CS25_SW7 0xCC
-#define CS26_SW7 0xCD
-#define CS27_SW7 0xCE
-#define CS28_SW7 0xCF
-#define CS29_SW7 0xD0
-#define CS30_SW7 0xD1
-
-#define CS1_SW8 0xD2
-#define CS2_SW8 0xD3
-#define CS3_SW8 0xD4
-#define CS4_SW8 0xD5
-#define CS5_SW8 0xD6
-#define CS6_SW8 0xD7
-#define CS7_SW8 0xD8
-#define CS8_SW8 0xD9
-#define CS9_SW8 0xDA
-#define CS10_SW8 0xDB
-#define CS11_SW8 0xDC
-#define CS12_SW8 0xDD
-#define CS13_SW8 0xDE
-#define CS14_SW8 0xDF
-#define CS15_SW8 0xE0
-#define CS16_SW8 0xE1
-#define CS17_SW8 0xE2
-#define CS18_SW8 0xE3
-#define CS19_SW8 0xE4
-#define CS20_SW8 0xE5
-#define CS21_SW8 0xE6
-#define CS22_SW8 0xE7
-#define CS23_SW8 0xE8
-#define CS24_SW8 0xE9
-#define CS25_SW8 0xEA
-#define CS26_SW8 0xEB
-#define CS27_SW8 0xEC
-#define CS28_SW8 0xED
-#define CS29_SW8 0xEE
-#define CS30_SW8 0xEF
-
-#define CS1_SW9 0xF0
-#define CS2_SW9 0xF1
-#define CS3_SW9 0xF2
-#define CS4_SW9 0xF3
-#define CS5_SW9 0xF4
-#define CS6_SW9 0xF5
-#define CS7_SW9 0xF6
-#define CS8_SW9 0xF7
-#define CS9_SW9 0xF8
-#define CS10_SW9 0xF9
-#define CS11_SW9 0xFA
-#define CS12_SW9 0xFB
-#define CS13_SW9 0xFC
-#define CS14_SW9 0xFD
-#define CS15_SW9 0xFE
-#define CS16_SW9 0xFF
-#define CS17_SW9 0x100
-#define CS18_SW9 0x101
-#define CS19_SW9 0x102
-#define CS20_SW9 0x103
-#define CS21_SW9 0x104
-#define CS22_SW9 0x105
-#define CS23_SW9 0x106
-#define CS24_SW9 0x107
-#define CS25_SW9 0x108
-#define CS26_SW9 0x109
-#define CS27_SW9 0x10A
-#define CS28_SW9 0x10B
-#define CS29_SW9 0x10C
-#define CS30_SW9 0x10D
-
-#define CS31_SW1 0x10E
-#define CS32_SW1 0x10F
-#define CS33_SW1 0x110
-#define CS34_SW1 0x111
-#define CS35_SW1 0x112
-#define CS36_SW1 0x113
-#define CS37_SW1 0x114
-#define CS38_SW1 0x115
-#define CS39_SW1 0x116
-
-#define CS31_SW2 0x117
-#define CS32_SW2 0x118
-#define CS33_SW2 0x119
-#define CS34_SW2 0x11A
-#define CS35_SW2 0x11B
-#define CS36_SW2 0x11C
-#define CS37_SW2 0x11D
-#define CS38_SW2 0x11E
-#define CS39_SW2 0x11F
-
-#define CS31_SW3 0x120
-#define CS32_SW3 0x121
-#define CS33_SW3 0x122
-#define CS34_SW3 0x123
-#define CS35_SW3 0x124
-#define CS36_SW3 0x125
-#define CS37_SW3 0x126
-#define CS38_SW3 0x127
-#define CS39_SW3 0x128
-
-#define CS31_SW4 0x129
-#define CS32_SW4 0x12A
-#define CS33_SW4 0x12B
-#define CS34_SW4 0x12C
-#define CS35_SW4 0x12D
-#define CS36_SW4 0x12E
-#define CS37_SW4 0x12F
-#define CS38_SW4 0x130
-#define CS39_SW4 0x131
-
-#define CS31_SW5 0x132
-#define CS32_SW5 0x133
-#define CS33_SW5 0x134
-#define CS34_SW5 0x135
-#define CS35_SW5 0x136
-#define CS36_SW5 0x137
-#define CS37_SW5 0x138
-#define CS38_SW5 0x139
-#define CS39_SW5 0x13A
-
-#define CS31_SW6 0x13B
-#define CS32_SW6 0x13C
-#define CS33_SW6 0x13D
-#define CS34_SW6 0x13E
-#define CS35_SW6 0x13F
-#define CS36_SW6 0x140
-#define CS37_SW6 0x141
-#define CS38_SW6 0x142
-#define CS39_SW6 0x143
-
-#define CS31_SW7 0x144
-#define CS32_SW7 0x145
-#define CS33_SW7 0x146
-#define CS34_SW7 0x147
-#define CS35_SW7 0x148
-#define CS36_SW7 0x149
-#define CS37_SW7 0x14A
-#define CS38_SW7 0x14B
-#define CS39_SW7 0x14C
-
-#define CS31_SW8 0x14D
-#define CS32_SW8 0x14E
-#define CS33_SW8 0x14F
-#define CS34_SW8 0x150
-#define CS35_SW8 0x151
-#define CS36_SW8 0x152
-#define CS37_SW8 0x153
-#define CS38_SW8 0x154
-#define CS39_SW8 0x155
-
-#define CS31_SW9 0x156
-#define CS32_SW9 0x157
-#define CS33_SW9 0x158
-#define CS34_SW9 0x159
-#define CS35_SW9 0x15A
-#define CS36_SW9 0x15B
-#define CS37_SW9 0x15C
-#define CS38_SW9 0x15D
-#define CS39_SW9 0x15E
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+#define SW1_CS19 0x12
+#define SW1_CS20 0x13
+#define SW1_CS21 0x14
+#define SW1_CS22 0x15
+#define SW1_CS23 0x16
+#define SW1_CS24 0x17
+#define SW1_CS25 0x18
+#define SW1_CS26 0x19
+#define SW1_CS27 0x1A
+#define SW1_CS28 0x1B
+#define SW1_CS29 0x1C
+#define SW1_CS30 0x1D
+
+#define SW2_CS1 0x1E
+#define SW2_CS2 0x1F
+#define SW2_CS3 0x20
+#define SW2_CS4 0x21
+#define SW2_CS5 0x22
+#define SW2_CS6 0x23
+#define SW2_CS7 0x24
+#define SW2_CS8 0x25
+#define SW2_CS9 0x26
+#define SW2_CS10 0x27
+#define SW2_CS11 0x28
+#define SW2_CS12 0x29
+#define SW2_CS13 0x2A
+#define SW2_CS14 0x2B
+#define SW2_CS15 0x2C
+#define SW2_CS16 0x2D
+#define SW2_CS17 0x2E
+#define SW2_CS18 0x2F
+#define SW2_CS19 0x30
+#define SW2_CS20 0x31
+#define SW2_CS21 0x32
+#define SW2_CS22 0x33
+#define SW2_CS23 0x34
+#define SW2_CS24 0x35
+#define SW2_CS25 0x36
+#define SW2_CS26 0x37
+#define SW2_CS27 0x38
+#define SW2_CS28 0x39
+#define SW2_CS29 0x3A
+#define SW2_CS30 0x3B
+
+#define SW3_CS1 0x3C
+#define SW3_CS2 0x3D
+#define SW3_CS3 0x3E
+#define SW3_CS4 0x3F
+#define SW3_CS5 0x40
+#define SW3_CS6 0x41
+#define SW3_CS7 0x42
+#define SW3_CS8 0x43
+#define SW3_CS9 0x44
+#define SW3_CS10 0x45
+#define SW3_CS11 0x46
+#define SW3_CS12 0x47
+#define SW3_CS13 0x48
+#define SW3_CS14 0x49
+#define SW3_CS15 0x4A
+#define SW3_CS16 0x4B
+#define SW3_CS17 0x4C
+#define SW3_CS18 0x4D
+#define SW3_CS19 0x4E
+#define SW3_CS20 0x4F
+#define SW3_CS21 0x50
+#define SW3_CS22 0x51
+#define SW3_CS23 0x52
+#define SW3_CS24 0x53
+#define SW3_CS25 0x54
+#define SW3_CS26 0x55
+#define SW3_CS27 0x56
+#define SW3_CS28 0x57
+#define SW3_CS29 0x58
+#define SW3_CS30 0x59
+
+#define SW4_CS1 0x5A
+#define SW4_CS2 0x5B
+#define SW4_CS3 0x5C
+#define SW4_CS4 0x5D
+#define SW4_CS5 0x5E
+#define SW4_CS6 0x5F
+#define SW4_CS7 0x60
+#define SW4_CS8 0x61
+#define SW4_CS9 0x62
+#define SW4_CS10 0x63
+#define SW4_CS11 0x64
+#define SW4_CS12 0x65
+#define SW4_CS13 0x66
+#define SW4_CS14 0x67
+#define SW4_CS15 0x68
+#define SW4_CS16 0x69
+#define SW4_CS17 0x6A
+#define SW4_CS18 0x6B
+#define SW4_CS19 0x6C
+#define SW4_CS20 0x6D
+#define SW4_CS21 0x6E
+#define SW4_CS22 0x6F
+#define SW4_CS23 0x70
+#define SW4_CS24 0x71
+#define SW4_CS25 0x72
+#define SW4_CS26 0x73
+#define SW4_CS27 0x74
+#define SW4_CS28 0x75
+#define SW4_CS29 0x76
+#define SW4_CS30 0x77
+
+#define SW5_CS1 0x78
+#define SW5_CS2 0x79
+#define SW5_CS3 0x7A
+#define SW5_CS4 0x7B
+#define SW5_CS5 0x7C
+#define SW5_CS6 0x7D
+#define SW5_CS7 0x7E
+#define SW5_CS8 0x7F
+#define SW5_CS9 0x80
+#define SW5_CS10 0x81
+#define SW5_CS11 0x82
+#define SW5_CS12 0x83
+#define SW5_CS13 0x84
+#define SW5_CS14 0x85
+#define SW5_CS15 0x86
+#define SW5_CS16 0x87
+#define SW5_CS17 0x88
+#define SW5_CS18 0x89
+#define SW5_CS19 0x8A
+#define SW5_CS20 0x8B
+#define SW5_CS21 0x8C
+#define SW5_CS22 0x8D
+#define SW5_CS23 0x8E
+#define SW5_CS24 0x8F
+#define SW5_CS25 0x90
+#define SW5_CS26 0x91
+#define SW5_CS27 0x92
+#define SW5_CS28 0x93
+#define SW5_CS29 0x94
+#define SW5_CS30 0x95
+
+#define SW6_CS1 0x96
+#define SW6_CS2 0x97
+#define SW6_CS3 0x98
+#define SW6_CS4 0x99
+#define SW6_CS5 0x9A
+#define SW6_CS6 0x9B
+#define SW6_CS7 0x9C
+#define SW6_CS8 0x9D
+#define SW6_CS9 0x9E
+#define SW6_CS10 0x9F
+#define SW6_CS11 0xA0
+#define SW6_CS12 0xA1
+#define SW6_CS13 0xA2
+#define SW6_CS14 0xA3
+#define SW6_CS15 0xA4
+#define SW6_CS16 0xA5
+#define SW6_CS17 0xA6
+#define SW6_CS18 0xA7
+#define SW6_CS19 0xA8
+#define SW6_CS20 0xA9
+#define SW6_CS21 0xAA
+#define SW6_CS22 0xAB
+#define SW6_CS23 0xAC
+#define SW6_CS24 0xAD
+#define SW6_CS25 0xAE
+#define SW6_CS26 0xAF
+#define SW6_CS27 0xB0
+#define SW6_CS28 0xB1
+#define SW6_CS29 0xB2
+#define SW6_CS30 0xB3
+
+#define SW7_CS1 0x100
+#define SW7_CS2 0x101
+#define SW7_CS3 0x102
+#define SW7_CS4 0x103
+#define SW7_CS5 0x104
+#define SW7_CS6 0x105
+#define SW7_CS7 0x106
+#define SW7_CS8 0x107
+#define SW7_CS9 0x108
+#define SW7_CS10 0x109
+#define SW7_CS11 0x10A
+#define SW7_CS12 0x10B
+#define SW7_CS13 0x10C
+#define SW7_CS14 0x10D
+#define SW7_CS15 0x10E
+#define SW7_CS16 0x10F
+#define SW7_CS17 0x110
+#define SW7_CS18 0x111
+#define SW7_CS19 0x112
+#define SW7_CS20 0x113
+#define SW7_CS21 0x114
+#define SW7_CS22 0x115
+#define SW7_CS23 0x116
+#define SW7_CS24 0x117
+#define SW7_CS25 0x118
+#define SW7_CS26 0x119
+#define SW7_CS27 0x11A
+#define SW7_CS28 0x11B
+#define SW7_CS29 0x11C
+#define SW7_CS30 0x11D
+
+#define SW8_CS1 0x11E
+#define SW8_CS2 0x11F
+#define SW8_CS3 0x120
+#define SW8_CS4 0x121
+#define SW8_CS5 0x122
+#define SW8_CS6 0x123
+#define SW8_CS7 0x124
+#define SW8_CS8 0x125
+#define SW8_CS9 0x126
+#define SW8_CS10 0x127
+#define SW8_CS11 0x128
+#define SW8_CS12 0x129
+#define SW8_CS13 0x12A
+#define SW8_CS14 0x12B
+#define SW8_CS15 0x12C
+#define SW8_CS16 0x12D
+#define SW8_CS17 0x12E
+#define SW8_CS18 0x12F
+#define SW8_CS19 0x130
+#define SW8_CS20 0x131
+#define SW8_CS21 0x132
+#define SW8_CS22 0x133
+#define SW8_CS23 0x134
+#define SW8_CS24 0x135
+#define SW8_CS25 0x136
+#define SW8_CS26 0x137
+#define SW8_CS27 0x138
+#define SW8_CS28 0x139
+#define SW8_CS29 0x13A
+#define SW8_CS30 0x13B
+
+#define SW9_CS1 0x13C
+#define SW9_CS2 0x13D
+#define SW9_CS3 0x13E
+#define SW9_CS4 0x13F
+#define SW9_CS5 0x140
+#define SW9_CS6 0x141
+#define SW9_CS7 0x142
+#define SW9_CS8 0x143
+#define SW9_CS9 0x144
+#define SW9_CS10 0x145
+#define SW9_CS11 0x146
+#define SW9_CS12 0x147
+#define SW9_CS13 0x148
+#define SW9_CS14 0x149
+#define SW9_CS15 0x14A
+#define SW9_CS16 0x14B
+#define SW9_CS17 0x14C
+#define SW9_CS18 0x14D
+#define SW9_CS19 0x14E
+#define SW9_CS20 0x14F
+#define SW9_CS21 0x150
+#define SW9_CS22 0x151
+#define SW9_CS23 0x152
+#define SW9_CS24 0x153
+#define SW9_CS25 0x154
+#define SW9_CS26 0x155
+#define SW9_CS27 0x156
+#define SW9_CS28 0x157
+#define SW9_CS29 0x158
+#define SW9_CS30 0x159
+
+#define SW1_CS31 0x15A
+#define SW1_CS32 0x15B
+#define SW1_CS33 0x15C
+#define SW1_CS34 0x15D
+#define SW1_CS35 0x15E
+#define SW1_CS36 0x15F
+#define SW1_CS37 0x160
+#define SW1_CS38 0x161
+#define SW1_CS39 0x162
+
+#define SW2_CS31 0x163
+#define SW2_CS32 0x164
+#define SW2_CS33 0x165
+#define SW2_CS34 0x166
+#define SW2_CS35 0x167
+#define SW2_CS36 0x168
+#define SW2_CS37 0x169
+#define SW2_CS38 0x16A
+#define SW2_CS39 0x16B
+
+#define SW3_CS31 0x16C
+#define SW3_CS32 0x16D
+#define SW3_CS33 0x16E
+#define SW3_CS34 0x16F
+#define SW3_CS35 0x170
+#define SW3_CS36 0x171
+#define SW3_CS37 0x172
+#define SW3_CS38 0x173
+#define SW3_CS39 0x174
+
+#define SW4_CS31 0x175
+#define SW4_CS32 0x176
+#define SW4_CS33 0x177
+#define SW4_CS34 0x178
+#define SW4_CS35 0x179
+#define SW4_CS36 0x17A
+#define SW4_CS37 0x17B
+#define SW4_CS38 0x17C
+#define SW4_CS39 0x17D
+
+#define SW5_CS31 0x17E
+#define SW5_CS32 0x17F
+#define SW5_CS33 0x180
+#define SW5_CS34 0x181
+#define SW5_CS35 0x182
+#define SW5_CS36 0x183
+#define SW5_CS37 0x184
+#define SW5_CS38 0x185
+#define SW5_CS39 0x186
+
+#define SW6_CS31 0x187
+#define SW6_CS32 0x188
+#define SW6_CS33 0x189
+#define SW6_CS34 0x18A
+#define SW6_CS35 0x18B
+#define SW6_CS36 0x18C
+#define SW6_CS37 0x18D
+#define SW6_CS38 0x18E
+#define SW6_CS39 0x18F
+
+#define SW7_CS31 0x190
+#define SW7_CS32 0x191
+#define SW7_CS33 0x192
+#define SW7_CS34 0x193
+#define SW7_CS35 0x194
+#define SW7_CS36 0x195
+#define SW7_CS37 0x196
+#define SW7_CS38 0x197
+#define SW7_CS39 0x198
+
+#define SW8_CS31 0x199
+#define SW8_CS32 0x19A
+#define SW8_CS33 0x19B
+#define SW8_CS34 0x19C
+#define SW8_CS35 0x19D
+#define SW8_CS36 0x19E
+#define SW8_CS37 0x19F
+#define SW8_CS38 0x1A0
+#define SW8_CS39 0x1A1
+
+#define SW9_CS31 0x1A2
+#define SW9_CS32 0x1A3
+#define SW9_CS33 0x1A4
+#define SW9_CS34 0x1A5
+#define SW9_CS35 0x1A6
+#define SW9_CS36 0x1A7
+#define SW9_CS37 0x1A8
+#define SW9_CS38 0x1A9
+#define SW9_CS39 0x1AA
+
+// DEPRECATED - DO NOT USE
+
+#define CS1_SW1 SW1_CS1
+#define CS2_SW1 SW1_CS2
+#define CS3_SW1 SW1_CS3
+#define CS4_SW1 SW1_CS4
+#define CS5_SW1 SW1_CS5
+#define CS6_SW1 SW1_CS6
+#define CS7_SW1 SW1_CS7
+#define CS8_SW1 SW1_CS8
+#define CS9_SW1 SW1_CS9
+#define CS10_SW1 SW1_CS10
+#define CS11_SW1 SW1_CS11
+#define CS12_SW1 SW1_CS12
+#define CS13_SW1 SW1_CS13
+#define CS14_SW1 SW1_CS14
+#define CS15_SW1 SW1_CS15
+#define CS16_SW1 SW1_CS16
+#define CS17_SW1 SW1_CS17
+#define CS18_SW1 SW1_CS18
+#define CS19_SW1 SW1_CS19
+#define CS20_SW1 SW1_CS20
+#define CS21_SW1 SW1_CS21
+#define CS22_SW1 SW1_CS22
+#define CS23_SW1 SW1_CS23
+#define CS24_SW1 SW1_CS24
+#define CS25_SW1 SW1_CS25
+#define CS26_SW1 SW1_CS26
+#define CS27_SW1 SW1_CS27
+#define CS28_SW1 SW1_CS28
+#define CS29_SW1 SW1_CS29
+#define CS30_SW1 SW1_CS30
+
+#define CS1_SW2 SW2_CS1
+#define CS2_SW2 SW2_CS2
+#define CS3_SW2 SW2_CS3
+#define CS4_SW2 SW2_CS4
+#define CS5_SW2 SW2_CS5
+#define CS6_SW2 SW2_CS6
+#define CS7_SW2 SW2_CS7
+#define CS8_SW2 SW2_CS8
+#define CS9_SW2 SW2_CS9
+#define CS10_SW2 SW2_CS10
+#define CS11_SW2 SW2_CS11
+#define CS12_SW2 SW2_CS12
+#define CS13_SW2 SW2_CS13
+#define CS14_SW2 SW2_CS14
+#define CS15_SW2 SW2_CS15
+#define CS16_SW2 SW2_CS16
+#define CS17_SW2 SW2_CS17
+#define CS18_SW2 SW2_CS18
+#define CS19_SW2 SW2_CS19
+#define CS20_SW2 SW2_CS20
+#define CS21_SW2 SW2_CS21
+#define CS22_SW2 SW2_CS22
+#define CS23_SW2 SW2_CS23
+#define CS24_SW2 SW2_CS24
+#define CS25_SW2 SW2_CS25
+#define CS26_SW2 SW2_CS26
+#define CS27_SW2 SW2_CS27
+#define CS28_SW2 SW2_CS28
+#define CS29_SW2 SW2_CS29
+#define CS30_SW2 SW2_CS30
+
+#define CS1_SW3 SW3_CS1
+#define CS2_SW3 SW3_CS2
+#define CS3_SW3 SW3_CS3
+#define CS4_SW3 SW3_CS4
+#define CS5_SW3 SW3_CS5
+#define CS6_SW3 SW3_CS6
+#define CS7_SW3 SW3_CS7
+#define CS8_SW3 SW3_CS8
+#define CS9_SW3 SW3_CS9
+#define CS10_SW3 SW3_CS10
+#define CS11_SW3 SW3_CS11
+#define CS12_SW3 SW3_CS12
+#define CS13_SW3 SW3_CS13
+#define CS14_SW3 SW3_CS14
+#define CS15_SW3 SW3_CS15
+#define CS16_SW3 SW3_CS16
+#define CS17_SW3 SW3_CS17
+#define CS18_SW3 SW3_CS18
+#define CS19_SW3 SW3_CS19
+#define CS20_SW3 SW3_CS20
+#define CS21_SW3 SW3_CS21
+#define CS22_SW3 SW3_CS22
+#define CS23_SW3 SW3_CS23
+#define CS24_SW3 SW3_CS24
+#define CS25_SW3 SW3_CS25
+#define CS26_SW3 SW3_CS26
+#define CS27_SW3 SW3_CS27
+#define CS28_SW3 SW3_CS28
+#define CS29_SW3 SW3_CS29
+#define CS30_SW3 SW3_CS30
+
+#define CS1_SW4 SW4_CS1
+#define CS2_SW4 SW4_CS2
+#define CS3_SW4 SW4_CS3
+#define CS4_SW4 SW4_CS4
+#define CS5_SW4 SW4_CS5
+#define CS6_SW4 SW4_CS6
+#define CS7_SW4 SW4_CS7
+#define CS8_SW4 SW4_CS8
+#define CS9_SW4 SW4_CS9
+#define CS10_SW4 SW4_CS10
+#define CS11_SW4 SW4_CS11
+#define CS12_SW4 SW4_CS12
+#define CS13_SW4 SW4_CS13
+#define CS14_SW4 SW4_CS14
+#define CS15_SW4 SW4_CS15
+#define CS16_SW4 SW4_CS16
+#define CS17_SW4 SW4_CS17
+#define CS18_SW4 SW4_CS18
+#define CS19_SW4 SW4_CS19
+#define CS20_SW4 SW4_CS20
+#define CS21_SW4 SW4_CS21
+#define CS22_SW4 SW4_CS22
+#define CS23_SW4 SW4_CS23
+#define CS24_SW4 SW4_CS24
+#define CS25_SW4 SW4_CS25
+#define CS26_SW4 SW4_CS26
+#define CS27_SW4 SW4_CS27
+#define CS28_SW4 SW4_CS28
+#define CS29_SW4 SW4_CS29
+#define CS30_SW4 SW4_CS30
+
+#define CS1_SW5 SW5_CS1
+#define CS2_SW5 SW5_CS2
+#define CS3_SW5 SW5_CS3
+#define CS4_SW5 SW5_CS4
+#define CS5_SW5 SW5_CS5
+#define CS6_SW5 SW5_CS6
+#define CS7_SW5 SW5_CS7
+#define CS8_SW5 SW5_CS8
+#define CS9_SW5 SW5_CS9
+#define CS10_SW5 SW5_CS10
+#define CS11_SW5 SW5_CS11
+#define CS12_SW5 SW5_CS12
+#define CS13_SW5 SW5_CS13
+#define CS14_SW5 SW5_CS14
+#define CS15_SW5 SW5_CS15
+#define CS16_SW5 SW5_CS16
+#define CS17_SW5 SW5_CS17
+#define CS18_SW5 SW5_CS18
+#define CS19_SW5 SW5_CS19
+#define CS20_SW5 SW5_CS20
+#define CS21_SW5 SW5_CS21
+#define CS22_SW5 SW5_CS22
+#define CS23_SW5 SW5_CS23
+#define CS24_SW5 SW5_CS24
+#define CS25_SW5 SW5_CS25
+#define CS26_SW5 SW5_CS26
+#define CS27_SW5 SW5_CS27
+#define CS28_SW5 SW5_CS28
+#define CS29_SW5 SW5_CS29
+#define CS30_SW5 SW5_CS30
+
+#define CS1_SW6 SW6_CS1
+#define CS2_SW6 SW6_CS2
+#define CS3_SW6 SW6_CS3
+#define CS4_SW6 SW6_CS4
+#define CS5_SW6 SW6_CS5
+#define CS6_SW6 SW6_CS6
+#define CS7_SW6 SW6_CS7
+#define CS8_SW6 SW6_CS8
+#define CS9_SW6 SW6_CS9
+#define CS10_SW6 SW6_CS10
+#define CS11_SW6 SW6_CS11
+#define CS12_SW6 SW6_CS12
+#define CS13_SW6 SW6_CS13
+#define CS14_SW6 SW6_CS14
+#define CS15_SW6 SW6_CS15
+#define CS16_SW6 SW6_CS16
+#define CS17_SW6 SW6_CS17
+#define CS18_SW6 SW6_CS18
+#define CS19_SW6 SW6_CS19
+#define CS20_SW6 SW6_CS20
+#define CS21_SW6 SW6_CS21
+#define CS22_SW6 SW6_CS22
+#define CS23_SW6 SW6_CS23
+#define CS24_SW6 SW6_CS24
+#define CS25_SW6 SW6_CS25
+#define CS26_SW6 SW6_CS26
+#define CS27_SW6 SW6_CS27
+#define CS28_SW6 SW6_CS28
+#define CS29_SW6 SW6_CS29
+#define CS30_SW6 SW6_CS30
+
+#define CS1_SW7 SW7_CS1
+#define CS2_SW7 SW7_CS2
+#define CS3_SW7 SW7_CS3
+#define CS4_SW7 SW7_CS4
+#define CS5_SW7 SW7_CS5
+#define CS6_SW7 SW7_CS6
+#define CS7_SW7 SW7_CS7
+#define CS8_SW7 SW7_CS8
+#define CS9_SW7 SW7_CS9
+#define CS10_SW7 SW7_CS10
+#define CS11_SW7 SW7_CS11
+#define CS12_SW7 SW7_CS12
+#define CS13_SW7 SW7_CS13
+#define CS14_SW7 SW7_CS14
+#define CS15_SW7 SW7_CS15
+#define CS16_SW7 SW7_CS16
+#define CS17_SW7 SW7_CS17
+#define CS18_SW7 SW7_CS18
+#define CS19_SW7 SW7_CS19
+#define CS20_SW7 SW7_CS20
+#define CS21_SW7 SW7_CS21
+#define CS22_SW7 SW7_CS22
+#define CS23_SW7 SW7_CS23
+#define CS24_SW7 SW7_CS24
+#define CS25_SW7 SW7_CS25
+#define CS26_SW7 SW7_CS26
+#define CS27_SW7 SW7_CS27
+#define CS28_SW7 SW7_CS28
+#define CS29_SW7 SW7_CS29
+#define CS30_SW7 SW7_CS30
+
+#define CS1_SW8 SW8_CS1
+#define CS2_SW8 SW8_CS2
+#define CS3_SW8 SW8_CS3
+#define CS4_SW8 SW8_CS4
+#define CS5_SW8 SW8_CS5
+#define CS6_SW8 SW8_CS6
+#define CS7_SW8 SW8_CS7
+#define CS8_SW8 SW8_CS8
+#define CS9_SW8 SW8_CS9
+#define CS10_SW8 SW8_CS10
+#define CS11_SW8 SW8_CS11
+#define CS12_SW8 SW8_CS12
+#define CS13_SW8 SW8_CS13
+#define CS14_SW8 SW8_CS14
+#define CS15_SW8 SW8_CS15
+#define CS16_SW8 SW8_CS16
+#define CS17_SW8 SW8_CS17
+#define CS18_SW8 SW8_CS18
+#define CS19_SW8 SW8_CS19
+#define CS20_SW8 SW8_CS20
+#define CS21_SW8 SW8_CS21
+#define CS22_SW8 SW8_CS22
+#define CS23_SW8 SW8_CS23
+#define CS24_SW8 SW8_CS24
+#define CS25_SW8 SW8_CS25
+#define CS26_SW8 SW8_CS26
+#define CS27_SW8 SW8_CS27
+#define CS28_SW8 SW8_CS28
+#define CS29_SW8 SW8_CS29
+#define CS30_SW8 SW8_CS30
+
+#define CS1_SW9 SW9_CS1
+#define CS2_SW9 SW9_CS2
+#define CS3_SW9 SW9_CS3
+#define CS4_SW9 SW9_CS4
+#define CS5_SW9 SW9_CS5
+#define CS6_SW9 SW9_CS6
+#define CS7_SW9 SW9_CS7
+#define CS8_SW9 SW9_CS8
+#define CS9_SW9 SW9_CS9
+#define CS10_SW9 SW9_CS10
+#define CS11_SW9 SW9_CS11
+#define CS12_SW9 SW9_CS12
+#define CS13_SW9 SW9_CS13
+#define CS14_SW9 SW9_CS14
+#define CS15_SW9 SW9_CS15
+#define CS16_SW9 SW9_CS16
+#define CS17_SW9 SW9_CS17
+#define CS18_SW9 SW9_CS18
+#define CS19_SW9 SW9_CS19
+#define CS20_SW9 SW9_CS20
+#define CS21_SW9 SW9_CS21
+#define CS22_SW9 SW9_CS22
+#define CS23_SW9 SW9_CS23
+#define CS24_SW9 SW9_CS24
+#define CS25_SW9 SW9_CS25
+#define CS26_SW9 SW9_CS26
+#define CS27_SW9 SW9_CS27
+#define CS28_SW9 SW9_CS28
+#define CS29_SW9 SW9_CS29
+#define CS30_SW9 SW9_CS30
+
+#define CS31_SW1 SW1_CS31
+#define CS32_SW1 SW1_CS32
+#define CS33_SW1 SW1_CS33
+#define CS34_SW1 SW1_CS34
+#define CS35_SW1 SW1_CS35
+#define CS36_SW1 SW1_CS36
+#define CS37_SW1 SW1_CS37
+#define CS38_SW1 SW1_CS38
+#define CS39_SW1 SW1_CS39
+
+#define CS31_SW2 SW2_CS31
+#define CS32_SW2 SW2_CS32
+#define CS33_SW2 SW2_CS33
+#define CS34_SW2 SW2_CS34
+#define CS35_SW2 SW2_CS35
+#define CS36_SW2 SW2_CS36
+#define CS37_SW2 SW2_CS37
+#define CS38_SW2 SW2_CS38
+#define CS39_SW2 SW2_CS39
+
+#define CS31_SW3 SW3_CS31
+#define CS32_SW3 SW3_CS32
+#define CS33_SW3 SW3_CS33
+#define CS34_SW3 SW3_CS34
+#define CS35_SW3 SW3_CS35
+#define CS36_SW3 SW3_CS36
+#define CS37_SW3 SW3_CS37
+#define CS38_SW3 SW3_CS38
+#define CS39_SW3 SW3_CS39
+
+#define CS31_SW4 SW4_CS31
+#define CS32_SW4 SW4_CS32
+#define CS33_SW4 SW4_CS33
+#define CS34_SW4 SW4_CS34
+#define CS35_SW4 SW4_CS35
+#define CS36_SW4 SW4_CS36
+#define CS37_SW4 SW4_CS37
+#define CS38_SW4 SW4_CS38
+#define CS39_SW4 SW4_CS39
+
+#define CS31_SW5 SW5_CS31
+#define CS32_SW5 SW5_CS32
+#define CS33_SW5 SW5_CS33
+#define CS34_SW5 SW5_CS34
+#define CS35_SW5 SW5_CS35
+#define CS36_SW5 SW5_CS36
+#define CS37_SW5 SW5_CS37
+#define CS38_SW5 SW5_CS38
+#define CS39_SW5 SW5_CS39
+
+#define CS31_SW6 SW6_CS31
+#define CS32_SW6 SW6_CS32
+#define CS33_SW6 SW6_CS33
+#define CS34_SW6 SW6_CS34
+#define CS35_SW6 SW6_CS35
+#define CS36_SW6 SW6_CS36
+#define CS37_SW6 SW6_CS37
+#define CS38_SW6 SW6_CS38
+#define CS39_SW6 SW6_CS39
+
+#define CS31_SW7 SW7_CS31
+#define CS32_SW7 SW7_CS32
+#define CS33_SW7 SW7_CS33
+#define CS34_SW7 SW7_CS34
+#define CS35_SW7 SW7_CS35
+#define CS36_SW7 SW7_CS36
+#define CS37_SW7 SW7_CS37
+#define CS38_SW7 SW7_CS38
+#define CS39_SW7 SW7_CS39
+
+#define CS31_SW8 SW8_CS31
+#define CS32_SW8 SW8_CS32
+#define CS33_SW8 SW8_CS33
+#define CS34_SW8 SW8_CS34
+#define CS35_SW8 SW8_CS35
+#define CS36_SW8 SW8_CS36
+#define CS37_SW8 SW8_CS37
+#define CS38_SW8 SW8_CS38
+#define CS39_SW8 SW8_CS39
+
+#define CS31_SW9 SW9_CS31
+#define CS32_SW9 SW9_CS32
+#define CS33_SW9 SW9_CS33
+#define CS34_SW9 SW9_CS34
+#define CS35_SW9 SW9_CS35
+#define CS36_SW9 SW9_CS36
+#define CS37_SW9 SW9_CS37
+#define CS38_SW9 SW9_CS38
+#define CS39_SW9 SW9_CS39
diff --git a/drivers/led/issi/is31fl3742.h b/drivers/led/issi/is31fl3742.h
deleted file mode 100644
index c96f12d0f1..0000000000
--- a/drivers/led/issi/is31fl3742.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- * Copyright 2021 MasterSpoon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 <-> GND
-// 01 <-> SCL
-// 10 <-> SDA
-// 11 <-> VCC
-// ADDR represents A1:A0 of the 7-bit address.
-// The result is: 0b01100(ADDR)
-#ifndef DRIVER_ADDR_1
-# define DRIVER_ADDR_1 0b0110000
-#endif
-
-// Command Registers
-#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE
-#define ISSI_COMMANDREGISTER 0xFD
-#define ISSI_IDREGISTER 0xFC
-#define ISSI_REGISTER_UNLOCK 0xC5
-
-// Response Registers
-#define ISSI_PAGE_PWM 0x00
-#define ISSI_PAGE_SCALING 0x02
-#define ISSI_PAGE_FUNCTION 0x04
-
-// Registers under Function Register
-#define ISSI_REG_CONFIGURATION 0x00
-#define ISSI_REG_GLOBALCURRENT 0x01
-#define ISSI_REG_PULLDOWNUP 0x02
-#define ISSI_REG_SSR 0x41
-#define ISSI_REG_RESET 0x3F
-#define ISSI_REG_PWM_SET 0x36
-
-// Set defaults for Function Registers
-#ifndef ISSI_CONFIGURATION
-# define ISSI_CONFIGURATION 0x31
-#endif
-#ifndef ISSI_GLOBALCURRENT
-# define ISSI_GLOBALCURRENT 0xFF
-#endif
-#ifndef ISSI_PULLDOWNUP
-# define ISSI_PULLDOWNUP 0x55
-#endif
-#ifndef ISSI_PWM_SET
-# define ISSI_PWM_SET 0x00
-#endif
-
-// Set defaults for Spread Spectrum Register
-#ifndef ISSI_SSR_1
-# define ISSI_SSR_1 0x00
-#endif
-#ifndef ISSI_SSR_2
-# define ISSI_SSR_2 0x00
-#endif
-#ifndef ISSI_SSR_3
-# define ISSI_SSR_3 0x00
-#endif
-#ifndef ISSI_SSR_4
-# define ISSI_SSR_4 0x00
-#endif
-
-// Set defaults for Scaling registers
-#ifndef ISSI_SCAL_RED
-# define ISSI_SCAL_RED 0xFF
-#endif
-#ifndef ISSI_SCAL_BLUE
-# define ISSI_SCAL_BLUE 0xFF
-#endif
-#ifndef ISSI_SCAL_GREEN
-# define ISSI_SCAL_GREEN 0xFF
-#endif
-#define ISSI_SCAL_RED_OFF 0x00
-#define ISSI_SCAL_GREEN_OFF 0x00
-#define ISSI_SCAL_BLUE_OFF 0x00
-
-#ifndef ISSI_SCAL_LED
-# define ISSI_SCAL_LED 0xFF
-#endif
-#define ISSI_SCAL_LED_OFF 0x00
-
-// Set buffer sizes
-#define ISSI_MAX_LEDS 180
-#define ISSI_SCALING_SIZE 180
-#define ISSI_PWM_TRF_SIZE 18
-#define ISSI_SCALING_TRF_SIZE 18
-
-// Location of 1st bit for PWM and Scaling registers
-#define ISSI_PWM_REG_1ST 0x00
-#define ISSI_SCL_REG_1ST 0x00
-
-// Map CS SW locations to order in PWM / Scaling buffers
-// This matches the ORDER in the Datasheet Register not the POSITION
-// It will always count from 0x00 to (ISSI_MAX_LEDS - 1)
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-#define CS19_SW1 0x12
-#define CS20_SW1 0x13
-#define CS21_SW1 0x14
-#define CS22_SW1 0x15
-#define CS23_SW1 0x16
-#define CS24_SW1 0x17
-#define CS25_SW1 0x18
-#define CS26_SW1 0x19
-#define CS27_SW1 0x1A
-#define CS28_SW1 0x1B
-#define CS29_SW1 0x1C
-#define CS30_SW1 0x1D
-
-#define CS1_SW2 0x1E
-#define CS2_SW2 0x1F
-#define CS3_SW2 0x20
-#define CS4_SW2 0x21
-#define CS5_SW2 0x22
-#define CS6_SW2 0x23
-#define CS7_SW2 0x24
-#define CS8_SW2 0x25
-#define CS9_SW2 0x26
-#define CS10_SW2 0x27
-#define CS11_SW2 0x28
-#define CS12_SW2 0x29
-#define CS13_SW2 0x2A
-#define CS14_SW2 0x2B
-#define CS15_SW2 0x2C
-#define CS16_SW2 0x2D
-#define CS17_SW2 0x2E
-#define CS18_SW2 0x2F
-#define CS19_SW2 0x30
-#define CS20_SW2 0x31
-#define CS21_SW2 0x32
-#define CS22_SW2 0x33
-#define CS23_SW2 0x34
-#define CS24_SW2 0x35
-#define CS25_SW2 0x36
-#define CS26_SW2 0x37
-#define CS27_SW2 0x38
-#define CS28_SW2 0x39
-#define CS29_SW2 0x3A
-#define CS30_SW2 0x3B
-
-#define CS1_SW3 0x3C
-#define CS2_SW3 0x3D
-#define CS3_SW3 0x3E
-#define CS4_SW3 0x3F
-#define CS5_SW3 0x40
-#define CS6_SW3 0x41
-#define CS7_SW3 0x42
-#define CS8_SW3 0x43
-#define CS9_SW3 0x44
-#define CS10_SW3 0x45
-#define CS11_SW3 0x46
-#define CS12_SW3 0x47
-#define CS13_SW3 0x48
-#define CS14_SW3 0x49
-#define CS15_SW3 0x4A
-#define CS16_SW3 0x4B
-#define CS17_SW3 0x4C
-#define CS18_SW3 0x4D
-#define CS19_SW3 0x4E
-#define CS20_SW3 0x4F
-#define CS21_SW3 0x50
-#define CS22_SW3 0x51
-#define CS23_SW3 0x52
-#define CS24_SW3 0x53
-#define CS25_SW3 0x54
-#define CS26_SW3 0x55
-#define CS27_SW3 0x56
-#define CS28_SW3 0x57
-#define CS29_SW3 0x58
-#define CS30_SW3 0x59
-
-#define CS1_SW4 0x5A
-#define CS2_SW4 0x5B
-#define CS3_SW4 0x5C
-#define CS4_SW4 0x5D
-#define CS5_SW4 0x5E
-#define CS6_SW4 0x5F
-#define CS7_SW4 0x60
-#define CS8_SW4 0x61
-#define CS9_SW4 0x62
-#define CS10_SW4 0x63
-#define CS11_SW4 0x64
-#define CS12_SW4 0x65
-#define CS13_SW4 0x66
-#define CS14_SW4 0x67
-#define CS15_SW4 0x68
-#define CS16_SW4 0x69
-#define CS17_SW4 0x6A
-#define CS18_SW4 0x6B
-#define CS19_SW4 0x6C
-#define CS20_SW4 0x6D
-#define CS21_SW4 0x6E
-#define CS22_SW4 0x6F
-#define CS23_SW4 0x70
-#define CS24_SW4 0x71
-#define CS25_SW4 0x72
-#define CS26_SW4 0x73
-#define CS27_SW4 0x74
-#define CS28_SW4 0x75
-#define CS29_SW4 0x76
-#define CS30_SW4 0x77
-
-#define CS1_SW5 0x78
-#define CS2_SW5 0x79
-#define CS3_SW5 0x7A
-#define CS4_SW5 0x7B
-#define CS5_SW5 0x7C
-#define CS6_SW5 0x7D
-#define CS7_SW5 0x7E
-#define CS8_SW5 0x7F
-#define CS9_SW5 0x80
-#define CS10_SW5 0x81
-#define CS11_SW5 0x82
-#define CS12_SW5 0x83
-#define CS13_SW5 0x84
-#define CS14_SW5 0x85
-#define CS15_SW5 0x86
-#define CS16_SW5 0x87
-#define CS17_SW5 0x88
-#define CS18_SW5 0x89
-#define CS19_SW5 0x8A
-#define CS20_SW5 0x8B
-#define CS21_SW5 0x8C
-#define CS22_SW5 0x8D
-#define CS23_SW5 0x8E
-#define CS24_SW5 0x8F
-#define CS25_SW5 0x90
-#define CS26_SW5 0x91
-#define CS27_SW5 0x92
-#define CS28_SW5 0x93
-#define CS29_SW5 0x94
-#define CS30_SW5 0x95
-
-#define CS1_SW6 0x96
-#define CS2_SW6 0x97
-#define CS3_SW6 0x98
-#define CS4_SW6 0x99
-#define CS5_SW6 0x9A
-#define CS6_SW6 0x9B
-#define CS7_SW6 0x9C
-#define CS8_SW6 0x9D
-#define CS9_SW6 0x9E
-#define CS10_SW6 0x9F
-#define CS11_SW6 0xA0
-#define CS12_SW6 0xA1
-#define CS13_SW6 0xA2
-#define CS14_SW6 0xA3
-#define CS15_SW6 0xA4
-#define CS16_SW6 0xA5
-#define CS17_SW6 0xA6
-#define CS18_SW6 0xA7
-#define CS19_SW6 0xA8
-#define CS20_SW6 0xA9
-#define CS21_SW6 0xAA
-#define CS22_SW6 0xAB
-#define CS23_SW6 0xAC
-#define CS24_SW6 0xAD
-#define CS25_SW6 0xAE
-#define CS26_SW6 0xAF
-#define CS27_SW6 0xB0
-#define CS28_SW6 0xB1
-#define CS29_SW6 0xB2
-#define CS30_SW6 0xB3
diff --git a/drivers/led/issi/is31fl3742a-mono.c b/drivers/led/issi/is31fl3742a-mono.c
new file mode 100644
index 0000000000..c63db1a7fc
--- /dev/null
+++ b/drivers/led/issi/is31fl3742a-mono.c
@@ -0,0 +1,221 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3742a-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3742A_PWM_REGISTER_COUNT 180
+#define IS31FL3742A_SCALING_REGISTER_COUNT 180
+
+#ifndef IS31FL3742A_I2C_TIMEOUT
+# define IS31FL3742A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3742A_I2C_PERSISTENCE
+# define IS31FL3742A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3742A_CONFIGURATION
+# define IS31FL3742A_CONFIGURATION 0x31
+#endif
+
+#ifndef IS31FL3742A_PWM_FREQUENCY
+# define IS31FL3742A_PWM_FREQUENCY IS31FL3742A_PWM_FREQUENCY_29K_HZ
+#endif
+
+#ifndef IS31FL3742A_SW_PULLDOWN
+# define IS31FL3742A_SW_PULLDOWN IS31FL3742A_PDR_8K_OHM
+#endif
+
+#ifndef IS31FL3742A_CS_PULLUP
+# define IS31FL3742A_CS_PULLUP IS31FL3742A_PUR_8K_OHM
+#endif
+
+#ifndef IS31FL3742A_GLOBAL_CURRENT
+# define IS31FL3742A_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3742A_DRIVER_COUNT] = {
+ IS31FL3742A_I2C_ADDRESS_1,
+#ifdef IS31FL3742A_I2C_ADDRESS_2
+ IS31FL3742A_I2C_ADDRESS_2,
+# ifdef IS31FL3742A_I2C_ADDRESS_3
+ IS31FL3742A_I2C_ADDRESS_3,
+# ifdef IS31FL3742A_I2C_ADDRESS_4
+ IS31FL3742A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3742a_driver_t {
+ uint8_t pwm_buffer[IS31FL3742A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3742A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3742a_driver_t;
+
+is31fl3742a_driver_t driver_buffers[IS31FL3742A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3742a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3742A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3742A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3742A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3742a_select_page(uint8_t index, uint8_t page) {
+ is31fl3742a_write_register(index, IS31FL3742A_REG_COMMAND_WRITE_LOCK, IS31FL3742A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3742a_write_register(index, IS31FL3742A_REG_COMMAND, page);
+}
+
+void is31fl3742a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 6 transfers of 30 bytes.
+
+ // Iterate over the pwm_buffer contents at 30 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i += 30) {
+#if IS31FL3742A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3742A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3742a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3742A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3742A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3742A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3742A_LED_COUNT; i++) {
+ is31fl3742a_set_scaling_register(i, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3742a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3742A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, 0x00);
+ }
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, 0x00);
+ }
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_FUNCTION);
+
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_PULLDOWNUP, (IS31FL3742A_SW_PULLDOWN << 4) | IS31FL3742A_CS_PULLUP);
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3742A_GLOBAL_CURRENT);
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3742A_PWM_FREQUENCY & 0b0111));
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_CONFIGURATION, IS31FL3742A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3742a_set_value(int index, uint8_t value) {
+ is31fl3742a_led_t led;
+
+ if (index >= 0 && index < IS31FL3742A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3742a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3742a_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3742A_LED_COUNT; i++) {
+ is31fl3742a_set_value(i, value);
+ }
+}
+
+void is31fl3742a_set_scaling_register(uint8_t index, uint8_t value) {
+ is31fl3742a_led_t led;
+ memcpy_P(&led, (&g_is31fl3742a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.v] = value;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3742a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_PWM);
+
+ is31fl3742a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3742a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3742A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3742a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3742a-mono.h b/drivers/led/issi/is31fl3742a-mono.h
new file mode 100644
index 0000000000..5c8938906c
--- /dev/null
+++ b/drivers/led/issi/is31fl3742a-mono.h
@@ -0,0 +1,296 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3742A_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3742A_REG_INTERRUPT_STATUS 0xF1
+#define IS31FL3742A_REG_ID 0xFC
+
+#define IS31FL3742A_REG_COMMAND 0xFD
+
+#define IS31FL3742A_COMMAND_PWM 0x00
+#define IS31FL3742A_COMMAND_SCALING 0x02
+#define IS31FL3742A_COMMAND_FUNCTION 0x04
+
+#define IS31FL3742A_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3742A_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3742A_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3742A_FUNCTION_REG_PWM_FREQUENCY 0x36
+#define IS31FL3742A_FUNCTION_REG_RESET 0x3F
+#define IS31FL3742A_FUNCTION_REG_SPREAD_SPECTRUM 0x41
+
+#define IS31FL3742A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3742A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3742A_I2C_ADDRESS_GND 0x30
+#define IS31FL3742A_I2C_ADDRESS_SCL 0x31
+#define IS31FL3742A_I2C_ADDRESS_SDA 0x32
+#define IS31FL3742A_I2C_ADDRESS_VCC 0x33
+
+#if defined(LED_MATRIX_IS31FL3742A)
+# define IS31FL3742A_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3742A_I2C_ADDRESS_4)
+# define IS31FL3742A_DRIVER_COUNT 4
+#elif defined(IS31FL3742A_I2C_ADDRESS_3)
+# define IS31FL3742A_DRIVER_COUNT 3
+#elif defined(IS31FL3742A_I2C_ADDRESS_2)
+# define IS31FL3742A_DRIVER_COUNT 2
+#elif defined(IS31FL3742A_I2C_ADDRESS_1)
+# define IS31FL3742A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3742a_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3742a_led_t;
+
+extern const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT];
+
+void is31fl3742a_init_drivers(void);
+void is31fl3742a_init(uint8_t index);
+void is31fl3742a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3742a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3742a_set_value(int index, uint8_t value);
+void is31fl3742a_set_value_all(uint8_t value);
+
+void is31fl3742a_set_scaling_register(uint8_t index, uint8_t value);
+
+void is31fl3742a_update_pwm_buffers(uint8_t index);
+void is31fl3742a_update_scaling_registers(uint8_t index);
+
+void is31fl3742a_flush(void);
+
+#define IS31FL3742A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3742A_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3742A_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3742A_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3742A_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3742A_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3742A_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3742A_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3742A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3742A_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3742A_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3742A_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3742A_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3742A_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3742A_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3742A_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3742A_PWM_FREQUENCY_29K_HZ 0b0000
+#define IS31FL3742A_PWM_FREQUENCY_3K6_HZ 0b0011
+#define IS31FL3742A_PWM_FREQUENCY_1K8_HZ 0b0111
+#define IS31FL3742A_PWM_FREQUENCY_900_HZ 0b1011
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+#define SW1_CS19 0x12
+#define SW1_CS20 0x13
+#define SW1_CS21 0x14
+#define SW1_CS22 0x15
+#define SW1_CS23 0x16
+#define SW1_CS24 0x17
+#define SW1_CS25 0x18
+#define SW1_CS26 0x19
+#define SW1_CS27 0x1A
+#define SW1_CS28 0x1B
+#define SW1_CS29 0x1C
+#define SW1_CS30 0x1D
+
+#define SW2_CS1 0x1E
+#define SW2_CS2 0x1F
+#define SW2_CS3 0x20
+#define SW2_CS4 0x21
+#define SW2_CS5 0x22
+#define SW2_CS6 0x23
+#define SW2_CS7 0x24
+#define SW2_CS8 0x25
+#define SW2_CS9 0x26
+#define SW2_CS10 0x27
+#define SW2_CS11 0x28
+#define SW2_CS12 0x29
+#define SW2_CS13 0x2A
+#define SW2_CS14 0x2B
+#define SW2_CS15 0x2C
+#define SW2_CS16 0x2D
+#define SW2_CS17 0x2E
+#define SW2_CS18 0x2F
+#define SW2_CS19 0x30
+#define SW2_CS20 0x31
+#define SW2_CS21 0x32
+#define SW2_CS22 0x33
+#define SW2_CS23 0x34
+#define SW2_CS24 0x35
+#define SW2_CS25 0x36
+#define SW2_CS26 0x37
+#define SW2_CS27 0x38
+#define SW2_CS28 0x39
+#define SW2_CS29 0x3A
+#define SW2_CS30 0x3B
+
+#define SW3_CS1 0x3C
+#define SW3_CS2 0x3D
+#define SW3_CS3 0x3E
+#define SW3_CS4 0x3F
+#define SW3_CS5 0x40
+#define SW3_CS6 0x41
+#define SW3_CS7 0x42
+#define SW3_CS8 0x43
+#define SW3_CS9 0x44
+#define SW3_CS10 0x45
+#define SW3_CS11 0x46
+#define SW3_CS12 0x47
+#define SW3_CS13 0x48
+#define SW3_CS14 0x49
+#define SW3_CS15 0x4A
+#define SW3_CS16 0x4B
+#define SW3_CS17 0x4C
+#define SW3_CS18 0x4D
+#define SW3_CS19 0x4E
+#define SW3_CS20 0x4F
+#define SW3_CS21 0x50
+#define SW3_CS22 0x51
+#define SW3_CS23 0x52
+#define SW3_CS24 0x53
+#define SW3_CS25 0x54
+#define SW3_CS26 0x55
+#define SW3_CS27 0x56
+#define SW3_CS28 0x57
+#define SW3_CS29 0x58
+#define SW3_CS30 0x59
+
+#define SW4_CS1 0x5A
+#define SW4_CS2 0x5B
+#define SW4_CS3 0x5C
+#define SW4_CS4 0x5D
+#define SW4_CS5 0x5E
+#define SW4_CS6 0x5F
+#define SW4_CS7 0x60
+#define SW4_CS8 0x61
+#define SW4_CS9 0x62
+#define SW4_CS10 0x63
+#define SW4_CS11 0x64
+#define SW4_CS12 0x65
+#define SW4_CS13 0x66
+#define SW4_CS14 0x67
+#define SW4_CS15 0x68
+#define SW4_CS16 0x69
+#define SW4_CS17 0x6A
+#define SW4_CS18 0x6B
+#define SW4_CS19 0x6C
+#define SW4_CS20 0x6D
+#define SW4_CS21 0x6E
+#define SW4_CS22 0x6F
+#define SW4_CS23 0x70
+#define SW4_CS24 0x71
+#define SW4_CS25 0x72
+#define SW4_CS26 0x73
+#define SW4_CS27 0x74
+#define SW4_CS28 0x75
+#define SW4_CS29 0x76
+#define SW4_CS30 0x77
+
+#define SW5_CS1 0x78
+#define SW5_CS2 0x79
+#define SW5_CS3 0x7A
+#define SW5_CS4 0x7B
+#define SW5_CS5 0x7C
+#define SW5_CS6 0x7D
+#define SW5_CS7 0x7E
+#define SW5_CS8 0x7F
+#define SW5_CS9 0x80
+#define SW5_CS10 0x81
+#define SW5_CS11 0x82
+#define SW5_CS12 0x83
+#define SW5_CS13 0x84
+#define SW5_CS14 0x85
+#define SW5_CS15 0x86
+#define SW5_CS16 0x87
+#define SW5_CS17 0x88
+#define SW5_CS18 0x89
+#define SW5_CS19 0x8A
+#define SW5_CS20 0x8B
+#define SW5_CS21 0x8C
+#define SW5_CS22 0x8D
+#define SW5_CS23 0x8E
+#define SW5_CS24 0x8F
+#define SW5_CS25 0x90
+#define SW5_CS26 0x91
+#define SW5_CS27 0x92
+#define SW5_CS28 0x93
+#define SW5_CS29 0x94
+#define SW5_CS30 0x95
+
+#define SW6_CS1 0x96
+#define SW6_CS2 0x97
+#define SW6_CS3 0x98
+#define SW6_CS4 0x99
+#define SW6_CS5 0x9A
+#define SW6_CS6 0x9B
+#define SW6_CS7 0x9C
+#define SW6_CS8 0x9D
+#define SW6_CS9 0x9E
+#define SW6_CS10 0x9F
+#define SW6_CS11 0xA0
+#define SW6_CS12 0xA1
+#define SW6_CS13 0xA2
+#define SW6_CS14 0xA3
+#define SW6_CS15 0xA4
+#define SW6_CS16 0xA5
+#define SW6_CS17 0xA6
+#define SW6_CS18 0xA7
+#define SW6_CS19 0xA8
+#define SW6_CS20 0xA9
+#define SW6_CS21 0xAA
+#define SW6_CS22 0xAB
+#define SW6_CS23 0xAC
+#define SW6_CS24 0xAD
+#define SW6_CS25 0xAE
+#define SW6_CS26 0xAF
+#define SW6_CS27 0xB0
+#define SW6_CS28 0xB1
+#define SW6_CS29 0xB2
+#define SW6_CS30 0xB3
diff --git a/drivers/led/issi/is31fl3742a.c b/drivers/led/issi/is31fl3742a.c
new file mode 100644
index 0000000000..b8e9a58759
--- /dev/null
+++ b/drivers/led/issi/is31fl3742a.c
@@ -0,0 +1,225 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3742a.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3742A_PWM_REGISTER_COUNT 180
+#define IS31FL3742A_SCALING_REGISTER_COUNT 180
+
+#ifndef IS31FL3742A_I2C_TIMEOUT
+# define IS31FL3742A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3742A_I2C_PERSISTENCE
+# define IS31FL3742A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3742A_CONFIGURATION
+# define IS31FL3742A_CONFIGURATION 0x31
+#endif
+
+#ifndef IS31FL3742A_PWM_FREQUENCY
+# define IS31FL3742A_PWM_FREQUENCY IS31FL3742A_PWM_FREQUENCY_29K_HZ
+#endif
+
+#ifndef IS31FL3742A_SW_PULLDOWN
+# define IS31FL3742A_SW_PULLDOWN IS31FL3742A_PDR_8K_OHM
+#endif
+
+#ifndef IS31FL3742A_CS_PULLUP
+# define IS31FL3742A_CS_PULLUP IS31FL3742A_PUR_8K_OHM
+#endif
+
+#ifndef IS31FL3742A_GLOBAL_CURRENT
+# define IS31FL3742A_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3742A_DRIVER_COUNT] = {
+ IS31FL3742A_I2C_ADDRESS_1,
+#ifdef IS31FL3742A_I2C_ADDRESS_2
+ IS31FL3742A_I2C_ADDRESS_2,
+# ifdef IS31FL3742A_I2C_ADDRESS_3
+ IS31FL3742A_I2C_ADDRESS_3,
+# ifdef IS31FL3742A_I2C_ADDRESS_4
+ IS31FL3742A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3742a_driver_t {
+ uint8_t pwm_buffer[IS31FL3742A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3742A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3742a_driver_t;
+
+is31fl3742a_driver_t driver_buffers[IS31FL3742A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3742a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3742A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3742A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3742A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3742a_select_page(uint8_t index, uint8_t page) {
+ is31fl3742a_write_register(index, IS31FL3742A_REG_COMMAND_WRITE_LOCK, IS31FL3742A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3742a_write_register(index, IS31FL3742A_REG_COMMAND, page);
+}
+
+void is31fl3742a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 6 transfers of 30 bytes.
+
+ // Iterate over the pwm_buffer contents at 30 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i += 30) {
+#if IS31FL3742A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3742A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 30, IS31FL3742A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3742a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3742A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3742A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3742A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3742A_LED_COUNT; i++) {
+ is31fl3742a_set_scaling_register(i, 0xFF, 0xFF, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3742a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3742A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, 0x00);
+ }
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3742A_PWM_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, 0x00);
+ }
+
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_FUNCTION);
+
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_PULLDOWNUP, (IS31FL3742A_SW_PULLDOWN << 4) | IS31FL3742A_CS_PULLUP);
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3742A_GLOBAL_CURRENT);
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3742A_PWM_FREQUENCY & 0b0111));
+ is31fl3742a_write_register(index, IS31FL3742A_FUNCTION_REG_CONFIGURATION, IS31FL3742A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3742a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3742a_led_t led;
+
+ if (index >= 0 && index < IS31FL3742A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3742a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3742a_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < IS31FL3742A_LED_COUNT; i++) {
+ is31fl3742a_set_color(i, red, green, blue);
+ }
+}
+
+void is31fl3742a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3742a_led_t led;
+ memcpy_P(&led, (&g_is31fl3742a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.r] = red;
+ driver_buffers[led.driver].scaling_buffer[led.g] = green;
+ driver_buffers[led.driver].scaling_buffer[led.b] = blue;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3742a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_PWM);
+
+ is31fl3742a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3742a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3742a_select_page(index, IS31FL3742A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3742A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3742a_write_register(index, i, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3742a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3742A_DRIVER_COUNT; i++) {
+ is31fl3742a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3742a.h b/drivers/led/issi/is31fl3742a.h
new file mode 100644
index 0000000000..10ecf50026
--- /dev/null
+++ b/drivers/led/issi/is31fl3742a.h
@@ -0,0 +1,298 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3742A_REG_INTERRUPT_MASK 0xF0
+#define IS31FL3742A_REG_INTERRUPT_STATUS 0xF1
+#define IS31FL3742A_REG_ID 0xFC
+
+#define IS31FL3742A_REG_COMMAND 0xFD
+
+#define IS31FL3742A_COMMAND_PWM 0x00
+#define IS31FL3742A_COMMAND_SCALING 0x02
+#define IS31FL3742A_COMMAND_FUNCTION 0x04
+
+#define IS31FL3742A_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3742A_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3742A_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3742A_FUNCTION_REG_PWM_FREQUENCY 0x36
+#define IS31FL3742A_FUNCTION_REG_RESET 0x3F
+#define IS31FL3742A_FUNCTION_REG_SPREAD_SPECTRUM 0x41
+
+#define IS31FL3742A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3742A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3742A_I2C_ADDRESS_GND 0x30
+#define IS31FL3742A_I2C_ADDRESS_SCL 0x31
+#define IS31FL3742A_I2C_ADDRESS_SDA 0x32
+#define IS31FL3742A_I2C_ADDRESS_VCC 0x33
+
+#if defined(RGB_MATRIX_IS31FL3742A)
+# define IS31FL3742A_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3742A_I2C_ADDRESS_4)
+# define IS31FL3742A_DRIVER_COUNT 4
+#elif defined(IS31FL3742A_I2C_ADDRESS_3)
+# define IS31FL3742A_DRIVER_COUNT 3
+#elif defined(IS31FL3742A_I2C_ADDRESS_2)
+# define IS31FL3742A_DRIVER_COUNT 2
+#elif defined(IS31FL3742A_I2C_ADDRESS_1)
+# define IS31FL3742A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3742a_led_t {
+ uint8_t driver : 2;
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+} PACKED is31fl3742a_led_t;
+
+extern const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT];
+
+void is31fl3742a_init_drivers(void);
+void is31fl3742a_init(uint8_t index);
+void is31fl3742a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3742a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3742a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void is31fl3742a_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3742a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3742a_update_pwm_buffers(uint8_t index);
+void is31fl3742a_update_scaling_registers(uint8_t index);
+
+void is31fl3742a_flush(void);
+
+#define IS31FL3742A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3742A_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3742A_PDR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3742A_PDR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3742A_PDR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3742A_PDR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3742A_PDR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3742A_PDR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3742A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3742A_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
+#define IS31FL3742A_PUR_1K_OHM 0b010 // 1 kOhm resistor
+#define IS31FL3742A_PUR_2K_OHM 0b011 // 2 kOhm resistor
+#define IS31FL3742A_PUR_4K_OHM 0b100 // 4 kOhm resistor
+#define IS31FL3742A_PUR_8K_OHM 0b101 // 8 kOhm resistor
+#define IS31FL3742A_PUR_16K_OHM 0b110 // 16 kOhm resistor
+#define IS31FL3742A_PUR_32K_OHM 0b111 // 32 kOhm resistor
+
+#define IS31FL3742A_PWM_FREQUENCY_29K_HZ 0b0000
+#define IS31FL3742A_PWM_FREQUENCY_3K6_HZ 0b0011
+#define IS31FL3742A_PWM_FREQUENCY_1K8_HZ 0b0111
+#define IS31FL3742A_PWM_FREQUENCY_900_HZ 0b1011
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+#define SW1_CS19 0x12
+#define SW1_CS20 0x13
+#define SW1_CS21 0x14
+#define SW1_CS22 0x15
+#define SW1_CS23 0x16
+#define SW1_CS24 0x17
+#define SW1_CS25 0x18
+#define SW1_CS26 0x19
+#define SW1_CS27 0x1A
+#define SW1_CS28 0x1B
+#define SW1_CS29 0x1C
+#define SW1_CS30 0x1D
+
+#define SW2_CS1 0x1E
+#define SW2_CS2 0x1F
+#define SW2_CS3 0x20
+#define SW2_CS4 0x21
+#define SW2_CS5 0x22
+#define SW2_CS6 0x23
+#define SW2_CS7 0x24
+#define SW2_CS8 0x25
+#define SW2_CS9 0x26
+#define SW2_CS10 0x27
+#define SW2_CS11 0x28
+#define SW2_CS12 0x29
+#define SW2_CS13 0x2A
+#define SW2_CS14 0x2B
+#define SW2_CS15 0x2C
+#define SW2_CS16 0x2D
+#define SW2_CS17 0x2E
+#define SW2_CS18 0x2F
+#define SW2_CS19 0x30
+#define SW2_CS20 0x31
+#define SW2_CS21 0x32
+#define SW2_CS22 0x33
+#define SW2_CS23 0x34
+#define SW2_CS24 0x35
+#define SW2_CS25 0x36
+#define SW2_CS26 0x37
+#define SW2_CS27 0x38
+#define SW2_CS28 0x39
+#define SW2_CS29 0x3A
+#define SW2_CS30 0x3B
+
+#define SW3_CS1 0x3C
+#define SW3_CS2 0x3D
+#define SW3_CS3 0x3E
+#define SW3_CS4 0x3F
+#define SW3_CS5 0x40
+#define SW3_CS6 0x41
+#define SW3_CS7 0x42
+#define SW3_CS8 0x43
+#define SW3_CS9 0x44
+#define SW3_CS10 0x45
+#define SW3_CS11 0x46
+#define SW3_CS12 0x47
+#define SW3_CS13 0x48
+#define SW3_CS14 0x49
+#define SW3_CS15 0x4A
+#define SW3_CS16 0x4B
+#define SW3_CS17 0x4C
+#define SW3_CS18 0x4D
+#define SW3_CS19 0x4E
+#define SW3_CS20 0x4F
+#define SW3_CS21 0x50
+#define SW3_CS22 0x51
+#define SW3_CS23 0x52
+#define SW3_CS24 0x53
+#define SW3_CS25 0x54
+#define SW3_CS26 0x55
+#define SW3_CS27 0x56
+#define SW3_CS28 0x57
+#define SW3_CS29 0x58
+#define SW3_CS30 0x59
+
+#define SW4_CS1 0x5A
+#define SW4_CS2 0x5B
+#define SW4_CS3 0x5C
+#define SW4_CS4 0x5D
+#define SW4_CS5 0x5E
+#define SW4_CS6 0x5F
+#define SW4_CS7 0x60
+#define SW4_CS8 0x61
+#define SW4_CS9 0x62
+#define SW4_CS10 0x63
+#define SW4_CS11 0x64
+#define SW4_CS12 0x65
+#define SW4_CS13 0x66
+#define SW4_CS14 0x67
+#define SW4_CS15 0x68
+#define SW4_CS16 0x69
+#define SW4_CS17 0x6A
+#define SW4_CS18 0x6B
+#define SW4_CS19 0x6C
+#define SW4_CS20 0x6D
+#define SW4_CS21 0x6E
+#define SW4_CS22 0x6F
+#define SW4_CS23 0x70
+#define SW4_CS24 0x71
+#define SW4_CS25 0x72
+#define SW4_CS26 0x73
+#define SW4_CS27 0x74
+#define SW4_CS28 0x75
+#define SW4_CS29 0x76
+#define SW4_CS30 0x77
+
+#define SW5_CS1 0x78
+#define SW5_CS2 0x79
+#define SW5_CS3 0x7A
+#define SW5_CS4 0x7B
+#define SW5_CS5 0x7C
+#define SW5_CS6 0x7D
+#define SW5_CS7 0x7E
+#define SW5_CS8 0x7F
+#define SW5_CS9 0x80
+#define SW5_CS10 0x81
+#define SW5_CS11 0x82
+#define SW5_CS12 0x83
+#define SW5_CS13 0x84
+#define SW5_CS14 0x85
+#define SW5_CS15 0x86
+#define SW5_CS16 0x87
+#define SW5_CS17 0x88
+#define SW5_CS18 0x89
+#define SW5_CS19 0x8A
+#define SW5_CS20 0x8B
+#define SW5_CS21 0x8C
+#define SW5_CS22 0x8D
+#define SW5_CS23 0x8E
+#define SW5_CS24 0x8F
+#define SW5_CS25 0x90
+#define SW5_CS26 0x91
+#define SW5_CS27 0x92
+#define SW5_CS28 0x93
+#define SW5_CS29 0x94
+#define SW5_CS30 0x95
+
+#define SW6_CS1 0x96
+#define SW6_CS2 0x97
+#define SW6_CS3 0x98
+#define SW6_CS4 0x99
+#define SW6_CS5 0x9A
+#define SW6_CS6 0x9B
+#define SW6_CS7 0x9C
+#define SW6_CS8 0x9D
+#define SW6_CS9 0x9E
+#define SW6_CS10 0x9F
+#define SW6_CS11 0xA0
+#define SW6_CS12 0xA1
+#define SW6_CS13 0xA2
+#define SW6_CS14 0xA3
+#define SW6_CS15 0xA4
+#define SW6_CS16 0xA5
+#define SW6_CS17 0xA6
+#define SW6_CS18 0xA7
+#define SW6_CS19 0xA8
+#define SW6_CS20 0xA9
+#define SW6_CS21 0xAA
+#define SW6_CS22 0xAB
+#define SW6_CS23 0xAC
+#define SW6_CS24 0xAD
+#define SW6_CS25 0xAE
+#define SW6_CS26 0xAF
+#define SW6_CS27 0xB0
+#define SW6_CS28 0xB1
+#define SW6_CS29 0xB2
+#define SW6_CS30 0xB3
diff --git a/drivers/led/issi/is31fl3743.h b/drivers/led/issi/is31fl3743.h
deleted file mode 100644
index 706b271254..0000000000
--- a/drivers/led/issi/is31fl3743.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- * Copyright 2021 MasterSpoon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 <-> GND
-// 01 <-> SCL
-// 10 <-> SDA
-// 11 <-> VCC
-// ADDR1 represents A1:A0 of the 7-bit address.
-// ADDR2 represents A3:A2 of the 7-bit address.
-// The result is: 0b010(ADDR2)(ADDR1)
-#ifndef DRIVER_ADDR_1
-# define DRIVER_ADDR_1 0b0100000
-#endif
-
-// Set defaults for Spread Spectrum Register
-#ifndef ISSI_SSR_1
-# ifndef DRIVER_ADDR_2
-# define ISSI_SSR_1 0x00
-# else
-# define ISSI_SSR_1 0xC0
-# endif
-#endif
-#ifndef ISSI_SSR_2
-# define ISSI_SSR_2 0x80
-#endif
-#ifndef ISSI_SSR_3
-# define ISSI_SSR_3 0x80
-#endif
-#ifndef ISSI_SSR_4
-# define ISSI_SSR_4 0x80
-#endif
-
-// Command Registers
-#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE
-#define ISSI_COMMANDREGISTER 0xFD
-#define ISSI_IDREGISTER 0xFC
-#define ISSI_REGISTER_UNLOCK 0xC5
-
-// Response Registers
-#define ISSI_PAGE_PWM 0x00
-#define ISSI_PAGE_SCALING 0x01
-#define ISSI_PAGE_FUNCTION 0x02
-
-// Registers under Function Register
-#define ISSI_REG_CONFIGURATION 0x00
-#define ISSI_REG_GLOBALCURRENT 0x01
-#define ISSI_REG_PULLDOWNUP 0x02
-#define ISSI_REG_TEMP 0x24
-#define ISSI_REG_SSR 0x25
-#define ISSI_REG_RESET 0x2F
-
-// Set defaults for Function Registers
-#ifndef ISSI_CONFIGURATION
-# define ISSI_CONFIGURATION 0x01
-#endif
-#ifndef ISSI_GLOBALCURRENT
-# define ISSI_GLOBALCURRENT 0xFF
-#endif
-#ifndef ISSI_PULLDOWNUP
-# define ISSI_PULLDOWNUP 0x33
-#endif
-#ifndef ISSI_TEMP
-# define ISSI_TEMP 0x00
-#endif
-
-// Set defaults for Scaling registers
-#ifndef ISSI_SCAL_RED
-# define ISSI_SCAL_RED 0xFF
-#endif
-#ifndef ISSI_SCAL_BLUE
-# define ISSI_SCAL_BLUE 0xFF
-#endif
-#ifndef ISSI_SCAL_GREEN
-# define ISSI_SCAL_GREEN 0xFF
-#endif
-#define ISSI_SCAL_RED_OFF 0x00
-#define ISSI_SCAL_GREEN_OFF 0x00
-#define ISSI_SCAL_BLUE_OFF 0x00
-
-#ifndef ISSI_SCAL_LED
-# define ISSI_SCAL_LED 0xFF
-#endif
-#define ISSI_SCAL_LED_OFF 0x00
-
-// Set buffer sizes
-#define ISSI_MAX_LEDS 198
-#define ISSI_SCALING_SIZE 198
-#define ISSI_PWM_TRF_SIZE 18
-#define ISSI_SCALING_TRF_SIZE 18
-
-// Location of 1st bit for PWM and Scaling registers
-#define ISSI_PWM_REG_1ST 0x01
-#define ISSI_SCL_REG_1ST 0x01
-
-// Map CS SW locations to order in PWM / Scaling buffers
-// This matches the ORDER in the Datasheet Register not the POSITION
-// It will always count from 0x00 to (ISSI_MAX_LEDS - 1)
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-
-#define CS1_SW2 0x12
-#define CS2_SW2 0x13
-#define CS3_SW2 0x14
-#define CS4_SW2 0x15
-#define CS5_SW2 0x16
-#define CS6_SW2 0x17
-#define CS7_SW2 0x18
-#define CS8_SW2 0x19
-#define CS9_SW2 0x1A
-#define CS10_SW2 0x1B
-#define CS11_SW2 0x1C
-#define CS12_SW2 0x1D
-#define CS13_SW2 0x1E
-#define CS14_SW2 0x1F
-#define CS15_SW2 0x20
-#define CS16_SW2 0x21
-#define CS17_SW2 0x22
-#define CS18_SW2 0x23
-
-#define CS1_SW3 0x24
-#define CS2_SW3 0x25
-#define CS3_SW3 0x26
-#define CS4_SW3 0x27
-#define CS5_SW3 0x28
-#define CS6_SW3 0x29
-#define CS7_SW3 0x2A
-#define CS8_SW3 0x2B
-#define CS9_SW3 0x2C
-#define CS10_SW3 0x2D
-#define CS11_SW3 0x2E
-#define CS12_SW3 0x2F
-#define CS13_SW3 0x30
-#define CS14_SW3 0x31
-#define CS15_SW3 0x32
-#define CS16_SW3 0x33
-#define CS17_SW3 0x34
-#define CS18_SW3 0x35
-
-#define CS1_SW4 0x36
-#define CS2_SW4 0x37
-#define CS3_SW4 0x38
-#define CS4_SW4 0x39
-#define CS5_SW4 0x3A
-#define CS6_SW4 0x3B
-#define CS7_SW4 0x3C
-#define CS8_SW4 0x3D
-#define CS9_SW4 0x3E
-#define CS10_SW4 0x3F
-#define CS11_SW4 0x40
-#define CS12_SW4 0x41
-#define CS13_SW4 0x42
-#define CS14_SW4 0x43
-#define CS15_SW4 0x44
-#define CS16_SW4 0x45
-#define CS17_SW4 0x46
-#define CS18_SW4 0x47
-
-#define CS1_SW5 0x48
-#define CS2_SW5 0x49
-#define CS3_SW5 0x4A
-#define CS4_SW5 0x4B
-#define CS5_SW5 0x4C
-#define CS6_SW5 0x4D
-#define CS7_SW5 0x4E
-#define CS8_SW5 0x4F
-#define CS9_SW5 0x50
-#define CS10_SW5 0x51
-#define CS11_SW5 0x52
-#define CS12_SW5 0x53
-#define CS13_SW5 0x54
-#define CS14_SW5 0x55
-#define CS15_SW5 0x56
-#define CS16_SW5 0x57
-#define CS17_SW5 0x58
-#define CS18_SW5 0x59
-
-#define CS1_SW6 0x5A
-#define CS2_SW6 0x5B
-#define CS3_SW6 0x5C
-#define CS4_SW6 0x5D
-#define CS5_SW6 0x5E
-#define CS6_SW6 0x5F
-#define CS7_SW6 0x60
-#define CS8_SW6 0x61
-#define CS9_SW6 0x62
-#define CS10_SW6 0x63
-#define CS11_SW6 0x64
-#define CS12_SW6 0x65
-#define CS13_SW6 0x66
-#define CS14_SW6 0x67
-#define CS15_SW6 0x68
-#define CS16_SW6 0x69
-#define CS17_SW6 0x6A
-#define CS18_SW6 0x6B
-
-#define CS1_SW7 0x6C
-#define CS2_SW7 0x6D
-#define CS3_SW7 0x6E
-#define CS4_SW7 0x6F
-#define CS5_SW7 0x70
-#define CS6_SW7 0x71
-#define CS7_SW7 0x72
-#define CS8_SW7 0x73
-#define CS9_SW7 0x74
-#define CS10_SW7 0x75
-#define CS11_SW7 0x76
-#define CS12_SW7 0x77
-#define CS13_SW7 0x78
-#define CS14_SW7 0x79
-#define CS15_SW7 0x7A
-#define CS16_SW7 0x7B
-#define CS17_SW7 0x7C
-#define CS18_SW7 0x7D
-
-#define CS1_SW8 0x7E
-#define CS2_SW8 0x7F
-#define CS3_SW8 0x80
-#define CS4_SW8 0x81
-#define CS5_SW8 0x82
-#define CS6_SW8 0x83
-#define CS7_SW8 0x84
-#define CS8_SW8 0x85
-#define CS9_SW8 0x86
-#define CS10_SW8 0x87
-#define CS11_SW8 0x88
-#define CS12_SW8 0x89
-#define CS13_SW8 0x8A
-#define CS14_SW8 0x8B
-#define CS15_SW8 0x8C
-#define CS16_SW8 0x8D
-#define CS17_SW8 0x8E
-#define CS18_SW8 0x8F
-
-#define CS1_SW9 0x90
-#define CS2_SW9 0x91
-#define CS3_SW9 0x92
-#define CS4_SW9 0x93
-#define CS5_SW9 0x94
-#define CS6_SW9 0x95
-#define CS7_SW9 0x96
-#define CS8_SW9 0x97
-#define CS9_SW9 0x98
-#define CS10_SW9 0x99
-#define CS11_SW9 0x9A
-#define CS12_SW9 0x9B
-#define CS13_SW9 0x9C
-#define CS14_SW9 0x9D
-#define CS15_SW9 0x9E
-#define CS16_SW9 0x9F
-#define CS17_SW9 0xA0
-#define CS18_SW9 0xA1
-
-#define CS1_SW10 0xA2
-#define CS2_SW10 0xA3
-#define CS3_SW10 0xA4
-#define CS4_SW10 0xA5
-#define CS5_SW10 0xA6
-#define CS6_SW10 0xA7
-#define CS7_SW10 0xA8
-#define CS8_SW10 0xA9
-#define CS9_SW10 0xAA
-#define CS10_SW10 0xAB
-#define CS11_SW10 0xAC
-#define CS12_SW10 0xAD
-#define CS13_SW10 0xAE
-#define CS14_SW10 0xAF
-#define CS15_SW10 0xB0
-#define CS16_SW10 0xB1
-#define CS17_SW10 0xB2
-#define CS18_SW10 0xB3
-
-#define CS1_SW11 0xB4
-#define CS2_SW11 0xB5
-#define CS3_SW11 0xB6
-#define CS4_SW11 0xB7
-#define CS5_SW11 0xB8
-#define CS6_SW11 0xB9
-#define CS7_SW11 0xBA
-#define CS8_SW11 0xBB
-#define CS9_SW11 0xBC
-#define CS10_SW11 0xBD
-#define CS11_SW11 0xBE
-#define CS12_SW11 0xBF
-#define CS13_SW11 0xC0
-#define CS14_SW11 0xC1
-#define CS15_SW11 0xC2
-#define CS16_SW11 0xC3
-#define CS17_SW11 0xC4
-#define CS18_SW11 0xC5
diff --git a/drivers/led/issi/is31fl3743a-mono.c b/drivers/led/issi/is31fl3743a-mono.c
new file mode 100644
index 0000000000..6413dbef04
--- /dev/null
+++ b/drivers/led/issi/is31fl3743a-mono.c
@@ -0,0 +1,245 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3743a-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3743A_PWM_REGISTER_COUNT 198
+#define IS31FL3743A_SCALING_REGISTER_COUNT 198
+
+#ifndef IS31FL3743A_I2C_TIMEOUT
+# define IS31FL3743A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3743A_I2C_PERSISTENCE
+# define IS31FL3743A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3743A_CONFIGURATION
+# define IS31FL3743A_CONFIGURATION 0x01
+#endif
+
+#ifndef IS31FL3743A_SW_PULLDOWN
+# define IS31FL3743A_SW_PULLDOWN IS31FL3743A_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3743A_CS_PULLUP
+# define IS31FL3743A_CS_PULLUP IS31FL3743A_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3743A_GLOBAL_CURRENT
+# define IS31FL3743A_GLOBAL_CURRENT 0xFF
+#endif
+
+#ifndef IS31FL3743A_SYNC_1
+# define IS31FL3743A_SYNC_1 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_2
+# define IS31FL3743A_SYNC_2 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_3
+# define IS31FL3743A_SYNC_3 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_4
+# define IS31FL3743A_SYNC_4 IS31FL3743A_SYNC_NONE
+#endif
+
+const uint8_t i2c_addresses[IS31FL3743A_DRIVER_COUNT] = {
+ IS31FL3743A_I2C_ADDRESS_1,
+#ifdef IS31FL3743A_I2C_ADDRESS_2
+ IS31FL3743A_I2C_ADDRESS_2,
+# ifdef IS31FL3743A_I2C_ADDRESS_3
+ IS31FL3743A_I2C_ADDRESS_3,
+# ifdef IS31FL3743A_I2C_ADDRESS_4
+ IS31FL3743A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3743A_DRIVER_COUNT] = {
+ IS31FL3743A_SYNC_1,
+#ifdef IS31FL3743A_I2C_ADDRESS_2
+ IS31FL3743A_SYNC_2,
+# ifdef IS31FL3743A_I2C_ADDRESS_3
+ IS31FL3743A_SYNC_3,
+# ifdef IS31FL3743A_I2C_ADDRESS_4
+ IS31FL3743A_SYNC_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3743a_driver_t {
+ uint8_t pwm_buffer[IS31FL3743A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3743A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3743a_driver_t;
+
+is31fl3743a_driver_t driver_buffers[IS31FL3743A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3743a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3743A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3743A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3743A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3743a_select_page(uint8_t index, uint8_t page) {
+ is31fl3743a_write_register(index, IS31FL3743A_REG_COMMAND_WRITE_LOCK, IS31FL3743A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3743a_write_register(index, IS31FL3743A_REG_COMMAND, page);
+}
+
+void is31fl3743a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 11 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3743A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3743A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3743a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3743A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3743A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3743A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3743A_LED_COUNT; i++) {
+ is31fl3743a_set_scaling_register(i, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3743a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3743A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
+
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_PULLDOWNUP, (IS31FL3743A_SW_PULLDOWN << 4) | IS31FL3743A_CS_PULLUP);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3743A_GLOBAL_CURRENT);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_SPREAD_SPECTRUM, (sync & 0b11) << 6);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_CONFIGURATION, IS31FL3743A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3743a_set_value(int index, uint8_t value) {
+ is31fl3743a_led_t led;
+
+ if (index >= 0 && index < IS31FL3743A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3743a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3743a_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3743A_LED_COUNT; i++) {
+ is31fl3743a_set_value(i, value);
+ }
+}
+
+void is31fl3743a_set_scaling_register(uint8_t index, uint8_t value) {
+ is31fl3743a_led_t led;
+ memcpy_P(&led, (&g_is31fl3743a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.v] = value;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3743a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_PWM);
+
+ is31fl3743a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3743a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3743A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3743a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3743a-mono.h b/drivers/led/issi/is31fl3743a-mono.h
new file mode 100644
index 0000000000..4c582d3a7a
--- /dev/null
+++ b/drivers/led/issi/is31fl3743a-mono.h
@@ -0,0 +1,328 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3743A_REG_ID 0xFC
+
+#define IS31FL3743A_REG_COMMAND 0xFD
+
+#define IS31FL3743A_COMMAND_PWM 0x00
+#define IS31FL3743A_COMMAND_SCALING 0x01
+#define IS31FL3743A_COMMAND_FUNCTION 0x02
+
+#define IS31FL3743A_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3743A_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3743A_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3743A_FUNCTION_REG_TEMPERATURE 0x24
+#define IS31FL3743A_FUNCTION_REG_SPREAD_SPECTRUM 0x25
+#define IS31FL3743A_FUNCTION_REG_RESET 0x2F
+
+#define IS31FL3743A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3743A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3743A_I2C_ADDRESS_GND_GND 0x20
+#define IS31FL3743A_I2C_ADDRESS_GND_SCL 0x21
+#define IS31FL3743A_I2C_ADDRESS_GND_SDA 0x22
+#define IS31FL3743A_I2C_ADDRESS_GND_VCC 0x23
+#define IS31FL3743A_I2C_ADDRESS_SCL_GND 0x24
+#define IS31FL3743A_I2C_ADDRESS_SCL_SCL 0x25
+#define IS31FL3743A_I2C_ADDRESS_SCL_SDA 0x26
+#define IS31FL3743A_I2C_ADDRESS_SCL_VCC 0x27
+#define IS31FL3743A_I2C_ADDRESS_SDA_GND 0x28
+#define IS31FL3743A_I2C_ADDRESS_SDA_SCL 0x29
+#define IS31FL3743A_I2C_ADDRESS_SDA_SDA 0x2A
+#define IS31FL3743A_I2C_ADDRESS_SDA_VCC 0x2B
+#define IS31FL3743A_I2C_ADDRESS_VCC_GND 0x2C
+#define IS31FL3743A_I2C_ADDRESS_VCC_SCL 0x2D
+#define IS31FL3743A_I2C_ADDRESS_VCC_SDA 0x2E
+#define IS31FL3743A_I2C_ADDRESS_VCC_VCC 0x2F
+
+#if defined(LED_MATRIX_IS31FL3743A)
+# define IS31FL3743A_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3743A_I2C_ADDRESS_4)
+# define IS31FL3743A_DRIVER_COUNT 4
+#elif defined(IS31FL3743A_I2C_ADDRESS_3)
+# define IS31FL3743A_DRIVER_COUNT 3
+#elif defined(IS31FL3743A_I2C_ADDRESS_2)
+# define IS31FL3743A_DRIVER_COUNT 2
+#elif defined(IS31FL3743A_I2C_ADDRESS_1)
+# define IS31FL3743A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3743a_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3743a_led_t;
+
+extern const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT];
+
+void is31fl3743a_init_drivers(void);
+void is31fl3743a_init(uint8_t index);
+void is31fl3743a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3743a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3743a_set_value(int index, uint8_t value);
+void is31fl3743a_set_value_all(uint8_t value);
+
+void is31fl3743a_set_scaling_register(uint8_t index, uint8_t value);
+
+void is31fl3743a_update_pwm_buffers(uint8_t index);
+void is31fl3743a_update_scaling_registers(uint8_t index);
+
+void is31fl3743a_flush(void);
+
+#define IS31FL3743A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3743A_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3743A_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3743A_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3743A_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3743A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3743A_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3743A_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3743A_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3743A_PUR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3743A_SYNC_NONE 0b00
+#define IS31FL3743A_SYNC_SLAVE 0b10
+#define IS31FL3743A_SYNC_MASTER 0b11
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
+
+#define SW5_CS1 0x48
+#define SW5_CS2 0x49
+#define SW5_CS3 0x4A
+#define SW5_CS4 0x4B
+#define SW5_CS5 0x4C
+#define SW5_CS6 0x4D
+#define SW5_CS7 0x4E
+#define SW5_CS8 0x4F
+#define SW5_CS9 0x50
+#define SW5_CS10 0x51
+#define SW5_CS11 0x52
+#define SW5_CS12 0x53
+#define SW5_CS13 0x54
+#define SW5_CS14 0x55
+#define SW5_CS15 0x56
+#define SW5_CS16 0x57
+#define SW5_CS17 0x58
+#define SW5_CS18 0x59
+
+#define SW6_CS1 0x5A
+#define SW6_CS2 0x5B
+#define SW6_CS3 0x5C
+#define SW6_CS4 0x5D
+#define SW6_CS5 0x5E
+#define SW6_CS6 0x5F
+#define SW6_CS7 0x60
+#define SW6_CS8 0x61
+#define SW6_CS9 0x62
+#define SW6_CS10 0x63
+#define SW6_CS11 0x64
+#define SW6_CS12 0x65
+#define SW6_CS13 0x66
+#define SW6_CS14 0x67
+#define SW6_CS15 0x68
+#define SW6_CS16 0x69
+#define SW6_CS17 0x6A
+#define SW6_CS18 0x6B
+
+#define SW7_CS1 0x6C
+#define SW7_CS2 0x6D
+#define SW7_CS3 0x6E
+#define SW7_CS4 0x6F
+#define SW7_CS5 0x70
+#define SW7_CS6 0x71
+#define SW7_CS7 0x72
+#define SW7_CS8 0x73
+#define SW7_CS9 0x74
+#define SW7_CS10 0x75
+#define SW7_CS11 0x76
+#define SW7_CS12 0x77
+#define SW7_CS13 0x78
+#define SW7_CS14 0x79
+#define SW7_CS15 0x7A
+#define SW7_CS16 0x7B
+#define SW7_CS17 0x7C
+#define SW7_CS18 0x7D
+
+#define SW8_CS1 0x7E
+#define SW8_CS2 0x7F
+#define SW8_CS3 0x80
+#define SW8_CS4 0x81
+#define SW8_CS5 0x82
+#define SW8_CS6 0x83
+#define SW8_CS7 0x84
+#define SW8_CS8 0x85
+#define SW8_CS9 0x86
+#define SW8_CS10 0x87
+#define SW8_CS11 0x88
+#define SW8_CS12 0x89
+#define SW8_CS13 0x8A
+#define SW8_CS14 0x8B
+#define SW8_CS15 0x8C
+#define SW8_CS16 0x8D
+#define SW8_CS17 0x8E
+#define SW8_CS18 0x8F
+
+#define SW9_CS1 0x90
+#define SW9_CS2 0x91
+#define SW9_CS3 0x92
+#define SW9_CS4 0x93
+#define SW9_CS5 0x94
+#define SW9_CS6 0x95
+#define SW9_CS7 0x96
+#define SW9_CS8 0x97
+#define SW9_CS9 0x98
+#define SW9_CS10 0x99
+#define SW9_CS11 0x9A
+#define SW9_CS12 0x9B
+#define SW9_CS13 0x9C
+#define SW9_CS14 0x9D
+#define SW9_CS15 0x9E
+#define SW9_CS16 0x9F
+#define SW9_CS17 0xA0
+#define SW9_CS18 0xA1
+
+#define SW10_CS1 0xA2
+#define SW10_CS2 0xA3
+#define SW10_CS3 0xA4
+#define SW10_CS4 0xA5
+#define SW10_CS5 0xA6
+#define SW10_CS6 0xA7
+#define SW10_CS7 0xA8
+#define SW10_CS8 0xA9
+#define SW10_CS9 0xAA
+#define SW10_CS10 0xAB
+#define SW10_CS11 0xAC
+#define SW10_CS12 0xAD
+#define SW10_CS13 0xAE
+#define SW10_CS14 0xAF
+#define SW10_CS15 0xB0
+#define SW10_CS16 0xB1
+#define SW10_CS17 0xB2
+#define SW10_CS18 0xB3
+
+#define SW11_CS1 0xB4
+#define SW11_CS2 0xB5
+#define SW11_CS3 0xB6
+#define SW11_CS4 0xB7
+#define SW11_CS5 0xB8
+#define SW11_CS6 0xB9
+#define SW11_CS7 0xBA
+#define SW11_CS8 0xBB
+#define SW11_CS9 0xBC
+#define SW11_CS10 0xBD
+#define SW11_CS11 0xBE
+#define SW11_CS12 0xBF
+#define SW11_CS13 0xC0
+#define SW11_CS14 0xC1
+#define SW11_CS15 0xC2
+#define SW11_CS16 0xC3
+#define SW11_CS17 0xC4
+#define SW11_CS18 0xC5
diff --git a/drivers/led/issi/is31fl3743a.c b/drivers/led/issi/is31fl3743a.c
new file mode 100644
index 0000000000..6f13925f27
--- /dev/null
+++ b/drivers/led/issi/is31fl3743a.c
@@ -0,0 +1,249 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3743a.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3743A_PWM_REGISTER_COUNT 198
+#define IS31FL3743A_SCALING_REGISTER_COUNT 198
+
+#ifndef IS31FL3743A_I2C_TIMEOUT
+# define IS31FL3743A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3743A_I2C_PERSISTENCE
+# define IS31FL3743A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3743A_CONFIGURATION
+# define IS31FL3743A_CONFIGURATION 0x01
+#endif
+
+#ifndef IS31FL3743A_SW_PULLDOWN
+# define IS31FL3743A_SW_PULLDOWN IS31FL3743A_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3743A_CS_PULLUP
+# define IS31FL3743A_CS_PULLUP IS31FL3743A_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3743A_GLOBAL_CURRENT
+# define IS31FL3743A_GLOBAL_CURRENT 0xFF
+#endif
+
+#ifndef IS31FL3743A_SYNC_1
+# define IS31FL3743A_SYNC_1 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_2
+# define IS31FL3743A_SYNC_2 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_3
+# define IS31FL3743A_SYNC_3 IS31FL3743A_SYNC_NONE
+#endif
+#ifndef IS31FL3743A_SYNC_4
+# define IS31FL3743A_SYNC_4 IS31FL3743A_SYNC_NONE
+#endif
+
+const uint8_t i2c_addresses[IS31FL3743A_DRIVER_COUNT] = {
+ IS31FL3743A_I2C_ADDRESS_1,
+#ifdef IS31FL3743A_I2C_ADDRESS_2
+ IS31FL3743A_I2C_ADDRESS_2,
+# ifdef IS31FL3743A_I2C_ADDRESS_3
+ IS31FL3743A_I2C_ADDRESS_3,
+# ifdef IS31FL3743A_I2C_ADDRESS_4
+ IS31FL3743A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3743A_DRIVER_COUNT] = {
+ IS31FL3743A_SYNC_1,
+#ifdef IS31FL3743A_I2C_ADDRESS_2
+ IS31FL3743A_SYNC_2,
+# ifdef IS31FL3743A_I2C_ADDRESS_3
+ IS31FL3743A_SYNC_3,
+# ifdef IS31FL3743A_I2C_ADDRESS_4
+ IS31FL3743A_SYNC_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3743a_driver_t {
+ uint8_t pwm_buffer[IS31FL3743A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3743A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3743a_driver_t;
+
+is31fl3743a_driver_t driver_buffers[IS31FL3743A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3743a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3743A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3743A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3743A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3743a_select_page(uint8_t index, uint8_t page) {
+ is31fl3743a_write_register(index, IS31FL3743A_REG_COMMAND_WRITE_LOCK, IS31FL3743A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3743a_write_register(index, IS31FL3743A_REG_COMMAND, page);
+}
+
+void is31fl3743a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 11 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3743A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3743A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3743A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3743a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3743A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3743A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3743A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3743A_LED_COUNT; i++) {
+ is31fl3743a_set_scaling_register(i, 0xFF, 0xFF, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3743a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3743A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3743A_PWM_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
+
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_PULLDOWNUP, (IS31FL3743A_SW_PULLDOWN << 4) | IS31FL3743A_CS_PULLUP);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3743A_GLOBAL_CURRENT);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_SPREAD_SPECTRUM, (sync & 0b11) << 6);
+ is31fl3743a_write_register(index, IS31FL3743A_FUNCTION_REG_CONFIGURATION, IS31FL3743A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3743a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3743a_led_t led;
+
+ if (index >= 0 && index < IS31FL3743A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3743a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3743a_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < IS31FL3743A_LED_COUNT; i++) {
+ is31fl3743a_set_color(i, red, green, blue);
+ }
+}
+
+void is31fl3743a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3743a_led_t led;
+ memcpy_P(&led, (&g_is31fl3743a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.r] = red;
+ driver_buffers[led.driver].scaling_buffer[led.g] = green;
+ driver_buffers[led.driver].scaling_buffer[led.b] = blue;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3743a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_PWM);
+
+ is31fl3743a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3743a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3743a_select_page(index, IS31FL3743A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3743A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3743a_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3743a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3743A_DRIVER_COUNT; i++) {
+ is31fl3743a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3743a.h b/drivers/led/issi/is31fl3743a.h
new file mode 100644
index 0000000000..48aeab46ab
--- /dev/null
+++ b/drivers/led/issi/is31fl3743a.h
@@ -0,0 +1,541 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3743A_REG_ID 0xFC
+
+#define IS31FL3743A_REG_COMMAND 0xFD
+
+#define IS31FL3743A_COMMAND_PWM 0x00
+#define IS31FL3743A_COMMAND_SCALING 0x01
+#define IS31FL3743A_COMMAND_FUNCTION 0x02
+
+#define IS31FL3743A_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3743A_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3743A_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3743A_FUNCTION_REG_TEMPERATURE 0x24
+#define IS31FL3743A_FUNCTION_REG_SPREAD_SPECTRUM 0x25
+#define IS31FL3743A_FUNCTION_REG_RESET 0x2F
+
+#define IS31FL3743A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3743A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3743A_I2C_ADDRESS_GND_GND 0x20
+#define IS31FL3743A_I2C_ADDRESS_GND_SCL 0x21
+#define IS31FL3743A_I2C_ADDRESS_GND_SDA 0x22
+#define IS31FL3743A_I2C_ADDRESS_GND_VCC 0x23
+#define IS31FL3743A_I2C_ADDRESS_SCL_GND 0x24
+#define IS31FL3743A_I2C_ADDRESS_SCL_SCL 0x25
+#define IS31FL3743A_I2C_ADDRESS_SCL_SDA 0x26
+#define IS31FL3743A_I2C_ADDRESS_SCL_VCC 0x27
+#define IS31FL3743A_I2C_ADDRESS_SDA_GND 0x28
+#define IS31FL3743A_I2C_ADDRESS_SDA_SCL 0x29
+#define IS31FL3743A_I2C_ADDRESS_SDA_SDA 0x2A
+#define IS31FL3743A_I2C_ADDRESS_SDA_VCC 0x2B
+#define IS31FL3743A_I2C_ADDRESS_VCC_GND 0x2C
+#define IS31FL3743A_I2C_ADDRESS_VCC_SCL 0x2D
+#define IS31FL3743A_I2C_ADDRESS_VCC_SDA 0x2E
+#define IS31FL3743A_I2C_ADDRESS_VCC_VCC 0x2F
+
+#if defined(RGB_MATRIX_IS31FL3743A)
+# define IS31FL3743A_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3743A_I2C_ADDRESS_4)
+# define IS31FL3743A_DRIVER_COUNT 4
+#elif defined(IS31FL3743A_I2C_ADDRESS_3)
+# define IS31FL3743A_DRIVER_COUNT 3
+#elif defined(IS31FL3743A_I2C_ADDRESS_2)
+# define IS31FL3743A_DRIVER_COUNT 2
+#elif defined(IS31FL3743A_I2C_ADDRESS_1)
+# define IS31FL3743A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3743a_led_t {
+ uint8_t driver : 2;
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+} PACKED is31fl3743a_led_t;
+
+extern const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT];
+
+void is31fl3743a_init_drivers(void);
+void is31fl3743a_init(uint8_t index);
+void is31fl3743a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3743a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3743a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void is31fl3743a_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3743a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3743a_update_pwm_buffers(uint8_t index);
+void is31fl3743a_update_scaling_registers(uint8_t index);
+
+void is31fl3743a_flush(void);
+
+#define IS31FL3743A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3743A_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3743A_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3743A_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3743A_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3743A_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3743A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3743A_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3743A_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3743A_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3743A_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3743A_PUR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3743A_SYNC_NONE 0b00
+#define IS31FL3743A_SYNC_SLAVE 0b10
+#define IS31FL3743A_SYNC_MASTER 0b11
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
+
+#define SW5_CS1 0x48
+#define SW5_CS2 0x49
+#define SW5_CS3 0x4A
+#define SW5_CS4 0x4B
+#define SW5_CS5 0x4C
+#define SW5_CS6 0x4D
+#define SW5_CS7 0x4E
+#define SW5_CS8 0x4F
+#define SW5_CS9 0x50
+#define SW5_CS10 0x51
+#define SW5_CS11 0x52
+#define SW5_CS12 0x53
+#define SW5_CS13 0x54
+#define SW5_CS14 0x55
+#define SW5_CS15 0x56
+#define SW5_CS16 0x57
+#define SW5_CS17 0x58
+#define SW5_CS18 0x59
+
+#define SW6_CS1 0x5A
+#define SW6_CS2 0x5B
+#define SW6_CS3 0x5C
+#define SW6_CS4 0x5D
+#define SW6_CS5 0x5E
+#define SW6_CS6 0x5F
+#define SW6_CS7 0x60
+#define SW6_CS8 0x61
+#define SW6_CS9 0x62
+#define SW6_CS10 0x63
+#define SW6_CS11 0x64
+#define SW6_CS12 0x65
+#define SW6_CS13 0x66
+#define SW6_CS14 0x67
+#define SW6_CS15 0x68
+#define SW6_CS16 0x69
+#define SW6_CS17 0x6A
+#define SW6_CS18 0x6B
+
+#define SW7_CS1 0x6C
+#define SW7_CS2 0x6D
+#define SW7_CS3 0x6E
+#define SW7_CS4 0x6F
+#define SW7_CS5 0x70
+#define SW7_CS6 0x71
+#define SW7_CS7 0x72
+#define SW7_CS8 0x73
+#define SW7_CS9 0x74
+#define SW7_CS10 0x75
+#define SW7_CS11 0x76
+#define SW7_CS12 0x77
+#define SW7_CS13 0x78
+#define SW7_CS14 0x79
+#define SW7_CS15 0x7A
+#define SW7_CS16 0x7B
+#define SW7_CS17 0x7C
+#define SW7_CS18 0x7D
+
+#define SW8_CS1 0x7E
+#define SW8_CS2 0x7F
+#define SW8_CS3 0x80
+#define SW8_CS4 0x81
+#define SW8_CS5 0x82
+#define SW8_CS6 0x83
+#define SW8_CS7 0x84
+#define SW8_CS8 0x85
+#define SW8_CS9 0x86
+#define SW8_CS10 0x87
+#define SW8_CS11 0x88
+#define SW8_CS12 0x89
+#define SW8_CS13 0x8A
+#define SW8_CS14 0x8B
+#define SW8_CS15 0x8C
+#define SW8_CS16 0x8D
+#define SW8_CS17 0x8E
+#define SW8_CS18 0x8F
+
+#define SW9_CS1 0x90
+#define SW9_CS2 0x91
+#define SW9_CS3 0x92
+#define SW9_CS4 0x93
+#define SW9_CS5 0x94
+#define SW9_CS6 0x95
+#define SW9_CS7 0x96
+#define SW9_CS8 0x97
+#define SW9_CS9 0x98
+#define SW9_CS10 0x99
+#define SW9_CS11 0x9A
+#define SW9_CS12 0x9B
+#define SW9_CS13 0x9C
+#define SW9_CS14 0x9D
+#define SW9_CS15 0x9E
+#define SW9_CS16 0x9F
+#define SW9_CS17 0xA0
+#define SW9_CS18 0xA1
+
+#define SW10_CS1 0xA2
+#define SW10_CS2 0xA3
+#define SW10_CS3 0xA4
+#define SW10_CS4 0xA5
+#define SW10_CS5 0xA6
+#define SW10_CS6 0xA7
+#define SW10_CS7 0xA8
+#define SW10_CS8 0xA9
+#define SW10_CS9 0xAA
+#define SW10_CS10 0xAB
+#define SW10_CS11 0xAC
+#define SW10_CS12 0xAD
+#define SW10_CS13 0xAE
+#define SW10_CS14 0xAF
+#define SW10_CS15 0xB0
+#define SW10_CS16 0xB1
+#define SW10_CS17 0xB2
+#define SW10_CS18 0xB3
+
+#define SW11_CS1 0xB4
+#define SW11_CS2 0xB5
+#define SW11_CS3 0xB6
+#define SW11_CS4 0xB7
+#define SW11_CS5 0xB8
+#define SW11_CS6 0xB9
+#define SW11_CS7 0xBA
+#define SW11_CS8 0xBB
+#define SW11_CS9 0xBC
+#define SW11_CS10 0xBD
+#define SW11_CS11 0xBE
+#define SW11_CS12 0xBF
+#define SW11_CS13 0xC0
+#define SW11_CS14 0xC1
+#define SW11_CS15 0xC2
+#define SW11_CS16 0xC3
+#define SW11_CS17 0xC4
+#define SW11_CS18 0xC5
+
+// DEPRECATED - DO NOT USE
+
+#define CS1_SW1 SW1_CS1
+#define CS2_SW1 SW1_CS2
+#define CS3_SW1 SW1_CS3
+#define CS4_SW1 SW1_CS4
+#define CS5_SW1 SW1_CS5
+#define CS6_SW1 SW1_CS6
+#define CS7_SW1 SW1_CS7
+#define CS8_SW1 SW1_CS8
+#define CS9_SW1 SW1_CS9
+#define CS10_SW1 SW1_CS10
+#define CS11_SW1 SW1_CS11
+#define CS12_SW1 SW1_CS12
+#define CS13_SW1 SW1_CS13
+#define CS14_SW1 SW1_CS14
+#define CS15_SW1 SW1_CS15
+#define CS16_SW1 SW1_CS16
+#define CS17_SW1 SW1_CS17
+#define CS18_SW1 SW1_CS18
+
+#define CS1_SW2 SW2_CS1
+#define CS2_SW2 SW2_CS2
+#define CS3_SW2 SW2_CS3
+#define CS4_SW2 SW2_CS4
+#define CS5_SW2 SW2_CS5
+#define CS6_SW2 SW2_CS6
+#define CS7_SW2 SW2_CS7
+#define CS8_SW2 SW2_CS8
+#define CS9_SW2 SW2_CS9
+#define CS10_SW2 SW2_CS10
+#define CS11_SW2 SW2_CS11
+#define CS12_SW2 SW2_CS12
+#define CS13_SW2 SW2_CS13
+#define CS14_SW2 SW2_CS14
+#define CS15_SW2 SW2_CS15
+#define CS16_SW2 SW2_CS16
+#define CS17_SW2 SW2_CS17
+#define CS18_SW2 SW2_CS18
+
+#define CS1_SW3 SW3_CS1
+#define CS2_SW3 SW3_CS2
+#define CS3_SW3 SW3_CS3
+#define CS4_SW3 SW3_CS4
+#define CS5_SW3 SW3_CS5
+#define CS6_SW3 SW3_CS6
+#define CS7_SW3 SW3_CS7
+#define CS8_SW3 SW3_CS8
+#define CS9_SW3 SW3_CS9
+#define CS10_SW3 SW3_CS10
+#define CS11_SW3 SW3_CS11
+#define CS12_SW3 SW3_CS12
+#define CS13_SW3 SW3_CS13
+#define CS14_SW3 SW3_CS14
+#define CS15_SW3 SW3_CS15
+#define CS16_SW3 SW3_CS16
+#define CS17_SW3 SW3_CS17
+#define CS18_SW3 SW3_CS18
+
+#define CS1_SW4 SW4_CS1
+#define CS2_SW4 SW4_CS2
+#define CS3_SW4 SW4_CS3
+#define CS4_SW4 SW4_CS4
+#define CS5_SW4 SW4_CS5
+#define CS6_SW4 SW4_CS6
+#define CS7_SW4 SW4_CS7
+#define CS8_SW4 SW4_CS8
+#define CS9_SW4 SW4_CS9
+#define CS10_SW4 SW4_CS10
+#define CS11_SW4 SW4_CS11
+#define CS12_SW4 SW4_CS12
+#define CS13_SW4 SW4_CS13
+#define CS14_SW4 SW4_CS14
+#define CS15_SW4 SW4_CS15
+#define CS16_SW4 SW4_CS16
+#define CS17_SW4 SW4_CS17
+#define CS18_SW4 SW4_CS18
+
+#define CS1_SW5 SW5_CS1
+#define CS2_SW5 SW5_CS2
+#define CS3_SW5 SW5_CS3
+#define CS4_SW5 SW5_CS4
+#define CS5_SW5 SW5_CS5
+#define CS6_SW5 SW5_CS6
+#define CS7_SW5 SW5_CS7
+#define CS8_SW5 SW5_CS8
+#define CS9_SW5 SW5_CS9
+#define CS10_SW5 SW5_CS10
+#define CS11_SW5 SW5_CS11
+#define CS12_SW5 SW5_CS12
+#define CS13_SW5 SW5_CS13
+#define CS14_SW5 SW5_CS14
+#define CS15_SW5 SW5_CS15
+#define CS16_SW5 SW5_CS16
+#define CS17_SW5 SW5_CS17
+#define CS18_SW5 SW5_CS18
+
+#define CS1_SW6 SW6_CS1
+#define CS2_SW6 SW6_CS2
+#define CS3_SW6 SW6_CS3
+#define CS4_SW6 SW6_CS4
+#define CS5_SW6 SW6_CS5
+#define CS6_SW6 SW6_CS6
+#define CS7_SW6 SW6_CS7
+#define CS8_SW6 SW6_CS8
+#define CS9_SW6 SW6_CS9
+#define CS10_SW6 SW6_CS10
+#define CS11_SW6 SW6_CS11
+#define CS12_SW6 SW6_CS12
+#define CS13_SW6 SW6_CS13
+#define CS14_SW6 SW6_CS14
+#define CS15_SW6 SW6_CS15
+#define CS16_SW6 SW6_CS16
+#define CS17_SW6 SW6_CS17
+#define CS18_SW6 SW6_CS18
+
+#define CS1_SW7 SW7_CS1
+#define CS2_SW7 SW7_CS2
+#define CS3_SW7 SW7_CS3
+#define CS4_SW7 SW7_CS4
+#define CS5_SW7 SW7_CS5
+#define CS6_SW7 SW7_CS6
+#define CS7_SW7 SW7_CS7
+#define CS8_SW7 SW7_CS8
+#define CS9_SW7 SW7_CS9
+#define CS10_SW7 SW7_CS10
+#define CS11_SW7 SW7_CS11
+#define CS12_SW7 SW7_CS12
+#define CS13_SW7 SW7_CS13
+#define CS14_SW7 SW7_CS14
+#define CS15_SW7 SW7_CS15
+#define CS16_SW7 SW7_CS16
+#define CS17_SW7 SW7_CS17
+#define CS18_SW7 SW7_CS18
+
+#define CS1_SW8 SW8_CS1
+#define CS2_SW8 SW8_CS2
+#define CS3_SW8 SW8_CS3
+#define CS4_SW8 SW8_CS4
+#define CS5_SW8 SW8_CS5
+#define CS6_SW8 SW8_CS6
+#define CS7_SW8 SW8_CS7
+#define CS8_SW8 SW8_CS8
+#define CS9_SW8 SW8_CS9
+#define CS10_SW8 SW8_CS10
+#define CS11_SW8 SW8_CS11
+#define CS12_SW8 SW8_CS12
+#define CS13_SW8 SW8_CS13
+#define CS14_SW8 SW8_CS14
+#define CS15_SW8 SW8_CS15
+#define CS16_SW8 SW8_CS16
+#define CS17_SW8 SW8_CS17
+#define CS18_SW8 SW8_CS18
+
+#define CS1_SW9 SW9_CS1
+#define CS2_SW9 SW9_CS2
+#define CS3_SW9 SW9_CS3
+#define CS4_SW9 SW9_CS4
+#define CS5_SW9 SW9_CS5
+#define CS6_SW9 SW9_CS6
+#define CS7_SW9 SW9_CS7
+#define CS8_SW9 SW9_CS8
+#define CS9_SW9 SW9_CS9
+#define CS10_SW9 SW9_CS10
+#define CS11_SW9 SW9_CS11
+#define CS12_SW9 SW9_CS12
+#define CS13_SW9 SW9_CS13
+#define CS14_SW9 SW9_CS14
+#define CS15_SW9 SW9_CS15
+#define CS16_SW9 SW9_CS16
+#define CS17_SW9 SW9_CS17
+#define CS18_SW9 SW9_CS18
+
+#define CS1_SW10 SW10_CS1
+#define CS2_SW10 SW10_CS2
+#define CS3_SW10 SW10_CS3
+#define CS4_SW10 SW10_CS4
+#define CS5_SW10 SW10_CS5
+#define CS6_SW10 SW10_CS6
+#define CS7_SW10 SW10_CS7
+#define CS8_SW10 SW10_CS8
+#define CS9_SW10 SW10_CS9
+#define CS10_SW10 SW10_CS10
+#define CS11_SW10 SW10_CS11
+#define CS12_SW10 SW10_CS12
+#define CS13_SW10 SW10_CS13
+#define CS14_SW10 SW10_CS14
+#define CS15_SW10 SW10_CS15
+#define CS16_SW10 SW10_CS16
+#define CS17_SW10 SW10_CS17
+#define CS18_SW10 SW10_CS18
+
+#define CS1_SW11 SW11_CS1
+#define CS2_SW11 SW11_CS2
+#define CS3_SW11 SW11_CS3
+#define CS4_SW11 SW11_CS4
+#define CS5_SW11 SW11_CS5
+#define CS6_SW11 SW11_CS6
+#define CS7_SW11 SW11_CS7
+#define CS8_SW11 SW11_CS8
+#define CS9_SW11 SW11_CS9
+#define CS10_SW11 SW11_CS10
+#define CS11_SW11 SW11_CS11
+#define CS12_SW11 SW11_CS12
+#define CS13_SW11 SW11_CS13
+#define CS14_SW11 SW11_CS14
+#define CS15_SW11 SW11_CS15
+#define CS16_SW11 SW11_CS16
+#define CS17_SW11 SW11_CS17
+#define CS18_SW11 SW11_CS18
diff --git a/drivers/led/issi/is31fl3745-mono.c b/drivers/led/issi/is31fl3745-mono.c
new file mode 100644
index 0000000000..a6ab699245
--- /dev/null
+++ b/drivers/led/issi/is31fl3745-mono.c
@@ -0,0 +1,245 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3745-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3745_PWM_REGISTER_COUNT 144
+#define IS31FL3745_SCALING_REGISTER_COUNT 144
+
+#ifndef IS31FL3745_I2C_TIMEOUT
+# define IS31FL3745_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3745_I2C_PERSISTENCE
+# define IS31FL3745_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3745_CONFIGURATION
+# define IS31FL3745_CONFIGURATION 0x31
+#endif
+
+#ifndef IS31FL3745_SW_PULLDOWN
+# define IS31FL3745_SW_PULLDOWN IS31FL3745_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3745_CS_PULLUP
+# define IS31FL3745_CS_PULLUP IS31FL3745_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3745_GLOBAL_CURRENT
+# define IS31FL3745_GLOBAL_CURRENT 0xFF
+#endif
+
+#ifndef IS31FL3745_SYNC_1
+# define IS31FL3745_SYNC_1 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_2
+# define IS31FL3745_SYNC_2 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_3
+# define IS31FL3745_SYNC_3 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_4
+# define IS31FL3745_SYNC_4 IS31FL3745_SYNC_NONE
+#endif
+
+const uint8_t i2c_addresses[IS31FL3745_DRIVER_COUNT] = {
+ IS31FL3745_I2C_ADDRESS_1,
+#ifdef IS31FL3745_I2C_ADDRESS_2
+ IS31FL3745_I2C_ADDRESS_2,
+# ifdef IS31FL3745_I2C_ADDRESS_3
+ IS31FL3745_I2C_ADDRESS_3,
+# ifdef IS31FL3745_I2C_ADDRESS_4
+ IS31FL3745_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3745_DRIVER_COUNT] = {
+ IS31FL3745_SYNC_1,
+#ifdef IS31FL3745_I2C_ADDRESS_2
+ IS31FL3745_SYNC_2,
+# ifdef IS31FL3745_I2C_ADDRESS_3
+ IS31FL3745_SYNC_3,
+# ifdef IS31FL3745_I2C_ADDRESS_4
+ IS31FL3745_SYNC_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3745_driver_t {
+ uint8_t pwm_buffer[IS31FL3745_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3745_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3745_driver_t;
+
+is31fl3745_driver_t driver_buffers[IS31FL3745_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3745_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3745_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3745_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3745_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3745_select_page(uint8_t index, uint8_t page) {
+ is31fl3745_write_register(index, IS31FL3745_REG_COMMAND_WRITE_LOCK, IS31FL3745_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3745_write_register(index, IS31FL3745_REG_COMMAND, page);
+}
+
+void is31fl3745_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 8 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3745_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3745_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3745_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3745_SDB_PIN)
+ gpio_set_pin_output(IS31FL3745_SDB_PIN);
+ gpio_write_pin_high(IS31FL3745_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3745_LED_COUNT; i++) {
+ is31fl3745_set_scaling_register(i, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_update_scaling_registers(i);
+ }
+}
+
+void is31fl3745_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3745_SCALING_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
+
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_PULLDOWNUP, (IS31FL3745_SW_PULLDOWN << 4) | IS31FL3745_CS_PULLUP);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3745_GLOBAL_CURRENT);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_SPREAD_SPECTRUM, (sync & 0b11) << 6);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_CONFIGURATION, IS31FL3745_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3745_set_value(int index, uint8_t value) {
+ is31fl3745_led_t led;
+
+ if (index >= 0 && index < IS31FL3745_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3745_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3745_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3745_LED_COUNT; i++) {
+ is31fl3745_set_value(i, value);
+ }
+}
+
+void is31fl3745_set_scaling_register(uint8_t index, uint8_t value) {
+ is31fl3745_led_t led;
+ memcpy_P(&led, (&g_is31fl3745_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.v] = value;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3745_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_PWM);
+
+ is31fl3745_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3745_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3745_SCALING_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3745_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3745-mono.h b/drivers/led/issi/is31fl3745-mono.h
new file mode 100644
index 0000000000..29a13004c8
--- /dev/null
+++ b/drivers/led/issi/is31fl3745-mono.h
@@ -0,0 +1,271 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3745_REG_ID 0xFC
+
+#define IS31FL3745_REG_COMMAND 0xFD
+
+#define IS31FL3745_COMMAND_PWM 0x00
+#define IS31FL3745_COMMAND_SCALING 0x01
+#define IS31FL3745_COMMAND_FUNCTION 0x02
+
+#define IS31FL3745_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3745_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3745_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3745_FUNCTION_REG_TEMPERATURE 0x24
+#define IS31FL3745_FUNCTION_REG_SPREAD_SPECTRUM 0x25
+#define IS31FL3745_FUNCTION_REG_RESET 0x2F
+
+#define IS31FL3745_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3745_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3745_I2C_ADDRESS_GND_GND 0x20
+#define IS31FL3745_I2C_ADDRESS_GND_SCL 0x21
+#define IS31FL3745_I2C_ADDRESS_GND_SDA 0x22
+#define IS31FL3745_I2C_ADDRESS_GND_VCC 0x23
+#define IS31FL3745_I2C_ADDRESS_SCL_GND 0x24
+#define IS31FL3745_I2C_ADDRESS_SCL_SCL 0x25
+#define IS31FL3745_I2C_ADDRESS_SCL_SDA 0x26
+#define IS31FL3745_I2C_ADDRESS_SCL_VCC 0x27
+#define IS31FL3745_I2C_ADDRESS_SDA_GND 0x28
+#define IS31FL3745_I2C_ADDRESS_SDA_SCL 0x29
+#define IS31FL3745_I2C_ADDRESS_SDA_SDA 0x2A
+#define IS31FL3745_I2C_ADDRESS_SDA_VCC 0x2B
+#define IS31FL3745_I2C_ADDRESS_VCC_GND 0x2C
+#define IS31FL3745_I2C_ADDRESS_VCC_SCL 0x2D
+#define IS31FL3745_I2C_ADDRESS_VCC_SDA 0x2E
+#define IS31FL3745_I2C_ADDRESS_VCC_VCC 0x2F
+
+#if defined(LED_MATRIX_IS31FL3745)
+# define IS31FL3745_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3745_I2C_ADDRESS_4)
+# define IS31FL3745_DRIVER_COUNT 4
+#elif defined(IS31FL3745_I2C_ADDRESS_3)
+# define IS31FL3745_DRIVER_COUNT 3
+#elif defined(IS31FL3745_I2C_ADDRESS_2)
+# define IS31FL3745_DRIVER_COUNT 2
+#elif defined(IS31FL3745_I2C_ADDRESS_1)
+# define IS31FL3745_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3745_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3745_led_t;
+
+extern const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT];
+
+void is31fl3745_init_drivers(void);
+void is31fl3745_init(uint8_t index);
+void is31fl3745_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3745_select_page(uint8_t index, uint8_t page);
+
+void is31fl3745_set_value(int index, uint8_t value);
+void is31fl3745_set_value_all(uint8_t value);
+
+void is31fl3745_set_scaling_register(uint8_t index, uint8_t value);
+
+void is31fl3745_update_pwm_buffers(uint8_t index);
+void is31fl3745_update_scaling_registers(uint8_t index);
+
+void is31fl3745_flush(void);
+
+#define IS31FL3745_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3745_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3745_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3745_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3745_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3745_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3745_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3745_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3745_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3745_PUR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3745_SYNC_NONE 0b00
+#define IS31FL3745_SYNC_SLAVE 0b10
+#define IS31FL3745_SYNC_MASTER 0b11
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
+
+#define SW5_CS1 0x48
+#define SW5_CS2 0x49
+#define SW5_CS3 0x4A
+#define SW5_CS4 0x4B
+#define SW5_CS5 0x4C
+#define SW5_CS6 0x4D
+#define SW5_CS7 0x4E
+#define SW5_CS8 0x4F
+#define SW5_CS9 0x50
+#define SW5_CS10 0x51
+#define SW5_CS11 0x52
+#define SW5_CS12 0x53
+#define SW5_CS13 0x54
+#define SW5_CS14 0x55
+#define SW5_CS15 0x56
+#define SW5_CS16 0x57
+#define SW5_CS17 0x58
+#define SW5_CS18 0x59
+
+#define SW6_CS1 0x5A
+#define SW6_CS2 0x5B
+#define SW6_CS3 0x5C
+#define SW6_CS4 0x5D
+#define SW6_CS5 0x5E
+#define SW6_CS6 0x5F
+#define SW6_CS7 0x60
+#define SW6_CS8 0x61
+#define SW6_CS9 0x62
+#define SW6_CS10 0x63
+#define SW6_CS11 0x64
+#define SW6_CS12 0x65
+#define SW6_CS13 0x66
+#define SW6_CS14 0x67
+#define SW6_CS15 0x68
+#define SW6_CS16 0x69
+#define SW6_CS17 0x6A
+#define SW6_CS18 0x6B
+
+#define SW7_CS1 0x6C
+#define SW7_CS2 0x6D
+#define SW7_CS3 0x6E
+#define SW7_CS4 0x6F
+#define SW7_CS5 0x70
+#define SW7_CS6 0x71
+#define SW7_CS7 0x72
+#define SW7_CS8 0x73
+#define SW7_CS9 0x74
+#define SW7_CS10 0x75
+#define SW7_CS11 0x76
+#define SW7_CS12 0x77
+#define SW7_CS13 0x78
+#define SW7_CS14 0x79
+#define SW7_CS15 0x7A
+#define SW7_CS16 0x7B
+#define SW7_CS17 0x7C
+#define SW7_CS18 0x7D
+
+#define SW8_CS1 0x7E
+#define SW8_CS2 0x7F
+#define SW8_CS3 0x80
+#define SW8_CS4 0x81
+#define SW8_CS5 0x82
+#define SW8_CS6 0x83
+#define SW8_CS7 0x84
+#define SW8_CS8 0x85
+#define SW8_CS9 0x86
+#define SW8_CS10 0x87
+#define SW8_CS11 0x88
+#define SW8_CS12 0x89
+#define SW8_CS13 0x8A
+#define SW8_CS14 0x8B
+#define SW8_CS15 0x8C
+#define SW8_CS16 0x8D
+#define SW8_CS17 0x8E
+#define SW8_CS18 0x8F
diff --git a/drivers/led/issi/is31fl3745.c b/drivers/led/issi/is31fl3745.c
new file mode 100644
index 0000000000..1e3b437e02
--- /dev/null
+++ b/drivers/led/issi/is31fl3745.c
@@ -0,0 +1,249 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3745.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3745_PWM_REGISTER_COUNT 144
+#define IS31FL3745_SCALING_REGISTER_COUNT 144
+
+#ifndef IS31FL3745_I2C_TIMEOUT
+# define IS31FL3745_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3745_I2C_PERSISTENCE
+# define IS31FL3745_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3745_CONFIGURATION
+# define IS31FL3745_CONFIGURATION 0x31
+#endif
+
+#ifndef IS31FL3745_SW_PULLDOWN
+# define IS31FL3745_SW_PULLDOWN IS31FL3745_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3745_CS_PULLUP
+# define IS31FL3745_CS_PULLUP IS31FL3745_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3745_GLOBAL_CURRENT
+# define IS31FL3745_GLOBAL_CURRENT 0xFF
+#endif
+
+#ifndef IS31FL3745_SYNC_1
+# define IS31FL3745_SYNC_1 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_2
+# define IS31FL3745_SYNC_2 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_3
+# define IS31FL3745_SYNC_3 IS31FL3745_SYNC_NONE
+#endif
+#ifndef IS31FL3745_SYNC_4
+# define IS31FL3745_SYNC_4 IS31FL3745_SYNC_NONE
+#endif
+
+const uint8_t i2c_addresses[IS31FL3745_DRIVER_COUNT] = {
+ IS31FL3745_I2C_ADDRESS_1,
+#ifdef IS31FL3745_I2C_ADDRESS_2
+ IS31FL3745_I2C_ADDRESS_2,
+# ifdef IS31FL3745_I2C_ADDRESS_3
+ IS31FL3745_I2C_ADDRESS_3,
+# ifdef IS31FL3745_I2C_ADDRESS_4
+ IS31FL3745_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3745_DRIVER_COUNT] = {
+ IS31FL3745_SYNC_1,
+#ifdef IS31FL3745_I2C_ADDRESS_2
+ IS31FL3745_SYNC_2,
+# ifdef IS31FL3745_I2C_ADDRESS_3
+ IS31FL3745_SYNC_3,
+# ifdef IS31FL3745_I2C_ADDRESS_4
+ IS31FL3745_SYNC_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3745_driver_t {
+ uint8_t pwm_buffer[IS31FL3745_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3745_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3745_driver_t;
+
+is31fl3745_driver_t driver_buffers[IS31FL3745_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3745_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3745_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3745_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3745_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3745_select_page(uint8_t index, uint8_t page) {
+ is31fl3745_write_register(index, IS31FL3745_REG_COMMAND_WRITE_LOCK, IS31FL3745_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3745_write_register(index, IS31FL3745_REG_COMMAND, page);
+}
+
+void is31fl3745_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 8 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3745_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3745_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3745_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3745_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3745_SDB_PIN)
+ gpio_set_pin_output(IS31FL3745_SDB_PIN);
+ gpio_write_pin_high(IS31FL3745_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3745_LED_COUNT; i++) {
+ is31fl3745_set_scaling_register(i, 0xFF, 0xFF, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_update_scaling_registers(i);
+ }
+}
+
+void is31fl3745_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3745_SCALING_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3745_PWM_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
+
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_PULLDOWNUP, (IS31FL3745_SW_PULLDOWN << 4) | IS31FL3745_CS_PULLUP);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3745_GLOBAL_CURRENT);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_SPREAD_SPECTRUM, (sync & 0b11) << 6);
+ is31fl3745_write_register(index, IS31FL3745_FUNCTION_REG_CONFIGURATION, IS31FL3745_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3745_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3745_led_t led;
+
+ if (index >= 0 && index < IS31FL3745_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3745_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3745_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < IS31FL3745_LED_COUNT; i++) {
+ is31fl3745_set_color(i, red, green, blue);
+ }
+}
+
+void is31fl3745_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3745_led_t led;
+ memcpy_P(&led, (&g_is31fl3745_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.r] = red;
+ driver_buffers[led.driver].scaling_buffer[led.g] = green;
+ driver_buffers[led.driver].scaling_buffer[led.b] = blue;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3745_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_PWM);
+
+ is31fl3745_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3745_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3745_select_page(index, IS31FL3745_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3745_SCALING_REGISTER_COUNT; i++) {
+ is31fl3745_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3745_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3745_DRIVER_COUNT; i++) {
+ is31fl3745_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3745.h b/drivers/led/issi/is31fl3745.h
index 1e88aab4a8..be50dd2cd9 100644
--- a/drivers/led/issi/is31fl3745.h
+++ b/drivers/led/issi/is31fl3745.h
@@ -20,251 +20,254 @@
#pragma once
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 <-> GND
-// 01 <-> SCL
-// 10 <-> SDA
-// 11 <-> VCC
-// ADDR1 represents A1:A0 of the 7-bit address.
-// ADDR2 represents A3:A2 of the 7-bit address.
-// The result is: 0b010(ADDR2)(ADDR1)
-#ifndef DRIVER_ADDR_1
-# define DRIVER_ADDR_1 0b0100000
-#endif
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
-// Set defaults for Spread Spectrum Register
-#ifndef ISSI_SSR_1
-# ifndef DRIVER_ADDR_2
-# define ISSI_SSR_1 0x00
-# else
-# define ISSI_SSR_1 0xC0
-# endif
-#endif
-#ifndef ISSI_SSR_2
-# define ISSI_SSR_2 0x80
-#endif
-#ifndef ISSI_SSR_3
-# define ISSI_SSR_3 0x80
-#endif
-#ifndef ISSI_SSR_4
-# define ISSI_SSR_4 0x80
-#endif
+#define IS31FL3745_REG_ID 0xFC
-// Command Registers
-#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE
-#define ISSI_COMMANDREGISTER 0xFD
-#define ISSI_IDREGISTER 0xFC
-#define ISSI_REGISTER_UNLOCK 0xC5
+#define IS31FL3745_REG_COMMAND 0xFD
-// Response Registers
-#define ISSI_PAGE_PWM 0x00
-#define ISSI_PAGE_SCALING 0x01
-#define ISSI_PAGE_FUNCTION 0x02
+#define IS31FL3745_COMMAND_PWM 0x00
+#define IS31FL3745_COMMAND_SCALING 0x01
+#define IS31FL3745_COMMAND_FUNCTION 0x02
-// Registers under Function Register
-#define ISSI_REG_CONFIGURATION 0x00
-#define ISSI_REG_GLOBALCURRENT 0x01
-#define ISSI_REG_PULLDOWNUP 0x02
-#define ISSI_REG_TEMP 0x24
-#define ISSI_REG_SSR 0x25
-#define ISSI_REG_RESET 0x2F
+#define IS31FL3745_FUNCTION_REG_CONFIGURATION 0x00
+#define IS31FL3745_FUNCTION_REG_GLOBAL_CURRENT 0x01
+#define IS31FL3745_FUNCTION_REG_PULLDOWNUP 0x02
+#define IS31FL3745_FUNCTION_REG_TEMPERATURE 0x24
+#define IS31FL3745_FUNCTION_REG_SPREAD_SPECTRUM 0x25
+#define IS31FL3745_FUNCTION_REG_RESET 0x2F
-// Set defaults for Function Registers
-#ifndef ISSI_CONFIGURATION
-# define ISSI_CONFIGURATION 0x31
-#endif
-#ifndef ISSI_GLOBALCURRENT
-# define ISSI_GLOBALCURRENT 0xFF
-#endif
-#ifndef ISSI_PULLDOWNUP
-# define ISSI_PULLDOWNUP 0x33
-#endif
-#ifndef ISSI_TEMP
-# define ISSI_TEMP 0x00
-#endif
+#define IS31FL3745_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3745_COMMAND_WRITE_LOCK_MAGIC 0xC5
-// Set defaults for Scaling registers
-#ifndef ISSI_SCAL_RED
-# define ISSI_SCAL_RED 0xFF
-#endif
-#ifndef ISSI_SCAL_BLUE
-# define ISSI_SCAL_BLUE 0xFF
-#endif
-#ifndef ISSI_SCAL_GREEN
-# define ISSI_SCAL_GREEN 0xFF
+#define IS31FL3745_I2C_ADDRESS_GND_GND 0x20
+#define IS31FL3745_I2C_ADDRESS_GND_SCL 0x21
+#define IS31FL3745_I2C_ADDRESS_GND_SDA 0x22
+#define IS31FL3745_I2C_ADDRESS_GND_VCC 0x23
+#define IS31FL3745_I2C_ADDRESS_SCL_GND 0x24
+#define IS31FL3745_I2C_ADDRESS_SCL_SCL 0x25
+#define IS31FL3745_I2C_ADDRESS_SCL_SDA 0x26
+#define IS31FL3745_I2C_ADDRESS_SCL_VCC 0x27
+#define IS31FL3745_I2C_ADDRESS_SDA_GND 0x28
+#define IS31FL3745_I2C_ADDRESS_SDA_SCL 0x29
+#define IS31FL3745_I2C_ADDRESS_SDA_SDA 0x2A
+#define IS31FL3745_I2C_ADDRESS_SDA_VCC 0x2B
+#define IS31FL3745_I2C_ADDRESS_VCC_GND 0x2C
+#define IS31FL3745_I2C_ADDRESS_VCC_SCL 0x2D
+#define IS31FL3745_I2C_ADDRESS_VCC_SDA 0x2E
+#define IS31FL3745_I2C_ADDRESS_VCC_VCC 0x2F
+
+#if defined(RGB_MATRIX_IS31FL3745)
+# define IS31FL3745_LED_COUNT RGB_MATRIX_LED_COUNT
#endif
-#define ISSI_SCAL_RED_OFF 0x00
-#define ISSI_SCAL_GREEN_OFF 0x00
-#define ISSI_SCAL_BLUE_OFF 0x00
-#ifndef ISSI_SCAL_LED
-# define ISSI_SCAL_LED 0xFF
+#if defined(IS31FL3745_I2C_ADDRESS_4)
+# define IS31FL3745_DRIVER_COUNT 4
+#elif defined(IS31FL3745_I2C_ADDRESS_3)
+# define IS31FL3745_DRIVER_COUNT 3
+#elif defined(IS31FL3745_I2C_ADDRESS_2)
+# define IS31FL3745_DRIVER_COUNT 2
+#elif defined(IS31FL3745_I2C_ADDRESS_1)
+# define IS31FL3745_DRIVER_COUNT 1
#endif
-#define ISSI_SCAL_LED_OFF 0x00
-// Set buffer sizes
-#define ISSI_MAX_LEDS 144
-#define ISSI_SCALING_SIZE 144
-#define ISSI_PWM_TRF_SIZE 18
-#define ISSI_SCALING_TRF_SIZE 18
+typedef struct is31fl3745_led_t {
+ uint8_t driver : 2;
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+} PACKED is31fl3745_led_t;
+
+extern const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT];
+
+void is31fl3745_init_drivers(void);
+void is31fl3745_init(uint8_t index);
+void is31fl3745_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3745_select_page(uint8_t index, uint8_t page);
+
+void is31fl3745_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void is31fl3745_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3745_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3745_update_pwm_buffers(uint8_t index);
+void is31fl3745_update_scaling_registers(uint8_t index);
+
+void is31fl3745_flush(void);
+
+#define IS31FL3745_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3745_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3745_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3745_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3745_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3745_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3745_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3745_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3745_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3745_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3745_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3745_PUR_8K_OHM 0b111 // 8 kOhm resistor
-// Location of 1st bit for PWM and Scaling registers
-#define ISSI_PWM_REG_1ST 0x01
-#define ISSI_SCL_REG_1ST 0x01
+#define IS31FL3745_SYNC_NONE 0b00
+#define IS31FL3745_SYNC_SLAVE 0b10
+#define IS31FL3745_SYNC_MASTER 0b11
-// Map CS SW locations to order in PWM / Scaling buffers
-// This matches the ORDER in the Datasheet Register not the POSITION
-// It will always count from 0x00 to (ISSI_MAX_LEDS - 1)
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
-#define CS1_SW2 0x12
-#define CS2_SW2 0x13
-#define CS3_SW2 0x14
-#define CS4_SW2 0x15
-#define CS5_SW2 0x16
-#define CS6_SW2 0x17
-#define CS7_SW2 0x18
-#define CS8_SW2 0x19
-#define CS9_SW2 0x1A
-#define CS10_SW2 0x1B
-#define CS11_SW2 0x1C
-#define CS12_SW2 0x1D
-#define CS13_SW2 0x1E
-#define CS14_SW2 0x1F
-#define CS15_SW2 0x20
-#define CS16_SW2 0x21
-#define CS17_SW2 0x22
-#define CS18_SW2 0x23
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
-#define CS1_SW3 0x24
-#define CS2_SW3 0x25
-#define CS3_SW3 0x26
-#define CS4_SW3 0x27
-#define CS5_SW3 0x28
-#define CS6_SW3 0x29
-#define CS7_SW3 0x2A
-#define CS8_SW3 0x2B
-#define CS9_SW3 0x2C
-#define CS10_SW3 0x2D
-#define CS11_SW3 0x2E
-#define CS12_SW3 0x2F
-#define CS13_SW3 0x30
-#define CS14_SW3 0x31
-#define CS15_SW3 0x32
-#define CS16_SW3 0x33
-#define CS17_SW3 0x34
-#define CS18_SW3 0x35
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
-#define CS1_SW4 0x36
-#define CS2_SW4 0x37
-#define CS3_SW4 0x38
-#define CS4_SW4 0x39
-#define CS5_SW4 0x3A
-#define CS6_SW4 0x3B
-#define CS7_SW4 0x3C
-#define CS8_SW4 0x3D
-#define CS9_SW4 0x3E
-#define CS10_SW4 0x3F
-#define CS11_SW4 0x40
-#define CS12_SW4 0x41
-#define CS13_SW4 0x42
-#define CS14_SW4 0x43
-#define CS15_SW4 0x44
-#define CS16_SW4 0x45
-#define CS17_SW4 0x46
-#define CS18_SW4 0x47
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
-#define CS1_SW5 0x48
-#define CS2_SW5 0x49
-#define CS3_SW5 0x4A
-#define CS4_SW5 0x4B
-#define CS5_SW5 0x4C
-#define CS6_SW5 0x4D
-#define CS7_SW5 0x4E
-#define CS8_SW5 0x4F
-#define CS9_SW5 0x50
-#define CS10_SW5 0x51
-#define CS11_SW5 0x52
-#define CS12_SW5 0x53
-#define CS13_SW5 0x54
-#define CS14_SW5 0x55
-#define CS15_SW5 0x56
-#define CS16_SW5 0x57
-#define CS17_SW5 0x58
-#define CS18_SW5 0x59
+#define SW5_CS1 0x48
+#define SW5_CS2 0x49
+#define SW5_CS3 0x4A
+#define SW5_CS4 0x4B
+#define SW5_CS5 0x4C
+#define SW5_CS6 0x4D
+#define SW5_CS7 0x4E
+#define SW5_CS8 0x4F
+#define SW5_CS9 0x50
+#define SW5_CS10 0x51
+#define SW5_CS11 0x52
+#define SW5_CS12 0x53
+#define SW5_CS13 0x54
+#define SW5_CS14 0x55
+#define SW5_CS15 0x56
+#define SW5_CS16 0x57
+#define SW5_CS17 0x58
+#define SW5_CS18 0x59
-#define CS1_SW6 0x5A
-#define CS2_SW6 0x5B
-#define CS3_SW6 0x5C
-#define CS4_SW6 0x5D
-#define CS5_SW6 0x5E
-#define CS6_SW6 0x5F
-#define CS7_SW6 0x60
-#define CS8_SW6 0x61
-#define CS9_SW6 0x62
-#define CS10_SW6 0x63
-#define CS11_SW6 0x64
-#define CS12_SW6 0x65
-#define CS13_SW6 0x66
-#define CS14_SW6 0x67
-#define CS15_SW6 0x68
-#define CS16_SW6 0x69
-#define CS17_SW6 0x6A
-#define CS18_SW6 0x6B
+#define SW6_CS1 0x5A
+#define SW6_CS2 0x5B
+#define SW6_CS3 0x5C
+#define SW6_CS4 0x5D
+#define SW6_CS5 0x5E
+#define SW6_CS6 0x5F
+#define SW6_CS7 0x60
+#define SW6_CS8 0x61
+#define SW6_CS9 0x62
+#define SW6_CS10 0x63
+#define SW6_CS11 0x64
+#define SW6_CS12 0x65
+#define SW6_CS13 0x66
+#define SW6_CS14 0x67
+#define SW6_CS15 0x68
+#define SW6_CS16 0x69
+#define SW6_CS17 0x6A
+#define SW6_CS18 0x6B
-#define CS1_SW7 0x6C
-#define CS2_SW7 0x6D
-#define CS3_SW7 0x6E
-#define CS4_SW7 0x6F
-#define CS5_SW7 0x70
-#define CS6_SW7 0x71
-#define CS7_SW7 0x72
-#define CS8_SW7 0x73
-#define CS9_SW7 0x74
-#define CS10_SW7 0x75
-#define CS11_SW7 0x76
-#define CS12_SW7 0x77
-#define CS13_SW7 0x78
-#define CS14_SW7 0x79
-#define CS15_SW7 0x7A
-#define CS16_SW7 0x7B
-#define CS17_SW7 0x7C
-#define CS18_SW7 0x7D
+#define SW7_CS1 0x6C
+#define SW7_CS2 0x6D
+#define SW7_CS3 0x6E
+#define SW7_CS4 0x6F
+#define SW7_CS5 0x70
+#define SW7_CS6 0x71
+#define SW7_CS7 0x72
+#define SW7_CS8 0x73
+#define SW7_CS9 0x74
+#define SW7_CS10 0x75
+#define SW7_CS11 0x76
+#define SW7_CS12 0x77
+#define SW7_CS13 0x78
+#define SW7_CS14 0x79
+#define SW7_CS15 0x7A
+#define SW7_CS16 0x7B
+#define SW7_CS17 0x7C
+#define SW7_CS18 0x7D
-#define CS1_SW8 0x7E
-#define CS2_SW8 0x7F
-#define CS3_SW8 0x80
-#define CS4_SW8 0x81
-#define CS5_SW8 0x82
-#define CS6_SW8 0x83
-#define CS7_SW8 0x84
-#define CS8_SW8 0x85
-#define CS9_SW8 0x86
-#define CS10_SW8 0x87
-#define CS11_SW8 0x88
-#define CS12_SW8 0x89
-#define CS13_SW8 0x8A
-#define CS14_SW8 0x8B
-#define CS15_SW8 0x8C
-#define CS16_SW8 0x8D
-#define CS17_SW8 0x8E
-#define CS18_SW8 0x8F
+#define SW8_CS1 0x7E
+#define SW8_CS2 0x7F
+#define SW8_CS3 0x80
+#define SW8_CS4 0x81
+#define SW8_CS5 0x82
+#define SW8_CS6 0x83
+#define SW8_CS7 0x84
+#define SW8_CS8 0x85
+#define SW8_CS9 0x86
+#define SW8_CS10 0x87
+#define SW8_CS11 0x88
+#define SW8_CS12 0x89
+#define SW8_CS13 0x8A
+#define SW8_CS14 0x8B
+#define SW8_CS15 0x8C
+#define SW8_CS16 0x8D
+#define SW8_CS17 0x8E
+#define SW8_CS18 0x8F
diff --git a/drivers/led/issi/is31fl3746.h b/drivers/led/issi/is31fl3746.h
deleted file mode 100644
index f89f281533..0000000000
--- a/drivers/led/issi/is31fl3746.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- * Copyright 2021 MasterSpoon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 <-> GND
-// 01 <-> SCL
-// 10 <-> SDA
-// 11 <-> VCC
-// ADDR1 represents A1:A0 of the 7-bit address.
-// ADDR2 represents A3:A2 of the 7-bit address.
-// The result is: 0b110(ADDR2)(ADDR1)
-#ifndef DRIVER_ADDR_1
-# define DRIVER_ADDR_1 0b1100000
-#endif
-
-// Set defaults for Spread Spectrum Register
-#ifndef ISSI_SSR_1
-# define ISSI_SSR_1 0x00
-#endif
-#ifndef ISSI_SSR_2
-# define ISSI_SSR_2 0x00
-#endif
-#ifndef ISSI_SSR_3
-# define ISSI_SSR_3 0x00
-#endif
-#ifndef ISSI_SSR_4
-# define ISSI_SSR_4 0x00
-#endif
-
-// Command Registers
-#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE
-#define ISSI_COMMANDREGISTER 0xFD
-#define ISSI_IDREGISTER 0xFC
-#define ISSI_REGISTER_UNLOCK 0xC5
-
-// Response Registers
-#define ISSI_PAGE_PWM 0x00
-#define ISSI_PAGE_SCALING 0x01
-#define ISSI_PAGE_FUNCTION 0x01
-
-// Registers under Function Register
-#define ISSI_REG_CONFIGURATION 0x50
-#define ISSI_REG_GLOBALCURRENT 0x51
-#define ISSI_REG_PULLDOWNUP 0x52
-#define ISSI_REG_TEMP 0x5F
-#define ISSI_REG_SSR 0x60
-#define ISSI_REG_RESET 0x8F
-#define ISSI_REG_PWM_ENABLE 0xE0
-#define ISSI_REG_PWM_SET 0xE2
-
-// Set defaults for Function Registers
-#ifndef ISSI_CONFIGURATION
-# define ISSI_CONFIGURATION 0x01
-#endif
-#ifndef ISSI_GLOBALCURRENT
-# define ISSI_GLOBALCURRENT 0xFF
-#endif
-#ifndef ISSI_PULLDOWNUP
-# define ISSI_PULLDOWNUP 0x33
-#endif
-#ifndef ISSI_TEMP
-# define ISSI_TEMP 0x00
-#endif
-#ifndef ISSI_PWM_ENABLE
-# define ISSI_PWM_ENABLE 0x00
-#endif
-#ifndef ISSI_PWM_SET
-# define ISSI_PWM_SET 0x00
-#endif
-
-// Set defaults for Scaling registers
-#ifndef ISSI_SCAL_RED
-# define ISSI_SCAL_RED 0xFF
-#endif
-#ifndef ISSI_SCAL_BLUE
-# define ISSI_SCAL_BLUE 0xFF
-#endif
-#ifndef ISSI_SCAL_GREEN
-# define ISSI_SCAL_GREEN 0xFF
-#endif
-#define ISSI_SCAL_RED_OFF 0x00
-#define ISSI_SCAL_GREEN_OFF 0x00
-#define ISSI_SCAL_BLUE_OFF 0x00
-
-#ifndef ISSI_SCAL_LED
-# define ISSI_SCAL_LED 0xFF
-#endif
-#define ISSI_SCAL_LED_OFF 0x00
-
-// Set buffer sizes
-#define ISSI_MAX_LEDS 72
-#define ISSI_SCALING_SIZE 72
-#define ISSI_PWM_TRF_SIZE 18
-#define ISSI_SCALING_TRF_SIZE 18
-
-// Location of 1st bit for PWM and Scaling registers
-#define ISSI_PWM_REG_1ST 0x01
-#define ISSI_SCL_REG_1ST 0x01
-
-// Map CS SW locations to order in PWM / Scaling buffers
-// This matches the ORDER in the Datasheet Register not the POSITION
-// It will always count from 0x00 to (ISSI_MAX_LEDS - 1)
-#define CS1_SW1 0x00
-#define CS2_SW1 0x01
-#define CS3_SW1 0x02
-#define CS4_SW1 0x03
-#define CS5_SW1 0x04
-#define CS6_SW1 0x05
-#define CS7_SW1 0x06
-#define CS8_SW1 0x07
-#define CS9_SW1 0x08
-#define CS10_SW1 0x09
-#define CS11_SW1 0x0A
-#define CS12_SW1 0x0B
-#define CS13_SW1 0x0C
-#define CS14_SW1 0x0D
-#define CS15_SW1 0x0E
-#define CS16_SW1 0x0F
-#define CS17_SW1 0x10
-#define CS18_SW1 0x11
-
-#define CS1_SW2 0x12
-#define CS2_SW2 0x13
-#define CS3_SW2 0x14
-#define CS4_SW2 0x15
-#define CS5_SW2 0x16
-#define CS6_SW2 0x17
-#define CS7_SW2 0x18
-#define CS8_SW2 0x19
-#define CS9_SW2 0x1A
-#define CS10_SW2 0x1B
-#define CS11_SW2 0x1C
-#define CS12_SW2 0x1D
-#define CS13_SW2 0x1E
-#define CS14_SW2 0x1F
-#define CS15_SW2 0x20
-#define CS16_SW2 0x21
-#define CS17_SW2 0x22
-#define CS18_SW2 0x23
-
-#define CS1_SW3 0x24
-#define CS2_SW3 0x25
-#define CS3_SW3 0x26
-#define CS4_SW3 0x27
-#define CS5_SW3 0x28
-#define CS6_SW3 0x29
-#define CS7_SW3 0x2A
-#define CS8_SW3 0x2B
-#define CS9_SW3 0x2C
-#define CS10_SW3 0x2D
-#define CS11_SW3 0x2E
-#define CS12_SW3 0x2F
-#define CS13_SW3 0x30
-#define CS14_SW3 0x31
-#define CS15_SW3 0x32
-#define CS16_SW3 0x33
-#define CS17_SW3 0x34
-#define CS18_SW3 0x35
-
-#define CS1_SW4 0x36
-#define CS2_SW4 0x37
-#define CS3_SW4 0x38
-#define CS4_SW4 0x39
-#define CS5_SW4 0x3A
-#define CS6_SW4 0x3B
-#define CS7_SW4 0x3C
-#define CS8_SW4 0x3D
-#define CS9_SW4 0x3E
-#define CS10_SW4 0x3F
-#define CS11_SW4 0x40
-#define CS12_SW4 0x41
-#define CS13_SW4 0x42
-#define CS14_SW4 0x43
-#define CS15_SW4 0x44
-#define CS16_SW4 0x45
-#define CS17_SW4 0x46
-#define CS18_SW4 0x47
diff --git a/drivers/led/issi/is31fl3746a-mono.c b/drivers/led/issi/is31fl3746a-mono.c
new file mode 100644
index 0000000000..6bff10723f
--- /dev/null
+++ b/drivers/led/issi/is31fl3746a-mono.c
@@ -0,0 +1,222 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3746a-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3746A_PWM_REGISTER_COUNT 72
+#define IS31FL3746A_SCALING_REGISTER_COUNT 72
+
+#ifndef IS31FL3746A_I2C_TIMEOUT
+# define IS31FL3746A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3746A_I2C_PERSISTENCE
+# define IS31FL3746A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3746A_CONFIGURATION
+# define IS31FL3746A_CONFIGURATION 0x01
+#endif
+
+#ifndef IS31FL3746A_PWM_FREQUENCY
+# define IS31FL3746A_PWM_FREQUENCY IS31FL3746A_PWM_FREQUENCY_29K_HZ
+#endif
+
+#ifndef IS31FL3746A_SW_PULLDOWN
+# define IS31FL3746A_SW_PULLDOWN IS31FL3746A_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3746A_CS_PULLUP
+# define IS31FL3746A_CS_PULLUP IS31FL3746A_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3746A_GLOBAL_CURRENT
+# define IS31FL3746A_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3746A_DRIVER_COUNT] = {
+ IS31FL3746A_I2C_ADDRESS_1,
+#ifdef IS31FL3746A_I2C_ADDRESS_2
+ IS31FL3746A_I2C_ADDRESS_2,
+# ifdef IS31FL3746A_I2C_ADDRESS_3
+ IS31FL3746A_I2C_ADDRESS_3,
+# ifdef IS31FL3746A_I2C_ADDRESS_4
+ IS31FL3746A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3746a_driver_t {
+ uint8_t pwm_buffer[IS31FL3746A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3746A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3746a_driver_t;
+
+is31fl3746a_driver_t driver_buffers[IS31FL3746A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3746A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3746A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3746A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3746a_select_page(uint8_t index, uint8_t page) {
+ is31fl3746a_write_register(index, IS31FL3746A_REG_COMMAND_WRITE_LOCK, IS31FL3746A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3746a_write_register(index, IS31FL3746A_REG_COMMAND, page);
+}
+
+void is31fl3746a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 4 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3746A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3746A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3746a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3746A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3746A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3746A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3746A_LED_COUNT; i++) {
+ is31fl3746a_set_scaling_register(i, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3746a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3746A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_FUNCTION);
+
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PULLDOWNUP, (IS31FL3746A_SW_PULLDOWN << 4) | IS31FL3746A_CS_PULLUP);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3746A_GLOBAL_CURRENT);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PWM_ENABLE, 0x01);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PWM_FREQUENCY, IS31FL3746A_PWM_FREQUENCY);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_CONFIGURATION, IS31FL3746A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3746a_set_value(int index, uint8_t value) {
+ is31fl3746a_led_t led;
+
+ if (index >= 0 && index < IS31FL3746A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3746a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3746a_set_value_all(uint8_t value) {
+ for (int i = 0; i < IS31FL3746A_LED_COUNT; i++) {
+ is31fl3746a_set_value(i, value);
+ }
+}
+
+void is31fl3746a_set_scaling_register(uint8_t index, uint8_t value) {
+ is31fl3746a_led_t led;
+ memcpy_P(&led, (&g_is31fl3746a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.v] = value;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3746a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_PWM);
+
+ is31fl3746a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3746a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3746A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3746a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3746a-mono.h b/drivers/led/issi/is31fl3746a-mono.h
new file mode 100644
index 0000000000..295599cbcf
--- /dev/null
+++ b/drivers/led/issi/is31fl3746a-mono.h
@@ -0,0 +1,201 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3746A_REG_ID 0xFC
+
+#define IS31FL3746A_REG_COMMAND 0xFD
+
+#define IS31FL3746A_COMMAND_PWM 0x00
+#define IS31FL3746A_COMMAND_SCALING 0x01
+#define IS31FL3746A_COMMAND_FUNCTION 0x01
+
+#define IS31FL3746A_FUNCTION_REG_CONFIGURATION 0x50
+#define IS31FL3746A_FUNCTION_REG_GLOBAL_CURRENT 0x51
+#define IS31FL3746A_FUNCTION_REG_PULLDOWNUP 0x52
+#define IS31FL3746A_FUNCTION_REG_TEMPERATURE 0x5F
+#define IS31FL3746A_FUNCTION_REG_SPREAD_SPECTRUM 0x60
+#define IS31FL3746A_FUNCTION_REG_RESET 0x8F
+#define IS31FL3746A_FUNCTION_REG_PWM_ENABLE 0xE0
+#define IS31FL3746A_FUNCTION_REG_PWM_FREQUENCY 0xE2
+
+#define IS31FL3746A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3746A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3746A_I2C_ADDRESS_GND_GND 0x60
+#define IS31FL3746A_I2C_ADDRESS_GND_SCL 0x61
+#define IS31FL3746A_I2C_ADDRESS_GND_SDA 0x62
+#define IS31FL3746A_I2C_ADDRESS_GND_VCC 0x63
+#define IS31FL3746A_I2C_ADDRESS_SCL_GND 0x64
+#define IS31FL3746A_I2C_ADDRESS_SCL_SCL 0x65
+#define IS31FL3746A_I2C_ADDRESS_SCL_SDA 0x66
+#define IS31FL3746A_I2C_ADDRESS_SCL_VCC 0x67
+#define IS31FL3746A_I2C_ADDRESS_SDA_GND 0x68
+#define IS31FL3746A_I2C_ADDRESS_SDA_SCL 0x69
+#define IS31FL3746A_I2C_ADDRESS_SDA_SDA 0x6A
+#define IS31FL3746A_I2C_ADDRESS_SDA_VCC 0x6B
+#define IS31FL3746A_I2C_ADDRESS_VCC_GND 0x6C
+#define IS31FL3746A_I2C_ADDRESS_VCC_SCL 0x6D
+#define IS31FL3746A_I2C_ADDRESS_VCC_SDA 0x6E
+#define IS31FL3746A_I2C_ADDRESS_VCC_VCC 0x6F
+
+#if defined(LED_MATRIX_IS31FL3746A)
+# define IS31FL3746A_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3746A_I2C_ADDRESS_4)
+# define IS31FL3746A_DRIVER_COUNT 4
+#elif defined(IS31FL3746A_I2C_ADDRESS_3)
+# define IS31FL3746A_DRIVER_COUNT 3
+#elif defined(IS31FL3746A_I2C_ADDRESS_2)
+# define IS31FL3746A_DRIVER_COUNT 2
+#elif defined(IS31FL3746A_I2C_ADDRESS_1)
+# define IS31FL3746A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3746a_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED is31fl3746a_led_t;
+
+extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
+
+void is31fl3746a_init_drivers(void);
+void is31fl3746a_init(uint8_t index);
+void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3746a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3746a_set_value(int index, uint8_t value);
+void is31fl3746a_set_value_all(uint8_t value);
+
+void is31fl3746a_set_scaling_register(uint8_t index, uint8_t value);
+
+void is31fl3746a_update_pwm_buffers(uint8_t index);
+void is31fl3746a_update_scaling_registers(uint8_t index);
+
+void is31fl3746a_flush(void);
+
+#define IS31FL3746A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3746A_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3746A_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3746A_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3746A_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3746A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3746A_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3746A_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3746A_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3746A_PUR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3746A_PWM_FREQUENCY_29K_HZ 0b000
+#define IS31FL3746A_PWM_FREQUENCY_14K5_HZ 0b001
+#define IS31FL3746A_PWM_FREQUENCY_7K25_HZ 0b010
+#define IS31FL3746A_PWM_FREQUENCY_3K63_HZ 0b011
+#define IS31FL3746A_PWM_FREQUENCY_1K81_HZ 0b100
+#define IS31FL3746A_PWM_FREQUENCY_906_HZ 0b101
+#define IS31FL3746A_PWM_FREQUENCY_453_HZ 0b110
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
diff --git a/drivers/led/issi/is31fl3746a.c b/drivers/led/issi/is31fl3746a.c
new file mode 100644
index 0000000000..1ef0b2d632
--- /dev/null
+++ b/drivers/led/issi/is31fl3746a.c
@@ -0,0 +1,226 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "is31fl3746a.h"
+#include "i2c_master.h"
+#include "gpio.h"
+#include "wait.h"
+
+#define IS31FL3746A_PWM_REGISTER_COUNT 72
+#define IS31FL3746A_SCALING_REGISTER_COUNT 72
+
+#ifndef IS31FL3746A_I2C_TIMEOUT
+# define IS31FL3746A_I2C_TIMEOUT 100
+#endif
+
+#ifndef IS31FL3746A_I2C_PERSISTENCE
+# define IS31FL3746A_I2C_PERSISTENCE 0
+#endif
+
+#ifndef IS31FL3746A_CONFIGURATION
+# define IS31FL3746A_CONFIGURATION 0x01
+#endif
+
+#ifndef IS31FL3746A_PWM_FREQUENCY
+# define IS31FL3746A_PWM_FREQUENCY IS31FL3746A_PWM_FREQUENCY_29K_HZ
+#endif
+
+#ifndef IS31FL3746A_SW_PULLDOWN
+# define IS31FL3746A_SW_PULLDOWN IS31FL3746A_PDR_2K_OHM_SW_OFF
+#endif
+
+#ifndef IS31FL3746A_CS_PULLUP
+# define IS31FL3746A_CS_PULLUP IS31FL3746A_PUR_2K_OHM_CS_OFF
+#endif
+
+#ifndef IS31FL3746A_GLOBAL_CURRENT
+# define IS31FL3746A_GLOBAL_CURRENT 0xFF
+#endif
+
+const uint8_t i2c_addresses[IS31FL3746A_DRIVER_COUNT] = {
+ IS31FL3746A_I2C_ADDRESS_1,
+#ifdef IS31FL3746A_I2C_ADDRESS_2
+ IS31FL3746A_I2C_ADDRESS_2,
+# ifdef IS31FL3746A_I2C_ADDRESS_3
+ IS31FL3746A_I2C_ADDRESS_3,
+# ifdef IS31FL3746A_I2C_ADDRESS_4
+ IS31FL3746A_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+typedef struct is31fl3746a_driver_t {
+ uint8_t pwm_buffer[IS31FL3746A_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t scaling_buffer[IS31FL3746A_SCALING_REGISTER_COUNT];
+ bool scaling_buffer_dirty;
+} PACKED is31fl3746a_driver_t;
+
+is31fl3746a_driver_t driver_buffers[IS31FL3746A_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .scaling_buffer = {0},
+ .scaling_buffer_dirty = false,
+}};
+
+void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if IS31FL3746A_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < IS31FL3746A_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3746A_I2C_TIMEOUT);
+#endif
+}
+
+void is31fl3746a_select_page(uint8_t index, uint8_t page) {
+ is31fl3746a_write_register(index, IS31FL3746A_REG_COMMAND_WRITE_LOCK, IS31FL3746A_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3746a_write_register(index, IS31FL3746A_REG_COMMAND, page);
+}
+
+void is31fl3746a_write_pwm_buffer(uint8_t index) {
+ // Assumes page 0 is already selected.
+ // Transmit PWM registers in 4 transfers of 18 bytes.
+
+ // Iterate over the pwm_buffer contents at 18 byte intervals.
+ for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i += 18) {
+#if IS31FL3746A_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < IS31FL3746A_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i + 1, driver_buffers[index].pwm_buffer + i, 18, IS31FL3746A_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void is31fl3746a_init_drivers(void) {
+ i2c_init();
+
+#if defined(IS31FL3746A_SDB_PIN)
+ gpio_set_pin_output(IS31FL3746A_SDB_PIN);
+ gpio_write_pin_high(IS31FL3746A_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_init(i);
+ }
+
+ for (int i = 0; i < IS31FL3746A_LED_COUNT; i++) {
+ is31fl3746a_set_scaling_register(i, 0xFF, 0xFF, 0xFF);
+ }
+
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_update_scaling_registers(i);
+ }
+}
+
+void is31fl3746a_init(uint8_t index) {
+ // In order to avoid the LEDs being driven with garbage data
+ // in the LED driver's PWM registers, shutdown is enabled last.
+ // Set up the mode and other settings, clear the PWM registers,
+ // then disable software shutdown.
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_SCALING);
+
+ // Turn off all LEDs.
+ for (uint8_t i = 0; i < IS31FL3746A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_PWM);
+
+ for (uint8_t i = 0; i < IS31FL3746A_PWM_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, 0x00);
+ }
+
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_FUNCTION);
+
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PULLDOWNUP, (IS31FL3746A_SW_PULLDOWN << 4) | IS31FL3746A_CS_PULLUP);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3746A_GLOBAL_CURRENT);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PWM_ENABLE, 0x01);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_PWM_FREQUENCY, IS31FL3746A_PWM_FREQUENCY);
+ is31fl3746a_write_register(index, IS31FL3746A_FUNCTION_REG_CONFIGURATION, IS31FL3746A_CONFIGURATION);
+
+ // Wait 10ms to ensure the device has woken up.
+ wait_ms(10);
+}
+
+void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3746a_led_t led;
+
+ if (index >= 0 && index < IS31FL3746A_LED_COUNT) {
+ memcpy_P(&led, (&g_is31fl3746a_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < IS31FL3746A_LED_COUNT; i++) {
+ is31fl3746a_set_color(i, red, green, blue);
+ }
+}
+
+void is31fl3746a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ is31fl3746a_led_t led;
+ memcpy_P(&led, (&g_is31fl3746a_leds[index]), sizeof(led));
+
+ driver_buffers[led.driver].scaling_buffer[led.r] = red;
+ driver_buffers[led.driver].scaling_buffer[led.g] = green;
+ driver_buffers[led.driver].scaling_buffer[led.b] = blue;
+ driver_buffers[led.driver].scaling_buffer_dirty = true;
+}
+
+void is31fl3746a_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_PWM);
+
+ is31fl3746a_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void is31fl3746a_update_scaling_registers(uint8_t index) {
+ if (driver_buffers[index].scaling_buffer_dirty) {
+ is31fl3746a_select_page(index, IS31FL3746A_COMMAND_SCALING);
+
+ for (uint8_t i = 0; i < IS31FL3746A_SCALING_REGISTER_COUNT; i++) {
+ is31fl3746a_write_register(index, i + 1, driver_buffers[index].scaling_buffer[i]);
+ }
+
+ driver_buffers[index].scaling_buffer_dirty = false;
+ }
+}
+
+void is31fl3746a_flush(void) {
+ for (uint8_t i = 0; i < IS31FL3746A_DRIVER_COUNT; i++) {
+ is31fl3746a_update_pwm_buffers(i);
+ }
+}
diff --git a/drivers/led/issi/is31fl3746a.h b/drivers/led/issi/is31fl3746a.h
new file mode 100644
index 0000000000..ba435b8f19
--- /dev/null
+++ b/drivers/led/issi/is31fl3746a.h
@@ -0,0 +1,203 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2018 Jack Humbert
+ * Copyright 2018 Yiancar
+ * Copyright 2020 MelGeek
+ * Copyright 2021 MasterSpoon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+#define IS31FL3746A_REG_ID 0xFC
+
+#define IS31FL3746A_REG_COMMAND 0xFD
+
+#define IS31FL3746A_COMMAND_PWM 0x00
+#define IS31FL3746A_COMMAND_SCALING 0x01
+#define IS31FL3746A_COMMAND_FUNCTION 0x01
+
+#define IS31FL3746A_FUNCTION_REG_CONFIGURATION 0x50
+#define IS31FL3746A_FUNCTION_REG_GLOBAL_CURRENT 0x51
+#define IS31FL3746A_FUNCTION_REG_PULLDOWNUP 0x52
+#define IS31FL3746A_FUNCTION_REG_TEMPERATURE 0x5F
+#define IS31FL3746A_FUNCTION_REG_SPREAD_SPECTRUM 0x60
+#define IS31FL3746A_FUNCTION_REG_RESET 0x8F
+#define IS31FL3746A_FUNCTION_REG_PWM_ENABLE 0xE0
+#define IS31FL3746A_FUNCTION_REG_PWM_FREQUENCY 0xE2
+
+#define IS31FL3746A_REG_COMMAND_WRITE_LOCK 0xFE
+#define IS31FL3746A_COMMAND_WRITE_LOCK_MAGIC 0xC5
+
+#define IS31FL3746A_I2C_ADDRESS_GND_GND 0x60
+#define IS31FL3746A_I2C_ADDRESS_GND_SCL 0x61
+#define IS31FL3746A_I2C_ADDRESS_GND_SDA 0x62
+#define IS31FL3746A_I2C_ADDRESS_GND_VCC 0x63
+#define IS31FL3746A_I2C_ADDRESS_SCL_GND 0x64
+#define IS31FL3746A_I2C_ADDRESS_SCL_SCL 0x65
+#define IS31FL3746A_I2C_ADDRESS_SCL_SDA 0x66
+#define IS31FL3746A_I2C_ADDRESS_SCL_VCC 0x67
+#define IS31FL3746A_I2C_ADDRESS_SDA_GND 0x68
+#define IS31FL3746A_I2C_ADDRESS_SDA_SCL 0x69
+#define IS31FL3746A_I2C_ADDRESS_SDA_SDA 0x6A
+#define IS31FL3746A_I2C_ADDRESS_SDA_VCC 0x6B
+#define IS31FL3746A_I2C_ADDRESS_VCC_GND 0x6C
+#define IS31FL3746A_I2C_ADDRESS_VCC_SCL 0x6D
+#define IS31FL3746A_I2C_ADDRESS_VCC_SDA 0x6E
+#define IS31FL3746A_I2C_ADDRESS_VCC_VCC 0x6F
+
+#if defined(RGB_MATRIX_IS31FL3746A)
+# define IS31FL3746A_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3746A_I2C_ADDRESS_4)
+# define IS31FL3746A_DRIVER_COUNT 4
+#elif defined(IS31FL3746A_I2C_ADDRESS_3)
+# define IS31FL3746A_DRIVER_COUNT 3
+#elif defined(IS31FL3746A_I2C_ADDRESS_2)
+# define IS31FL3746A_DRIVER_COUNT 2
+#elif defined(IS31FL3746A_I2C_ADDRESS_1)
+# define IS31FL3746A_DRIVER_COUNT 1
+#endif
+
+typedef struct is31fl3746a_led_t {
+ uint8_t driver : 2;
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+} PACKED is31fl3746a_led_t;
+
+extern const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT];
+
+void is31fl3746a_init_drivers(void);
+void is31fl3746a_init(uint8_t index);
+void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data);
+void is31fl3746a_select_page(uint8_t index, uint8_t page);
+
+void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3746a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue);
+
+void is31fl3746a_update_pwm_buffers(uint8_t index);
+void is31fl3746a_update_scaling_registers(uint8_t index);
+
+void is31fl3746a_flush(void);
+
+#define IS31FL3746A_PDR_0_OHM 0b000 // No pull-down resistor
+#define IS31FL3746A_PDR_0K5_OHM_SW_OFF 0b001 // 0.5 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_1K_OHM_SW_OFF 0b010 // 1 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_2K_OHM_SW_OFF 0b011 // 2 kOhm resistor in SWx off time
+#define IS31FL3746A_PDR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3746A_PDR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3746A_PDR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3746A_PDR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3746A_PUR_0_OHM 0b000 // No pull-up resistor
+#define IS31FL3746A_PUR_0K5_OHM_CS_OFF 0b001 // 0.5 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_1K_OHM_CS_OFF 0b010 // 1 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_2K_OHM_CS_OFF 0b011 // 2 kOhm resistor in CSy off time
+#define IS31FL3746A_PUR_1K_OHM 0b100 // 1 kOhm resistor
+#define IS31FL3746A_PUR_2K_OHM 0b101 // 2 kOhm resistor
+#define IS31FL3746A_PUR_4K_OHM 0b110 // 4 kOhm resistor
+#define IS31FL3746A_PUR_8K_OHM 0b111 // 8 kOhm resistor
+
+#define IS31FL3746A_PWM_FREQUENCY_29K_HZ 0b000
+#define IS31FL3746A_PWM_FREQUENCY_14K5_HZ 0b001
+#define IS31FL3746A_PWM_FREQUENCY_7K25_HZ 0b010
+#define IS31FL3746A_PWM_FREQUENCY_3K63_HZ 0b011
+#define IS31FL3746A_PWM_FREQUENCY_1K81_HZ 0b100
+#define IS31FL3746A_PWM_FREQUENCY_906_HZ 0b101
+#define IS31FL3746A_PWM_FREQUENCY_453_HZ 0b110
+
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+#define SW1_CS17 0x10
+#define SW1_CS18 0x11
+
+#define SW2_CS1 0x12
+#define SW2_CS2 0x13
+#define SW2_CS3 0x14
+#define SW2_CS4 0x15
+#define SW2_CS5 0x16
+#define SW2_CS6 0x17
+#define SW2_CS7 0x18
+#define SW2_CS8 0x19
+#define SW2_CS9 0x1A
+#define SW2_CS10 0x1B
+#define SW2_CS11 0x1C
+#define SW2_CS12 0x1D
+#define SW2_CS13 0x1E
+#define SW2_CS14 0x1F
+#define SW2_CS15 0x20
+#define SW2_CS16 0x21
+#define SW2_CS17 0x22
+#define SW2_CS18 0x23
+
+#define SW3_CS1 0x24
+#define SW3_CS2 0x25
+#define SW3_CS3 0x26
+#define SW3_CS4 0x27
+#define SW3_CS5 0x28
+#define SW3_CS6 0x29
+#define SW3_CS7 0x2A
+#define SW3_CS8 0x2B
+#define SW3_CS9 0x2C
+#define SW3_CS10 0x2D
+#define SW3_CS11 0x2E
+#define SW3_CS12 0x2F
+#define SW3_CS13 0x30
+#define SW3_CS14 0x31
+#define SW3_CS15 0x32
+#define SW3_CS16 0x33
+#define SW3_CS17 0x34
+#define SW3_CS18 0x35
+
+#define SW4_CS1 0x36
+#define SW4_CS2 0x37
+#define SW4_CS3 0x38
+#define SW4_CS4 0x39
+#define SW4_CS5 0x3A
+#define SW4_CS6 0x3B
+#define SW4_CS7 0x3C
+#define SW4_CS8 0x3D
+#define SW4_CS9 0x3E
+#define SW4_CS10 0x3F
+#define SW4_CS11 0x40
+#define SW4_CS12 0x41
+#define SW4_CS13 0x42
+#define SW4_CS14 0x43
+#define SW4_CS15 0x44
+#define SW4_CS16 0x45
+#define SW4_CS17 0x46
+#define SW4_CS18 0x47
diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c
deleted file mode 100644
index d6b9bce93d..0000000000
--- a/drivers/led/issi/is31flcommon.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- * Copyright 2021 MasterSpoon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "is31flcommon.h"
-#include "i2c_master.h"
-#include "wait.h"
-#include <string.h>
-
-// Set defaults for Timeout and Persistence
-#ifndef ISSI_TIMEOUT
-# define ISSI_TIMEOUT 100
-#endif
-#ifndef ISSI_PERSISTENCE
-# define ISSI_PERSISTENCE 0
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the PWM & scaling registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS];
-bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
-
-uint8_t g_scaling_buffer[DRIVER_COUNT][ISSI_SCALING_SIZE];
-bool g_scaling_buffer_update_required[DRIVER_COUNT] = {false};
-
-// For writing of single register entry
-void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data) {
- // Set register address and register data ready to write
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if ISSI_PERSISTENCE > 0
- for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break;
- }
-#else
- i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT);
-#endif
-}
-
-// For writing of mulitple register entries to make use of address auto increment
-// Once the controller has been called and we have written the first bit of data
-// the controller will move to the next register meaning we can write sequential blocks.
-bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr) {
- // Split the buffer into chunks to transfer
- for (int i = 0; i < buffer_size; i += transfer_size) {
- // Set the first entry of transfer buffer to the first register we want to write
- g_twi_transfer_buffer[0] = i + start_reg_addr;
- // Copy the section of our source buffer into the transfer buffer after first register address
- memcpy(g_twi_transfer_buffer + 1, source_buffer + i, transfer_size);
-
-#if ISSI_PERSISTENCE > 0
- for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) {
- return false;
- }
-#endif
- }
- return true;
-}
-
-void IS31FL_unlock_register(uint8_t addr, uint8_t page) {
- // unlock the command register and select Page to write
- IS31FL_write_single_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, ISSI_REGISTER_UNLOCK);
- IS31FL_write_single_register(addr, ISSI_COMMANDREGISTER, page);
-}
-
-void IS31FL_common_init(uint8_t addr, uint8_t ssr) {
- // Setup phase, need to take out of software shutdown and configure
- // ISSI_SSR_x is passed to allow Master / Slave setting where applicable
-
- // Unlock the command register & select Function Register
- IS31FL_unlock_register(addr, ISSI_PAGE_FUNCTION);
- // Set Configuration Register to remove Software shutdown
- IS31FL_write_single_register(addr, ISSI_REG_CONFIGURATION, ISSI_CONFIGURATION);
- // Set Golbal Current Control Register
- IS31FL_write_single_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT);
- // Set Pull up & Down for SWx CSy
- IS31FL_write_single_register(addr, ISSI_REG_PULLDOWNUP, ISSI_PULLDOWNUP);
-// Set Tempature Status
-#ifdef ISSI_REG_TEMP
- IS31FL_write_single_register(addr, ISSI_REG_TEMP, ISSI_TEMP);
-#endif
- // Set Spread Spectrum Register, passed through as sets SYNC function
- IS31FL_write_single_register(addr, ISSI_REG_SSR, ssr);
-// Set PWM Frequency Enable Register if applicable
-#ifdef ISSI_REG_PWM_ENABLE
- IS31FL_write_single_register(addr, ISSI_REG_PWM_ENABLE, ISSI_PWM_ENABLE);
-#endif
-// Set PWM Frequency Register if applicable
-#ifdef ISSI_REG_PWM_SET
- IS31FL_write_single_register(addr, ISSI_REG_PWM_SET, ISSI_PWM_SET);
-#endif
-
- // Wait 10ms to ensure the device has woken up.
- wait_ms(10);
-}
-
-void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Queue up the correct page
- IS31FL_unlock_register(addr, ISSI_PAGE_PWM);
- // Hand off the update to IS31FL_write_multi_registers
- IS31FL_write_multi_registers(addr, g_pwm_buffer[index], ISSI_MAX_LEDS, ISSI_PWM_TRF_SIZE, ISSI_PWM_REG_1ST);
- // Update flags that pwm_buffer has been updated
- g_pwm_buffer_update_required[index] = false;
- }
-}
-
-#ifdef ISSI_MANUAL_SCALING
-void IS31FL_set_manual_scaling_buffer(void) {
- is31_led led;
- is31_led scale;
- for (int i = 0; i < ISSI_MANUAL_SCALING; i++) {
- memcpy_P(&scale, (&g_is31_scaling[i]), sizeof(scale));
-
-# ifdef RGB_MATRIX_ENABLE
- if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) {
- memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led));
-
- if (g_scaling_buffer[led.driver][led.r] = scale.r && g_scaling_buffer[led.driver][led.g] = scale.g && g_scaling_buffer[led.driver][led.b] = scale.b) {
- return;
- }
- g_scaling_buffer[led.driver][led.r] = scale.r;
- g_scaling_buffer[led.driver][led.g] = scale.g;
- g_scaling_buffer[led.driver][led.b] = scale.b;
-# elif defined(LED_MATRIX_ENABLE)
- if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) {
- memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led));
-
- if (g_scaling_buffer[led.driver][led.v] == scale.v) {
- return;
- }
- g_scaling_buffer[led.driver][led.v] = scale.v;
-# endif
- g_scaling_buffer_update_required[led.driver] = true;
- }
- }
-}
-#endif
-
-void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) {
- if (g_scaling_buffer_update_required[index]) {
- // Queue up the correct page
- IS31FL_unlock_register(addr, ISSI_PAGE_SCALING);
- // Hand off the update to IS31FL_write_multi_registers
- IS31FL_write_multi_registers(addr, g_scaling_buffer[index], ISSI_SCALING_SIZE, ISSI_SCALING_TRF_SIZE, ISSI_SCL_REG_1ST);
- // Update flags that scaling_buffer has been updated
- g_scaling_buffer_update_required[index] = false;
- }
-}
-
-void IS31FL_common_flush(void) {
- IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0);
-#if defined(DRIVER_ADDR_2)
- IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1);
-# if defined(DRIVER_ADDR_3)
- IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2);
-# if defined(DRIVER_ADDR_4)
- IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3);
-# endif
-# endif
-#endif
-}
-
-#ifdef RGB_MATRIX_ENABLE
-void IS31FL_RGB_init_drivers(void) {
- i2c_init();
-
- IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1);
-# if defined(DRIVER_ADDR_2)
- IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2);
-# if defined(DRIVER_ADDR_3)
- IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3);
-# if defined(DRIVER_ADDR_4)
- IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4);
-# endif
-# endif
-# endif
-
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- IS31FL_RGB_set_scaling_buffer(i, true, true, true);
- }
-
- // This actually updates the LED drivers
-# ifdef ISSI_MANUAL_SCALING
- IS31FL_set_manual_scaling_buffer();
-# endif
-
- IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0);
-# if defined(DRIVER_ADDR_2)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1);
-# if defined(DRIVER_ADDR_3)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2);
-# if defined(DRIVER_ADDR_4)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3);
-# endif
-# endif
-# endif
-}
-
-// Colour is set by adjusting PWM register
-void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
- if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
- is31_led led;
- memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
-
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- IS31FL_RGB_set_color(i, red, green, blue);
- }
-}
-
-// Setup Scaling register that decides the peak current of each LED
-void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue) {
- is31_led led;
- memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
- if (red) {
- g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED;
- } else {
- g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED_OFF;
- }
- if (green) {
- g_scaling_buffer[led.driver][led.g] = ISSI_SCAL_GREEN;
- } else {
- g_scaling_buffer[led.driver][led.g] = ISSI_SCAL_GREEN_OFF;
- }
- if (blue) {
- g_scaling_buffer[led.driver][led.b] = ISSI_SCAL_BLUE;
- } else {
- g_scaling_buffer[led.driver][led.b] = ISSI_SCAL_BLUE_OFF;
- }
- g_scaling_buffer_update_required[led.driver] = true;
-}
-
-#elif defined(LED_MATRIX_ENABLE)
-// LED Matrix Specific scripts
-void IS31FL_simple_init_drivers(void) {
- i2c_init();
-
- IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1);
-# if defined(DRIVER_ADDR_2)
- IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2);
-# if defined(DRIVER_ADDR_3)
- IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3);
-# if defined(DRIVER_ADDR_4)
- IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4);
-# endif
-# endif
-# endif
-
- for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
- IS31FL_simple_set_scaling_buffer(i, true);
- }
-
-// This actually updates the LED drivers
-# ifdef ISSI_MANUAL_SCALING
- IS31FL_set_manual_scaling_buffer();
-# endif
-
- IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0);
-# if defined(DRIVER_ADDR_2)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1);
-# if defined(DRIVER_ADDR_3)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2);
-# if defined(DRIVER_ADDR_4)
- IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3);
-# endif
-# endif
-# endif
-}
-
-void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) {
- is31_led led;
- memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
- if (value) {
- g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED;
- } else {
- g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED_OFF;
- }
- g_scaling_buffer_update_required[led.driver] = true;
-}
-
-void IS31FL_simple_set_brightness(int index, uint8_t value) {
- if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
- is31_led led;
- memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
-
- g_pwm_buffer[led.driver][led.v] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void IS31FL_simple_set_brigntness_all(uint8_t value) {
- for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
- IS31FL_simple_set_brightness(i, value);
- }
-}
-#endif
diff --git a/drivers/led/issi/is31flcommon.h b/drivers/led/issi/is31flcommon.h
deleted file mode 100644
index 10613a6eed..0000000000
--- a/drivers/led/issi/is31flcommon.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright 2017 Jason Williams
- * Copyright 2018 Jack Humbert
- * Copyright 2018 Yiancar
- * Copyright 2020 MelGeek
- * Copyright 2021 MasterSpoon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// Which variant header file to use
-#if defined(LED_MATRIX_IS31FL3742A) || defined(RGB_MATRIX_IS31FL3742A)
-# include "is31fl3742.h"
-#elif defined(LED_MATRIX_IS31FL3743A) || defined(RGB_MATRIX_IS31FL3743A)
-# include "is31fl3743.h"
-#elif defined(LED_MATRIX_IS31FL3745) || defined(RGB_MATRIX_IS31FL3745)
-# include "is31fl3745.h"
-#elif defined(LED_MATRIX_IS31FL3746A) || defined(RGB_MATRIX_IS31FL3746A)
-# include "is31fl3746.h"
-#endif
-
-#if defined DRIVER_ADDR_4
-# define DRIVER_COUNT 4
-#elif defined DRIVER_ADDR_3
-# define DRIVER_COUNT 3
-#elif defined DRIVER_ADDR_2
-# define DRIVER_COUNT 2
-#elif defined DRIVER_ADDR_1
-# define DRIVER_COUNT 1
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
-typedef struct is31_led {
- uint8_t driver : 2;
- uint8_t r;
- uint8_t g;
- uint8_t b;
-} PACKED is31_led;
-
-extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
-
-#elif defined(LED_MATRIX_ENABLE)
-typedef struct is31_led {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED is31_led;
-
-extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT];
-#endif
-
-#ifdef ISSI_MANUAL_SCALING
-extern const is31_led PROGMEM g_is31_scaling[];
-void IS31FL_set_manual_scaling_buffer(void);
-#endif
-
-void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr);
-void IS31FL_unlock_register(uint8_t addr, uint8_t page);
-void IS31FL_common_init(uint8_t addr, uint8_t ssr);
-
-void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index);
-void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index);
-
-void IS31FL_common_flush(void);
-
-#ifdef RGB_MATRIX_ENABLE
-// RGB Matrix Specific scripts
-void IS31FL_RGB_init_drivers(void);
-void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
-void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
-void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue);
-#elif defined(LED_MATRIX_ENABLE)
-// LED Matrix Specific scripts
-void IS31FL_simple_init_drivers(void);
-void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value);
-void IS31FL_simple_set_brightness(int index, uint8_t value);
-void IS31FL_simple_set_brigntness_all(uint8_t value);
-#endif
diff --git a/drivers/led/snled27351-mono.c b/drivers/led/snled27351-mono.c
new file mode 100644
index 0000000000..d87b856db6
--- /dev/null
+++ b/drivers/led/snled27351-mono.c
@@ -0,0 +1,250 @@
+/* Copyright 2021 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "snled27351-mono.h"
+#include "i2c_master.h"
+#include "gpio.h"
+
+#define SNLED27351_PWM_REGISTER_COUNT 192
+#define SNLED27351_LED_CONTROL_REGISTER_COUNT 24
+
+#ifndef SNLED27351_I2C_TIMEOUT
+# define SNLED27351_I2C_TIMEOUT 100
+#endif
+
+#ifndef SNLED27351_I2C_PERSISTENCE
+# define SNLED27351_I2C_PERSISTENCE 0
+#endif
+
+#ifndef SNLED27351_PHASE_CHANNEL
+# define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL
+#endif
+
+#ifndef SNLED27351_CURRENT_TUNE
+# define SNLED27351_CURRENT_TUNE \
+ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
+#endif
+
+const uint8_t i2c_addresses[SNLED27351_DRIVER_COUNT] = {
+ SNLED27351_I2C_ADDRESS_1,
+#ifdef SNLED27351_I2C_ADDRESS_2
+ SNLED27351_I2C_ADDRESS_2,
+# ifdef SNLED27351_I2C_ADDRESS_3
+ SNLED27351_I2C_ADDRESS_3,
+# ifdef SNLED27351_I2C_ADDRESS_4
+ SNLED27351_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
+
+// These buffers match the SNLED27351 PWM registers.
+// The control buffers match the PG0 LED On/Off registers.
+// Storing them like this is optimal for I2C transfers to the registers.
+// We could optimize this and take out the unused registers from these
+// buffers and the transfers in snled27351_write_pwm_buffer() but it's
+// probably not worth the extra complexity.
+typedef struct snled27351_driver_t {
+ uint8_t pwm_buffer[SNLED27351_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[SNLED27351_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED snled27351_driver_t;
+
+snled27351_driver_t driver_buffers[SNLED27351_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void snled27351_write_register(uint8_t index, uint8_t reg, uint8_t data) {
+#if SNLED27351_I2C_PERSISTENCE > 0
+ for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, SNLED27351_I2C_TIMEOUT);
+#endif
+}
+
+void snled27351_select_page(uint8_t index, uint8_t page) {
+ snled27351_write_register(index, SNLED27351_REG_COMMAND, page);
+}
+
+void snled27351_write_pwm_buffer(uint8_t index) {
+ // Assumes PG1 is already selected.
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) {
+#if SNLED27351_I2C_PERSISTENCE > 0
+ for (uint8_t j = 0; j < SNLED27351_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
+ }
+#else
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT);
+#endif
+ }
+}
+
+void snled27351_init_drivers(void) {
+ i2c_init();
+
+#if defined(SNLED27351_SDB_PIN)
+ gpio_set_pin_output(SNLED27351_SDB_PIN);
+ gpio_write_pin_high(SNLED27351_SDB_PIN);
+#endif
+
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_init(i);
+ }
+
+ for (int i = 0; i < SNLED27351_LED_COUNT; i++) {
+ snled27351_set_led_control_register(i, true);
+ }
+
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_update_led_control_registers(i);
+ }
+}
+
+void snled27351_init(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
+ // Setting LED driver to shutdown mode
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
+ // Setting internal channel pulldown/pullup
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED);
+ // Select number of scan phase
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL);
+ // Setting PWM Delay Phase
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE);
+ // Setting Driving/Sinking Channel Slew Rate
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE);
+ // Setting Iref
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0);
+
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
+ for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
+ snled27351_write_register(index, i, 0x00);
+ }
+
+ snled27351_select_page(index, SNLED27351_COMMAND_PWM);
+
+ for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
+ snled27351_write_register(index, i, 0x00);
+ }
+
+ snled27351_select_page(index, SNLED27351_COMMAND_CURRENT_TUNE);
+
+ uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE;
+ for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
+ snled27351_write_register(index, i, current_tune_reg_list[i]);
+ }
+
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
+ for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
+ snled27351_write_register(index, i, 0xFF);
+ }
+
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
+ // Setting LED driver to normal mode
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
+}
+
+void snled27351_set_value(int index, uint8_t value) {
+ snled27351_led_t led;
+ if (index >= 0 && index < SNLED27351_LED_COUNT) {
+ memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led));
+
+ if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
+ return;
+ }
+
+ driver_buffers[led.driver].pwm_buffer[led.v] = value;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
+ }
+}
+
+void snled27351_set_value_all(uint8_t value) {
+ for (int i = 0; i < SNLED27351_LED_COUNT; i++) {
+ snled27351_set_value(i, value);
+ }
+}
+
+void snled27351_set_led_control_register(uint8_t index, bool value) {
+ snled27351_led_t led;
+ memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led));
+
+ uint8_t control_register = led.v / 8;
+ uint8_t bit_value = led.v % 8;
+
+ if (value) {
+ driver_buffers[led.driver].led_control_buffer[control_register] |= (1 << bit_value);
+ } else {
+ driver_buffers[led.driver].led_control_buffer[control_register] &= ~(1 << bit_value);
+ }
+
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
+}
+
+void snled27351_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ snled27351_select_page(index, SNLED27351_COMMAND_PWM);
+
+ snled27351_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
+ }
+}
+
+void snled27351_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) {
+ snled27351_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
+ }
+
+ driver_buffers[index].led_control_buffer_dirty = false;
+ }
+}
+
+void snled27351_flush(void) {
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_update_pwm_buffers(i);
+ }
+}
+
+void snled27351_sw_return_normal(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
+ // Setting LED driver to normal mode
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
+}
+
+void snled27351_sw_shutdown(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
+ // Setting LED driver to shutdown mode
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
+ // Write SW Sleep Register
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE);
+}
diff --git a/drivers/led/snled27351-mono.h b/drivers/led/snled27351-mono.h
new file mode 100644
index 0000000000..43d39934cb
--- /dev/null
+++ b/drivers/led/snled27351-mono.h
@@ -0,0 +1,586 @@
+/* Copyright 2021 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "progmem.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef CKLED2001_TIMEOUT
+# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT
+#endif
+#ifdef CKLED2001_PERSISTENCE
+# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE
+#endif
+#ifdef PHASE_CHANNEL
+# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL
+#endif
+#ifdef CKLED2001_CURRENT_TUNE
+# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE
+#endif
+
+#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL
+#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL
+#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL
+#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
+#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL
+#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL
+#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL
+#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL
+#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL
+#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL
+#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL
+#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL
+
+#define ckled2001_led snled27351_led_t
+#define g_ckled2001_leds g_snled27351_leds
+// ========
+
+#define SNLED27351_REG_COMMAND 0xFD
+#define SNLED27351_COMMAND_LED_CONTROL 0x00
+#define SNLED27351_COMMAND_PWM 0x01
+#define SNLED27351_COMMAND_FUNCTION 0x03
+#define SNLED27351_COMMAND_CURRENT_TUNE 0x04
+
+#define SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN 0x00
+#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN (0x0 << 0)
+#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL (0x1 << 0)
+
+#define SNLED27351_FUNCTION_REG_ID 0x11
+#define SNLED27351_DRIVER_ID 0x8A
+
+#define SNLED27351_FUNCTION_REG_PULLDOWNUP 0x13
+#define SNLED27351_PULLDOWNUP_ALL_ENABLED 0xAA
+
+#define SNLED27351_FUNCTION_REG_SCAN_PHASE 0x14
+#define SNLED27351_SCAN_PHASE_12_CHANNEL 0x00
+#define SNLED27351_SCAN_PHASE_11_CHANNEL 0x01
+#define SNLED27351_SCAN_PHASE_10_CHANNEL 0x02
+#define SNLED27351_SCAN_PHASE_9_CHANNEL 0x03
+#define SNLED27351_SCAN_PHASE_8_CHANNEL 0x04
+#define SNLED27351_SCAN_PHASE_7_CHANNEL 0x05
+#define SNLED27351_SCAN_PHASE_6_CHANNEL 0x06
+#define SNLED27351_SCAN_PHASE_5_CHANNEL 0x07
+#define SNLED27351_SCAN_PHASE_4_CHANNEL 0x08
+#define SNLED27351_SCAN_PHASE_3_CHANNEL 0x09
+#define SNLED27351_SCAN_PHASE_2_CHANNEL 0x0A
+#define SNLED27351_SCAN_PHASE_1_CHANNEL 0x0B
+
+#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1 0x15
+#define SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE (0b1 << 2)
+
+#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2 0x16
+#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE (0b1 << 6)
+#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE (0b1 << 7)
+
+#define SNLED27351_FUNCTION_REG_OPEN_SHORT_ENABLE 0x17
+#define SNLED27351_OPEN_SHORT_ENABLE_SDS_ENABLE (0b1 << 6)
+#define SNLED27351_OPEN_SHORT_ENABLE_ODS_ENABLE (0b1 << 7)
+
+#define SNLED27351_FUNCTION_REG_OPEN_SHORT_DUTY 0x18
+
+#define SNLED27351_FUNCTION_REG_OPEN_SHORT_FLAG 0x19
+#define SNLED27351_OPEN_SHORT_FLAG_OSINT_ENABLE (0b1 << 6)
+#define SNLED27351_OPEN_SHORT_FLAG_ODINT_ENABLE (0b1 << 7)
+
+#define SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP 0x1A
+#define SNLED27351_SOFTWARE_SLEEP_ENABLE (0b1 << 1)
+
+// LED Control Registers
+#define SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR 0x0
+#define SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR 0x17
+#define SNLED27351_LED_CONTROL_ON_OFF_LENGTH ((SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR - SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR) + 1)
+
+#define SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR 0x18
+#define SNLED27351_LED_CONTROL_OPEN_LAST_ADDR 0x2F
+#define SNLED27351_LED_CONTROL_OPEN_LENGTH ((SNLED27351_LED_CONTROL_OPEN_LAST_ADDR - SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR) + 1)
+
+#define SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR 0x30
+#define SNLED27351_LED_CONTROL_SHORT_LAST_ADDR 0x47
+#define SNLED27351_LED_CONTROL_SHORT_LENGTH ((SNLED27351_LED_CONTROL_SHORT_LAST_ADDR - SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR) + 1)
+
+#define SNLED27351_LED_CONTROL_PAGE_LENGTH 0x48
+
+// LED Control Registers
+#define SNLED27351_LED_PWM_FIRST_ADDR 0x00
+#define SNLED27351_LED_PWM_LAST_ADDR 0xBF
+#define SNLED27351_LED_PWM_LENGTH 0xC0
+
+// Current Tune Registers
+#define SNLED27351_LED_CURRENT_TUNE_FIRST_ADDR 0x00
+#define SNLED27351_LED_CURRENT_TUNE_LAST_ADDR 0x0B
+#define SNLED27351_LED_CURRENT_TUNE_LENGTH 0x0C
+
+#define SNLED27351_I2C_ADDRESS_GND 0x74
+#define SNLED27351_I2C_ADDRESS_SCL 0x75
+#define SNLED27351_I2C_ADDRESS_SDA 0x76
+#define SNLED27351_I2C_ADDRESS_VDDIO 0x77
+
+#if defined(LED_MATRIX_SNLED27351)
+# define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT
+#endif
+
+#if defined(SNLED27351_I2C_ADDRESS_4)
+# define SNLED27351_DRIVER_COUNT 4
+#elif defined(SNLED27351_I2C_ADDRESS_3)
+# define SNLED27351_DRIVER_COUNT 3
+#elif defined(SNLED27351_I2C_ADDRESS_2)
+# define SNLED27351_DRIVER_COUNT 2
+#elif defined(SNLED27351_I2C_ADDRESS_1)
+# define SNLED27351_DRIVER_COUNT 1
+#endif
+
+typedef struct snled27351_led_t {
+ uint8_t driver : 2;
+ uint8_t v;
+} PACKED snled27351_led_t;
+
+extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT];
+
+void snled27351_init_drivers(void);
+void snled27351_init(uint8_t index);
+void snled27351_select_page(uint8_t index, uint8_t page);
+void snled27351_write_register(uint8_t index, uint8_t reg, uint8_t data);
+
+void snled27351_set_value(int index, uint8_t value);
+void snled27351_set_value_all(uint8_t value);
+
+void snled27351_set_led_control_register(uint8_t index, bool value);
+
+// This should not be called from an interrupt
+// (eg. from a timer interrupt).
+// Call this while idle (in between matrix scans).
+// If the buffer is dirty, it will update the driver with the buffer.
+void snled27351_update_pwm_buffers(uint8_t index);
+void snled27351_update_led_control_registers(uint8_t index);
+
+void snled27351_flush(void);
+
+void snled27351_sw_return_normal(uint8_t index);
+void snled27351_sw_shutdown(uint8_t index);
+
+#define CB1_CA1 0x00
+#define CB1_CA2 0x01
+#define CB1_CA3 0x02
+#define CB1_CA4 0x03
+#define CB1_CA5 0x04
+#define CB1_CA6 0x05
+#define CB1_CA7 0x06
+#define CB1_CA8 0x07
+#define CB1_CA9 0x08
+#define CB1_CA10 0x09
+#define CB1_CA11 0x0A
+#define CB1_CA12 0x0B
+#define CB1_CA13 0x0C
+#define CB1_CA14 0x0D
+#define CB1_CA15 0x0E
+#define CB1_CA16 0x0F
+
+#define CB2_CA1 0x10
+#define CB2_CA2 0x11
+#define CB2_CA3 0x12
+#define CB2_CA4 0x13
+#define CB2_CA5 0x14
+#define CB2_CA6 0x15
+#define CB2_CA7 0x16
+#define CB2_CA8 0x17
+#define CB2_CA9 0x18
+#define CB2_CA10 0x19
+#define CB2_CA11 0x1A
+#define CB2_CA12 0x1B
+#define CB2_CA13 0x1C
+#define CB2_CA14 0x1D
+#define CB2_CA15 0x1E
+#define CB2_CA16 0x1F
+
+#define CB3_CA1 0x20
+#define CB3_CA2 0x21
+#define CB3_CA3 0x22
+#define CB3_CA4 0x23
+#define CB3_CA5 0x24
+#define CB3_CA6 0x25
+#define CB3_CA7 0x26
+#define CB3_CA8 0x27
+#define CB3_CA9 0x28
+#define CB3_CA10 0x29
+#define CB3_CA11 0x2A
+#define CB3_CA12 0x2B
+#define CB3_CA13 0x2C
+#define CB3_CA14 0x2D
+#define CB3_CA15 0x2E
+#define CB3_CA16 0x2F
+
+#define CB4_CA1 0x30
+#define CB4_CA2 0x31
+#define CB4_CA3 0x32
+#define CB4_CA4 0x33
+#define CB4_CA5 0x34
+#define CB4_CA6 0x35
+#define CB4_CA7 0x36
+#define CB4_CA8 0x37
+#define CB4_CA9 0x38
+#define CB4_CA10 0x39
+#define CB4_CA11 0x3A
+#define CB4_CA12 0x3B
+#define CB4_CA13 0x3C
+#define CB4_CA14 0x3D
+#define CB4_CA15 0x3E
+#define CB4_CA16 0x3F
+
+#define CB5_CA1 0x40
+#define CB5_CA2 0x41
+#define CB5_CA3 0x42
+#define CB5_CA4 0x43
+#define CB5_CA5 0x44
+#define CB5_CA6 0x45
+#define CB5_CA7 0x46
+#define CB5_CA8 0x47
+#define CB5_CA9 0x48
+#define CB5_CA10 0x49
+#define CB5_CA11 0x4A
+#define CB5_CA12 0x4B
+#define CB5_CA13 0x4C
+#define CB5_CA14 0x4D
+#define CB5_CA15 0x4E
+#define CB5_CA16 0x4F
+
+#define CB6_CA1 0x50
+#define CB6_CA2 0x51
+#define CB6_CA3 0x52
+#define CB6_CA4 0x53
+#define CB6_CA5 0x54
+#define CB6_CA6 0x55
+#define CB6_CA7 0x56
+#define CB6_CA8 0x57
+#define CB6_CA9 0x58
+#define CB6_CA10 0x59
+#define CB6_CA11 0x5A
+#define CB6_CA12 0x5B
+#define CB6_CA13 0x5C
+#define CB6_CA14 0x5D
+#define CB6_CA15 0x5E
+#define CB6_CA16 0x5F
+
+#define CB7_CA1 0x60
+#define CB7_CA2 0x61
+#define CB7_CA3 0x62
+#define CB7_CA4 0x63
+#define CB7_CA5 0x64
+#define CB7_CA6 0x65
+#define CB7_CA7 0x66
+#define CB7_CA8 0x67
+#define CB7_CA9 0x68
+#define CB7_CA10 0x69
+#define CB7_CA11 0x6A
+#define CB7_CA12 0x6B
+#define CB7_CA13 0x6C
+#define CB7_CA14 0x6D
+#define CB7_CA15 0x6E
+#define CB7_CA16 0x6F
+
+#define CB8_CA1 0x70
+#define CB8_CA2 0x71
+#define CB8_CA3 0x72
+#define CB8_CA4 0x73
+#define CB8_CA5 0x74
+#define CB8_CA6 0x75
+#define CB8_CA7 0x76
+#define CB8_CA8 0x77
+#define CB8_CA9 0x78
+#define CB8_CA10 0x79
+#define CB8_CA11 0x7A
+#define CB8_CA12 0x7B
+#define CB8_CA13 0x7C
+#define CB8_CA14 0x7D
+#define CB8_CA15 0x7E
+#define CB8_CA16 0x7F
+
+#define CB9_CA1 0x80
+#define CB9_CA2 0x81
+#define CB9_CA3 0x82
+#define CB9_CA4 0x83
+#define CB9_CA5 0x84
+#define CB9_CA6 0x85
+#define CB9_CA7 0x86
+#define CB9_CA8 0x87
+#define CB9_CA9 0x88
+#define CB9_CA10 0x89
+#define CB9_CA11 0x8A
+#define CB9_CA12 0x8B
+#define CB9_CA13 0x8C
+#define CB9_CA14 0x8D
+#define CB9_CA15 0x8E
+#define CB9_CA16 0x8F
+
+#define CB10_CA1 0x90
+#define CB10_CA2 0x91
+#define CB10_CA3 0x92
+#define CB10_CA4 0x93
+#define CB10_CA5 0x94
+#define CB10_CA6 0x95
+#define CB10_CA7 0x96
+#define CB10_CA8 0x97
+#define CB10_CA9 0x98
+#define CB10_CA10 0x99
+#define CB10_CA11 0x9A
+#define CB10_CA12 0x9B
+#define CB10_CA13 0x9C
+#define CB10_CA14 0x9D
+#define CB10_CA15 0x9E
+#define CB10_CA16 0x9F
+
+#define CB11_CA1 0xA0
+#define CB11_CA2 0xA1
+#define CB11_CA3 0xA2
+#define CB11_CA4 0xA3
+#define CB11_CA5 0xA4
+#define CB11_CA6 0xA5
+#define CB11_CA7 0xA6
+#define CB11_CA8 0xA7
+#define CB11_CA9 0xA8
+#define CB11_CA10 0xA9
+#define CB11_CA11 0xAA
+#define CB11_CA12 0xAB
+#define CB11_CA13 0xAC
+#define CB11_CA14 0xAD
+#define CB11_CA15 0xAE
+#define CB11_CA16 0xAF
+
+#define CB12_CA1 0xB0
+#define CB12_CA2 0xB1
+#define CB12_CA3 0xB2
+#define CB12_CA4 0xB3
+#define CB12_CA5 0xB4
+#define CB12_CA6 0xB5
+#define CB12_CA7 0xB6
+#define CB12_CA8 0xB7
+#define CB12_CA9 0xB8
+#define CB12_CA10 0xB9
+#define CB12_CA11 0xBA
+#define CB12_CA12 0xBB
+#define CB12_CA13 0xBC
+#define CB12_CA14 0xBD
+#define CB12_CA15 0xBE
+#define CB12_CA16 0xBF
+
+// DEPRECATED - DO NOT USE
+
+#define A_1 CB1_CA1
+#define A_2 CB1_CA2
+#define A_3 CB1_CA3
+#define A_4 CB1_CA4
+#define A_5 CB1_CA5
+#define A_6 CB1_CA6
+#define A_7 CB1_CA7
+#define A_8 CB1_CA8
+#define A_9 CB1_CA9
+#define A_10 CB1_CA10
+#define A_11 CB1_CA11
+#define A_12 CB1_CA12
+#define A_13 CB1_CA13
+#define A_14 CB1_CA14
+#define A_15 CB1_CA15
+#define A_16 CB1_CA16
+
+#define B_1 CB2_CA1
+#define B_2 CB2_CA2
+#define B_3 CB2_CA3
+#define B_4 CB2_CA4
+#define B_5 CB2_CA5
+#define B_6 CB2_CA6
+#define B_7 CB2_CA7
+#define B_8 CB2_CA8
+#define B_9 CB2_CA9
+#define B_10 CB2_CA10
+#define B_11 CB2_CA11
+#define B_12 CB2_CA12
+#define B_13 CB2_CA13
+#define B_14 CB2_CA14
+#define B_15 CB2_CA15
+#define B_16 CB2_CA16
+
+#define C_1 CB3_CA1
+#define C_2 CB3_CA2
+#define C_3 CB3_CA3
+#define C_4 CB3_CA4
+#define C_5 CB3_CA5
+#define C_6 CB3_CA6
+#define C_7 CB3_CA7
+#define C_8 CB3_CA8
+#define C_9 CB3_CA9
+#define C_10 CB3_CA10
+#define C_11 CB3_CA11
+#define C_12 CB3_CA12
+#define C_13 CB3_CA13
+#define C_14 CB3_CA14
+#define C_15 CB3_CA15
+#define C_16 CB3_CA16
+
+#define D_1 CB4_CA1
+#define D_2 CB4_CA2
+#define D_3 CB4_CA3
+#define D_4 CB4_CA4
+#define D_5 CB4_CA5
+#define D_6 CB4_CA6
+#define D_7 CB4_CA7
+#define D_8 CB4_CA8
+#define D_9 CB4_CA9
+#define D_10 CB4_CA10
+#define D_11 CB4_CA11
+#define D_12 CB4_CA12
+#define D_13 CB4_CA13
+#define D_14 CB4_CA14
+#define D_15 CB4_CA15
+#define D_16 CB4_CA16
+
+#define E_1 CB5_CA1
+#define E_2 CB5_CA2
+#define E_3 CB5_CA3
+#define E_4 CB5_CA4
+#define E_5 CB5_CA5
+#define E_6 CB5_CA6
+#define E_7 CB5_CA7
+#define E_8 CB5_CA8
+#define E_9 CB5_CA9
+#define E_10 CB5_CA10
+#define E_11 CB5_CA11
+#define E_12 CB5_CA12
+#define E_13 CB5_CA13
+#define E_14 CB5_CA14
+#define E_15 CB5_CA15
+#define E_16 CB5_CA16
+
+#define F_1 CB6_CA1
+#define F_2 CB6_CA2
+#define F_3 CB6_CA3
+#define F_4 CB6_CA4
+#define F_5 CB6_CA5
+#define F_6 CB6_CA6
+#define F_7 CB6_CA7
+#define F_8 CB6_CA8
+#define F_9 CB6_CA9
+#define F_10 CB6_CA10
+#define F_11 CB6_CA11
+#define F_12 CB6_CA12
+#define F_13 CB6_CA13
+#define F_14 CB6_CA14
+#define F_15 CB6_CA15
+#define F_16 CB6_CA16
+
+#define G_1 CB7_CA1
+#define G_2 CB7_CA2
+#define G_3 CB7_CA3
+#define G_4 CB7_CA4
+#define G_5 CB7_CA5
+#define G_6 CB7_CA6
+#define G_7 CB7_CA7
+#define G_8 CB7_CA8
+#define G_9 CB7_CA9
+#define G_10 CB7_CA10
+#define G_11 CB7_CA11
+#define G_12 CB7_CA12
+#define G_13 CB7_CA13
+#define G_14 CB7_CA14
+#define G_15 CB7_CA15
+#define G_16 CB7_CA16
+
+#define H_1 CB8_CA1
+#define H_2 CB8_CA2
+#define H_3 CB8_CA3
+#define H_4 CB8_CA4
+#define H_5 CB8_CA5
+#define H_6 CB8_CA6
+#define H_7 CB8_CA7
+#define H_8 CB8_CA8
+#define H_9 CB8_CA9
+#define H_10 CB8_CA10
+#define H_11 CB8_CA11
+#define H_12 CB8_CA12
+#define H_13 CB8_CA13
+#define H_14 CB8_CA14
+#define H_15 CB8_CA15
+#define H_16 CB8_CA16
+
+#define I_1 CB9_CA1
+#define I_2 CB9_CA2
+#define I_3 CB9_CA3
+#define I_4 CB9_CA4
+#define I_5 CB9_CA5
+#define I_6 CB9_CA6
+#define I_7 CB9_CA7
+#define I_8 CB9_CA8
+#define I_9 CB9_CA9
+#define I_10 CB9_CA10
+#define I_11 CB9_CA11
+#define I_12 CB9_CA12
+#define I_13 CB9_CA13
+#define I_14 CB9_CA14
+#define I_15 CB9_CA15
+#define I_16 CB9_CA16
+
+#define J_1 CB10_CA1
+#define J_2 CB10_CA2
+#define J_3 CB10_CA3
+#define J_4 CB10_CA4
+#define J_5 CB10_CA5
+#define J_6 CB10_CA6
+#define J_7 CB10_CA7
+#define J_8 CB10_CA8
+#define J_9 CB10_CA9
+#define J_10 CB10_CA10
+#define J_11 CB10_CA11
+#define J_12 CB10_CA12
+#define J_13 CB10_CA13
+#define J_14 CB10_CA14
+#define J_15 CB10_CA15
+#define J_16 CB10_CA16
+
+#define K_1 CB11_CA1
+#define K_2 CB11_CA2
+#define K_3 CB11_CA3
+#define K_4 CB11_CA4
+#define K_5 CB11_CA5
+#define K_6 CB11_CA6
+#define K_7 CB11_CA7
+#define K_8 CB11_CA8
+#define K_9 CB11_CA9
+#define K_10 CB11_CA10
+#define K_11 CB11_CA11
+#define K_12 CB11_CA12
+#define K_13 CB11_CA13
+#define K_14 CB11_CA14
+#define K_15 CB11_CA15
+#define K_16 CB11_CA16
+
+#define L_1 CB12_CA1
+#define L_2 CB12_CA2
+#define L_3 CB12_CA3
+#define L_4 CB12_CA4
+#define L_5 CB12_CA5
+#define L_6 CB12_CA6
+#define L_7 CB12_CA7
+#define L_8 CB12_CA8
+#define L_9 CB12_CA9
+#define L_10 CB12_CA10
+#define L_11 CB12_CA11
+#define L_12 CB12_CA12
+#define L_13 CB12_CA13
+#define L_14 CB12_CA14
+#define L_15 CB12_CA15
+#define L_16 CB12_CA16
diff --git a/drivers/led/snled27351-simple.c b/drivers/led/snled27351-simple.c
deleted file mode 100644
index b2054c96d5..0000000000
--- a/drivers/led/snled27351-simple.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright 2021 @ Keychron (https://www.keychron.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "snled27351-simple.h"
-#include "i2c_master.h"
-
-#define SNLED27351_PWM_REGISTER_COUNT 192
-#define SNLED27351_LED_CONTROL_REGISTER_COUNT 24
-
-#ifndef SNLED27351_I2C_TIMEOUT
-# define SNLED27351_I2C_TIMEOUT 100
-#endif
-
-#ifndef SNLED27351_I2C_PERSISTENCE
-# define SNLED27351_I2C_PERSISTENCE 0
-#endif
-
-#ifndef SNLED27351_PHASE_CHANNEL
-# define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL
-#endif
-
-#ifndef SNLED27351_CURRENT_TUNE
-# define SNLED27351_CURRENT_TUNE \
- { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
-#endif
-
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
-
-// These buffers match the SNLED27351 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
-// Storing them like this is optimal for I2C transfers to the registers.
-// We could optimize this and take out the unused registers from these
-// buffers and the transfers in snled27351_write_pwm_buffer() but it's
-// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[SNLED27351_DRIVER_COUNT][SNLED27351_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[SNLED27351_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[SNLED27351_DRIVER_COUNT][SNLED27351_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] = {false};
-
-bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- // If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
-#if SNLED27351_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
- return true;
-}
-
-bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
- // Assumes PG1 is already selected.
- // If any of the transactions fails function returns false.
- // Transmit PWM registers in 12 transfers of 16 bytes.
- // g_twi_transfer_buffer[] is 20 bytes
-
- // Iterate over the pwm_buffer contents at 16 byte intervals.
- for (int i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // Copy the data from i to i+15.
- // Device will auto-increment register for data after the first byte
- // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
- for (int j = 0; j < 16; j++) {
- g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
- }
-
-#if SNLED27351_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
- }
-#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
-#endif
- }
- return true;
-}
-
-void snled27351_init_drivers(void) {
- i2c_init();
-
- snled27351_init(SNLED27351_I2C_ADDRESS_1);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_init(SNLED27351_I2C_ADDRESS_2);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_init(SNLED27351_I2C_ADDRESS_3);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_init(SNLED27351_I2C_ADDRESS_4);
-# endif
-# endif
-#endif
-
- for (int i = 0; i < SNLED27351_LED_COUNT; i++) {
- snled27351_set_led_control_register(i, true);
- }
-
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_1, 0);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_2, 1);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_3, 2);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void snled27351_init(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
- // Setting LED driver to shutdown mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
- // Setting internal channel pulldown/pullup
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED);
- // Select number of scan phase
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL);
- // Setting PWM Delay Phase
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE);
- // Setting Driving/Sinking Channel Slew Rate
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE);
- // Setting Iref
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0);
- // Set LED CONTROL PAGE (Page 0)
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
- for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
- snled27351_write_register(addr, i, 0x00);
- }
-
- // Set PWM PAGE (Page 1)
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM);
- for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
- snled27351_write_register(addr, i, 0x00);
- }
-
- // Set CURRENT PAGE (Page 4)
- uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE;
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE);
- for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
- snled27351_write_register(addr, i, current_tune_reg_list[i]);
- }
-
- // Enable LEDs ON/OFF
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
- for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
- snled27351_write_register(addr, i, 0xFF);
- }
-
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
- // Setting LED driver to normal mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
-}
-
-void snled27351_set_value(int index, uint8_t value) {
- snled27351_led_t led;
- if (index >= 0 && index < SNLED27351_LED_COUNT) {
- memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led));
-
- if (g_pwm_buffer[led.driver][led.v] == value) {
- return;
- }
- g_pwm_buffer[led.driver][led.v] = value;
- g_pwm_buffer_update_required[led.driver] = true;
- }
-}
-
-void snled27351_set_value_all(uint8_t value) {
- for (int i = 0; i < SNLED27351_LED_COUNT; i++) {
- snled27351_set_value(i, value);
- }
-}
-
-void snled27351_set_led_control_register(uint8_t index, bool value) {
- snled27351_led_t led;
- memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led));
-
- uint8_t control_register = led.v / 8;
- uint8_t bit_value = led.v % 8;
-
- if (value) {
- g_led_control_registers[led.driver][control_register] |= (1 << bit_value);
- } else {
- g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
- }
-
- g_led_control_registers_update_required[led.driver] = true;
-}
-
-void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM);
-
- // If any of the transactions fail we risk writing dirty PG0,
- // refresh page 0 just in case.
- if (!snled27351_write_pwm_buffer(addr, g_pwm_buffer[index])) {
- g_led_control_registers_update_required[index] = true;
- }
- }
- g_pwm_buffer_update_required[index] = false;
-}
-
-void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
- for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) {
- snled27351_write_register(addr, i, g_led_control_registers[index][i]);
- }
- }
- g_led_control_registers_update_required[index] = false;
-}
-
-void snled27351_flush(void) {
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
-}
-
-void snled27351_sw_return_normal(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
- // Setting LED driver to normal mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
-}
-
-void snled27351_sw_shutdown(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
- // Setting LED driver to shutdown mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
- // Write SW Sleep Register
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE);
-}
diff --git a/drivers/led/snled27351-simple.h b/drivers/led/snled27351-simple.h
deleted file mode 100644
index 2fc62a6f0a..0000000000
--- a/drivers/led/snled27351-simple.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/* Copyright 2021 @ Keychron (https://www.keychron.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "progmem.h"
-#include "util.h"
-
-// ======== DEPRECATED DEFINES - DO NOT USE ========
-#ifdef CKLED2001_TIMEOUT
-# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT
-#endif
-#ifdef CKLED2001_PERSISTENCE
-# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE
-#endif
-#ifdef PHASE_CHANNEL
-# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL
-#endif
-#ifdef CKLED2001_CURRENT_TUNE
-# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE
-#endif
-
-#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL
-#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL
-#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL
-#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL
-#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL
-#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL
-#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL
-#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL
-#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL
-#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL
-#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL
-
-#define ckled2001_led snled27351_led_t
-#define g_ckled2001_leds g_snled27351_leds
-// ========
-
-#define SNLED27351_REG_COMMAND 0xFD
-#define SNLED27351_COMMAND_LED_CONTROL 0x00
-#define SNLED27351_COMMAND_PWM 0x01
-#define SNLED27351_COMMAND_FUNCTION 0x03
-#define SNLED27351_COMMAND_CURRENT_TUNE 0x04
-
-#define SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN 0x00
-#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN (0x0 << 0)
-#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL (0x1 << 0)
-
-#define SNLED27351_FUNCTION_REG_ID 0x11
-#define SNLED27351_DRIVER_ID 0x8A
-
-#define SNLED27351_FUNCTION_REG_PULLDOWNUP 0x13
-#define SNLED27351_PULLDOWNUP_ALL_ENABLED 0xAA
-
-#define SNLED27351_FUNCTION_REG_SCAN_PHASE 0x14
-#define SNLED27351_SCAN_PHASE_12_CHANNEL 0x00
-#define SNLED27351_SCAN_PHASE_11_CHANNEL 0x01
-#define SNLED27351_SCAN_PHASE_10_CHANNEL 0x02
-#define SNLED27351_SCAN_PHASE_9_CHANNEL 0x03
-#define SNLED27351_SCAN_PHASE_8_CHANNEL 0x04
-#define SNLED27351_SCAN_PHASE_7_CHANNEL 0x05
-#define SNLED27351_SCAN_PHASE_6_CHANNEL 0x06
-#define SNLED27351_SCAN_PHASE_5_CHANNEL 0x07
-#define SNLED27351_SCAN_PHASE_4_CHANNEL 0x08
-#define SNLED27351_SCAN_PHASE_3_CHANNEL 0x09
-#define SNLED27351_SCAN_PHASE_2_CHANNEL 0x0A
-#define SNLED27351_SCAN_PHASE_1_CHANNEL 0x0B
-
-#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1 0x15
-#define SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE (0b1 << 2)
-
-#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2 0x16
-#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE (0b1 << 6)
-#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE (0b1 << 7)
-
-#define SNLED27351_FUNCTION_REG_OPEN_SHORT_ENABLE 0x17
-#define SNLED27351_OPEN_SHORT_ENABLE_SDS_ENABLE (0b1 << 6)
-#define SNLED27351_OPEN_SHORT_ENABLE_ODS_ENABLE (0b1 << 7)
-
-#define SNLED27351_FUNCTION_REG_OPEN_SHORT_DUTY 0x18
-
-#define SNLED27351_FUNCTION_REG_OPEN_SHORT_FLAG 0x19
-#define SNLED27351_OPEN_SHORT_FLAG_OSINT_ENABLE (0b1 << 6)
-#define SNLED27351_OPEN_SHORT_FLAG_ODINT_ENABLE (0b1 << 7)
-
-#define SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP 0x1A
-#define SNLED27351_SOFTWARE_SLEEP_ENABLE (0b1 << 1)
-
-// LED Control Registers
-#define SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR 0x0
-#define SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR 0x17
-#define SNLED27351_LED_CONTROL_ON_OFF_LENGTH ((SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR - SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR) + 1)
-
-#define SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR 0x18
-#define SNLED27351_LED_CONTROL_OPEN_LAST_ADDR 0x2F
-#define SNLED27351_LED_CONTROL_OPEN_LENGTH ((SNLED27351_LED_CONTROL_OPEN_LAST_ADDR - SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR) + 1)
-
-#define SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR 0x30
-#define SNLED27351_LED_CONTROL_SHORT_LAST_ADDR 0x47
-#define SNLED27351_LED_CONTROL_SHORT_LENGTH ((SNLED27351_LED_CONTROL_SHORT_LAST_ADDR - SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR) + 1)
-
-#define SNLED27351_LED_CONTROL_PAGE_LENGTH 0x48
-
-// LED Control Registers
-#define SNLED27351_LED_PWM_FIRST_ADDR 0x00
-#define SNLED27351_LED_PWM_LAST_ADDR 0xBF
-#define SNLED27351_LED_PWM_LENGTH 0xC0
-
-// Current Tune Registers
-#define SNLED27351_LED_CURRENT_TUNE_FIRST_ADDR 0x00
-#define SNLED27351_LED_CURRENT_TUNE_LAST_ADDR 0x0B
-#define SNLED27351_LED_CURRENT_TUNE_LENGTH 0x0C
-
-#define SNLED27351_I2C_ADDRESS_GND 0x74
-#define SNLED27351_I2C_ADDRESS_SCL 0x75
-#define SNLED27351_I2C_ADDRESS_SDA 0x76
-#define SNLED27351_I2C_ADDRESS_VDDIO 0x77
-
-#if defined(LED_MATRIX_SNLED27351)
-# define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT
-#endif
-
-#if defined(SNLED27351_I2C_ADDRESS_4)
-# define SNLED27351_DRIVER_COUNT 4
-#elif defined(SNLED27351_I2C_ADDRESS_3)
-# define SNLED27351_DRIVER_COUNT 3
-#elif defined(SNLED27351_I2C_ADDRESS_2)
-# define SNLED27351_DRIVER_COUNT 2
-#elif defined(SNLED27351_I2C_ADDRESS_1)
-# define SNLED27351_DRIVER_COUNT 1
-#endif
-
-typedef struct snled27351_led_t {
- uint8_t driver : 2;
- uint8_t v;
-} PACKED snled27351_led_t;
-
-extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT];
-
-void snled27351_init_drivers(void);
-void snled27351_init(uint8_t addr);
-bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
-
-void snled27351_set_value(int index, uint8_t value);
-void snled27351_set_value_all(uint8_t value);
-
-void snled27351_set_led_control_register(uint8_t index, bool value);
-
-// This should not be called from an interrupt
-// (eg. from a timer interrupt).
-// Call this while idle (in between matrix scans).
-// If the buffer is dirty, it will update the driver with the buffer.
-void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index);
-void snled27351_update_led_control_registers(uint8_t addr, uint8_t index);
-
-void snled27351_flush(void);
-
-void snled27351_sw_return_normal(uint8_t addr);
-void snled27351_sw_shutdown(uint8_t addr);
-
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x06
-#define A_8 0x07
-#define A_9 0x08
-#define A_10 0x09
-#define A_11 0x0A
-#define A_12 0x0B
-#define A_13 0x0C
-#define A_14 0x0D
-#define A_15 0x0E
-#define A_16 0x0F
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x16
-#define B_8 0x17
-#define B_9 0x18
-#define B_10 0x19
-#define B_11 0x1A
-#define B_12 0x1B
-#define B_13 0x1C
-#define B_14 0x1D
-#define B_15 0x1E
-#define B_16 0x1F
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x26
-#define C_8 0x27
-#define C_9 0x28
-#define C_10 0x29
-#define C_11 0x2A
-#define C_12 0x2B
-#define C_13 0x2C
-#define C_14 0x2D
-#define C_15 0x2E
-#define C_16 0x2F
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x36
-#define D_8 0x37
-#define D_9 0x38
-#define D_10 0x39
-#define D_11 0x3A
-#define D_12 0x3B
-#define D_13 0x3C
-#define D_14 0x3D
-#define D_15 0x3E
-#define D_16 0x3F
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x46
-#define E_8 0x47
-#define E_9 0x48
-#define E_10 0x49
-#define E_11 0x4A
-#define E_12 0x4B
-#define E_13 0x4C
-#define E_14 0x4D
-#define E_15 0x4E
-#define E_16 0x4F
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x56
-#define F_8 0x57
-#define F_9 0x58
-#define F_10 0x59
-#define F_11 0x5A
-#define F_12 0x5B
-#define F_13 0x5C
-#define F_14 0x5D
-#define F_15 0x5E
-#define F_16 0x5F
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x66
-#define G_8 0x67
-#define G_9 0x68
-#define G_10 0x69
-#define G_11 0x6A
-#define G_12 0x6B
-#define G_13 0x6C
-#define G_14 0x6D
-#define G_15 0x6E
-#define G_16 0x6F
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x76
-#define H_8 0x77
-#define H_9 0x78
-#define H_10 0x79
-#define H_11 0x7A
-#define H_12 0x7B
-#define H_13 0x7C
-#define H_14 0x7D
-#define H_15 0x7E
-#define H_16 0x7F
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x86
-#define I_8 0x87
-#define I_9 0x88
-#define I_10 0x89
-#define I_11 0x8A
-#define I_12 0x8B
-#define I_13 0x8C
-#define I_14 0x8D
-#define I_15 0x8E
-#define I_16 0x8F
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x96
-#define J_8 0x97
-#define J_9 0x98
-#define J_10 0x99
-#define J_11 0x9A
-#define J_12 0x9B
-#define J_13 0x9C
-#define J_14 0x9D
-#define J_15 0x9E
-#define J_16 0x9F
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA6
-#define K_8 0xA7
-#define K_9 0xA8
-#define K_10 0xA9
-#define K_11 0xAA
-#define K_12 0xAB
-#define K_13 0xAC
-#define K_14 0xAD
-#define K_15 0xAE
-#define K_16 0xAF
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB6
-#define L_8 0xB7
-#define L_9 0xB8
-#define L_10 0xB9
-#define L_11 0xBA
-#define L_12 0xBB
-#define L_13 0xBC
-#define L_14 0xBD
-#define L_15 0xBE
-#define L_16 0xBF
diff --git a/drivers/led/snled27351.c b/drivers/led/snled27351.c
index 71992b7322..8ebf681bdb 100644
--- a/drivers/led/snled27351.c
+++ b/drivers/led/snled27351.c
@@ -16,6 +16,7 @@
#include "snled27351.h"
#include "i2c_master.h"
+#include "gpio.h"
#define SNLED27351_PWM_REGISTER_COUNT 192
#define SNLED27351_LED_CONTROL_REGISTER_COUNT 24
@@ -37,8 +38,18 @@
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[65];
+const uint8_t i2c_addresses[SNLED27351_DRIVER_COUNT] = {
+ SNLED27351_I2C_ADDRESS_1,
+#ifdef SNLED27351_I2C_ADDRESS_2
+ SNLED27351_I2C_ADDRESS_2,
+# ifdef SNLED27351_I2C_ADDRESS_3
+ SNLED27351_I2C_ADDRESS_3,
+# ifdef SNLED27351_I2C_ADDRESS_4
+ SNLED27351_I2C_ADDRESS_4,
+# endif
+# endif
+#endif
+};
// These buffers match the SNLED27351 PWM registers.
// The control buffers match the PG0 LED On/Off registers.
@@ -46,135 +57,116 @@ uint8_t g_twi_transfer_buffer[65];
// We could optimize this and take out the unused registers from these
// buffers and the transfers in snled27351_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[SNLED27351_DRIVER_COUNT][SNLED27351_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[SNLED27351_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[SNLED27351_DRIVER_COUNT][SNLED27351_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] = {false};
-
-bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
- // If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct snled27351_driver_t {
+ uint8_t pwm_buffer[SNLED27351_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[SNLED27351_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED snled27351_driver_t;
+
+snled27351_driver_t driver_buffers[SNLED27351_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void snled27351_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if SNLED27351_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
+ if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, SNLED27351_I2C_TIMEOUT);
#endif
- return true;
}
-bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
+void snled27351_select_page(uint8_t index, uint8_t page) {
+ snled27351_write_register(index, SNLED27351_REG_COMMAND, page);
+}
+
+void snled27351_write_pwm_buffer(uint8_t index) {
// Assumes PG1 is already selected.
- // If any of the transactions fails function returns false.
- // Transmit PWM registers in 3 transfers of 64 bytes.
-
- // Iterate over the pwm_buffer contents at 64 byte intervals.
- for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 64) {
- g_twi_transfer_buffer[0] = i;
- // Copy the data from i to i+63.
- // Device will auto-increment register for data after the first byte
- // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
- for (uint8_t j = 0; j < 64; j++) {
- g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
- }
+ // Transmit PWM registers in 12 transfers of 16 bytes.
+ // Iterate over the pwm_buffer contents at 16 byte intervals.
+ for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) {
#if SNLED27351_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
+ for (uint8_t j = 0; j < SNLED27351_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, SNLED27351_I2C_TIMEOUT);
#endif
}
- return true;
}
void snled27351_init_drivers(void) {
i2c_init();
- snled27351_init(SNLED27351_I2C_ADDRESS_1);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_init(SNLED27351_I2C_ADDRESS_2);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_init(SNLED27351_I2C_ADDRESS_3);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_init(SNLED27351_I2C_ADDRESS_4);
-# endif
-# endif
+#if defined(SNLED27351_SDB_PIN)
+ gpio_set_pin_output(SNLED27351_SDB_PIN);
+ gpio_write_pin_high(SNLED27351_SDB_PIN);
#endif
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_init(i);
+ }
+
for (int i = 0; i < SNLED27351_LED_COUNT; i++) {
snled27351_set_led_control_register(i, true, true, true);
}
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_1, 0);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_2, 1);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_3, 2);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_update_led_control_registers(i);
+ }
}
-void snled27351_init(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
+void snled27351_init(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
// Setting LED driver to shutdown mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
// Setting internal channel pulldown/pullup
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED);
// Select number of scan phase
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL);
// Setting PWM Delay Phase
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE);
// Setting Driving/Sinking Channel Slew Rate
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE);
// Setting Iref
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0);
- // Set LED CONTROL PAGE (Page 0)
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0);
+
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
- snled27351_write_register(addr, i, 0x00);
+ snled27351_write_register(index, i, 0x00);
}
- // Set PWM PAGE (Page 1)
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM);
+ snled27351_select_page(index, SNLED27351_COMMAND_PWM);
+
for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
- snled27351_write_register(addr, i, 0x00);
+ snled27351_write_register(index, i, 0x00);
}
- // Set CURRENT PAGE (Page 4)
+ snled27351_select_page(index, SNLED27351_COMMAND_CURRENT_TUNE);
+
uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE;
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE);
for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) {
- snled27351_write_register(addr, i, current_tune_reg_list[i]);
+ snled27351_write_register(index, i, current_tune_reg_list[i]);
}
- // Enable LEDs ON/OFF
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) {
- snled27351_write_register(addr, i, 0xFF);
+ snled27351_write_register(index, i, 0xFF);
}
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
// Setting LED driver to normal mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
}
void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
@@ -182,13 +174,14 @@ void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
if (index >= 0 && index < SNLED27351_LED_COUNT) {
memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -210,72 +203,64 @@ void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bo
uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM);
+void snled27351_update_pwm_buffers(uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ snled27351_select_page(index, SNLED27351_COMMAND_PWM);
- // If any of the transactions fail we risk writing dirty PG0,
- // refresh page 0 just in case.
- if (!snled27351_write_pwm_buffer(addr, g_pwm_buffer[index])) {
- g_led_control_registers_update_required[index] = true;
- }
+ snled27351_write_pwm_buffer(index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
}
- g_pwm_buffer_update_required[index] = false;
}
-void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL);
- for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) {
- snled27351_write_register(addr, i, g_led_control_registers[index][i]);
+void snled27351_update_led_control_registers(uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ snled27351_select_page(index, SNLED27351_COMMAND_LED_CONTROL);
+
+ for (uint8_t i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) {
+ snled27351_write_register(index, i, driver_buffers[index].led_control_buffer[i]);
}
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
- g_led_control_registers_update_required[index] = false;
}
void snled27351_flush(void) {
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
-#if defined(SNLED27351_I2C_ADDRESS_2)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
-# if defined(SNLED27351_I2C_ADDRESS_3)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
-# if defined(SNLED27351_I2C_ADDRESS_4)
- snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
-# endif
-# endif
-#endif
+ for (uint8_t i = 0; i < SNLED27351_DRIVER_COUNT; i++) {
+ snled27351_update_pwm_buffers(i);
+ }
}
-void snled27351_sw_return_normal(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
+void snled27351_sw_return_normal(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
// Setting LED driver to normal mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL);
}
-void snled27351_sw_shutdown(uint8_t addr) {
- // Select to function page
- snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION);
+void snled27351_sw_shutdown(uint8_t index) {
+ snled27351_select_page(index, SNLED27351_COMMAND_FUNCTION);
+
// Setting LED driver to shutdown mode
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN);
// Write SW Sleep Register
- snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE);
+ snled27351_write_register(index, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE);
}
diff --git a/drivers/led/snled27351.h b/drivers/led/snled27351.h
index 77337f177b..d902744d14 100644
--- a/drivers/led/snled27351.h
+++ b/drivers/led/snled27351.h
@@ -168,9 +168,9 @@ typedef struct snled27351_led_t {
extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT];
void snled27351_init_drivers(void);
-void snled27351_init(uint8_t addr);
-bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data);
-bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
+void snled27351_init(uint8_t index);
+void snled27351_select_page(uint8_t index, uint8_t page);
+void snled27351_write_register(uint8_t index, uint8_t reg, uint8_t data);
void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void snled27351_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -181,214 +181,420 @@ void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index);
-void snled27351_update_led_control_registers(uint8_t addr, uint8_t index);
+void snled27351_update_pwm_buffers(uint8_t index);
+void snled27351_update_led_control_registers(uint8_t index);
void snled27351_flush(void);
-void snled27351_sw_return_normal(uint8_t addr);
-void snled27351_sw_shutdown(uint8_t addr);
-
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x06
-#define A_8 0x07
-#define A_9 0x08
-#define A_10 0x09
-#define A_11 0x0A
-#define A_12 0x0B
-#define A_13 0x0C
-#define A_14 0x0D
-#define A_15 0x0E
-#define A_16 0x0F
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x16
-#define B_8 0x17
-#define B_9 0x18
-#define B_10 0x19
-#define B_11 0x1A
-#define B_12 0x1B
-#define B_13 0x1C
-#define B_14 0x1D
-#define B_15 0x1E
-#define B_16 0x1F
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x26
-#define C_8 0x27
-#define C_9 0x28
-#define C_10 0x29
-#define C_11 0x2A
-#define C_12 0x2B
-#define C_13 0x2C
-#define C_14 0x2D
-#define C_15 0x2E
-#define C_16 0x2F
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x36
-#define D_8 0x37
-#define D_9 0x38
-#define D_10 0x39
-#define D_11 0x3A
-#define D_12 0x3B
-#define D_13 0x3C
-#define D_14 0x3D
-#define D_15 0x3E
-#define D_16 0x3F
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x46
-#define E_8 0x47
-#define E_9 0x48
-#define E_10 0x49
-#define E_11 0x4A
-#define E_12 0x4B
-#define E_13 0x4C
-#define E_14 0x4D
-#define E_15 0x4E
-#define E_16 0x4F
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x56
-#define F_8 0x57
-#define F_9 0x58
-#define F_10 0x59
-#define F_11 0x5A
-#define F_12 0x5B
-#define F_13 0x5C
-#define F_14 0x5D
-#define F_15 0x5E
-#define F_16 0x5F
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x66
-#define G_8 0x67
-#define G_9 0x68
-#define G_10 0x69
-#define G_11 0x6A
-#define G_12 0x6B
-#define G_13 0x6C
-#define G_14 0x6D
-#define G_15 0x6E
-#define G_16 0x6F
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x76
-#define H_8 0x77
-#define H_9 0x78
-#define H_10 0x79
-#define H_11 0x7A
-#define H_12 0x7B
-#define H_13 0x7C
-#define H_14 0x7D
-#define H_15 0x7E
-#define H_16 0x7F
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x86
-#define I_8 0x87
-#define I_9 0x88
-#define I_10 0x89
-#define I_11 0x8A
-#define I_12 0x8B
-#define I_13 0x8C
-#define I_14 0x8D
-#define I_15 0x8E
-#define I_16 0x8F
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x96
-#define J_8 0x97
-#define J_9 0x98
-#define J_10 0x99
-#define J_11 0x9A
-#define J_12 0x9B
-#define J_13 0x9C
-#define J_14 0x9D
-#define J_15 0x9E
-#define J_16 0x9F
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA6
-#define K_8 0xA7
-#define K_9 0xA8
-#define K_10 0xA9
-#define K_11 0xAA
-#define K_12 0xAB
-#define K_13 0xAC
-#define K_14 0xAD
-#define K_15 0xAE
-#define K_16 0xAF
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB6
-#define L_8 0xB7
-#define L_9 0xB8
-#define L_10 0xB9
-#define L_11 0xBA
-#define L_12 0xBB
-#define L_13 0xBC
-#define L_14 0xBD
-#define L_15 0xBE
-#define L_16 0xBF
+void snled27351_sw_return_normal(uint8_t index);
+void snled27351_sw_shutdown(uint8_t index);
+
+#define CB1_CA1 0x00
+#define CB1_CA2 0x01
+#define CB1_CA3 0x02
+#define CB1_CA4 0x03
+#define CB1_CA5 0x04
+#define CB1_CA6 0x05
+#define CB1_CA7 0x06
+#define CB1_CA8 0x07
+#define CB1_CA9 0x08
+#define CB1_CA10 0x09
+#define CB1_CA11 0x0A
+#define CB1_CA12 0x0B
+#define CB1_CA13 0x0C
+#define CB1_CA14 0x0D
+#define CB1_CA15 0x0E
+#define CB1_CA16 0x0F
+
+#define CB2_CA1 0x10
+#define CB2_CA2 0x11
+#define CB2_CA3 0x12
+#define CB2_CA4 0x13
+#define CB2_CA5 0x14
+#define CB2_CA6 0x15
+#define CB2_CA7 0x16
+#define CB2_CA8 0x17
+#define CB2_CA9 0x18
+#define CB2_CA10 0x19
+#define CB2_CA11 0x1A
+#define CB2_CA12 0x1B
+#define CB2_CA13 0x1C
+#define CB2_CA14 0x1D
+#define CB2_CA15 0x1E
+#define CB2_CA16 0x1F
+
+#define CB3_CA1 0x20
+#define CB3_CA2 0x21
+#define CB3_CA3 0x22
+#define CB3_CA4 0x23
+#define CB3_CA5 0x24
+#define CB3_CA6 0x25
+#define CB3_CA7 0x26
+#define CB3_CA8 0x27
+#define CB3_CA9 0x28
+#define CB3_CA10 0x29
+#define CB3_CA11 0x2A
+#define CB3_CA12 0x2B
+#define CB3_CA13 0x2C
+#define CB3_CA14 0x2D
+#define CB3_CA15 0x2E
+#define CB3_CA16 0x2F
+
+#define CB4_CA1 0x30
+#define CB4_CA2 0x31
+#define CB4_CA3 0x32
+#define CB4_CA4 0x33
+#define CB4_CA5 0x34
+#define CB4_CA6 0x35
+#define CB4_CA7 0x36
+#define CB4_CA8 0x37
+#define CB4_CA9 0x38
+#define CB4_CA10 0x39
+#define CB4_CA11 0x3A
+#define CB4_CA12 0x3B
+#define CB4_CA13 0x3C
+#define CB4_CA14 0x3D
+#define CB4_CA15 0x3E
+#define CB4_CA16 0x3F
+
+#define CB5_CA1 0x40
+#define CB5_CA2 0x41
+#define CB5_CA3 0x42
+#define CB5_CA4 0x43
+#define CB5_CA5 0x44
+#define CB5_CA6 0x45
+#define CB5_CA7 0x46
+#define CB5_CA8 0x47
+#define CB5_CA9 0x48
+#define CB5_CA10 0x49
+#define CB5_CA11 0x4A
+#define CB5_CA12 0x4B
+#define CB5_CA13 0x4C
+#define CB5_CA14 0x4D
+#define CB5_CA15 0x4E
+#define CB5_CA16 0x4F
+
+#define CB6_CA1 0x50
+#define CB6_CA2 0x51
+#define CB6_CA3 0x52
+#define CB6_CA4 0x53
+#define CB6_CA5 0x54
+#define CB6_CA6 0x55
+#define CB6_CA7 0x56
+#define CB6_CA8 0x57
+#define CB6_CA9 0x58
+#define CB6_CA10 0x59
+#define CB6_CA11 0x5A
+#define CB6_CA12 0x5B
+#define CB6_CA13 0x5C
+#define CB6_CA14 0x5D
+#define CB6_CA15 0x5E
+#define CB6_CA16 0x5F
+
+#define CB7_CA1 0x60
+#define CB7_CA2 0x61
+#define CB7_CA3 0x62
+#define CB7_CA4 0x63
+#define CB7_CA5 0x64
+#define CB7_CA6 0x65
+#define CB7_CA7 0x66
+#define CB7_CA8 0x67
+#define CB7_CA9 0x68
+#define CB7_CA10 0x69
+#define CB7_CA11 0x6A
+#define CB7_CA12 0x6B
+#define CB7_CA13 0x6C
+#define CB7_CA14 0x6D
+#define CB7_CA15 0x6E
+#define CB7_CA16 0x6F
+
+#define CB8_CA1 0x70
+#define CB8_CA2 0x71
+#define CB8_CA3 0x72
+#define CB8_CA4 0x73
+#define CB8_CA5 0x74
+#define CB8_CA6 0x75
+#define CB8_CA7 0x76
+#define CB8_CA8 0x77
+#define CB8_CA9 0x78
+#define CB8_CA10 0x79
+#define CB8_CA11 0x7A
+#define CB8_CA12 0x7B
+#define CB8_CA13 0x7C
+#define CB8_CA14 0x7D
+#define CB8_CA15 0x7E
+#define CB8_CA16 0x7F
+
+#define CB9_CA1 0x80
+#define CB9_CA2 0x81
+#define CB9_CA3 0x82
+#define CB9_CA4 0x83
+#define CB9_CA5 0x84
+#define CB9_CA6 0x85
+#define CB9_CA7 0x86
+#define CB9_CA8 0x87
+#define CB9_CA9 0x88
+#define CB9_CA10 0x89
+#define CB9_CA11 0x8A
+#define CB9_CA12 0x8B
+#define CB9_CA13 0x8C
+#define CB9_CA14 0x8D
+#define CB9_CA15 0x8E
+#define CB9_CA16 0x8F
+
+#define CB10_CA1 0x90
+#define CB10_CA2 0x91
+#define CB10_CA3 0x92
+#define CB10_CA4 0x93
+#define CB10_CA5 0x94
+#define CB10_CA6 0x95
+#define CB10_CA7 0x96
+#define CB10_CA8 0x97
+#define CB10_CA9 0x98
+#define CB10_CA10 0x99
+#define CB10_CA11 0x9A
+#define CB10_CA12 0x9B
+#define CB10_CA13 0x9C
+#define CB10_CA14 0x9D
+#define CB10_CA15 0x9E
+#define CB10_CA16 0x9F
+
+#define CB11_CA1 0xA0
+#define CB11_CA2 0xA1
+#define CB11_CA3 0xA2
+#define CB11_CA4 0xA3
+#define CB11_CA5 0xA4
+#define CB11_CA6 0xA5
+#define CB11_CA7 0xA6
+#define CB11_CA8 0xA7
+#define CB11_CA9 0xA8
+#define CB11_CA10 0xA9
+#define CB11_CA11 0xAA
+#define CB11_CA12 0xAB
+#define CB11_CA13 0xAC
+#define CB11_CA14 0xAD
+#define CB11_CA15 0xAE
+#define CB11_CA16 0xAF
+
+#define CB12_CA1 0xB0
+#define CB12_CA2 0xB1
+#define CB12_CA3 0xB2
+#define CB12_CA4 0xB3
+#define CB12_CA5 0xB4
+#define CB12_CA6 0xB5
+#define CB12_CA7 0xB6
+#define CB12_CA8 0xB7
+#define CB12_CA9 0xB8
+#define CB12_CA10 0xB9
+#define CB12_CA11 0xBA
+#define CB12_CA12 0xBB
+#define CB12_CA13 0xBC
+#define CB12_CA14 0xBD
+#define CB12_CA15 0xBE
+#define CB12_CA16 0xBF
+
+// DEPRECATED - DO NOT USE
+
+#define A_1 CB1_CA1
+#define A_2 CB1_CA2
+#define A_3 CB1_CA3
+#define A_4 CB1_CA4
+#define A_5 CB1_CA5
+#define A_6 CB1_CA6
+#define A_7 CB1_CA7
+#define A_8 CB1_CA8
+#define A_9 CB1_CA9
+#define A_10 CB1_CA10
+#define A_11 CB1_CA11
+#define A_12 CB1_CA12
+#define A_13 CB1_CA13
+#define A_14 CB1_CA14
+#define A_15 CB1_CA15
+#define A_16 CB1_CA16
+
+#define B_1 CB2_CA1
+#define B_2 CB2_CA2
+#define B_3 CB2_CA3
+#define B_4 CB2_CA4
+#define B_5 CB2_CA5
+#define B_6 CB2_CA6
+#define B_7 CB2_CA7
+#define B_8 CB2_CA8
+#define B_9 CB2_CA9
+#define B_10 CB2_CA10
+#define B_11 CB2_CA11
+#define B_12 CB2_CA12
+#define B_13 CB2_CA13
+#define B_14 CB2_CA14
+#define B_15 CB2_CA15
+#define B_16 CB2_CA16
+
+#define C_1 CB3_CA1
+#define C_2 CB3_CA2
+#define C_3 CB3_CA3
+#define C_4 CB3_CA4
+#define C_5 CB3_CA5
+#define C_6 CB3_CA6
+#define C_7 CB3_CA7
+#define C_8 CB3_CA8
+#define C_9 CB3_CA9
+#define C_10 CB3_CA10
+#define C_11 CB3_CA11
+#define C_12 CB3_CA12
+#define C_13 CB3_CA13
+#define C_14 CB3_CA14
+#define C_15 CB3_CA15
+#define C_16 CB3_CA16
+
+#define D_1 CB4_CA1
+#define D_2 CB4_CA2
+#define D_3 CB4_CA3
+#define D_4 CB4_CA4
+#define D_5 CB4_CA5
+#define D_6 CB4_CA6
+#define D_7 CB4_CA7
+#define D_8 CB4_CA8
+#define D_9 CB4_CA9
+#define D_10 CB4_CA10
+#define D_11 CB4_CA11
+#define D_12 CB4_CA12
+#define D_13 CB4_CA13
+#define D_14 CB4_CA14
+#define D_15 CB4_CA15
+#define D_16 CB4_CA16
+
+#define E_1 CB5_CA1
+#define E_2 CB5_CA2
+#define E_3 CB5_CA3
+#define E_4 CB5_CA4
+#define E_5 CB5_CA5
+#define E_6 CB5_CA6
+#define E_7 CB5_CA7
+#define E_8 CB5_CA8
+#define E_9 CB5_CA9
+#define E_10 CB5_CA10
+#define E_11 CB5_CA11
+#define E_12 CB5_CA12
+#define E_13 CB5_CA13
+#define E_14 CB5_CA14
+#define E_15 CB5_CA15
+#define E_16 CB5_CA16
+
+#define F_1 CB6_CA1
+#define F_2 CB6_CA2
+#define F_3 CB6_CA3
+#define F_4 CB6_CA4
+#define F_5 CB6_CA5
+#define F_6 CB6_CA6
+#define F_7 CB6_CA7
+#define F_8 CB6_CA8
+#define F_9 CB6_CA9
+#define F_10 CB6_CA10
+#define F_11 CB6_CA11
+#define F_12 CB6_CA12
+#define F_13 CB6_CA13
+#define F_14 CB6_CA14
+#define F_15 CB6_CA15
+#define F_16 CB6_CA16
+
+#define G_1 CB7_CA1
+#define G_2 CB7_CA2
+#define G_3 CB7_CA3
+#define G_4 CB7_CA4
+#define G_5 CB7_CA5
+#define G_6 CB7_CA6
+#define G_7 CB7_CA7
+#define G_8 CB7_CA8
+#define G_9 CB7_CA9
+#define G_10 CB7_CA10
+#define G_11 CB7_CA11
+#define G_12 CB7_CA12
+#define G_13 CB7_CA13
+#define G_14 CB7_CA14
+#define G_15 CB7_CA15
+#define G_16 CB7_CA16
+
+#define H_1 CB8_CA1
+#define H_2 CB8_CA2
+#define H_3 CB8_CA3
+#define H_4 CB8_CA4
+#define H_5 CB8_CA5
+#define H_6 CB8_CA6
+#define H_7 CB8_CA7
+#define H_8 CB8_CA8
+#define H_9 CB8_CA9
+#define H_10 CB8_CA10
+#define H_11 CB8_CA11
+#define H_12 CB8_CA12
+#define H_13 CB8_CA13
+#define H_14 CB8_CA14
+#define H_15 CB8_CA15
+#define H_16 CB8_CA16
+
+#define I_1 CB9_CA1
+#define I_2 CB9_CA2
+#define I_3 CB9_CA3
+#define I_4 CB9_CA4
+#define I_5 CB9_CA5
+#define I_6 CB9_CA6
+#define I_7 CB9_CA7
+#define I_8 CB9_CA8
+#define I_9 CB9_CA9
+#define I_10 CB9_CA10
+#define I_11 CB9_CA11
+#define I_12 CB9_CA12
+#define I_13 CB9_CA13
+#define I_14 CB9_CA14
+#define I_15 CB9_CA15
+#define I_16 CB9_CA16
+
+#define J_1 CB10_CA1
+#define J_2 CB10_CA2
+#define J_3 CB10_CA3
+#define J_4 CB10_CA4
+#define J_5 CB10_CA5
+#define J_6 CB10_CA6
+#define J_7 CB10_CA7
+#define J_8 CB10_CA8
+#define J_9 CB10_CA9
+#define J_10 CB10_CA10
+#define J_11 CB10_CA11
+#define J_12 CB10_CA12
+#define J_13 CB10_CA13
+#define J_14 CB10_CA14
+#define J_15 CB10_CA15
+#define J_16 CB10_CA16
+
+#define K_1 CB11_CA1
+#define K_2 CB11_CA2
+#define K_3 CB11_CA3
+#define K_4 CB11_CA4
+#define K_5 CB11_CA5
+#define K_6 CB11_CA6
+#define K_7 CB11_CA7
+#define K_8 CB11_CA8
+#define K_9 CB11_CA9
+#define K_10 CB11_CA10
+#define K_11 CB11_CA11
+#define K_12 CB11_CA12
+#define K_13 CB11_CA13
+#define K_14 CB11_CA14
+#define K_15 CB11_CA15
+#define K_16 CB11_CA16
+
+#define L_1 CB12_CA1
+#define L_2 CB12_CA2
+#define L_3 CB12_CA3
+#define L_4 CB12_CA4
+#define L_5 CB12_CA5
+#define L_6 CB12_CA6
+#define L_7 CB12_CA7
+#define L_8 CB12_CA8
+#define L_9 CB12_CA9
+#define L_10 CB12_CA10
+#define L_11 CB12_CA11
+#define L_12 CB12_CA12
+#define L_13 CB12_CA13
+#define L_14 CB12_CA14
+#define L_15 CB12_CA15
+#define L_16 CB12_CA16
diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c
index 4a2121cd7c..1d1c2a90c4 100644
--- a/drivers/oled/oled_driver.c
+++ b/drivers/oled/oled_driver.c
@@ -192,7 +192,7 @@ __attribute__((weak)) bool oled_send_cmd(const uint8_t *data, uint16_t size) {
return false;
}
// Command Mode
- writePinLow(OLED_DC_PIN);
+ gpio_write_pin_low(OLED_DC_PIN);
// Send the commands
if (spi_transmit(&data[1], size - 1) != SPI_STATUS_SUCCESS) {
spi_stop();
@@ -215,7 +215,7 @@ __attribute__((weak)) bool oled_send_cmd_P(const uint8_t *data, uint16_t size) {
}
spi_status_t status = SPI_STATUS_SUCCESS;
// Command Mode
- writePinLow(OLED_DC_PIN);
+ gpio_write_pin_low(OLED_DC_PIN);
// Send the commands
for (uint16_t i = 1; i < size && status >= 0; i++) {
status = spi_write(pgm_read_byte((const char *)&data[i]));
@@ -223,13 +223,8 @@ __attribute__((weak)) bool oled_send_cmd_P(const uint8_t *data, uint16_t size) {
spi_stop();
return (status >= 0);
# elif defined(OLED_TRANSPORT_I2C)
- i2c_status_t status = i2c_start((OLED_DISPLAY_ADDRESS << 1) | I2C_WRITE, OLED_I2C_TIMEOUT);
- for (uint16_t i = 0; i < size && status >= 0; i++) {
- status = i2c_write(pgm_read_byte((const char *)data++), OLED_I2C_TIMEOUT);
- }
-
- i2c_stop();
+ i2c_status_t status = i2c_transmit_P((OLED_DISPLAY_ADDRESS << 1), data, size, OLED_I2C_TIMEOUT);
return (status == I2C_STATUS_SUCCESS);
# endif
@@ -244,7 +239,7 @@ __attribute__((weak)) bool oled_send_data(const uint8_t *data, uint16_t size) {
return false;
}
// Data Mode
- writePinHigh(OLED_DC_PIN);
+ gpio_write_pin_high(OLED_DC_PIN);
// Send the commands
if (spi_transmit(data, size) != SPI_STATUS_SUCCESS) {
spi_stop();
@@ -253,7 +248,7 @@ __attribute__((weak)) bool oled_send_data(const uint8_t *data, uint16_t size) {
spi_stop();
return true;
#elif defined(OLED_TRANSPORT_I2C)
- i2c_status_t status = i2c_writeReg((OLED_DISPLAY_ADDRESS << 1), I2C_DATA, data, size, OLED_I2C_TIMEOUT);
+ i2c_status_t status = i2c_write_register((OLED_DISPLAY_ADDRESS << 1), I2C_DATA, data, size, OLED_I2C_TIMEOUT);
return (status == I2C_STATUS_SUCCESS);
#endif
}
@@ -261,17 +256,17 @@ __attribute__((weak)) bool oled_send_data(const uint8_t *data, uint16_t size) {
__attribute__((weak)) void oled_driver_init(void) {
#if defined(OLED_TRANSPORT_SPI)
spi_init();
- setPinOutput(OLED_CS_PIN);
- writePinHigh(OLED_CS_PIN);
+ gpio_set_pin_output(OLED_CS_PIN);
+ gpio_write_pin_high(OLED_CS_PIN);
- setPinOutput(OLED_DC_PIN);
- writePinLow(OLED_DC_PIN);
+ gpio_set_pin_output(OLED_DC_PIN);
+ gpio_write_pin_low(OLED_DC_PIN);
# ifdef OLED_RST_PIN
/* Reset device */
- setPinOutput(OLED_RST_PIN);
- writePinLow(OLED_RST_PIN);
+ gpio_set_pin_output(OLED_RST_PIN);
+ gpio_write_pin_low(OLED_RST_PIN);
wait_ms(20);
- writePinHigh(OLED_RST_PIN);
+ gpio_write_pin_high(OLED_RST_PIN);
wait_ms(20);
# endif
#elif defined(OLED_TRANSPORT_I2C)
diff --git a/drivers/painter/comms/qp_comms_i2c.c b/drivers/painter/comms/qp_comms_i2c.c
index ec45ddfb3b..93f503f3dd 100644
--- a/drivers/painter/comms/qp_comms_i2c.c
+++ b/drivers/painter/comms/qp_comms_i2c.c
@@ -28,18 +28,14 @@ bool qp_comms_i2c_init(painter_device_t device) {
}
bool qp_comms_i2c_start(painter_device_t device) {
- painter_driver_t * driver = (painter_driver_t *)device;
- qp_comms_i2c_config_t *comms_config = (qp_comms_i2c_config_t *)driver->comms_config;
- return i2c_start(comms_config->chip_address << 1) == I2C_STATUS_SUCCESS;
+ return true;
}
uint32_t qp_comms_i2c_send_data(painter_device_t device, const void *data, uint32_t byte_count) {
return qp_comms_i2c_send_raw(device, data, byte_count);
}
-void qp_comms_i2c_stop(painter_device_t device) {
- i2c_stop();
-}
+void qp_comms_i2c_stop(painter_device_t device) {}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Command+Data I2C support
diff --git a/drivers/painter/comms/qp_comms_spi.c b/drivers/painter/comms/qp_comms_spi.c
index 9f52bc7d1f..4e6067394b 100644
--- a/drivers/painter/comms/qp_comms_spi.c
+++ b/drivers/painter/comms/qp_comms_spi.c
@@ -17,8 +17,8 @@ bool qp_comms_spi_init(painter_device_t device) {
spi_init();
// Set up CS as output high
- setPinOutput(comms_config->chip_select_pin);
- writePinHigh(comms_config->chip_select_pin);
+ gpio_set_pin_output(comms_config->chip_select_pin);
+ gpio_write_pin_high(comms_config->chip_select_pin);
return true;
}
@@ -49,7 +49,7 @@ void qp_comms_spi_stop(painter_device_t device) {
painter_driver_t * driver = (painter_driver_t *)device;
qp_comms_spi_config_t *comms_config = (qp_comms_spi_config_t *)driver->comms_config;
spi_stop();
- writePinHigh(comms_config->chip_select_pin);
+ gpio_write_pin_high(comms_config->chip_select_pin);
}
const painter_comms_vtable_t spi_comms_vtable = {
@@ -74,16 +74,16 @@ bool qp_comms_spi_dc_reset_init(painter_device_t device) {
// Set up D/C as output low, if specified
if (comms_config->dc_pin != NO_PIN) {
- setPinOutput(comms_config->dc_pin);
- writePinLow(comms_config->dc_pin);
+ gpio_set_pin_output(comms_config->dc_pin);
+ gpio_write_pin_low(comms_config->dc_pin);
}
// Set up RST as output, if specified, performing a reset in the process
if (comms_config->reset_pin != NO_PIN) {
- setPinOutput(comms_config->reset_pin);
- writePinLow(comms_config->reset_pin);
+ gpio_set_pin_output(comms_config->reset_pin);
+ gpio_write_pin_low(comms_config->reset_pin);
wait_ms(20);
- writePinHigh(comms_config->reset_pin);
+ gpio_write_pin_high(comms_config->reset_pin);
wait_ms(20);
}
@@ -93,14 +93,14 @@ bool qp_comms_spi_dc_reset_init(painter_device_t device) {
uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void *data, uint32_t byte_count) {
painter_driver_t * driver = (painter_driver_t *)device;
qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config;
- writePinHigh(comms_config->dc_pin);
+ gpio_write_pin_high(comms_config->dc_pin);
return qp_comms_spi_send_data(device, data, byte_count);
}
void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) {
painter_driver_t * driver = (painter_driver_t *)device;
qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config;
- writePinLow(comms_config->dc_pin);
+ gpio_write_pin_low(comms_config->dc_pin);
spi_write(cmd);
}
diff --git a/drivers/painter/comms/qp_comms_spi.h b/drivers/painter/comms/qp_comms_spi.h
index ff323c3c10..c39ea95f72 100644
--- a/drivers/painter/comms/qp_comms_spi.h
+++ b/drivers/painter/comms/qp_comms_spi.h
@@ -38,6 +38,7 @@ typedef struct qp_comms_spi_dc_reset_config_t {
bool command_params_uses_command_pin; // keep D/C held low when sending command sequences for data bytes
} qp_comms_spi_dc_reset_config_t;
+bool qp_comms_spi_dc_reset_init(painter_device_t device);
void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd);
uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void* data, uint32_t byte_count);
void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len);
diff --git a/drivers/painter/ili9xxx/qp_ili9486.c b/drivers/painter/ili9xxx/qp_ili9486.c
new file mode 100644
index 0000000000..c4f3c15cec
--- /dev/null
+++ b/drivers/painter/ili9xxx/qp_ili9486.c
@@ -0,0 +1,298 @@
+// Copyright 2021 Nick Brassel (@tzarc)
+// Copyright 2023 Pablo Martinez (@elpekenin) <elpekenin@elpekenin.dev>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "qp_internal.h"
+#include "qp_comms.h"
+#include "qp_ili9486.h"
+#include "qp_ili9xxx_opcodes.h"
+#include "qp_tft_panel.h"
+
+#ifdef QUANTUM_PAINTER_ILI9486_SPI_ENABLE
+# include "spi_master.h"
+# include <qp_comms_spi.h>
+#endif // QUANTUM_PAINTER_ILI9486_SPI_ENABLE
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Common
+
+// Driver storage
+tft_panel_dc_reset_painter_device_t ili9486_drivers[ILI9486_NUM_DEVICES] = {0};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Initialization
+
+bool qp_ili9486_init(painter_device_t device, painter_rotation_t rotation) {
+ // clang-format off
+ const uint8_t ili9486_init_sequence[] = {
+ // Command, Delay, N, Data[N]
+ ILI9XXX_CMD_RESET, 120, 0,
+ ILI9XXX_SET_PIX_FMT, 0, 1, 0x55,
+ ILI9XXX_SET_PGAMMA, 0, 15, 0x0F, 0x1F, 0x1C, 0x0C, 0x0F, 0x08, 0x48, 0x98, 0x37, 0x0A, 0x13, 0x04, 0x11, 0x0D, 0x00,
+ ILI9XXX_SET_NGAMMA, 0, 15, 0x0F, 0x32, 0x2E, 0x0B, 0x0D, 0x05, 0x47, 0x75, 0x37, 0x06, 0x10, 0x03, 0x24, 0x20, 0x00,
+ ILI9XXX_SET_POWER_CTL_1, 0, 2, 0x0D, 0x0D,
+ ILI9XXX_SET_POWER_CTL_2, 0, 2, 0x43, 0x00,
+ ILI9XXX_SET_POWER_CTL_3, 0, 1, 0x00,
+ ILI9XXX_SET_VCOM_CTL_1, 0, 4, 0x00, 0x48, 0x00, 0x48,
+ ILI9XXX_SET_INVERSION_CTL, 0, 1, 0x02,
+ };
+ // clang-format on
+ qp_comms_bulk_command_sequence(device, ili9486_init_sequence, sizeof(ili9486_init_sequence));
+
+ // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM)
+ const uint8_t madctl[] = {
+ [QP_ROTATION_0] = ILI9XXX_MADCTL_BGR,
+ [QP_ROTATION_90] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV,
+ [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR,
+ [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV,
+ };
+ const uint8_t functl[] = {
+ [QP_ROTATION_0] = 0x42,
+ [QP_ROTATION_90] = 0x62,
+ [QP_ROTATION_180] = 0x22,
+ [QP_ROTATION_270] = 0x02,
+ };
+
+ // clang-format off
+ uint8_t rotation_sequence[] = {
+ // Command, Delay, N, Data[N]
+ ILI9XXX_SET_MEM_ACS_CTL, 0, 1, madctl[rotation],
+ ILI9XXX_SET_FUNCTION_CTL, 0, 2, 0x00, functl[rotation],
+ ILI9XXX_CMD_SLEEP_OFF, 5, 0,
+ ILI9XXX_CMD_DISPLAY_ON, 5, 0,
+ };
+ // clang-format on
+ qp_comms_bulk_command_sequence(device, rotation_sequence, sizeof(rotation_sequence));
+
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver vtable
+
+// waveshare variant needs some tweaks due to shift registers
+static void qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t device, uint8_t cmd) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config;
+
+ writePinLow(comms_config->spi_config.chip_select_pin);
+ qp_comms_spi_dc_reset_send_command(device, cmd);
+ writePinHigh(comms_config->spi_config.chip_select_pin);
+}
+
+static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, const void *data, uint32_t byte_count) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config;
+
+ uint32_t bytes_remaining = byte_count;
+ const uint8_t *p = (const uint8_t *)data;
+ uint32_t max_msg_length = 1024;
+
+ writePinHigh(comms_config->dc_pin);
+ while (bytes_remaining > 0) {
+ uint32_t bytes_this_loop = QP_MIN(bytes_remaining, max_msg_length);
+ bool odd_bytes = bytes_this_loop & 1;
+
+ // send data
+ writePinLow(comms_config->spi_config.chip_select_pin);
+ spi_transmit(p, bytes_this_loop);
+ p += bytes_this_loop;
+
+ // extra CS toggle, for alignment
+ if (odd_bytes) {
+ writePinHigh(comms_config->spi_config.chip_select_pin);
+ writePinLow(comms_config->spi_config.chip_select_pin);
+ }
+
+ bytes_remaining -= bytes_this_loop;
+ }
+
+ return byte_count - bytes_remaining;
+}
+
+static uint32_t qp_ili9486_send_data_toggling(painter_device_t device, const uint8_t *data, uint32_t byte_count) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config;
+
+ uint32_t ret;
+ for (uint8_t j = 0; j < byte_count; ++j) {
+ writePinLow(comms_config->spi_config.chip_select_pin);
+ ret = qp_comms_spi_dc_reset_send_data(device, &data[j], 1);
+ writePinHigh(comms_config->spi_config.chip_select_pin);
+ }
+
+ return ret;
+}
+
+static void qp_comms_spi_send_command_sequence_odd_cs_pulse(painter_device_t device, const uint8_t *sequence, size_t sequence_len) {
+ for (size_t i = 0; i < sequence_len;) {
+ uint8_t command = sequence[i];
+ uint8_t delay = sequence[i + 1];
+ uint8_t num_bytes = sequence[i + 2];
+
+ qp_comms_spi_dc_reset_send_command_odd_cs_pulse(device, command);
+ if (num_bytes > 0) {
+ qp_ili9486_send_data_toggling(device, &sequence[i + 3], num_bytes);
+ }
+
+ if (delay > 0) {
+ wait_ms(delay);
+ }
+ i += (3 + num_bytes);
+ }
+}
+
+static bool qp_ili9486_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ tft_panel_dc_reset_painter_driver_vtable_t *vtable = (tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable;
+
+ // Fix up the drawing location if required
+ left += driver->offset_x;
+ right += driver->offset_x;
+ top += driver->offset_y;
+ bottom += driver->offset_y;
+
+ // Check if we need to manually swap the window coordinates based on whether or not we're in a sideways rotation
+ if (vtable->swap_window_coords && (driver->rotation == QP_ROTATION_90 || driver->rotation == QP_ROTATION_270)) {
+ uint16_t temp;
+
+ temp = left;
+ left = top;
+ top = temp;
+
+ temp = right;
+ right = bottom;
+ bottom = temp;
+ }
+
+ // Set up the x-window
+ uint8_t xbuf[4] = {left >> 8, left & 0xFF, right >> 8, right & 0xFF};
+ qp_comms_spi_dc_reset_send_command_odd_cs_pulse(device, vtable->opcodes.set_column_address);
+ qp_ili9486_send_data_toggling(device, xbuf, 4);
+
+ // Set up the y-window
+ uint8_t ybuf[4] = {top >> 8, top & 0xFF, bottom >> 8, bottom & 0xFF};
+ qp_comms_spi_dc_reset_send_command_odd_cs_pulse(device, vtable->opcodes.set_row_address);
+ qp_ili9486_send_data_toggling(device, ybuf, 4);
+
+ // Lock in the window
+ qp_comms_spi_dc_reset_send_command_odd_cs_pulse(device, vtable->opcodes.enable_writes);
+ return true;
+}
+
+// Regular
+const tft_panel_dc_reset_painter_driver_vtable_t ili9486_driver_vtable = {
+ .base =
+ {
+ .init = qp_ili9486_init,
+ .power = qp_tft_panel_power,
+ .clear = qp_tft_panel_clear,
+ .flush = qp_tft_panel_flush,
+ .pixdata = qp_tft_panel_pixdata,
+ .viewport = qp_tft_panel_viewport,
+ .palette_convert = qp_tft_panel_palette_convert_rgb565_swapped,
+ .append_pixels = qp_tft_panel_append_pixels_rgb565,
+ .append_pixdata = qp_tft_panel_append_pixdata,
+ },
+ .num_window_bytes = 2,
+ .swap_window_coords = false,
+ .opcodes =
+ {
+ .display_on = ILI9XXX_CMD_DISPLAY_ON,
+ .display_off = ILI9XXX_CMD_DISPLAY_OFF,
+ .set_column_address = ILI9XXX_SET_COL_ADDR,
+ .set_row_address = ILI9XXX_SET_PAGE_ADDR,
+ .enable_writes = ILI9XXX_SET_MEM,
+ },
+};
+
+// Waveshare tweaks
+const tft_panel_dc_reset_painter_driver_vtable_t ili9486_waveshare_driver_vtable = {
+ .base =
+ {
+ .init = qp_ili9486_init,
+ .power = qp_tft_panel_power,
+ .clear = qp_tft_panel_clear,
+ .flush = qp_tft_panel_flush,
+ .pixdata = qp_tft_panel_pixdata,
+ .viewport = qp_ili9486_viewport,
+ .palette_convert = qp_tft_panel_palette_convert_rgb565_swapped,
+ .append_pixels = qp_tft_panel_append_pixels_rgb565,
+ .append_pixdata = qp_tft_panel_append_pixdata,
+ },
+ .num_window_bytes = 2,
+ .swap_window_coords = false,
+ .opcodes =
+ {
+ .display_on = ILI9XXX_CMD_DISPLAY_ON,
+ .display_off = ILI9XXX_CMD_DISPLAY_OFF,
+ .set_column_address = ILI9XXX_SET_COL_ADDR,
+ .set_row_address = ILI9XXX_SET_PAGE_ADDR,
+ .enable_writes = ILI9XXX_SET_MEM,
+ },
+};
+
+static const painter_comms_with_command_vtable_t spi_comms_odd_cs_pulse_vtable = {
+ .base =
+ {
+ .comms_init = qp_comms_spi_dc_reset_init,
+ .comms_start = qp_comms_spi_start,
+ .comms_send = qp_comms_spi_send_data_odd_cs_pulse,
+ .comms_stop = qp_comms_spi_stop,
+ },
+ .send_command = qp_comms_spi_dc_reset_send_command_odd_cs_pulse,
+ .bulk_command_sequence = qp_comms_spi_send_command_sequence_odd_cs_pulse,
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// SPI
+
+#ifdef QUANTUM_PAINTER_ILI9486_SPI_ENABLE
+
+// Factory function for creating a handle to the ILI9486 device
+painter_device_t qp_ili9486_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
+ for (uint32_t i = 0; i < ILI9486_NUM_DEVICES; ++i) {
+ tft_panel_dc_reset_painter_device_t *driver = &ili9486_drivers[i];
+ if (!driver->base.driver_vtable) {
+ driver->base.driver_vtable = (const painter_driver_vtable_t *)&ili9486_driver_vtable;
+ driver->base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable;
+ driver->base.native_bits_per_pixel = 16; // RGB565
+ driver->base.panel_width = panel_width;
+ driver->base.panel_height = panel_height;
+ driver->base.rotation = QP_ROTATION_0;
+ driver->base.offset_x = 0;
+ driver->base.offset_y = 0;
+
+ // SPI and other pin configuration
+ driver->base.comms_config = &driver->spi_dc_reset_config;
+ driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin;
+ driver->spi_dc_reset_config.spi_config.divisor = spi_divisor;
+ driver->spi_dc_reset_config.spi_config.lsb_first = false;
+ driver->spi_dc_reset_config.spi_config.mode = spi_mode;
+ driver->spi_dc_reset_config.dc_pin = dc_pin;
+ driver->spi_dc_reset_config.reset_pin = reset_pin;
+
+ if (!qp_internal_register_device((painter_device_t)driver)) {
+ memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t));
+ return NULL;
+ }
+
+ return (painter_device_t)driver;
+ }
+ }
+ return NULL;
+}
+
+painter_device_t qp_ili9486_make_spi_waveshare_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
+ painter_device_t device = qp_ili9486_make_spi_device(panel_width, panel_height, chip_select_pin, dc_pin, reset_pin, spi_divisor, spi_mode);
+ if (device) {
+ tft_panel_dc_reset_painter_device_t *driver = (tft_panel_dc_reset_painter_device_t *)device;
+ driver->base.driver_vtable = (const painter_driver_vtable_t *)&ili9486_waveshare_driver_vtable;
+ driver->base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_odd_cs_pulse_vtable;
+ }
+ return device;
+}
+
+#endif // QUANTUM_PAINTER_ILI9486_SPI_ENABLE
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/drivers/painter/ili9xxx/qp_ili9486.h b/drivers/painter/ili9xxx/qp_ili9486.h
new file mode 100644
index 0000000000..9976a78da4
--- /dev/null
+++ b/drivers/painter/ili9xxx/qp_ili9486.h
@@ -0,0 +1,52 @@
+// Copyright 2021 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "gpio.h"
+#include "qp_internal.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter ILI9486 configurables (add to your keyboard's config.h)
+
+#ifndef ILI9486_NUM_DEVICES
+/**
+ * @def This controls the maximum number of ILI9486 devices that Quantum Painter can communicate with at any one time.
+ * Increasing this number allows for multiple displays to be used.
+ */
+# define ILI9486_NUM_DEVICES 1
+#endif
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter ILI9486 device factories
+
+#ifdef QUANTUM_PAINTER_ILI9486_SPI_ENABLE
+/**
+ * Factory method for an ILI9486 SPI LCD device.
+ *
+ * @param panel_width[in] the width of the display panel
+ * @param panel_height[in] the height of the display panel
+ * @param chip_select_pin[in] the GPIO pin used for SPI chip select
+ * @param dc_pin[in] the GPIO pin used for D/C control
+ * @param reset_pin[in] the GPIO pin used for RST
+ * @param spi_divisor[in] the SPI divisor to use when communicating with the display
+ * @param spi_mode[in] the SPI mode to use when communicating with the display
+ * @return the device handle used with all drawing routines in Quantum Painter
+ */
+painter_device_t qp_ili9486_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+
+/**
+ * Factory method for an ILI9486 SPI LCD device.
+ *
+ * @param panel_width[in] the width of the display panel
+ * @param panel_height[in] the height of the display panel
+ * @param chip_select_pin[in] the GPIO pin used for SPI chip select
+ * @param dc_pin[in] the GPIO pin used for D/C control
+ * @param reset_pin[in] the GPIO pin used for RST
+ * @param spi_divisor[in] the SPI divisor to use when communicating with the display
+ * @param spi_mode[in] the SPI mode to use when communicating with the display
+ * @return the device handle used with all drawing routines in Quantum Painter
+ */
+painter_device_t qp_ili9486_make_spi_waveshare_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+
+#endif // QUANTUM_PAINTER_ILI9486_SPI_ENABLE
diff --git a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h
index f57e638e03..906f6cd772 100644
--- a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h
+++ b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h
@@ -70,6 +70,7 @@
#define ILI9XXX_SET_LIGHT_CTL_8 0xBF // Set backlight ctl 8
#define ILI9XXX_SET_POWER_CTL_1 0xC0 // Set power ctl 1
#define ILI9XXX_SET_POWER_CTL_2 0xC1 // Set power ctl 2
+#define ILI9XXX_SET_POWER_CTL_3 0xC2 // Set power ctl 3
#define ILI9XXX_SET_VCOM_CTL_1 0xC5 // Set VCOM ctl 1
#define ILI9XXX_SET_VCOM_CTL_2 0xC7 // Set VCOM ctl 2
#define ILI9XXX_POWER_CTL_A 0xCB // Set power control A
diff --git a/drivers/painter/sh1106/qp_sh1106.c b/drivers/painter/sh1106/qp_sh1106.c
index 7cb6e398fa..4117115aec 100644
--- a/drivers/painter/sh1106/qp_sh1106.c
+++ b/drivers/painter/sh1106/qp_sh1106.c
@@ -44,7 +44,7 @@ __attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotat
}
// clang-format off
- const uint8_t sh1106_init_sequence[] = {
+ uint8_t sh1106_init_sequence[] = {
// Command, Delay, N, Data[N]
SH1106_SET_MUX_RATIO, 0, 1, 0x3F,
SH1106_DISPLAY_OFFSET, 0, 1, 0x00,
@@ -61,6 +61,16 @@ __attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotat
};
// clang-format on
+ // If the display height is anything other than the default 64 pixels, change SH1106_SET_MUX_RATIO data byte to the correct value
+ if (driver->oled.base.panel_height != 64) {
+ sh1106_init_sequence[3] = driver->oled.base.panel_height - 1;
+ }
+
+ // For 128x32 or 96x16 displays, change SH1106_COM_PADS_HW_CFG data byte from alternative (0x12) to sequential (0x02) configuration
+ if (driver->oled.base.panel_height <= 32) {
+ sh1106_init_sequence[20] = 0x02;
+ }
+
qp_comms_bulk_command_sequence(device, sh1106_init_sequence, sizeof(sh1106_init_sequence));
return true;
}
@@ -203,4 +213,4 @@ painter_device_t qp_sh1106_make_i2c_device(uint16_t panel_width, uint16_t panel_
return NULL;
}
-#endif // QUANTUM_PAINTER_SH1106_SPI_ENABLE
+#endif // QUANTUM_PAINTER_SH1106_I2C_ENABLE
diff --git a/drivers/painter/sh1106/qp_sh1106_opcodes.h b/drivers/painter/sh1106/qp_sh1106_opcodes.h
index a2e100d770..bf86ba4c2c 100644
--- a/drivers/painter/sh1106/qp_sh1106_opcodes.h
+++ b/drivers/painter/sh1106/qp_sh1106_opcodes.h
@@ -16,7 +16,7 @@
#define SH1106_COM_PADS_HW_CFG 0xDA
#define SH1106_SET_CONTRAST 0x81
#define SH1106_SET_PRECHARGE_PERIOD 0xD9
-#define SH1106_VCOM_DETECT 0xDB
+#define SH1106_VCOM_DESELECT_LEVEL 0xDB
#define SH1106_ALL_ON_RESUME 0xA4
#define SH1106_NON_INVERTING_DISPLAY 0xA6
#define SH1106_DEACTIVATE_SCROLL 0x2E
diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c
index b76268fba2..97daa8db09 100644
--- a/drivers/sensors/adns5050.c
+++ b/drivers/sensors/adns5050.c
@@ -47,9 +47,9 @@
void adns5050_init(void) {
// Initialize the ADNS serial pins.
- setPinOutput(ADNS5050_SCLK_PIN);
- setPinOutput(ADNS5050_SDIO_PIN);
- setPinOutput(ADNS5050_CS_PIN);
+ gpio_set_pin_output(ADNS5050_SCLK_PIN);
+ gpio_set_pin_output(ADNS5050_SDIO_PIN);
+ gpio_set_pin_output(ADNS5050_CS_PIN);
// reboot the adns.
// if the adns hasn't initialized yet, this is harmless.
@@ -69,30 +69,30 @@ void adns5050_init(void) {
// Just as with the serial protocol, this is used by the slave to send a
// synchronization signal to the master.
void adns5050_sync(void) {
- writePinLow(ADNS5050_CS_PIN);
+ gpio_write_pin_low(ADNS5050_CS_PIN);
wait_us(1);
- writePinHigh(ADNS5050_CS_PIN);
+ gpio_write_pin_high(ADNS5050_CS_PIN);
}
void adns5050_cs_select(void) {
- writePinLow(ADNS5050_CS_PIN);
+ gpio_write_pin_low(ADNS5050_CS_PIN);
}
void adns5050_cs_deselect(void) {
- writePinHigh(ADNS5050_CS_PIN);
+ gpio_write_pin_high(ADNS5050_CS_PIN);
}
uint8_t adns5050_serial_read(void) {
- setPinInput(ADNS5050_SDIO_PIN);
+ gpio_set_pin_input(ADNS5050_SDIO_PIN);
uint8_t byte = 0;
for (uint8_t i = 0; i < 8; ++i) {
- writePinLow(ADNS5050_SCLK_PIN);
+ gpio_write_pin_low(ADNS5050_SCLK_PIN);
wait_us(1);
- byte = (byte << 1) | readPin(ADNS5050_SDIO_PIN);
+ byte = (byte << 1) | gpio_read_pin(ADNS5050_SDIO_PIN);
- writePinHigh(ADNS5050_SCLK_PIN);
+ gpio_write_pin_high(ADNS5050_SCLK_PIN);
wait_us(1);
}
@@ -100,19 +100,19 @@ uint8_t adns5050_serial_read(void) {
}
void adns5050_serial_write(uint8_t data) {
- setPinOutput(ADNS5050_SDIO_PIN);
+ gpio_set_pin_output(ADNS5050_SDIO_PIN);
for (int8_t b = 7; b >= 0; b--) {
- writePinLow(ADNS5050_SCLK_PIN);
+ gpio_write_pin_low(ADNS5050_SCLK_PIN);
if (data & (1 << b))
- writePinHigh(ADNS5050_SDIO_PIN);
+ gpio_write_pin_high(ADNS5050_SDIO_PIN);
else
- writePinLow(ADNS5050_SDIO_PIN);
+ gpio_write_pin_low(ADNS5050_SDIO_PIN);
wait_us(2);
- writePinHigh(ADNS5050_SCLK_PIN);
+ gpio_write_pin_high(ADNS5050_SCLK_PIN);
}
// tSWR. See page 15 of the ADNS spec sheet.
diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c
index 083ab34d9f..f34529ee90 100644
--- a/drivers/sensors/adns9800.c
+++ b/drivers/sensors/adns9800.c
@@ -100,7 +100,7 @@ uint8_t adns9800_read(uint8_t reg_addr) {
}
void adns9800_init(void) {
- setPinOutput(ADNS9800_CS_PIN);
+ gpio_set_pin_output(ADNS9800_CS_PIN);
spi_init();
diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c
index 12256a8e7a..15b35a45f2 100644
--- a/drivers/sensors/analog_joystick.c
+++ b/drivers/sensors/analog_joystick.c
@@ -22,17 +22,28 @@
#include <stdlib.h>
// Set Parameters
+#ifndef ANALOG_JOYSTICK_AUTO_AXIS
uint16_t minAxisValue = ANALOG_JOYSTICK_AXIS_MIN;
uint16_t maxAxisValue = ANALOG_JOYSTICK_AXIS_MAX;
+#else
+int16_t minAxisValues[2];
+int16_t maxAxisValues[2];
+#endif
uint8_t maxCursorSpeed = ANALOG_JOYSTICK_SPEED_MAX;
uint8_t speedRegulator = ANALOG_JOYSTICK_SPEED_REGULATOR; // Lower Values Create Faster Movement
+#ifdef ANALOG_JOYSTICK_WEIGHTS
+int8_t weights[101] = ANALOG_JOYSTICK_WEIGHTS;
+#endif
+
int16_t xOrigin, yOrigin;
uint16_t lastCursor = 0;
-int16_t axisCoordinate(pin_t pin, uint16_t origin) {
+uint8_t prevValues[2] = {0, 0};
+
+int16_t axisCoordinate(pin_t pin, uint16_t origin, uint8_t axis) {
int8_t direction;
int16_t distanceFromOrigin;
int16_t range;
@@ -43,12 +54,27 @@ int16_t axisCoordinate(pin_t pin, uint16_t origin) {
return 0;
} else if (origin > position) {
distanceFromOrigin = origin - position;
- range = origin - minAxisValue;
- direction = -1;
+#ifdef ANALOG_JOYSTICK_AUTO_AXIS
+ if (position < minAxisValues[axis]) {
+ minAxisValues[axis] = position;
+ }
+ range = origin - minAxisValues[axis];
+#else
+ range = origin - minAxisValue;
+#endif
+ direction = -1;
} else {
distanceFromOrigin = position - origin;
- range = maxAxisValue - origin;
- direction = 1;
+
+#ifdef ANALOG_JOYSTICK_AUTO_AXIS
+ if (position > maxAxisValues[axis]) {
+ maxAxisValues[axis] = position;
+ }
+ range = maxAxisValues[axis] - origin;
+#else
+ range = maxAxisValue - origin;
+#endif
+ direction = 1;
}
float percent = (float)distanceFromOrigin / range;
@@ -62,14 +88,29 @@ int16_t axisCoordinate(pin_t pin, uint16_t origin) {
}
}
-int8_t axisToMouseComponent(pin_t pin, int16_t origin, uint8_t maxSpeed) {
- int16_t coordinate = axisCoordinate(pin, origin);
+int8_t axisToMouseComponent(pin_t pin, int16_t origin, uint8_t maxSpeed, uint8_t axis) {
+ int16_t coordinate = axisCoordinate(pin, origin, axis);
+ int8_t result;
+#ifndef ANALOG_JOYSTICK_WEIGHTS
if (coordinate != 0) {
float percent = (float)coordinate / 100;
- return percent * maxCursorSpeed * (abs(coordinate) / speedRegulator);
+ result = percent * maxCursorSpeed * (abs(coordinate) / speedRegulator);
} else {
return 0;
}
+#else
+ result = weights[abs(coordinate)] * (coordinate < 0 ? -1 : 1) * maxCursorSpeed / speedRegulator;
+#endif
+
+#ifdef ANALOG_JOYSTICK_CUTOFF
+ uint8_t pv = prevValues[axis];
+ prevValues[axis] = abs(result);
+ if (pv > abs(result)) {
+ return 0;
+ }
+#endif
+
+ return result;
}
report_analog_joystick_t analog_joystick_read(void) {
@@ -77,20 +118,30 @@ report_analog_joystick_t analog_joystick_read(void) {
if (timer_elapsed(lastCursor) > ANALOG_JOYSTICK_READ_INTERVAL) {
lastCursor = timer_read();
- report.x = axisToMouseComponent(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin, maxCursorSpeed);
- report.y = axisToMouseComponent(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin, maxCursorSpeed);
+ report.x = axisToMouseComponent(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin, maxCursorSpeed, 0);
+ report.y = axisToMouseComponent(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin, maxCursorSpeed, 1);
}
#ifdef ANALOG_JOYSTICK_CLICK_PIN
- report.button = !readPin(ANALOG_JOYSTICK_CLICK_PIN);
+ report.button = !gpio_read_pin(ANALOG_JOYSTICK_CLICK_PIN);
#endif
return report;
}
void analog_joystick_init(void) {
+ gpio_set_pin_input_high(ANALOG_JOYSTICK_X_AXIS_PIN);
+ gpio_set_pin_input_high(ANALOG_JOYSTICK_Y_AXIS_PIN);
+
#ifdef ANALOG_JOYSTICK_CLICK_PIN
- setPinInputHigh(ANALOG_JOYSTICK_CLICK_PIN);
+ gpio_set_pin_input_high(ANALOG_JOYSTICK_CLICK_PIN);
#endif
// Account for drift
xOrigin = analogReadPin(ANALOG_JOYSTICK_X_AXIS_PIN);
yOrigin = analogReadPin(ANALOG_JOYSTICK_Y_AXIS_PIN);
+
+#ifdef ANALOG_JOYSTICK_AUTO_AXIS
+ minAxisValues[0] = xOrigin - 100;
+ minAxisValues[1] = yOrigin - 100;
+ maxAxisValues[0] = xOrigin + 100;
+ maxAxisValues[1] = yOrigin + 100;
+#endif
}
diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c
index 521f558b5f..367873eb06 100644
--- a/drivers/sensors/azoteq_iqs5xx.c
+++ b/drivers/sensors/azoteq_iqs5xx.c
@@ -107,18 +107,17 @@ static struct {
i2c_status_t azoteq_iqs5xx_wake(void) {
uint8_t data = 0;
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)&data, sizeof(data), 1);
- i2c_stop();
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)&data, sizeof(data), 1);
wait_us(150);
return status;
}
i2c_status_t azoteq_iqs5xx_end_session(void) {
const uint8_t END_BYTE = 1; // any data
- return i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_END_COMMS, &END_BYTE, 1, AZOTEQ_IQS5XX_TIMEOUT_MS);
+ return i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_END_COMMS, &END_BYTE, 1, AZOTEQ_IQS5XX_TIMEOUT_MS);
}
i2c_status_t azoteq_iqs5xx_get_base_data(azoteq_iqs5xx_base_data_t *base_data) {
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)base_data, 10, AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)base_data, 10, AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
azoteq_iqs5xx_end_session();
}
@@ -131,7 +130,7 @@ i2c_status_t azoteq_iqs5xx_get_report_rate(azoteq_iqs5xx_report_rate_t *report_r
return I2C_STATUS_ERROR;
}
uint16_t selected_reg = AZOTEQ_IQS5XX_REG_REPORT_RATE_ACTIVE + (2 * mode);
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS);
if (end_session) {
azoteq_iqs5xx_end_session();
}
@@ -147,7 +146,7 @@ i2c_status_t azoteq_iqs5xx_set_report_rate(uint16_t report_rate_ms, azoteq_iqs5x
azoteq_iqs5xx_report_rate_t report_rate = {0};
report_rate.h = (uint8_t)((report_rate_ms >> 8) & 0xFF);
report_rate.l = (uint8_t)(report_rate_ms & 0xFF);
- i2c_status_t status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)&report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)&report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS);
if (end_session) {
azoteq_iqs5xx_end_session();
}
@@ -156,10 +155,10 @@ i2c_status_t azoteq_iqs5xx_set_report_rate(uint16_t report_rate_ms, azoteq_iqs5x
i2c_status_t azoteq_iqs5xx_set_reati(bool enabled, bool end_session) {
azoteq_iqs5xx_system_config_0_t config = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
config.reati = enabled;
- status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
if (end_session) {
azoteq_iqs5xx_end_session();
@@ -169,7 +168,7 @@ i2c_status_t azoteq_iqs5xx_set_reati(bool enabled, bool end_session) {
i2c_status_t azoteq_iqs5xx_set_event_mode(bool enabled, bool end_session) {
azoteq_iqs5xx_system_config_1_t config = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
config.event_mode = enabled;
config.touch_event = true;
@@ -179,7 +178,7 @@ i2c_status_t azoteq_iqs5xx_set_event_mode(bool enabled, bool end_session) {
config.reati_event = false;
config.alp_prox_event = false;
config.gesture_event = true;
- status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
if (end_session) {
azoteq_iqs5xx_end_session();
@@ -189,7 +188,7 @@ i2c_status_t azoteq_iqs5xx_set_event_mode(bool enabled, bool end_session) {
i2c_status_t azoteq_iqs5xx_set_gesture_config(bool end_session) {
azoteq_iqs5xx_gesture_config_t config = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
pd_dprintf("azo scroll: %d\n", config.multi_finger_gestures.scroll);
if (status == I2C_STATUS_SUCCESS) {
config.single_finger_gestures.single_tap = AZOTEQ_IQS5XX_TAP_ENABLE;
@@ -211,7 +210,7 @@ i2c_status_t azoteq_iqs5xx_set_gesture_config(bool end_session) {
config.scroll_initial_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SCROLL_INITIAL_DISTANCE);
config.zoom_initial_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_ZOOM_INITIAL_DISTANCE);
config.zoom_consecutive_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE);
- status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
if (end_session) {
azoteq_iqs5xx_end_session();
@@ -221,7 +220,7 @@ i2c_status_t azoteq_iqs5xx_set_gesture_config(bool end_session) {
i2c_status_t azoteq_iqs5xx_set_xy_config(bool flip_x, bool flip_y, bool switch_xy, bool palm_reject, bool end_session) {
azoteq_iqs5xx_xy_config_0_t config = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
if (flip_x) {
config.flip_x = !config.flip_x;
@@ -233,7 +232,7 @@ i2c_status_t azoteq_iqs5xx_set_xy_config(bool flip_x, bool flip_y, bool switch_x
config.switch_xy_axis = !config.switch_xy_axis;
}
config.palm_reject = palm_reject;
- status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
if (end_session) {
azoteq_iqs5xx_end_session();
@@ -243,11 +242,11 @@ i2c_status_t azoteq_iqs5xx_set_xy_config(bool flip_x, bool flip_y, bool switch_x
i2c_status_t azoteq_iqs5xx_reset_suspend(bool reset, bool suspend, bool end_session) {
azoteq_iqs5xx_system_control_1_t config = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
config.reset = reset;
config.suspend = suspend;
- status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ status = i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
if (end_session) {
azoteq_iqs5xx_end_session();
@@ -260,14 +259,14 @@ void azoteq_iqs5xx_set_cpi(uint16_t cpi) {
azoteq_iqs5xx_resolution_t resolution = {0};
resolution.x_resolution = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(MIN(azoteq_iqs5xx_device_resolution_t.resolution_x, AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_X(cpi)));
resolution.y_resolution = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(MIN(azoteq_iqs5xx_device_resolution_t.resolution_y, AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_Y(cpi)));
- i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_write_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
}
}
uint16_t azoteq_iqs5xx_get_cpi(void) {
if (azoteq_iqs5xx_product_number != AZOTEQ_IQS5XX_UNKNOWN) {
azoteq_iqs5xx_resolution_t resolution = {0};
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
return AZOTEQ_IQS5XX_RESOLUTION_X_TO_INCH(AZOTEQ_IQS5XX_SWAP_H_L_BYTES(resolution.x_resolution));
}
@@ -276,7 +275,7 @@ uint16_t azoteq_iqs5xx_get_cpi(void) {
}
uint16_t azoteq_iqs5xx_get_product(void) {
- i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PRODUCT_NUMBER, (uint8_t *)&azoteq_iqs5xx_product_number, sizeof(uint16_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
+ i2c_status_t status = i2c_read_register16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PRODUCT_NUMBER, (uint8_t *)&azoteq_iqs5xx_product_number, sizeof(uint16_t), AZOTEQ_IQS5XX_TIMEOUT_MS);
if (status == I2C_STATUS_SUCCESS) {
azoteq_iqs5xx_product_number = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(azoteq_iqs5xx_product_number);
}
diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c
index 3131805c20..9afc9df804 100644
--- a/drivers/sensors/cirque_pinnacle.c
+++ b/drivers/sensors/cirque_pinnacle.c
@@ -216,6 +216,20 @@ void cirque_pinnacle_cursor_smoothing(bool enable) {
RAP_Write(HOSTREG__FEEDCONFIG3, feedconfig3);
}
+// Check sensor is connected
+bool cirque_pinnacle_connected(void) {
+ uint8_t current_zidle = 0;
+ uint8_t temp_zidle = 0;
+ RAP_ReadBytes(HOSTREG__ZIDLE, &current_zidle, 1);
+ RAP_Write(HOSTREG__ZIDLE, HOSTREG__ZIDLE_DEFVAL);
+ RAP_ReadBytes(HOSTREG__ZIDLE, &temp_zidle, 1);
+ if (temp_zidle == HOSTREG__ZIDLE_DEFVAL) {
+ RAP_Write(HOSTREG__ZIDLE, current_zidle);
+ return true;
+ }
+ return false;
+}
+
/* Pinnacle-based TM040040/TM035035/TM023023 Functions */
void cirque_pinnacle_init(void) {
#if defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi)
@@ -274,6 +288,10 @@ void cirque_pinnacle_init(void) {
}
cirque_pinnacle_enable_feed(true);
+
+#ifndef CIRQUE_PINNACLE_SKIP_SENSOR_CHECK
+ touchpad_init = cirque_pinnacle_connected();
+#endif
}
pinnacle_data_t cirque_pinnacle_read_data(void) {
@@ -320,6 +338,15 @@ pinnacle_data_t cirque_pinnacle_read_data(void) {
result.wheelCount = ((int8_t*)data)[3];
#endif
+#ifdef CIRQUE_PINNACLE_REACHABLE_CALIBRATION
+ static uint16_t xMin = UINT16_MAX, yMin = UINT16_MAX, yMax = 0, xMax = 0;
+ if (result.xValue < xMin) xMin = result.xValue;
+ if (result.xValue > xMax) xMax = result.xValue;
+ if (result.yValue < yMin) yMin = result.yValue;
+ if (result.yValue > yMax) yMax = result.yValue;
+ pd_dprintf("%s: xLo=%3d xHi=%3d yLo=%3d yHi=%3d\n", __FUNCTION__, xMin, xMax, yMin, yMax);
+#endif
+
result.valid = true;
return result;
}
diff --git a/drivers/sensors/cirque_pinnacle_i2c.c b/drivers/sensors/cirque_pinnacle_i2c.c
index 3c11e5f079..a3622e9d60 100644
--- a/drivers/sensors/cirque_pinnacle_i2c.c
+++ b/drivers/sensors/cirque_pinnacle_i2c.c
@@ -14,12 +14,11 @@ extern bool touchpad_init;
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) {
uint8_t cmdByte = READ_MASK | address; // Form the READ command byte
if (touchpad_init) {
- i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT);
- if (i2c_readReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
- pd_dprintf("error cirque_pinnacle i2c_readReg\n");
+ i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT);
+ if (i2c_read_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
+ pd_dprintf("error cirque_pinnacle i2c_read_register\n");
touchpad_init = false;
}
- i2c_stop();
}
}
@@ -28,10 +27,9 @@ void RAP_Write(uint8_t address, uint8_t data) {
uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte
if (touchpad_init) {
- if (i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
- pd_dprintf("error cirque_pinnacle i2c_writeReg\n");
+ if (i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
+ pd_dprintf("error cirque_pinnacle i2c_write_register\n");
touchpad_init = false;
}
- i2c_stop();
}
}
diff --git a/drivers/sensors/paw3204.c b/drivers/sensors/paw3204.c
index a13753dd6f..28c47522ed 100644
--- a/drivers/sensors/paw3204.c
+++ b/drivers/sensors/paw3204.c
@@ -51,8 +51,8 @@ uint8_t paw3204_read_reg(uint8_t reg_addr);
void paw3204_write_reg(uint8_t reg_addr, uint8_t data);
void paw3204_init(void) {
- setPinOutput(PAW3204_SCLK_PIN); // setclockpin to output
- setPinInputHigh(PAW3204_SDIO_PIN); // set datapin input high
+ gpio_set_pin_output(PAW3204_SCLK_PIN); // setclockpin to output
+ gpio_set_pin_input_high(PAW3204_SDIO_PIN); // set datapin input high
paw3204_write_reg(REG_SETUP, 0x86); // reset sensor and set 1600cpi
wait_us(5);
@@ -64,16 +64,16 @@ void paw3204_init(void) {
}
uint8_t paw3204_serial_read(void) {
- setPinInput(PAW3204_SDIO_PIN);
+ gpio_set_pin_input(PAW3204_SDIO_PIN);
uint8_t byte = 0;
for (uint8_t i = 0; i < 8; ++i) {
- writePinLow(PAW3204_SCLK_PIN);
+ gpio_write_pin_low(PAW3204_SCLK_PIN);
wait_us(1);
- byte = (byte << 1) | readPin(PAW3204_SDIO_PIN);
+ byte = (byte << 1) | gpio_read_pin(PAW3204_SDIO_PIN);
- writePinHigh(PAW3204_SCLK_PIN);
+ gpio_write_pin_high(PAW3204_SCLK_PIN);
wait_us(1);
}
@@ -81,17 +81,17 @@ uint8_t paw3204_serial_read(void) {
}
void paw3204_serial_write(uint8_t data) {
- writePinLow(PAW3204_SDIO_PIN);
- setPinOutput(PAW3204_SDIO_PIN);
+ gpio_write_pin_low(PAW3204_SDIO_PIN);
+ gpio_set_pin_output(PAW3204_SDIO_PIN);
for (int8_t b = 7; b >= 0; b--) {
- writePinLow(PAW3204_SCLK_PIN);
+ gpio_write_pin_low(PAW3204_SCLK_PIN);
if (data & (1 << b)) {
- writePinHigh(PAW3204_SDIO_PIN);
+ gpio_write_pin_high(PAW3204_SDIO_PIN);
} else {
- writePinLow(PAW3204_SDIO_PIN);
+ gpio_write_pin_low(PAW3204_SDIO_PIN);
}
- writePinHigh(PAW3204_SCLK_PIN);
+ gpio_write_pin_high(PAW3204_SCLK_PIN);
}
wait_us(4);
diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c
index 326e59744f..9c6d26d73d 100644
--- a/drivers/sensors/pimoroni_trackball.c
+++ b/drivers/sensors/pimoroni_trackball.c
@@ -56,13 +56,13 @@ void pimoroni_trackball_set_cpi(uint16_t cpi) {
void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
uint8_t data[4] = {r, g, b, w};
- __attribute__((unused)) i2c_status_t status = i2c_writeReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LED_RED, data, sizeof(data), PIMORONI_TRACKBALL_TIMEOUT);
+ __attribute__((unused)) i2c_status_t status = i2c_write_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LED_RED, data, sizeof(data), PIMORONI_TRACKBALL_TIMEOUT);
pd_dprintf("Trackball RGBW i2c_status_t: %d\n", status);
}
i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) {
- i2c_status_t status = i2c_readReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT);
+ i2c_status_t status = i2c_read_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT);
#ifdef POINTING_DEVICE_DEBUG
static uint16_t d_timer;
diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c
index 69a584f4e1..f19fbfd1ab 100644
--- a/drivers/sensors/pmw3320.c
+++ b/drivers/sensors/pmw3320.c
@@ -24,9 +24,9 @@
void pmw3320_init(void) {
// Initialize sensor serial pins.
- setPinOutput(PMW3320_SCLK_PIN);
- setPinOutput(PMW3320_SDIO_PIN);
- setPinOutput(PMW3320_CS_PIN);
+ gpio_set_pin_output(PMW3320_SCLK_PIN);
+ gpio_set_pin_output(PMW3320_SDIO_PIN);
+ gpio_set_pin_output(PMW3320_CS_PIN);
// reboot the sensor.
pmw3320_write_reg(REG_Power_Up_Reset, 0x5a);
@@ -54,30 +54,30 @@ void pmw3320_init(void) {
// Just as with the serial protocol, this is used by the slave to send a
// synchronization signal to the master.
void pmw3320_sync(void) {
- writePinLow(PMW3320_CS_PIN);
+ gpio_write_pin_low(PMW3320_CS_PIN);
wait_us(1);
- writePinHigh(PMW3320_CS_PIN);
+ gpio_write_pin_high(PMW3320_CS_PIN);
}
void pmw3320_cs_select(void) {
- writePinLow(PMW3320_CS_PIN);
+ gpio_write_pin_low(PMW3320_CS_PIN);
}
void pmw3320_cs_deselect(void) {
- writePinHigh(PMW3320_CS_PIN);
+ gpio_write_pin_high(PMW3320_CS_PIN);
}
uint8_t pmw3320_serial_read(void) {
- setPinInput(PMW3320_SDIO_PIN);
+ gpio_set_pin_input(PMW3320_SDIO_PIN);
uint8_t byte = 0;
for (uint8_t i = 0; i < 8; ++i) {
- writePinLow(PMW3320_SCLK_PIN);
+ gpio_write_pin_low(PMW3320_SCLK_PIN);
wait_us(1);
- byte = (byte << 1) | readPin(PMW3320_SDIO_PIN);
+ byte = (byte << 1) | gpio_read_pin(PMW3320_SDIO_PIN);
- writePinHigh(PMW3320_SCLK_PIN);
+ gpio_write_pin_high(PMW3320_SCLK_PIN);
wait_us(1);
}
@@ -85,19 +85,19 @@ uint8_t pmw3320_serial_read(void) {
}
void pmw3320_serial_write(uint8_t data) {
- setPinOutput(PMW3320_SDIO_PIN);
+ gpio_set_pin_output(PMW3320_SDIO_PIN);
for (int8_t b = 7; b >= 0; b--) {
- writePinLow(PMW3320_SCLK_PIN);
+ gpio_write_pin_low(PMW3320_SCLK_PIN);
if (data & (1 << b))
- writePinHigh(PMW3320_SDIO_PIN);
+ gpio_write_pin_high(PMW3320_SDIO_PIN);
else
- writePinLow(PMW3320_SDIO_PIN);
+ gpio_write_pin_low(PMW3320_SDIO_PIN);
wait_us(2);
- writePinHigh(PMW3320_SCLK_PIN);
+ gpio_write_pin_high(PMW3320_SCLK_PIN);
}
// This was taken from ADNS5050 driver.
diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c
index a7dc687f50..8408daa945 100644
--- a/drivers/sensors/pmw3360.c
+++ b/drivers/sensors/pmw3360.c
@@ -15,6 +15,9 @@ uint16_t pmw33xx_get_cpi(uint8_t sensor) {
}
uint8_t cpival = pmw33xx_read(sensor, REG_Config1);
+ // In some cases (100, 900, 1700, 2500), reading the CPI corrupts the firmware and the sensor stops responding.
+ // To avoid this, we write the value back to the sensor, which seems to prevent the corruption.
+ pmw33xx_write(sensor, REG_Config1, cpival);
return (uint16_t)((cpival + 1) & 0xFF) * PMW33XX_CPI_STEP;
}
diff --git a/drivers/usb2422.c b/drivers/usb2422.c
index 1d33b5acf8..de0e399f87 100644
--- a/drivers/usb2422.c
+++ b/drivers/usb2422.c
@@ -346,10 +346,10 @@ static void USB2422_write_block(void) {
void USB2422_init(void) {
#ifdef USB2422_RESET_PIN
- setPinOutput(USB2422_RESET_PIN);
+ gpio_set_pin_output(USB2422_RESET_PIN);
#endif
#ifdef USB2422_ACTIVE_PIN
- setPinInput(USB2422_ACTIVE_PIN);
+ gpio_set_pin_input(USB2422_ACTIVE_PIN);
#endif
i2c_init(); // IC2 clk must be high at USB2422 reset release time to signal SMB configuration
@@ -387,15 +387,15 @@ void USB2422_configure(void) {
void USB2422_reset(void) {
#ifdef USB2422_RESET_PIN
- writePinLow(USB2422_RESET_PIN);
+ gpio_write_pin_low(USB2422_RESET_PIN);
wait_us(2);
- writePinHigh(USB2422_RESET_PIN);
+ gpio_write_pin_high(USB2422_RESET_PIN);
#endif
}
bool USB2422_active(void) {
#ifdef USB2422_ACTIVE_PIN
- return readPin(USB2422_ACTIVE_PIN);
+ return gpio_read_pin(USB2422_ACTIVE_PIN);
#else
return 1;
#endif
diff --git a/drivers/ws2812.h b/drivers/ws2812.h
index 1527df23d3..134de51c50 100644
--- a/drivers/ws2812.h
+++ b/drivers/ws2812.h
@@ -56,9 +56,9 @@
# define WS2812_TRST_US 280
#endif
-#if defined(RGBLED_NUM)
-# define WS2812_LED_COUNT RGBLED_NUM
-#elif defined(RGB_MATRIX_LED_COUNT)
+#if defined(RGBLIGHT_WS2812)
+# define WS2812_LED_COUNT RGBLIGHT_LED_COUNT
+#elif defined(RGB_MATRIX_WS2812)
# define WS2812_LED_COUNT RGB_MATRIX_LED_COUNT
#endif
diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h
index 9527d6abae..5791b324b6 100644
--- a/keyboards/0xcb/1337/config.h
+++ b/keyboards/0xcb/1337/config.h
@@ -16,15 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-// clang-format off
-
- /* default setup after eeprom reset */
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
- #define RGBLIGHT_DEFAULT_HUE 152
- #define RGBLIGHT_DEFAULT_SAT 232
- #define RGBLIGHT_DEFAULT_VAR 255
- #define RGBLIGHT_DEFAULT_SPD 2
-// clang-format on
+/* default setup after eeprom reset */
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json
index 30b806aedc..d492f8e3be 100644
--- a/keyboards/0xcb/1337/info.json
+++ b/keyboards/0xcb/1337/info.json
@@ -40,6 +40,11 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 152,
+ "sat": 232,
+ "speed": 2
}
},
"ws2812": {
diff --git a/keyboards/0xcb/splaytoraid/config.h b/keyboards/0xcb/splaytoraid/config.h
deleted file mode 100644
index 00674eea11..0000000000
--- a/keyboards/0xcb/splaytoraid/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2023 Conor Burns (@Conor-Burns)
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 18
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
-#define RGB_MATRIX_DEFAULT_HUE 152
-#define RGB_MATRIX_DEFAULT_SAT 232
-#define RGB_MATRIX_DEFAULT_SPD 50
-
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_SOLID_COLOR
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json
index c218d1ff78..1d47f7d77c 100644
--- a/keyboards/0xcb/splaytoraid/info.json
+++ b/keyboards/0xcb/splaytoraid/info.json
@@ -36,6 +36,20 @@
]
},
"rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "raindrops": true,
+ "cycle_left_right": true
+ },
+ "default": {
+ "animation": "breathing",
+ "hue": 152,
+ "sat": 232,
+ "speed": 50
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 2], "x": 0, "y": 0},
@@ -56,7 +70,8 @@
{"flags": 4, "matrix": [7, 5], "x": 122, "y": 64},
{"flags": 4, "matrix": [1, 5], "x": 142, "y": 64},
{"flags": 4, "matrix": [0, 3], "x": 163, "y": 64}
- ]
+ ],
+ "max_brightness": 200
},
"ws2812": {
"pin": "D0"
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/config.h b/keyboards/0xcb/splaytoraid/rp2040_ce/config.h
deleted file mode 100644
index 65bb22450e..0000000000
--- a/keyboards/0xcb/splaytoraid/rp2040_ce/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2023 Conor Burns (@Conor-Burns)
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#pragma once
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/info.json b/keyboards/0xcb/splaytoraid/rp2040_ce/info.json
index 9f0eb51118..49256b6482 100644
--- a/keyboards/0xcb/splaytoraid/rp2040_ce/info.json
+++ b/keyboards/0xcb/splaytoraid/rp2040_ce/info.json
@@ -1,4 +1,25 @@
{
+ "rgb_matrix": {
+ "animations": {
+ "cycle_up_down": true,
+ "jellybean_raindrops": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "pixel_fractal": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "pixel_rain": true,
+ "dual_beacon": true,
+ "hue_breathing": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true
+ }
+ },
"ws2812": {
"driver": "vendor"
}
diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h
index 29d684ac08..9a7761e30d 100644
--- a/keyboards/1k/keymaps/default/rgblite.h
+++ b/keyboards/1k/keymaps/default/rgblite.h
@@ -7,8 +7,8 @@
#include "color.h"
static inline void rgblite_setrgb(RGB rgb) {
- rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
- ws2812_setleds(leds, RGBLED_NUM);
+ rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
+ ws2812_setleds(leds, RGBLIGHT_LED_COUNT);
}
static void rgblite_increase_hue(void) {
diff --git a/keyboards/1upkeyboards/1upocarina/config.h b/keyboards/1upkeyboards/1upocarina/config.h
deleted file mode 100644
index 4431ef6bdb..0000000000
--- a/keyboards/1upkeyboards/1upocarina/config.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2023 Ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 32
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/1upkeyboards/1upocarina/info.json b/keyboards/1upkeyboards/1upocarina/info.json
index c6a3718082..008896d40e 100644
--- a/keyboards/1upkeyboards/1upocarina/info.json
+++ b/keyboards/1upkeyboards/1upocarina/info.json
@@ -41,6 +41,45 @@
"pin": "GP24"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{ "flags": 4, "matrix": [0, 0], "x": 23, "y": 26 },
@@ -81,7 +120,8 @@
{ "flags": 2, "x": 70, "y": 3 },
{ "flags": 2, "x": 91, "y": 3 }
- ]
+ ],
+ "sleep": true
},
"layouts": {
"LAYOUT_1x5": {
diff --git a/keyboards/1upkeyboards/1upslider8/config.h b/keyboards/1upkeyboards/1upslider8/config.h
index 059d16f3fa..d65fa3daab 100644
--- a/keyboards/1upkeyboards/1upslider8/config.h
+++ b/keyboards/1upkeyboards/1upslider8/config.h
@@ -22,8 +22,3 @@
#define SLIDER_PIN GP28
#define MIDI_ADVANCED
-
-#define RGB_MATRIX_LED_COUNT 8
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/1upkeyboards/1upslider8/info.json b/keyboards/1upkeyboards/1upslider8/info.json
index f2fe651060..6b65361f67 100644
--- a/keyboards/1upkeyboards/1upslider8/info.json
+++ b/keyboards/1upkeyboards/1upslider8/info.json
@@ -95,7 +95,8 @@
{ "flags": 4, "matrix": [0, 6], "x": 84, "y": 48 },
{ "flags": 4, "matrix": [0, 7], "x": 140, "y": 48 },
{ "flags": 4, "matrix": [0, 8], "x": 196, "y": 48 }
- ]
+ ],
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/1upkeyboards/1upsuper16v3/config.h b/keyboards/1upkeyboards/1upsuper16v3/config.h
deleted file mode 100644
index 41e1679d48..0000000000
--- a/keyboards/1upkeyboards/1upsuper16v3/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 48
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/1upkeyboards/1upsuper16v3/info.json b/keyboards/1upkeyboards/1upsuper16v3/info.json
index b11654a942..7ef33a0342 100644
--- a/keyboards/1upkeyboards/1upsuper16v3/info.json
+++ b/keyboards/1upkeyboards/1upsuper16v3/info.json
@@ -127,7 +127,8 @@
{"x": 182, "y": 1, "flags": 2},
{"x": 154, "y": 1, "flags": 2},
{"x": 126, "y": 1, "flags": 2}
- ]
+ ],
+ "sleep": true
},
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/1upkeyboards/pi40/config.h b/keyboards/1upkeyboards/pi40/config.h
index 361982d153..c93b70f120 100644
--- a/keyboards/1upkeyboards/pi40/config.h
+++ b/keyboards/1upkeyboards/pi40/config.h
@@ -10,61 +10,6 @@
#define OLED_BRIGHTNESS 128
#define OLED_FONT_H "keyboards/1upkeyboards/pi40/lib/glcdfont.c"
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/config.h b/keyboards/1upkeyboards/pi40/grid_v1_1/config.h
deleted file mode 100644
index 00ed9f3196..0000000000
--- a/keyboards/1upkeyboards/pi40/grid_v1_1/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 48 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/info.json b/keyboards/1upkeyboards/pi40/info.json
new file mode 100644
index 0000000000..135c32dede
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/info.json
@@ -0,0 +1,51 @@
+{
+ "rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "max_brightness": 150,
+ "sleep": true
+ }
+}
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/config.h b/keyboards/1upkeyboards/pi40/mit_v1_0/config.h
deleted file mode 100644
index a4d7d0e39a..0000000000
--- a/keyboards/1upkeyboards/pi40/mit_v1_0/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#define RGB_MATRIX_LED_COUNT 47 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/config.h b/keyboards/1upkeyboards/pi40/mit_v1_1/config.h
deleted file mode 100644
index a4d7d0e39a..0000000000
--- a/keyboards/1upkeyboards/pi40/mit_v1_1/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#define RGB_MATRIX_LED_COUNT 47 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi50/config.h b/keyboards/1upkeyboards/pi50/config.h
index 4c17e6a4f0..ffdba3bd1f 100644
--- a/keyboards/1upkeyboards/pi50/config.h
+++ b/keyboards/1upkeyboards/pi50/config.h
@@ -9,10 +9,6 @@
#define OLED_BRIGHTNESS 128
#define OLED_FONT_H "keyboards/1upkeyboards/pi50/lib/glcdfont.c"
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/pi50/grid/config.h b/keyboards/1upkeyboards/pi50/grid/config.h
deleted file mode 100644
index 0bb970a3f2..0000000000
--- a/keyboards/1upkeyboards/pi50/grid/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2023 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#define RGB_MATRIX_LED_COUNT 60 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json
index 17345284ca..2a4fdef384 100644
--- a/keyboards/1upkeyboards/pi50/info.json
+++ b/keyboards/1upkeyboards/pi50/info.json
@@ -41,7 +41,6 @@
"driver": "ws2812",
"max_brightness": 150,
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -85,7 +84,8 @@
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
- }
+ },
+ "sleep": true
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/1upkeyboards/pi50/mit/config.h b/keyboards/1upkeyboards/pi50/mit/config.h
deleted file mode 100644
index 39a6d35c05..0000000000
--- a/keyboards/1upkeyboards/pi50/mit/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2023 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#define RGB_MATRIX_LED_COUNT 59 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi60/config.h b/keyboards/1upkeyboards/pi60/config.h
index 6bbbb2293c..a697e565c9 100644
--- a/keyboards/1upkeyboards/pi60/config.h
+++ b/keyboards/1upkeyboards/pi60/config.h
@@ -3,60 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 21
-//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-//#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-//# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-//# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-//# define ENABLE_RGB_MATRIX_SPLASH
-//# define ENABLE_RGB_MATRIX_MULTISPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json
index 4d0d21ea25..06abb1a4a6 100644
--- a/keyboards/1upkeyboards/pi60/info.json
+++ b/keyboards/1upkeyboards/pi60/info.json
@@ -44,6 +44,35 @@
]
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 17, "y": 50},
@@ -67,7 +96,8 @@
{"flags": 2, "x": 71, "y": 13},
{"flags": 2, "x": 54, "y": 13},
{"flags": 2, "x": 20, "y": 13}
- ]
+ ],
+ "sleep": true
},
"community_layouts": [
"60_ansi",
diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h
index b7c4d5e8bc..2c04274299 100644
--- a/keyboards/1upkeyboards/pi60_hse/config.h
+++ b/keyboards/1upkeyboards/pi60_hse/config.h
@@ -3,59 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 16
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/pi60_hse/info.json b/keyboards/1upkeyboards/pi60_hse/info.json
index 5b3e6b35e5..6b1fcdda41 100644
--- a/keyboards/1upkeyboards/pi60_hse/info.json
+++ b/keyboards/1upkeyboards/pi60_hse/info.json
@@ -35,6 +35,51 @@
"rows": ["GP4", "GP3", "GP2", "GP1", "GP0", "GP21"]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 98, "y": 51},
@@ -53,7 +98,8 @@
{"flags": 2, "x": 183, "y": 51},
{"flags": 2, "x": 157, "y": 51},
{"flags": 2, "x": 126, "y": 51}
- ]
+ ],
+ "sleep": true
},
"community_layouts": [
"60_ansi_split_bs_rshift"
diff --git a/keyboards/1upkeyboards/pi60_rgb/config.h b/keyboards/1upkeyboards/pi60_rgb/config.h
index b0747bd56d..2c04274299 100644
--- a/keyboards/1upkeyboards/pi60_rgb/config.h
+++ b/keyboards/1upkeyboards/pi60_rgb/config.h
@@ -3,61 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 61
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/pi60_rgb/info.json b/keyboards/1upkeyboards/pi60_rgb/info.json
index 68634f4da1..044e0e3b4b 100644
--- a/keyboards/1upkeyboards/pi60_rgb/info.json
+++ b/keyboards/1upkeyboards/pi60_rgb/info.json
@@ -38,6 +38,51 @@
"enabled": true
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 1, "matrix": [5, 5], "x": 103, "y": 58},
@@ -101,7 +146,9 @@
{"flags": 4, "matrix": [0, 11], "x": 172, "y": 7},
{"flags": 4, "matrix": [0, 12], "x": 187, "y": 7},
{"flags": 1, "matrix": [0, 13], "x": 209, "y": 7}
- ]
+ ],
+ "max_brightness": 125,
+ "sleep": true
},
"layouts": {
"LAYOUT_60_ansi": {
diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
index 7a5c6e0e83..043d8b154b 100644
--- a/keyboards/1upkeyboards/super16/config.h
+++ b/keyboards/1upkeyboards/super16/config.h
@@ -17,61 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define RGB_MATRIX_LED_COUNT 16
-# ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS // reacts to keyreleases (instead of keypresses)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json
index 6d63921f1b..81b28c6655 100644
--- a/keyboards/1upkeyboards/super16/info.json
+++ b/keyboards/1upkeyboards/super16/info.json
@@ -30,6 +30,51 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h
index 73d8badc5e..67af6d7cab 100644
--- a/keyboards/1upkeyboards/super16v2/config.h
+++ b/keyboards/1upkeyboards/super16v2/config.h
@@ -16,64 +16,8 @@
#pragma once
-
#define MOUSEKEY_MOVE_DELTA 25
-#define RGB_MATRIX_LED_COUNT 20
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-//# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-//# define ENABLE_RGB_MATRIX_MULTISPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/super16v2/info.json b/keyboards/1upkeyboards/super16v2/info.json
index c4bdc441ee..20a06f4c5e 100644
--- a/keyboards/1upkeyboards/super16v2/info.json
+++ b/keyboards/1upkeyboards/super16v2/info.json
@@ -12,7 +12,42 @@
"pin": "B5"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animmations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "splash": true
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["D5", "D6", "C2", "D0"],
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
index e4609962f1..39e43b90cd 100644
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
@@ -16,59 +16,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 20
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
index 928c8106bf..40f96fb736 100644
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
@@ -44,6 +44,51 @@
]
},
"rgb_matrix": {
+ "animmations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 28, "y": 12},
@@ -66,7 +111,8 @@
{"flags": 4, "matrix": [3, 1], "x": 84, "y": 60},
{"flags": 2, "x": 28, "y": 47},
{"flags": 4, "matrix": [3, 0], "x": 28, "y": 60}
- ]
+ ],
+ "sleep": true
},
"community_layouts": [
"ortho_4x4"
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
index e4609962f1..39e43b90cd 100644
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
@@ -16,59 +16,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 20
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
index 87f2f3574c..31805fc967 100644
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
@@ -42,6 +42,51 @@
]
},
"rgb_matrix": {
+ "animmations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 28, "y": 12},
@@ -64,7 +109,8 @@
{"flags": 4, "matrix": [3, 1], "x": 84, "y": 60},
{"flags": 2, "x": 28, "y": 47},
{"flags": 4, "matrix": [3, 0], "x": 28, "y": 60}
- ]
+ ],
+ "sleep": true
},
"community_layouts": [
"ortho_4x4"
diff --git a/keyboards/25keys/zinc/rev1/post_config.h b/keyboards/25keys/zinc/rev1/post_config.h
index 3d51de9e4c..42d2d7e46c 100644
--- a/keyboards/25keys/zinc/rev1/post_config.h
+++ b/keyboards/25keys/zinc/rev1/post_config.h
@@ -24,35 +24,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
#ifdef RGBLED_BACK
#ifdef RGBLED_CONT
- #define RGBLED_NUM 48
+ #define RGBLIGHT_LED_COUNT 48
#define RGBLED_SPLIT { 24, 24 }
#else
- #define RGBLED_NUM 24
+ #define RGBLIGHT_LED_COUNT 24
#endif
#else
#ifdef RGBLED_BOTH
#ifdef RGBLED_CONT
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#define RGBLED_SPLIT { 30, 30 }
#else
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#endif
#else
#ifdef RGBLED_CONT
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT { 6, 6 }
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#endif
#endif
#endif
#ifndef IOS_DEVICE_ENABLE
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 255
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 130
#else
#define RGBLIGHT_LIMIT_VAL 120
@@ -60,10 +60,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 90
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 45
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/25keys/zinc/reva/post_config.h b/keyboards/25keys/zinc/reva/post_config.h
index 3d51de9e4c..42d2d7e46c 100644
--- a/keyboards/25keys/zinc/reva/post_config.h
+++ b/keyboards/25keys/zinc/reva/post_config.h
@@ -24,35 +24,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
#ifdef RGBLED_BACK
#ifdef RGBLED_CONT
- #define RGBLED_NUM 48
+ #define RGBLIGHT_LED_COUNT 48
#define RGBLED_SPLIT { 24, 24 }
#else
- #define RGBLED_NUM 24
+ #define RGBLIGHT_LED_COUNT 24
#endif
#else
#ifdef RGBLED_BOTH
#ifdef RGBLED_CONT
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#define RGBLED_SPLIT { 30, 30 }
#else
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#endif
#else
#ifdef RGBLED_CONT
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT { 6, 6 }
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#endif
#endif
#endif
#ifndef IOS_DEVICE_ENABLE
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 255
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 130
#else
#define RGBLIGHT_LIMIT_VAL 120
@@ -60,10 +60,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 90
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 45
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/3keyecosystem/2key2/2key2.c b/keyboards/3keyecosystem/2key2/2key2.c
deleted file mode 100644
index 11f4b8b217..0000000000
--- a/keyboards/3keyecosystem/2key2/2key2.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2021 John Mueller
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "quantum.h"
-
-// RGB Matrix configuration
-// based on https://docs.qmk.fm/#/feature_rgb_matrix?id=common-configuration
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 0, 1 }
-}, {
- // LED Index to Physical Position
- // Using range { 0..224, 0..64 }
- { 0, 32 }, { 224, 32 }
-}, {
- // LED Index to Flag
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=flags
- LED_FLAG_ALL, LED_FLAG_ALL
-} };
-#endif
diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h
deleted file mode 100644
index 49bd09eb7e..0000000000
--- a/keyboards/3keyecosystem/2key2/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright 2021 John Mueller
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-/* RGB matrix key backlighting */
-#define RGB_MATRIX_LED_COUNT 2
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE
-#define RGB_MATRIX_DEFAULT_HUE 90
-#define RGB_MATRIX_DEFAULT_SPD 20
-#define RGB_MATRIX_DEFAULT_VAL 128
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/3keyecosystem/2key2/info.json b/keyboards/3keyecosystem/2key2/info.json
index 35cc3ee3c4..129662175c 100644
--- a/keyboards/3keyecosystem/2key2/info.json
+++ b/keyboards/3keyecosystem/2key2/info.json
@@ -9,8 +9,64 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "solid_reactive",
+ "hue": 90,
+ "speed": 20,
+ "val": 128
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 32, "flags": 255},
+ {"matrix": [0, 1], "x": 224, "y": 32, "flags": 255}
+ ],
+ "sleep": true
},
+
"matrix_pins": {
"cols": ["F4", "D7"],
"rows": ["F6"]
diff --git a/keyboards/3w6/rev1/matrix.c b/keyboards/3w6/rev1/matrix.c
index 8bb6c77aaa..aa3e43fbe0 100644
--- a/keyboards/3w6/rev1/matrix.c
+++ b/keyboards/3w6/rev1/matrix.c
@@ -70,7 +70,7 @@ uint8_t init_tca9555(void) {
// This means: we will write on pins 0 to 2 on port 1. read rest
0b11111000,
};
- tca9555_status = i2c_writeReg(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT);
+ tca9555_status = i2c_write_register(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT);
return tca9555_status;
}
@@ -189,7 +189,7 @@ static matrix_row_t read_cols(uint8_t row) {
} else {
uint8_t data = 0;
uint8_t ports[2] = {0};
- tca9555_status = i2c_readReg(I2C_ADDR, IREGP0, ports, 2, I2C_TIMEOUT);
+ tca9555_status = i2c_read_register(I2C_ADDR, IREGP0, ports, 2, I2C_TIMEOUT);
if (tca9555_status) { // if there was an error
// do nothing
return 0;
@@ -252,7 +252,7 @@ static void select_row(uint8_t row) {
}
uint8_t ports[2] = {port0, port1};
- tca9555_status = i2c_writeReg(I2C_ADDR, OREGP0, ports, 2, I2C_TIMEOUT);
+ tca9555_status = i2c_write_register(I2C_ADDR, OREGP0, ports, 2, I2C_TIMEOUT);
// Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one.
// Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus.
}
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
index a6661cdc07..0db58bfabd 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
@@ -38,7 +38,7 @@ static uint16_t i2c_timeout_timer;
void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white) {
uint8_t data[] = {0x00, red, green, blue, white};
- i2c_transmit(TRACKBALL_WRITE, data, sizeof(data), I2C_TIMEOUT);
+ i2c_transmit(TRACKBALL_ADDRESS, data, sizeof(data), I2C_TIMEOUT);
}
int16_t mouse_offset(uint8_t positive, uint8_t negative, int16_t scale) {
@@ -120,7 +120,7 @@ bool pointing_device_task(void) {
static uint16_t debounce_timer;
uint8_t state[5] = {};
if (timer_elapsed(i2c_timeout_timer) > I2C_WAITCHECK) {
- if (i2c_readReg(TRACKBALL_WRITE, 0x04, state, 5, I2C_TIMEOUT) == I2C_STATUS_SUCCESS) {
+ if (i2c_read_register(TRACKBALL_ADDRESS, 0x04, state, 5, I2C_TIMEOUT) == I2C_STATUS_SUCCESS) {
if (!state[4] && !debounce) {
if (scrolling) {
#ifdef PIMORONI_TRACKBALL_INVERT_X
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
index cfcd5a47a1..ca2559bec7 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
@@ -20,10 +20,8 @@
#include "pointing_device.h"
#ifndef TRACKBALL_ADDRESS
-# define TRACKBALL_ADDRESS 0x0A
+# define TRACKBALL_ADDRESS (0x0A << 1)
#endif
-#define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE)
-#define TRACKBALL_READ ((TRACKBALL_ADDRESS << 1) | I2C_READ)
void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
void trackball_check_click(bool pressed, report_mouse_t *mouse);
diff --git a/keyboards/3w6/rev2/matrix.c b/keyboards/3w6/rev2/matrix.c
index 49cb09a9f8..da7a5344e5 100644
--- a/keyboards/3w6/rev2/matrix.c
+++ b/keyboards/3w6/rev2/matrix.c
@@ -70,7 +70,7 @@ uint8_t init_tca9555(void) {
// This means: we will write on pins 0 to 3 on port 1. read rest
0b11110000,
};
- tca9555_status = i2c_writeReg(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT);
+ tca9555_status = i2c_write_register(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT);
return tca9555_status;
}
@@ -189,7 +189,7 @@ static matrix_row_t read_cols(uint8_t row) {
} else {
uint8_t data = 0;
uint8_t port0 = 0;
- tca9555_status = i2c_readReg(I2C_ADDR, IREGP0, &port0, 1, I2C_TIMEOUT);
+ tca9555_status = i2c_read_register(I2C_ADDR, IREGP0, &port0, 1, I2C_TIMEOUT);
if (tca9555_status) { // if there was an error
// do nothing
return 0;
@@ -250,7 +250,7 @@ static void select_row(uint8_t row) {
default: break;
}
- tca9555_status = i2c_writeReg(I2C_ADDR, OREGP1, &port1, 1, I2C_TIMEOUT);
+ tca9555_status = i2c_write_register(I2C_ADDR, OREGP1, &port1, 1, I2C_TIMEOUT);
// Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one.
// Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus.
}
diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/config.h b/keyboards/40percentclub/ut47/keymaps/rgb/config.h
index 8dc267380a..d48ee2bf3f 100644
--- a/keyboards/40percentclub/ut47/keymaps/rgb/config.h
+++ b/keyboards/40percentclub/ut47/keymaps/rgb/config.h
@@ -29,4 +29,4 @@
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define WS2812_DI_PIN D3 // The pin the LED strip is connected to
-#define RGBLED_NUM 7 // Number of LEDs in your strip
+#define RGBLIGHT_LED_COUNT 7 // Number of LEDs in your strip
diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c
index 97922e2dbe..02ed88b709 100644
--- a/keyboards/40percentclub/ut47/matrix.c
+++ b/keyboards/40percentclub/ut47/matrix.c
@@ -76,7 +76,7 @@ uint8_t matrix_scan(void)
if (matrix_debouncing[i] != cols) {
matrix_debouncing[i] = cols;
if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
+ dprintf("bounce!: %02X\n", debouncing);
}
debouncing = DEBOUNCE;
}
diff --git a/keyboards/4pplet/perk60_iso/rev_a/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h
index efad0a1718..1aa7587780 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/config.h
+++ b/keyboards/4pplet/perk60_iso/rev_a/config.h
@@ -22,38 +22,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define RGB_MATRIX_LED_COUNT 62
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-
diff --git a/keyboards/4pplet/perk60_iso/rev_a/info.json b/keyboards/4pplet/perk60_iso/rev_a/info.json
index 527f3d5772..06b16d1900 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/info.json
+++ b/keyboards/4pplet/perk60_iso/rev_a/info.json
@@ -9,6 +9,35 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "default": {
+ "val": 80
+ },
"driver": "is31fl3733"
},
"matrix_pins": {
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
index e3b8d71a90..2de3acc60d 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
+++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
@@ -17,75 +17,74 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "rev_a.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_2, J_2, L_2 }, //D402
- { 0, K_3, J_3, L_3 }, //D403
- { 0, K_4, J_4, L_4 }, //D404
- { 0, K_5, J_5, L_5 }, //D405
- { 0, K_6, J_6, L_6 }, //D406
- { 0, K_7, J_7, L_7 }, //D407
- { 0, K_8, J_8, L_8 }, //D408
- { 0, K_9, J_9, L_9 }, //D409
- { 0, K_10, J_10, L_10 }, //D410
- { 0, K_11, J_11, L_11 }, //D411
- { 0, K_12, J_12, L_12 }, //D412
- { 0, K_13, J_13, L_13 }, //D413
- { 0, K_14, J_14, L_14 }, //D414
- { 0, K_15, J_15, L_15 }, //D415
- { 0, K_1, J_1, L_1 }, //D401
- { 0, H_4, G_4, I_4 }, //D420
- { 0, H_5, G_5, I_5 }, //D421
- { 0, H_6, G_6, I_6 }, //D422
- { 0, H_7, G_7, I_7 }, //D423
- { 0, H_8, G_8, I_8 }, //D424
- { 0, H_9, G_9, I_9 }, //D425
- { 0, H_10, G_10, I_10 }, //D426
- { 0, H_11, G_11, I_11 }, //D427
- { 0, H_12, G_12, I_12 }, //D428
- { 0, H_13, G_13, I_13 }, //D429
- { 0, H_14, G_14, I_14 }, //D430
- { 0, H_15, G_15, I_15 }, //D431
- { 0, K_16, J_16, L_16 }, //D416
- { 0, H_2, G_2, I_2 }, //D418
- { 0, H_3, G_3, I_3 }, //D419
- { 0, E_5, D_5, F_5 }, //D437
- { 0, E_6, D_6, F_6 }, //D438
- { 0, E_7, D_7, F_7 }, //D439
- { 0, E_8, D_8, F_8 }, //D440
- { 0, E_9, D_9, F_9 }, //D441
- { 0, E_10, D_10, F_10 }, //D442
- { 0, E_11, D_11, F_11 }, //D443
- { 0, E_12, D_12, F_12 }, //D444
- { 0, E_13, D_13, F_13 }, //D445
- { 0, E_14, D_14, F_14 }, //D446
- { 0, H_16, G_16, I_16 }, //D432
- { 0, H_1, G_1, I_1 }, //D417
- { 0, E_3, D_3, F_3 }, //D435
- { 0, E_4, D_4, F_4 }, //D436
- { 0, B_2, A_2, C_2 }, //D450
- { 0, B_3, A_3, C_3 }, //D451
- { 0, B_4, A_4, C_4 }, //D452
- { 0, B_6, A_6, C_6 }, //D454
- { 0, B_8, A_8, C_8 }, //D456
- { 0, B_9, A_9, C_9 }, //D457
- { 0, B_10, A_10, C_10 }, //D458
- { 0, B_12, A_12, C_12 }, //D460
- { 0, B_13, A_13, C_13 }, //D461
- { 0, E_15, D_15, F_15 }, //D447
- { 0, E_1, D_1, F_1 }, //D433
- { 0, E_2, D_2, F_2 }, //D434
- { 0, B_1, A_1, C_1 }, //D449
- { 0, B_7, A_7, C_7 }, //D455
- { 0, B_11, A_11, C_11 }, //D459
- { 0, B_14, A_14, C_14 }, //D462
- { 0, B_15, A_15, C_15 }, //D463
- { 0, B_16, A_16, C_16 } //D464
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, //D402
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, //D403
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, //D404
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, //D405
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, //D406
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, //D407
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, //D408
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, //D409
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, //D410
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, //D411
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, //D412
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, //D413
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 }, //D414
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 }, //D415
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, //D401
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, //D420
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, //D421
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, //D422
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, //D423
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, //D424
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, //D425
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, //D426
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, //D427
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, //D428
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, //D429
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, //D430
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, //D431
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 }, //D416
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, //D418
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, //D419
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, //D437
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, //D438
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, //D439
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, //D440
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, //D441
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, //D442
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, //D443
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, //D444
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, //D445
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, //D446
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, //D432
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, //D417
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, //D435
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, //D436
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, //D450
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, //D451
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, //D452
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, //D454
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, //D456
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, //D457
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, //D458
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, //D460
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, //D461
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, //D447
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, //D433
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, //D434
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, //D449
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, //D455
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, //D459
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, //D462
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 }, //D463
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 } //D464
};
+#define XXX NO_LED
led_config_t g_led_config = {
{
- #define XXX NO_LED
-
{ 0, 2, 4, 6, 8, 10, 12 },
{ 1, 3, 5, 7, 9, 11, XXX },
{ 14, 16, 18, 20, 22, 24, 26 },
diff --git a/keyboards/7c8/framework/rules.mk b/keyboards/7c8/framework/rules.mk
index 8e856a5336..a9d41f8eff 100644
--- a/keyboards/7c8/framework/rules.mk
+++ b/keyboards/7c8/framework/rules.mk
@@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
AUDIO_ENABLE = no
FAUXCLICKY_ENABLE = no
-LAYOUTS_HAS_RGB = no
ENCODER_ENABLE = yes
LEADER_ENABLE = yes
diff --git a/keyboards/abatskeyboardclub/nayeon/config.h b/keyboards/abatskeyboardclub/nayeon/config.h
deleted file mode 100644
index 7fedf4dce1..0000000000
--- a/keyboards/abatskeyboardclub/nayeon/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2022 Ramon Imbao
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-/* RGB Matrix setup */
-#define RGB_MATRIX_LED_COUNT 2
-#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/abatskeyboardclub/nayeon/info.json b/keyboards/abatskeyboardclub/nayeon/info.json
index 7a3b650ff1..a3fac207f4 100644
--- a/keyboards/abatskeyboardclub/nayeon/info.json
+++ b/keyboards/abatskeyboardclub/nayeon/info.json
@@ -13,7 +13,8 @@
"extrakey": true,
"console": false,
"command": false,
- "nkro": false
+ "nkro": false,
+ "rgb_matrix": true
},
"usb": {
"vid": "0xABA7",
@@ -25,7 +26,11 @@
"driver": "vendor"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8},
+ {"matrix": [0, 15], "x": 211, "y": 0, "flags": 8}
+ ]
},
"processor": "RP2040",
"bootloader": "rp2040",
diff --git a/keyboards/abatskeyboardclub/nayeon/nayeon.c b/keyboards/abatskeyboardclub/nayeon/nayeon.c
index 504df12999..0c559046e9 100644
--- a/keyboards/abatskeyboardclub/nayeon/nayeon.c
+++ b/keyboards/abatskeyboardclub/nayeon/nayeon.c
@@ -16,21 +16,7 @@
#include "quantum.h"
-led_config_t g_led_config = {{
- // Key Matrix to LED Index
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 1, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { 0, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
-}, {
- // LED Index to Physical Position
- { 5, 40 }, { 211, 0 }
-}, {
- // LED Index to Flag
- LED_FLAG_INDICATOR, LED_FLAG_INDICATOR
-}};
+#ifdef RGB_MATRIX_ENABLE
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
@@ -45,3 +31,5 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
return true;
}
+
+#endif
diff --git a/keyboards/abatskeyboardclub/nayeon/rules.mk b/keyboards/abatskeyboardclub/nayeon/rules.mk
index e458f33f3c..6e7633bfe0 100644
--- a/keyboards/abatskeyboardclub/nayeon/rules.mk
+++ b/keyboards/abatskeyboardclub/nayeon/rules.mk
@@ -1,2 +1 @@
-# RGB Matrix
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/abko/ak84bt/ak84bt.c b/keyboards/abko/ak84bt/ak84bt.c
index a51f1f458f..6b87e9bab3 100644
--- a/keyboards/abko/ak84bt/ak84bt.c
+++ b/keyboards/abko/ak84bt/ak84bt.c
@@ -16,95 +16,95 @@
#include QMK_KEYBOARD_H
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- {0, G_1, I_1, H_1},
- {0, G_3, I_3, H_3},
- {0, G_4, I_4, H_4},
- {0, G_5, I_5, H_5},
- {0, G_6, I_6, H_6},
- {0, G_7, I_7, H_7},
- {0, G_8, I_8, H_8},
- {0, G_9, I_9, H_9},
- {0, G_10, I_10, H_10},
- {0, G_11, I_11, H_11},
- {0, G_12, I_12, H_12},
- {0, G_13, I_13, H_13},
- {0, G_14, I_14, H_14},
- {0, G_15, I_15, H_15},
- {0, D_1, F_1, E_1},
- {0, D_2, F_2, E_2},
- {0, D_3, F_3, E_3},
- {0, D_4, F_4, E_4},
- {0, D_5, F_5, E_5},
- {0, D_6, F_6, E_6},
- {0, D_7, F_7, E_7},
- {0, D_8, F_8, E_8},
- {0, D_9, F_9, E_9},
- {0, D_10, F_10, E_10},
- {0, D_11, F_11, E_11},
- {0, D_12, F_12, E_12},
- {0, D_13, F_13, E_13},
- {0, D_14, F_14, E_14},
- {0, D_15, F_15, E_15},
- {0, A_1, C_1, B_1},
- {0, A_2, C_2, B_2},
- {0, A_3, C_3, B_3},
- {0, A_4, C_4, B_4},
- {0, A_5, C_5, B_5},
- {0, A_6, C_6, B_6},
- {0, A_7, C_7, B_7},
- {0, A_8, C_8, B_8},
- {0, A_9, C_9, B_9},
- {0, A_10, C_10, B_10},
- {0, A_11, C_11, B_11},
- {0, A_12, C_12, B_12},
- {0, A_13, C_13, B_13},
- {0, A_14, C_14, B_14},
- {0, A_15, C_15, B_15},
- {1, G_1, I_1, H_1},
- {1, G_2, I_2, H_2},
- {1, G_3, I_3, H_3},
- {1, G_4, I_4, H_4},
- {1, G_5, I_5, H_5},
- {1, G_6, I_6, H_6},
- {1, G_7, I_7, H_7},
- {1, G_8, I_8, H_8},
- {1, G_9, I_9, H_9},
- {1, G_10, I_10, H_10},
- {1, G_11, I_11, H_11},
- {1, G_12, I_12, H_12},
- {1, G_13, I_13, H_13},
- {1, G_14, I_14, H_14},
- {1, G_15, I_15, H_15},
- {1, D_1, F_1, E_1},
- {1, D_2, F_2, E_2},
- {1, D_3, F_3, E_3},
- {1, D_4, F_4, E_4},
- {1, D_5, F_5, E_5},
- {1, D_6, F_6, E_6},
- {1, D_7, F_7, E_7},
- {1, D_8, F_8, E_8},
- {1, D_9, F_9, E_9},
- {1, D_10, F_10, E_10},
- {1, D_11, F_11, E_11},
- {1, D_12, F_12, E_12},
- {1, D_13, F_13, E_13},
- {1, D_14, F_14, E_14},
- {1, D_15, F_15, E_15},
- {1, A_1, C_1, B_1},
- {1, A_2, C_2, B_2},
- {1, A_3, C_3, B_3},
- {1, A_5, C_5, B_5},
- {1, A_6, C_6, B_6},
- {1, A_7, C_7, B_7},
- {1, A_8, C_8, B_8},
- {1, A_9, C_9, B_9},
- {1, A_10, C_10, B_10},
- {1, A_11, C_11, B_11},
- {1, A_12, C_12, B_12},
- {1, A_13, C_13, B_13},
- {1, A_14, C_14, B_14},
- {1, A_15, C_15, B_15},
- {0, G_2, I_2, H_2},
- {1, A_4, C_4, B_4}
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ {0, SW7_CS1, SW9_CS1, SW8_CS1},
+ {0, SW7_CS3, SW9_CS3, SW8_CS3},
+ {0, SW7_CS4, SW9_CS4, SW8_CS4},
+ {0, SW7_CS5, SW9_CS5, SW8_CS5},
+ {0, SW7_CS6, SW9_CS6, SW8_CS6},
+ {0, SW7_CS7, SW9_CS7, SW8_CS7},
+ {0, SW7_CS8, SW9_CS8, SW8_CS8},
+ {0, SW7_CS9, SW9_CS9, SW8_CS9},
+ {0, SW7_CS10, SW9_CS10, SW8_CS10},
+ {0, SW7_CS11, SW9_CS11, SW8_CS11},
+ {0, SW7_CS12, SW9_CS12, SW8_CS12},
+ {0, SW7_CS13, SW9_CS13, SW8_CS13},
+ {0, SW7_CS14, SW9_CS14, SW8_CS14},
+ {0, SW7_CS15, SW9_CS15, SW8_CS15},
+ {0, SW4_CS1, SW6_CS1, SW5_CS1},
+ {0, SW4_CS2, SW6_CS2, SW5_CS2},
+ {0, SW4_CS3, SW6_CS3, SW5_CS3},
+ {0, SW4_CS4, SW6_CS4, SW5_CS4},
+ {0, SW4_CS5, SW6_CS5, SW5_CS5},
+ {0, SW4_CS6, SW6_CS6, SW5_CS6},
+ {0, SW4_CS7, SW6_CS7, SW5_CS7},
+ {0, SW4_CS8, SW6_CS8, SW5_CS8},
+ {0, SW4_CS9, SW6_CS9, SW5_CS9},
+ {0, SW4_CS10, SW6_CS10, SW5_CS10},
+ {0, SW4_CS11, SW6_CS11, SW5_CS11},
+ {0, SW4_CS12, SW6_CS12, SW5_CS12},
+ {0, SW4_CS13, SW6_CS13, SW5_CS13},
+ {0, SW4_CS14, SW6_CS14, SW5_CS14},
+ {0, SW4_CS15, SW6_CS15, SW5_CS15},
+ {0, SW1_CS1, SW3_CS1, SW2_CS1},
+ {0, SW1_CS2, SW3_CS2, SW2_CS2},
+ {0, SW1_CS3, SW3_CS3, SW2_CS3},
+ {0, SW1_CS4, SW3_CS4, SW2_CS4},
+ {0, SW1_CS5, SW3_CS5, SW2_CS5},
+ {0, SW1_CS6, SW3_CS6, SW2_CS6},
+ {0, SW1_CS7, SW3_CS7, SW2_CS7},
+ {0, SW1_CS8, SW3_CS8, SW2_CS8},
+ {0, SW1_CS9, SW3_CS9, SW2_CS9},
+ {0, SW1_CS10, SW3_CS10, SW2_CS10},
+ {0, SW1_CS11, SW3_CS11, SW2_CS11},
+ {0, SW1_CS12, SW3_CS12, SW2_CS12},
+ {0, SW1_CS13, SW3_CS13, SW2_CS13},
+ {0, SW1_CS14, SW3_CS14, SW2_CS14},
+ {0, SW1_CS15, SW3_CS15, SW2_CS15},
+ {1, SW7_CS1, SW9_CS1, SW8_CS1},
+ {1, SW7_CS2, SW9_CS2, SW8_CS2},
+ {1, SW7_CS3, SW9_CS3, SW8_CS3},
+ {1, SW7_CS4, SW9_CS4, SW8_CS4},
+ {1, SW7_CS5, SW9_CS5, SW8_CS5},
+ {1, SW7_CS6, SW9_CS6, SW8_CS6},
+ {1, SW7_CS7, SW9_CS7, SW8_CS7},
+ {1, SW7_CS8, SW9_CS8, SW8_CS8},
+ {1, SW7_CS9, SW9_CS9, SW8_CS9},
+ {1, SW7_CS10, SW9_CS10, SW8_CS10},
+ {1, SW7_CS11, SW9_CS11, SW8_CS11},
+ {1, SW7_CS12, SW9_CS12, SW8_CS12},
+ {1, SW7_CS13, SW9_CS13, SW8_CS13},
+ {1, SW7_CS14, SW9_CS14, SW8_CS14},
+ {1, SW7_CS15, SW9_CS15, SW8_CS15},
+ {1, SW4_CS1, SW6_CS1, SW5_CS1},
+ {1, SW4_CS2, SW6_CS2, SW5_CS2},
+ {1, SW4_CS3, SW6_CS3, SW5_CS3},
+ {1, SW4_CS4, SW6_CS4, SW5_CS4},
+ {1, SW4_CS5, SW6_CS5, SW5_CS5},
+ {1, SW4_CS6, SW6_CS6, SW5_CS6},
+ {1, SW4_CS7, SW6_CS7, SW5_CS7},
+ {1, SW4_CS8, SW6_CS8, SW5_CS8},
+ {1, SW4_CS9, SW6_CS9, SW5_CS9},
+ {1, SW4_CS10, SW6_CS10, SW5_CS10},
+ {1, SW4_CS11, SW6_CS11, SW5_CS11},
+ {1, SW4_CS12, SW6_CS12, SW5_CS12},
+ {1, SW4_CS13, SW6_CS13, SW5_CS13},
+ {1, SW4_CS14, SW6_CS14, SW5_CS14},
+ {1, SW4_CS15, SW6_CS15, SW5_CS15},
+ {1, SW1_CS1, SW3_CS1, SW2_CS1},
+ {1, SW1_CS2, SW3_CS2, SW2_CS2},
+ {1, SW1_CS3, SW3_CS3, SW2_CS3},
+ {1, SW1_CS5, SW3_CS5, SW2_CS5},
+ {1, SW1_CS6, SW3_CS6, SW2_CS6},
+ {1, SW1_CS7, SW3_CS7, SW2_CS7},
+ {1, SW1_CS8, SW3_CS8, SW2_CS8},
+ {1, SW1_CS9, SW3_CS9, SW2_CS9},
+ {1, SW1_CS10, SW3_CS10, SW2_CS10},
+ {1, SW1_CS11, SW3_CS11, SW2_CS11},
+ {1, SW1_CS12, SW3_CS12, SW2_CS12},
+ {1, SW1_CS13, SW3_CS13, SW2_CS13},
+ {1, SW1_CS14, SW3_CS14, SW2_CS14},
+ {1, SW1_CS15, SW3_CS15, SW2_CS15},
+ {0, SW7_CS2, SW9_CS2, SW8_CS2},
+ {1, SW1_CS4, SW3_CS4, SW2_CS4}
};
diff --git a/keyboards/abko/ak84bt/config.h b/keyboards/abko/ak84bt/config.h
index 0a7f31bf7d..6408c97af4 100644
--- a/keyboards/abko/ak84bt/config.h
+++ b/keyboards/abko/ak84bt/config.h
@@ -16,25 +16,5 @@
#pragma once
-
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
-
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 45
-
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
-
-#define ENABLE_RGB_MATRIX_SOLID_COLOR
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
diff --git a/keyboards/abko/ak84bt/info.json b/keyboards/abko/ak84bt/info.json
index 4660fb7024..ff44df60a1 100644
--- a/keyboards/abko/ak84bt/info.json
+++ b/keyboards/abko/ak84bt/info.json
@@ -27,6 +27,20 @@
},
"processor": "STM32F103",
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "hue_wave": true,
+ "pixel_flow": true
+ },
"driver": "is31fl3733",
"layout": [
{"matrix": [0, 0], "x": 7, "y": 2, "flags": 4},
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h
index 0798ffa70b..578a443e88 100644
--- a/keyboards/acheron/apollo/87h/delta/config.h
+++ b/keyboards/acheron/apollo/87h/delta/config.h
@@ -24,63 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define RGB_MATRIX_LED_COUNT 87
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
-
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json
index b5b935ab58..729512839f 100644
--- a/keyboards/acheron/apollo/87h/delta/info.json
+++ b/keyboards/acheron/apollo/87h/delta/info.json
@@ -8,7 +8,56 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 60
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h
index 37c0aaef64..42b27d55ba 100644
--- a/keyboards/acheron/apollo/87h/gamma/config.h
+++ b/keyboards/acheron/apollo/87h/gamma/config.h
@@ -26,57 +26,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// RGB Matrix defines
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-
-#define DRIVER_1_LED_TOTAL 87
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_HUE_WAVE
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c
index 19e9106287..f047db0fea 100644
--- a/keyboards/acheron/apollo/87h/gamma/gamma.c
+++ b/keyboards/acheron/apollo/87h/gamma/gamma.c
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -26,98 +26,98 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
// First row
- {0, CS7_SW9 , CS9_SW9 , CS8_SW9 }, //ESC 0
- {0, CS7_SW8 , CS9_SW8 , CS8_SW8 }, //F1 1
- {0, CS7_SW7 , CS9_SW7 , CS8_SW7 }, //F2 2
- {0, CS7_SW6 , CS9_SW6 , CS8_SW6 }, //F3 3
- {0, CS7_SW5 , CS9_SW5 , CS8_SW5 }, //F4 4
- {0, CS7_SW4 , CS9_SW4 , CS8_SW4 }, //F5 5
- {0, CS7_SW3 , CS9_SW3 , CS8_SW3 }, //F6 6
- {0, CS7_SW2 , CS9_SW2 , CS8_SW2 }, //F7 7
- {0, CS7_SW1 , CS9_SW1 , CS8_SW1 }, //F8 8
- {0, CS18_SW2, CS16_SW2, CS17_SW2 }, //F9 9
- {0, CS18_SW3, CS16_SW3, CS17_SW3 }, //F10 10
- {0, CS18_SW4, CS16_SW4, CS17_SW4 }, //F11 11
- {0, CS18_SW6, CS16_SW6, CS17_SW6 }, //F12 12
- {0, CS18_SW7, CS16_SW7, CS17_SW7 }, //PRI 13
- {0, CS18_SW8, CS16_SW8, CS17_SW8 }, //SCR 14
- {0, CS18_SW9, CS16_SW9, CS17_SW9 }, //PAUS 15
+ {0, SW9_CS7 , SW9_CS9 , SW9_CS8 }, //ESC 0
+ {0, SW8_CS7 , SW8_CS9 , SW8_CS8 }, //F1 1
+ {0, SW7_CS7 , SW7_CS9 , SW7_CS8 }, //F2 2
+ {0, SW6_CS7 , SW6_CS9 , SW6_CS8 }, //F3 3
+ {0, SW5_CS7 , SW5_CS9 , SW5_CS8 }, //F4 4
+ {0, SW4_CS7 , SW4_CS9 , SW4_CS8 }, //F5 5
+ {0, SW3_CS7 , SW3_CS9 , SW3_CS8 }, //F6 6
+ {0, SW2_CS7 , SW2_CS9 , SW2_CS8 }, //F7 7
+ {0, SW1_CS7 , SW1_CS9 , SW1_CS8 }, //F8 8
+ {0, SW2_CS18, SW2_CS16, SW2_CS17 }, //F9 9
+ {0, SW3_CS18, SW3_CS16, SW3_CS17 }, //F10 10
+ {0, SW4_CS18, SW4_CS16, SW4_CS17 }, //F11 11
+ {0, SW6_CS18, SW6_CS16, SW6_CS17 }, //F12 12
+ {0, SW7_CS18, SW7_CS16, SW7_CS17 }, //PRI 13
+ {0, SW8_CS18, SW8_CS16, SW8_CS17 }, //SCR 14
+ {0, SW9_CS18, SW9_CS16, SW9_CS17 }, //PAUS 15
//Second row
- {0, CS12_SW9, CS11_SW9, CS10_SW9 }, //GRAVE 16
- {0, CS12_SW8, CS11_SW8, CS10_SW8 }, //1 17
- {0, CS12_SW7, CS11_SW7, CS10_SW7 }, //2 18
- {0, CS12_SW6, CS11_SW6, CS10_SW6 }, //3 19
- {0, CS12_SW5, CS11_SW5, CS10_SW5 }, //4 20
- {0, CS12_SW4, CS11_SW4, CS10_SW4 }, //5 21
- {0, CS12_SW3, CS11_SW3, CS10_SW3 }, //6 22
- {0, CS12_SW2, CS11_SW2, CS10_SW2 }, //7 23
- {0, CS12_SW1, CS11_SW1, CS10_SW1 }, //8 24
- {0, CS15_SW1, CS13_SW1, CS14_SW1 }, //9 25
- {0, CS15_SW2, CS13_SW2, CS14_SW2 }, //0 26
- {0, CS15_SW3, CS13_SW3, CS14_SW3 }, //MINUS 27
- {0, CS15_SW4, CS13_SW4, CS14_SW4 }, //PLUS 28
- {0, CS15_SW5, CS13_SW5, CS14_SW5 }, //BKSP 29
- {0, CS15_SW7, CS13_SW7, CS14_SW7 }, //INS 30
- {0, CS15_SW8, CS13_SW8, CS14_SW8 }, //HOME 31
- {0, CS15_SW9, CS13_SW9, CS14_SW9 }, //PGUP 32
+ {0, SW9_CS12, SW9_CS11, SW9_CS10 }, //GRAVE 16
+ {0, SW8_CS12, SW8_CS11, SW8_CS10 }, //1 17
+ {0, SW7_CS12, SW7_CS11, SW7_CS10 }, //2 18
+ {0, SW6_CS12, SW6_CS11, SW6_CS10 }, //3 19
+ {0, SW5_CS12, SW5_CS11, SW5_CS10 }, //4 20
+ {0, SW4_CS12, SW4_CS11, SW4_CS10 }, //5 21
+ {0, SW3_CS12, SW3_CS11, SW3_CS10 }, //6 22
+ {0, SW2_CS12, SW2_CS11, SW2_CS10 }, //7 23
+ {0, SW1_CS12, SW1_CS11, SW1_CS10 }, //8 24
+ {0, SW1_CS15, SW1_CS13, SW1_CS14 }, //9 25
+ {0, SW2_CS15, SW2_CS13, SW2_CS14 }, //0 26
+ {0, SW3_CS15, SW3_CS13, SW3_CS14 }, //MINUS 27
+ {0, SW4_CS15, SW4_CS13, SW4_CS14 }, //PLUS 28
+ {0, SW5_CS15, SW5_CS13, SW5_CS14 }, //BKSP 29
+ {0, SW7_CS15, SW7_CS13, SW7_CS14 }, //INS 30
+ {0, SW8_CS15, SW8_CS13, SW8_CS14 }, //HOME 31
+ {0, SW9_CS15, SW9_CS13, SW9_CS14 }, //PGUP 32
//Third row
- {0, CS4_SW9 , CS6_SW9 , CS5_SW9 }, //TAB 33
- {0, CS4_SW8 , CS6_SW8 , CS5_SW8 }, //Q 34
- {0, CS4_SW7 , CS6_SW7 , CS5_SW7 }, //W 35
- {0, CS4_SW6 , CS6_SW6 , CS5_SW6 }, //E 36
- {0, CS4_SW5 , CS6_SW5 , CS5_SW5 }, //R 37
- {0, CS4_SW4 , CS6_SW4 , CS5_SW4 }, //T 38
- {0, CS4_SW3 , CS6_SW3 , CS5_SW3 }, //Y 39
- {0, CS4_SW2 , CS6_SW2 , CS5_SW2 }, //U 40
- {0, CS4_SW1 , CS6_SW1 , CS5_SW1 }, //I 41
- {0, CS3_SW2 , CS1_SW2 , CS2_SW2 }, //O 42
- {0, CS3_SW3 , CS1_SW3 , CS2_SW3 }, //P 43
- {0, CS3_SW4 , CS1_SW4 , CS2_SW4 }, //LBRKT 44
- {0, CS3_SW5 , CS1_SW5 , CS2_SW5 }, //RBRKT 45
- {0, CS3_SW6 , CS1_SW6 , CS2_SW6 }, //BSLS 46
- {0, CS3_SW7 , CS1_SW7 , CS2_SW7 }, //DEL 47
- {0, CS3_SW8 , CS1_SW8 , CS2_SW8 }, //END 48
- {0, CS3_SW9 , CS1_SW9 , CS2_SW9 }, //PGDN 49
+ {0, SW9_CS4 , SW9_CS6 , SW9_CS5 }, //TAB 33
+ {0, SW8_CS4 , SW8_CS6 , SW8_CS5 }, //Q 34
+ {0, SW7_CS4 , SW7_CS6 , SW7_CS5 }, //W 35
+ {0, SW6_CS4 , SW6_CS6 , SW6_CS5 }, //E 36
+ {0, SW5_CS4 , SW5_CS6 , SW5_CS5 }, //R 37
+ {0, SW4_CS4 , SW4_CS6 , SW4_CS5 }, //T 38
+ {0, SW3_CS4 , SW3_CS6 , SW3_CS5 }, //Y 39
+ {0, SW2_CS4 , SW2_CS6 , SW2_CS5 }, //U 40
+ {0, SW1_CS4 , SW1_CS6 , SW1_CS5 }, //I 41
+ {0, SW2_CS3 , SW2_CS1 , SW2_CS2 }, //O 42
+ {0, SW3_CS3 , SW3_CS1 , SW3_CS2 }, //P 43
+ {0, SW4_CS3 , SW4_CS1 , SW4_CS2 }, //LBRKT 44
+ {0, SW5_CS3 , SW5_CS1 , SW5_CS2 }, //RBRKT 45
+ {0, SW6_CS3 , SW6_CS1 , SW6_CS2 }, //BSLS 46
+ {0, SW7_CS3 , SW7_CS1 , SW7_CS2 }, //DEL 47
+ {0, SW8_CS3 , SW8_CS1 , SW8_CS2 }, //END 48
+ {0, SW9_CS3 , SW9_CS1 , SW9_CS2 }, //PGDN 49
//Fourth row
- {0, CS33_SW9, CS32_SW9, CS31_SW9 }, //CAPS 50
- {0, CS33_SW8, CS32_SW8, CS31_SW8 }, //A 51
- {0, CS33_SW7, CS32_SW7, CS31_SW7 }, //S 52
- {0, CS33_SW6, CS32_SW6, CS31_SW6 }, //D 53
- {0, CS33_SW5, CS32_SW5, CS31_SW5 }, //F 54
- {0, CS33_SW4, CS32_SW4, CS31_SW4 }, //G 55
- {0, CS33_SW3, CS32_SW3, CS31_SW3 }, //H 56
- {0, CS33_SW2, CS32_SW2, CS31_SW2 }, //J 57
- {0, CS33_SW1, CS32_SW1, CS31_SW1 }, //K 58
- {0, CS39_SW2, CS38_SW2, CS37_SW2 }, //L 59
- {0, CS39_SW3, CS38_SW3, CS37_SW3 }, //COLON 60
- {0, CS39_SW4, CS38_SW4, CS37_SW4 }, //QUOTE 61
- {0, CS39_SW6, CS38_SW6, CS37_SW6 }, //ENTER 62
+ {0, SW9_CS33, SW9_CS32, SW9_CS31 }, //CAPS 50
+ {0, SW8_CS33, SW8_CS32, SW8_CS31 }, //A 51
+ {0, SW7_CS33, SW7_CS32, SW7_CS31 }, //S 52
+ {0, SW6_CS33, SW6_CS32, SW6_CS31 }, //D 53
+ {0, SW5_CS33, SW5_CS32, SW5_CS31 }, //F 54
+ {0, SW4_CS33, SW4_CS32, SW4_CS31 }, //G 55
+ {0, SW3_CS33, SW3_CS32, SW3_CS31 }, //H 56
+ {0, SW2_CS33, SW2_CS32, SW2_CS31 }, //J 57
+ {0, SW1_CS33, SW1_CS32, SW1_CS31 }, //K 58
+ {0, SW2_CS39, SW2_CS38, SW2_CS37 }, //L 59
+ {0, SW3_CS39, SW3_CS38, SW3_CS37 }, //COLON 60
+ {0, SW4_CS39, SW4_CS38, SW4_CS37 }, //QUOTE 61
+ {0, SW6_CS39, SW6_CS38, SW6_CS37 }, //ENTER 62
//Fifth row
- {0, CS30_SW9, CS28_SW9, CS29_SW9 }, //LSFT 63
- {0, CS30_SW7, CS28_SW7, CS29_SW7 }, //Z 64
- {0, CS30_SW6, CS28_SW6, CS29_SW6 }, //X 65
- {0, CS30_SW5, CS28_SW5, CS29_SW5 }, //C 66
- {0, CS30_SW4, CS28_SW4, CS29_SW4 }, //V 67
- {0, CS30_SW3, CS28_SW3, CS29_SW3 }, //B 68
- {0, CS30_SW2, CS28_SW2, CS29_SW2 }, //N 69
- {0, CS30_SW1, CS28_SW1, CS29_SW1 }, //M 70
- {0, CS36_SW1, CS35_SW1, CS34_SW1 }, //COMMA 71
- {0, CS36_SW3, CS35_SW3, CS34_SW3 }, //DOT 72
- {0, CS36_SW4, CS35_SW4, CS34_SW4 }, //SLASH 73
- {0, CS36_SW6, CS35_SW6, CS34_SW6 }, //RSFT 74
- {0, CS36_SW7, CS35_SW7, CS34_SW7 }, //UP 75
+ {0, SW9_CS30, SW9_CS28, SW9_CS29 }, //LSFT 63
+ {0, SW7_CS30, SW7_CS28, SW7_CS29 }, //Z 64
+ {0, SW6_CS30, SW6_CS28, SW6_CS29 }, //X 65
+ {0, SW5_CS30, SW5_CS28, SW5_CS29 }, //C 66
+ {0, SW4_CS30, SW4_CS28, SW4_CS29 }, //V 67
+ {0, SW3_CS30, SW3_CS28, SW3_CS29 }, //B 68
+ {0, SW2_CS30, SW2_CS28, SW2_CS29 }, //N 69
+ {0, SW1_CS30, SW1_CS28, SW1_CS29 }, //M 70
+ {0, SW1_CS36, SW1_CS35, SW1_CS34 }, //COMMA 71
+ {0, SW3_CS36, SW3_CS35, SW3_CS34 }, //DOT 72
+ {0, SW4_CS36, SW4_CS35, SW4_CS34 }, //SLASH 73
+ {0, SW6_CS36, SW6_CS35, SW6_CS34 }, //RSFT 74
+ {0, SW7_CS36, SW7_CS35, SW7_CS34 }, //UP 75
//Sixth row
- {0, CS27_SW9, CS25_SW9, CS26_SW9 }, //LCTRL 76
- {0, CS27_SW7, CS25_SW7, CS26_SW7 }, //LWIN 77
- {0, CS27_SW6, CS25_SW6, CS26_SW6 }, //LALT 78
- {0, CS27_SW5, CS25_SW5, CS26_SW5 }, //SPACE 79
- {0, CS27_SW3, CS25_SW3, CS26_SW3 }, //RALT 80
- {0, CS24_SW4, CS23_SW4, CS22_SW4 }, //RGUI 81
- {0, CS24_SW5, CS23_SW5, CS22_SW5 }, //MENU 82
- {0, CS24_SW6, CS23_SW6, CS22_SW6 }, //RCTRL 83
- {0, CS24_SW1, CS23_SW1, CS22_SW1 }, //LEFT 84
- {0, CS24_SW2, CS23_SW2, CS22_SW2 }, //DOWN 85
- {0, CS24_SW3, CS23_SW3, CS22_SW3 }, //RIGHT 86
+ {0, SW9_CS27, SW9_CS25, SW9_CS26 }, //LCTRL 76
+ {0, SW7_CS27, SW7_CS25, SW7_CS26 }, //LWIN 77
+ {0, SW6_CS27, SW6_CS25, SW6_CS26 }, //LALT 78
+ {0, SW5_CS27, SW5_CS25, SW5_CS26 }, //SPACE 79
+ {0, SW3_CS27, SW3_CS25, SW3_CS26 }, //RALT 80
+ {0, SW4_CS24, SW4_CS23, SW4_CS22 }, //RGUI 81
+ {0, SW5_CS24, SW5_CS23, SW5_CS22 }, //MENU 82
+ {0, SW6_CS24, SW6_CS23, SW6_CS22 }, //RCTRL 83
+ {0, SW1_CS24, SW1_CS23, SW1_CS22 }, //LEFT 84
+ {0, SW2_CS24, SW2_CS23, SW2_CS22 }, //DOWN 85
+ {0, SW3_CS24, SW3_CS23, SW3_CS22 }, //RIGHT 86
};
diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json
index 0a3b28e31f..150f838c89 100644
--- a/keyboards/acheron/apollo/87h/gamma/info.json
+++ b/keyboards/acheron/apollo/87h/gamma/info.json
@@ -5,7 +5,57 @@
"device_version": "0.0.3"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "hue_wave",
+ "val": 80
+ },
+ "driver": "is31fl3741",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"],
diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h
index e8dd40b32f..578a443e88 100644
--- a/keyboards/acheron/apollo/87htsc/config.h
+++ b/keyboards/acheron/apollo/87htsc/config.h
@@ -24,63 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define RGB_MATRIX_LED_COUNT 86
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
-
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87htsc/info.json b/keyboards/acheron/apollo/87htsc/info.json
index de0388176e..91e2cb320e 100644
--- a/keyboards/acheron/apollo/87htsc/info.json
+++ b/keyboards/acheron/apollo/87htsc/info.json
@@ -12,7 +12,56 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 60
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h
index 0798ffa70b..578a443e88 100644
--- a/keyboards/acheron/apollo/88htsc/config.h
+++ b/keyboards/acheron/apollo/88htsc/config.h
@@ -24,63 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define RGB_MATRIX_LED_COUNT 87
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
-
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/88htsc/info.json b/keyboards/acheron/apollo/88htsc/info.json
index adb2372e60..17c12b3beb 100644
--- a/keyboards/acheron/apollo/88htsc/info.json
+++ b/keyboards/acheron/apollo/88htsc/info.json
@@ -12,7 +12,56 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 60
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/acheron/themis/87h/config.h b/keyboards/acheron/themis/87h/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/87h/config.h
+++ b/keyboards/acheron/themis/87h/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87h/info.json b/keyboards/acheron/themis/87h/info.json
index cbff8f4eec..a7bfb89997 100644
--- a/keyboards/acheron/themis/87h/info.json
+++ b/keyboards/acheron/themis/87h/info.json
@@ -8,9 +8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
@@ -26,6 +28,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/acheron/themis/87htsc/config.h b/keyboards/acheron/themis/87htsc/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/87htsc/config.h
+++ b/keyboards/acheron/themis/87htsc/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87htsc/info.json b/keyboards/acheron/themis/87htsc/info.json
index 5b491690bb..5f38814789 100644
--- a/keyboards/acheron/themis/87htsc/info.json
+++ b/keyboards/acheron/themis/87htsc/info.json
@@ -8,9 +8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
@@ -26,6 +28,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/acheron/themis/88htsc/config.h b/keyboards/acheron/themis/88htsc/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/88htsc/config.h
+++ b/keyboards/acheron/themis/88htsc/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/88htsc/info.json b/keyboards/acheron/themis/88htsc/info.json
index 073a16e946..20b3d38828 100644
--- a/keyboards/acheron/themis/88htsc/info.json
+++ b/keyboards/acheron/themis/88htsc/info.json
@@ -8,9 +8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
@@ -26,6 +28,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h
index 818a8229f5..7f2e9ab6f9 100644
--- a/keyboards/adafruit/macropad/config.h
+++ b/keyboards/adafruit/macropad/config.h
@@ -50,57 +50,3 @@
#define AUDIO_CLICKY
#define SPEAKER_SHUTDOWN GP14
-
-#ifdef RGB_MATRIX_ENABLE
-
- /* RGB Defines */
-# define RGB_MATRIX_LED_COUNT 12
-
- /* Enable Framebuffer and keypress effects */
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json
index bac0061f3e..0facf7e0f6 100644
--- a/keyboards/adafruit/macropad/info.json
+++ b/keyboards/adafruit/macropad/info.json
@@ -14,7 +14,66 @@
]
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [1, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [1, 1], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [1, 2], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 21, "flags": 4},
+ {"matrix": [2, 1], "x": 112, "y": 21, "flags": 4},
+ {"matrix": [2, 2], "x": 224, "y": 21, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 42, "flags": 4},
+ {"matrix": [3, 1], "x": 112, "y": 42, "flags": 4},
+ {"matrix": [3, 2], "x": 224, "y": 42, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [4, 1], "x": 112, "y": 64, "flags": 4},
+ {"matrix": [4, 2], "x": 224, "y": 64, "flags": 4}
+ ]
},
"bootmagic": {
"matrix": [1, 2]
diff --git a/keyboards/adafruit/macropad/macropad.c b/keyboards/adafruit/macropad/macropad.c
index 6661e43909..5c1d2ba593 100644
--- a/keyboards/adafruit/macropad/macropad.c
+++ b/keyboards/adafruit/macropad/macropad.c
@@ -16,31 +16,6 @@
#include "quantum.h"
-#ifdef RGB_MATRIX_ENABLE
-
-#define NA NO_LED
-
-/* RGB Positioning */
-led_config_t g_led_config = { {
- { NA, NA, NA },
- { 0, 1, 2 },
- { 3, 4, 5 },
- { 6, 7, 8 },
- { 9, 10, 11 }
-}, {
- { 0, 0 }, { 112, 0 }, { 224, 0},
- { 0, 21 }, { 112, 21 }, { 224, 21},
- { 0, 42 }, { 112, 42 }, { 224, 42},
- { 0, 64 }, { 112, 64 }, { 224, 64}
-}, {
- 4, 4, 4,
- 4, 4, 4,
- 4, 4, 4,
- 4, 4, 4
-} };
-
-#endif
-
#ifdef AUDIO_ENABLE
void keyboard_pre_init_kb(void) {
// ensure pin is set and enabled pre-audio init
diff --git a/keyboards/adpenrose/akemipad/config.h b/keyboards/adpenrose/akemipad/config.h
index 230453c3a0..8c70779a29 100644
--- a/keyboards/adpenrose/akemipad/config.h
+++ b/keyboards/adpenrose/akemipad/config.h
@@ -8,16 +8,3 @@
#define AUDIO_CLICKY
#define AUDIO_ENABLE_TONE_MULTIPLEXING
#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10
-
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 27
-#define RGB_MATRIX_CENTER { 60, 77 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#ifdef RGB_MATRIX_ENABLE
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#endif
diff --git a/keyboards/adpenrose/akemipad/info.json b/keyboards/adpenrose/akemipad/info.json
index 0484578571..28ac8d6d4c 100644
--- a/keyboards/adpenrose/akemipad/info.json
+++ b/keyboards/adpenrose/akemipad/info.json
@@ -11,7 +11,14 @@
"pin": "F4"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "cycle_left_right": true,
+ "cycle_up_down": true
+ },
+ "center_point": [60, 77],
+ "driver": "ws2812",
+ "max_brightness": 175,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D3", "D2", "F5", "F6", "B2"],
diff --git a/keyboards/adpenrose/mine/config.h b/keyboards/adpenrose/mine/config.h
index cc05ddf8f1..2ddf1c4393 100644
--- a/keyboards/adpenrose/mine/config.h
+++ b/keyboards/adpenrose/mine/config.h
@@ -5,5 +5,3 @@
/* Solenoid pin */
#define SOLENOID_PIN A7
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/adpenrose/mine/info.json b/keyboards/adpenrose/mine/info.json
index 5010485602..79aceaa3d1 100644
--- a/keyboards/adpenrose/mine/info.json
+++ b/keyboards/adpenrose/mine/info.json
@@ -15,6 +15,9 @@
"build": {
"lto": true
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"encoder": {
"rotary": [{ "pin_a": "C4", "pin_b": "C3" }]
},
diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c
index 6fe2d469dc..934553abcf 100644
--- a/keyboards/aeboards/ext65/rev2/rev2.c
+++ b/keyboards/aeboards/ext65/rev2/rev2.c
@@ -17,16 +17,18 @@
#include "quantum.h"
// Tested and verified working on ext65rev2
-void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
+void matrix_io_delay(void) {
+ __asm__ volatile("nop\nnop\nnop\n");
+}
#ifdef OLED_ENABLE
void board_init(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
}
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_90; // rotates the display 90 degrees
+ return OLED_ROTATION_90; // rotates the display 90 degrees
}
void render_layer_state(void) {
@@ -55,26 +57,31 @@ void render_mod_status(uint8_t modifiers) {
}
bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
render_layer_state();
render_keylock_status(host_keyboard_led_state());
- render_mod_status(get_mods()|get_oneshot_mods());
- return false;
+ render_mod_status(get_mods() | get_oneshot_mods());
+ return true;
}
#else
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- setPinOutput(B4);
- setPinOutput(B3);
- setPinOutput(A15);
- setPinOutput(A14);
+void keyboard_pre_init_kb(void) {
+ // Call the keyboard pre init code.
+ // Set our LED pins as output
+ setPinOutput(B4);
+ setPinOutput(B3);
+ setPinOutput(A15);
+ setPinOutput(A14);
+
+ keyboard_pre_init_user();
}
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
- if(res) {
+ if (res) {
writePin(B4, led_state.num_lock);
writePin(B3, led_state.caps_lock);
writePin(A15, led_state.scroll_lock);
@@ -84,14 +91,13 @@ bool led_update_kb(led_t led_state) {
layer_state_t layer_state_set_kb(layer_state_t state) {
switch (get_highest_layer(state)) {
- case 1:
- writePinHigh(A14);
- break;
- default: // for any other layers, or the default layer
- writePinLow(A14);
- break;
- }
+ case 1:
+ writePinHigh(A14);
+ break;
+ default: // for any other layers, or the default layer
+ writePinLow(A14);
+ break;
+ }
return layer_state_set_user(state);
}
#endif
-
diff --git a/keyboards/aeboards/satellite/rev1/config.h b/keyboards/aeboards/satellite/rev1/config.h
index 429bc2af54..06c3464fe4 100644
--- a/keyboards/aeboards/satellite/rev1/config.h
+++ b/keyboards/aeboards/satellite/rev1/config.h
@@ -20,62 +20,4 @@
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 36
-#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#define RGB_MATRIX_LED_COUNT IS31FL3731_LED_COUNT
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define IS31FL3731_LED_COUNT 72
diff --git a/keyboards/aeboards/satellite/rev1/info.json b/keyboards/aeboards/satellite/rev1/info.json
index 4669fca319..68256ed869 100644
--- a/keyboards/aeboards/satellite/rev1/info.json
+++ b/keyboards/aeboards/satellite/rev1/info.json
@@ -9,7 +9,57 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all",
+ "val": 80
+ },
+ "driver": "custom",
+ "sleep": true
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c
index 6727894e06..28ac5ef302 100644
--- a/keyboards/aeboards/satellite/rev1/rev1.c
+++ b/keyboards/aeboards/satellite/rev1/rev1.c
@@ -146,8 +146,8 @@ led_config_t g_led_config = { {
static void init(void) {
i2c_init();
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_1);
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_2);
+ is31fl3731_init(0);
+ is31fl3731_init(1);
for (int index = 0; index < IS31FL3731_LED_COUNT; index++) {
bool enabled = !( ( index == 18+5) || //B5
@@ -157,8 +157,8 @@ static void init(void) {
is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0);
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1);
+ is31fl3731_update_led_control_registers(0);
+ is31fl3731_update_led_control_registers(1);
}
const rgb_matrix_driver_t rgb_matrix_driver = {
diff --git a/keyboards/aidansmithdotdev/sango/config.h b/keyboards/aidansmithdotdev/sango/config.h
new file mode 100644
index 0000000000..13b2c01f3e
--- /dev/null
+++ b/keyboards/aidansmithdotdev/sango/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2024 Aidan Smith <aidan@aidansmith.dev>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define EE_HANDS
diff --git a/keyboards/aidansmithdotdev/sango/info.json b/keyboards/aidansmithdotdev/sango/info.json
new file mode 100644
index 0000000000..6c62ac9bd2
--- /dev/null
+++ b/keyboards/aidansmithdotdev/sango/info.json
@@ -0,0 +1,220 @@
+{
+ "manufacturer": "AidanSmith.dev",
+ "keyboard_name": "aidansmithdotdev/Sango",
+ "Maintainer": "AidanSmith.dev",
+ "bootloader": "rp2040",
+ "bootmagic": {
+ "matrix": [0, 7]
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["GP4", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"],
+ "rows": ["GP7", "GP6", "GP3", "GP2", "GP0"]
+ },
+ "processor": "RP2040",
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "split_count": [36, 36],
+ "layout": [
+ {"matrix": [0, 1], "x": 60, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 40, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 30, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 10, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [1, 7], "x": 0, "y": 10, "flags": 4},
+ {"matrix": [1, 6], "x": 10, "y": 10, "flags": 4},
+ {"matrix": [1, 5], "x": 20, "y": 10, "flags": 4},
+ {"matrix": [1, 4], "x": 30, "y": 10, "flags": 4},
+ {"matrix": [1, 3], "x": 40, "y": 10, "flags": 4},
+ {"matrix": [1, 2], "x": 50, "y": 10, "flags": 4},
+ {"matrix": [1, 1], "x": 60, "y": 10, "flags": 4},
+ {"matrix": [2, 0], "x": 70, "y": 20, "flags": 4},
+ {"matrix": [2, 1], "x": 60, "y": 20, "flags": 4},
+ {"matrix": [2, 2], "x": 50, "y": 20, "flags": 4},
+ {"matrix": [2, 3], "x": 40, "y": 20, "flags": 4},
+ {"matrix": [2, 4], "x": 30, "y": 20, "flags": 4},
+ {"matrix": [2, 5], "x": 20, "y": 20, "flags": 4},
+ {"matrix": [2, 6], "x": 10, "y": 20, "flags": 4},
+ {"matrix": [2, 7], "x": 0, "y": 20, "flags": 4},
+ {"matrix": [3, 7], "x": 0, "y": 30, "flags": 4},
+ {"matrix": [3, 6], "x": 10, "y": 30, "flags": 4},
+ {"matrix": [3, 5], "x": 20, "y": 30, "flags": 4},
+ {"matrix": [3, 4], "x": 30, "y": 30, "flags": 4},
+ {"matrix": [3, 3], "x": 40, "y": 30, "flags": 4},
+ {"matrix": [3, 2], "x": 50, "y": 30, "flags": 4},
+ {"matrix": [3, 1], "x": 60, "y": 30, "flags": 4},
+ {"matrix": [3, 0], "x": 70, "y": 30, "flags": 4},
+ {"matrix": [4, 0], "x": 70, "y": 30, "flags": 4},
+ {"matrix": [4, 1], "x": 60, "y": 30, "flags": 4},
+ {"matrix": [4, 2], "x": 50, "y": 30, "flags": 4},
+ {"matrix": [4, 5], "x": 20, "y": 30, "flags": 4},
+ {"matrix": [4, 6], "x": 10, "y": 30, "flags": 4},
+ {"matrix": [4, 7], "x": 0, "y": 30, "flags": 4},
+ {"matrix": [5, 1], "x": 100, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 110, "y": 0, "flags": 4},
+ {"matrix": [5, 3], "x": 120, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 130, "y": 0, "flags": 4},
+ {"matrix": [5, 5], "x": 140, "y": 0, "flags": 4},
+ {"matrix": [5, 6], "x": 150, "y": 0, "flags": 4},
+ {"matrix": [5, 7], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [6, 7], "x": 160, "y": 10, "flags": 4},
+ {"matrix": [6, 6], "x": 150, "y": 10, "flags": 4},
+ {"matrix": [6, 5], "x": 140, "y": 10, "flags": 4},
+ {"matrix": [6, 4], "x": 130, "y": 10, "flags": 4},
+ {"matrix": [6, 3], "x": 120, "y": 10, "flags": 4},
+ {"matrix": [6, 2], "x": 110, "y": 10, "flags": 4},
+ {"matrix": [6, 1], "x": 100, "y": 10, "flags": 4},
+ {"matrix": [7, 0], "x": 90, "y": 20, "flags": 4},
+ {"matrix": [7, 1], "x": 100, "y": 20, "flags": 4},
+ {"matrix": [7, 2], "x": 110, "y": 20, "flags": 4},
+ {"matrix": [7, 3], "x": 120, "y": 20, "flags": 4},
+ {"matrix": [7, 4], "x": 130, "y": 20, "flags": 4},
+ {"matrix": [7, 5], "x": 140, "y": 20, "flags": 4},
+ {"matrix": [7, 6], "x": 150, "y": 20, "flags": 4},
+ {"matrix": [7, 7], "x": 160, "y": 20, "flags": 4},
+ {"matrix": [8, 7], "x": 160, "y": 30, "flags": 4},
+ {"matrix": [8, 6], "x": 150, "y": 30, "flags": 4},
+ {"matrix": [8, 5], "x": 140, "y": 30, "flags": 4},
+ {"matrix": [8, 4], "x": 130, "y": 30, "flags": 4},
+ {"matrix": [8, 3], "x": 120, "y": 30, "flags": 4},
+ {"matrix": [8, 2], "x": 110, "y": 30, "flags": 4},
+ {"matrix": [8, 1], "x": 100, "y": 30, "flags": 4},
+ {"matrix": [8, 0], "x": 90, "y": 30, "flags": 4},
+ {"matrix": [9, 0], "x": 90, "y": 30, "flags": 4},
+ {"matrix": [9, 1], "x": 100, "y": 30, "flags": 4},
+ {"matrix": [9, 2], "x": 110, "y": 30, "flags": 4},
+ {"matrix": [9, 5], "x": 140, "y": 30, "flags": 4},
+ {"matrix": [9, 6], "x": 150, "y": 30, "flags": 4},
+ {"matrix": [9, 7], "x": 160, "y": 30, "flags": 4}
+ ]
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "brightness_steps": 8,
+ "max_brightness": 128,
+ "saturation_steps": 8,
+ "split": true,
+ "split_count": [36, 36]
+ },
+ "split": {
+ "bootmagic": {
+ "matrix": [4, 7]
+ },
+ "enabled": true,
+ "main": "matrix_grid",
+ "matrix_pins": {
+ "right": {
+ "cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"],
+ "rows": ["GP2", "GP3", "GP4", "GP5", "GP6"]
+ }
+ },
+ "soft_serial_pin": "GP1"
+ },
+ "url": "https://aidansmith.dev",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x2567",
+ "vid": "0xA059"
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP10"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "L07", "matrix": [0, 7], "x": 0, "y": 0.3},
+ {"label": "L06", "matrix": [0, 6], "x": 1, "y": 0.3},
+ {"label": "L05", "matrix": [0, 5], "x": 2, "y": 0.3},
+ {"label": "L04", "matrix": [0, 4], "x": 3, "y": 0.1},
+ {"label": "L03", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "L02", "matrix": [0, 2], "x": 5, "y": 0.1},
+ {"label": "L01", "matrix": [0, 1], "x": 6, "y": 0.2},
+ {"label": "R01", "matrix": [5, 1], "x": 10, "y": 0.2},
+ {"label": "R02", "matrix": [5, 2], "x": 11, "y": 0.1},
+ {"label": "R03", "matrix": [5, 3], "x": 12, "y": 0},
+ {"label": "R04", "matrix": [5, 4], "x": 13, "y": 0.1},
+ {"label": "R05", "matrix": [5, 5], "x": 14, "y": 0.3},
+ {"label": "R06", "matrix": [5, 6], "x": 15, "y": 0.3},
+ {"label": "R07", "matrix": [5, 7], "x": 16, "y": 0.3},
+ {"label": "L17", "matrix": [1, 7], "x": 0, "y": 1.3},
+ {"label": "L16", "matrix": [1, 6], "x": 1, "y": 1.3},
+ {"label": "L15", "matrix": [1, 5], "x": 2, "y": 1.3},
+ {"label": "L14", "matrix": [1, 4], "x": 3, "y": 1.1},
+ {"label": "L13", "matrix": [1, 3], "x": 4, "y": 1},
+ {"label": "L12", "matrix": [1, 2], "x": 5, "y": 1.1},
+ {"label": "L11", "matrix": [1, 1], "x": 6, "y": 1.2},
+ {"label": "R11", "matrix": [6, 1], "x": 10, "y": 1.2},
+ {"label": "R12", "matrix": [6, 2], "x": 11, "y": 1.1},
+ {"label": "R13", "matrix": [6, 3], "x": 12, "y": 1},
+ {"label": "R14", "matrix": [6, 4], "x": 13, "y": 1.1},
+ {"label": "R15", "matrix": [6, 5], "x": 14, "y": 1.3},
+ {"label": "R16", "matrix": [6, 6], "x": 15, "y": 1.3},
+ {"label": "R17", "matrix": [6, 7], "x": 16, "y": 1.3},
+ {"label": "L27", "matrix": [2, 7], "x": 0, "y": 2.3},
+ {"label": "L26", "matrix": [2, 6], "x": 1, "y": 2.3},
+ {"label": "L25", "matrix": [2, 5], "x": 2, "y": 2.3},
+ {"label": "L24", "matrix": [2, 4], "x": 3, "y": 2.1},
+ {"label": "L23", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "L22", "matrix": [2, 2], "x": 5, "y": 2.1},
+ {"label": "L21", "matrix": [2, 1], "x": 6, "y": 2.2},
+ {"label": "L20", "matrix": [2, 0], "x": 7, "y": 2.7},
+ {"label": "R20", "matrix": [7, 0], "x": 9, "y": 2.7},
+ {"label": "R21", "matrix": [7, 1], "x": 10, "y": 2.2},
+ {"label": "R22", "matrix": [7, 2], "x": 11, "y": 2.1},
+ {"label": "R23", "matrix": [7, 3], "x": 12, "y": 2},
+ {"label": "R24", "matrix": [7, 4], "x": 13, "y": 2.1},
+ {"label": "R25", "matrix": [7, 5], "x": 14, "y": 2.3},
+ {"label": "R26", "matrix": [7, 6], "x": 15, "y": 2.3},
+ {"label": "R27", "matrix": [7, 7], "x": 16, "y": 2.3},
+ {"label": "L37", "matrix": [3, 7], "x": 0, "y": 3.3},
+ {"label": "L36", "matrix": [3, 6], "x": 1, "y": 3.3},
+ {"label": "L35", "matrix": [3, 5], "x": 2, "y": 3.3},
+ {"label": "L34", "matrix": [3, 4], "x": 3, "y": 3.1},
+ {"label": "L33", "matrix": [3, 3], "x": 4, "y": 3},
+ {"label": "L32", "matrix": [3, 2], "x": 5, "y": 3.1},
+ {"label": "L31", "matrix": [3, 1], "x": 6, "y": 3.2},
+ {"label": "L30", "matrix": [3, 0], "x": 7, "y": 3.7},
+ {"label": "R30", "matrix": [8, 0], "x": 9, "y": 3.7},
+ {"label": "R31", "matrix": [8, 1], "x": 10, "y": 3.2},
+ {"label": "R32", "matrix": [8, 2], "x": 11, "y": 3.1},
+ {"label": "R33", "matrix": [8, 3], "x": 12, "y": 3},
+ {"label": "R34", "matrix": [8, 4], "x": 13, "y": 3.1},
+ {"label": "R35", "matrix": [8, 5], "x": 14, "y": 3.3},
+ {"label": "R36", "matrix": [8, 6], "x": 15, "y": 3.3},
+ {"label": "R37", "matrix": [8, 7], "x": 16, "y": 3.3},
+ {"label": "L47", "matrix": [4, 7], "x": 0, "y": 3.3},
+ {"label": "L46", "matrix": [4, 6], "x": 1, "y": 3.3},
+ {"label": "L45", "matrix": [4, 5], "x": 2, "y": 3.3},
+ {"label": "L42", "matrix": [4, 2], "x": 5, "y": 3.1},
+ {"label": "L41", "matrix": [4, 1], "x": 6, "y": 3.2},
+ {"label": "L40", "matrix": [4, 0], "x": 7, "y": 3.7},
+ {"label": "R40", "matrix": [9, 0], "x": 9, "y": 3.7},
+ {"label": "R41", "matrix": [9, 1], "x": 10, "y": 3.2},
+ {"label": "R42", "matrix": [9, 2], "x": 11, "y": 3.1},
+ {"label": "R45", "matrix": [9, 5], "x": 14, "y": 3.3},
+ {"label": "R46", "matrix": [9, 6], "x": 15, "y": 3.3},
+ {"label": "R47", "matrix": [9, 7], "x": 16, "y": 3.3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c b/keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a1730a7f86
--- /dev/null
+++ b/keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2024 Aidan Smith <aidan@aidansmith.dev>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+};
+
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL ,
+ KC_DEL , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC ,
+ KC_PGUP , KC_LCAP , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LCBR , KC_RCBR , 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_LBRC , KC_RBRC , KC_N , KC_M , KC_DOT , KC_COMM , KC_SLSH , KC_UP , KC_BSLS ,
+ KC_LCTL , KC_LGUI , KC_LALT , KC_LCTL , KC_LALT , KC_BSPC , KC_SPC , KC_RGUI , KC_RALT , KC_LEFT , KC_DOWN , KC_RGHT
+ )
+};
diff --git a/keyboards/aidansmithdotdev/sango/readme.md b/keyboards/aidansmithdotdev/sango/readme.md
new file mode 100644
index 0000000000..415e21add4
--- /dev/null
+++ b/keyboards/aidansmithdotdev/sango/readme.md
@@ -0,0 +1,19 @@
+# Sango
+
+![aidansmithdotdev/sango](https://i.imgur.com/NzvLxqyh.jpg)
+
+An open source 65%ish split columnar low profile keyboard.
+
+* Keyboard Maintainer: [Aidan Smith](https://github.com/Aidan-OS)
+* Hardware Supported: Sango
+* Hardware Availability: https://github.com/Aidan-OS/Sango
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aidansmithdotdev/sango:default
+
+Flashing example for this keyboard:
+
+ make aidansmithdotdev/sango:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/aidansmithdotdev/sango/rules.mk b/keyboards/aidansmithdotdev/sango/rules.mk
new file mode 100644
index 0000000000..743228e94b
--- /dev/null
+++ b/keyboards/aidansmithdotdev/sango/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c
index 4d6cf94900..7dd614b456 100644
--- a/keyboards/akko/5087/5087.c
+++ b/keyboards/akko/5087/5087.c
@@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -25,103 +25,103 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
/*row0*/
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
- {1, A_15, B_15, C_15},
- {1, A_16, B_16, C_16},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB1_CA15, CB2_CA15, CB3_CA15},
+ {1, CB1_CA16, CB2_CA16, CB3_CA16},
/*row1*/
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
/*row2*/
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
/*row3*/
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
/*row4*/
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, J_4, K_4, L_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
/*row5*/
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/akko/5087/config.h b/keyboards/akko/5087/config.h
index 3a6b7030ee..ceb9872738 100644
--- a/keyboards/akko/5087/config.h
+++ b/keyboards/akko/5087/config.h
@@ -16,7 +16,6 @@
#pragma once
-
/* LED Indicators */
#define LED_MAC_OS_PIN C10
#define LED_WIN_LOCK_PIN C11
@@ -36,16 +35,8 @@
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
/* I2C Config for LED Driver */
-#define DRIVER_COUNT 2
-#define DRIVER_ADDR_1 0b1110100
-#define DRIVER_ADDR_2 0b1110111
+#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
+#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
+
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-
-#define RGB_MATRIX_LED_COUNT 87
-
-#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
diff --git a/keyboards/akko/5087/info.json b/keyboards/akko/5087/info.json
index 1b4059b0d5..67ea54c169 100644
--- a/keyboards/akko/5087/info.json
+++ b/keyboards/akko/5087/info.json
@@ -40,7 +40,7 @@
"caps_lock": "A15"
},
"rgb_matrix": {
- "driver": "ckled2001",
+ "driver": "snled27351",
"max_brightness": 180,
"animations": {
"breathing": true,
@@ -155,7 +155,9 @@
{ "flags": 4, "matrix": [5, 15], "x":210, "y": 64},
{ "flags": 4, "matrix": [5, 16], "x":224, "y": 64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"community_layouts": ["tkl_ansi"],
"layouts": {
diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c
index 91f53e1e55..91526289b6 100644
--- a/keyboards/akko/5108/5108.c
+++ b/keyboards/akko/5108/5108.c
@@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
@@ -25,124 +25,124 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
/*row0*/
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
- {1, A_15, B_15, C_15},
- {1, A_16, B_16, C_16},
- {1, D_11, E_11, F_11},
- {1, D_12, E_12, F_12},
- {1, D_13, E_13, F_13},
- {1, D_14, E_14, F_14},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB1_CA15, CB2_CA15, CB3_CA15},
+ {1, CB1_CA16, CB2_CA16, CB3_CA16},
+ {1, CB4_CA11, CB5_CA11, CB6_CA11},
+ {1, CB4_CA12, CB5_CA12, CB6_CA12},
+ {1, CB4_CA13, CB5_CA13, CB6_CA13},
+ {1, CB4_CA14, CB5_CA14, CB6_CA14},
/*row1*/
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1 },
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
- {1, D_4, E_4, F_4},
- {1, D_5, E_5, F_5},
- {1, D_6, E_6, F_6},
- {1, D_7, E_7, F_7},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1 },
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
/*row2*/
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, D_8, E_8, F_8},
- {1, D_9, E_9, F_9},
- {1, D_10, E_10, F_10},
- {1, G_7, H_7, I_7},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB4_CA8, CB5_CA8, CB6_CA8},
+ {1, CB4_CA9, CB5_CA9, CB6_CA9},
+ {1, CB4_CA10, CB5_CA10, CB6_CA10},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
/*row3*/
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
- {1, G_6, H_6, I_6},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
/*row4*/
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, J_4, K_4, L_4},
- {1, J_7, K_7, L_7},
- {1, J_8, K_8, L_8},
- {1, J_9, K_9, L_9},
- {1, J_10, K_10, L_10},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA8, CB11_CA8, CB12_CA8},
+ {1, CB10_CA9, CB11_CA9, CB12_CA9},
+ {1, CB10_CA10, CB11_CA10, CB12_CA10},
/*row5*/
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_5, K_5, L_5},
- {1, J_6, K_6, L_6},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
};
#endif
diff --git a/keyboards/akko/5108/config.h b/keyboards/akko/5108/config.h
index 7154ce44d2..6a509733d6 100644
--- a/keyboards/akko/5108/config.h
+++ b/keyboards/akko/5108/config.h
@@ -40,10 +40,4 @@
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define RGB_MATRIX_LED_COUNT 108
-
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/akko/5108/info.json b/keyboards/akko/5108/info.json
index 662a949a53..5e97d151c3 100644
--- a/keyboards/akko/5108/info.json
+++ b/keyboards/akko/5108/info.json
@@ -176,7 +176,9 @@
{ "flags": 4, "matrix": [5, 16], "x": 176, "y": 64 },
{ "flags": 4, "matrix": [5, 18], "x": 199, "y": 64 },
{ "flags": 4, "matrix": [5, 19], "x": 214, "y": 64 }
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/akko/acr87/acr87.c b/keyboards/akko/acr87/acr87.c
index 7ee9ec6470..e2ed06a0e8 100644
--- a/keyboards/akko/acr87/acr87.c
+++ b/keyboards/akko/acr87/acr87.c
@@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
@@ -25,160 +25,160 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
/*row0*/
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
- {1, A_15, B_15, C_15},
- {1, A_16, B_16, C_16},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB1_CA15, CB2_CA15, CB3_CA15},
+ {1, CB1_CA16, CB2_CA16, CB3_CA16},
/*row1*/
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
/*row2*/
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
/*row3*/
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
/*row4*/
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, J_4, K_4, L_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
/*row5*/
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
-
- {2, J_12, K_12, L_12},
- {2, J_11, K_11, L_11},
- {2, J_10, K_10, L_10},
- {2, J_9, K_9, L_9},
- {2, J_8, K_8, L_8},
- {2, J_7, K_7, L_7},
- {2, J_6, K_6, L_6},
- {2, J_5, K_5, L_5},
- {2, J_4, K_4, L_4},
- {2, J_3, K_3, L_3},
- {2, J_2, K_2, L_2},
- {2, J_1, K_1, L_1},
- {2, G_12, H_12, I_12},
- {2, G_11, H_11, I_11},
- {2, G_10, H_10, I_10},
- {2, G_9, H_9, I_9},
-
- {2, A_1, B_1, C_1},
- {2, G_8, H_8, I_8},
-
- {2, A_2, B_2, C_2},
- {2, G_7, H_7, I_7},
-
- {2, A_3, B_3, C_3},
- {2, G_6, H_6, I_6},
-
- {2, A_4, B_4, C_4},
- {2, G_5, H_5, I_5},
-
- {2, A_5, B_5, C_5},
- {2, G_4, H_4, I_4},
-
- {2, A_6, B_6, C_6},
- {2, G_3, H_3, I_3},
-
- {2, A_7, B_7, C_7},
- {2, G_2, H_2, I_2},
-
- {2, A_8, B_8, C_8},
- {2, A_9, B_9, C_9},
- {2, A_10, B_10, C_10},
- {2, A_11, B_11, C_11},
- {2, A_12, B_12, C_12},
- {2, D_1, E_1, F_1},
- {2, D_2, E_2, F_2},
- {2, D_3, E_3, F_3},
- {2, D_4, E_4, F_4},
- {2, D_5, E_5, F_5},
- {2, D_6, E_6, F_6},
- {2, D_7, E_7, F_7},
- {2, D_8, E_8, F_8},
- {2, D_9, E_9, F_9},
- {2, D_10, E_10, F_10},
- {2, D_11, E_11, F_11},
- {2, D_12, E_12, F_12},
- {2, G_1, H_1, I_1},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+
+ {2, CB10_CA12, CB11_CA12, CB12_CA12},
+ {2, CB10_CA11, CB11_CA11, CB12_CA11},
+ {2, CB10_CA10, CB11_CA10, CB12_CA10},
+ {2, CB10_CA9, CB11_CA9, CB12_CA9},
+ {2, CB10_CA8, CB11_CA8, CB12_CA8},
+ {2, CB10_CA7, CB11_CA7, CB12_CA7},
+ {2, CB10_CA6, CB11_CA6, CB12_CA6},
+ {2, CB10_CA5, CB11_CA5, CB12_CA5},
+ {2, CB10_CA4, CB11_CA4, CB12_CA4},
+ {2, CB10_CA3, CB11_CA3, CB12_CA3},
+ {2, CB10_CA2, CB11_CA2, CB12_CA2},
+ {2, CB10_CA1, CB11_CA1, CB12_CA1},
+ {2, CB7_CA12, CB8_CA12, CB9_CA12},
+ {2, CB7_CA11, CB8_CA11, CB9_CA11},
+ {2, CB7_CA10, CB8_CA10, CB9_CA10},
+ {2, CB7_CA9, CB8_CA9, CB9_CA9},
+
+ {2, CB1_CA1, CB2_CA1, CB3_CA1},
+ {2, CB7_CA8, CB8_CA8, CB9_CA8},
+
+ {2, CB1_CA2, CB2_CA2, CB3_CA2},
+ {2, CB7_CA7, CB8_CA7, CB9_CA7},
+
+ {2, CB1_CA3, CB2_CA3, CB3_CA3},
+ {2, CB7_CA6, CB8_CA6, CB9_CA6},
+
+ {2, CB1_CA4, CB2_CA4, CB3_CA4},
+ {2, CB7_CA5, CB8_CA5, CB9_CA5},
+
+ {2, CB1_CA5, CB2_CA5, CB3_CA5},
+ {2, CB7_CA4, CB8_CA4, CB9_CA4},
+
+ {2, CB1_CA6, CB2_CA6, CB3_CA6},
+ {2, CB7_CA3, CB8_CA3, CB9_CA3},
+
+ {2, CB1_CA7, CB2_CA7, CB3_CA7},
+ {2, CB7_CA2, CB8_CA2, CB9_CA2},
+
+ {2, CB1_CA8, CB2_CA8, CB3_CA8},
+ {2, CB1_CA9, CB2_CA9, CB3_CA9},
+ {2, CB1_CA10, CB2_CA10, CB3_CA10},
+ {2, CB1_CA11, CB2_CA11, CB3_CA11},
+ {2, CB1_CA12, CB2_CA12, CB3_CA12},
+ {2, CB4_CA1, CB5_CA1, CB6_CA1},
+ {2, CB4_CA2, CB5_CA2, CB6_CA2},
+ {2, CB4_CA3, CB5_CA3, CB6_CA3},
+ {2, CB4_CA4, CB5_CA4, CB6_CA4},
+ {2, CB4_CA5, CB5_CA5, CB6_CA5},
+ {2, CB4_CA6, CB5_CA6, CB6_CA6},
+ {2, CB4_CA7, CB5_CA7, CB6_CA7},
+ {2, CB4_CA8, CB5_CA8, CB6_CA8},
+ {2, CB4_CA9, CB5_CA9, CB6_CA9},
+ {2, CB4_CA10, CB5_CA10, CB6_CA10},
+ {2, CB4_CA11, CB5_CA11, CB6_CA11},
+ {2, CB4_CA12, CB5_CA12, CB6_CA12},
+ {2, CB7_CA1, CB8_CA1, CB9_CA1},
};
// clang-format on
diff --git a/keyboards/akko/acr87/config.h b/keyboards/akko/acr87/config.h
index 4c1fb9afa1..cdc4b6011a 100644
--- a/keyboards/akko/acr87/config.h
+++ b/keyboards/akko/acr87/config.h
@@ -39,10 +39,4 @@
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define RGB_MATRIX_LED_COUNT 135
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/akko/acr87/info.json b/keyboards/akko/acr87/info.json
index 5ccb0c3f73..2702ee7915 100644
--- a/keyboards/akko/acr87/info.json
+++ b/keyboards/akko/acr87/info.json
@@ -200,7 +200,9 @@
{"flags": 2, "x":196, "y":64},
{"flags": 2, "x":210, "y":64},
{"flags": 2, "x":224, "y":64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/akko/top40/config.h b/keyboards/akko/top40/config.h
index 1d601a189c..a23cf6db92 100644
--- a/keyboards/akko/top40/config.h
+++ b/keyboards/akko/top40/config.h
@@ -37,11 +37,4 @@
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define RGB_MATRIX_LED_COUNT 76
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
#define RGB_TRIGGER_ON_KEYDOWN
-
diff --git a/keyboards/akko/top40/info.json b/keyboards/akko/top40/info.json
index 243952ccc8..183c9242f4 100644
--- a/keyboards/akko/top40/info.json
+++ b/keyboards/akko/top40/info.json
@@ -139,7 +139,9 @@
{"flags": 2, "x":185, "y":64},
{"flags": 2, "x":205, "y":64},
{"flags": 2, "x":224, "y":64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/akko/top40/top40.c b/keyboards/akko/top40/top40.c
index 028e4bdd05..565dfb77c6 100644
--- a/keyboards/akko/top40/top40.c
+++ b/keyboards/akko/top40/top40.c
@@ -17,97 +17,97 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_5, K_5, L_5},
- {0, J_7, K_7, L_7},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, J_7, K_7, L_7},
- {1, J_6, K_6, L_6},
- {1, J_5, K_5, L_5},
- {1, J_4, K_4, L_4},
- {1, J_3, K_3, L_3},
- {1, J_2, K_2, L_2},
- {1, J_1, K_1, L_1},
- {1, G_8, H_8, I_8},
- {1, G_7, H_7, I_7},
- {1, G_6, H_6, I_6},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB7_CA8, CB8_CA8, CB9_CA8},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
- {1, A_4, B_4, C_4},
- {1, G_5, H_5, I_5},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
- {1, A_5, B_5, C_5},
- {1, G_4, H_4, I_4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
- {1, A_6, B_6, C_6},
- {1, G_3, H_3, I_3},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, D_1, E_1, F_1},
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
- {1, D_4, E_4, F_4},
- {1, D_5, E_5, F_5},
- {1, D_6, E_6, F_6},
- {1, D_7, E_7, F_7},
- {1, D_8, E_8, F_8},
- {1, G_2, H_2, I_2},
- {1, G_1, H_1, I_1},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
+ {1, CB4_CA8, CB5_CA8, CB6_CA8},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
};
diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/aleblazer/zodiark/config.h
index d765afd355..8230f082b3 100644
--- a/keyboards/aleblazer/zodiark/config.h
+++ b/keyboards/aleblazer/zodiark/config.h
@@ -17,11 +17,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 68
-#define RGB_MATRIX_SPLIT { 34, 34 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/info.json
index c7c5b9a8a8..a66b5188b6 100644
--- a/keyboards/aleblazer/zodiark/info.json
+++ b/keyboards/aleblazer/zodiark/info.json
@@ -32,9 +32,11 @@
},
"rgb_matrix": {
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
- "val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "split_count": [34, 34],
+ "val_steps": 8
},
"matrix_pins": {
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
diff --git a/keyboards/aliceh66/pianoforte/config.h b/keyboards/aliceh66/pianoforte/config.h
index 91e0225569..ff87862693 100644
--- a/keyboards/aliceh66/pianoforte/config.h
+++ b/keyboards/aliceh66/pianoforte/config.h
@@ -17,11 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-
diff --git a/keyboards/aliceh66/pianoforte_hs/config.h b/keyboards/aliceh66/pianoforte_hs/config.h
index 91e0225569..ff87862693 100644
--- a/keyboards/aliceh66/pianoforte_hs/config.h
+++ b/keyboards/aliceh66/pianoforte_hs/config.h
@@ -17,11 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-
diff --git a/keyboards/alpaca/wfeclipse/info.json b/keyboards/alpaca/wfeclipse/info.json
index 47288bb190..da0ebe388a 100644
--- a/keyboards/alpaca/wfeclipse/info.json
+++ b/keyboards/alpaca/wfeclipse/info.json
@@ -30,7 +30,6 @@
"gradient_up_down": true,
"hue_wave": true,
"pixel_fractal": true,
- "solid_color": true,
"solid_reactive_simple": true,
"solid_splash": true
},
diff --git a/keyboards/amjkeyboard/amj96/matrix.c b/keyboards/amjkeyboard/amj96/matrix.c
index 2999c6241b..7faf40d4fe 100644
--- a/keyboards/amjkeyboard/amj96/matrix.c
+++ b/keyboards/amjkeyboard/amj96/matrix.c
@@ -88,7 +88,7 @@ uint8_t matrix_scan(void)
if (matrix_debouncing[i] != cols) {
matrix_debouncing[i] = cols;
if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
+ dprintf("bounce!: %02X\n", debouncing);
}
debouncing = DEBOUNCE;
}
diff --git a/keyboards/an_achronism/tetromino/config.h b/keyboards/an_achronism/tetromino/config.h
index e543d7ae24..c7087edb88 100644
--- a/keyboards/an_achronism/tetromino/config.h
+++ b/keyboards/an_achronism/tetromino/config.h
@@ -16,8 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
-#define RGB_MATRIX_LED_COUNT 70
/* disable debug print */
//#define NO_DEBUG
diff --git a/keyboards/anavi/arrows/config.h b/keyboards/anavi/arrows/config.h
index 02e7781e57..59b2a11aae 100644
--- a/keyboards/anavi/arrows/config.h
+++ b/keyboards/anavi/arrows/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
/* Double tap reset button to enter bootloader */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
diff --git a/keyboards/anavi/arrows/info.json b/keyboards/anavi/arrows/info.json
index bdda15695a..48dae7b2ea 100644
--- a/keyboards/anavi/arrows/info.json
+++ b/keyboards/anavi/arrows/info.json
@@ -35,6 +35,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"ws2812": {
diff --git a/keyboards/anavi/knob1/config.h b/keyboards/anavi/knob1/config.h
index 338f5d8dbe..07cea802b3 100644
--- a/keyboards/anavi/knob1/config.h
+++ b/keyboards/anavi/knob1/config.h
@@ -3,14 +3,11 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE 9
-
/* Double tap reset button to enter bootloader */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-
#define I2C_DRIVER I2CD1
#define I2C1_SDA_PIN GP6
#define I2C1_SCL_PIN GP7
diff --git a/keyboards/anavi/knob1/info.json b/keyboards/anavi/knob1/info.json
index 06acec583f..551d059bad 100644
--- a/keyboards/anavi/knob1/info.json
+++ b/keyboards/anavi/knob1/info.json
@@ -17,9 +17,6 @@
"rgblight": {
"led_count": 1,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
- "max_brightness": 255,
"animations": {
"alternating": true,
"breathing": true,
@@ -31,6 +28,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"ws2812": {
diff --git a/keyboards/anavi/macropad12/config.h b/keyboards/anavi/macropad12/config.h
index 02e7781e57..59b2a11aae 100644
--- a/keyboards/anavi/macropad12/config.h
+++ b/keyboards/anavi/macropad12/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
/* Double tap reset button to enter bootloader */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
diff --git a/keyboards/anavi/macropad12/info.json b/keyboards/anavi/macropad12/info.json
index f0f6d6ca60..3a1a07a0a1 100644
--- a/keyboards/anavi/macropad12/info.json
+++ b/keyboards/anavi/macropad12/info.json
@@ -34,6 +34,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"ws2812": {
diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h
index f488b9d8f3..9ffce91957 100644
--- a/keyboards/annepro2/c15/config.h
+++ b/keyboards/annepro2/c15/config.h
@@ -18,7 +18,6 @@
#pragma once
#include "pin_defs.h"
-#include "config_led.h"
// key matrix size
#define MATRIX_ROWS 5
diff --git a/keyboards/annepro2/c15/info.json b/keyboards/annepro2/c15/info.json
index b7624dd6c5..b92b446e4e 100644
--- a/keyboards/annepro2/c15/info.json
+++ b/keyboards/annepro2/c15/info.json
@@ -1,7 +1,7 @@
{
"keyboard_name": "Anne Pro 2 C15 (QMK)",
"usb": {
- "pid": "0xAC15"
+ "pid": "0x8008"
},
"eeprom": {
"driver": "wear_leveling",
@@ -11,7 +11,116 @@
}
},
"rgb_matrix": {
- "driver": "custom"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "custom",
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 178, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 194, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 218, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4},
+ {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 57, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 73, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4},
+ {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4},
+ {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4},
+ {"matrix": [1, 11], "x": 186, "y": 16, "flags": 4},
+ {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4},
+ {"matrix": [1, 13], "x": 222, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4},
+ {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4},
+ {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4},
+ {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4},
+ {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4},
+ {"matrix": [2, 12], "x": 216, "y": 32, "flags": 4},
+ {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4},
+ {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4},
+ {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4},
+ {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4},
+ {"matrix": [3, 11], "x": 182, "y": 48, "flags": 4},
+ {"matrix": [3, 12], "x": 212, "y": 48, "flags": 1},
+ {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 22, "y": 64, "flags": 1},
+ {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4},
+ {"matrix": [4, 9], "x": 163, "y": 64, "flags": 1},
+ {"matrix": [4, 10], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [4, 11], "x": 204, "y": 64, "flags": 1},
+ {"matrix": [4, 12], "x": 224, "y": 64, "flags": 1}
+ ],
+ "led_flush_limit": 40
},
"community_layouts": ["60_ansi"]
}
diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk
index 8694893ac2..374d844338 100644
--- a/keyboards/annepro2/c15/rules.mk
+++ b/keyboards/annepro2/c15/rules.mk
@@ -22,22 +22,12 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
# Custom RGB matrix handling
RGB_MATRIX_ENABLE = yes
# Keys
CUSTOM_MATRIX = lite
-KEY_LOCK_ENABLE = no
-
-# Other features
-RAW_ENABLE = no
-MIDI_ENABLE = no
-VIRTSER_ENABLE = no
-COMBO_ENABLE = no
# Anne Pro 2
SRC = \
@@ -46,4 +36,3 @@ SRC = \
ap2_led.c \
protocol.c \
rgb_driver.c \
- config_led.c
diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h
index 36f4a25c8d..7010f19a3f 100644
--- a/keyboards/annepro2/c18/config.h
+++ b/keyboards/annepro2/c18/config.h
@@ -18,7 +18,6 @@
#pragma once
#include "pin_defs.h"
-#include "config_led.h"
// key matrix size
#define MATRIX_ROWS 5
diff --git a/keyboards/annepro2/c18/info.json b/keyboards/annepro2/c18/info.json
index c8f524e3cf..390dd81941 100644
--- a/keyboards/annepro2/c18/info.json
+++ b/keyboards/annepro2/c18/info.json
@@ -1,7 +1,7 @@
{
"keyboard_name": "Anne Pro 2 C18 (QMK)",
"usb": {
- "pid": "0xAC18"
+ "pid": "0x8009"
},
"eeprom": {
"driver": "wear_leveling",
@@ -11,7 +11,116 @@
}
},
"rgb_matrix": {
- "driver": "custom"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "custom",
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 178, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 194, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 218, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4},
+ {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 57, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 73, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4},
+ {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4},
+ {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4},
+ {"matrix": [1, 11], "x": 186, "y": 16, "flags": 4},
+ {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4},
+ {"matrix": [1, 13], "x": 222, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4},
+ {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4},
+ {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4},
+ {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4},
+ {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4},
+ {"matrix": [2, 12], "x": 216, "y": 32, "flags": 4},
+ {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4},
+ {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4},
+ {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4},
+ {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4},
+ {"matrix": [3, 11], "x": 182, "y": 48, "flags": 4},
+ {"matrix": [3, 12], "x": 212, "y": 48, "flags": 1},
+ {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 22, "y": 64, "flags": 1},
+ {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4},
+ {"matrix": [4, 9], "x": 163, "y": 64, "flags": 1},
+ {"matrix": [4, 10], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [4, 11], "x": 204, "y": 64, "flags": 1},
+ {"matrix": [4, 12], "x": 224, "y": 64, "flags": 1}
+ ],
+ "led_flush_limit": 40
},
"community_layouts": ["60_ansi", "60_iso"]
}
diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk
index dab7269570..2c9a9077da 100644
--- a/keyboards/annepro2/c18/rules.mk
+++ b/keyboards/annepro2/c18/rules.mk
@@ -22,22 +22,12 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
# Custom RGB matrix handling
RGB_MATRIX_ENABLE = yes
# Keys
CUSTOM_MATRIX = lite
-KEY_LOCK_ENABLE = no
-
-# Other features
-RAW_ENABLE = no
-MIDI_ENABLE = no
-VIRTSER_ENABLE = no
-COMBO_ENABLE = no
# Anne Pro 2
SRC = \
@@ -46,4 +36,3 @@ SRC = \
ap2_led.c \
protocol.c \
rgb_driver.c \
- config_led.c
diff --git a/keyboards/annepro2/config_led.c b/keyboards/annepro2/config_led.c
deleted file mode 100644
index efa68dff3d..0000000000
--- a/keyboards/annepro2/config_led.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef RGB_MATRIX_ENABLE
-
-#include "rgb_matrix.h"
-#include "config_led.h"
-
-#define NA NO_LED
-
-led_config_t g_led_config = { {
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 },
- { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 },
- { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NA },
- { 41, NA, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NA },
- { 53, NA, 54, 55, NA, NA, 56, NA, NA, 57, 58, 59, 60, NA }
-}, {
- { 0 , 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 65, 0 }, { 81, 0 }, { 97 , 0 }, { 113, 0 }, { 129, 0 }, { 145, 0 }, { 161, 0 }, { 178, 0 }, { 194, 0 }, { 218, 0 },
- { 4 , 16 }, { 24, 16 }, { 40, 16 }, { 57, 16 }, { 73, 16 }, { 89, 16 }, { 105, 16 }, { 121, 16 }, { 137, 16 }, { 153, 16 }, { 170, 16 }, { 186, 16 }, { 202, 16 }, { 222, 16 },
- { 6 , 32 }, { 28, 32 }, { 44, 32 }, { 61, 32 }, { 77, 32 }, { 93, 32 }, { 109, 32 }, { 125, 32 }, { 141, 32 }, { 157, 32 }, { 174, 32 }, { 190, 32 }, { 216, 32 },
- { 10, 48 }, { 36, 48 }, { 52, 48 }, { 69, 48 }, { 85, 48 }, { 101, 48 }, { 117, 48 }, { 133, 48 }, { 149, 48 }, { 165, 48 }, { 182, 48 }, { 212, 48 },
- { 2 , 64 }, { 22, 64 }, { 42, 64 }, { 103, 64 }, { 163, 64 }, { 184, 64 }, { 204, 64 }, { 224, 64 },
-}, {
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 1, 1, 4, 1, 1, 1, 1,
-} };
-#endif
diff --git a/keyboards/annepro2/config_led.h b/keyboards/annepro2/config_led.h
deleted file mode 100644
index 12ccd995ad..0000000000
--- a/keyboards/annepro2/config_led.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_MATRIX_LED_COUNT 61
-
-/* Limit animations to 25 FPS to avoid tearing. (1/.040 = 25 FPS). */
-#define RGB_MATRIX_LED_FLUSH_LIMIT 40
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/annepro2/info.json b/keyboards/annepro2/info.json
index a24479a9fa..d06fe5bed4 100644
--- a/keyboards/annepro2/info.json
+++ b/keyboards/annepro2/info.json
@@ -3,7 +3,7 @@
"url": "https://openannepro.github.io/",
"maintainer": "bwisn",
"usb": {
- "vid": "0xFEED",
+ "vid": "0xAC20",
"device_version": "13.3.7"
},
"layouts": {
diff --git a/keyboards/arabica37/keymaps/default/config.h b/keyboards/arabica37/keymaps/default/config.h
index 57ce4cc0c1..5654f4daf4 100644
--- a/keyboards/arabica37/keymaps/default/config.h
+++ b/keyboards/arabica37/keymaps/default/config.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 170
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -42,7 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 50
+#define RGBLIGHT_LED_COUNT 50
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/argyle/matrix.c b/keyboards/argyle/matrix.c
index 7430c6d9d8..d723392a01 100644
--- a/keyboards/argyle/matrix.c
+++ b/keyboards/argyle/matrix.c
@@ -78,9 +78,9 @@ static void init_pins(void) {
unselect_rows();
// Set I/O
uint8_t send_data = 0xFF;
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
// Set Pull-up
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
@@ -111,7 +111,7 @@ static bool matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t curre
matrix_output_select_delay();
uint8_t port_expander_buffer;
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &port_expander_buffer, 1, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &port_expander_buffer, 1, 20);
// For each col...
// matrix_row_t row_shifter = MATRIX_ROW_SHIFTER;
diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h
index c6e12504a3..374119935e 100644
--- a/keyboards/atlantis/ak81_ve/config.h
+++ b/keyboards/atlantis/ak81_ve/config.h
@@ -22,52 +22,4 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
#define RGB_MATRIX_LED_COUNT 96
-#define RGB_MATRIX_DEFAULT_HUE 170
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
-#define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-#define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-#define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-#define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
-#define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/atlantis/ak81_ve/info.json b/keyboards/atlantis/ak81_ve/info.json
index 1a2d1eebe1..a6b78bb5a8 100644
--- a/keyboards/atlantis/ak81_ve/info.json
+++ b/keyboards/atlantis/ak81_ve/info.json
@@ -9,7 +9,56 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "hue": 170
+ },
+ "driver": "ws2812",
+ "max_brightness": 130,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"],
diff --git a/keyboards/atlantis/ps17/config.h b/keyboards/atlantis/ps17/config.h
index a41720aeb5..8b2691b751 100644
--- a/keyboards/atlantis/ps17/config.h
+++ b/keyboards/atlantis/ps17/config.h
@@ -7,46 +7,3 @@
#define LED_INDICATOR_0_PIN D0
#define LED_INDICATOR_1_PIN D5
#define LED_INDICATOR_2_PIN D4
-
-/* RGB matrix */
-#define RGB_MATRIX_LED_COUNT 28
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#ifdef RGB_MATRIX_ENABLE
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- // #define ENABLE_RGB_MATRIX_BREATHING
- // #define ENABLE_RGB_MATRIX_BAND_SAT
- // #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- // #define ENABLE_RGB_MATRIX_RAINDROPS
- // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- // #define ENABLE_RGB_MATRIX_HUE_BREATHING
- // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- // #define ENABLE_RGB_MATRIX_HUE_WAVE
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#endif
diff --git a/keyboards/atlantis/ps17/info.json b/keyboards/atlantis/ps17/info.json
index 5a85dec5b4..ac8f979d39 100644
--- a/keyboards/atlantis/ps17/info.json
+++ b/keyboards/atlantis/ps17/info.json
@@ -64,6 +64,12 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "cycle_all": true,
+ "cycle_pinwheel": true,
+ "rainbow_beacon": true,
+ "pixel_rain": true
+ },
"driver": "ws2812",
"center_point": [126, 126],
"layout": [
@@ -96,6 +102,7 @@
{"flags": 2, "x": 192, "y": 87},
{"flags": 2, "x": 183, "y": 26},
{"flags": 2, "x": 127, "y": 24}
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h
index 02077e05a7..2c238e3854 100644
--- a/keyboards/axolstudio/yeti/hotswap/config.h
+++ b/keyboards/axolstudio/yeti/hotswap/config.h
@@ -17,50 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* RGB Matrix */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_SOLID_COLOR
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 64
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c
index 527bec17ee..df64c80953 100644
--- a/keyboards/axolstudio/yeti/hotswap/hotswap.c
+++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c
@@ -17,75 +17,75 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
- { 0, B_15, A_15, C_15 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 0, E_15, D_15, F_15 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_13, G_13, I_13 },
- { 0, H_14, G_14, I_14 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
- { 0, K_1, J_1, L_1 },
- { 0, K_16, J_16, L_16 },
- { 0, H_16, G_16, I_16 },
- { 0, E_16, D_16, F_16 },
- { 0, B_16, A_16, C_16 },
- { 0, H_15, G_15, I_15 },
- { 0, K_15, J_15, L_15 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
};
led_config_t g_led_config = {
diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json
index 9b782c88c9..d89d690360 100644
--- a/keyboards/axolstudio/yeti/hotswap/info.json
+++ b/keyboards/axolstudio/yeti/hotswap/info.json
@@ -9,7 +9,42 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "breathing": true,
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "multisplash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/aya/keymaps/default/config.h b/keyboards/aya/keymaps/default/config.h
deleted file mode 100644
index 6e57fd6499..0000000000
--- a/keyboards/aya/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Dan Nixon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/bajjak/bajjak.c b/keyboards/bajjak/bajjak.c
index 74e2b2aa8c..e6102e817b 100644
--- a/keyboards/bajjak/bajjak.c
+++ b/keyboards/bajjak/bajjak.c
@@ -137,23 +137,16 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b01111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
+ uint8_t data[] = {0b00000000, 0b00111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, 2, BAJJAK_EZ_I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, 2, BAJJAK_EZ_I2C_TIMEOUT);
+ }
#ifdef LEFT_LEDS
if (!mcp23018_status) mcp23018_status = bajjak_left_leds_update();
@@ -176,21 +169,11 @@ uint8_t bajjak_left_leds_update(void) {
// - unused : hi-Z : 1
// - input : hi-Z : 1
// - driving : hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(OLATA, BAJJAK_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111
- & ~(bajjak_left_led_1<<LEFT_LED_1_SHIFT),
- BAJJAK_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111
- & ~(bajjak_left_led_2<<LEFT_LED_2_SHIFT),
- BAJJAK_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
-
- out:
- i2c_stop();
+ uint8_t data[2];
+ data[0] = 0b11111111 & ~(bajjak_left_led_1<<LEFT_LED_1_SHIFT);
+ data[1] = 0b11111111 & ~(bajjak_left_led_2<<LEFT_LED_2_SHIFT);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, OLATA, data, 2, BAJJAK_EZ_I2C_TIMEOUT);
+
return mcp23018_status;
}
#endif
diff --git a/keyboards/bajjak/bajjak.h b/keyboards/bajjak/bajjak.h
index 52f14ad3ea..c2d2d77ef6 100644
--- a/keyboards/bajjak/bajjak.h
+++ b/keyboards/bajjak/bajjak.h
@@ -27,9 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "i2c_master.h"
// I2C aliases and register addresses (see "mcp23018.md")
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0b0100000<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/bajjak/matrix.c b/keyboards/bajjak/matrix.c
index 20fc3c8f23..424bc29e4e 100644
--- a/keyboards/bajjak/matrix.c
+++ b/keyboards/bajjak/matrix.c
@@ -145,12 +145,7 @@ static matrix_row_t read_cols(uint8_t row) {
uint8_t data = 0;
// reading GPIOB (column port) since in mcp23018's sequential mode
// it is addressed directly after writing to GPIOA in select_row()
- mcp23018_status = i2c_start(I2C_ADDR_READ, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
+ mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, BAJJAK_EZ_I2C_TIMEOUT);
return data;
}
} else {
@@ -195,11 +190,10 @@ static void select_row(uint8_t row) {
if (!mcp23018_status) {
// set active row low : 0
// set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0xFF & ~(1 << row), BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data;
+ data = 0xFF & ~(1 << row);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, BAJJAK_EZ_I2C_TIMEOUT);
+
}
} else {
// select on teensy
diff --git a/keyboards/bandominedoni/bandominedoni.c b/keyboards/bandominedoni/bandominedoni.c
index 47be95a62b..2884e41c9c 100644
--- a/keyboards/bandominedoni/bandominedoni.c
+++ b/keyboards/bandominedoni/bandominedoni.c
@@ -97,11 +97,11 @@ static enum { UNKNOWN, LEFT, RIGHT } hand_side = UNKNOWN;
hand_side = readPin(SPLIT_HAND_PIN) ? LEFT : RIGHT;
return (hand_side == LEFT);
#elif defined(SPLIT_HAND_MATRIX_GRID)
-# ifdef SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
- hand_side = peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID) ? LEFT : RIGHT;
+# ifdef SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
+ hand_side = peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID) ? RIGHT : LEFT;
return (hand_side == LEFT);
# else
- hand_side = peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID) ? RIGHT : LEFT;
+ hand_side = peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID) ? LEFT : RIGHT;
return (hand_side == LEFT);
# endif
#elif defined(EE_HANDS)
diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h
index 7dfa48fbd4..ecab8fc61f 100644
--- a/keyboards/bandominedoni/config.h
+++ b/keyboards/bandominedoni/config.h
@@ -19,23 +19,16 @@
#ifndef MASTER_RIGHT
// SPLIT_HAND_MATRIX_GRID was initially designed to use with left hand side diode D35 mounted and not pressing K7 on the right hand side during boot. However when a USB cable is reconnected immediately, it fails. Decided to use "MASTER_RIGHT" to make it more reliable.
# define SPLIT_HAND_MATRIX_GRID B5, D0
+# define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
#endif
#define SPLIT_USB_DETECT
#ifdef RGB_MATRIX_ENABLE
-
-/* ws2812 RGB MATRIX */
-# define RGB_MATRIX_LED_COUNT 76
-
- // reacts to keypresses
-# define RGB_MATRIX_KEYPRESSES
-
// for all fingers used at once.
# define LED_HITS_TO_REMEMBER 10
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-// the above brighness setting has no effect on rgb_matrix_set_color().
+// the max brightness setting has no effect on rgb_matrix_set_color().
// Use darker colors instead.
/* RGB darker COLORS */
# define RGB_DARKWHITE 0x33, 0x33, 0x33
@@ -58,8 +51,6 @@
# define RGB_DARKPINK 0x33, 0x19, 0x26
// https://docs.qmk.fm/#/feature_rgb_matrix
-// Enable suspend mode.
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true
# ifdef CONSOLE_ENABLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
@@ -84,7 +75,7 @@
// RAINDROPS don't match well with layer LED indicator (oc) using rgb_matrix_set_color().
// #define ENABLE_RGB_MATRIX_RAINDROPS
// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// Recommendend not to use these.
+// Recommended not to use these.
# ifndef VIA_ENABLE
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BAND_VAL
diff --git a/keyboards/bandominedoni/info.json b/keyboards/bandominedoni/info.json
index aa5b2f9a2f..deea0f3e5e 100644
--- a/keyboards/bandominedoni/info.json
+++ b/keyboards/bandominedoni/info.json
@@ -9,7 +9,9 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 50,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D1", "E6", "F7", "B1", "B3", "B2", "D0"],
diff --git a/keyboards/barleycorn_smd/matrix.c b/keyboards/barleycorn_smd/matrix.c
index b717452f3d..315093c8a9 100644
--- a/keyboards/barleycorn_smd/matrix.c
+++ b/keyboards/barleycorn_smd/matrix.c
@@ -42,9 +42,9 @@ static void init_pins(void) {
unselect_rows();
// Set I/O
uint8_t send_data[2] = { 0xFF, 0x03};
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20);
// Set Pull-up
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20);
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if ( x < 8 ) {
@@ -75,7 +75,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
matrix_io_delay();
uint8_t port_expander_col_buffer[2];
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20);
// For each col...
for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h
index 341f6f03e0..584a6e4bfc 100644
--- a/keyboards/basekeys/trifecta/config.h
+++ b/keyboards/basekeys/trifecta/config.h
@@ -16,75 +16,8 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 80
-
/* 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
-
-/* EEPROM for via */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-//# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-
-/* Disable the animations you don't want/need. You will need to disable a good number of these *
- * because they take up a lot of space. Disable until you can successfully compile your firmware. */
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/basekeys/trifecta/info.json b/keyboards/basekeys/trifecta/info.json
index 338eb1ae90..d9afe40a0c 100644
--- a/keyboards/basekeys/trifecta/info.json
+++ b/keyboards/basekeys/trifecta/info.json
@@ -46,11 +46,57 @@
"rgb_matrix": {
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 150,
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "layouts": {
+ "layouts": {
"LAYOUT": {
"layout": [
{"matrix": [1, 0], "x": 0, "y": 0},
diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h
index e373627d51..1c952759a7 100644
--- a/keyboards/bastardkb/charybdis/3x5/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/config.h
@@ -20,10 +20,3 @@
/* Trackball angle adjustment. */
#define ROTATIONAL_TRANSFORM_ANGLE -25
-
-/* RGB settings. */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 36
-# define RGB_MATRIX_SPLIT \
- { 18, 18 }
-#endif
diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json
index cc233f3568..9627b9852f 100644
--- a/keyboards/bastardkb/charybdis/3x5/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/info.json
@@ -5,6 +5,9 @@
"pid": "0x1832",
"vid": "0xA8F8"
},
+ "rgb_matrix": {
+ "split_count": [18, 18]
+ },
"layout_aliases": {
"LAYOUT_charybdis_3x5": "LAYOUT"
},
diff --git a/keyboards/bastardkb/charybdis/3x6/config.h b/keyboards/bastardkb/charybdis/3x6/config.h
index ba729aee3e..1c952759a7 100644
--- a/keyboards/bastardkb/charybdis/3x6/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/config.h
@@ -20,10 +20,3 @@
/* Trackball angle adjustment. */
#define ROTATIONAL_TRANSFORM_ANGLE -25
-
-/* RGB settings. */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 42
-# define RGB_MATRIX_SPLIT \
- { 21, 21 }
-#endif
diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json
index 787e3bdf14..3597e72534 100644
--- a/keyboards/bastardkb/charybdis/3x6/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/info.json
@@ -3,10 +3,13 @@
"usb": {
"pid": "0x1834"
},
+ "rgb_matrix": {
+ "split_count": [21, 21]
+ },
"layout_aliases": {
"LAYOUT_charybdis_3x6": "LAYOUT"
},
- "layouts": {
+ "layouts": {
"LAYOUT": {
"layout": [
{"label": "L00", "matrix": [0, 0], "x": 0, "y": 0},
diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h
index 64b5158698..1c952759a7 100644
--- a/keyboards/bastardkb/charybdis/4x6/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/config.h
@@ -20,10 +20,3 @@
/* Trackball angle adjustment. */
#define ROTATIONAL_TRANSFORM_ANGLE -25
-
-/* RGB settings. */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 58
-# define RGB_MATRIX_SPLIT \
- { 29, 29 }
-#endif
diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json
index 8259e96141..54bb564306 100644
--- a/keyboards/bastardkb/charybdis/4x6/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/info.json
@@ -5,6 +5,9 @@
"pid": "0x1833",
"vid": "0xA8F8"
},
+ "rgb_matrix": {
+ "split_count": [29, 29]
+ },
"layout_aliases": {
"LAYOUT_charybdis_4x6": "LAYOUT"
},
diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h
index 2cd4394da0..32ab7b0ebb 100644
--- a/keyboards/bastardkb/charybdis/config.h
+++ b/keyboards/bastardkb/charybdis/config.h
@@ -18,7 +18,6 @@
#pragma once
-
/* Pointing device configuration. */
// Enable use of pointing device on slave split.
@@ -35,21 +34,6 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-
-// Startup values.
-# define RGB_MATRIX_DEFAULT_VAL 64
-
-// Rainbow swirl as startup mode.
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-# define RGB_MATRIX_DEFAULT_SPD 32
-
# ifndef __arm__
// Disable control of RGB matrix by keycodes (must use firmware implementation
// to control the feature).
diff --git a/keyboards/bastardkb/charybdis/info.json b/keyboards/bastardkb/charybdis/info.json
new file mode 100644
index 0000000000..6a4ed7c9f7
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/info.json
@@ -0,0 +1,19 @@
+{
+ "rgb_matrix": {
+ "animations": {
+ "cycle_left_right": true
+ },
+ "default": {
+ "speed": 32,
+ "val": 64
+ },
+ "sleep": true
+ },
+ "split": {
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
index b9787f473e..0a5ba15181 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
@@ -2,6 +2,7 @@
* Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Publicw License as published by
@@ -19,65 +20,74 @@
#include "quantum.h"
-/**
- * LEDs index.
- *
- * ╭────────────────────╮ ╭────────────────────╮
- * 2 3 8 9 12 30 27 26 21 20
- * ├────────────────────┤ ├────────────────────┤
- * 1 4 7 10 13 31 28 25 22 19
- * ├────────────────────┤ ├────────────────────┤
- * 0 5 6 11 14 32 29 24 23 18
- * ╰────────────────────╯ ╰────────────────────╯
- * 15 16 17 35 34 33
- * ╰────────────╯ ╰────────────╯
- */
-// clang-format off
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ switch (index) {
+ case 0: // Left-half encoder, mouse scroll.
+ tap_code(clockwise ? KC_MS_WH_UP : KC_MS_WH_DOWN);
+ break;
+ case 1: // Right-half encoder, volume control.
+ tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN);
+ break;
+ }
+ return true;
+}
+#endif // ENCODER_ENABLE
+
#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- /* Key Matrix to LED index. */
- // Left split.
- { 2, 3, 8, 9, 12 }, // Top row
- { 1, 4, 7, 10, 13 }, // Middle row
- { 0, 5, 6, 11, 14 }, // Bottom row
- { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster
- // Right split.
- { 20, 21, 26, 27, 30 }, // Top row
- { 19, 22, 25, 28, 31 }, // Middle row
- { 18, 23, 24, 29, 32 }, // Bottom row
- { 35, NO_LED, 33, 34, NO_LED }, // Thumb cluster
-}, {
- /* LED index to physical position. */
- // Left split.
- /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most)
- /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2
- /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 },
- /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 },
- /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 },
- /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster
- // Right split.
- /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most)
- /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9
- /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 },
- /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 },
- /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 },
- /* index=33 */ { 152, 64 }, { 134, 64 }, { 116, 64 }, // Thumb cluster
-}, {
- /* LED index to flag. */
- // Left split.
- /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1
- /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2
- /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster
- // Right split.
- /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10
- /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9
- /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=33 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster
-} };
-#endif
-// clang-format on
+// Layer state indicator
+bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; }
+ if (host_keyboard_led_state().caps_lock) {
+ for (int i = led_min; i <= led_max; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
+ rgb_matrix_set_color(i, MIN(rgb_matrix_get_val() + 76, 255), 0x00, 0x00);
+ }
+ }
+ }
+
+ uint8_t layer = get_highest_layer(layer_state);
+ if (layer > 0) {
+ HSV hsv = rgb_matrix_get_hsv();
+ switch (get_highest_layer(layer_state)) {
+ case 1:
+ hsv = (HSV){HSV_BLUE};
+ break;
+ case 2:
+ hsv = (HSV){HSV_AZURE};
+ break;
+ case 3:
+ hsv = (HSV){HSV_ORANGE};
+ break;
+ case 4:
+ hsv = (HSV){HSV_GREEN};
+ break;
+ case 5:
+ hsv = (HSV){HSV_TEAL};
+ break;
+ case 6:
+ hsv = (HSV){HSV_PURPLE};
+ break;
+ case 7:
+ default:
+ hsv = (HSV){HSV_RED};
+ break;
+ };
+
+ if (hsv.v > rgb_matrix_get_val()) {
+ hsv.v = MIN(rgb_matrix_get_val() + 22, 255);
+ }
+ RGB rgb = hsv_to_rgb(hsv);
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ }
+ }
+ return false;
+};
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/config.h b/keyboards/bastardkb/dilemma/3x5_3/config.h
index d25bb07528..7276c6181f 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/config.h
@@ -1,5 +1,6 @@
/**
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,32 +22,23 @@
#define SPLIT_HAND_PIN GP29
#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+/* VBUS detection. */
+#define USB_VBUS_PIN GP19
+
/* CRC. */
#define CRC8_USE_TABLE
#define CRC8_OPTIMIZE_SPEED
/* Cirque trackpad over SPI. */
+#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP22
#define SPI_MOSI_PIN GP23
#define SPI_MISO_PIN GP20
#define POINTING_DEVICE_CS_PIN GP21
-
-/* OLED over i2c. */
-#define I2C1_CLOCK_SPEED 400000
-#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
-#define OLED_DISPLAY_HEIGHT 128
+#undef CIRQUE_PINNACLE_DIAMETER_MM
+#define CIRQUE_PINNACLE_DIAMETER_MM 40
/* Reset. */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
-
-/* RGB matrix support. */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 36
-# define RGB_MATRIX_SPLIT { 18, 18 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-#endif
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/bastardkb/dilemma/3x5_3/halconf.h b/keyboards/bastardkb/dilemma/3x5_3/halconf.h
index b79b0f9e88..57d15376d6 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/halconf.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/halconf.h
@@ -17,7 +17,6 @@
#pragma once
-#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE
#include_next <halconf.h>
diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json
index 4ab43d6a8e..2da4f1785e 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_3/info.json
@@ -2,28 +2,195 @@
"keyboard_name": "Dilemma (3x5+3) Assembled",
"usb": {
"device_version": "2.0.0",
- "pid": "0x1835"
- },
- "rgb_matrix": {
- "driver": "ws2812"
+ "pid": "0x1836"
},
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "board": "GENERIC_RP_RP2040",
"matrix_pins": {
"cols": ["GP8", "GP9", "GP7", "GP6", "GP28"],
"rows": ["GP4", "GP5", "GP27", "GP26"]
},
"diode_direction": "ROW2COL",
"split": {
- "soft_serial_pin": "GP1"
+ "enabled": true,
+ "soft_serial_pin": "GP1",
+ "bootmagic": {
+ "matrix": [4, 0]
+ },
+ "transport":{
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ },
+ "encoder": {
+ "enabled" : true,
+ "rotary" : [
+ {"pin_a": "GP25", "pin_b": "GP24"}
+ ]
},
- "rgblight": {
- "split_count": [18, 18]
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "caps_word": true,
+ "tri_layer": true
},
"ws2812": {
- "pin": "GP0",
+ "pin": "GP10",
"driver": "vendor"
},
- "processor": "RP2040",
- "bootloader": "rp2040",
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "split_count": [36, 36],
+ "max_brightness": 176,
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "speed": 32,
+ "val": 128
+ },
+ "layout": [
+ {"x": 82, "y": 0, "flags": 2},
+ {"x": 60, "y": 0, "flags": 2},
+ {"x": 22, "y": 0, "flags": 2},
+ {"x": 15, "y": 0, "flags": 2},
+
+ {"x": 0, "y": 25, "flags": 2},
+ {"x": 0, "y": 40, "flags": 2},
+ {"x": 0, "y": 55, "flags": 2},
+
+ {"x": 15, "y": 45, "flags": 2},
+ {"x": 30, "y": 45, "flags": 2},
+ {"x": 35, "y": 60, "flags": 2},
+ {"x": 55, "y": 62, "flags": 2},
+
+ {"x": 72, "y": 64, "flags": 2},
+ {"x": 90, "y": 64, "flags": 2},
+ {"x": 98, "y": 47, "flags": 2},
+ {"x": 107, "y": 40, "flags": 2},
+
+ {"x": 110, "y": 33, "flags": 2},
+ {"x": 110, "y": 19, "flags": 2},
+ {"x": 110, "y": 5, "flags": 2},
+
+ {"matrix": [0, 4], "x": 73, "y": 11, "flags": 4},
+ {"matrix": [0, 3], "x": 56, "y": 9, "flags": 4},
+ {"matrix": [0, 2], "x": 39, "y": 5, "flags": 4},
+ {"matrix": [0, 1], "x": 22, "y": 10, "flags": 4},
+ {"matrix": [0, 0], "x": 5, "y": 15, "flags": 1},
+
+ {"matrix": [1, 0], "x": 5, "y": 30, "flags": 1},
+ {"matrix": [1, 1], "x": 22, "y": 25, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 20, "flags": 4},
+ {"matrix": [1, 3], "x": 56, "y": 24, "flags": 4},
+ {"matrix": [1, 4], "x": 73, "y": 26, "flags": 4},
+
+ {"matrix": [2, 4], "x": 73, "y": 41, "flags": 4},
+ {"matrix": [2, 3], "x": 56, "y": 39, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 35, "flags": 4},
+ {"matrix": [2, 1], "x": 22, "y": 40, "flags": 4},
+ {"matrix": [2, 0], "x": 5, "y": 45, "flags": 1},
+
+ {"matrix": [3, 2], "x": 45, "y": 51, "flags": 4},
+ {"matrix": [3, 0], "x": 64, "y": 53, "flags": 4},
+ {"matrix": [3, 1], "x": 81, "y": 60, "flags": 4},
+
+ {"x": 142, "y": 0, "flags": 2},
+ {"x": 164, "y": 0, "flags": 2},
+ {"x": 202, "y": 0, "flags": 2},
+ {"x": 209, "y": 0, "flags": 2},
+
+ {"x": 224, "y": 25, "flags": 2},
+ {"x": 224, "y": 40, "flags": 2},
+ {"x": 224, "y": 55, "flags": 2},
+
+ {"x": 209, "y": 45, "flags": 2},
+ {"x": 194, "y": 45, "flags": 2},
+ {"x": 189, "y": 60, "flags": 2},
+ {"x": 169, "y": 62, "flags": 2},
+
+ {"x": 152, "y": 64, "flags": 2},
+ {"x": 134, "y": 64, "flags": 2},
+ {"x": 126, "y": 47, "flags": 2},
+ {"x": 117, "y": 40, "flags": 2},
+
+ {"x": 114, "y": 33, "flags": 2},
+ {"x": 114, "y": 19, "flags": 2},
+ {"x": 114, "y": 5, "flags": 2},
+
+ {"matrix": [4, 4], "x": 151, "y": 11, "flags": 4},
+ {"matrix": [4, 3], "x": 168, "y": 9, "flags": 4},
+ {"matrix": [4, 2], "x": 185, "y": 5, "flags": 4},
+ {"matrix": [4, 1], "x": 202, "y": 10, "flags": 4},
+ {"matrix": [4, 0], "x": 219, "y": 15, "flags": 1},
+
+ {"matrix": [5, 0], "x": 219, "y": 30, "flags": 1},
+ {"matrix": [5, 1], "x": 202, "y": 25, "flags": 4},
+ {"matrix": [5, 2], "x": 185, "y": 20, "flags": 4},
+ {"matrix": [5, 3], "x": 168, "y": 24, "flags": 4},
+ {"matrix": [5, 4], "x": 151, "y": 26, "flags": 4},
+
+ {"matrix": [6, 4], "x": 151, "y": 41, "flags": 4},
+ {"matrix": [6, 3], "x": 168, "y": 39, "flags": 4},
+ {"matrix": [6, 2], "x": 185, "y": 35, "flags": 4},
+ {"matrix": [6, 1], "x": 202, "y": 40, "flags": 4},
+ {"matrix": [6, 0], "x": 219, "y": 45, "flags": 1},
+
+ {"matrix": [7, 2], "x": 179, "y": 51, "flags": 4},
+ {"matrix": [7, 0], "x": 160, "y": 53, "flags": 4},
+ {"matrix": [7, 1], "x": 143, "y": 60, "flags": 4}
+ ],
+ "sleep": true
+ },
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
index 30fef9bbeb..4185bba7d9 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
@@ -24,8 +24,8 @@ enum dilemma_keymap_layers {
LAYER_NUM,
};
-#define NAV MO(LAYER_NAV)
-#define SYM MO(LAYER_SYM)
+#define NAV QK_TRI_LAYER_LOWER
+#define SYM QK_TRI_LAYER_UPPER
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -33,11 +33,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, NAV, CW_TOGG, KC_SPC, SYM, KC_A
+ KC_LCTL, NAV, KC_LGUI, KC_SPC, SYM, KC_A
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
+ QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ XXXXXXX, _______, KC_LSFT, KC_SPC, _______, KC_ESC
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
+ KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, KC_SCLN, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ KC_ESC, _______, KC_LSFT, KC_SPC, _______, XXXXXXX
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -73,12 +73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ XXXXXXX, _______, KC_LSFT, KC_SPC, _______, XXXXXXX
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
};
// clang-format on
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM);
-}
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
new file mode 100644
index 0000000000..790d6bf751
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
+
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..dacef2231e
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
@@ -0,0 +1,170 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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 dilemma_keymap_layers {
+ LAYER_BASE = 0,
+ LAYER_FUNCTION,
+ LAYER_NAVIGATION,
+ LAYER_MEDIA,
+ LAYER_POINTER,
+ LAYER_NUMERAL,
+ LAYER_SYMBOLS,
+};
+
+// Automatically enable sniping-mode on the pointer layer.
+// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+
+#define ESC_MED LT(LAYER_MEDIA, KC_ESC)
+#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
+#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB)
+#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT)
+#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
+#define PT_Z LT(LAYER_POINTER, KC_Z)
+#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
+
+#ifndef POINTING_DEVICE_ENABLE
+# define DRGSCRL KC_NO
+# define DPI_MOD KC_NO
+# define S_D_MOD KC_NO
+# define SNIPING KC_NO
+#endif // !POINTING_DEVICE_ENABLE
+
+// clang-format off
+/** \brief QWERTY layout (3 rows, 10 columns). */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_split_3x5_3(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RCTL_T(KC_K), RALT_T(KC_L), RGUI_T(KC_QUOT),
+ PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH,
+ ESC_MED, TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM, KC_MUTE
+ ),
+
+/*
+ * Layers used on the Dilemma.
+ *
+ * These layers started off heavily inspired by the Miryoku layout, but trimmed
+ * down and tailored for a stock experience that is meant to be fundation for
+ * further personalization.
+ *
+ * See https://github.com/manna-harbour/miryoku for the original layout.
+ */
+
+/**
+ * \brief Function layer.
+ *
+ * Secondary right-hand layer has function keys mirroring the numerals on the
+ * primary layer with extras on the pinkie column, plus system keys on the inner
+ * column. App is on the tertiary thumb key and other thumb keys are duplicated
+ * from the base layer to enable auto-repeat.
+ */
+ [LAYER_FUNCTION] = LAYOUT_split_3x5_3(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10,
+ XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+/**
+ * \brief Navigation layer.
+ *
+ * Primary right-hand layer (left home thumb) is navigation and editing. Cursor
+ * keys are on the home position, line and page movement below, clipboard above,
+ * caps lock and insert on the inner column. Thumb keys are duplicated from the
+ * base layer to avoid having to layer change mid edit and to enable auto-repeat.
+ */
+ [LAYER_NAVIGATION] = LAYOUT_split_3x5_3(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ XXXXXXX, XXXXXXX, _______, KC_ENT, KC_BSPC, KC_DEL
+ ),
+
+/**
+ * \brief Media layer.
+ *
+ * Tertiary left- and right-hand layer is media and RGB control. This layer is
+ * symmetrical to accomodate the left- and right-hand trackball.
+ */
+ [LAYER_MEDIA] = LAYOUT_split_3x5_3(
+ XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX,
+ KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY, KC_MUTE
+ ),
+
+/** \brief Mouse emulation and pointer functions. */
+ [LAYER_POINTER] = LAYOUT_split_3x5_3(
+ QK_BOOT, EE_CLR, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, EE_CLR, QK_BOOT,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______,
+ KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_BTN3
+ ),
+
+/**
+ * \brief Numeral layout.
+ *
+ * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals
+ * are in the standard numpad locations with symbols in the remaining positions.
+ * `KC_DOT` is duplicated from the base layer.
+ */
+ [LAYER_NUMERAL] = LAYOUT_split_3x5_3(
+ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_DOT, KC_MINS, KC_0, XXXXXXX, _______, XXXXXXX
+ ),
+
+/**
+ * \brief Symbols layer.
+ *
+ * Secondary left-hand layer has shifted symbols in the same locations to reduce
+ * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to
+ * `KC_RPRN`.
+ */
+ [LAYER_SYMBOLS] = LAYOUT_split_3x5_3(
+ KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LPRN, KC_GRV, KC_UNDS, _______, XXXXXXX, XXXXXXX
+ ),
+};
+// clang-format on
+
+#ifdef POINTING_DEVICE_ENABLE
+# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
+layer_state_t layer_state_set_user(layer_state_t state) {
+ dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
+ return state;
+}
+# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
+#endif // POINTING_DEVICE_ENABLE
+
+#ifdef ENCODER_MAP_ENABLE
+// clang-format off
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [LAYER_FUNCTION] = {ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
+ [LAYER_NAVIGATION] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
+ [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
+ [LAYER_NUMERAL] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI)},
+ [LAYER_SYMBOLS] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
+};
+// clang-format on
+#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
new file mode 100644
index 0000000000..4552f0948d
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
@@ -0,0 +1,47 @@
+# Dilemma `via` keymap
+
+The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma.
+
+This layout also supports VIA.
+
+## Customizing the keymap
+
+### Dynamic DPI scaling
+
+Use the following keycodes to change the default DPI:
+
+- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
+
+Use the following keycodes to change the sniping mode DPI:
+
+- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
+
+### Drag-scroll
+
+Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
+
+### Circular scroll
+
+By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
+
+To disable this, add the following to your keymap:
+
+```c
+#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
+```
+
+### Sniping
+
+Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
+
+Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
+
+```c
+#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+``` \ No newline at end of file
diff --git a/keyboards/lpad/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
index f1adcab005..f1adcab005 100644
--- a/keyboards/lpad/keymaps/via/rules.mk
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
diff --git a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
index f194dd225c..52b726a56d 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
@@ -19,8 +19,5 @@
#include_next <mcuconf.h>
-#undef RP_SPI_USE_SPI1
-#define RP_SPI_USE_SPI1 TRUE
-
-#undef RP_I2C_USE_I2C1
-#define RP_I2C_USE_I2C1 TRUE
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/readme.md b/keyboards/bastardkb/dilemma/3x5_3/readme.md
index bfddbc9efc..b57df90921 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/readme.md
+++ b/keyboards/bastardkb/dilemma/3x5_3/readme.md
@@ -1,5 +1,5 @@
-# Next generation Dilemma keyboard
+# Dilemma v2 (3x5+3 assembled)
This keyboard is an updated version of the [3x5+2 Dilemma](../3x5_2/).
-This is still under active development, and not available publicly yet.
+The Dilemma v2 is available at [bastardkb.com](https://bastardkb.com).
diff --git a/keyboards/bastardkb/dilemma/3x5_3/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/rules.mk
index 3cdb41160c..4923c2c84a 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/rules.mk
+++ b/keyboards/bastardkb/dilemma/3x5_3/rules.mk
@@ -1,24 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-AUDIO_SUPPORTED = no # Audio is not supported
-RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
-RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
-
SERIAL_DRIVER = vendor
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/bastardkb/dilemma/4x6_4/config.h b/keyboards/bastardkb/dilemma/4x6_4/config.h
index 9c76cb76f9..549965444d 100644
--- a/keyboards/bastardkb/dilemma/4x6_4/config.h
+++ b/keyboards/bastardkb/dilemma/4x6_4/config.h
@@ -44,11 +44,4 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
/* RGB matrix support. */
-#define SPLIT_TRANSPORT_MIRROR
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// Startup values.
-#define RGB_MATRIX_DEFAULT_VAL 64
-#define RGB_MATRIX_DEFAULT_SPD 32
+#define SPLIT_TRANSPORT_MIRROR \ No newline at end of file
diff --git a/keyboards/bastardkb/dilemma/4x6_4/info.json b/keyboards/bastardkb/dilemma/4x6_4/info.json
index ba07a7fccf..cc8c30b510 100644
--- a/keyboards/bastardkb/dilemma/4x6_4/info.json
+++ b/keyboards/bastardkb/dilemma/4x6_4/info.json
@@ -17,6 +17,11 @@
"soft_serial_pin": "GP1",
"bootmagic": {
"matrix": [5, 0]
+ },
+ "transport":{
+ "sync": {
+ "matrix_state": true
+ }
}
},
"encoder": {
@@ -46,7 +51,6 @@
"max_brightness": 176,
"center_point": [112, 28],
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -91,6 +95,10 @@
"solid_splash": true,
"solid_multisplash": true
},
+ "default": {
+ "speed": 32,
+ "val": 128
+ },
"layout": [
{"x": 81, "y": 4, "flags": 2},
{"x": 65, "y": 2, "flags": 2},
@@ -199,7 +207,8 @@
{"matrix": [9, 2], "x": 156, "y": 53, "flags": 4},
{"matrix": [9, 1], "x": 143, "y": 57, "flags": 4},
{"matrix": [9, 3], "x": 132, "y": 64, "flags": 4}
- ]
+ ],
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/bastardkb/dilemma/config.h b/keyboards/bastardkb/dilemma/config.h
index d282c635ea..0da85ec99a 100644
--- a/keyboards/bastardkb/dilemma/config.h
+++ b/keyboards/bastardkb/dilemma/config.h
@@ -26,6 +26,9 @@
// Pointing device is on the right split.
#define POINTING_DEVICE_RIGHT
+// Enables support for extended i16 mouse reports (instead of i8).
+#define MOUSE_EXTENDED_REPORT
+
// Limits the frequency that the sensor is polled for motion.
#define POINTING_DEVICE_TASK_THROTTLE_MS 10
diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h
deleted file mode 100644
index ec538f8a55..0000000000
--- a/keyboards/bastardkb/scylla/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
- * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB matrix support. */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 58
-# define RGB_MATRIX_SPLIT { 29, 29 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json
index 24a0262bee..6508c15b5a 100644
--- a/keyboards/bastardkb/scylla/info.json
+++ b/keyboards/bastardkb/scylla/info.json
@@ -3,10 +3,22 @@
"usb": {
"pid": "0x1829"
},
+ "rgb_matrix": {
+ "max_brightness": 50,
+ "sleep": true,
+ "split_count": [29, 29]
+ },
"rgblight": {
"led_count": 58,
"split_count": [29, 29]
},
+ "split": {
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ },
"layouts": {
"LAYOUT_split_4x6_5": {
"layout": [
diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h
deleted file mode 100644
index 58dacb5c53..0000000000
--- a/keyboards/bastardkb/skeletyl/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
- * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB matrix support. */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 36
-# define RGB_MATRIX_SPLIT { 18, 18 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json
index b4bb9ea78e..e4ac29207d 100644
--- a/keyboards/bastardkb/skeletyl/info.json
+++ b/keyboards/bastardkb/skeletyl/info.json
@@ -3,10 +3,22 @@
"usb": {
"pid": "0x1830"
},
+ "rgb_matrix": {
+ "max_brightness": 50,
+ "sleep": true,
+ "split_count": [18, 18]
+ },
"rgblight": {
"led_count": 36,
"split_count": [18, 18]
},
+ "split": {
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ },
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h
deleted file mode 100644
index 1a1540b280..0000000000
--- a/keyboards/bastardkb/tbkmini/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
- * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB matrix support. */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 42
-# define RGB_MATRIX_SPLIT { 21, 21 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json
index ec0433d387..ff2df9cdd6 100644
--- a/keyboards/bastardkb/tbkmini/info.json
+++ b/keyboards/bastardkb/tbkmini/info.json
@@ -3,10 +3,22 @@
"usb": {
"pid": "0x1828"
},
+ "rgb_matrix": {
+ "max_brightness": 50,
+ "sleep": true,
+ "split_count": [21, 21]
+ },
"rgblight": {
"led_count": 42,
"split_count": [21, 21]
},
+ "split": {
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ },
"community_layouts": ["split_3x6_3"],
"layouts": {
"LAYOUT_split_3x6_3": {
diff --git a/keyboards/beekeeb/piantor/info.json b/keyboards/beekeeb/piantor/info.json
index 7d74c81f45..e4ecd4207e 100644
--- a/keyboards/beekeeb/piantor/info.json
+++ b/keyboards/beekeeb/piantor/info.json
@@ -95,31 +95,31 @@
},
"LAYOUT_split_3x5_3": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0.25},
- {"matrix": [0, 1], "x": 1, "y": 0.125},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0.125},
- {"matrix": [0, 4], "x": 4, "y": 0.25},
+ {"matrix": [0, 1], "x": 0, "y": 0.25},
+ {"matrix": [0, 2], "x": 1, "y": 0.125},
+ {"matrix": [0, 3], "x": 2, "y": 0},
+ {"matrix": [0, 4], "x": 3, "y": 0.125},
+ {"matrix": [0, 5], "x": 4, "y": 0.25},
{"matrix": [4, 0], "x": 7, "y": 0.25},
{"matrix": [4, 1], "x": 8, "y": 0.125},
{"matrix": [4, 2], "x": 9, "y": 0},
{"matrix": [4, 3], "x": 10, "y": 0.125},
{"matrix": [4, 4], "x": 11, "y": 0.25},
- {"matrix": [1, 0], "x": 0, "y": 1.25},
- {"matrix": [1, 1], "x": 1, "y": 1.125},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1.125},
- {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 1], "x": 0, "y": 1.25},
+ {"matrix": [1, 2], "x": 1, "y": 1.125},
+ {"matrix": [1, 3], "x": 2, "y": 1},
+ {"matrix": [1, 4], "x": 3, "y": 1.125},
+ {"matrix": [1, 5], "x": 4, "y": 1.25},
{"matrix": [5, 0], "x": 7, "y": 1.25},
{"matrix": [5, 1], "x": 8, "y": 1.125},
{"matrix": [5, 2], "x": 9, "y": 1},
{"matrix": [5, 3], "x": 10, "y": 1.125},
{"matrix": [5, 4], "x": 11, "y": 1.25},
- {"matrix": [2, 0], "x": 0, "y": 2.25},
- {"matrix": [2, 1], "x": 1, "y": 2.125},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2.125},
- {"matrix": [2, 4], "x": 4, "y": 2.25},
+ {"matrix": [2, 1], "x": 0, "y": 2.25},
+ {"matrix": [2, 2], "x": 1, "y": 2.125},
+ {"matrix": [2, 3], "x": 2, "y": 2},
+ {"matrix": [2, 4], "x": 3, "y": 2.125},
+ {"matrix": [2, 5], "x": 4, "y": 2.25},
{"matrix": [6, 0], "x": 7, "y": 2.25},
{"matrix": [6, 1], "x": 8, "y": 2.125},
{"matrix": [6, 2], "x": 9, "y": 2},
diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
index a56bd0f2e7..2469b627e2 100644
--- a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
+++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
@@ -27,8 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EE_HANDS
// Underglow
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/binepad/bn006/config.h b/keyboards/binepad/bn006/config.h
index 0569ccff03..01b94d6baa 100755
--- a/keyboards/binepad/bn006/config.h
+++ b/keyboards/binepad/bn006/config.h
@@ -3,68 +3,4 @@
#pragma once
-/*
- * RGB Matrix
- */
-
-#ifdef RGB_MATRIX_ENABLE
- /* ===========================================================================================
- * PLEASE NOTE: Because the BN006 only has 6 keys, not all the animations are visually viable
- * =========================================================================================== */
-
- #define RGB_MATRIX_LED_COUNT 6
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING // Sets the default mode, if none has been set
- #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
-
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see: https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- // #define ENABLE_RGB_MATRIX_BAND_SAT
- // #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- // #define ENABLE_RGB_MATRIX_CYCLE_ALL
- // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- // #define ENABLE_RGB_MATRIX_RAINDROPS
- // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- // #define ENABLE_RGB_MATRIX_HUE_BREATHING
- // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- // #define ENABLE_RGB_MATRIX_HUE_WAVE
- // #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- // #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- // #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
+#define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
diff --git a/keyboards/binepad/bn006/info.json b/keyboards/binepad/bn006/info.json
index 81e68d2e0c..e5e25b4b90 100755
--- a/keyboards/binepad/bn006/info.json
+++ b/keyboards/binepad/bn006/info.json
@@ -33,6 +33,18 @@
"pin": "B15"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "breathing"
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
@@ -41,7 +53,9 @@
{"flags": 4, "matrix": [1, 0], "x": 0, "y": 64},
{"flags": 4, "matrix": [1, 1], "x": 112, "y": 64},
{"flags": 4, "matrix": [1, 2], "x": 224, "y": 64}
- ]
+ ],
+ "max_brightness": 200,
+ "sleep": true
},
"community_layouts": ["ortho_2x3"],
"layouts": {
diff --git a/keyboards/bioi/bluetooth_custom.c b/keyboards/bioi/bluetooth_custom.c
index 4ea277f731..c3e12d3c6a 100644
--- a/keyboards/bioi/bluetooth_custom.c
+++ b/keyboards/bioi/bluetooth_custom.c
@@ -59,9 +59,7 @@ static void bluefruit_trace_footer(void)
static void bluefruit_serial_send(uint8_t data)
{
#ifdef BLUEFRUIT_TRACE_SERIAL
- dprintf(" ");
- debug_hex8(data);
- dprintf(" ");
+ dprintf(" %02X ", data);
#endif
serial_send(data);
}
@@ -146,11 +144,7 @@ void bluetooth_send_consumer(uint16_t usage)
uint16_t bitmap = CONSUMER2BLUEFRUIT(usage);
#ifdef BLUEFRUIT_TRACE_SERIAL
- dprintf("\nData: ");
- debug_hex16(data);
- dprintf("; bitmap: ");
- debug_hex16(bitmap);
- dprintf("\n");
+ dprintf("\nData: %04X; bitmap: %04X\n", data, bitmap);
bluefruit_trace_header();
#endif
send_str(PSTR("AT+BLEHIDCONTROLKEY=0x"));
diff --git a/keyboards/bioi/g60/rules.mk b/keyboards/bioi/g60/rules.mk
index 375cb52732..3635daac6f 100644
--- a/keyboards/bioi/g60/rules.mk
+++ b/keyboards/bioi/g60/rules.mk
@@ -12,11 +12,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Reduce firmware size
BLUETOOTH_ENABLE = yes
-VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
-
UART_DRIVER_REQUIRED = yes
SRC += bluetooth_custom.c
diff --git a/keyboards/bioi/morgan65/rules.mk b/keyboards/bioi/morgan65/rules.mk
index 375cb52732..3635daac6f 100644
--- a/keyboards/bioi/morgan65/rules.mk
+++ b/keyboards/bioi/morgan65/rules.mk
@@ -12,11 +12,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Reduce firmware size
BLUETOOTH_ENABLE = yes
-VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
-
UART_DRIVER_REQUIRED = yes
SRC += bluetooth_custom.c
diff --git a/keyboards/black_hellebore/config.h b/keyboards/black_hellebore/config.h
index ae0bc0aedb..53910fed09 100644
--- a/keyboards/black_hellebore/config.h
+++ b/keyboards/black_hellebore/config.h
@@ -13,70 +13,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
-#pragma once
-
-
-#ifdef RGB_MATRIX_ENABLE
-
- #define WS2812_PWM_DRIVER PWMD1
- #define WS2812_PWM_CHANNEL 1
- #define WS2812_PWM_PAL_MODE 1 //TIM1_CH1N (AF1)
- #define WS2812_PWM_COMPLEMENTARY_OUTPUT
- #define WS2812_DMA_STREAM STM32_DMA1_STREAM6
- #define WS2812_DMA_CHANNEL 7 //7 works, CxS[3:0] 0111 = TIM1_UP on Channel 6? (RM0394.pdf pg.298)
- #define RGB_MATRIX_LED_COUNT 61 // The number of LEDs connected
-
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
- #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* RGB_MATRIX_KEYPRESSES) | defined(RGB_MATRIX_KEYRELEASES) */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-#endif
+#pragma once
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 1
+#define WS2812_PWM_PAL_MODE 1 //TIM1_CH1N (AF1)
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
+#define WS2812_DMA_CHANNEL 7 //7 works, CxS[3:0] 0111 = TIM1_UP on Channel 6? (RM0394.pdf pg.298)
diff --git a/keyboards/black_hellebore/info.json b/keyboards/black_hellebore/info.json
index bc70e3eb98..b59cb8f7b9 100644
--- a/keyboards/black_hellebore/info.json
+++ b/keyboards/black_hellebore/info.json
@@ -29,6 +29,48 @@
"vid": "0x3141"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 7, "y": 5},
@@ -92,7 +134,8 @@
{"flags": 4, "matrix": [4, 10], "x": 177, "y": 54},
{"flags": 4, "matrix": [4, 11], "x": 196, "y": 54},
{"flags": 4, "matrix": [4, 13], "x": 215, "y": 54}
- ]
+ ],
+ "react_on_keyup": true
},
"layouts": {
"LAYOUT_60_ansi": {
diff --git a/keyboards/blockboy/ac980mini/config.h b/keyboards/blockboy/ac980mini/config.h
deleted file mode 100644
index b98cb7964f..0000000000
--- a/keyboards/blockboy/ac980mini/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2022 rooski15 (@rooski15)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// RGB configuration
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 81
-
-#ifdef RGB_MATRIX_ENABLE
-//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-
-/* Enable the animations you want/need. You may need to enable only a small number of these because *
- * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/blockboy/ac980mini/info.json b/keyboards/blockboy/ac980mini/info.json
index 36d6fe5ba9..4bc05236bc 100644
--- a/keyboards/blockboy/ac980mini/info.json
+++ b/keyboards/blockboy/ac980mini/info.json
@@ -19,9 +19,56 @@
"pin": "B7"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
+ "max_brightness": 150,
+ "sleep": true,
"speed_steps": 10
},
"layouts": {
diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h
deleted file mode 100644
index 75b5888bc3..0000000000
--- a/keyboards/boardsource/beiwagon/config.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2022 Boardsource
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#define RGB_MATRIX_LED_COUNT 18
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json
index b02c528867..39a9006b85 100644
--- a/keyboards/boardsource/beiwagon/info.json
+++ b/keyboards/boardsource/beiwagon/info.json
@@ -25,6 +25,40 @@
"vid": "0x4273"
},
"rgb_matrix": {
+ "animations":{
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 16, "y": 38},
diff --git a/keyboards/boardsource/equals/48/config.h b/keyboards/boardsource/equals/48/config.h
index 952fa269c6..39d114872f 100644
--- a/keyboards/boardsource/equals/48/config.h
+++ b/keyboards/boardsource/equals/48/config.h
@@ -1,11 +1,10 @@
// Copyright 2023 Cole Smith (@boardsource)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
-#define RGB_MATRIX_LED_COUNT 58
-
#define AUDIO_PIN GP29
#define AUDIO_PWM_DRIVER PWMD6
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B
diff --git a/keyboards/boardsource/equals/48/info.json b/keyboards/boardsource/equals/48/info.json
index 63561f4c59..054779f6fe 100644
--- a/keyboards/boardsource/equals/48/info.json
+++ b/keyboards/boardsource/equals/48/info.json
@@ -14,53 +14,6 @@
"pin": "GP21"
},
"rgb_matrix": {
- "driver": "ws2812",
- "max_brightness": 150,
- "animations": {
- "alphas_mods": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_sat": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "band_val": true,
- "breathing": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "cycle_up_down": true,
- "digital_rain": true,
- "dual_beacon": true,
- "gradient_left_right": true,
- "gradient_up_down": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "jellybean_raindrops": true,
- "multisplash": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "pixel_rain": true,
- "rainbow_beacon": true,
- "rainbow_moving_chevron": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "solid_multisplash": true,
- "solid_reactive": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_multinexus": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_nexus": true,
- "solid_reactive_simple": true,
- "solid_reactive_wide": true,
- "solid_splash": true,
- "splash": true,
- "typing_heatmap": true
- },
"layout": [
{ "flags": 2, "x": 220, "y": 17 },
{ "flags": 2, "x": 172, "y": 17 },
diff --git a/keyboards/boardsource/equals/60/config.h b/keyboards/boardsource/equals/60/config.h
index ee4bc6b1e8..39d114872f 100644
--- a/keyboards/boardsource/equals/60/config.h
+++ b/keyboards/boardsource/equals/60/config.h
@@ -1,11 +1,10 @@
// Copyright 2023 Cole Smith (@boardsource)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
-#define RGB_MATRIX_LED_COUNT 70
-
#define AUDIO_PIN GP29
#define AUDIO_PWM_DRIVER PWMD6
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B
diff --git a/keyboards/boardsource/equals/60/info.json b/keyboards/boardsource/equals/60/info.json
index 355e434b4e..da3fc3691a 100644
--- a/keyboards/boardsource/equals/60/info.json
+++ b/keyboards/boardsource/equals/60/info.json
@@ -14,53 +14,6 @@
"pin": "GP21"
},
"rgb_matrix": {
- "driver": "ws2812",
- "max_brightness": 150,
- "animations": {
- "alphas_mods": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_sat": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "band_val": true,
- "breathing": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "cycle_up_down": true,
- "digital_rain": true,
- "dual_beacon": true,
- "gradient_left_right": true,
- "gradient_up_down": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "jellybean_raindrops": true,
- "multisplash": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "pixel_rain": true,
- "rainbow_beacon": true,
- "rainbow_moving_chevron": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "solid_multisplash": true,
- "solid_reactive": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_multinexus": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_nexus": true,
- "solid_reactive_simple": true,
- "solid_reactive_wide": true,
- "solid_splash": true,
- "splash": true,
- "typing_heatmap": true
- },
"layout": [
{ "flags": 2, "x": 220, "y": 17 },
{ "flags": 2, "x": 172, "y": 17 },
diff --git a/keyboards/boardsource/equals/avr/config.h b/keyboards/boardsource/equals/avr/config.h
deleted file mode 100644
index 68754cbe52..0000000000
--- a/keyboards/boardsource/equals/avr/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2023 Cole Smith (@boardsource)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-#define RGB_MATRIX_LED_COUNT 70
diff --git a/keyboards/boardsource/equals/avr/info.json b/keyboards/boardsource/equals/avr/info.json
index bbade34e63..942feba4ec 100644
--- a/keyboards/boardsource/equals/avr/info.json
+++ b/keyboards/boardsource/equals/avr/info.json
@@ -13,53 +13,6 @@
"pin": "C6"
},
"rgb_matrix": {
- "driver": "ws2812",
- "max_brightness": 150,
- "animations": {
- "alphas_mods": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_sat": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "band_val": true,
- "breathing": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "cycle_up_down": true,
- "digital_rain": true,
- "dual_beacon": true,
- "gradient_left_right": true,
- "gradient_up_down": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "jellybean_raindrops": true,
- "multisplash": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "pixel_rain": true,
- "rainbow_beacon": true,
- "rainbow_moving_chevron": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "solid_multisplash": true,
- "solid_reactive": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_multinexus": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_nexus": true,
- "solid_reactive_simple": true,
- "solid_reactive_wide": true,
- "solid_splash": true,
- "splash": true,
- "typing_heatmap": true
- },
"layout": [
{ "flags": 2, "x": 220, "y": 17 },
{ "flags": 2, "x": 172, "y": 17 },
diff --git a/keyboards/macro3/rules.mk b/keyboards/boardsource/equals/avr/rules.mk
index 6e7633bfe0..6e7633bfe0 100644
--- a/keyboards/macro3/rules.mk
+++ b/keyboards/boardsource/equals/avr/rules.mk
diff --git a/keyboards/boardsource/equals/equals.c b/keyboards/boardsource/equals/equals.c
index 8eb933e70d..074fa3df3e 100644
--- a/keyboards/boardsource/equals/equals.c
+++ b/keyboards/boardsource/equals/equals.c
@@ -1,18 +1,54 @@
// Copyright 2023 @boardsource
// SPDX-License-Identifier: GPL-2.0-or-later
+
#include "quantum.h"
-__attribute__((weak)) void ui_init(void) {};
-__attribute__((weak)) void ui_task(void) {};
#ifdef QUANTUM_PAINTER_ENABLE
+#include "qp.h"
+#include "qp_st7735.h"
+#include "graphics/thintel15.qff.c"
+
+static painter_device_t oled;
+static painter_font_handle_t font;
+
+__attribute__((weak)) void ui_init(void) {
+ oled = qp_st7735_make_spi_device(128, 160, OLED_CS_PIN, OLED_DC_PIN, OLED_RST_PIN, 8, 0);
+ font = qp_load_font_mem(font_thintel15);
+ qp_init(oled, QP_ROTATION_0);
+ qp_rect(oled, 0, 0, 130, 162, 0, 0, 0, true);
+ qp_rect(oled, 20, 20, 108, 60, 55, 55, 55, true);
+ qp_rect(oled, 20, 80, 108, 120, 55, 55, 55, true);
+ qp_flush(oled);
+}
+
+__attribute__((weak)) void ui_task(void) {
+ static const char *text = "Layer:";
+ int16_t width = qp_textwidth(font, text);
+ qp_drawtext(oled, 20, 140, font, text);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ qp_drawtext(oled, (20 + width), 140, font, "QWERTY");
+ break;
+ case 1:
+ qp_drawtext(oled, (20 + width), 140, font, "SYMBOL");
+ break;
+ case 2:
+ qp_drawtext(oled, (20 + width), 140, font, "NUMBER");
+ break;
+ default:
+ qp_drawtext(oled, (20 + width), 140, font, "_PANIC_");
+ break;
+ }
+}
+
void keyboard_post_init_kb(void) {
- // Init the display
ui_init();
keyboard_post_init_user();
}
void housekeeping_task_kb(void) {
- // Draw the display
ui_task();
+ housekeeping_task_user();
}
-#endif //QUANTUM_PAINTER_ENABLE
+#endif // QUANTUM_PAINTER_ENABLE
diff --git a/keyboards/boardsource/equals/info.json b/keyboards/boardsource/equals/info.json
index bed8ec2640..c6d6245dbf 100644
--- a/keyboards/boardsource/equals/info.json
+++ b/keyboards/boardsource/equals/info.json
@@ -4,18 +4,64 @@
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
- "command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x7688",
"vid": "0x4273"
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true,
+ "animations": {
+ "alphas_mods": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_sat": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "band_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "jellybean_raindrops": true,
+ "multisplash": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_multisplash": true,
+ "solid_reactive": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ }
}
-
}
diff --git a/keyboards/boardsource/equals/readme.md b/keyboards/boardsource/equals/readme.md
index 9c5d48f5c2..82d24b1814 100644
--- a/keyboards/boardsource/equals/readme.md
+++ b/keyboards/boardsource/equals/readme.md
@@ -3,7 +3,7 @@
![equals](https://i.imgur.com/c3adFqsh.jpeg)
* Keyboard Maintainer: [Cole Smith](https://github.com/boardsource)
-* Hardware Supported: Equals PCB w/ RP2040
+* Hardware Supported: Equals PCB w/ RP2040 or Equals Kit w/ Pro Micro
* Hardware Availability: [boardsource](https://boardsource.xyz)
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/boardsource/equals/ui.c b/keyboards/boardsource/equals/ui.c
deleted file mode 100644
index f953fc4c88..0000000000
--- a/keyboards/boardsource/equals/ui.c
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2023 Cole Smith (@boardsource)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include <stdio.h>
-#include "qp.h"
-#include "qp_st7735.h"
-#include "graphics/thintel15.qff.c"
-
-static painter_device_t oled;
-static painter_font_handle_t font;
-
-__attribute__((weak)) void ui_init(void) {
- oled = qp_st7735_make_spi_device(128, 160, OLED_CS_PIN, OLED_DC_PIN, OLED_RST_PIN, 8, 0);
- font = qp_load_font_mem(font_thintel15);
- qp_init(oled, QP_ROTATION_0);
- qp_rect(oled, 0, 0, 130, 162, 0, 0, 0, true);
- qp_rect(oled, 20, 20, 108, 60, 55, 55, 55, true);
- qp_rect(oled, 20, 80, 108, 120, 55, 55, 55, true);
- qp_flush(oled);
-}
-
-__attribute__((weak)) void ui_task(void) {
- static const char *text = "Layer:";
- int16_t width = qp_textwidth(font, text);
- qp_drawtext(oled, 20, 140, font, text);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- qp_drawtext(oled, (20 + width), 140, font, "QWERTY");
- break;
- case 1:
- qp_drawtext(oled, (20 + width), 140, font, "SYMBOL");
- break;
- case 2:
- qp_drawtext(oled, (20 + width), 140, font, "NUMBER");
- break;
- default:
- qp_drawtext(oled, (20 + width), 140, font, "_PANIC_");
- break;
- }
-}
diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h
deleted file mode 100644
index 537bf0da1c..0000000000
--- a/keyboards/boardsource/lulu/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2022 Cole Smith <cole@boadsource.xyz>
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-#define RGB_MATRIX_LED_COUNT 70
diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h
deleted file mode 100644
index 236254317a..0000000000
--- a/keyboards/boardsource/microdox/v2/config.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2022 jack (@waffle87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-#define RGB_MATRIX_LED_COUNT 44
-#define RGB_MATRIX_SPLIT { 22, 22 }
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
diff --git a/keyboards/boardsource/microdox/v2/info.json b/keyboards/boardsource/microdox/v2/info.json
index dccecb4980..94577059c5 100644
--- a/keyboards/boardsource/microdox/v2/info.json
+++ b/keyboards/boardsource/microdox/v2/info.json
@@ -35,6 +35,14 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_left_right": true,
+ "cycle_spiral": true,
+ "jellybean_raindrops": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 12, "y": 11},
@@ -81,6 +89,9 @@
{"flags": 1, "matrix": [7, 4], "x": 124, "y": 64},
{"flags": 1, "matrix": [7, 3], "x": 149, "y": 64},
{"flags": 1, "matrix": [7, 2], "x": 174, "y": 64}
- ]
+ ],
+ "max_brightness": 150,
+ "sleep": true,
+ "split_count": [22, 22]
}
}
diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h
deleted file mode 100644
index 4d7d053cfb..0000000000
--- a/keyboards/boardsource/technik_o/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright 2022 Boardsource
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-#define RGB_MATRIX_LED_COUNT 58
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json
index 91840eeb4f..65d46a8b62 100644
--- a/keyboards/boardsource/technik_o/info.json
+++ b/keyboards/boardsource/technik_o/info.json
@@ -26,6 +26,31 @@
"vid": "0x4273"
},
"rgb_matrix": {
+ "animations":{
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 220, "y": 17},
@@ -86,7 +111,8 @@
{"flags": 1, "matrix": [3, 9], "x": 183, "y": 64},
{"flags": 1, "matrix": [3, 10], "x": 203, "y": 64},
{"flags": 1, "matrix": [3, 11], "x": 224, "y": 64}
- ]
+ ],
+ "max_brightness": 120
},
"community_layouts": [
"ortho_4x12"
diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h
deleted file mode 100644
index b01542d77b..0000000000
--- a/keyboards/boardsource/technik_s/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright 2022 Boardsource
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-#define RGB_MATRIX_LED_COUNT 55
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json
index 0c8b101b20..ffb8cb09ec 100644
--- a/keyboards/boardsource/technik_s/info.json
+++ b/keyboards/boardsource/technik_s/info.json
@@ -26,6 +26,31 @@
"vid": "0x4273"
},
"rgb_matrix": {
+ "animations":{
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 220, "y": 17},
@@ -83,7 +108,8 @@
{"flags": 4, "matrix": [3, 9], "x": 183, "y": 64},
{"flags": 4, "matrix": [3, 10], "x": 203, "y": 64},
{"flags": 1, "matrix": [3, 11], "x": 224, "y": 64}
- ]
+ ],
+ "max_brightness": 120
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h
deleted file mode 100644
index 6d9c9642de..0000000000
--- a/keyboards/boardsource/the_mark/config.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright 2022 Boardsource
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 24
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#endif
diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json
index c574f7ab66..8dc08e4fc4 100644
--- a/keyboards/boardsource/the_mark/info.json
+++ b/keyboards/boardsource/the_mark/info.json
@@ -43,6 +43,40 @@
"pin": "C6"
},
"rgb_matrix": {
+ "animations":{
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 224, "y": 42},
@@ -69,7 +103,9 @@
{"flags": 2, "x": 209, "y": 85},
{"flags": 2, "x": 224, "y": 85},
{"flags": 2, "x": 224, "y": 64}
- ]
+ ],
+ "max_brightness": 200,
+ "sleep": true
},
"layouts": {
"LAYOUT_all": {
diff --git a/keyboards/boardsource/unicorne/config.h b/keyboards/boardsource/unicorne/config.h
index 5843a0c847..e79c00f14d 100644
--- a/keyboards/boardsource/unicorne/config.h
+++ b/keyboards/boardsource/unicorne/config.h
@@ -2,10 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGB_MATRIX_LED_COUNT 54
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define I2C_DRIVER I2CD1
diff --git a/keyboards/boardsource/unicorne/info.json b/keyboards/boardsource/unicorne/info.json
index 4184c870fe..6afbcc044c 100644
--- a/keyboards/boardsource/unicorne/info.json
+++ b/keyboards/boardsource/unicorne/info.json
@@ -54,6 +54,9 @@
"gradient_left_right": true,
"gradient_up_down": true
},
+ "default": {
+ "animation": "alphas_mods"
+ },
"max_brightness": 150,
"split_count": [27, 27],
"driver": "ws2812",
@@ -112,9 +115,13 @@
{"matrix": [4, 0], "x": 0, "y": 7, "flags": 1},
{"matrix": [5, 0], "x": 0, "y": 24, "flags": 1},
{"matrix": [6, 0], "x": 0, "y": 41, "flags": 1}
- ]
+ ],
+ "sleep": true
},
"community_layouts": ["split_3x6_3"],
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x6_3"
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h
index 7d53f90b15..a7dd952cd6 100644
--- a/keyboards/boston_meetup/2019/config.h
+++ b/keyboards/boston_meetup/2019/config.h
@@ -87,6 +87,4 @@
#define RGB_MATRIX_LED_COUNT 10
-#define RGB_MATRIX_KEYPRESSES
-
#define SOLENOID_PIN A14
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index e89623ec8a..8a895c3e50 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -58,5 +58,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/bpiphany/frosty_flake/info.json b/keyboards/bpiphany/frosty_flake/info.json
index 748ad68076..95fbd477eb 100644
--- a/keyboards/bpiphany/frosty_flake/info.json
+++ b/keyboards/bpiphany/frosty_flake/info.json
@@ -10,6 +10,9 @@
},
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"community_layouts": ["tkl_ansi"],
"layouts": {
"LAYOUT": {
diff --git a/keyboards/bpiphany/pegasushoof/2013/config.h b/keyboards/bpiphany/pegasushoof/2013/config.h
index eb7c2fde13..182495aa9b 100644
--- a/keyboards/bpiphany/pegasushoof/2013/config.h
+++ b/keyboards/bpiphany/pegasushoof/2013/config.h
@@ -20,5 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3 // not enough memory for a 4th layer with VIA
diff --git a/keyboards/bpiphany/pegasushoof/2013/info.json b/keyboards/bpiphany/pegasushoof/2013/info.json
index abbeeb0f36..c7b120fd05 100644
--- a/keyboards/bpiphany/pegasushoof/2013/info.json
+++ b/keyboards/bpiphany/pegasushoof/2013/info.json
@@ -1,6 +1,9 @@
{
"keyboard_name": "Majestouch TKL \\\\w The Pegasus Hoof 2013",
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "C6",
"scroll_lock": "C5",
diff --git a/keyboards/bpiphany/pegasushoof/2015/config.h b/keyboards/bpiphany/pegasushoof/2015/config.h
index eb7c2fde13..182495aa9b 100644
--- a/keyboards/bpiphany/pegasushoof/2015/config.h
+++ b/keyboards/bpiphany/pegasushoof/2015/config.h
@@ -20,5 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3 // not enough memory for a 4th layer with VIA
diff --git a/keyboards/bpiphany/pegasushoof/2015/info.json b/keyboards/bpiphany/pegasushoof/2015/info.json
index a3b5f66784..5c4f8d6f91 100644
--- a/keyboards/bpiphany/pegasushoof/2015/info.json
+++ b/keyboards/bpiphany/pegasushoof/2015/info.json
@@ -1,6 +1,9 @@
{
"keyboard_name": "Majestouch TKL The Pegasus Hoof 2015",
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "C6",
"scroll_lock": "C5",
diff --git a/keyboards/bubble75/hotswap/config.h b/keyboards/bubble75/hotswap/config.h
index 657c373c7b..de1b75d0d6 100644
--- a/keyboards/bubble75/hotswap/config.h
+++ b/keyboards/bubble75/hotswap/config.h
@@ -21,73 +21,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* WS2812 RGB */
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 81
-#define RGBLIGHT_LAYERS
-//#define RGBLIGHT_LAYER_BLINK
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-
-#define RGB_MATRIX_KEYPRESSES
-
-#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-
-
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/bubble75/hotswap/info.json b/keyboards/bubble75/hotswap/info.json
index c9757847b0..99cfc4064e 100644
--- a/keyboards/bubble75/hotswap/info.json
+++ b/keyboards/bubble75/hotswap/info.json
@@ -13,7 +13,36 @@
"pin": "B7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "E6", "F0", "D0", "D1", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c
index 065268c531..b14878ff22 100644
--- a/keyboards/canary/canary60rgb/canary60rgb.c
+++ b/keyboards/canary/canary60rgb/canary60rgb.c
@@ -16,74 +16,74 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, J_14, K_14, L_14 },
- { 0, J_13, K_13, L_13 },
- { 0, J_12, K_12, L_12 },
- { 0, J_11, K_11, L_11 },
- { 0, J_10, K_10, L_10 },
- { 0, J_9, K_9, L_9 },
- { 0, J_8, K_8, L_8 },
- { 0, J_7, K_7, L_7 },
- { 0, J_6, K_6, L_6 },
- { 0, J_5, K_5, L_5 },
- { 0, J_4, K_4, L_4 },
- { 0, J_3, K_3, L_3 },
- { 0, J_2, K_2, L_2 },
- { 0, J_1, K_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW10_CS14, SW11_CS14, SW12_CS14 },
+ { 0, SW10_CS13, SW11_CS13, SW12_CS13 },
+ { 0, SW10_CS12, SW11_CS12, SW12_CS12 },
+ { 0, SW10_CS11, SW11_CS11, SW12_CS11 },
+ { 0, SW10_CS10, SW11_CS10, SW12_CS10 },
+ { 0, SW10_CS9, SW11_CS9, SW12_CS9 },
+ { 0, SW10_CS8, SW11_CS8, SW12_CS8 },
+ { 0, SW10_CS7, SW11_CS7, SW12_CS7 },
+ { 0, SW10_CS6, SW11_CS6, SW12_CS6 },
+ { 0, SW10_CS5, SW11_CS5, SW12_CS5 },
+ { 0, SW10_CS4, SW11_CS4, SW12_CS4 },
+ { 0, SW10_CS3, SW11_CS3, SW12_CS3 },
+ { 0, SW10_CS2, SW11_CS2, SW12_CS2 },
+ { 0, SW10_CS1, SW11_CS1, SW12_CS1 },
- { 0, G_14, H_14, I_14 },
- { 0, G_13, H_13, I_13 },
- { 0, G_12, H_12, I_12 },
- { 0, G_11, H_11, I_11 },
- { 0, G_10, H_10, I_10 },
- { 0, G_9, H_9, I_9 },
- { 0, G_8, H_8, I_8 },
- { 0, G_7, H_7, I_7 },
- { 0, G_6, H_6, I_6 },
- { 0, G_5, H_5, I_5 },
- { 0, G_4, H_4, I_4 },
- { 0, G_3, H_3, I_3 },
- { 0, G_2, H_2, I_2 },
- { 0, G_1, H_1, I_1 },
+ { 0, SW7_CS14, SW8_CS14, SW9_CS14 },
+ { 0, SW7_CS13, SW8_CS13, SW9_CS13 },
+ { 0, SW7_CS12, SW8_CS12, SW9_CS12 },
+ { 0, SW7_CS11, SW8_CS11, SW9_CS11 },
+ { 0, SW7_CS10, SW8_CS10, SW9_CS10 },
+ { 0, SW7_CS9, SW8_CS9, SW9_CS9 },
+ { 0, SW7_CS8, SW8_CS8, SW9_CS8 },
+ { 0, SW7_CS7, SW8_CS7, SW9_CS7 },
+ { 0, SW7_CS6, SW8_CS6, SW9_CS6 },
+ { 0, SW7_CS5, SW8_CS5, SW9_CS5 },
+ { 0, SW7_CS4, SW8_CS4, SW9_CS4 },
+ { 0, SW7_CS3, SW8_CS3, SW9_CS3 },
+ { 0, SW7_CS2, SW8_CS2, SW9_CS2 },
+ { 0, SW7_CS1, SW8_CS1, SW9_CS1 },
- { 0, D_14, E_14, F_14 },
- { 0, D_12, E_12, F_12 },
- { 0, D_11, E_11, F_11 },
- { 0, D_10, E_10, F_10 },
- { 0, D_9, E_9, F_9 },
- { 0, D_8, E_8, F_8 },
- { 0, D_7, E_7, F_7 },
- { 0, D_6, E_6, F_6 },
- { 0, D_5, E_5, F_5 },
- { 0, D_4, E_4, F_4 },
- { 0, D_3, E_3, F_3 },
- { 0, D_2, E_2, F_2 },
- { 0, D_1, E_1, F_1 },
+ { 0, SW4_CS14, SW5_CS14, SW6_CS14 },
+ { 0, SW4_CS12, SW5_CS12, SW6_CS12 },
+ { 0, SW4_CS11, SW5_CS11, SW6_CS11 },
+ { 0, SW4_CS10, SW5_CS10, SW6_CS10 },
+ { 0, SW4_CS9, SW5_CS9, SW6_CS9 },
+ { 0, SW4_CS8, SW5_CS8, SW6_CS8 },
+ { 0, SW4_CS7, SW5_CS7, SW6_CS7 },
+ { 0, SW4_CS6, SW5_CS6, SW6_CS6 },
+ { 0, SW4_CS5, SW5_CS5, SW6_CS5 },
+ { 0, SW4_CS4, SW5_CS4, SW6_CS4 },
+ { 0, SW4_CS3, SW5_CS3, SW6_CS3 },
+ { 0, SW4_CS2, SW5_CS2, SW6_CS2 },
+ { 0, SW4_CS1, SW5_CS1, SW6_CS1 },
- { 0, A_14, B_14, C_14 },
- { 0, A_13, B_13, C_13 },
- { 0, A_11, B_11, C_11 },
- { 0, A_10, B_10, C_10 },
- { 0, A_9, B_9, C_9 },
- { 0, A_8, B_8, C_8 },
- { 0, A_7, B_7, C_7 },
- { 0, A_6, B_6, C_6 },
- { 0, A_5, B_5, C_5 },
- { 0, A_4, B_4, C_4 },
- { 0, A_3, B_3, C_3 },
- { 0, A_2, B_2, C_2 },
- { 0, A_1, B_1, C_1 },
+ { 0, SW1_CS14, SW2_CS14, SW3_CS14 },
+ { 0, SW1_CS13, SW2_CS13, SW3_CS13 },
+ { 0, SW1_CS11, SW2_CS11, SW3_CS11 },
+ { 0, SW1_CS10, SW2_CS10, SW3_CS10 },
+ { 0, SW1_CS9, SW2_CS9, SW3_CS9 },
+ { 0, SW1_CS8, SW2_CS8, SW3_CS8 },
+ { 0, SW1_CS7, SW2_CS7, SW3_CS7 },
+ { 0, SW1_CS6, SW2_CS6, SW3_CS6 },
+ { 0, SW1_CS5, SW2_CS5, SW3_CS5 },
+ { 0, SW1_CS4, SW2_CS4, SW3_CS4 },
+ { 0, SW1_CS3, SW2_CS3, SW3_CS3 },
+ { 0, SW1_CS2, SW2_CS2, SW3_CS2 },
+ { 0, SW1_CS1, SW2_CS1, SW3_CS1 },
- { 0, A_15, B_15, C_15 },
- { 0, D_13, E_13, F_13 },
- { 0, A_12, B_12, C_12 },
- { 0, D_15, E_15, F_15 },
- { 0, G_15, H_15, I_15 },
- { 0, A_16, B_16, C_16 },
- { 0, D_16, E_16, F_16 },
- { 0, G_16, H_16, I_16 },
- { 0, J_16, K_16, L_16 }
+ { 0, SW1_CS15, SW2_CS15, SW3_CS15 },
+ { 0, SW4_CS13, SW5_CS13, SW6_CS13 },
+ { 0, SW1_CS12, SW2_CS12, SW3_CS12 },
+ { 0, SW4_CS15, SW5_CS15, SW6_CS15 },
+ { 0, SW7_CS15, SW8_CS15, SW9_CS15 },
+ { 0, SW1_CS16, SW2_CS16, SW3_CS16 },
+ { 0, SW4_CS16, SW5_CS16, SW6_CS16 },
+ { 0, SW7_CS16, SW8_CS16, SW9_CS16 },
+ { 0, SW10_CS16, SW11_CS16, SW12_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json
index 7f19520ac3..fc973b8810 100644
--- a/keyboards/canary/canary60rgb/info.json
+++ b/keyboards/canary/canary60rgb/info.json
@@ -30,7 +30,40 @@
"pin": "B6"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "flower_blooming": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/canary/canary60rgb/keymaps/via/config.h b/keyboards/canary/canary60rgb/keymaps/via/config.h
index d3256bff33..2546add6da 100644
--- a/keyboards/canary/canary60rgb/keymaps/via/config.h
+++ b/keyboards/canary/canary60rgb/keymaps/via/config.h
@@ -16,5 +16,5 @@
#pragma once
-#define DISABLE_RGB_MATRIX_PIXEL_FLOW
+#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h
index ab5c817000..3550dd64d3 100644
--- a/keyboards/canary/canary60rgb/v1/config.h
+++ b/keyboards/canary/canary60rgb/v1/config.h
@@ -13,26 +13,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
- #pragma once
+#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define DISABLE_RGB_MATRIX_BAND_SAT
-# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define DISABLE_RGB_MATRIX_SPLASH
-# define DISABLE_RGB_MATRIX_MULTISPLASH
-# define DISABLE_RGB_MATRIX_SOLID_SPLASH
-# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 63
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h
index 0f2582901b..4b007cf387 100644
--- a/keyboards/cannonkeys/balance/config.h
+++ b/keyboards/cannonkeys/balance/config.h
@@ -22,8 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/bastion60/config.h b/keyboards/cannonkeys/bastion60/config.h
index 206ca9cf56..f410fb5325 100644
--- a/keyboards/cannonkeys/bastion60/config.h
+++ b/keyboards/cannonkeys/bastion60/config.h
@@ -10,5 +10,3 @@
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
-
-#define WS2812_PIO_USE_PIO1
diff --git a/keyboards/cannonkeys/bastion65/config.h b/keyboards/cannonkeys/bastion65/config.h
index 0b93d1434b..640aa33134 100644
--- a/keyboards/cannonkeys/bastion65/config.h
+++ b/keyboards/cannonkeys/bastion65/config.h
@@ -24,5 +24,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
-
-#define WS2812_PIO_USE_PIO1
diff --git a/keyboards/cannonkeys/bastion75/config.h b/keyboards/cannonkeys/bastion75/config.h
index 0b93d1434b..640aa33134 100644
--- a/keyboards/cannonkeys/bastion75/config.h
+++ b/keyboards/cannonkeys/bastion75/config.h
@@ -24,5 +24,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
-
-#define WS2812_PIO_USE_PIO1
diff --git a/keyboards/cannonkeys/brutalv2_1800/config.h b/keyboards/cannonkeys/brutalv2_1800/config.h
index 9ac66b5624..17bba21f22 100644
--- a/keyboards/cannonkeys/brutalv2_1800/config.h
+++ b/keyboards/cannonkeys/brutalv2_1800/config.h
@@ -20,6 +20,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
-
diff --git a/keyboards/cannonkeys/hoodrowg/config.h b/keyboards/cannonkeys/hoodrowg/config.h
index 3b78decb27..dabdb5ee30 100644
--- a/keyboards/cannonkeys/hoodrowg/config.h
+++ b/keyboards/cannonkeys/hoodrowg/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
new file mode 100644
index 0000000000..e148ae468a
--- /dev/null
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
@@ -0,0 +1,393 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "satisfaction_core.h"
+#include "print.h"
+#include "debug.h"
+
+#include <ch.h>
+#include <hal.h>
+
+#include "timer.h"
+
+#include "raw_hid.h"
+#include "dynamic_keymap.h"
+#include "eeprom.h"
+#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
+
+/* Artificial delay added to get media keys to work in the encoder*/
+#define MEDIA_KEY_DELAY 10
+
+volatile uint8_t led_numlock = false;
+volatile uint8_t led_capslock = false;
+volatile uint8_t led_scrolllock = false;
+
+uint8_t layer;
+
+bool clock_set_mode = false;
+uint8_t oled_mode = OLED_DEFAULT;
+bool oled_repaint_requested = false;
+bool oled_wakeup_requested = false;
+uint32_t oled_sleep_timer;
+
+uint8_t encoder_value = 32;
+uint8_t encoder_mode = ENC_MODE_VOLUME;
+uint8_t enabled_encoder_modes = 0x1F;
+
+RTCDateTime last_timespec;
+uint16_t last_minute = 0;
+
+uint8_t time_config_idx = 0;
+int8_t hour_config = 0;
+int16_t minute_config = 0;
+int8_t year_config = 0;
+int8_t month_config = 0;
+int8_t day_config = 0;
+uint8_t previous_encoder_mode = 0;
+
+void board_init(void) {
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+}
+
+void keyboard_post_init_kb(void) {
+ /*
+ This is a workaround to some really weird behavior
+ Without this code, the OLED will turn on, but not when you initially plug the keyboard in.
+ You have to manually trigger a user reset to get the OLED to initialize properly
+ I'm not sure what the root cause is at this time, but this workaround fixes it.
+ */
+ #ifdef OLED_ENABLE
+ if(!is_oled_on()){
+ wait_ms(3000);
+ oled_init(OLED_ROTATION_0);
+ }
+ #endif
+
+ keyboard_post_init_user();
+}
+
+#ifdef VIA_ENABLE
+void custom_set_value(uint8_t *data) {
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id ) {
+ case id_oled_default_mode:
+ {
+ eeprom_update_byte((uint8_t*)EEPROM_DEFAULT_OLED, value_data[0]);
+ break;
+ }
+ case id_oled_mode:
+ {
+ oled_mode = value_data[0];
+ oled_request_wakeup();
+ break;
+ }
+ case id_encoder_modes:
+ {
+ uint8_t index = value_data[0];
+ uint8_t enable = value_data[1];
+ enabled_encoder_modes = (enabled_encoder_modes & ~(1<<index)) | (enable<<index);
+ eeprom_update_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES, enabled_encoder_modes);
+ break;
+ }
+ case id_encoder_custom:
+ {
+ uint8_t custom_encoder_idx = value_data[0];
+ uint8_t encoder_behavior = value_data[1];
+ uint16_t keycode = (value_data[2] << 8) | value_data[3];
+ set_custom_encoder_config(custom_encoder_idx, encoder_behavior, keycode);
+ break;
+ }
+ }
+}
+
+void custom_get_value(uint8_t *data) {
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id ) {
+ case id_oled_default_mode:
+ {
+ uint8_t default_oled = eeprom_read_byte((uint8_t*)EEPROM_DEFAULT_OLED);
+ value_data[0] = default_oled;
+ break;
+ }
+ case id_oled_mode:
+ {
+ value_data[0] = oled_mode;
+ break;
+ }
+ case id_encoder_modes:
+ {
+ uint8_t index = value_data[0];
+ value_data[1] = (enabled_encoder_modes & (1<<index)) ? 1 : 0;
+ break;
+ }
+ case id_encoder_custom:
+ {
+ uint8_t custom_encoder_idx = value_data[0];
+ uint8_t encoder_behavior = value_data[1];
+ uint16_t keycode = retrieve_custom_encoder_config(custom_encoder_idx, encoder_behavior);
+ value_data[2] = keycode >> 8;
+ value_data[3] = keycode & 0xFF;
+ break;
+ }
+ }
+}
+
+void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
+ uint8_t *command_id = &(data[0]);
+ uint8_t *channel_id = &(data[1]);
+ uint8_t *value_id_and_data = &(data[2]);
+
+ if ( *channel_id == id_custom_channel ) {
+ switch ( *command_id )
+ {
+ case id_custom_set_value:
+ {
+ custom_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value:
+ {
+ custom_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save:
+ {
+ // values are saved in custom_set_value()
+ break;
+ }
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ *command_id = id_unhandled;
+
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
+#endif
+
+
+void read_host_led_state(void) {
+ led_t led_state = host_keyboard_led_state();
+ if (led_state.num_lock) {
+ if (led_numlock == false){
+ led_numlock = true;}
+ } else {
+ if (led_numlock == true){
+ led_numlock = false;}
+ }
+ if (led_state.caps_lock) {
+ if (led_capslock == false){
+ led_capslock = true;}
+ } else {
+ if (led_capslock == true){
+ led_capslock = false;}
+ }
+ if (led_state.scroll_lock) {
+ if (led_scrolllock == false){
+ led_scrolllock = true;}
+ } else {
+ if (led_scrolllock == true){
+ led_scrolllock = false;}
+ }
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+ layer = get_highest_layer(state);
+ oled_request_wakeup();
+ return state;
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ oled_request_wakeup();
+ switch (keycode) {
+ case OLED_TOGG:
+ if(!clock_set_mode){
+ if (record->event.pressed) {
+ oled_mode = (oled_mode + 1) % _NUM_OLED_MODES;
+ }
+ }
+ return false;
+ case CLOCK_SET:
+ if (record->event.pressed) {
+ if(clock_set_mode){
+ pre_encoder_mode_change();
+ clock_set_mode = false;
+ encoder_mode = previous_encoder_mode;
+ post_encoder_mode_change();
+
+ }else{
+ previous_encoder_mode = encoder_mode;
+ pre_encoder_mode_change();
+ clock_set_mode = true;
+ encoder_mode = ENC_MODE_CLOCK_SET;
+ post_encoder_mode_change();
+ }
+ }
+ return false;
+ case ENC_PRESS:
+ if (record->event.pressed) {
+ uint16_t mapped_code = handle_encoder_press();
+ uint16_t held_keycode_timer = timer_read();
+ if(mapped_code != 0){
+ register_code16(mapped_code);
+ while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
+ unregister_code16(mapped_code);
+ }
+ } else {
+ // Do something else when release
+ }
+ return false;
+ default:
+ break;
+ }
+
+ return process_record_user(keycode, record);
+}
+
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) return false;
+ oled_request_wakeup();
+ encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64;
+ if (index == 0) {
+ if (layer == 0){
+ uint16_t mapped_code = 0;
+ if (clockwise) {
+ mapped_code = handle_encoder_clockwise();
+ } else {
+ mapped_code = handle_encoder_ccw();
+ }
+ uint16_t held_keycode_timer = timer_read();
+ if(mapped_code != 0){
+ register_code16(mapped_code);
+ while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
+ unregister_code16(mapped_code);
+ }
+ } else {
+ if(clockwise){
+ change_encoder_mode(false);
+ } else {
+ change_encoder_mode(true);
+ }
+ }
+ }
+ return true;
+}
+
+void custom_config_reset(void){
+ void *p = (void*)(VIA_EEPROM_CUSTOM_CONFIG_ADDR);
+ void *end = (void*)(VIA_EEPROM_CUSTOM_CONFIG_ADDR+VIA_EEPROM_CUSTOM_CONFIG_SIZE);
+ while ( p != end ) {
+ eeprom_update_byte(p, 0);
+ ++p;
+ }
+ eeprom_update_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES, 0x1F);
+}
+
+void custom_config_load(void){
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ oled_mode = eeprom_read_byte((uint8_t*)EEPROM_DEFAULT_OLED);
+ enabled_encoder_modes = eeprom_read_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES);
+#endif
+}
+
+// Called from via_init() if VIA_ENABLE
+// Called from matrix_init_kb() if not VIA_ENABLE
+void via_init_kb(void)
+{
+ // This checks both an EEPROM reset (from bootmagic lite, keycodes)
+ // and also firmware build date (from via_eeprom_is_valid())
+ if (eeconfig_is_enabled()) {
+ custom_config_load();
+ } else {
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ // Reset the custom stuff
+ custom_config_reset();
+#endif
+ // DO NOT set EEPROM valid here, let caller do this
+ }
+}
+
+void matrix_init_kb(void)
+{
+#ifndef VIA_ENABLE
+ via_init_kb();
+ via_eeprom_set_valid(true);
+#endif // VIA_ENABLE
+
+ rtcGetTime(&RTCD1, &last_timespec);
+ matrix_init_user();
+ oled_request_wakeup();
+}
+
+
+void housekeeping_task_kb(void) {
+ rtcGetTime(&RTCD1, &last_timespec);
+ uint16_t minutes_since_midnight = last_timespec.millisecond / 1000 / 60;
+
+ if (minutes_since_midnight != last_minute){
+ last_minute = minutes_since_midnight;
+ oled_request_repaint();
+ }
+}
+
+//
+// In the case of VIA being disabled, we still need to check if
+// keyboard level EEPROM memory is valid before loading.
+// Thus these are copies of the same functions in VIA, since
+// the backlight settings reuse VIA's EEPROM magic/version,
+// and the ones in via.c won't be compiled in.
+//
+// Yes, this is sub-optimal, and is only here for completeness
+// (i.e. catering to the 1% of people that want wilba.tech LED bling
+// AND want persistent settings BUT DON'T want to use dynamic keymaps/VIA).
+//
+#ifndef VIA_ENABLE
+
+bool via_eeprom_is_valid(void)
+{
+ char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
+ uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
+ uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
+ uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
+
+ return (eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0 ) == magic0 &&
+ eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1 ) == magic1 &&
+ eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2 ) == magic2 );
+}
+
+// Sets VIA/keyboard level usage of EEPROM to valid/invalid
+// Keyboard level code (eg. via_init_kb()) should not call this
+void via_eeprom_set_valid(bool valid)
+{
+ char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
+ uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
+ uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
+ uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
+
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0, valid ? magic0 : 0xFF);
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1, valid ? magic1 : 0xFF);
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2, valid ? magic2 : 0xFF);
+}
+
+void via_eeprom_reset(void)
+{
+ // Set the VIA specific EEPROM state as invalid.
+ via_eeprom_set_valid(false);
+ // Set the TMK/QMK EEPROM state as invalid.
+ eeconfig_disable();
+}
+
+#endif // VIA_ENABLE
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
new file mode 100644
index 0000000000..9c46642195
--- /dev/null
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
@@ -0,0 +1,95 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#include "via.h" // only for EEPROM address
+#include "satisfaction_keycodes.h"
+
+#define EEPROM_ENABLED_ENCODER_MODES (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
+#define EEPROM_DEFAULT_OLED (VIA_EEPROM_CUSTOM_CONFIG_ADDR+1)
+#define EEPROM_CUSTOM_ENCODER (VIA_EEPROM_CUSTOM_CONFIG_ADDR+2)
+
+enum s75_keyboard_value_id {
+ id_encoder_modes = 1,
+ id_oled_default_mode,
+ id_encoder_custom,
+ id_oled_mode
+};
+
+enum encoder_modes {
+ ENC_MODE_VOLUME,
+ ENC_MODE_MEDIA,
+ ENC_MODE_SCROLL,
+ ENC_MODE_BRIGHTNESS,
+ ENC_MODE_BACKLIGHT,
+ ENC_MODE_CUSTOM0,
+ ENC_MODE_CUSTOM1,
+ ENC_MODE_CUSTOM2,
+ _NUM_ENCODER_MODES,
+ ENC_MODE_CLOCK_SET // This shouldn't be included in the default modes, so we put it after NUM_ENCODER_MODES
+};
+
+enum custom_encoder_behavior {
+ ENC_CUSTOM_CW,
+ ENC_CUSTOM_CCW,
+ ENC_CUSTOM_PRESS
+};
+
+enum oled_modes {
+ OLED_DEFAULT,
+ OLED_TIME,
+ OLED_OFF,
+ _NUM_OLED_MODES
+};
+
+
+// Keyboard Information
+extern volatile uint8_t led_numlock;
+extern volatile uint8_t led_capslock;
+extern volatile uint8_t led_scrolllock;
+extern uint8_t layer;
+
+// OLED Behavior
+extern uint8_t oled_mode;
+extern bool oled_repaint_requested;
+extern bool oled_wakeup_requested;
+extern uint32_t oled_sleep_timer;
+
+// Encoder Behavior
+extern uint8_t encoder_value;
+extern uint8_t encoder_mode;
+extern uint8_t enabled_encoder_modes;
+
+// RTC
+extern RTCDateTime last_timespec;
+extern uint16_t last_minute;
+
+// RTC Configuration
+extern bool clock_set_mode;
+extern uint8_t time_config_idx;
+extern int8_t hour_config;
+extern int16_t minute_config;
+extern int8_t year_config;
+extern int8_t month_config;
+extern int8_t day_config;
+extern uint8_t previous_encoder_mode;
+
+void pre_encoder_mode_change(void);
+void post_encoder_mode_change(void);
+void change_encoder_mode(bool negative);
+uint16_t handle_encoder_clockwise(void);
+uint16_t handle_encoder_ccw(void);
+uint16_t handle_encoder_press(void);
+uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior);
+void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code);
+
+void update_time_config(int8_t increment);
+
+void oled_request_wakeup(void);
+void oled_request_repaint(void);
+bool oled_task_needs_to_repaint(void);
+
+void custom_config_load(void);
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
new file mode 100644
index 0000000000..7122091ea3
--- /dev/null
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -0,0 +1,231 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "satisfaction_core.h"
+#include "eeprom.h"
+
+void pre_encoder_mode_change(void){
+ if(encoder_mode == ENC_MODE_CLOCK_SET){
+ RTCDateTime timespec;
+ timespec.year = year_config;
+ timespec.month = month_config;
+ timespec.day = day_config;
+ // timespec.dayofweek = last_timespec.dayofweek;
+ // timespec.dstflag = last_timespec.dstflag;
+ timespec.millisecond = (hour_config * 60 + minute_config) * 60 * 1000;
+ rtcSetTime(&RTCD1, &timespec);
+ }
+}
+
+void post_encoder_mode_change(void){
+ if(encoder_mode == ENC_MODE_CLOCK_SET){
+ hour_config = (last_minute / 60);
+ minute_config = last_minute % 60;
+ year_config = last_timespec.year;
+ month_config = last_timespec.month;
+ day_config = last_timespec.day;
+ time_config_idx = 0;
+ }
+}
+
+void change_encoder_mode(bool negative){
+ pre_encoder_mode_change();
+ if(enabled_encoder_modes == 0){
+ enabled_encoder_modes = 0x1F;
+ }
+ do {
+ if(negative){
+ if (encoder_mode == 0){
+ encoder_mode = _NUM_ENCODER_MODES - 1;
+ } else{
+ encoder_mode = encoder_mode - 1;
+ }
+ } else {
+ encoder_mode = (encoder_mode + 1) % _NUM_ENCODER_MODES;
+ }
+ } while(((1 << encoder_mode) & enabled_encoder_modes) == 0);
+ post_encoder_mode_change();
+}
+
+void update_time_config(int8_t increment){
+ uint8_t day_limit = 31;
+ uint16_t adjusted_year = 1980 + year_config;
+ switch(time_config_idx){
+ case 0: // hour
+ default:
+ hour_config = (hour_config + increment) % 24;
+ if (hour_config < 0){
+ hour_config += 24;
+ }
+ break;
+ case 1: // minute
+ minute_config = (minute_config + increment) % 60;
+ if (minute_config < 0){
+ minute_config += 60;
+ }
+ break;
+ case 2: // year
+ year_config += increment;
+ break;
+ case 3: // month
+ month_config = (month_config % 12) + increment;
+ if (month_config <= 0){
+ month_config += 12;
+ }
+ break;
+ case 4: //day
+ if (month_config == 9 || month_config == 4 || month_config == 6 || month_config == 11){
+ day_limit = 30;
+ } else if(month_config == 2){
+ day_limit = adjusted_year % 4 == 0 && !(adjusted_year % 100 == 0 && adjusted_year % 400 != 0) ? 29 : 28;
+ }
+ day_config = (day_config % day_limit) + increment;
+ if(day_config <= 0){
+ day_config += day_limit;
+ }
+ break;
+ }
+}
+
+uint16_t handle_encoder_clockwise(void){
+ uint16_t mapped_code = 0;
+ switch(encoder_mode){
+ default:
+ case ENC_MODE_VOLUME:
+ mapped_code = KC_VOLU;
+ break;
+ case ENC_MODE_MEDIA:
+ mapped_code = KC_MEDIA_NEXT_TRACK;
+ break;
+ case ENC_MODE_SCROLL:
+ mapped_code = KC_WH_D;
+ break;
+#ifdef BACKLIGHT_ENABLE
+ case ENC_MODE_BACKLIGHT:
+ backlight_increase();
+ if(get_backlight_level() != 0){
+ backlight_enable();
+ }
+ break;
+#endif
+ case ENC_MODE_BRIGHTNESS:
+ mapped_code = KC_BRIGHTNESS_UP;
+ break;
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ case ENC_MODE_CUSTOM0:
+ mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_CW);
+ break;
+ case ENC_MODE_CUSTOM1:
+ mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_CW);
+ break;
+ case ENC_MODE_CUSTOM2:
+ mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_CW);
+ break;
+#endif
+ case ENC_MODE_CLOCK_SET:
+ update_time_config(1);
+ break;
+ }
+ return mapped_code;
+}
+
+uint16_t handle_encoder_ccw(void){
+ uint16_t mapped_code = 0;
+ switch(encoder_mode){
+ default:
+ case ENC_MODE_VOLUME:
+ mapped_code = KC_VOLD;
+ break;
+ case ENC_MODE_MEDIA:
+ mapped_code = KC_MEDIA_PREV_TRACK;
+ break;
+ case ENC_MODE_SCROLL:
+ mapped_code = KC_WH_U;
+ break;
+#ifdef BACKLIGHT_ENABLE
+ case ENC_MODE_BACKLIGHT:
+ backlight_decrease();
+ if(get_backlight_level() == 0){
+ backlight_disable();
+ }
+ break;
+#endif
+ case ENC_MODE_BRIGHTNESS:
+ mapped_code = KC_BRIGHTNESS_DOWN;
+ break;
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ case ENC_MODE_CUSTOM0:
+ mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_CCW);
+ break;
+ case ENC_MODE_CUSTOM1:
+ mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_CCW);
+ break;
+ case ENC_MODE_CUSTOM2:
+ mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_CCW);
+ break;
+#endif
+
+ case ENC_MODE_CLOCK_SET:
+ update_time_config(-1);
+ break;
+ }
+ return mapped_code;
+}
+
+uint16_t handle_encoder_press(void){
+ uint16_t mapped_code = 0;
+ switch(encoder_mode){
+ case ENC_MODE_VOLUME:
+ mapped_code = KC_MUTE;
+ break;
+ default:
+ case ENC_MODE_MEDIA:
+ mapped_code = KC_MEDIA_PLAY_PAUSE;
+ break;
+ case ENC_MODE_SCROLL:
+ mapped_code = KC_BTN3;
+ break;
+#ifdef BACKLIGHT_ENABLE
+ case ENC_MODE_BACKLIGHT:
+ breathing_toggle();
+ break;
+#endif
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ case ENC_MODE_CUSTOM0:
+ mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_PRESS);
+ break;
+ case ENC_MODE_CUSTOM1:
+ mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_PRESS);
+ break;
+ case ENC_MODE_CUSTOM2:
+ mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_PRESS);
+ break;
+#endif
+ case ENC_MODE_CLOCK_SET:
+ time_config_idx = (time_config_idx + 1) % 5;
+ case ENC_MODE_BRIGHTNESS:
+ break;
+ }
+ return mapped_code;
+}
+
+
+uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior){
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2));
+ //big endian
+ uint16_t keycode = eeprom_read_byte(addr) << 8;
+ keycode |= eeprom_read_byte(addr + 1);
+ return keycode;
+#else
+ return 0;
+#endif
+}
+
+void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code){
+#ifdef DYNAMIC_KEYMAP_ENABLE
+ void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2));
+ eeprom_update_byte(addr, (uint8_t)(new_code >> 8));
+ eeprom_update_byte(addr + 1, (uint8_t)(new_code & 0xFF));
+#endif
+}
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_keycodes.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_keycodes.h
new file mode 100644
index 0000000000..53f9facfc8
--- /dev/null
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_keycodes.h
@@ -0,0 +1,10 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+enum my_keycodes {
+ ENC_PRESS = QK_KB_0,
+ CLOCK_SET,
+ OLED_TOGG
+};
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
new file mode 100644
index 0000000000..18ae368e53
--- /dev/null
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
@@ -0,0 +1,279 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "satisfaction_core.h"
+#include <stdio.h>
+
+void draw_default(void);
+void draw_clock(void);
+
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_0; }
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) { return false; }
+ if (!oled_task_needs_to_repaint()) {
+ return false;
+ }
+ oled_clear();
+ if (clock_set_mode) {
+ draw_clock();
+ return false;
+ }
+ switch (oled_mode) {
+ default:
+ case OLED_DEFAULT:
+ draw_default();
+ break;
+ case OLED_TIME:
+ draw_clock();
+ break;
+ }
+ return false;
+}
+
+// Request a repaint of the OLED image without resetting the OLED sleep timer.
+// Used for things like clock updates that should not keep the OLED turned on
+// if there is no other activity.
+void oled_request_repaint(void) {
+ if (is_oled_on()) {
+ oled_repaint_requested = true;
+ }
+}
+
+// Request a repaint of the OLED image and reset the OLED sleep timer.
+// Needs to be called after any activity that should keep the OLED turned on.
+void oled_request_wakeup(void) {
+ oled_wakeup_requested = true;
+}
+
+// Check whether oled_task_user() needs to repaint the OLED image. This
+// function should be called at the start of oled_task_user(); it also handles
+// the OLED sleep timer and the OLED_OFF mode.
+bool oled_task_needs_to_repaint(void) {
+ // In the OLED_OFF mode the OLED is kept turned off; any wakeup requests
+ // are ignored.
+ if ((oled_mode == OLED_OFF) && !clock_set_mode) {
+ oled_wakeup_requested = false;
+ oled_repaint_requested = false;
+ oled_off();
+ return false;
+ }
+
+ // If OLED wakeup was requested, reset the sleep timer and do a repaint.
+ if (oled_wakeup_requested) {
+ oled_wakeup_requested = false;
+ oled_repaint_requested = false;
+ oled_sleep_timer = timer_read32() + CUSTOM_OLED_TIMEOUT;
+ oled_on();
+ return true;
+ }
+
+ // If OLED repaint was requested, just do a repaint without touching the
+ // sleep timer.
+ if (oled_repaint_requested) {
+ oled_repaint_requested = false;
+ return true;
+ }
+
+ // If the OLED is currently off, skip the repaint (which would turn the
+ // OLED on if the image is changed in any way).
+ if (!is_oled_on()) {
+ return false;
+ }
+
+ // If the sleep timer has expired while the OLED was on, turn the OLED off.
+ if (timer_expired32(timer_read32(), oled_sleep_timer)) {
+ oled_off();
+ return false;
+ }
+
+ // Always perform a repaint if the OLED is currently on. (This can
+ // potentially be optimized to avoid unneeded repaints if all possible
+ // state changes are covered by oled_request_repaint() or
+ // oled_request_wakeup(), but then any missed calls to these functions
+ // would result in displaying a stale image.)
+ return true;
+}
+
+
+static void draw_line_h(uint8_t x, uint8_t y, uint8_t len) {
+ for (uint8_t i = 0; i < len; i++) {
+ oled_write_pixel(i + x, y, true);
+ }
+}
+
+static void draw_line_v(uint8_t x, uint8_t y, uint8_t len) {
+ for (uint8_t i = 0; i < len; i++) {
+ oled_write_pixel(x, i + y, true);
+ }
+}
+
+static char* get_enc_mode(void) {
+ switch (encoder_mode) {
+ default:
+ case ENC_MODE_VOLUME:
+ return "VOL";
+ case ENC_MODE_MEDIA:
+ return "MED";
+ case ENC_MODE_SCROLL:
+ return "SCR";
+ case ENC_MODE_BRIGHTNESS:
+ return "BRT";
+ case ENC_MODE_BACKLIGHT:
+ return "BKL";
+ case ENC_MODE_CLOCK_SET:
+ return "CLK";
+ case ENC_MODE_CUSTOM0:
+ return "CS0";
+ case ENC_MODE_CUSTOM1:
+ return "CS1";
+ case ENC_MODE_CUSTOM2:
+ return "CS2";
+ }
+}
+
+static char* get_time(void) {
+ uint8_t hour = last_minute / 60;
+ uint16_t minute = last_minute % 60;
+
+ if (encoder_mode == ENC_MODE_CLOCK_SET) {
+ hour = hour_config;
+ minute = minute_config;
+ }
+
+ bool is_pm = (hour / 12) > 0;
+ hour = hour % 12;
+ if (hour == 0) {
+ hour = 12;
+ }
+
+ static char time_str[8] = "";
+ snprintf(time_str, sizeof(time_str), "%02hhu:%02hu%s", hour, minute, is_pm ? "pm" : "am");
+
+ return time_str;
+}
+
+static char* get_date(void) {
+ int16_t year = last_timespec.year + 1980;
+ int8_t month = last_timespec.month;
+ int8_t day = last_timespec.day;
+
+ if (encoder_mode == ENC_MODE_CLOCK_SET) {
+ year = year_config + 1980;
+ month = month_config;
+ day = day_config;
+ }
+
+ static char date_str[11] = "";
+ snprintf(date_str, sizeof(date_str), "%04hd-%02hhd-%02hhd", year, month, day);
+
+ return date_str;
+}
+
+void draw_default(void) {
+ oled_write_P(PSTR("LAYER "), false);
+ oled_write_char(get_highest_layer(layer_state) + 0x30, true);
+
+ oled_write_P(PSTR(" ENC "), false);
+ oled_write(get_enc_mode(), true);
+
+ led_t led_state = host_keyboard_led_state();
+ oled_set_cursor(18, 0);
+ oled_write_P(PSTR("CAP"), led_state.caps_lock);
+ oled_set_cursor(18, 1);
+ oled_write_P(PSTR("SCR"), led_state.scroll_lock);
+
+ uint8_t mod_state = get_mods();
+ oled_set_cursor(6, 3);
+ oled_write_P(PSTR("S"), mod_state & MOD_MASK_SHIFT);
+ oled_advance_char();
+ oled_write_P(PSTR("C"), mod_state & MOD_MASK_CTRL);
+ oled_advance_char();
+ oled_write_P(PSTR("A"), mod_state & MOD_MASK_ALT);
+ oled_advance_char();
+ oled_write_P(PSTR("G"), mod_state & MOD_MASK_GUI);
+ oled_advance_char();
+
+ oled_write(get_time(), false);
+
+/* Matrix display is 12 x 12 pixels */
+#define MATRIX_DISPLAY_X 0
+#define MATRIX_DISPLAY_Y 18
+
+ // matrix
+ for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ for (uint8_t y = 0; y < MATRIX_COLS; y++) {
+ bool on = (matrix_get_row(x) & (1 << y)) > 0;
+ oled_write_pixel(MATRIX_DISPLAY_X + y + 2, MATRIX_DISPLAY_Y + x + 2, on);
+ }
+ }
+
+ // outline
+ draw_line_h(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y, 19);
+ draw_line_h(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y + 9, 19);
+ draw_line_v(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y, 9);
+ draw_line_v(MATRIX_DISPLAY_X + 19, MATRIX_DISPLAY_Y, 9);
+
+ // oled location
+ draw_line_h(MATRIX_DISPLAY_X + 14, MATRIX_DISPLAY_Y + 2, 3);
+
+ // bodge extra lines for invert layer and enc mode
+ draw_line_v(35, 0, 8);
+ draw_line_v(71, 0, 8);
+}
+
+void draw_clock(void) {
+ oled_set_cursor(0, 0);
+ oled_write(get_date(), false);
+ oled_set_cursor(0, 2);
+ oled_write(get_time(), false);
+
+ oled_set_cursor(12, 0);
+ oled_write_P(PSTR(" ENC "), false);
+ oled_write(get_enc_mode(), true);
+
+ oled_set_cursor(13, 1);
+ oled_write_P(PSTR("LAYER "), false);
+ oled_write_char(get_highest_layer(layer_state) + 0x30, true);
+
+ led_t led_state = host_keyboard_led_state();
+ oled_set_cursor(15, 3);
+ oled_write_P(PSTR("CAPS"), led_state.caps_lock);
+
+ if (clock_set_mode) {
+ switch (time_config_idx) {
+ case 0: // hour
+ default:
+ draw_line_h(0, 25, 10);
+ break;
+ case 1: // minute
+ draw_line_h(18, 25, 10);
+ break;
+ case 2: // year
+ draw_line_h(0, 9, 24);
+ break;
+ case 3: // month
+ draw_line_h(30, 9, 10);
+ break;
+ case 4: // day
+ draw_line_h(48, 9, 10);
+ break;
+ }
+ }
+
+ // bodge extra lines for invert layer and enc mode
+ draw_line_v(101, 0, 8);
+ draw_line_v(113, 8, 8);
+}
+
+#else
+
+void oled_request_repaint(void){
+}
+
+void oled_request_wakeup(void){
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/cannonkeys/rekt1800/config.h b/keyboards/cannonkeys/rekt1800/config.h
index 7f21b3f8a8..a47b76953a 100644
--- a/keyboards/cannonkeys/rekt1800/config.h
+++ b/keyboards/cannonkeys/rekt1800/config.h
@@ -26,9 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/sagittarius/config.h b/keyboards/cannonkeys/sagittarius/config.h
index b8cdc797d0..f3d6237a78 100644
--- a/keyboards/cannonkeys/sagittarius/config.h
+++ b/keyboards/cannonkeys/sagittarius/config.h
@@ -31,8 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_SPI_SCK_PAL_MODE 0
#define WS2812_SPI_SCK_PIN B13
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/satisfaction75/chconf.h b/keyboards/cannonkeys/satisfaction75/chconf.h
index ca4a976c27..d1b9cf32b7 100644
--- a/keyboards/cannonkeys/satisfaction75/chconf.h
+++ b/keyboards/cannonkeys/satisfaction75/chconf.h
@@ -1,18 +1,5 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* This file was auto-generated by:
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 9005b064b7..1ca72c9c7c 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -1,19 +1,5 @@
-/*
-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/>.
-*/
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -23,6 +9,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* LSE clock */
#define STM32_LSECLK 32768
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 1
+
// I2C config
#define I2C_DRIVER I2CD1
#define I2C1_SCL_PIN B6
@@ -53,23 +43,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
// Custom config Usage:
// 1 for enabled encoder modes (1 byte)
-// 1 for custom backlighting controls (1 byte)
// 1 for OLED default mode (1 byte)
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
-/* disable print */
-//#define NO_PRINT
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/cannonkeys/satisfaction75/halconf.h b/keyboards/cannonkeys/satisfaction75/halconf.h
index aed3fef0a8..45fe60ab07 100644
--- a/keyboards/cannonkeys/satisfaction75/halconf.h
+++ b/keyboards/cannonkeys/satisfaction75/halconf.h
@@ -1,18 +1,5 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* This file was auto-generated by:
@@ -27,7 +14,5 @@
#define HAL_USE_RTC TRUE
-#define HAL_USE_SPI TRUE
-
#include_next <halconf.h>
diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json
index 60695b9ac7..a06faccd23 100644
--- a/keyboards/cannonkeys/satisfaction75/info.json
+++ b/keyboards/cannonkeys/satisfaction75/info.json
@@ -1,27 +1,27 @@
{
- "keyboard_name": "Satisfaction75",
"manufacturer": "CannonKeys",
- "url": "",
- "maintainer": "Cannon Keys",
- "usb": {
- "vid": "0xCA04",
- "pid": "0x57F5",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B1", "B2", "B10", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "B0", "A7", "A5", "B5", "A15", "A1"],
- "rows": ["B3", "B4", "A0", "A2", "A4", "A3"]
- },
- "diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "B9", "pin_b": "B8", "resolution": 2}
- ]
- },
+ "keyboard_name": "Satisfaction75",
+ "maintainer": "awkannan",
"backlight": {
+ "breathing": true,
"levels": 24,
- "breathing": true
+ "pin": "A6"
+ },
+ "bootloader": "stm32-dfu",
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "oled": true
},
"processor": "STM32F072",
- "bootloader": "stm32-dfu"
-}
+ "url": "https://cannonkeys.com",
+ "usb": {
+ "vid": "0xCA04"
+ }
+} \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c
index 0bdc0aa9e7..f1dc5ae8bb 100644
--- a/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/satisfaction75/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-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/>.
-*/
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/tester/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/tester/keymap.c
deleted file mode 100644
index c648333c3d..0000000000
--- a/keyboards/cannonkeys/satisfaction75/keymaps/tester/keymap.c
+++ /dev/null
@@ -1,37 +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 PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_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, ENC_PRESS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/tester/rules.mk b/keyboards/cannonkeys/satisfaction75/keymaps/tester/rules.mk
deleted file mode 100644
index 3357eb91c0..0000000000
--- a/keyboards/cannonkeys/satisfaction75/keymaps/tester/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-QWIIC_ENABLE = no
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c
index 47806ff8a2..61981c6521 100644
--- a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c
@@ -1,19 +1,5 @@
-/*
-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/>.
-*/
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
diff --git a/keyboards/cannonkeys/satisfaction75/led.c b/keyboards/cannonkeys/satisfaction75/led.c
deleted file mode 100644
index 68bfc99d2e..0000000000
--- a/keyboards/cannonkeys/satisfaction75/led.c
+++ /dev/null
@@ -1,256 +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_custom.h"
-#include "satisfaction75.h"
-
-#define BREATHING_PERIOD 6
-
-static void breathing_callback(PWMDriver *pwmp);
-
-static PWMConfig pwmCFG = {
- 0xFFFF, /* PWM clock frequency */
- 256, /* PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */
- NULL, /* No Callback */
- {
- {PWM_OUTPUT_ACTIVE_HIGH, NULL}, /* Enable Channel 0 */
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- },
- 0, /* HW dependent part.*/
- 0
-};
-
-static PWMConfig pwmCFG_breathing = {
- 0xFFFF, /* 10kHz PWM clock frequency */
- 256, /* PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */
- breathing_callback, /* Breathing Callback */
- {
- {PWM_OUTPUT_ACTIVE_HIGH, NULL}, /* Enable Channel 0 */
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- },
- 0, /* HW dependent part.*/
- 0
-};
-
-// See http://jared.geek.nz/2013/feb/linear-led-pwm
-static uint16_t cie_lightness(uint16_t v) {
- if (v <= 5243) // if below 8% of max
- return v / 9; // same as dividing by 900%
- else {
- uint32_t y = (((uint32_t) v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare
- // to get a useful result with integer division, we shift left in the expression above
- // and revert what we've done again after squaring.
- y = y * y * y >> 8;
- if (y > 0xFFFFUL) // prevent overflow
- return 0xFFFFU;
- else
- return (uint16_t) y;
- }
-}
-
-
-void backlight_init_ports(void) {
- palSetPadMode(GPIOA, 6, PAL_MODE_ALTERNATE(1));
- pwmStart(&PWMD3, &pwmCFG);
- if(kb_backlight_config.enable){
- if(kb_backlight_config.breathing){
- breathing_enable();
- } else{
- backlight_set(kb_backlight_config.level);
- }
- } else {
- backlight_set(0);
- }
-}
-
-void suspend_power_down_user(void) {
- backlight_set(0);
-}
-void suspend_wakeup_init_user(void) {
- if(kb_backlight_config.enable){
- if(kb_backlight_config.breathing){
- breathing_enable();
- } else{
- backlight_set(kb_backlight_config.level);
- }
- } else {
- backlight_set(0);
- }
-}
-
-void backlight_set(uint8_t level) {
- uint32_t duty = (uint32_t)(cie_lightness(0xFFFF * (uint32_t) level / BACKLIGHT_LEVELS));
- if (level == 0) {
- // Turn backlight off
- pwmDisableChannel(&PWMD3, 0);
- } else {
- // Turn backlight on
- if(!is_breathing()){
- pwmEnableChannel(&PWMD3, 0, PWM_FRACTION_TO_WIDTH(&PWMD3,0xFFFF,duty));
- }
- }
-}
-
-
-uint8_t backlight_tick = 0;
-
-void backlight_task(void) {
-}
-
-#define BREATHING_NO_HALT 0
-#define BREATHING_HALT_OFF 1
-#define BREATHING_HALT_ON 2
-#define BREATHING_STEPS 128
-
-static uint8_t breathing_period = BREATHING_PERIOD;
-static uint8_t breathing_halt = BREATHING_NO_HALT;
-static uint16_t breathing_counter = 0;
-
-bool is_breathing(void) {
- return PWMD3.config == &pwmCFG_breathing;
-}
-
-#define breathing_min() do {breathing_counter = 0;} while (0)
-#define breathing_max() do {breathing_counter = breathing_period * 256 / 2;} while (0)
-
-
-void breathing_interrupt_enable(void){
- pwmStop(&PWMD3);
- pwmStart(&PWMD3, &pwmCFG_breathing);
- chSysLockFromISR();
- pwmEnablePeriodicNotification(&PWMD3);
- pwmEnableChannelI(
- &PWMD3,
- 0,
- PWM_FRACTION_TO_WIDTH(
- &PWMD3,
- 0xFFFF,
- 0xFFFF
- )
- );
- chSysUnlockFromISR();
-}
-
-void breathing_interrupt_disable(void){
- pwmStop(&PWMD3);
- pwmStart(&PWMD3, &pwmCFG);
-}
-
-void breathing_enable(void)
-{
- breathing_counter = 0;
- breathing_halt = BREATHING_NO_HALT;
- breathing_interrupt_enable();
-}
-
-void breathing_pulse(void)
-{
- if (kb_backlight_config.level == 0)
- breathing_min();
- else
- breathing_max();
- breathing_halt = BREATHING_HALT_ON;
- breathing_interrupt_enable();
-}
-
-void breathing_disable(void)
-{
- breathing_interrupt_disable();
- // Restore backlight level
- backlight_set(kb_backlight_config.level);
-}
-
-void breathing_self_disable(void)
-{
- if (kb_backlight_config.level == 0)
- breathing_halt = BREATHING_HALT_OFF;
- else
- breathing_halt = BREATHING_HALT_ON;
-}
-
-void breathing_toggle(void) {
- if (is_breathing()){
- breathing_disable();
- } else {
- breathing_enable();
- }
-}
-
-void breathing_period_set(uint8_t value)
-{
- if (!value)
- value = 1;
- breathing_period = value;
-}
-
-void breathing_period_default(void) {
- breathing_period_set(BREATHING_PERIOD);
-}
-
-void breathing_period_inc(void)
-{
- breathing_period_set(breathing_period+1);
-}
-
-void breathing_period_dec(void)
-{
- breathing_period_set(breathing_period-1);
-}
-
-/* To generate breathing curve in python:
- * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)]
- */
-static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-// Use this before the cie_lightness function.
-static inline uint16_t scale_backlight(uint16_t v) {
- return v / BACKLIGHT_LEVELS * kb_backlight_config.level;
-}
-
-static void breathing_callback(PWMDriver *pwmp)
-{
- (void)pwmp;
- uint16_t interval = (uint16_t) breathing_period * 256 / BREATHING_STEPS;
- // resetting after one period to prevent ugly reset at overflow.
- breathing_counter = (breathing_counter + 1) % (breathing_period * 256);
- uint8_t index = breathing_counter / interval % BREATHING_STEPS;
-
- if (((breathing_halt == BREATHING_HALT_ON) && (index == BREATHING_STEPS / 2)) ||
- ((breathing_halt == BREATHING_HALT_OFF) && (index == BREATHING_STEPS - 1)))
- {
- breathing_interrupt_disable();
- }
-
- uint32_t duty = cie_lightness(scale_backlight(breathing_table[index] * 256));
-
- chSysLockFromISR();
- pwmEnableChannelI(
- &PWMD3,
- 0,
- PWM_FRACTION_TO_WIDTH(
- &PWMD3,
- 0xFFFF,
- duty
- )
- );
- chSysUnlockFromISR();
-}
diff --git a/keyboards/cannonkeys/satisfaction75/led_custom.h b/keyboards/cannonkeys/satisfaction75/led_custom.h
deleted file mode 100644
index d818b48ce9..0000000000
--- a/keyboards/cannonkeys/satisfaction75/led_custom.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-void backlight_task(void);
-void breathing_interrupt_disable(void);
-void breathing_interrupt_enable(void);
-void breathing_enable(void);
-void breathing_disable(void);
diff --git a/keyboards/cannonkeys/satisfaction75/mcuconf.h b/keyboards/cannonkeys/satisfaction75/mcuconf.h
index 0c84a1e1a8..2c81f2243e 100644
--- a/keyboards/cannonkeys/satisfaction75/mcuconf.h
+++ b/keyboards/cannonkeys/satisfaction75/mcuconf.h
@@ -1,18 +1,5 @@
-/* Copyright 2020 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* This file was auto-generated by:
@@ -34,7 +21,3 @@
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE
-
-#undef STM32_SPI_USE_SPI2
-#define STM32_SPI_USE_SPI2 TRUE
-
diff --git a/keyboards/cannonkeys/satisfaction75/prototype/info.json b/keyboards/cannonkeys/satisfaction75/prototype/info.json
index 9f932b6505..4f67754d8f 100644
--- a/keyboards/cannonkeys/satisfaction75/prototype/info.json
+++ b/keyboards/cannonkeys/satisfaction75/prototype/info.json
@@ -1,24 +1,34 @@
{
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B9", "pin_b": "B8", "resolution": 2}
+ ]
+ },
+ "matrix_pins": {
+ "cols": ["B1", "B2", "B10", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "B0", "A7", "A5", "B5", "A15", "A1"],
+ "rows": ["B3", "B4", "A0", "A2", "A4", "A3"]
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x57F5"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
{"label": "K000", "matrix": [0, 0], "x": 0, "y": 0},
-
{"label": "K002", "matrix": [0, 2], "x": 1.5, "y": 0},
{"label": "K003", "matrix": [0, 3], "x": 2.5, "y": 0},
{"label": "K004", "matrix": [0, 4], "x": 3.5, "y": 0},
{"label": "K005", "matrix": [0, 5], "x": 4.5, "y": 0},
-
{"label": "K006", "matrix": [0, 6], "x": 5.75, "y": 0},
{"label": "K007", "matrix": [0, 7], "x": 6.75, "y": 0},
{"label": "K008", "matrix": [0, 8], "x": 7.75, "y": 0},
{"label": "K009", "matrix": [0, 9], "x": 8.75, "y": 0},
-
{"label": "K010", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "K011", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "K012", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "K013", "matrix": [0, 13], "x": 13, "y": 0},
-
{"label": "K100", "matrix": [1, 0], "x": 0, "y": 1.25},
{"label": "K101", "matrix": [1, 1], "x": 1, "y": 1.25},
{"label": "K102", "matrix": [1, 2], "x": 2, "y": 1.25},
@@ -34,9 +44,7 @@
{"label": "K112", "matrix": [1, 12], "x": 12, "y": 1.25},
{"label": "K113", "matrix": [1, 13], "x": 13, "y": 1.25},
{"label": "K114", "matrix": [1, 14], "x": 14, "y": 1.25},
-
{"label": "K115", "matrix": [1, 15], "x": 15.5, "y": 1},
-
{"label": "K200", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"label": "K201", "matrix": [2, 1], "x": 1.5, "y": 2.25},
{"label": "K202", "matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -51,9 +59,7 @@
{"label": "K211", "matrix": [2, 11], "x": 11.5, "y": 2.25},
{"label": "K212", "matrix": [2, 12], "x": 12.5, "y": 2.25},
{"label": "K213", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"label": "K215", "matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"label": "K300", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"label": "K301", "matrix": [3, 1], "x": 1.75, "y": 3.25},
{"label": "K302", "matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -68,9 +74,7 @@
{"label": "K311", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "K312", "matrix": [3, 12], "x": 12.75, "y": 3.25},
{"label": "K313", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
-
{"label": "K315", "matrix": [3, 15], "x": 15.5, "y": 3.25},
-
{"label": "K400", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
{"label": "K401", "matrix": [4, 1], "x": 1.25, "y": 4.25},
{"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -84,11 +88,8 @@
{"label": "K410", "matrix": [4, 10], "x": 10.25, "y": 4.25},
{"label": "K411", "matrix": [4, 11], "x": 11.25, "y": 4.25},
{"label": "K412", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"label": "K413", "matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"label": "K415", "matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"label": "K500", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"label": "K501", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"label": "K502", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -98,7 +99,6 @@
{"label": "K509", "matrix": [5, 9], "x": 10, "y": 5.25},
{"label": "K510", "matrix": [5, 10], "x": 11, "y": 5.25},
{"label": "K511", "matrix": [5, 11], "x": 12, "y": 5.25},
-
{"label": "K512", "matrix": [5, 12], "x": 13.25, "y": 5.5},
{"label": "K513", "matrix": [5, 13], "x": 14.25, "y": 5.5},
{"label": "K515", "matrix": [5, 15], "x": 15.25, "y": 5.5}
@@ -107,22 +107,18 @@
"LAYOUT_default": {
"layout": [
{"label": "K000", "matrix": [0, 0], "x": 0, "y": 0},
-
{"label": "K002", "matrix": [0, 2], "x": 1.5, "y": 0},
{"label": "K003", "matrix": [0, 3], "x": 2.5, "y": 0},
{"label": "K004", "matrix": [0, 4], "x": 3.5, "y": 0},
{"label": "K005", "matrix": [0, 5], "x": 4.5, "y": 0},
-
{"label": "K006", "matrix": [0, 6], "x": 5.75, "y": 0},
{"label": "K007", "matrix": [0, 7], "x": 6.75, "y": 0},
{"label": "K008", "matrix": [0, 8], "x": 7.75, "y": 0},
{"label": "K009", "matrix": [0, 9], "x": 8.75, "y": 0},
-
{"label": "K010", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "K011", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "K012", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "K013", "matrix": [0, 13], "x": 13, "y": 0},
-
{"label": "K100", "matrix": [1, 0], "x": 0, "y": 1.25},
{"label": "K101", "matrix": [1, 1], "x": 1, "y": 1.25},
{"label": "K102", "matrix": [1, 2], "x": 2, "y": 1.25},
@@ -137,9 +133,7 @@
{"label": "K111", "matrix": [1, 11], "x": 11, "y": 1.25},
{"label": "K112", "matrix": [1, 12], "x": 12, "y": 1.25},
{"label": "K113", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
{"label": "K115", "matrix": [1, 15], "x": 15.5, "y": 1},
-
{"label": "K200", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"label": "K201", "matrix": [2, 1], "x": 1.5, "y": 2.25},
{"label": "K202", "matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -154,9 +148,7 @@
{"label": "K211", "matrix": [2, 11], "x": 11.5, "y": 2.25},
{"label": "K212", "matrix": [2, 12], "x": 12.5, "y": 2.25},
{"label": "K213", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"label": "K215", "matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"label": "K300", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"label": "K301", "matrix": [3, 1], "x": 1.75, "y": 3.25},
{"label": "K302", "matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -170,9 +162,7 @@
{"label": "K310", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "K311", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "K312", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
-
{"label": "K315", "matrix": [3, 15], "x": 15.5, "y": 3.25},
-
{"label": "K400", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "K401", "matrix": [4, 1], "x": 2.25, "y": 4.25},
{"label": "K402", "matrix": [4, 2], "x": 3.25, "y": 4.25},
@@ -185,11 +175,8 @@
{"label": "K409", "matrix": [4, 9], "x": 10.25, "y": 4.25},
{"label": "K410", "matrix": [4, 10], "x": 11.25, "y": 4.25},
{"label": "K411", "matrix": [4, 11], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"label": "K413", "matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"label": "K415", "matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"label": "K500", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"label": "K501", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"label": "K502", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -197,11 +184,10 @@
{"label": "K509", "matrix": [5, 9], "x": 10, "y": 5.25},
{"label": "K510", "matrix": [5, 10], "x": 11, "y": 5.25},
{"label": "K511", "matrix": [5, 11], "x": 12, "y": 5.25},
-
{"label": "K512", "matrix": [5, 12], "x": 13.25, "y": 5.5},
{"label": "K513", "matrix": [5, 13], "x": 14.25, "y": 5.5},
{"label": "K515", "matrix": [5, 15], "x": 15.25, "y": 5.5}
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/prototype/rules.mk b/keyboards/cannonkeys/satisfaction75/prototype/rules.mk
index e69de29bb2..7ff128fa69 100644
--- a/keyboards/cannonkeys/satisfaction75/prototype/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75/prototype/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/readme.md b/keyboards/cannonkeys/satisfaction75/readme.md
index 361d1eb0f1..9e2891b93f 100644
--- a/keyboards/cannonkeys/satisfaction75/readme.md
+++ b/keyboards/cannonkeys/satisfaction75/readme.md
@@ -2,11 +2,39 @@
Satisfaction75 Keyboard
-Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan1)
-Hardware Supported: STM32F072CBT6
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+## Revisions
+
+Please be advised that there are many revisions of Satisfaction75 PCBs.
+
+- Prototype revisions do not really exist in the wild, unless you are one of very few people who have an early pre-production Satisfaction75
+- Rev1 was the PCB sold with Round 1 and Round 2 of the Satisfaction75 keyboard group buy, as well as any extra PCBs sold before 2023.
+- Rev2 is the PCB sold with the late 2023/early 2024 Injection molded Satisfaction75, and any extra PCBs sold after that. These PCBs also have extra edge cuts to support the injection molded Satisfaction75. It was redesigned from scratch and has a little less layout support compared to Rev1.
+
+Revision 2 PCBs will have Revision 2 printed on the PCBs.
+
+Revisions _are_ backwards compatible, so you can use a Rev2 PCB in a board that originally had a Rev1 PCB in it. They are _not_ forwards compatible - Rev 1 PCBs will not work in the injection molded Satisfaction75.
+
+Change the below commands to reflect the revision you need!
+
+## Building and Flashing
Make example for this keyboard (after setting up your build environment):
- make cannonkeys/Satisfaction75:default
+ make cannonkeys/satisfaction75/rev1:default
+
+Flashing example for this keyboard:
+
+ make cannonkeys/satisfaction75/rev1:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "1" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/rev1/info.json b/keyboards/cannonkeys/satisfaction75/rev1/info.json
index cc4ad80d42..d4a6b4423c 100644
--- a/keyboards/cannonkeys/satisfaction75/rev1/info.json
+++ b/keyboards/cannonkeys/satisfaction75/rev1/info.json
@@ -1,24 +1,34 @@
{
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B9", "pin_b": "B8", "resolution": 2}
+ ]
+ },
+ "matrix_pins": {
+ "cols": ["B1", "B2", "B10", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "B0", "A7", "A5", "B5", "A15", "A1"],
+ "rows": ["B3", "B4", "A0", "A2", "A4", "A3"]
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x57F5"
+ },
"layouts": {
- "LAYOUT_default": {
+ "LAYOUT_2x2": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -32,10 +42,9 @@
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
- {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -50,9 +59,7 @@
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -66,9 +73,7 @@
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
{"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
@@ -81,43 +86,33 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
- {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
- {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
- {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
- {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
- {"matrix": [5, 9], "x": 10, "y": 5.25},
- {"matrix": [5, 10], "x": 11, "y": 5.25},
- {"matrix": [5, 11], "x": 12, "y": 5.25},
-
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 5], "x": 3, "y": 5.25, "w": 7},
+ {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
},
- "LAYOUT_iso": {
+ "LAYOUT_3x2": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -132,9 +127,7 @@
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -148,9 +141,8 @@
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
-
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -163,13 +155,9 @@
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"matrix": [3, 12], "x": 12.75, "y": 3.25},
- {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
-
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
- {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
- {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
@@ -181,43 +169,34 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
- {"matrix": [5, 9], "x": 10, "y": 5.25},
- {"matrix": [5, 10], "x": 11, "y": 5.25},
- {"matrix": [5, 11], "x": 12, "y": 5.25},
-
+ {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
},
- "LAYOUT_3x2": {
+ "LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -231,10 +210,9 @@
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
- {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -249,9 +227,7 @@
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -264,11 +240,11 @@
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
- {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
@@ -280,42 +256,37 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
- {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
- {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.5},
- {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
-
+ {"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 2.25},
+ {"matrix": [5, 5], "x": 6, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 7.25, "y": 5.25, "w": 2.75},
+ {"matrix": [5, 9], "x": 10, "y": 5.25},
+ {"matrix": [5, 10], "x": 11, "y": 5.25},
+ {"matrix": [5, 11], "x": 12, "y": 5.25},
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
},
- "LAYOUT_2x2": {
+ "LAYOUT_default": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -329,11 +300,8 @@
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
- {"matrix": [1, 13], "x": 13, "y": 1.25},
- {"matrix": [1, 14], "x": 14, "y": 1.25},
-
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -348,9 +316,7 @@
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -364,9 +330,7 @@
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
{"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
@@ -379,41 +343,35 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
- {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"matrix": [5, 1], "x": 1.5, "y": 5.25, "w": 1.5},
- {"matrix": [5, 5], "x": 3, "y": 5.25, "w": 7},
- {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.5},
- {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
-
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5.25},
+ {"matrix": [5, 10], "x": 11, "y": 5.25},
+ {"matrix": [5, 11], "x": 12, "y": 5.25},
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
},
- "LAYOUT_split_space": {
+ "LAYOUT_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -428,9 +386,7 @@
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -444,10 +400,7 @@
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
- {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -460,11 +413,11 @@
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
- {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
@@ -476,45 +429,35 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
- {"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 2.25},
- {"matrix": [5, 5], "x": 6, "y": 5.25, "w": 1.25},
- {"matrix": [5, 7], "x": 7.25, "y": 5.25, "w": 2.75},
+ {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
{"matrix": [5, 9], "x": 10, "y": 5.25},
{"matrix": [5, 10], "x": 11, "y": 5.25},
{"matrix": [5, 11], "x": 12, "y": 5.25},
-
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
},
- "LAYOUT_all": {
+ "LAYOUT_split_space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
-
{"matrix": [0, 2], "x": 1.5, "y": 0},
{"matrix": [0, 3], "x": 2.5, "y": 0},
{"matrix": [0, 4], "x": 3.5, "y": 0},
{"matrix": [0, 5], "x": 4.5, "y": 0},
-
{"matrix": [0, 6], "x": 5.75, "y": 0},
{"matrix": [0, 7], "x": 6.75, "y": 0},
{"matrix": [0, 8], "x": 7.75, "y": 0},
{"matrix": [0, 9], "x": 8.75, "y": 0},
-
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -528,11 +471,8 @@
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
- {"matrix": [1, 13], "x": 13, "y": 1.25},
- {"matrix": [1, 14], "x": 14, "y": 1.25},
-
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
{"matrix": [1, 15], "x": 15.5, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -547,9 +487,7 @@
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -562,13 +500,9 @@
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"matrix": [3, 12], "x": 12.75, "y": 3.25},
- {"matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
-
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
- {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
- {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
@@ -580,11 +514,8 @@
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
-
{"matrix": [4, 13], "x": 14.25, "y": 4.5},
-
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -594,11 +525,10 @@
{"matrix": [5, 9], "x": 10, "y": 5.25},
{"matrix": [5, 10], "x": 11, "y": 5.25},
{"matrix": [5, 11], "x": 12, "y": 5.25},
-
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 15], "x": 15.25, "y": 5.5}
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/keymap.c b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/keymap.c
new file mode 100644
index 0000000000..8b05d53fb7
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, ENC_PRESS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGUP,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/rules.mk b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/rules.mk
new file mode 100644
index 0000000000..517f469b6d
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/tester/rules.mk
@@ -0,0 +1 @@
+OLED_ENABLE = no
diff --git a/keyboards/cannonkeys/satisfaction75/rev1/rules.mk b/keyboards/cannonkeys/satisfaction75/rev1/rules.mk
index e69de29bb2..7ff128fa69 100644
--- a/keyboards/cannonkeys/satisfaction75/rev1/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75/rev1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/info.json b/keyboards/cannonkeys/satisfaction75/rev2/info.json
new file mode 100644
index 0000000000..e8ddb90c89
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev2/info.json
@@ -0,0 +1,193 @@
+{
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B9", "pin_b": "B8"}
+ ]
+ },
+ "indicators": {
+ "caps_lock": "B14",
+ "on_state": 0
+ },
+ "matrix_pins": {
+ "cols": ["A10", "A9", "A8", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A5", "A4", "A3", "A2", "B3"],
+ "rows": ["A13", "A14", "A15", "B4", "B5", "C13"]
+ },
+ "usb": {
+ "device_version": "0.0.2",
+ "pid": "0x001A"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F1", "matrix": [0, 2], "x": 1.5, "y": 0},
+ {"label": "F2", "matrix": [0, 3], "x": 2.5, "y": 0},
+ {"label": "F3", "matrix": [0, 4], "x": 3.5, "y": 0},
+ {"label": "F4", "matrix": [0, 5], "x": 4.5, "y": 0},
+ {"label": "F5", "matrix": [0, 6], "x": 5.75, "y": 0},
+ {"label": "F6", "matrix": [0, 7], "x": 6.75, "y": 0},
+ {"label": "F7", "matrix": [0, 8], "x": 7.75, "y": 0},
+ {"label": "F8", "matrix": [0, 9], "x": 8.75, "y": 0},
+ {"label": "F9", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "F10", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "F11", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "F12", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Bksp", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Del", "matrix": [0, 14], "x": 14, "y": 1.25},
+ {"label": "EncPress", "matrix": [1, 14], "x": 15.5, "y": 0.75},
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"label": "Del", "matrix": [2, 14], "x": 15.5, "y": 2.25},
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"label": "PgUp", "matrix": [3, 14], "x": 15.5, "y": 3.25},
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Up", "matrix": [4, 13], "x": 14.25, "y": 4.5},
+ {"label": "PgDn", "matrix": [4, 14], "x": 15.5, "y": 4.25},
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25},
+ {"label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25},
+ {"label": "Left", "matrix": [5, 12], "x": 13.25, "y": 5.5},
+ {"label": "Down", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "Right", "matrix": [5, 14], "x": 15.25, "y": 5.5}
+ ]
+ },
+ "LAYOUT_iso_split_bs_7u": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F1", "matrix": [0, 2], "x": 1.5, "y": 0},
+ {"label": "F2", "matrix": [0, 3], "x": 2.5, "y": 0},
+ {"label": "F3", "matrix": [0, 4], "x": 3.5, "y": 0},
+ {"label": "F4", "matrix": [0, 5], "x": 4.5, "y": 0},
+ {"label": "F5", "matrix": [0, 6], "x": 5.75, "y": 0},
+ {"label": "F6", "matrix": [0, 7], "x": 6.75, "y": 0},
+ {"label": "F7", "matrix": [0, 8], "x": 7.75, "y": 0},
+ {"label": "F8", "matrix": [0, 9], "x": 8.75, "y": 0},
+ {"label": "F9", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "F10", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "F11", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "F12", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Bksp", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Del", "matrix": [0, 14], "x": 14, "y": 1.25},
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"label": "Del", "matrix": [2, 14], "x": 15.5, "y": 2.25},
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [2, 13], "x": 12.75, "y": 3.25},
+ {"label": "PgUp", "matrix": [3, 14], "x": 15.5, "y": 3.25},
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Up", "matrix": [4, 13], "x": 14.25, "y": 4.5},
+ {"label": "PgDn", "matrix": [4, 14], "x": 15.5, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 3, "y": 5.25, "w": 7},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
+ {"label": "Left", "matrix": [5, 12], "x": 13.25, "y": 5.5},
+ {"label": "Down", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "Right", "matrix": [5, 14], "x": 15.25, "y": 5.5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bce6632706
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#include QMK_KEYBOARD_H
+#include "satisfaction_keycodes.h"
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_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, ENC_PRESS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a0119fc0cd
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#include QMK_KEYBOARD_H
+#include "satisfaction_keycodes.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_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, ENC_PRESS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/enter80/keymaps/via/rules.mk b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/enter80/keymaps/via/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/readme.md b/keyboards/cannonkeys/satisfaction75/rev2/readme.md
new file mode 100644
index 0000000000..ac393283e0
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/rev2/readme.md
@@ -0,0 +1,29 @@
+# Satisfaction75 - Revision 2
+
+A new revision of the Satisfaction75 PCB.
+Layout support has been streamlined.
+
+This PCB was released in late 2023/2024. If you have a Satisfaction75 PCB from before that time, please use the rev1 satisfaction75 PCB.
+
+The revision 2 of the PCB also has "Revision 2" printed on it.
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/satisfaction75/rev2:default
+
+Flashing example for this keyboard:
+
+ make cannonkeys/satisfaction75/rev2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "1" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/enter67/rules.mk b/keyboards/cannonkeys/satisfaction75/rev2/rules.mk
index 7ff128fa69..7ff128fa69 100644
--- a/keyboards/enter67/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75/rev2/rules.mk
diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk
index 8cee2da595..c92469d1bd 100644
--- a/keyboards/cannonkeys/satisfaction75/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75/rules.mk
@@ -1,21 +1,9 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-SRC += led.c \
- satisfaction_encoder.c \
- satisfaction_oled.c
+VPATH += keyboards/cannonkeys/lib/satisfaction75
+SRC += satisfaction_encoder.c \
+ satisfaction_oled.c \
+ satisfaction_core.c
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-ENCODER_ENABLE = yes
-OLED_ENABLE = yes
-#BACKLIGHT_ENABLE = yes
-
-DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1
+DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1 \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
deleted file mode 100644
index 29fb6e7619..0000000000
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ /dev/null
@@ -1,464 +0,0 @@
-#include "satisfaction75.h"
-#include "print.h"
-#include "debug.h"
-
-#include <ch.h>
-#include <hal.h>
-
-#include "timer.h"
-
-#include "raw_hid.h"
-#include "dynamic_keymap.h"
-#include "eeprom.h"
-#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
-
-/* Artificial delay added to get media keys to work in the encoder*/
-#define MEDIA_KEY_DELAY 10
-
-volatile uint8_t led_numlock = false;
-volatile uint8_t led_capslock = false;
-volatile uint8_t led_scrolllock = false;
-
-uint8_t layer;
-
-bool clock_set_mode = false;
-uint8_t oled_mode = OLED_DEFAULT;
-bool oled_repaint_requested = false;
-bool oled_wakeup_requested = false;
-uint32_t oled_sleep_timer;
-
-uint8_t encoder_value = 32;
-uint8_t encoder_mode = ENC_MODE_VOLUME;
-uint8_t enabled_encoder_modes = 0x1F;
-
-RTCDateTime last_timespec;
-uint16_t last_minute = 0;
-
-uint8_t time_config_idx = 0;
-int8_t hour_config = 0;
-int16_t minute_config = 0;
-int8_t year_config = 0;
-int8_t month_config = 0;
-int8_t day_config = 0;
-uint8_t previous_encoder_mode = 0;
-
-backlight_config_t kb_backlight_config = {
- .enable = true,
- .breathing = true,
- .level = BACKLIGHT_LEVELS
-};
-
-void board_init(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
-}
-
-#ifdef VIA_ENABLE
-
-void backlight_get_value( uint8_t *data )
-{
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
- switch (*value_id)
- {
- case id_qmk_backlight_brightness:
- {
- // level / BACKLIGHT_LEVELS * 255
- value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
- break;
- }
- case id_qmk_backlight_effect:
- {
- value_data[0] = kb_backlight_config.breathing ? 1 : 0;
- break;
- }
- }
-}
-
-void backlight_set_value( uint8_t *data )
-{
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
- switch (*value_id)
- {
- case id_qmk_backlight_brightness:
- {
- // level / 255 * BACKLIGHT_LEVELS
- kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
- backlight_set(kb_backlight_config.level);
- break;
- }
- case id_qmk_backlight_effect:
- {
- if ( value_data[0] == 0 ) {
- kb_backlight_config.breathing = false;
- breathing_disable();
- } else {
- kb_backlight_config.breathing = true;
- breathing_enable();
- }
- break;
- }
- }
-}
-
-void custom_set_value(uint8_t *data) {
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id ) {
- case id_oled_default_mode:
- {
- eeprom_update_byte((uint8_t*)EEPROM_DEFAULT_OLED, value_data[0]);
- break;
- }
- case id_oled_mode:
- {
- oled_mode = value_data[0];
- oled_request_wakeup();
- break;
- }
- case id_encoder_modes:
- {
- uint8_t index = value_data[0];
- uint8_t enable = value_data[1];
- enabled_encoder_modes = (enabled_encoder_modes & ~(1<<index)) | (enable<<index);
- eeprom_update_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES, enabled_encoder_modes);
- break;
- }
- case id_encoder_custom:
- {
- uint8_t custom_encoder_idx = value_data[0];
- uint8_t encoder_behavior = value_data[1];
- uint16_t keycode = (value_data[2] << 8) | value_data[3];
- set_custom_encoder_config(custom_encoder_idx, encoder_behavior, keycode);
- break;
- }
- }
-}
-
-void custom_get_value(uint8_t *data) {
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id ) {
- case id_oled_default_mode:
- {
- uint8_t default_oled = eeprom_read_byte((uint8_t*)EEPROM_DEFAULT_OLED);
- value_data[0] = default_oled;
- break;
- }
- case id_oled_mode:
- {
- value_data[0] = oled_mode;
- break;
- }
- case id_encoder_modes:
- {
- uint8_t index = value_data[0];
- value_data[1] = (enabled_encoder_modes & (1<<index)) ? 1 : 0;
- break;
- }
- case id_encoder_custom:
- {
- uint8_t custom_encoder_idx = value_data[0];
- uint8_t encoder_behavior = value_data[1];
- uint16_t keycode = retrieve_custom_encoder_config(custom_encoder_idx, encoder_behavior);
- value_data[2] = keycode >> 8;
- value_data[3] = keycode & 0xFF;
- break;
- }
- }
-}
-
-// TODO
-// Refactor so this keyboard uses QMK Core backlight code,
-// then change this to via_custom_value_command_kb() so it
-// only handles the custom values not the backlight
-// (i.e. use QMK Core default handler for backlight values).
-//
-void via_custom_value_command(uint8_t *data, uint8_t length) {
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if ( *channel_id == id_qmk_backlight_channel ) {
- switch ( *command_id )
- {
- case id_custom_set_value:
- {
- backlight_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value:
- {
- backlight_get_value(value_id_and_data);
- break;
- }
- case id_custom_save:
- {
- backlight_config_save();
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- } else if ( *channel_id == id_custom_channel ) {
- switch ( *command_id )
- {
- case id_custom_set_value:
- {
- custom_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value:
- {
- custom_get_value(value_id_and_data);
- break;
- }
- case id_custom_save:
- {
- // values are saved in custom_set_value()
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-
- // DO NOT call raw_hid_send(data,length) here, let caller do this
-}
-#endif
-
-
-void read_host_led_state(void) {
- led_t led_state = host_keyboard_led_state();
- if (led_state.num_lock) {
- if (led_numlock == false){
- led_numlock = true;}
- } else {
- if (led_numlock == true){
- led_numlock = false;}
- }
- if (led_state.caps_lock) {
- if (led_capslock == false){
- led_capslock = true;}
- } else {
- if (led_capslock == true){
- led_capslock = false;}
- }
- if (led_state.scroll_lock) {
- if (led_scrolllock == false){
- led_scrolllock = true;}
- } else {
- if (led_scrolllock == true){
- led_scrolllock = false;}
- }
-}
-
-layer_state_t layer_state_set_kb(layer_state_t state) {
- state = layer_state_set_user(state);
- layer = get_highest_layer(state);
- oled_request_wakeup();
- return state;
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- oled_request_wakeup();
- switch (keycode) {
- case OLED_TOGG:
- if(!clock_set_mode){
- if (record->event.pressed) {
- oled_mode = (oled_mode + 1) % _NUM_OLED_MODES;
- }
- }
- return false;
- case CLOCK_SET:
- if (record->event.pressed) {
- if(clock_set_mode){
- pre_encoder_mode_change();
- clock_set_mode = false;
- encoder_mode = previous_encoder_mode;
- post_encoder_mode_change();
-
- }else{
- previous_encoder_mode = encoder_mode;
- pre_encoder_mode_change();
- clock_set_mode = true;
- encoder_mode = ENC_MODE_CLOCK_SET;
- post_encoder_mode_change();
- }
- }
- return false;
- case ENC_PRESS:
- if (record->event.pressed) {
- uint16_t mapped_code = handle_encoder_press();
- uint16_t held_keycode_timer = timer_read();
- if(mapped_code != 0){
- register_code16(mapped_code);
- while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
- unregister_code16(mapped_code);
- }
- } else {
- // Do something else when release
- }
- return false;
- default:
- break;
- }
-
- return process_record_user(keycode, record);
-}
-
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) return false;
- oled_request_wakeup();
- encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64;
- if (index == 0) {
- if (layer == 0){
- uint16_t mapped_code = 0;
- if (clockwise) {
- mapped_code = handle_encoder_clockwise();
- } else {
- mapped_code = handle_encoder_ccw();
- }
- uint16_t held_keycode_timer = timer_read();
- if(mapped_code != 0){
- register_code16(mapped_code);
- while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
- unregister_code16(mapped_code);
- }
- } else {
- if(clockwise){
- change_encoder_mode(false);
- } else {
- change_encoder_mode(true);
- }
- }
- }
- return true;
-}
-
-void custom_config_reset(void){
- void *p = (void*)(VIA_EEPROM_CUSTOM_CONFIG_ADDR);
- void *end = (void*)(VIA_EEPROM_CUSTOM_CONFIG_ADDR+VIA_EEPROM_CUSTOM_CONFIG_SIZE);
- while ( p != end ) {
- eeprom_update_byte(p, 0);
- ++p;
- }
- eeprom_update_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES, 0x1F);
-}
-
-void backlight_config_save(void){
- eeprom_update_byte((uint8_t*)EEPROM_CUSTOM_BACKLIGHT, kb_backlight_config.raw);
-}
-
-void custom_config_load(void){
- kb_backlight_config.raw = eeprom_read_byte((uint8_t*)EEPROM_CUSTOM_BACKLIGHT);
-#ifdef DYNAMIC_KEYMAP_ENABLE
- oled_mode = eeprom_read_byte((uint8_t*)EEPROM_DEFAULT_OLED);
- enabled_encoder_modes = eeprom_read_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES);
-#endif
-}
-
-// Called from via_init() if VIA_ENABLE
-// Called from matrix_init_kb() if not VIA_ENABLE
-void via_init_kb(void)
-{
- // This checks both an EEPROM reset (from bootmagic lite, keycodes)
- // and also firmware build date (from via_eeprom_is_valid())
- if (eeconfig_is_enabled()) {
- custom_config_load();
- } else {
-#ifdef DYNAMIC_KEYMAP_ENABLE
- // Reset the custom stuff
- custom_config_reset();
-#endif
- // DO NOT set EEPROM valid here, let caller do this
- }
-}
-
-void matrix_init_kb(void)
-{
-#ifndef VIA_ENABLE
- via_init_kb();
- via_eeprom_set_valid(true);
-#endif // VIA_ENABLE
-
- rtcGetTime(&RTCD1, &last_timespec);
- backlight_init_ports();
- matrix_init_user();
- oled_request_wakeup();
-}
-
-
-void housekeeping_task_kb(void) {
- rtcGetTime(&RTCD1, &last_timespec);
- uint16_t minutes_since_midnight = last_timespec.millisecond / 1000 / 60;
-
- if (minutes_since_midnight != last_minute){
- last_minute = minutes_since_midnight;
- oled_request_repaint();
- }
-}
-
-//
-// In the case of VIA being disabled, we still need to check if
-// keyboard level EEPROM memory is valid before loading.
-// Thus these are copies of the same functions in VIA, since
-// the backlight settings reuse VIA's EEPROM magic/version,
-// and the ones in via.c won't be compiled in.
-//
-// Yes, this is sub-optimal, and is only here for completeness
-// (i.e. catering to the 1% of people that want wilba.tech LED bling
-// AND want persistent settings BUT DON'T want to use dynamic keymaps/VIA).
-//
-#ifndef VIA_ENABLE
-
-bool via_eeprom_is_valid(void)
-{
- char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
- uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
- uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
- uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
-
- return (eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0 ) == magic0 &&
- eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1 ) == magic1 &&
- eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2 ) == magic2 );
-}
-
-// Sets VIA/keyboard level usage of EEPROM to valid/invalid
-// Keyboard level code (eg. via_init_kb()) should not call this
-void via_eeprom_set_valid(bool valid)
-{
- char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
- uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
- uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
- uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
-
- eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0, valid ? magic0 : 0xFF);
- eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1, valid ? magic1 : 0xFF);
- eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2, valid ? magic2 : 0xFF);
-}
-
-void via_eeprom_reset(void)
-{
- // Set the VIA specific EEPROM state as invalid.
- via_eeprom_set_valid(false);
- // Set the TMK/QMK EEPROM state as invalid.
- eeconfig_disable();
-}
-
-#endif // VIA_ENABLE
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.h b/keyboards/cannonkeys/satisfaction75/satisfaction75.h
index 157eff902e..d4fc7aca87 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.h
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.h
@@ -1,117 +1,6 @@
-#pragma once
-
-#include "quantum.h"
-
-#include "via.h" // only for EEPROM address
-#define EEPROM_ENABLED_ENCODER_MODES (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
-#define EEPROM_CUSTOM_BACKLIGHT (VIA_EEPROM_CUSTOM_CONFIG_ADDR+1)
-#define EEPROM_DEFAULT_OLED (VIA_EEPROM_CUSTOM_CONFIG_ADDR+2)
-#define EEPROM_CUSTOM_ENCODER (VIA_EEPROM_CUSTOM_CONFIG_ADDR+3)
-
-typedef union {
- uint8_t raw;
- struct {
- bool enable :1;
- bool breathing : 1;
- uint8_t level :6;
- };
-} backlight_config_t;
-
-// Start these at the USER code range in VIA
-enum my_keycodes {
- ENC_PRESS = QK_KB_0,
- CLOCK_SET,
- OLED_TOGG
-};
-
-enum s75_custom_value_id {
- id_encoder_modes = 1,
- id_oled_default_mode,
- id_encoder_custom,
- id_oled_mode
-};
-
-enum encoder_modes {
- ENC_MODE_VOLUME,
- ENC_MODE_MEDIA,
- ENC_MODE_SCROLL,
- ENC_MODE_BRIGHTNESS,
- ENC_MODE_BACKLIGHT,
- ENC_MODE_CUSTOM0,
- ENC_MODE_CUSTOM1,
- ENC_MODE_CUSTOM2,
- _NUM_ENCODER_MODES,
- ENC_MODE_CLOCK_SET // This shouldn't be included in the default modes, so we put it after NUM_ENCODER_MODES
-};
-
-enum custom_encoder_behavior {
- ENC_CUSTOM_CW = 0,
- ENC_CUSTOM_CCW,
- ENC_CUSTOM_PRESS
-};
-
-enum oled_modes {
- OLED_DEFAULT,
- OLED_TIME,
- OLED_OFF,
- _NUM_OLED_MODES
-};
-
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
-// Keyboard Information
-extern volatile uint8_t led_numlock;
-extern volatile uint8_t led_capslock;
-extern volatile uint8_t led_scrolllock;
-extern uint8_t layer;
-
-// OLED Behavior
-extern uint8_t oled_mode;
-extern bool oled_repaint_requested;
-extern bool oled_wakeup_requested;
-extern uint32_t oled_sleep_timer;
-
-// Encoder Behavior
-extern uint8_t encoder_value;
-extern uint8_t encoder_mode;
-extern uint8_t enabled_encoder_modes;
-
-// RTC
-extern RTCDateTime last_timespec;
-extern uint16_t last_minute;
-
-// RTC Configuration
-extern bool clock_set_mode;
-extern uint8_t time_config_idx;
-extern int8_t hour_config;
-extern int16_t minute_config;
-extern int8_t year_config;
-extern int8_t month_config;
-extern int8_t day_config;
-extern uint8_t previous_encoder_mode;
-
-// Backlighting
-extern backlight_config_t kb_backlight_config;
-extern bool kb_backlight_breathing;
-
-void pre_encoder_mode_change(void);
-void post_encoder_mode_change(void);
-void change_encoder_mode(bool negative);
-uint16_t handle_encoder_clockwise(void);
-uint16_t handle_encoder_ccw(void);
-uint16_t handle_encoder_press(void);
-uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior);
-void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code);
-
-void update_time_config(int8_t increment);
-
-void oled_request_wakeup(void);
-void oled_request_repaint(void);
-bool oled_task_needs_to_repaint(void);
+#pragma once
-void backlight_init_ports(void);
-void backlight_set(uint8_t level);
-bool is_breathing(void);
-void breathing_enable(void);
-void breathing_disable(void);
-void custom_config_load(void);
-void backlight_config_save(void);
+#include "satisfaction_keycodes.h" \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/satisfaction75/satisfaction_encoder.c
deleted file mode 100644
index c8bb999df4..0000000000
--- a/keyboards/cannonkeys/satisfaction75/satisfaction_encoder.c
+++ /dev/null
@@ -1,238 +0,0 @@
-#include "satisfaction75.h"
-#include "eeprom.h"
-
-void pre_encoder_mode_change(void){
- if(encoder_mode == ENC_MODE_CLOCK_SET){
- RTCDateTime timespec;
- timespec.year = year_config;
- timespec.month = month_config;
- timespec.day = day_config;
- // timespec.dayofweek = last_timespec.dayofweek;
- // timespec.dstflag = last_timespec.dstflag;
- timespec.millisecond = (hour_config * 60 + minute_config) * 60 * 1000;
- rtcSetTime(&RTCD1, &timespec);
- } else if (encoder_mode == ENC_MODE_BACKLIGHT){
- backlight_config_save();
- }
-}
-
-void post_encoder_mode_change(void){
- if(encoder_mode == ENC_MODE_CLOCK_SET){
- hour_config = (last_minute / 60);
- minute_config = last_minute % 60;
- year_config = last_timespec.year;
- month_config = last_timespec.month;
- day_config = last_timespec.day;
- time_config_idx = 0;
- }
-}
-
-void change_encoder_mode(bool negative){
- pre_encoder_mode_change();
- if(enabled_encoder_modes == 0){
- enabled_encoder_modes = 0x1F;
- }
- do {
- if(negative){
- if (encoder_mode == 0){
- encoder_mode = _NUM_ENCODER_MODES - 1;
- } else{
- encoder_mode = encoder_mode - 1;
- }
- } else {
- encoder_mode = (encoder_mode + 1) % _NUM_ENCODER_MODES;
- }
- } while(((1 << encoder_mode) & enabled_encoder_modes) == 0);
- post_encoder_mode_change();
-}
-
-void update_time_config(int8_t increment){
- uint8_t day_limit = 31;
- uint16_t adjusted_year = 1980 + year_config;
- switch(time_config_idx){
- case 0: // hour
- default:
- hour_config = (hour_config + increment) % 24;
- if (hour_config < 0){
- hour_config += 24;
- }
- break;
- case 1: // minute
- minute_config = (minute_config + increment) % 60;
- if (minute_config < 0){
- minute_config += 60;
- }
- break;
- case 2: // year
- year_config += increment;
- break;
- case 3: // month
- month_config = (month_config % 12) + increment;
- if (month_config <= 0){
- month_config += 12;
- }
- break;
- case 4: //day
- if (month_config == 9 || month_config == 4 || month_config == 6 || month_config == 11){
- day_limit = 30;
- } else if(month_config == 2){
- day_limit = adjusted_year % 4 == 0 && !(adjusted_year % 100 == 0 && adjusted_year % 400 != 0) ? 29 : 28;
- }
- day_config = (day_config % day_limit) + increment;
- if(day_config <= 0){
- day_config += day_limit;
- }
- break;
- }
-}
-
-uint16_t handle_encoder_clockwise(void){
- uint16_t mapped_code = 0;
- switch(encoder_mode){
- default:
- case ENC_MODE_VOLUME:
- mapped_code = KC_VOLU;
- break;
- case ENC_MODE_MEDIA:
- mapped_code = KC_MEDIA_NEXT_TRACK;
- break;
- case ENC_MODE_SCROLL:
- mapped_code = KC_WH_D;
- break;
- case ENC_MODE_BACKLIGHT:
- kb_backlight_config.level = kb_backlight_config.level + 1;
- if(kb_backlight_config.level > BACKLIGHT_LEVELS){
- kb_backlight_config.level = BACKLIGHT_LEVELS;
- }
- backlight_set(kb_backlight_config.level);
- if (kb_backlight_config.level != 0){
- kb_backlight_config.enable = true;
- }
- break;
- case ENC_MODE_BRIGHTNESS:
- mapped_code = KC_BRIGHTNESS_UP;
- break;
-#ifdef DYNAMIC_KEYMAP_ENABLE
- case ENC_MODE_CUSTOM0:
- mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_CW);
- break;
- case ENC_MODE_CUSTOM1:
- mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_CW);
- break;
- case ENC_MODE_CUSTOM2:
- mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_CW);
- break;
-#endif
- case ENC_MODE_CLOCK_SET:
- update_time_config(1);
- break;
- }
- return mapped_code;
-}
-
-uint16_t handle_encoder_ccw(void){
- uint16_t mapped_code = 0;
- switch(encoder_mode){
- default:
- case ENC_MODE_VOLUME:
- mapped_code = KC_VOLD;
- break;
- case ENC_MODE_MEDIA:
- mapped_code = KC_MEDIA_PREV_TRACK;
- break;
- case ENC_MODE_SCROLL:
- mapped_code = KC_WH_U;
- break;
- case ENC_MODE_BACKLIGHT:
- // mapped_code = BL_DOWN;
- if(kb_backlight_config.level != 0){
- kb_backlight_config.level = kb_backlight_config.level - 1;
- }
- backlight_set(kb_backlight_config.level);
- if (kb_backlight_config.level == 0){
- kb_backlight_config.enable = false;
- }
- break;
- case ENC_MODE_BRIGHTNESS:
- mapped_code = KC_BRIGHTNESS_DOWN;
- break;
-#ifdef DYNAMIC_KEYMAP_ENABLE
- case ENC_MODE_CUSTOM0:
- mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_CCW);
- break;
- case ENC_MODE_CUSTOM1:
- mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_CCW);
- break;
- case ENC_MODE_CUSTOM2:
- mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_CCW);
- break;
-#endif
-
- case ENC_MODE_CLOCK_SET:
- update_time_config(-1);
- break;
- }
- return mapped_code;
-}
-
-uint16_t handle_encoder_press(void){
- uint16_t mapped_code = 0;
- switch(encoder_mode){
- case ENC_MODE_VOLUME:
- mapped_code = KC_MUTE;
- break;
- default:
- case ENC_MODE_MEDIA:
- mapped_code = KC_MEDIA_PLAY_PAUSE;
- break;
- case ENC_MODE_SCROLL:
- mapped_code = KC_BTN3;
- break;
- case ENC_MODE_BACKLIGHT:
- // mapped_code = BL_TOGG;
- kb_backlight_config.breathing = !kb_backlight_config.breathing;
- if(!kb_backlight_config.breathing){
- breathing_disable();
- } else{
- breathing_enable();
- }
- break;
-#ifdef DYNAMIC_KEYMAP_ENABLE
- case ENC_MODE_CUSTOM0:
- mapped_code = retrieve_custom_encoder_config(0, ENC_CUSTOM_PRESS);
- break;
- case ENC_MODE_CUSTOM1:
- mapped_code = retrieve_custom_encoder_config(1, ENC_CUSTOM_PRESS);
- break;
- case ENC_MODE_CUSTOM2:
- mapped_code = retrieve_custom_encoder_config(2, ENC_CUSTOM_PRESS);
- break;
-#endif
- case ENC_MODE_CLOCK_SET:
- time_config_idx = (time_config_idx + 1) % 5;
- case ENC_MODE_BRIGHTNESS:
- break;
- }
- return mapped_code;
-}
-
-
-uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior){
-#ifdef DYNAMIC_KEYMAP_ENABLE
- void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2));
- //big endian
- uint16_t keycode = eeprom_read_byte(addr) << 8;
- keycode |= eeprom_read_byte(addr + 1);
- return keycode;
-#else
- return 0;
-#endif
-}
-
-void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code){
-#ifdef DYNAMIC_KEYMAP_ENABLE
- void* addr = (void*)(EEPROM_CUSTOM_ENCODER + (encoder_idx * 6) + (behavior * 2));
- eeprom_update_byte(addr, (uint8_t)(new_code >> 8));
- eeprom_update_byte(addr + 1, (uint8_t)(new_code & 0xFF));
-#endif
-}
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c
deleted file mode 100644
index 0fd69ca59b..0000000000
--- a/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c
+++ /dev/null
@@ -1,267 +0,0 @@
-#include "satisfaction75.h"
-
-void draw_default(void);
-void draw_clock(void);
-
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_0; }
-
-bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
- if (!oled_task_needs_to_repaint()) {
- return false;
- }
- oled_clear();
- if (clock_set_mode) {
- draw_clock();
- return false;;
- }
- switch (oled_mode) {
- default:
- case OLED_DEFAULT:
- draw_default();
- break;
- case OLED_TIME:
- draw_clock();
- break;
- }
- return false;
-}
-
-// Request a repaint of the OLED image without resetting the OLED sleep timer.
-// Used for things like clock updates that should not keep the OLED turned on
-// if there is no other activity.
-void oled_request_repaint(void) {
- if (is_oled_on()) {
- oled_repaint_requested = true;
- }
-}
-
-// Request a repaint of the OLED image and reset the OLED sleep timer.
-// Needs to be called after any activity that should keep the OLED turned on.
-void oled_request_wakeup(void) {
- oled_wakeup_requested = true;
-}
-
-// Check whether oled_task_user() needs to repaint the OLED image. This
-// function should be called at the start of oled_task_user(); it also handles
-// the OLED sleep timer and the OLED_OFF mode.
-bool oled_task_needs_to_repaint(void) {
- // In the OLED_OFF mode the OLED is kept turned off; any wakeup requests
- // are ignored.
- if ((oled_mode == OLED_OFF) && !clock_set_mode) {
- oled_wakeup_requested = false;
- oled_repaint_requested = false;
- oled_off();
- return false;
- }
-
- // If OLED wakeup was requested, reset the sleep timer and do a repaint.
- if (oled_wakeup_requested) {
- oled_wakeup_requested = false;
- oled_repaint_requested = false;
- oled_sleep_timer = timer_read32() + CUSTOM_OLED_TIMEOUT;
- oled_on();
- return true;
- }
-
- // If OLED repaint was requested, just do a repaint without touching the
- // sleep timer.
- if (oled_repaint_requested) {
- oled_repaint_requested = false;
- return true;
- }
-
- // If the OLED is currently off, skip the repaint (which would turn the
- // OLED on if the image is changed in any way).
- if (!is_oled_on()) {
- return false;
- }
-
- // If the sleep timer has expired while the OLED was on, turn the OLED off.
- if (timer_expired32(timer_read32(), oled_sleep_timer)) {
- oled_off();
- return false;
- }
-
- // Always perform a repaint if the OLED is currently on. (This can
- // potentially be optimized to avoid unneeded repaints if all possible
- // state changes are covered by oled_request_repaint() or
- // oled_request_wakeup(), but then any missed calls to these functions
- // would result in displaying a stale image.)
- return true;
-}
-
-
-static void draw_line_h(uint8_t x, uint8_t y, uint8_t len) {
- for (uint8_t i = 0; i < len; i++) {
- oled_write_pixel(i + x, y, true);
- }
-}
-
-static void draw_line_v(uint8_t x, uint8_t y, uint8_t len) {
- for (uint8_t i = 0; i < len; i++) {
- oled_write_pixel(x, i + y, true);
- }
-}
-
-static char* get_enc_mode(void) {
- switch (encoder_mode) {
- default:
- case ENC_MODE_VOLUME:
- return "VOL";
- case ENC_MODE_MEDIA:
- return "MED";
- case ENC_MODE_SCROLL:
- return "SCR";
- case ENC_MODE_BRIGHTNESS:
- return "BRT";
- case ENC_MODE_BACKLIGHT:
- return "BKL";
- case ENC_MODE_CLOCK_SET:
- return "CLK";
- case ENC_MODE_CUSTOM0:
- return "CS0";
- case ENC_MODE_CUSTOM1:
- return "CS1";
- case ENC_MODE_CUSTOM2:
- return "CS2";
- }
-}
-
-static char* get_time(void) {
- uint8_t hour = last_minute / 60;
- uint16_t minute = last_minute % 60;
-
- if (encoder_mode == ENC_MODE_CLOCK_SET) {
- hour = hour_config;
- minute = minute_config;
- }
-
- bool is_pm = (hour / 12) > 0;
- hour = hour % 12;
- if (hour == 0) {
- hour = 12;
- }
-
- static char time_str[11] = "";
- sprintf(time_str, "%02d:%02d%s", hour, minute, is_pm ? "pm" : "am");
-
- return time_str;
-}
-
-static char* get_date(void) {
- int16_t year = last_timespec.year + 1980;
- int8_t month = last_timespec.month;
- int8_t day = last_timespec.day;
-
- if (encoder_mode == ENC_MODE_CLOCK_SET) {
- year = year_config + 1980;
- month = month_config;
- day = day_config;
- }
-
- static char date_str[15] = "";
- sprintf(date_str, "%04d-%02d-%02d", year, month, day);
-
- return date_str;
-}
-
-void draw_default(void) {
- oled_write_P(PSTR("LAYER "), false);
- oled_write_char(get_highest_layer(layer_state) + 0x30, true);
-
- oled_write_P(PSTR(" ENC "), false);
- oled_write(get_enc_mode(), true);
-
- led_t led_state = host_keyboard_led_state();
- oled_set_cursor(18, 0);
- oled_write_P(PSTR("CAP"), led_state.caps_lock);
- oled_set_cursor(18, 1);
- oled_write_P(PSTR("SCR"), led_state.scroll_lock);
-
- uint8_t mod_state = get_mods();
- oled_set_cursor(6, 3);
- oled_write_P(PSTR("S"), mod_state & MOD_MASK_SHIFT);
- oled_advance_char();
- oled_write_P(PSTR("C"), mod_state & MOD_MASK_CTRL);
- oled_advance_char();
- oled_write_P(PSTR("A"), mod_state & MOD_MASK_ALT);
- oled_advance_char();
- oled_write_P(PSTR("G"), mod_state & MOD_MASK_GUI);
- oled_advance_char();
-
- oled_write(get_time(), false);
-
-/* Matrix display is 12 x 12 pixels */
-#define MATRIX_DISPLAY_X 0
-#define MATRIX_DISPLAY_Y 18
-
- // matrix
- for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- for (uint8_t y = 0; y < MATRIX_COLS; y++) {
- bool on = (matrix_get_row(x) & (1 << y)) > 0;
- oled_write_pixel(MATRIX_DISPLAY_X + y + 2, MATRIX_DISPLAY_Y + x + 2, on);
- }
- }
-
- // outline
- draw_line_h(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y, 19);
- draw_line_h(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y + 9, 19);
- draw_line_v(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y, 9);
- draw_line_v(MATRIX_DISPLAY_X + 19, MATRIX_DISPLAY_Y, 9);
-
- // oled location
- draw_line_h(MATRIX_DISPLAY_X + 14, MATRIX_DISPLAY_Y + 2, 3);
-
- // bodge extra lines for invert layer and enc mode
- draw_line_v(35, 0, 8);
- draw_line_v(71, 0, 8);
-}
-
-void draw_clock(void) {
- oled_set_cursor(0, 0);
- oled_write(get_date(), false);
- oled_set_cursor(0, 2);
- oled_write(get_time(), false);
-
- oled_set_cursor(12, 0);
- oled_write_P(PSTR(" ENC "), false);
- oled_write(get_enc_mode(), true);
-
- oled_set_cursor(13, 1);
- oled_write_P(PSTR("LAYER "), false);
- oled_write_char(get_highest_layer(layer_state) + 0x30, true);
-
- led_t led_state = host_keyboard_led_state();
- oled_set_cursor(15, 3);
- oled_write_P(PSTR("CAPS"), led_state.caps_lock);
-
- if (clock_set_mode) {
- switch (time_config_idx) {
- case 0: // hour
- default:
- draw_line_h(0, 25, 10);
- break;
- case 1: // minute
- draw_line_h(18, 25, 10);
- break;
- case 2: // year
- draw_line_h(0, 9, 24);
- break;
- case 3: // month
- draw_line_h(30, 9, 10);
- break;
- case 4: // day
- draw_line_h(48, 9, 10);
- break;
- }
- }
-
- // bodge extra lines for invert layer and enc mode
- draw_line_v(101, 0, 8);
- draw_line_v(113, 8, 8);
-}
-
-#endif
diff --git a/keyboards/cannonkeys/satisfaction75_hs/chconf.h b/keyboards/cannonkeys/satisfaction75_hs/chconf.h
new file mode 100644
index 0000000000..d1b9cf32b7
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/chconf.h
@@ -0,0 +1,18 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/cannonkeys/satisfaction75/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
+
diff --git a/keyboards/cannonkeys/satisfaction75_hs/config.h b/keyboards/cannonkeys/satisfaction75_hs/config.h
new file mode 100644
index 0000000000..658babd3c0
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/config.h
@@ -0,0 +1,44 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+/* LSE clock */
+#define STM32_LSECLK 32768
+
+#define ENCODER_RESOLUTION 2
+
+// I2C config
+#define I2C_DRIVER I2CD1
+#define I2C1_SCL_PIN B6
+#define I2C1_SDA_PIN B7
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+#define I2C1_TIMINGR_PRESC 0x00U
+#define I2C1_TIMINGR_SCLDEL 0x03U
+#define I2C1_TIMINGR_SDADEL 0x01U
+#define I2C1_TIMINGR_SCLH 0x03U
+#define I2C1_TIMINGR_SCLL 0x09U
+
+// configure oled driver for the 128x32 oled
+#define OLED_UPDATE_INTERVAL 66 // ~15fps
+
+// OLED_TIMEOUT is incompatible with the OLED_OFF mode
+#define OLED_TIMEOUT 0
+
+// OLED timeout reimplemented in the keyboard-specific code
+#define CUSTOM_OLED_TIMEOUT 60000
+
+// Custom config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+// Custom config Usage:
+// 1 for enabled encoder modes (1 byte)
+// 1 for OLED default mode (1 byte)
+// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/cannonkeys/satisfaction75_hs/halconf.h b/keyboards/cannonkeys/satisfaction75_hs/halconf.h
new file mode 100644
index 0000000000..e4cce5cdfb
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/halconf.h
@@ -0,0 +1,16 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/cannonkeys/satisfaction75/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#define HAL_USE_RTC TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/cannonkeys/satisfaction75_hs/info.json b/keyboards/cannonkeys/satisfaction75_hs/info.json
new file mode 100644
index 0000000000..214ef5f48a
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/info.json
@@ -0,0 +1,207 @@
+{
+ "manufacturer": "CannonKeys",
+ "keyboard_name": "Satisfaction75 HS",
+ "maintainer": "awkannan",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B9", "pin_b": "B8"}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "oled": true
+ },
+ "indicators": {
+ "caps_lock": "B14",
+ "on_state": 0
+ },
+ "matrix_pins": {
+ "cols": ["A8", "C13", "B2", "B1", "B0", "B12", "B5", "B4", "B3", "A7", "A5", "A4", "A3", "A2", "A1"],
+ "rows": ["A10", "A14", "A15", "A0", "B11", "B10"]
+ },
+ "processor": "STM32F072",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x0011",
+ "vid": "0xCA04"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 5.75, "y": 0},
+ {"matrix": [0, 7], "x": 6.75, "y": 0},
+ {"matrix": [0, 8], "x": 7.75, "y": 0},
+ {"matrix": [0, 9], "x": 8.75, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [1, 14], "x": 15.5, "y": 0.75},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [0, 14], "x": 14, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 14], "x": 15.5, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [3, 14], "x": 15.5, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14.25, "y": 4.5},
+ {"matrix": [4, 14], "x": 15.5, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 13.25, "y": 5.5},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.5}
+ ]
+ },
+ "LAYOUT_full_bs": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 5.75, "y": 0},
+ {"matrix": [0, 7], "x": 6.75, "y": 0},
+ {"matrix": [0, 8], "x": 7.75, "y": 0},
+ {"matrix": [0, 9], "x": 8.75, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [1, 14], "x": 15.5, "y": 1},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 14], "x": 15.5, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [3, 14], "x": 15.5, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14.25, "y": 4.5},
+ {"matrix": [4, 14], "x": 15.5, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 13.25, "y": 5.5},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c869bfc4b0
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ENC_PRESS,
+ 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_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c869bfc4b0
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ENC_PRESS,
+ 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_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/epoch80/keymaps/via/rules.mk b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/epoch80/keymaps/via/rules.mk
+++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk
diff --git a/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h b/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h
new file mode 100644
index 0000000000..4967f84456
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h
@@ -0,0 +1,20 @@
+// Copyright 2023 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/cannonkeys/satisfaction75/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_LSE_ENABLED
+#define STM32_LSE_ENABLED TRUE
+
+#undef STM32_RTCSEL
+#define STM32_RTCSEL STM32_RTCSEL_LSE
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/cannonkeys/satisfaction75_hs/readme.md b/keyboards/cannonkeys/satisfaction75_hs/readme.md
new file mode 100644
index 0000000000..41d3d8a7db
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/readme.md
@@ -0,0 +1,20 @@
+# Satisfaction75 Hotswap
+
+Satisfaction75 Hotswap PCB for Satisfaction75 Keyboard
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan1)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/satisfaction75_hs:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/satisfaction75_hs/rules.mk b/keyboards/cannonkeys/satisfaction75_hs/rules.mk
new file mode 100644
index 0000000000..25eebb9054
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/rules.mk
@@ -0,0 +1,7 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+VPATH += keyboards/cannonkeys/lib/satisfaction75
+SRC += satisfaction_encoder.c \
+ satisfaction_oled.c \
+ satisfaction_core.c
diff --git a/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h b/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h
new file mode 100644
index 0000000000..d4fc7aca87
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h
@@ -0,0 +1,6 @@
+// Copyright 2023 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "satisfaction_keycodes.h" \ No newline at end of file
diff --git a/keyboards/capsunlocked/cu80/v2/ansi/ansi.c b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c
index 9967388153..2d4055d984 100644
--- a/keyboards/capsunlocked/cu80/v2/ansi/ansi.c
+++ b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c
@@ -8,8 +8,8 @@ led_config_t g_led_config = {
{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16},
{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49},
- {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50},
- {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75},
+ {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, NO_LED, NO_LED, NO_LED, NO_LED},
+ {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75, NO_LED},
{86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76}
}, {
{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}
diff --git a/keyboards/capsunlocked/cu80/v2/ansi/config.h b/keyboards/capsunlocked/cu80/v2/ansi/config.h
deleted file mode 100644
index 638c9a820f..0000000000
--- a/keyboards/capsunlocked/cu80/v2/ansi/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2021 CapsUnlocked
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 87
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/capsunlocked/cu80/v2/info.json b/keyboards/capsunlocked/cu80/v2/info.json
index c21572be66..67c914d2e1 100644
--- a/keyboards/capsunlocked/cu80/v2/info.json
+++ b/keyboards/capsunlocked/cu80/v2/info.json
@@ -52,7 +52,6 @@
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
- "solid_color": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_cross": true,
diff --git a/keyboards/capsunlocked/cu80/v2/iso/config.h b/keyboards/capsunlocked/cu80/v2/iso/config.h
deleted file mode 100644
index 28086d6195..0000000000
--- a/keyboards/capsunlocked/cu80/v2/iso/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2021 CapsUnlocked
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 88
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/capsunlocked/cu80/v2/iso/iso.c b/keyboards/capsunlocked/cu80/v2/iso/iso.c
index cdc588160e..0e8e26e5dd 100644
--- a/keyboards/capsunlocked/cu80/v2/iso/iso.c
+++ b/keyboards/capsunlocked/cu80/v2/iso/iso.c
@@ -8,8 +8,8 @@ led_config_t g_led_config = {
{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16},
{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49},
- {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50},
- {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76},
+ {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, NO_LED, NO_LED, NO_LED, NO_LED},
+ {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED},
{87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77}
}, {
{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}
diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h
index ca124775d7..21d76ea1ac 100644
--- a/keyboards/checkerboards/quark_lp/config.h
+++ b/keyboards/checkerboards/quark_lp/config.h
@@ -21,31 +21,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 51
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash.
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#endif
diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json
index 9712b63a38..006e454886 100644
--- a/keyboards/checkerboards/quark_lp/info.json
+++ b/keyboards/checkerboards/quark_lp/info.json
@@ -12,10 +12,31 @@
"pin": "C2"
},
"rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_left_right": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "jellybean_raindrops": true,
+ "hue_wave": true,
+ "pixel_flow": true
+ },
"driver": "ws2812",
+ "max_brightness": 125,
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B6", "B5", "B4", "B3", "B0", "D6", "D5", "D4", "D3", "D2", "D1", "D0"],
diff --git a/keyboards/cherrybstudio/cb87rgb/config.h b/keyboards/cherrybstudio/cb87rgb/config.h
deleted file mode 100644
index a4643fae38..0000000000
--- a/keyboards/cherrybstudio/cb87rgb/config.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 92
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
diff --git a/keyboards/cherrybstudio/cb87rgb/info.json b/keyboards/cherrybstudio/cb87rgb/info.json
index eefa7e73f0..e5d5299336 100644
--- a/keyboards/cherrybstudio/cb87rgb/info.json
+++ b/keyboards/cherrybstudio/cb87rgb/info.json
@@ -12,7 +12,54 @@
"pin": "E6"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D5", "D4", "D6", "D7", "B4", "B5", "F5", "C6", "C7", "F7"],
diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c
index ad7ec9bc55..2e014dbe72 100644
--- a/keyboards/chosfox/cf81/cf81.c
+++ b/keyboards/chosfox/cf81/cf81.c
@@ -18,129 +18,129 @@
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, D_2, E_2, F_2},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, A_15, B_15, C_15},
- {0, G_13, H_13, I_13},
- {1, D_3, E_3, F_3},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB1_CA15, CB2_CA15, CB3_CA15},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
- {0, J_1, K_1, L_1},
- {0, A_16, B_16, C_16},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, D_7, E_7, F_7},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB1_CA16, CB2_CA16, CB3_CA16},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
- {0, D_15, E_15, F_15},
- {1, D_6, E_6, F_6},
- {1, D_5, E_5, F_5},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
- {1, G_6, H_6, I_6},
- {1, G_7, H_7, I_7},
- {1, G_8, H_8, I_8},
- {1, G_9, H_9, I_9},
- {1, G_10, H_10, I_10},
- {1, G_11, H_11, I_11},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
+ {1, CB7_CA8, CB8_CA8, CB9_CA8},
+ {1, CB7_CA9, CB8_CA9, CB9_CA9},
+ {1, CB7_CA10, CB8_CA10, CB9_CA10},
+ {1, CB7_CA11, CB8_CA11, CB9_CA11},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_4, K_4, L_4},
- {1, J_5, K_5, L_5},
- {1, J_6, K_6, L_6},
- {1, J_7, K_7, L_7},
- {1, J_8, K_8, L_8},
- {1, J_9, K_9, L_9},
- {1, J_10, K_10, L_10},
- {1, J_11, K_11, L_11},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA8, CB11_CA8, CB12_CA8},
+ {1, CB10_CA9, CB11_CA9, CB12_CA9},
+ {1, CB10_CA10, CB11_CA10, CB12_CA10},
+ {1, CB10_CA11, CB11_CA11, CB12_CA11},
};
// clang-format on
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
diff --git a/keyboards/chosfox/cf81/config.h b/keyboards/chosfox/cf81/config.h
index ae0d87d935..71e783f2bc 100644
--- a/keyboards/chosfox/cf81/config.h
+++ b/keyboards/chosfox/cf81/config.h
@@ -36,12 +36,4 @@
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define DRIVER_1_LED_TOTAL 63
-#define DRIVER_2_LED_TOTAL 20
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 22)
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json
index 5dff610071..de125801b7 100644
--- a/keyboards/chosfox/cf81/info.json
+++ b/keyboards/chosfox/cf81/info.json
@@ -174,7 +174,9 @@
{ "flags": 2, "x":224, "y":51},
{ "flags": 2, "x":224, "y":57},
{ "flags": 2, "x":224, "y":64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h
index 6643e610c0..18ae28c211 100644
--- a/keyboards/chromatonemini/config.h
+++ b/keyboards/chromatonemini/config.h
@@ -19,15 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE
-/* ws2812 RGB MATRIX */
-# define RGB_MATRIX_LED_COUNT 116
- // reacts to keypresses
-# define RGB_MATRIX_KEYPRESSES
-
// for all fingers used at once.
# define LED_HITS_TO_REMEMBER 10
-// the above brighness setting has no effect on rgb_matrix_set_color().
+// the max brightness setting has no effect on rgb_matrix_set_color().
// Use darker colors instead.
/* RGB darker COLORS */
# define RGB_DARKWHITE 0x33, 0x33, 0x33
@@ -49,9 +44,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_DARKMAGENTA 0x33, 0x0, 0x33
# define RGB_DARKPINK 0x33, 0x19, 0x26
-// https://docs.qmk.fm/#/feature_rgb_matrix
-// Enable suspend mode.
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
#endif // RGB_MATRIX_ENABLE
/* Audio */
diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json
index fb4f0c737f..963496a0c0 100644
--- a/keyboards/chromatonemini/info.json
+++ b/keyboards/chromatonemini/info.json
@@ -11,7 +11,6 @@
"midi": true,
"extrakey": true,
"encoder": true,
- "via": true,
"bootmagic": false,
"console": false,
"mousekey": false,
@@ -146,7 +145,6 @@
"val_steps": 8,
"center_point": [124, 32],
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -187,7 +185,8 @@
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
- }
+ },
+ "sleep": true
},
"diode_direction": "COL2ROW",
"matrix_pins": {
diff --git a/keyboards/churrosoft/deck8/rgb/config.h b/keyboards/churrosoft/deck8/rgb/config.h
deleted file mode 100644
index 2454c42fba..0000000000
--- a/keyboards/churrosoft/deck8/rgb/config.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright 2023 Churrosoft
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 8
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_HUE 152
-#define RGB_MATRIX_DEFAULT_SAT 232
-#define RGB_MATRIX_DEFAULT_VAL 180
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
-#define ENABLE_RGB_MATRIX_SOLID_COLOR
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/churrosoft/deck8/rgb/info.json b/keyboards/churrosoft/deck8/rgb/info.json
index 546c17ca13..b5b3b21b5a 100644
--- a/keyboards/churrosoft/deck8/rgb/info.json
+++ b/keyboards/churrosoft/deck8/rgb/info.json
@@ -11,6 +11,57 @@
"rgb_matrix": true
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "solid_color",
+ "hue": 152,
+ "sat": 232,
+ "val": 180
+ },
"driver": "ws2812",
"max_brightness": 200,
"layout": [
@@ -22,6 +73,7 @@
{"flags": 4, "matrix": [1, 1], "x": 90, "y": 42},
{"flags": 4, "matrix": [1, 2], "x": 135, "y": 42},
{"flags": 4, "matrix": [1, 3], "x": 180, "y": 42}
- ]
+ ],
+ "sleep": true
}
} \ No newline at end of file
diff --git a/keyboards/cipulot/common/ec_board.c b/keyboards/cipulot/common/ec_board.c
new file mode 100644
index 0000000000..2225d6da63
--- /dev/null
+++ b/keyboards/cipulot/common/ec_board.c
@@ -0,0 +1,64 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ec_switch_matrix.h"
+#include "quantum.h"
+
+void eeconfig_init_kb(void) {
+ // Default values
+ eeprom_ec_config.actuation_mode = DEFAULT_ACTUATION_MODE;
+ eeprom_ec_config.mode_0_actuation_threshold = DEFAULT_MODE_0_ACTUATION_LEVEL;
+ eeprom_ec_config.mode_0_release_threshold = DEFAULT_MODE_0_RELEASE_LEVEL;
+ eeprom_ec_config.mode_1_initial_deadzone_offset = DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET;
+ eeprom_ec_config.mode_1_actuation_offset = DEFAULT_MODE_1_ACTUATION_OFFSET;
+ eeprom_ec_config.mode_1_release_offset = DEFAULT_MODE_1_RELEASE_OFFSET;
+
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ eeprom_ec_config.bottoming_reading[row][col] = DEFAULT_BOTTOMING_READING;
+ }
+ }
+ // Write default value to EEPROM now
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+
+ eeconfig_init_user();
+}
+
+// On Keyboard startup
+void keyboard_post_init_kb(void) {
+ // Read custom menu variables from memory
+ eeconfig_read_kb_datablock(&eeprom_ec_config);
+
+ // Set runtime values to EEPROM values
+ ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
+ ec_config.mode_0_actuation_threshold = eeprom_ec_config.mode_0_actuation_threshold;
+ ec_config.mode_0_release_threshold = eeprom_ec_config.mode_0_release_threshold;
+ ec_config.mode_1_initial_deadzone_offset = eeprom_ec_config.mode_1_initial_deadzone_offset;
+ ec_config.mode_1_actuation_offset = eeprom_ec_config.mode_1_actuation_offset;
+ ec_config.mode_1_release_offset = eeprom_ec_config.mode_1_release_offset;
+ ec_config.bottoming_calibration = false;
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.bottoming_calibration_starter[row][col] = true;
+ ec_config.bottoming_reading[row][col] = eeprom_ec_config.bottoming_reading[row][col];
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+
+ keyboard_post_init_user();
+}
diff --git a/keyboards/cipulot/common/ec_switch_matrix.c b/keyboards/cipulot/common/ec_switch_matrix.c
new file mode 100644
index 0000000000..845ef99d22
--- /dev/null
+++ b/keyboards/cipulot/common/ec_switch_matrix.c
@@ -0,0 +1,318 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ec_switch_matrix.h"
+#include "analog.h"
+#include "atomic_util.h"
+#include "math.h"
+#include "print.h"
+#include "wait.h"
+
+#if defined(__AVR__)
+# error "AVR platforms not supported due to a variety of reasons. Among them there are limited memory, limited number of pins and ADC not being able to give satisfactory results."
+#endif
+
+#define OPEN_DRAIN_SUPPORT defined(PAL_MODE_OUTPUT_OPENDRAIN)
+
+eeprom_ec_config_t eeprom_ec_config;
+ec_config_t ec_config;
+
+// Pin and port array
+const pin_t row_pins[] = MATRIX_ROW_PINS;
+const pin_t amux_sel_pins[] = AMUX_SEL_PINS;
+const pin_t amux_en_pins[] = AMUX_EN_PINS;
+const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES;
+const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS};
+
+#define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins)
+#define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT)
+// Checks for the correctness of the configuration
+_Static_assert(ARRAY_SIZE(amux_en_pins) == AMUX_COUNT, "AMUX_EN_PINS doesn't have the minimum number of bits required to enable all the multiplexers available");
+// Check that number of select pins is enough to select all the channels
+_Static_assert(AMUX_SEL_PINS_COUNT == EXPECTED_AMUX_SEL_PINS_COUNT), "AMUX_SEL_PINS doesn't have the minimum number of bits required address all the channels");
+// Check that number of elements in AMUX_COL_CHANNELS_SIZES is enough to specify the number of channels for all the multiplexers available
+_Static_assert(ARRAY_SIZE(amux_n_col_sizes) == AMUX_COUNT, "AMUX_COL_CHANNELS_SIZES doesn't have the minimum number of elements required to specify the number of channels for all the multiplexers available");
+
+static uint16_t sw_value[MATRIX_ROWS][MATRIX_COLS];
+
+static adc_mux adcMux;
+
+// Initialize the row pins
+void init_row(void) {
+ // Set all row pins as output and low
+ for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) {
+ setPinOutput(row_pins[idx]);
+ writePinLow(row_pins[idx]);
+ }
+}
+
+// Initialize the multiplexers
+void init_amux(void) {
+ for (uint8_t idx = 0; idx < AMUX_COUNT; idx++) {
+ setPinOutput(amux_en_pins[idx]);
+ writePinLow(amux_en_pins[idx]);
+ }
+ for (uint8_t idx = 0; idx < AMUX_SEL_PINS_COUNT; idx++) {
+ setPinOutput(amux_sel_pins[idx]);
+ }
+}
+
+// Select the multiplexer channel of the specified multiplexer
+void select_amux_channel(uint8_t channel, uint8_t col) {
+ // Get the channel for the specified multiplexer
+ uint8_t ch = amux_n_col_channels[channel][col];
+ // momentarily disable specified multiplexer
+ writePinHigh(amux_en_pins[channel]);
+ // Select the multiplexer channel
+ for (uint8_t i = 0; i < AMUX_SEL_PINS_COUNT; i++) {
+ writePin(amux_sel_pins[i], ch & (1 << i));
+ }
+ // re enable specified multiplexer
+ writePinLow(amux_en_pins[channel]);
+}
+
+// Disable all the unused multiplexers
+void disable_unused_amux(uint8_t channel) {
+ // disable all the other multiplexers apart from the current selected one
+ for (uint8_t idx = 0; idx < AMUX_COUNT; idx++) {
+ if (idx != channel) {
+ writePinHigh(amux_en_pins[idx]);
+ }
+ }
+}
+// Discharge the peak hold capacitor
+void discharge_capacitor(void) {
+#ifdef OPEN_DRAIN_SUPPORT
+ writePinLow(DISCHARGE_PIN);
+#else
+ writePinLow(DISCHARGE_PIN);
+ setPinOutput(DISCHARGE_PIN);
+#endif
+}
+
+// Charge the peak hold capacitor
+void charge_capacitor(uint8_t row) {
+#ifdef OPEN_DRAIN_SUPPORT
+ writePinHigh(DISCHARGE_PIN);
+#else
+ setPinInput(DISCHARGE_PIN);
+#endif
+ writePinHigh(row_pins[row]);
+}
+
+// Initialize the peripherals pins
+int ec_init(void) {
+ // Initialize ADC
+ palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
+ adcMux = pinToMux(ANALOG_PORT);
+
+ // Dummy call to make sure that adcStart() has been called in the appropriate state
+ adc_read(adcMux);
+
+ // Initialize discharge pin as discharge mode
+ writePinLow(DISCHARGE_PIN);
+#ifdef OPEN_DRAIN_SUPPORT
+ setPinOutputOpenDrain(DISCHARGE_PIN);
+#else
+ setPinOutput(DISCHARGE_PIN);
+#endif
+
+ // Initialize drive lines
+ init_row();
+
+ // Initialize AMUXs
+ init_amux();
+
+ return 0;
+}
+
+// Get the noise floor
+void ec_noise_floor(void) {
+ // Initialize the noise floor
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.noise_floor[row][col] = 0;
+ }
+ }
+
+ // Sample the noise floor
+ for (uint8_t i = 0; i < DEFAULT_NOISE_FLOOR_SAMPLING_COUNT; i++) {
+ for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
+ disable_unused_amux(amux);
+ for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col);
+ }
+ }
+ }
+ wait_ms(5);
+ }
+
+ // Average the noise floor
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.noise_floor[row][col] /= DEFAULT_NOISE_FLOOR_SAMPLING_COUNT;
+ }
+ }
+}
+
+// Scan key values and update matrix state
+bool ec_matrix_scan(matrix_row_t current_matrix[]) {
+ bool updated = false;
+
+ for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
+ disable_unused_amux(amux);
+ for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
+ sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col);
+
+ if (ec_config.bottoming_calibration) {
+ if (ec_config.bottoming_calibration_starter[row][adjusted_col]) {
+ ec_config.bottoming_reading[row][adjusted_col] = sw_value[row][adjusted_col];
+ ec_config.bottoming_calibration_starter[row][adjusted_col] = false;
+ } else if (sw_value[row][adjusted_col] > ec_config.bottoming_reading[row][adjusted_col]) {
+ ec_config.bottoming_reading[row][adjusted_col] = sw_value[row][adjusted_col];
+ }
+ } else {
+ updated |= ec_update_key(&current_matrix[row], row, adjusted_col, sw_value[row][adjusted_col]);
+ }
+ }
+ }
+ }
+
+ return ec_config.bottoming_calibration ? false : updated;
+}
+
+// Read the capacitive sensor value
+uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
+ uint16_t sw_value = 0;
+
+ // Select the multiplexer
+ select_amux_channel(channel, col);
+
+ // Set the row pin to low state to avoid ghosting
+ writePinLow(row_pins[row]);
+
+ ATOMIC_BLOCK_FORCEON {
+ // Set the row pin to high state and have capacitor charge
+ charge_capacitor(row);
+ // Read the ADC value
+ sw_value = adc_read(adcMux);
+ }
+ // Discharge peak hold capacitor
+ discharge_capacitor();
+ // Waiting for the ghost capacitor to discharge fully
+ wait_us(DISCHARGE_TIME);
+
+ return sw_value;
+}
+
+// Update press/release state of key
+bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
+ bool current_state = (*current_row >> col) & 1;
+
+ // Real Time Noise Floor Calibration
+ if (sw_value < (ec_config.noise_floor[row][col] - NOISE_FLOOR_THRESHOLD)) {
+ uprintf("Noise Floor Change: %d, %d, %d\n", row, col, sw_value);
+ ec_config.noise_floor[row][col] = sw_value;
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+
+ // Normal board-wide APC
+ if (ec_config.actuation_mode == 0) {
+ if (current_state && sw_value < ec_config.rescaled_mode_0_release_threshold[row][col]) {
+ *current_row &= ~(1 << col);
+ uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ if ((!current_state) && sw_value > ec_config.rescaled_mode_0_actuation_threshold[row][col]) {
+ *current_row |= (1 << col);
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ // Rapid Trigger
+ else if (ec_config.actuation_mode == 1) {
+ // Is key in active zone?
+ if (sw_value > ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]) {
+ // Is key pressed while in active zone?
+ if (current_state) {
+ // Is the key still moving down?
+ if (sw_value > ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ }
+ // Has key moved up enough to be released?
+ else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row &= ~(1 << col);
+ uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ // Key is not pressed while in active zone
+ else {
+ // Is the key still moving up?
+ if (sw_value < ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ }
+ // Has key moved down enough to be pressed?
+ else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row |= (1 << col);
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ }
+ // Key is not in active zone
+ else {
+ // Check to avoid key being stuck in pressed state near the active zone threshold
+ if (sw_value < ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row &= ~(1 << col);
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+// Print the matrix values
+void ec_print_matrix(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", sw_value[row][col]);
+ }
+ uprintf("%4d\n", sw_value[row][MATRIX_COLS - 1]);
+ }
+ print("\n");
+}
+
+// Rescale the value to a different range
+uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) {
+ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
+}
diff --git a/keyboards/cipulot/common/ec_switch_matrix.h b/keyboards/cipulot/common/ec_switch_matrix.h
new file mode 100644
index 0000000000..ad03f093de
--- /dev/null
+++ b/keyboards/cipulot/common/ec_switch_matrix.h
@@ -0,0 +1,72 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "matrix.h"
+#include "eeconfig.h"
+
+typedef struct PACKED {
+ uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
+ uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
+ uint16_t mode_0_release_threshold; // threshold for key release in mode 0
+ uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255)
+ uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
+} eeprom_ec_config_t;
+
+typedef struct {
+ uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point (it can be very near that baseline noise and be "full travel")
+ uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
+ uint16_t mode_0_release_threshold; // threshold for key release in mode 0
+ uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
+ uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
+ uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
+ uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
+ bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
+ bool bottoming_calibration_starter[MATRIX_ROWS][MATRIX_COLS]; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
+ uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
+} ec_config_t;
+
+// Check if the size of the reserved persistent memory is the same as the size of struct eeprom_ec_config_t
+_Static_assert(sizeof(eeprom_ec_config_t) == EECONFIG_KB_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
+
+extern eeprom_ec_config_t eeprom_ec_config;
+
+extern ec_config_t ec_config;
+
+void init_row(void);
+void init_amux(void);
+void select_amux_channel(uint8_t channel, uint8_t col);
+void disable_unused_amux(uint8_t channel);
+void discharge_capacitor(void);
+void charge_capacitor(uint8_t row);
+
+int ec_init(void);
+void ec_noise_floor(void);
+bool ec_matrix_scan(matrix_row_t current_matrix[]);
+uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
+bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
+void ec_print_matrix(void);
+
+uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
diff --git a/keyboards/cipulot/common/eeprom_tools.h b/keyboards/cipulot/common/eeprom_tools.h
new file mode 100644
index 0000000000..b3c90d8759
--- /dev/null
+++ b/keyboards/cipulot/common/eeprom_tools.h
@@ -0,0 +1,26 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "eeprom.h"
+
+#if (EECONFIG_KB_DATA_SIZE) > 0
+# define EEPROM_KB_PARTIAL_UPDATE(__struct, __field) eeprom_update_block(&(__struct.__field), (void *)((void *)(EECONFIG_KB_DATABLOCK) + offsetof(typeof(__struct), __field)), sizeof(__struct.__field))
+#endif
+
+#if (EECONFIG_USER_DATA_SIZE) > 0
+# define EEPROM_USER_PARTIAL_UPDATE(__struct, __field) eeprom_update_block(&(__struct.__field), (void *)((void *)(EECONFIG_USER_DATABLOCK) + offsetof(typeof(__struct), __field)), sizeof(__struct.__field))
+#endif
diff --git a/keyboards/cipulot/common/matrix.c b/keyboards/cipulot/common/matrix.c
new file mode 100644
index 0000000000..cfa2efe050
--- /dev/null
+++ b/keyboards/cipulot/common/matrix.c
@@ -0,0 +1,42 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ec_switch_matrix.h"
+#include "matrix.h"
+
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+
+// Custom matrix init function
+void matrix_init_custom(void) {
+ // Initialize EC
+ ec_init();
+
+ // Get the noise floor at boot
+ ec_noise_floor();
+}
+
+// Custom matrix scan function
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ bool updated = ec_matrix_scan(current_matrix);
+
+ return updated;
+}
+
+// Bootmagic overriden to avoid conflicts with EC
+void bootmagic_scan(void) {
+ ;
+}
diff --git a/keyboards/cipulot/common/via_apc.c b/keyboards/cipulot/common/via_apc.c
deleted file mode 100644
index 2a92052d88..0000000000
--- a/keyboards/cipulot/common/via_apc.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-#ifdef VIA_ENABLE
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/common/via_ec.c b/keyboards/cipulot/common/via_ec.c
new file mode 100644
index 0000000000..ce4e813f75
--- /dev/null
+++ b/keyboards/cipulot/common/via_ec.c
@@ -0,0 +1,363 @@
+/* Copyright 2023 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "eeprom_tools.h"
+#include "ec_switch_matrix.h"
+#include "action.h"
+#include "print.h"
+#include "via.h"
+
+#ifdef VIA_ENABLE
+
+void ec_rescale_values(uint8_t item);
+void ec_save_threshold_data(uint8_t option);
+void ec_save_bottoming_reading(void);
+void ec_show_calibration_data(void);
+void ec_clear_bottoming_calibration_data(void);
+
+// Declaring enums for VIA config menu
+enum via_enums {
+ // clang-format off
+ id_actuation_mode = 1,
+ id_mode_0_actuation_threshold = 2,
+ id_mode_0_release_threshold = 3,
+ id_save_threshold_data = 4,
+ id_mode_1_initial_deadzone_offset = 5,
+ id_mode_1_actuation_offset = 6,
+ id_mode_1_release_offset = 7,
+ id_bottoming_calibration = 8,
+ id_noise_floor_calibration = 9,
+ id_show_calibration_data = 10,
+ id_clear_bottoming_calibration_data = 11
+ // clang-format on
+};
+
+// Handle the data received by the keyboard from the VIA menus
+void via_config_set_value(uint8_t *data) {
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch (*value_id) {
+ case id_actuation_mode: {
+ eeprom_ec_config.actuation_mode = value_data[0];
+ ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
+ if (ec_config.actuation_mode == 0) {
+ uprintf("#########################\n");
+ uprintf("# Actuation Mode: APC #\n");
+ uprintf("#########################\n");
+ } else if (ec_config.actuation_mode == 1) {
+ uprintf("#################################\n");
+ uprintf("# Actuation Mode: Rapid Trigger #\n");
+ uprintf("#################################\n");
+ }
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode);
+ break;
+ }
+ case id_mode_0_actuation_threshold: {
+ ec_config.mode_0_actuation_threshold = value_data[1] | (value_data[0] << 8);
+ uprintf("APC Mode Actuation Threshold: %d\n", ec_config.mode_0_actuation_threshold);
+ break;
+ }
+ case id_mode_0_release_threshold: {
+ ec_config.mode_0_release_threshold = value_data[1] | (value_data[0] << 8);
+ uprintf("APC Mode Release Threshold: %d\n", ec_config.mode_0_release_threshold);
+ break;
+ }
+ case id_mode_1_initial_deadzone_offset: {
+ ec_config.mode_1_initial_deadzone_offset = value_data[1] | (value_data[0] << 8);
+ uprintf("Rapid Trigger Mode Initial Deadzone Offset: %d\n", ec_config.mode_1_initial_deadzone_offset);
+ break;
+ }
+ case id_mode_1_actuation_offset: {
+ ec_config.mode_1_actuation_offset = value_data[0];
+ uprintf("Rapid Trigger Mode Actuation Offset: %d\n", ec_config.mode_1_actuation_offset);
+ break;
+ }
+ case id_mode_1_release_offset: {
+ ec_config.mode_1_release_offset = value_data[0];
+ uprintf("Rapid Trigger Mode Release Offset: %d\n", ec_config.mode_1_release_offset);
+ break;
+ }
+ case id_bottoming_calibration: {
+ if (value_data[0] == 1) {
+ ec_config.bottoming_calibration = true;
+ uprintf("##############################\n");
+ uprintf("# Bottoming calibration mode #\n");
+ uprintf("##############################\n");
+ } else {
+ ec_config.bottoming_calibration = false;
+ ec_save_bottoming_reading();
+ uprintf("## Bottoming calibration done ##\n");
+ ec_show_calibration_data();
+ }
+ break;
+ }
+ case id_save_threshold_data: {
+ ec_save_threshold_data(value_data[0]);
+ break;
+ }
+ case id_noise_floor_calibration: {
+ if (value_data[0] == 0) {
+ ec_noise_floor();
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ ec_rescale_values(2);
+ uprintf("#############################\n");
+ uprintf("# Noise floor data acquired #\n");
+ uprintf("#############################\n");
+ break;
+ }
+ }
+ case id_show_calibration_data: {
+ if (value_data[0] == 0) {
+ ec_show_calibration_data();
+ break;
+ }
+ }
+ case id_clear_bottoming_calibration_data: {
+ if (value_data[0] == 0) {
+ ec_clear_bottoming_calibration_data();
+ }
+ }
+ default: {
+ // Unhandled value.
+ break;
+ }
+ }
+}
+
+// Handle the data sent by the keyboard to the VIA menus
+void via_config_get_value(uint8_t *data) {
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch (*value_id) {
+ case id_actuation_mode: {
+ value_data[0] = eeprom_ec_config.actuation_mode;
+ break;
+ }
+ case id_mode_0_actuation_threshold: {
+ value_data[0] = eeprom_ec_config.mode_0_actuation_threshold >> 8;
+ value_data[1] = eeprom_ec_config.mode_0_actuation_threshold & 0xFF;
+ break;
+ }
+ case id_mode_0_release_threshold: {
+ value_data[0] = eeprom_ec_config.mode_0_release_threshold >> 8;
+ value_data[1] = eeprom_ec_config.mode_0_release_threshold & 0xFF;
+ break;
+ }
+ case id_mode_1_initial_deadzone_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_initial_deadzone_offset >> 8;
+ value_data[1] = eeprom_ec_config.mode_1_initial_deadzone_offset & 0xFF;
+ break;
+ }
+ case id_mode_1_actuation_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_actuation_offset;
+ break;
+ }
+ case id_mode_1_release_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_release_offset;
+ break;
+ }
+ default: {
+ // Unhandled value.
+ break;
+ }
+ }
+}
+
+// Handle the commands sent and received by the keyboard with VIA
+void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
+ // data = [ command_id, channel_id, value_id, value_data ]
+ uint8_t *command_id = &(data[0]);
+ uint8_t *channel_id = &(data[1]);
+ uint8_t *value_id_and_data = &(data[2]);
+
+ if (*channel_id == id_custom_channel) {
+ switch (*command_id) {
+ case id_custom_set_value: {
+ via_config_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value: {
+ via_config_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save: {
+ // Bypass the save function in favor of pinpointed saves
+ break;
+ }
+ default: {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ *command_id = id_unhandled;
+}
+
+// Rescale the values received by VIA to fit the new range
+void ec_rescale_values(uint8_t item) {
+ switch (item) {
+ // Rescale the APC mode actuation thresholds
+ case 0:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+ // Rescale the APC mode release thresholds
+ case 1:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+ // Rescale the Rapid Trigger mode initial deadzone offsets
+ case 2:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+
+ default:
+ // Unhandled item.
+ break;
+ }
+}
+
+void ec_save_threshold_data(uint8_t option) {
+ // Save APC mode thresholds and rescale them for runtime usage
+ if (option == 0) {
+ eeprom_ec_config.mode_0_actuation_threshold = ec_config.mode_0_actuation_threshold;
+ eeprom_ec_config.mode_0_release_threshold = ec_config.mode_0_release_threshold;
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ }
+ // Save Rapid Trigger mode thresholds and rescale them for runtime usage
+ else if (option == 1) {
+ eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset;
+ eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset;
+ eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset;
+ ec_rescale_values(2);
+ }
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+ uprintf("####################################\n");
+ uprintf("# New thresholds applied and saved #\n");
+ uprintf("####################################\n");
+}
+
+// Save the bottoming reading
+void ec_save_bottoming_reading(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ // If the bottom reading doesn't go over the noise floor by BOTTOMING_CALIBRATION_THRESHOLD, it is likely that:
+ // 1. The key is not actually in the matrix
+ // 2. The key is on an alternative layout, therefore not being pressed
+ // 3. The key in in the current layout but not being pressed
+ if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) {
+ eeprom_ec_config.bottoming_reading[row][col] = 1023;
+ } else {
+ eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col];
+ }
+ }
+ }
+ // Rescale the values to fit the new range for runtime usage
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ ec_rescale_values(2);
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+}
+
+// Show the calibration data
+void ec_show_calibration_data(void) {
+ uprintf("\n###############\n");
+ uprintf("# Noise Floor #\n");
+ uprintf("###############\n");
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.noise_floor[row][col]);
+ }
+ uprintf("%4d\n", ec_config.noise_floor[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################\n");
+ uprintf("# Bottoming Readings #\n");
+ uprintf("######################\n");
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ uprintf("%4d\n", eeprom_ec_config.bottoming_reading[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################################\n");
+ uprintf("# Rescaled APC Mode Actuation Points #\n");
+ uprintf("######################################\n");
+ uprintf("Original APC Mode Actuation Point: %4d\n", ec_config.mode_0_actuation_threshold);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_0_actuation_threshold[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_0_actuation_threshold[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################################\n");
+ uprintf("# Rescaled APC Mode Release Points #\n");
+ uprintf("######################################\n");
+ uprintf("Original APC Mode Release Point: %4d\n", ec_config.mode_0_release_threshold);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_0_release_threshold[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_0_release_threshold[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n#######################################################\n");
+ uprintf("# Rescaled Rapid Trigger Mode Initial Deadzone Offset #\n");
+ uprintf("#######################################################\n");
+ uprintf("Original Rapid Trigger Mode Initial Deadzone Offset: %4d\n", ec_config.mode_1_initial_deadzone_offset);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_1_initial_deadzone_offset[row][MATRIX_COLS - 1]);
+ }
+ print("\n");
+}
+
+// Clear the calibration data
+void ec_clear_bottoming_calibration_data(void) {
+ // Clear the EEPROM data
+ eeconfig_init_kb();
+
+ // Reset the runtime values to the EEPROM values
+ keyboard_post_init_kb();
+
+ uprintf("######################################\n");
+ uprintf("# Bottoming calibration data cleared #\n");
+ uprintf("######################################\n");
+}
+
+#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/ec_23u/config.h b/keyboards/cipulot/ec_23u/config.h
index 8bb39367b9..da210fe0c6 100644
--- a/keyboards/cipulot/ec_23u/config.h
+++ b/keyboards/cipulot/ec_23u/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,29 +19,51 @@
#define MATRIX_ROWS 4
#define MATRIX_COLS 6
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ B13, B12, A7, B0 }
-#define MATRIX_COL_CHANNELS \
- { 4, 6, 3, 2, 0, 1 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 1
+#define AMUX_MAX_COLS_COUNT 6
+
+#define AMUX_EN_PINS \
+ { C15 }
+
+#define AMUX_SEL_PINS \
{ C14, C13, B6 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN C15
+#define AMUX_COL_CHANNELS_SIZES \
+ { 6 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 4, 6, 3, 2, 0, 1 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS
+
#define DISCHARGE_PIN A3
#define ANALOG_PORT A2
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-//#define DEBOUNCE 5
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 58
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_23u/ec_switch_matrix.c b/keyboards/cipulot/ec_23u/ec_switch_matrix.c
deleted file mode 100644
index 4059a80e5d..0000000000
--- a/keyboards/cipulot/ec_23u/ec_switch_matrix.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- //Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN);
- writePinLow(APLEX_EN_PIN);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- writePinHigh(APLEX_EN_PIN);
- select_mux(col);
- writePinLow(APLEX_EN_PIN);
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_23u/ec_switch_matrix.h b/keyboards/cipulot/ec_23u/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_23u/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_23u/halconf.h b/keyboards/cipulot/ec_23u/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_23u/halconf.h
+++ b/keyboards/cipulot/ec_23u/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_23u/info.json b/keyboards/cipulot/ec_23u/info.json
index 7358099759..0f656f8e8c 100644
--- a/keyboards/cipulot/ec_23u/info.json
+++ b/keyboards/cipulot/ec_23u/info.json
@@ -8,19 +8,13 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
- "mouse_key": {
- "enabled": true
- },
"indicators": {
"num_lock": "B14"
},
diff --git a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
index 93ceadb842..1f54d78a62 100644
--- a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -28,27 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
RGB_TOG, RGB_VAD, RGB_VAI, _______,
+ _______, _______, _______, NK_TOGG,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, QK_BOOT, _______),
-
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______)
+ _______, _______, QK_BOOT, _______)
// clang-format on
};
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/config.h b/keyboards/cipulot/ec_23u/keymaps/via/config.h
index ebf954d07a..036188669d 100644
--- a/keyboards/cipulot/ec_23u/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_23u/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,7 @@
#pragma once
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
// This is the size of the EEPROM for the custom VIA-specific data
#define EECONFIG_USER_DATA_SIZE 4
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c b/keyboards/cipulot/ec_23u/keymaps/via/keymap.c
index 93ceadb842..1f54d78a62 100644
--- a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_23u/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -28,27 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
RGB_TOG, RGB_VAD, RGB_VAI, _______,
+ _______, _______, _______, NK_TOGG,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, QK_BOOT, _______),
-
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______)
+ _______, _______, QK_BOOT, _______)
// clang-format on
};
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk b/keyboards/cipulot/ec_23u/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_23u/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c b/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_23u/matrix.c b/keyboards/cipulot/ec_23u/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_23u/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_23u/mcuconf.h b/keyboards/cipulot/ec_23u/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_23u/mcuconf.h
+++ b/keyboards/cipulot/ec_23u/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_23u/post_rules.mk b/keyboards/cipulot/ec_23u/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_23u/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_23u/readme.md b/keyboards/cipulot/ec_23u/readme.md
index d4832edff5..28535c3787 100644
--- a/keyboards/cipulot/ec_23u/readme.md
+++ b/keyboards/cipulot/ec_23u/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+* **Physical reset**: Long short the exposed pads on the top of the PCB
+* **Keycode in layout**: Press the key mapped to QK_BOOT if it is available
diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk
index fc2dcf32ab..ab6c37cad4 100644
--- a/keyboards/cipulot/ec_23u/rules.mk
+++ b/keyboards/cipulot/ec_23u/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 2
diff --git a/keyboards/cipulot/ec_60/config.h b/keyboards/cipulot/ec_60/config.h
index 083b71cc13..d4dc8cf68a 100644
--- a/keyboards/cipulot/ec_60/config.h
+++ b/keyboards/cipulot/ec_60/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,54 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ B15, A8, B0, A7, B1 }
-#define MATRIX_COL_CHANNELS \
- { 0, 3, 1, 2, 5, 7, 6, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
{ B6, B5, B4 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 B7
-#define APLEX_EN_PIN_1 B3
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 7 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6, 4 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN A6
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 160
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_60/ec_switch_matrix.c b/keyboards/cipulot/ec_60/ec_switch_matrix.c
deleted file mode 100644
index 72220b8733..0000000000
--- a/keyboards/cipulot/ec_60/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- //Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < (sizeof(col_channels) - 1); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_60/ec_switch_matrix.h b/keyboards/cipulot/ec_60/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_60/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_60/halconf.h b/keyboards/cipulot/ec_60/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_60/halconf.h
+++ b/keyboards/cipulot/ec_60/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_60/info.json b/keyboards/cipulot/ec_60/info.json
index e162eb8db8..a86b20bfd6 100644
--- a/keyboards/cipulot/ec_60/info.json
+++ b/keyboards/cipulot/ec_60/info.json
@@ -8,18 +8,11 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
- "nkro": true,
- "rgblight": false
- },
- "mouse_key": {
- "enabled": true
+ "nkro": true
},
"processor": "STM32F401",
"url": "https://www.github.com/Cipulot/EC60",
diff --git a/keyboards/cipulot/ec_60/keymaps/60_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_60/keymaps/60_ansi_tsangan/keymap.c
index 82c1e711c9..cc33a90f3d 100644
--- a/keyboards/cipulot/ec_60/keymaps/60_ansi_tsangan/keymap.c
+++ b/keyboards/cipulot/ec_60/keymaps/60_ansi_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -32,14 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_60_ansi_tsangan(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_60_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_60/keymaps/60_iso_tsangan/keymap.c b/keyboards/cipulot/ec_60/keymaps/60_iso_tsangan/keymap.c
index 530832885b..8abe5c13bb 100644
--- a/keyboards/cipulot/ec_60/keymaps/60_iso_tsangan/keymap.c
+++ b/keyboards/cipulot/ec_60/keymaps/60_iso_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -32,14 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_60_iso_tsangan(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_60_iso_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_60/keymaps/60_jis/keymap.c b/keyboards/cipulot/ec_60/keymaps/60_jis/keymap.c
index 76ecd08259..985a587f3c 100644
--- a/keyboards/cipulot/ec_60/keymaps/60_jis/keymap.c
+++ b/keyboards/cipulot/ec_60/keymaps/60_jis/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -34,14 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_60_jis(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_60_jis(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_60/keymaps/default/keymap.c b/keyboards/cipulot/ec_60/keymaps/default/keymap.c
index d76f9166b4..d41d43c885 100644
--- a/keyboards/cipulot/ec_60/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_60/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -34,14 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_60/keymaps/via/config.h b/keyboards/cipulot/ec_60/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_60/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_60/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_60/keymaps/via/keymap.c b/keyboards/cipulot/ec_60/keymaps/via/keymap.c
index d76f9166b4..d41d43c885 100644
--- a/keyboards/cipulot/ec_60/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_60/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -34,14 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_60/keymaps/via/rules.mk b/keyboards/cipulot/ec_60/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_60/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_60/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_60/keymaps/via/via_apc.c b/keyboards/cipulot/ec_60/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_60/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_60/matrix.c b/keyboards/cipulot/ec_60/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_60/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_60/mcuconf.h b/keyboards/cipulot/ec_60/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_60/mcuconf.h
+++ b/keyboards/cipulot/ec_60/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_60/post_rules.mk b/keyboards/cipulot/ec_60/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_60/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_60/readme.md b/keyboards/cipulot/ec_60/readme.md
index a171bdfd4e..be6a8ec6ba 100644
--- a/keyboards/cipulot/ec_60/readme.md
+++ b/keyboards/cipulot/ec_60/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_60/rules.mk b/keyboards/cipulot/ec_60/rules.mk
index fc2dcf32ab..70494b635f 100644
--- a/keyboards/cipulot/ec_60/rules.mk
+++ b/keyboards/cipulot/ec_60/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 3
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/config.h b/keyboards/cipulot/ec_alveus/1_0_0/config.h
index 1947c30802..775c7906ad 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/config.h
+++ b/keyboards/cipulot/ec_alveus/1_0_0/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,53 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ A14, B3, A15, B5, B4 }
-#define MATRIX_COL_CHANNELS \
- { 3, 0, 1, 2, 6, 5, 7, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { C13, C14 }
+
+#define AMUX_SEL_PINS \
{ B7, B8, B9 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 C13
-#define APLEX_EN_PIN_1 C14
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 8 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 3, 0, 1, 2, 6, 5, 7, 4 }
+
+#define AMUX_1_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN B1
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 170
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.c b/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.c
deleted file mode 100644
index 783c00457c..0000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- // Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.h b/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/halconf.h b/keyboards/cipulot/ec_alveus/1_0_0/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/halconf.h
+++ b/keyboards/cipulot/ec_alveus/1_0_0/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/info.json b/keyboards/cipulot/ec_alveus/1_0_0/info.json
index 3e19546089..4652166cc5 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/info.json
+++ b/keyboards/cipulot/ec_alveus/1_0_0/info.json
@@ -8,18 +8,11 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
- "nkro": true,
- "rgblight": false
- },
- "mouse_key": {
- "enabled": true
+ "nkro": true
},
"processor": "STM32F401",
"usb": {
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/default/keymap.c b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/default/keymap.c
index d111c6a685..bff38f1fa8 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -33,14 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c
index 5fc6c4d94e..692a631ea8 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -33,14 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/via_apc.c b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/matrix.c b/keyboards/cipulot/ec_alveus/1_0_0/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/mcuconf.h b/keyboards/cipulot/ec_alveus/1_0_0/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/mcuconf.h
+++ b/keyboards/cipulot/ec_alveus/1_0_0/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/readme.md b/keyboards/cipulot/ec_alveus/1_0_0/readme.md
index 01e82a8805..01594cbc4d 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/readme.md
+++ b/keyboards/cipulot/ec_alveus/1_0_0/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset**: Long short the exposed pads on the top of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
index fc2dcf32ab..70494b635f 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 3
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/config.h b/keyboards/cipulot/ec_alveus/1_2_0/config.h
index 1947c30802..775c7906ad 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/config.h
+++ b/keyboards/cipulot/ec_alveus/1_2_0/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,53 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ A14, B3, A15, B5, B4 }
-#define MATRIX_COL_CHANNELS \
- { 3, 0, 1, 2, 6, 5, 7, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { C13, C14 }
+
+#define AMUX_SEL_PINS \
{ B7, B8, B9 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 C13
-#define APLEX_EN_PIN_1 C14
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 8 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 3, 0, 1, 2, 6, 5, 7, 4 }
+
+#define AMUX_1_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN B1
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 170
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.c b/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.c
deleted file mode 100644
index 783c00457c..0000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- // Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.h b/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/halconf.h b/keyboards/cipulot/ec_alveus/1_2_0/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/halconf.h
+++ b/keyboards/cipulot/ec_alveus/1_2_0/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/info.json b/keyboards/cipulot/ec_alveus/1_2_0/info.json
index 65af74e99b..8b63d02f77 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/info.json
+++ b/keyboards/cipulot/ec_alveus/1_2_0/info.json
@@ -8,18 +8,11 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
- "nkro": true,
- "rgblight": false
- },
- "mouse_key": {
- "enabled": true
+ "nkro": true
},
"processor": "STM32F401",
"usb": {
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/default/keymap.c b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/default/keymap.c
index d111c6a685..bff38f1fa8 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -33,14 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/tkl_nofrow_ansi_tsangan_wkl_split_bs/keymap.c b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/tkl_nofrow_ansi_tsangan_wkl_split_bs/keymap.c
index 4552cd6457..163f05202e 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/tkl_nofrow_ansi_tsangan_wkl_split_bs/keymap.c
+++ b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/tkl_nofrow_ansi_tsangan_wkl_split_bs/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -33,14 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl_split_bs(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_nofrow_ansi_tsangan_wkl_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c
index 54a8f3b4f0..2134def61a 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -33,14 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/via_apc.c b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/matrix.c b/keyboards/cipulot/ec_alveus/1_2_0/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/mcuconf.h b/keyboards/cipulot/ec_alveus/1_2_0/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/mcuconf.h
+++ b/keyboards/cipulot/ec_alveus/1_2_0/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/readme.md b/keyboards/cipulot/ec_alveus/1_2_0/readme.md
index e4c3ef86c3..43a39b06d8 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/readme.md
+++ b/keyboards/cipulot/ec_alveus/1_2_0/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset**: Long short the exposed pads on the top of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
index fc2dcf32ab..70494b635f 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 3
diff --git a/keyboards/cipulot/ec_pro2/config.h b/keyboards/cipulot/ec_pro2/config.h
index 083b71cc13..d4dc8cf68a 100644
--- a/keyboards/cipulot/ec_pro2/config.h
+++ b/keyboards/cipulot/ec_pro2/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,54 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ B15, A8, B0, A7, B1 }
-#define MATRIX_COL_CHANNELS \
- { 0, 3, 1, 2, 5, 7, 6, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
{ B6, B5, B4 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 B7
-#define APLEX_EN_PIN_1 B3
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 7 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6, 4 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN A6
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 160
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_pro2/ec_switch_matrix.c b/keyboards/cipulot/ec_pro2/ec_switch_matrix.c
deleted file mode 100644
index d45e8c3281..0000000000
--- a/keyboards/cipulot/ec_pro2/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- // Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < (sizeof(col_channels) - 1); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_pro2/ec_switch_matrix.h b/keyboards/cipulot/ec_pro2/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_pro2/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_pro2/halconf.h b/keyboards/cipulot/ec_pro2/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_pro2/halconf.h
+++ b/keyboards/cipulot/ec_pro2/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_pro2/info.json b/keyboards/cipulot/ec_pro2/info.json
index cb107d3da3..2929edfb19 100644
--- a/keyboards/cipulot/ec_pro2/info.json
+++ b/keyboards/cipulot/ec_pro2/info.json
@@ -1,6 +1,6 @@
{
"manufacturer": "Cipulot",
- "keyboard_name": "EC Pro2",
+ "keyboard_name": "EC Pro 2",
"maintainer": "Cipulot",
"bootloader": "stm32-dfu",
"build": {
@@ -8,19 +8,13 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
- "mouse_key": {
- "enabled": true
- },
"processor": "STM32F401",
"rgblight": {
"led_count": 22,
@@ -40,7 +34,6 @@
"ws2812": {
"pin": "B14"
},
- "url": "https://www.github.com/Cipulot/EC-Pro-2",
"usb": {
"device_version": "0.0.1",
"pid": "0x6B8E",
diff --git a/keyboards/cipulot/ec_pro2/keymaps/60_hhkb/keymap.c b/keyboards/cipulot/ec_pro2/keymaps/60_hhkb/keymap.c
index 10c7ffb65f..71f8cd0368 100644
--- a/keyboards/cipulot/ec_pro2/keymaps/60_hhkb/keymap.c
+++ b/keyboards/cipulot/ec_pro2/keymaps/60_hhkb/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -22,8 +22,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_60_hhkb(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
@@ -33,13 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, MO(2)),
[2] = LAYOUT_60_hhkb(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
- [3] = LAYOUT_60_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_pro2/keymaps/default/keymap.c b/keyboards/cipulot/ec_pro2/keymaps/default/keymap.c
index 767b76ea3e..45e25068e5 100644
--- a/keyboards/cipulot/ec_pro2/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_pro2/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
@@ -33,13 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, MO(2)),
[2] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/config.h b/keyboards/cipulot/ec_pro2/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_pro2/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_pro2/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c b/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c
index 767b76ea3e..45e25068e5 100644
--- a/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
@@ -33,13 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, MO(2)),
[2] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk b/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/via_apc.c b/keyboards/cipulot/ec_pro2/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_pro2/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_pro2/matrix.c b/keyboards/cipulot/ec_pro2/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_pro2/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_pro2/mcuconf.h b/keyboards/cipulot/ec_pro2/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_pro2/mcuconf.h
+++ b/keyboards/cipulot/ec_pro2/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_pro2/post_rules.mk b/keyboards/cipulot/ec_pro2/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_pro2/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_pro2/readme.md b/keyboards/cipulot/ec_pro2/readme.md
index 0ada16ec19..6e18a2d0d8 100644
--- a/keyboards/cipulot/ec_pro2/readme.md
+++ b/keyboards/cipulot/ec_pro2/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_pro2/rules.mk b/keyboards/cipulot/ec_pro2/rules.mk
index fc2dcf32ab..ab6c37cad4 100644
--- a/keyboards/cipulot/ec_pro2/rules.mk
+++ b/keyboards/cipulot/ec_pro2/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 2
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/config.h b/keyboards/cipulot/ec_prox/ansi_iso/config.h
index b659097656..ec15808274 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/config.h
+++ b/keyboards/cipulot/ec_prox/ansi_iso/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,54 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ A7, B0, A4, A5, A6 }
-#define MATRIX_COL_CHANNELS \
- { 0, 3, 1, 2, 5, 7, 6, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
{ B4, B5, B6 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 B7
-#define APLEX_EN_PIN_1 B3
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 7 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6, 4 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 0, 3, 1, 2, 5, 7, 6 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN A2
#define ANALOG_PORT A1
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 160
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.c b/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.c
deleted file mode 100644
index d45e8c3281..0000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- // Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < (sizeof(col_channels) - 1); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.h b/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/halconf.h b/keyboards/cipulot/ec_prox/ansi_iso/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/halconf.h
+++ b/keyboards/cipulot/ec_prox/ansi_iso/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/info.json b/keyboards/cipulot/ec_prox/ansi_iso/info.json
index b1221bfdd7..3f390d0bc6 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/info.json
+++ b/keyboards/cipulot/ec_prox/ansi_iso/info.json
@@ -8,19 +8,13 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
- "mouse_key": {
- "enabled": true
- },
"processor": "STM32F401",
"rgblight": {
"led_count": 22,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/60_hhkb/keymap.c b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/60_hhkb/keymap.c
index 10c7ffb65f..bd4df694af 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/60_hhkb/keymap.c
+++ b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/60_hhkb/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_60_hhkb(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
@@ -33,13 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, MO(2)),
[2] = LAYOUT_60_hhkb(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
- [3] = LAYOUT_60_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/default/keymap.c b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/default/keymap.c
index 430ed0bafa..9a0f1dfcbd 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -23,24 +23,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______),
+ _______, _______, _______, _______, MO(2)),
[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c
index 430ed0bafa..9a0f1dfcbd 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -23,24 +23,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______),
+ _______, _______, _______, _______, MO(2)),
[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/via_apc.c b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/matrix.c b/keyboards/cipulot/ec_prox/ansi_iso/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/mcuconf.h b/keyboards/cipulot/ec_prox/ansi_iso/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/mcuconf.h
+++ b/keyboards/cipulot/ec_prox/ansi_iso/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/readme.md b/keyboards/cipulot/ec_prox/ansi_iso/readme.md
index 2afa33514a..fe9d78537f 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/readme.md
+++ b/keyboards/cipulot/ec_prox/ansi_iso/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
index fc2dcf32ab..ab6c37cad4 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
+++ b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 2
diff --git a/keyboards/cipulot/ec_prox/jis/config.h b/keyboards/cipulot/ec_prox/jis/config.h
index 1c6a836867..8761b692aa 100644
--- a/keyboards/cipulot/ec_prox/jis/config.h
+++ b/keyboards/cipulot/ec_prox/jis/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,54 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ A7, B0, A4, A5, A6 }
-#define MATRIX_COL_CHANNELS \
- { 2, 1, 0, 3, 5, 7, 4, 6 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
{ B4, B5, B6 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 B7
-#define APLEX_EN_PIN_1 B3
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 6 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 2, 1, 0, 3, 5, 7, 4, 6 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 2, 1, 0, 3, 5, 7 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN A2
#define ANALOG_PORT A1
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 150
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.c b/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.c
deleted file mode 100644
index 81003dd36a..0000000000
--- a/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- //Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < (sizeof(col_channels) - 2); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.h b/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_prox/jis/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_prox/jis/halconf.h b/keyboards/cipulot/ec_prox/jis/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_prox/jis/halconf.h
+++ b/keyboards/cipulot/ec_prox/jis/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_prox/jis/info.json b/keyboards/cipulot/ec_prox/jis/info.json
index 6016004b1b..88067f9305 100644
--- a/keyboards/cipulot/ec_prox/jis/info.json
+++ b/keyboards/cipulot/ec_prox/jis/info.json
@@ -8,19 +8,13 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
- "mouse_key": {
- "enabled": true
- },
"processor": "STM32F401",
"rgblight": {
"led_count": 22,
@@ -52,79 +46,75 @@
"layouts": {
"LAYOUT_jp": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [0, 6], "x": 6, "y": 0},
- {"matrix": [0, 7], "x": 7, "y": 0},
- {"matrix": [0, 8], "x": 8, "y": 0},
- {"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
- {"matrix": [0, 11], "x": 11, "y": 0},
- {"matrix": [0, 12], "x": 12, "y": 0},
- {"matrix": [0, 13], "x": 13, "y": 0},
- {"matrix": [1, 13], "x": 14, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
- {"matrix": [1, 1], "x": 1.5, "y": 1},
- {"matrix": [1, 2], "x": 2.5, "y": 1},
- {"matrix": [1, 3], "x": 3.5, "y": 1},
- {"matrix": [1, 4], "x": 4.5, "y": 1},
- {"matrix": [1, 5], "x": 5.5, "y": 1},
- {"matrix": [1, 6], "x": 6.5, "y": 1},
- {"matrix": [1, 7], "x": 7.5, "y": 1},
- {"matrix": [1, 8], "x": 8.5, "y": 1},
- {"matrix": [1, 9], "x": 9.5, "y": 1},
- {"matrix": [1, 10], "x": 10.5, "y": 1},
- {"matrix": [1, 11], "x": 11.5, "y": 1},
- {"matrix": [1, 12], "x": 12.5, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
- {"matrix": [2, 1], "x": 1.75, "y": 2},
- {"matrix": [2, 2], "x": 2.75, "y": 2},
- {"matrix": [2, 3], "x": 3.75, "y": 2},
- {"matrix": [2, 4], "x": 4.75, "y": 2},
- {"matrix": [2, 5], "x": 5.75, "y": 2},
- {"matrix": [2, 6], "x": 6.75, "y": 2},
- {"matrix": [2, 7], "x": 7.75, "y": 2},
- {"matrix": [2, 8], "x": 8.75, "y": 2},
- {"matrix": [2, 9], "x": 9.75, "y": 2},
- {"matrix": [2, 10], "x": 10.75, "y": 2},
- {"matrix": [2, 11], "x": 11.75, "y": 2},
- {"matrix": [2, 12], "x": 12.75, "y": 2},
- {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
- {"matrix": [3, 1], "x": 2, "y": 3},
- {"matrix": [3, 2], "x": 3, "y": 3},
- {"matrix": [3, 3], "x": 4, "y": 3},
- {"matrix": [3, 4], "x": 5, "y": 3},
- {"matrix": [3, 5], "x": 6, "y": 3},
- {"matrix": [3, 6], "x": 7, "y": 3},
- {"matrix": [3, 7], "x": 8, "y": 3},
- {"matrix": [3, 8], "x": 9, "y": 3},
- {"matrix": [3, 9], "x": 10, "y": 3},
- {"matrix": [3, 10], "x": 11, "y": 3},
- {"matrix": [3, 11], "x": 12, "y": 3},
- {"matrix": [3, 12], "x": 13, "y": 3},
- {"matrix": [3, 13], "x": 14, "y": 3},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1.25, "y": 4},
- {"matrix": [4, 2], "x": 2.25, "y": 4},
- {"matrix": [4, 3], "x": 3.25, "y": 4},
- {"matrix": [4, 4], "x": 4.25, "y": 4},
- {"matrix": [4, 5], "x": 5.25, "y": 4, "w": 2.5},
- {"matrix": [4, 7], "x": 7.75, "y": 4},
- {"matrix": [4, 8], "x": 8.75, "y": 4},
- {"matrix": [4, 9], "x": 9.75, "y": 4},
- {"matrix": [4, 10], "x": 10.75, "y": 4},
- {"matrix": [4, 11], "x": 12, "y": 4},
- {"matrix": [4, 12], "x": 13, "y": 4},
- {"matrix": [4, 13], "x": 14, "y": 4}
+ {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "1,13", "matrix": [1, 13], "x": 14, "y": 0},
+ {"label": "1,0", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
+ {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "1,8", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "2,13", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1},
+ {"label": "2,0", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "3,0", "matrix": [3, 0], "w": 2, "x": 0, "y": 3},
+ {"label": "3,1", "matrix": [3, 1], "x": 2, "y": 3},
+ {"label": "3,2", "matrix": [3, 2], "x": 3, "y": 3},
+ {"label": "3,3", "matrix": [3, 3], "x": 4, "y": 3},
+ {"label": "3,4", "matrix": [3, 4], "x": 5, "y": 3},
+ {"label": "3,5", "matrix": [3, 5], "x": 6, "y": 3},
+ {"label": "3,6", "matrix": [3, 6], "x": 7, "y": 3},
+ {"label": "3,7", "matrix": [3, 7], "x": 8, "y": 3},
+ {"label": "3,8", "matrix": [3, 8], "x": 9, "y": 3},
+ {"label": "3,9", "matrix": [3, 9], "x": 10, "y": 3},
+ {"label": "3,10", "matrix": [3, 10], "x": 11, "y": 3},
+ {"label": "3,11", "matrix": [3, 11], "x": 12, "y": 3},
+ {"label": "3,12", "matrix": [3, 12], "x": 13, "y": 3},
+ {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3},
+ {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4},
+ {"label": "4,2", "matrix": [4, 2], "x": 2.25, "y": 4},
+ {"label": "4,3", "matrix": [4, 3], "x": 3.25, "y": 4},
+ {"label": "4,4", "matrix": [4, 4], "x": 4.25, "y": 4},
+ {"label": "4,5", "matrix": [4, 5], "w": 2.5, "x": 5.25, "y": 4},
+ {"label": "4,7", "matrix": [4, 7], "x": 7.75, "y": 4},
+ {"label": "4,8", "matrix": [4, 8], "x": 8.75, "y": 4},
+ {"label": "4,9", "matrix": [4, 9], "x": 9.75, "y": 4},
+ {"label": "4,10", "matrix": [4, 10], "x": 10.75, "y": 4},
+ {"label": "4,11", "matrix": [4, 11], "x": 12, "y": 4},
+ {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4},
+ {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}
]
}
}
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c b/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c
index 2a64063a0b..88836af780 100644
--- a/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -21,28 +21,21 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
[0] = LAYOUT_jp(
- 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, JP_YEN, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_UP, KC_RSFT,
- MO(1), JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_UP, KC_RSFT,
+ MO(1), JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_jp(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______),
[2] = LAYOUT_jp(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_jp(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h b/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c b/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c
index 2a64063a0b..f793b355b2 100644
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -21,31 +21,24 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
[0] = LAYOUT_jp(
- 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, JP_YEN, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_UP, KC_RSFT,
- MO(1), JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_UP, KC_RSFT,
+ MO(1), JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_jp(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_PENT,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______),
[2] = LAYOUT_jp(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_jp(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
// clang-format on
};
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk b/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/via_apc.c b/keyboards/cipulot/ec_prox/jis/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/ec_prox/jis/matrix.c b/keyboards/cipulot/ec_prox/jis/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_prox/jis/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_prox/jis/mcuconf.h b/keyboards/cipulot/ec_prox/jis/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_prox/jis/mcuconf.h
+++ b/keyboards/cipulot/ec_prox/jis/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_prox/jis/post_rules.mk b/keyboards/cipulot/ec_prox/jis/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_prox/jis/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_prox/jis/readme.md b/keyboards/cipulot/ec_prox/jis/readme.md
index f1fa471cc9..2f9c791f25 100644
--- a/keyboards/cipulot/ec_prox/jis/readme.md
+++ b/keyboards/cipulot/ec_prox/jis/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_prox/jis/rules.mk b/keyboards/cipulot/ec_prox/jis/rules.mk
index fc2dcf32ab..ab6c37cad4 100644
--- a/keyboards/cipulot/ec_prox/jis/rules.mk
+++ b/keyboards/cipulot/ec_prox/jis/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 2
diff --git a/keyboards/cipulot/ec_theca/config.h b/keyboards/cipulot/ec_theca/config.h
index 481183b80c..23a0bb4eb4 100644
--- a/keyboards/cipulot/ec_theca/config.h
+++ b/keyboards/cipulot/ec_theca/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,53 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ B4, A14, B3, A15, B6, B5 }
-#define MATRIX_COL_CHANNELS \
- { 3, 0, 1, 2, 6, 5, 7, 4 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { C13, C14 }
+
+#define AMUX_SEL_PINS \
{ B7, B8, B9 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 C13
-#define APLEX_EN_PIN_1 C14
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 8 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 3, 0, 1, 2, 6, 5, 7, 4 }
+
+#define AMUX_1_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN B1
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 50
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+#define EECONFIG_KB_DATA_SIZE 202
+
/* 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 DEFAULT_ACTUATION_LEVEL 550
-#define DEFAULT_RELEASE_LEVEL 500
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/ec_theca/ec_switch_matrix.c b/keyboards/cipulot/ec_theca/ec_switch_matrix.c
deleted file mode 100644
index fdf4479423..0000000000
--- a/keyboards/cipulot/ec_theca/ec_switch_matrix.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-static inline void clear_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- // Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- //writePinLow(row_pins[row]);
- clear_row();
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/ec_theca/ec_switch_matrix.h b/keyboards/cipulot/ec_theca/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/ec_theca/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/ec_theca/halconf.h b/keyboards/cipulot/ec_theca/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/ec_theca/halconf.h
+++ b/keyboards/cipulot/ec_theca/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_theca/info.json b/keyboards/cipulot/ec_theca/info.json
index a80a92a7f5..fbd7d7ec47 100644
--- a/keyboards/cipulot/ec_theca/info.json
+++ b/keyboards/cipulot/ec_theca/info.json
@@ -8,7 +8,7 @@
},
"diode_direction": "COL2ROW",
"features": {
- "bootmagic": true,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/cipulot/ec_theca/keymaps/default/keymap.c b/keyboards/cipulot/ec_theca/keymaps/default/keymap.c
index 2ad75a0f3e..caadf93c1c 100644
--- a/keyboards/cipulot/ec_theca/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_theca/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c
index a8f569b189..7945b62db9 100644
--- a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c
+++ b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_ansi_tsangan(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c
index 56548302dd..7205d9fad0 100644
--- a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c
+++ b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_ansi_wkl(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/config.h b/keyboards/cipulot/ec_theca/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/ec_theca/keymaps/via/config.h
+++ b/keyboards/cipulot/ec_theca/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/keymap.c b/keyboards/cipulot/ec_theca/keymaps/via/keymap.c
index a8fc1b961a..ca11bf60fc 100644
--- a/keyboards/cipulot/ec_theca/keymaps/via/keymap.c
+++ b/keyboards/cipulot/ec_theca/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/rules.mk b/keyboards/cipulot/ec_theca/keymaps/via/rules.mk
index 72e314e694..1e5b99807c 100644
--- a/keyboards/cipulot/ec_theca/keymaps/via/rules.mk
+++ b/keyboards/cipulot/ec_theca/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += keyboards/cipulot/common/via_apc.c
diff --git a/keyboards/cipulot/ec_theca/matrix.c b/keyboards/cipulot/ec_theca/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/ec_theca/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/ec_theca/mcuconf.h b/keyboards/cipulot/ec_theca/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/ec_theca/mcuconf.h
+++ b/keyboards/cipulot/ec_theca/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/ec_theca/post_rules.mk b/keyboards/cipulot/ec_theca/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/ec_theca/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/ec_theca/readme.md b/keyboards/cipulot/ec_theca/readme.md
index c25e498434..47a70867fa 100644
--- a/keyboards/cipulot/ec_theca/readme.md
+++ b/keyboards/cipulot/ec_theca/readme.md
@@ -18,8 +18,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset**: Long short the exposed pads on the top of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_theca/rules.mk b/keyboards/cipulot/ec_theca/rules.mk
index fc2dcf32ab..70494b635f 100644
--- a/keyboards/cipulot/ec_theca/rules.mk
+++ b/keyboards/cipulot/ec_theca/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 3
diff --git a/keyboards/cipulot/kawayo/config.h b/keyboards/cipulot/kawayo/config.h
index a87365e69d..a08011b9cf 100644
--- a/keyboards/cipulot/kawayo/config.h
+++ b/keyboards/cipulot/kawayo/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/kawayo/keymaps/default/keymap.c b/keyboards/cipulot/kawayo/keymaps/default/keymap.c
index 5d4bf4a35b..06cf47bc5f 100644
--- a/keyboards/cipulot/kawayo/keymaps/default/keymap.c
+++ b/keyboards/cipulot/kawayo/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c
index c160269ae8..2af88d24ff 100644
--- a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c
index 32a4389d3f..5db2d32b92 100644
--- a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c
index ca65d38440..fe29075483 100644
--- a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/kawayo/keymaps/via/keymap.c b/keyboards/cipulot/kawayo/keymaps/via/keymap.c
index 5d4bf4a35b..06cf47bc5f 100644
--- a/keyboards/cipulot/kawayo/keymaps/via/keymap.c
+++ b/keyboards/cipulot/kawayo/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/config.h b/keyboards/cipulot/rf_r1_8_9xu/config.h
index 915348b3f4..bd020ff433 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/config.h
+++ b/keyboards/cipulot/rf_r1_8_9xu/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -19,27 +19,53 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
-/* Custom matrix pins and port select array */
#define MATRIX_ROW_PINS \
{ B15, A8, B13, B12, B14, B0 }
-#define MATRIX_COL_CHANNELS \
- { 3, 0, 1, 2, 4, 6, 7, 5 }
-#define MUX_SEL_PINS \
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, A6 }
+
+#define AMUX_SEL_PINS \
{ B4, B5, B6 }
-/* Hardware peripherals pins */
-#define APLEX_EN_PIN_0 B7
-#define APLEX_EN_PIN_1 A6
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 8 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 3, 0, 1, 2, 4, 6, 7, 5 }
+
+#define AMUX_1_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
#define DISCHARGE_PIN A4
#define ANALOG_PORT A3
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+#define EECONFIG_KB_DATA_SIZE 202
+
/* 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 DEFAULT_ACTUATION_LEVEL 700
-#define DEFAULT_RELEASE_LEVEL 650
-
-#define DISCHARGE_TIME 10
diff --git a/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.c b/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.c
deleted file mode 100644
index 3f25e365c0..0000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "analog.h"
-#include "atomic_util.h"
-#include "print.h"
-#include "wait.h"
-
-/* Pin and port array */
-const uint32_t row_pins[] = MATRIX_ROW_PINS;
-const uint8_t col_channels[] = MATRIX_COL_CHANNELS;
-const uint32_t mux_sel_pins[] = MUX_SEL_PINS;
-
-static ecsm_config_t config;
-static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS];
-
-static adc_mux adcMux;
-
-static inline void discharge_capacitor(void) {
- writePinLow(DISCHARGE_PIN);
-}
-static inline void charge_capacitor(uint8_t row) {
- writePinHigh(DISCHARGE_PIN);
- writePinHigh(row_pins[row]);
-}
-
-static inline void init_mux_sel(void) {
- for (int idx = 0; idx < 3; idx++) {
- setPinOutput(mux_sel_pins[idx]);
- }
-}
-
-static inline void select_mux(uint8_t col) {
- uint8_t ch = col_channels[col];
- writePin(mux_sel_pins[0], ch & 1);
- writePin(mux_sel_pins[1], ch & 2);
- writePin(mux_sel_pins[2], ch & 4);
-}
-
-static inline void init_row(void) {
- for (int idx = 0; idx < MATRIX_ROWS; idx++) {
- setPinOutput(row_pins[idx]);
- writePinLow(row_pins[idx]);
- }
-}
-
-/* Initialize the peripherals pins */
-int ecsm_init(ecsm_config_t const* const ecsm_config) {
- // Initialize config
- config = *ecsm_config;
-
- palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
- adcMux = pinToMux(ANALOG_PORT);
-
- //Dummy call to make sure that adcStart() has been called in the appropriate state
- adc_read(adcMux);
-
- // Initialize discharge pin as discharge mode
- writePinLow(DISCHARGE_PIN);
- setPinOutputOpenDrain(DISCHARGE_PIN);
-
- // Initialize drive lines
- init_row();
-
- // Initialize multiplexer select pin
- init_mux_sel();
-
- // Enable AMUX
- setPinOutput(APLEX_EN_PIN_0);
- writePinLow(APLEX_EN_PIN_0);
- setPinOutput(APLEX_EN_PIN_1);
- writePinLow(APLEX_EN_PIN_1);
-
- return 0;
-}
-
-int ecsm_update(ecsm_config_t const* const ecsm_config) {
- // Save config
- config = *ecsm_config;
- return 0;
-}
-
-// Read the capacitive sensor value
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
- uint16_t sw_value = 0;
-
- // Select the multiplexer
- if (channel == 0) {
- writePinHigh(APLEX_EN_PIN_0);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_0);
- } else {
- writePinHigh(APLEX_EN_PIN_1);
- select_mux(col);
- writePinLow(APLEX_EN_PIN_1);
- }
-
- // Set strobe pins to low state
- writePinLow(row_pins[row]);
- ATOMIC_BLOCK_FORCEON {
- // Set the row pin to high state and have capacitor charge
- charge_capacitor(row);
- // Read the ADC value
- sw_value = adc_read(adcMux);
- }
- // Discharge peak hold capacitor
- discharge_capacitor();
- // Waiting for the ghost capacitor to discharge fully
- wait_us(DISCHARGE_TIME);
-
- return sw_value;
-}
-
-// Update press/release state of key
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
- bool current_state = (*current_row >> col) & 1;
-
- // Press to release
- if (current_state && sw_value < config.ecsm_actuation_threshold) {
- *current_row &= ~(1 << col);
- return true;
- }
-
- // Release to press
- if ((!current_state) && sw_value > config.ecsm_release_threshold) {
- *current_row |= (1 << col);
- return true;
- }
-
- return false;
-}
-
-// Scan key values and update matrix state
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]) {
- bool updated = false;
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_1);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col, ecsm_sw_value[row][col]);
- }
- }
-
- // Disable AMUX of channel 1
- writePinHigh(APLEX_EN_PIN_0);
- for (int col = 0; col < sizeof(col_channels); col++) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col);
- updated |= ecsm_update_key(&current_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]);
- }
- }
- return updated;
-}
-
-// Debug print key values
-void ecsm_print_matrix(void) {
- for (int row = 0; row < MATRIX_ROWS; row++) {
- for (int col = 0; col < MATRIX_COLS; col++) {
- uprintf("%4d", ecsm_sw_value[row][col]);
- if (col < (MATRIX_COLS - 1)) {
- print(",");
- }
- }
- print("\n");
- }
- print("\n");
-}
diff --git a/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.h b/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.h
deleted file mode 100644
index 9dcb216caa..0000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/ec_switch_matrix.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "matrix.h"
-
-typedef struct {
- uint16_t ecsm_actuation_threshold; // threshold for key release
- uint16_t ecsm_release_threshold; // threshold for key press
-} ecsm_config_t;
-
-ecsm_config_t ecsm_config;
-
-int ecsm_init(ecsm_config_t const* const ecsm_config);
-int ecsm_update(ecsm_config_t const* const ecsm_config);
-bool ecsm_matrix_scan(matrix_row_t current_matrix[]);
-uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
-bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
-void ecsm_print_matrix(void);
diff --git a/keyboards/cipulot/rf_r1_8_9xu/halconf.h b/keyboards/cipulot/rf_r1_8_9xu/halconf.h
index 5b71acecbb..835d43b6a0 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/halconf.h
+++ b/keyboards/cipulot/rf_r1_8_9xu/halconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/info.json b/keyboards/cipulot/rf_r1_8_9xu/info.json
index eb0220f677..6d3ab8b709 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/info.json
+++ b/keyboards/cipulot/rf_r1_8_9xu/info.json
@@ -8,19 +8,13 @@
},
"diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
+ "bootmagic": false,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
- "mouse_key": {
- "enabled": true
- },
"indicators": {
"caps_lock": "B3",
"scroll_lock": "A14"
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/default/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/default/keymap.c
index 6e39d6d444..983bdefe8a 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/default/keymap.c
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/default/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -29,23 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_KANA, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_ansi_tsangan/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_ansi_tsangan/keymap.c
index d9041eae20..ba948b4fc1 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_ansi_tsangan/keymap.c
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_ansi_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,23 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_ansi_tsangan(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_tkl_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_iso_tsangan/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_iso_tsangan/keymap.c
index 4bbcb13299..1689d44d40 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_iso_tsangan/keymap.c
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_iso_tsangan/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -27,23 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_iso_tsangan(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_tkl_iso_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_iso_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_jis/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_jis/keymap.c
index df2be5eef7..e44575f74f 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_jis/keymap.c
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/tkl_jis/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -29,23 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_tkl_jis(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_tkl_jis(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_tkl_jis(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h
index ebf954d07a..1ab0d3d9aa 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -16,5 +16,5 @@
#pragma once
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
+// This is the firmware version for VIA support to avoid conflicts on menu fetching
+#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c
index 6e39d6d444..983bdefe8a 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
@@ -29,23 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_KANA, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk
index 520b11f203..1e5b99807c 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk
+++ b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-
-SRC += via_apc.c
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/via_apc.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/via_apc.c
deleted file mode 100644
index 5ea77af44c..0000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/via_apc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "via.h"
-
-void apc_init_thresholds(void);
-void apc_set_threshold(bool is_for_actuation);
-
-// Declaring an _apc_config_t struct that will store our data
-typedef struct _apc_config_t {
- uint16_t actuation_threshold;
- uint16_t release_threshold;
-} apc_config;
-
-// Check if the size of the reserved persistent memory is the same as the size of struct apc_config
-_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
-
-// Declaring a new variable apc of type apc_config
-apc_config apc;
-
-// Declaring enums for VIA config menu
-enum via_apc_enums {
- // clang-format off
- id_apc_actuation_threshold = 1,
- id_apc_release_threshold = 2
- // clang-format on
-};
-
-// Initializing persistent memory configuration: default values are declared and stored in PMEM
-void eeconfig_init_user(void) {
- // Default values
- apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- apc.release_threshold = DEFAULT_RELEASE_LEVEL;
- // Write default value to EEPROM now
- eeconfig_update_user_datablock(&apc);
-}
-
-// On Keyboard startup
-void keyboard_post_init_user(void) {
- // Read custom menu variables from memory
- eeconfig_read_user_datablock(&apc);
- apc_init_thresholds();
-}
-
-// Handle the data received by the keyboard from the VIA menus
-void apc_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- apc.actuation_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(true);
- break;
- }
- case id_apc_release_threshold: {
- apc.release_threshold = value_data[1] | (value_data[0] << 8);
- apc_set_threshold(false);
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void apc_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_apc_actuation_threshold: {
- value_data[0] = apc.actuation_threshold >> 8;
- value_data[1] = apc.actuation_threshold & 0xFF;
- break;
- }
- case id_apc_release_threshold: {
- value_data[0] = apc.release_threshold >> 8;
- value_data[1] = apc.release_threshold & 0xFF;
- break;
- }
- }
-}
-
-// Save the data to persistent memory after changes are made
-void apc_config_save(void) {
- eeconfig_update_user_datablock(&apc);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- apc_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- apc_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- apc_config_save();
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Initialize the thresholds
-void apc_init_thresholds(void) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
-
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
-
-// Set the thresholds
-void apc_set_threshold(bool is_for_actuation) {
- if (is_for_actuation) {
- ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold;
-
- } else {
- ecsm_config.ecsm_release_threshold = apc.release_threshold;
- }
- // Update the ecsm_config
- ecsm_update(&ecsm_config);
-}
diff --git a/keyboards/cipulot/rf_r1_8_9xu/matrix.c b/keyboards/cipulot/rf_r1_8_9xu/matrix.c
deleted file mode 100644
index 1850acf264..0000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/matrix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ec_switch_matrix.h"
-#include "matrix.h"
-
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-void matrix_init_custom(void) {
- // Default values, overwritten by VIA if enabled later
- ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL;
- ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL;
-
- ecsm_init(&ecsm_config);
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool updated = ecsm_matrix_scan(current_matrix);
-
-// RAW matrix values on console
-#ifdef CONSOLE_ENABLE
- static int cnt = 0;
- if (cnt++ == 350) {
- cnt = 0;
- ecsm_print_matrix();
- }
-#endif
- return updated;
-}
diff --git a/keyboards/cipulot/rf_r1_8_9xu/mcuconf.h b/keyboards/cipulot/rf_r1_8_9xu/mcuconf.h
index d91f576bd4..fa3c955e0d 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/mcuconf.h
+++ b/keyboards/cipulot/rf_r1_8_9xu/mcuconf.h
@@ -2,7 +2,7 @@
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
+ * 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,
diff --git a/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk
new file mode 100644
index 0000000000..d726a112a8
--- /dev/null
+++ b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/rf_r1_8_9xu/readme.md b/keyboards/cipulot/rf_r1_8_9xu/readme.md
index 6e5a8c9f3e..1491de12da 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/readme.md
+++ b/keyboards/cipulot/rf_r1_8_9xu/readme.md
@@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-Enter the bootloader in 3 ways:
+Enter the bootloader in 2 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/rf_r1_8_9xu/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/rules.mk
index fc2dcf32ab..ab6c37cad4 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/rules.mk
+++ b/keyboards/cipulot/rf_r1_8_9xu/rules.mk
@@ -1,4 +1,4 @@
CUSTOM_MATRIX = lite
-SRC += matrix.c ec_switch_matrix.c
-
ANALOG_DRIVER_REQUIRED = yes
+SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c
+OPT = 2
diff --git a/keyboards/clickety_split/leeloo/keymaps/default/config.h b/keyboards/clickety_split/leeloo/keymaps/default/config.h
index e41b3d34aa..2fa2ed15b6 100644
--- a/keyboards/clickety_split/leeloo/keymaps/default/config.h
+++ b/keyboards/clickety_split/leeloo/keymaps/default/config.h
@@ -23,7 +23,7 @@
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 115 // limits maximum brightness of LEDs to 150 out of 255.
diff --git a/keyboards/clickety_split/leeloo/rev2/config.h b/keyboards/clickety_split/leeloo/rev2/config.h
deleted file mode 100644
index 2aa1acd972..0000000000
--- a/keyboards/clickety_split/leeloo/rev2/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 Clickety Split Ltd.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-# define RGB_MATRIX_LED_COUNT 74
-# define RGB_MATRIX_SPLIT {37, 37}
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define SPLIT_TRANSPORT_MIRROR
diff --git a/keyboards/clickety_split/leeloo/rev2/info.json b/keyboards/clickety_split/leeloo/rev2/info.json
index 6db77714a4..cab643aad8 100644
--- a/keyboards/clickety_split/leeloo/rev2/info.json
+++ b/keyboards/clickety_split/leeloo/rev2/info.json
@@ -99,6 +99,8 @@
{"flags": 4, "matrix": [6, 0], "x": 224, "y": 16}, // R LB72 | SW36
{"flags": 4, "matrix": [7, 0], "x": 224, "y": 32}, // R LB73 | SW42
{"flags": 4, "matrix": [8, 0], "x": 224, "y": 48} // R LB74 | SW48
- ]
+ ],
+ "split_count": [37, 37],
+ "sleep": true
}
- }
+}
diff --git a/keyboards/clickety_split/leeloo/rev3/config.h b/keyboards/clickety_split/leeloo/rev3/config.h
deleted file mode 100644
index ac93150221..0000000000
--- a/keyboards/clickety_split/leeloo/rev3/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 Clickety Split Ltd.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-# define RGB_MATRIX_LED_COUNT 58
-# define RGB_MATRIX_SPLIT {29, 29}
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define SPLIT_TRANSPORT_MIRROR
diff --git a/keyboards/clickety_split/leeloo/rev3/info.json b/keyboards/clickety_split/leeloo/rev3/info.json
index 2c92f5226e..d738fffe9e 100644
--- a/keyboards/clickety_split/leeloo/rev3/info.json
+++ b/keyboards/clickety_split/leeloo/rev3/info.json
@@ -83,6 +83,8 @@
{"flags": 4, "matrix": [6, 0], "x": 224, "y": 16}, // R LB56 | SW36
{"flags": 4, "matrix": [7, 0], "x": 224, "y": 32}, // R LB57 | SW42
{"flags": 4, "matrix": [8, 0], "x": 224, "y": 48} // R LB58 | SW48
- ]
+ ],
+ "split_count": [29, 29],
+ "sleep": true
}
- }
+}
diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h
index 922426e87b..07957498d1 100644
--- a/keyboards/clueboard/66_hotswap/gen1/config.h
+++ b/keyboards/clueboard/66_hotswap/gen1/config.h
@@ -37,34 +37,6 @@
#define I2C1_SCL_PIN B8
#define I2C1_SDA_PIN B9
-#define LED_MATRIX_LED_COUNT 71
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-#define ENABLE_LED_MATRIX_ALPHAS_MODS
-#define ENABLE_LED_MATRIX_BREATHING
-#define ENABLE_LED_MATRIX_BAND
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL
-#define ENABLE_LED_MATRIX_BAND_SPIRAL
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
-#define ENABLE_LED_MATRIX_DUAL_BEACON
-#if defined(LED_MATRIX_KEYREACTIVE_ENABLED)
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_LED_MATRIX_SPLASH
-# define ENABLE_LED_MATRIX_MULTISPLASH
-#endif
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_WAVE_UP_DOWN
-
#define AUDIO_PIN A5
#define AUDIO_PIN_ALT A4
#define AUDIO_PIN_ALT_AS_NEGATIVE
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
index 7af0b964da..e13a05de05 100644
--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef LED_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json
index 81a23f7d87..17e47e66fe 100644
--- a/keyboards/clueboard/66_hotswap/gen1/info.json
+++ b/keyboards/clueboard/66_hotswap/gen1/info.json
@@ -17,6 +17,28 @@
"nkro": true
},
"led_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/clueboard/card/info.json b/keyboards/clueboard/card/info.json
index 98c9f4d5f1..7799110ba6 100644
--- a/keyboards/clueboard/card/info.json
+++ b/keyboards/clueboard/card/info.json
@@ -14,7 +14,6 @@
"command": false,
"console": true,
"extrakey": true,
- "lto": true,
"midi": false,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/controllerworks/city42/config.h b/keyboards/controllerworks/city42/config.h
index 4e161532f2..6c42809eaf 100644
--- a/keyboards/controllerworks/city42/config.h
+++ b/keyboards/controllerworks/city42/config.h
@@ -17,9 +17,6 @@
#pragma once
-#define WS2812_PIO_USE_PIO1
-#define RGB_MATRIX_LED_COUNT 42
-
#define SPI_SCK_PIN GP18
#define SPI_MOSI_PIN GP19
#define SPI_MISO_PIN GP16
@@ -29,4 +26,4 @@
#define CIRQUE_PINNACLE_ATTENUATION EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_1X
#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE
#define CIRQUE_PINNACLE_TAP_ENABLE
-#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE \ No newline at end of file
+#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE
diff --git a/keyboards/controllerworks/city42/info.json b/keyboards/controllerworks/city42/info.json
index 2976021b11..bff73f7e6f 100644
--- a/keyboards/controllerworks/city42/info.json
+++ b/keyboards/controllerworks/city42/info.json
@@ -23,7 +23,6 @@
"processor": "RP2040",
"rgb_matrix": {
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
diff --git a/keyboards/controllerworks/mini36/config.h b/keyboards/controllerworks/mini36/config.h
index 4a0c48b1b0..5c22bb2559 100644
--- a/keyboards/controllerworks/mini36/config.h
+++ b/keyboards/controllerworks/mini36/config.h
@@ -18,9 +18,6 @@
#pragma once
#define WS2812_PIO_USE_PIO1
-#define RGB_MATRIX_LED_COUNT 48
-#define RGB_MATRIX_SPLIT \
- { 24, 24 }
#define I2C_DRIVER I2CD0
#define I2C1_SCL_PIN GP25
diff --git a/keyboards/controllerworks/mini36/info.json b/keyboards/controllerworks/mini36/info.json
index 3a49b210ac..a3b5365109 100644
--- a/keyboards/controllerworks/mini36/info.json
+++ b/keyboards/controllerworks/mini36/info.json
@@ -111,7 +111,8 @@
{"flags": 4, "matrix": [6, 4], "x": 217, "y": 41},
{"flags": 4, "matrix": [5, 4], "x": 217, "y": 24},
{"flags": 4, "matrix": [4, 4], "x": 217, "y": 7}
- ]
+ ],
+ "split_count": [24, 24]
},
"community_layouts": ["split_3x5_3"],
"layouts": {
diff --git a/keyboards/controllerworks/mini36/keymaps/default/config.h b/keyboards/controllerworks/mini36/keymaps/default/config.h
index 77da61828c..aeca5716c0 100644
--- a/keyboards/controllerworks/mini36/keymaps/default/config.h
+++ b/keyboards/controllerworks/mini36/keymaps/default/config.h
@@ -21,7 +21,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/controllerworks/mini36/keymaps/via/config.h b/keyboards/controllerworks/mini36/keymaps/via/config.h
index 77da61828c..aeca5716c0 100644
--- a/keyboards/controllerworks/mini36/keymaps/via/config.h
+++ b/keyboards/controllerworks/mini36/keymaps/via/config.h
@@ -21,7 +21,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/controllerworks/mini42/config.h b/keyboards/controllerworks/mini42/config.h
index 20b6bbac8d..3e5f7fd357 100644
--- a/keyboards/controllerworks/mini42/config.h
+++ b/keyboards/controllerworks/mini42/config.h
@@ -18,7 +18,6 @@
#pragma once
#define WS2812_PIO_USE_PIO1
-#define RGB_MATRIX_LED_COUNT 54
#undef I2C_DRIVER
#define I2C_DRIVER I2CD0
diff --git a/keyboards/controllerworks/mini42/keymaps/default/config.h b/keyboards/controllerworks/mini42/keymaps/default/config.h
index 77da61828c..aeca5716c0 100644
--- a/keyboards/controllerworks/mini42/keymaps/default/config.h
+++ b/keyboards/controllerworks/mini42/keymaps/default/config.h
@@ -21,7 +21,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/controllerworks/mini42/keymaps/via/config.h b/keyboards/controllerworks/mini42/keymaps/via/config.h
index e11d5aa37f..5e70c09343 100644
--- a/keyboards/controllerworks/mini42/keymaps/via/config.h
+++ b/keyboards/controllerworks/mini42/keymaps/via/config.h
@@ -22,7 +22,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/converter/hp_46010a/rules.mk b/keyboards/converter/hp_46010a/rules.mk
index d4e702622a..104381f12f 100644
--- a/keyboards/converter/hp_46010a/rules.mk
+++ b/keyboards/converter/hp_46010a/rules.mk
@@ -12,7 +12,6 @@ AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SPLIT_KEYBOARD = no
WAIT_FOR_USB = yes
-LAYOUTS_HAS_RGB = no
CUSTOM_MATRIX = yes
SRC = matrix.c
diff --git a/keyboards/converter/ibm_terminal/matrix.c b/keyboards/converter/ibm_terminal/matrix.c
index de346a0f70..d245ff61b2 100644
--- a/keyboards/converter/ibm_terminal/matrix.c
+++ b/keyboards/converter/ibm_terminal/matrix.c
@@ -87,23 +87,23 @@ uint8_t matrix_scan(void)
uint8_t code;
if ((code = ps2_host_recv())) {
- debug("r"); debug_hex(code); debug(" ");
+ dprintf("r%02X ", code);
}
switch (state) {
case RESET:
- debug("wFF ");
+ dprint("wFF ");
if (ps2_host_send(0xFF) == 0xFA) {
- debug("[ack]\nRESET_RESPONSE: ");
+ dprint("[ack]\nRESET_RESPONSE: ");
state = RESET_RESPONSE;
}
break;
case RESET_RESPONSE:
if (code == 0xAA) {
- debug("[ok]\nKBD_ID: ");
+ dprint("[ok]\nKBD_ID: ");
state = KBD_ID0;
} else if (code) {
- debug("err\nRESET: ");
+ dprint("err\nRESET: ");
state = RESET;
}
break;
@@ -115,14 +115,14 @@ uint8_t matrix_scan(void)
break;
case KBD_ID1:
if (code) {
- debug("\nCONFIG: ");
+ dprint("\nCONFIG: ");
state = CONFIG;
}
break;
case CONFIG:
- debug("wF8 ");
+ dprint("wF8 ");
if (ps2_host_send(0xF8) == 0xFA) {
- debug("[ack]\nREADY\n");
+ dprint("[ack]\nREADY\n");
state = READY;
}
break;
@@ -132,16 +132,16 @@ uint8_t matrix_scan(void)
break;
case 0xF0:
state = F0_BREAK;
- debug(" ");
+ dprint(" ");
break;
default: // normal key make
if (code < 0x88) {
matrix_make(code);
} else {
- debug("unexpected scan code at READY: "); debug_hex(code); debug("\n");
+ dprintf("unexpected scan code at READY: %02X\n", code);
}
state = READY;
- debug("\n");
+ dprint("\n");
}
break;
case F0_BREAK: // Break code
@@ -152,10 +152,10 @@ uint8_t matrix_scan(void)
if (code < 0x88) {
matrix_break(code);
} else {
- debug("unexpected scan code at F0: "); debug_hex(code); debug("\n");
+ dprintf("unexpected scan code at F0: %02X\n", code);
}
state = READY;
- debug("\n");
+ dprint("\n");
}
break;
}
diff --git a/keyboards/converter/m0110_usb/m0110.c b/keyboards/converter/m0110_usb/m0110.c
index f3097fb465..308eb936e3 100644
--- a/keyboards/converter/m0110_usb/m0110.c
+++ b/keyboards/converter/m0110_usb/m0110.c
@@ -312,8 +312,7 @@ static inline uint8_t instant(void) {
m0110_send(M0110_INSTANT);
uint8_t data = m0110_recv();
if (data != M0110_NULL) {
- debug_hex(data);
- debug(" ");
+ dprintf("%02X ", data);
}
return data;
}
diff --git a/keyboards/converter/palm_usb/matrix.c b/keyboards/converter/palm_usb/matrix.c
index 016b562254..8ae89deb6a 100644
--- a/keyboards/converter/palm_usb/matrix.c
+++ b/keyboards/converter/palm_usb/matrix.c
@@ -168,7 +168,7 @@ uint8_t get_serial_byte(void) {
while(1) {
code = uart_read();
if (code) {
- debug_hex(code); debug(" ");
+ dprintf("%02X ", code);
return code;
}
}
@@ -316,8 +316,7 @@ uint8_t matrix_scan(void)
last_activity = timer_read();
disconnect_counter=0; // if we are getting serial data, we're connected.
- debug_hex(code); debug(" ");
-
+ dprintf("%02X ", code);
switch (code) {
case 0xFD: // unexpected reset byte 2
diff --git a/keyboards/converter/sun_usb/matrix.c b/keyboards/converter/sun_usb/matrix.c
index bf1d5f807f..6d52d5cd6c 100644
--- a/keyboards/converter/sun_usb/matrix.c
+++ b/keyboards/converter/sun_usb/matrix.c
@@ -111,7 +111,7 @@ uint8_t matrix_scan(void)
code = uart_read();
if (!code) return 0;
- debug_hex(code); debug(" ");
+ dprintf("%02X ", code);
switch (code) {
case 0xFF: // reset success: FF 04
diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json
index fa9abc574e..880cbccc29 100644
--- a/keyboards/crkbd/info.json
+++ b/keyboards/crkbd/info.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"oled": true
diff --git a/keyboards/crkbd/keymaps/colemak_luna/config.h b/keyboards/crkbd/keymaps/colemak_luna/config.h
index 1975c91366..546e01bdba 100644
--- a/keyboards/crkbd/keymaps/colemak_luna/config.h
+++ b/keyboards/crkbd/keymaps/colemak_luna/config.h
@@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/crkbd/post_config.h b/keyboards/crkbd/post_config.h
index 133014b02a..aaf405a5bf 100644
--- a/keyboards/crkbd/post_config.h
+++ b/keyboards/crkbd/post_config.h
@@ -16,18 +16,18 @@
#pragma once
-#ifndef BOOTMAGIC_LITE_ROW
-# define BOOTMAGIC_LITE_ROW 0
+#ifndef BOOTMAGIC_ROW
+# define BOOTMAGIC_ROW 0
#endif
-#ifndef BOOTMAGIC_LITE_COLUMN
-# define BOOTMAGIC_LITE_COLUMN 1
+#ifndef BOOTMAGIC_COLUMN
+# define BOOTMAGIC_COLUMN 1
#endif
-#ifndef BOOTMAGIC_LITE_ROW_RIGHT
-# define BOOTMAGIC_LITE_ROW_RIGHT 4
+#ifndef BOOTMAGIC_ROW_RIGHT
+# define BOOTMAGIC_ROW_RIGHT 4
#endif
-#ifndef BOOTMAGIC_LITE_COLUMN_RIGHT
-# define BOOTMAGIC_LITE_COLUMN_RIGHT 1
+#ifndef BOOTMAGIC_COLUMN_RIGHT
+# define BOOTMAGIC_COLUMN_RIGHT 1
#endif
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/r2g/config.h b/keyboards/crkbd/r2g/config.h
deleted file mode 100644
index 4c2e374415..0000000000
--- a/keyboards/crkbd/r2g/config.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2019 @foostan
-Copyright 2020 Drashna Jaelre <@drashna>
-Copyright 2021 Elliot Powell @e11i0t23
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 54
-# define RGB_MATRIX_SPLIT \
- { 27, 27 }
-# define SPLIT_TRANSPORT_MIRROR
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#endif
-
-#define SPLIT_USB_DETECT
-
diff --git a/keyboards/crkbd/r2g/info.json b/keyboards/crkbd/r2g/info.json
index 8cdf07854e..991a5301f4 100644
--- a/keyboards/crkbd/r2g/info.json
+++ b/keyboards/crkbd/r2g/info.json
@@ -3,7 +3,15 @@
"rgb_matrix": true
},
"split": {
- "soft_serial_pin": "D2"
+ "soft_serial_pin": "D2",
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ },
+ "usb_detect": {
+ "enabled": true
+ }
},
"rgblight": {
"led_count": 54,
@@ -131,6 +139,23 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "rainbow_moving_chevron": true,
+ "cycle_spiral": true,
+ "raindrops": true,
+ "hue_breathing": true,
+ "pixel_fractal": true
+ },
+ "split_count": [27, 27],
"layout": [
{"x": 85, "y": 16, "flags": 2},
{"x": 50, "y": 13, "flags": 2},
diff --git a/keyboards/crkbd/r2g/r2g.c b/keyboards/crkbd/r2g/r2g.c
index ef7b84b4a9..9a589a9e72 100644
--- a/keyboards/crkbd/r2g/r2g.c
+++ b/keyboards/crkbd/r2g/r2g.c
@@ -18,75 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "quantum.h"
-#ifdef RGB_MATRIX_ENABLE
-
- // Logical Layout
- // Columns
- // Left
- // 0 1 2 3 4 5
- // ROWS
- // 25 24 19 18 11 10 0
- // 03 02 01
- // 26 23 20 17 12 09 1
- // 04 05 06
- // 27 22 21 16 13 08 2
- //
- // 15 14 07 3
- //
- // Right
- // 0 1 2 3 4 5
- // ROWS
- // 25 24 19 18 11 10 4
- // 03 02 01
- // 26 23 20 17 12 09 5
- // 04 05 06
- // 27 22 21 16 13 08 6
- //
- // 15 14 07 7
- //
- // Physical Layout
- // Columns
- // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
- // ROWS
- // 25 24 19 18 11 10 10 11 18 19 24 25 0
- // 03 02 01 01 02 03
- // 26 23 20 17 12 09 09 12 17 20 23 26 1
- // 04 04
- // 27 22 21 16 13 08 08 13 16 21 22 27 2
- // 05 06 06 05
- // 15 14 07 07 14 15 3
-
-led_config_t g_led_config = { {
- { 24, 23, 18, 17, 10, 9 },
- { 25, 22, 19, 16, 11, 8 },
- { 26, 21, 20, 15, 12, 7 },
- { NO_LED, NO_LED, NO_LED, 14, 13, 6 },
- { 51, 50, 45, 44, 37, 36 },
- { 52, 49, 46, 43, 38, 35 },
- { 53, 48, 47, 42, 39, 34 },
- { NO_LED, NO_LED, NO_LED, 41, 40, 33 }
-}, {
- { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 },
- { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 },
- { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 },
- { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 },
- { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 },
- { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 },
- { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 },
- { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }
-}, {
- 2, 2, 2, 2, 2, 2, 1,
- 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 1, 1, 1, 2,
- 2, 2, 2, 2, 2, 1, 4,
- 4, 4, 4, 4, 4, 1, 1,
- 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 1, 1
-} };
-
-#endif
-
#ifdef OLED_ENABLE
void oled_render_logo(void) {
static const char PROGMEM mb_logo[] = {
diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md
index 75267463b2..4297ee56d9 100644
--- a/keyboards/crkbd/readme.md
+++ b/keyboards/crkbd/readme.md
@@ -43,7 +43,7 @@ And in your `config.h` file, add the following:
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h
deleted file mode 100644
index 60a49100e3..0000000000
--- a/keyboards/crkbd/rev1/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright 2019 @foostan
-Copyright 2020 Drashna Jaelre <@drashna>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 54
-# define RGB_MATRIX_SPLIT \
- { 27, 27 }
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/crkbd/rev1/info.json b/keyboards/crkbd/rev1/info.json
index 48a27d11f3..108bfb7370 100644
--- a/keyboards/crkbd/rev1/info.json
+++ b/keyboards/crkbd/rev1/info.json
@@ -3,7 +3,12 @@
"rgblight": true
},
"split": {
- "soft_serial_pin": "D2"
+ "soft_serial_pin": "D2",
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
},
"rgblight": {
"led_count": 54,
@@ -13,6 +18,7 @@
"pin": "D3"
},
"rgb_matrix": {
+ "split_count": [27, 27],
"layout": [
{"x": 85, "y": 16, "flags": 2},
{"x": 50, "y": 13, "flags": 2},
diff --git a/keyboards/cxt_studio/config.h b/keyboards/cxt_studio/config.h
index 5c60daad9d..e56e07a254 100644
--- a/keyboards/cxt_studio/config.h
+++ b/keyboards/cxt_studio/config.h
@@ -3,31 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 12
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define RGB_MATRIX_TYPING_HEATMAP_SPREAD 9
/*
diff --git a/keyboards/cxt_studio/info.json b/keyboards/cxt_studio/info.json
index 6166ea2296..7ee7b52d50 100644
--- a/keyboards/cxt_studio/info.json
+++ b/keyboards/cxt_studio/info.json
@@ -31,21 +31,40 @@
},
"processor": "atmega32u4",
"rgb_matrix": {
- "driver": "ws2812",
- "layout": [
- {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0},
- {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0},
- {"flags": 4, "matrix": [0, 1], "x": 1, "y": 0},
- {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
- {"flags": 4, "matrix": [1, 0], "x": 0, "y": 1},
- {"flags": 4, "matrix": [1, 1], "x": 1, "y": 1},
- {"flags": 4, "matrix": [1, 2], "x": 2, "y": 1},
- {"flags": 4, "matrix": [1, 3], "x": 3, "y": 1},
- {"flags": 4, "matrix": [2, 3], "x": 3, "y": 2},
- {"flags": 4, "matrix": [2, 2], "x": 2, "y": 2},
- {"flags": 4, "matrix": [2, 1], "x": 1, "y": 2},
- {"flags": 4, "matrix": [2, 0], "x": 0, "y": 2}
- ]
+ "animations": {
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "typing_heatmap"
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0},
+ {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0},
+ {"flags": 4, "matrix": [0, 1], "x": 1, "y": 0},
+ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
+ {"flags": 4, "matrix": [1, 0], "x": 0, "y": 1},
+ {"flags": 4, "matrix": [1, 1], "x": 1, "y": 1},
+ {"flags": 4, "matrix": [1, 2], "x": 2, "y": 1},
+ {"flags": 4, "matrix": [1, 3], "x": 3, "y": 1},
+ {"flags": 4, "matrix": [2, 3], "x": 3, "y": 2},
+ {"flags": 4, "matrix": [2, 2], "x": 2, "y": 2},
+ {"flags": 4, "matrix": [2, 1], "x": 1, "y": 2},
+ {"flags": 4, "matrix": [2, 0], "x": 0, "y": 2}
+ ]
},
"url": "",
"usb": {
diff --git a/keyboards/dark/magnum_ergo_1/config.h b/keyboards/dark/magnum_ergo_1/config.h
index 207bc978e8..6b153f69df 100644
--- a/keyboards/dark/magnum_ergo_1/config.h
+++ b/keyboards/dark/magnum_ergo_1/config.h
@@ -30,6 +30,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LED_INDICATOR_3 B0
#define LED_INDICATOR_4 A5
#define LED_INDICATOR_5 C15
-
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/dark/magnum_ergo_1/info.json b/keyboards/dark/magnum_ergo_1/info.json
index a213d92fd5..cdabceec7f 100644
--- a/keyboards/dark/magnum_ergo_1/info.json
+++ b/keyboards/dark/magnum_ergo_1/info.json
@@ -8,6 +8,14 @@
"pid": "0x4D45",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"audio": false,
"backlight": true,
@@ -16,7 +24,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": false,
"nkro": true,
"rgblight": false
diff --git a/keyboards/darkproject/kd83a_bfg_edition/config.h b/keyboards/darkproject/kd83a_bfg_edition/config.h
index 9cf993b861..cb7cdb57fc 100644
--- a/keyboards/darkproject/kd83a_bfg_edition/config.h
+++ b/keyboards/darkproject/kd83a_bfg_edition/config.h
@@ -21,11 +21,8 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
-#define WEAR_LEVELING_BACKING_SIZE (8 * 1024)
/* SPI Config for LED Driver */
#define SPI_DRIVER SPIDQ
@@ -33,12 +30,6 @@
#define SPI_MOSI_PIN A7
#define SPI_MISO_PIN A6
-#define DRIVER_1_CS A15
-#define DRIVER_2_CS B15
-#define DRIVER_1_EN C13
-#define DRIVER_2_EN C13
-
-#define DRIVER_COUNT 2
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 19
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+#define AW20216S_CS_PIN_1 A15
+#define AW20216S_CS_PIN_2 B15
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/darkproject/kd83a_bfg_edition/info.json b/keyboards/darkproject/kd83a_bfg_edition/info.json
index 5795c11cca..56c45a222f 100644
--- a/keyboards/darkproject/kd83a_bfg_edition/info.json
+++ b/keyboards/darkproject/kd83a_bfg_edition/info.json
@@ -80,7 +80,7 @@
"solid_multisplash": true
},
"center_point": [76, 25],
- "driver": "aw20216",
+ "driver": "aw20216s",
"layout": [
{ "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [2, 6], "x": 20, "y": 0 },
@@ -167,7 +167,8 @@
{ "flags": 4, "matrix": [0, 5], "x": 150, "y": 50 },
{ "flags": 4, "matrix": [11, 0], "x": 0, "y": 1 },
{ "flags": 4, "matrix": [11, 1], "x": 0, "y": 2 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
@@ -176,7 +177,11 @@
"vid": "0x342D"
},
"eeprom": {
- "driver": "wear_leveling"
+ "driver": "wear_leveling",
+ "wear_leveling": {
+ "driver": "spi_flash",
+ "backing_size": 8192
+ }
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c
index e78de78bf8..f21aeeb38d 100644
--- a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c
+++ b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, k00, Esc
-
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 1, k13, Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 2, k26, F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 3, k36, F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 4, k31, F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 5, k33, F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 6, k07, F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 7, k63, F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 8, k71, F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 9, k76, F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 10, ka6, F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 11, ka7, F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 12, ka3, F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 13, ka5, F12
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 14, k97, Printscreen
- {1, CS4_SW5, CS5_SW5, CS6_SW5}, // 15, k02, Del
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 16, k16, `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 17, k17, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 18, k27, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, k37, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 20, k47, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 21, k46, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 22, k56, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 23, k57, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 24, k67, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 25, k77, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 26, k87, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 27, k86, -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 28, k66, =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 29, ka1, Backspace
- {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 30, kc6, Home
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 31, k11, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 32, k10, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 33, k20, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 34, k30, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 35, k40, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 36, k41, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 37, k51, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 38, k50, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 39, k60, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 40, k70, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 41, k80, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 42, k81, [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 43, k61, ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, ka2, "\\"
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 45, k65, End
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 46, k21, Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 47, k12, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 48, k22, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 49, k32, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 50, k42, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 51, k43, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 52, k53, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 53, k52, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 54, k62, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 55, k72, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 56, k82, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 57, k83, '
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 58, ka4, Enter
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 59, k15, PgUp
-
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 60, k00, Shift_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 61, k14, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 62, k24, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 63, k34, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 64, k44, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 65, k45, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 66, k55, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 67, k54, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 68, k64, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 69, k74, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 70, k85, /
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 71, k91, Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 72, k35, Up
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 73, k25, PgDn
-
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 74, k06, Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 75, k90, Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 76, k93, Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 77, k94, Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 78, k95, Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 79, k92, FN
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 80, k04, Ctrl_R
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 81, k03, Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 82, k73, Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 83, k05, Right
-
- {1, CS10_SW10, CS11_SW10, CS12_SW10}, // 84, kb0, Z1
- {1, CS10_SW11, CS11_SW11, CS12_SW11}, // 85, kb1, Z2
+ //{0, SW4_CS1, SW4_CS2, SW4_CS3}, // 0, k00, Esc
+
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 1, k13, Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 2, k26, F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 3, k36, F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 4, k31, F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 5, k33, F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 6, k07, F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 7, k63, F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 8, k71, F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 9, k76, F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 10, ka6, F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 11, ka7, F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 12, ka3, F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 13, ka5, F12
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 14, k97, Printscreen
+ {1, SW5_CS4, SW5_CS5, SW5_CS6}, // 15, k02, Del
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 16, k16, `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 17, k17, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 18, k27, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, k37, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 20, k47, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 21, k46, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 22, k56, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 23, k57, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 24, k67, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 25, k77, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 26, k87, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 27, k86, -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 28, k66, =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 29, ka1, Backspace
+ {1, SW2_CS1, SW2_CS2, SW2_CS3}, // 30, kc6, Home
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 31, k11, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 32, k10, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 33, k20, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 34, k30, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 35, k40, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 36, k41, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 37, k51, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 38, k50, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 39, k60, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 40, k70, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 41, k80, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 42, k81, [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 43, k61, ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, ka2, "\\"
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 45, k65, End
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 46, k21, Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 47, k12, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 48, k22, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 49, k32, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 50, k42, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 51, k43, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 52, k53, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 53, k52, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 54, k62, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 55, k72, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 56, k82, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 57, k83, '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 58, ka4, Enter
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 59, k15, PgUp
+
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 60, k00, Shift_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 61, k14, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 62, k24, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 63, k34, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 64, k44, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 65, k45, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 66, k55, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 67, k54, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 68, k64, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 69, k74, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 70, k85, /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 71, k91, Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 72, k35, Up
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 73, k25, PgDn
+
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 74, k06, Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 75, k90, Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 76, k93, Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 77, k94, Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 78, k95, Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 79, k92, FN
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 80, k04, Ctrl_R
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 81, k03, Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 82, k73, Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 83, k05, Right
+
+ {1, SW10_CS10, SW10_CS11, SW10_CS12}, // 84, kb0, Z1
+ {1, SW11_CS10, SW11_CS11, SW11_CS12}, // 85, kb1, Z2
};
#endif
diff --git a/keyboards/darkproject/kd83a_bfg_edition/rules.mk b/keyboards/darkproject/kd83a_bfg_edition/rules.mk
index 07eb511a19..6e7633bfe0 100644
--- a/keyboards/darkproject/kd83a_bfg_edition/rules.mk
+++ b/keyboards/darkproject/kd83a_bfg_edition/rules.mk
@@ -1 +1 @@
-WEAR_LEVELING_DRIVER = spi_flash \ No newline at end of file
+# This file intentionally left blank
diff --git a/keyboards/darkproject/kd87a_bfg_edition/config.h b/keyboards/darkproject/kd87a_bfg_edition/config.h
index 4ac83ab9f6..1d4c0772a2 100644
--- a/keyboards/darkproject/kd87a_bfg_edition/config.h
+++ b/keyboards/darkproject/kd87a_bfg_edition/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
@@ -32,11 +30,6 @@
#define SPI_MOSI_PIN A7
#define SPI_MISO_PIN A6
-#define DRIVER_1_CS A15
-#define DRIVER_2_CS B15
-#define DRIVER_1_EN C13
-#define DRIVER_2_EN C13
-
-#define DRIVER_1_LED_TOTAL 68
-#define DRIVER_2_LED_TOTAL 54
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+#define AW20216S_CS_PIN_1 A15
+#define AW20216S_CS_PIN_2 B15
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/darkproject/kd87a_bfg_edition/info.json b/keyboards/darkproject/kd87a_bfg_edition/info.json
index 94717c6baa..76cd497b0f 100644
--- a/keyboards/darkproject/kd87a_bfg_edition/info.json
+++ b/keyboards/darkproject/kd87a_bfg_edition/info.json
@@ -79,7 +79,7 @@
"solid_multisplash": true
},
"center_point": [87, 35],
- "driver": "aw20216",
+ "driver": "aw20216s",
"layout": [
{ "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [2, 6], "x": 20, "y": 0 },
@@ -173,7 +173,8 @@
{ "flags": 4, "matrix": [0, 3], "x": 155, "y": 55 },
{ "flags": 4, "matrix": [7, 3], "x": 165, "y": 55 },
{ "flags": 4, "matrix": [0, 5], "x": 175, "y": 55 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c
index 0ce0799e14..20a46e343e 100644
--- a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c
+++ b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c
@@ -18,107 +18,107 @@
#ifdef RGB_MATRIX_ENABLE
-const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, Esc
-
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 1, Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 2, F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 3, F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 4, F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 5, F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 6, F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 7, F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 8, F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 9, F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 10, F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 11, F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 12, F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 13, F12
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 14, Printscreen
- {1, CS1_SW3, CS2_SW3, CS3_SW3}, // 15, Scroll Lock
- {1, CS1_SW4, CS2_SW4, CS3_SW4}, // 16, Pause Break
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 17, `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 18, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 19, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 20, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 21, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 22, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 23, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 24, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 25, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 26, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 27, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 28, -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 29, =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 30, Backspace
- {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 31, Insert
- {1, CS4_SW5, CS5_SW5, CS6_SW5}, // 32, Home
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 33, Page Up
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 34, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 35, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 36, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 37, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 38, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 39, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 40, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 42, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 43, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 44, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 45, [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 46, ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 47, "\\"
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 48, Delete
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 49, END
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 50, Page down
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 51, Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 52, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 53, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 54, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 55, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 56, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 57, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 58, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 59, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 60, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 61, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 62, '
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 63, Enter
+ //{0, SW4_CS1, SW4_CS2, SW4_CS3}, // 0, Esc
+
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 1, Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 2, F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 3, F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 4, F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 5, F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 6, F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 7, F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 8, F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 9, F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 10, F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 11, F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 12, F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 13, F12
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 14, Printscreen
+ {1, SW3_CS1, SW3_CS2, SW3_CS3}, // 15, Scroll Lock
+ {1, SW4_CS1, SW4_CS2, SW4_CS3}, // 16, Pause Break
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 17, `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 18, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 19, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 20, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 21, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 22, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 23, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 24, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 25, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 26, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 27, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 28, -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 29, =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 30, Backspace
+ {1, SW2_CS1, SW2_CS2, SW2_CS3}, // 31, Insert
+ {1, SW5_CS4, SW5_CS5, SW5_CS6}, // 32, Home
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 33, Page Up
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 34, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 35, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 36, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 37, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 38, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 39, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 40, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 41, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 42, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 43, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 44, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 45, [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 46, ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 47, "\\"
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 48, Delete
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // 49, END
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 50, Page down
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 51, Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 52, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 53, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 54, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 55, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 56, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 57, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 58, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 59, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 60, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 61, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 62, '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 63, Enter
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 64, Shift_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 65, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 66, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 67, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 68, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 69, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 70, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 71, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 72, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 73, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 74, /
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 75, Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 76, Up
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 64, Shift_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 65, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 66, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 67, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 68, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 69, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 70, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 71, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 72, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 73, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 74, /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 75, Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 76, Up
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 77, Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 78, Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 79, Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 80, Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 81, Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 82, FN
- {0, CS16_SW11, CS17_SW11, CS18_SW11}, // 83, APP
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 84, Ctrl_R
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 85, Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 86, Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 87, Right
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 77, Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 78, Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 79, Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 80, Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 81, Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 82, FN
+ {0, SW11_CS16, SW11_CS17, SW11_CS18}, // 83, APP
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 84, Ctrl_R
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 85, Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 86, Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 87, Right
};
#endif
diff --git a/keyboards/darmoshark/k3/info.json b/keyboards/darmoshark/k3/info.json
index bca494f35c..ff5047b93a 100644
--- a/keyboards/darmoshark/k3/info.json
+++ b/keyboards/darmoshark/k3/info.json
@@ -48,7 +48,6 @@
"center_point": [24, 32],
"max_brightness": 140,
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
diff --git a/keyboards/dasky/reverb/info.json b/keyboards/dasky/reverb/info.json
index b161ba8099..e7e203ebf6 100644
--- a/keyboards/dasky/reverb/info.json
+++ b/keyboards/dasky/reverb/info.json
@@ -23,7 +23,6 @@
"rgb_matrix": {
"driver": "ws2812",
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index d384c6a4bc..fd21d4333b 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -387,37 +387,13 @@ static void unselect_cols(void)
// Complete rows from other modules over i2c
i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) {
- i2c_status_t status = i2c_start(address, 5);
- if (status < 0) {
- goto error;
- }
-
- status = i2c_write(0x01, 50);
- if (status < 0) {
- goto error;
- }
-
- status = i2c_start(address | I2C_READ, 50);
+ uint8_t data[MATRIX_ROWS + 1];
+ i2c_status_t status = i2c_readReg(address, 0x01, data, (MATRIX_ROWS + 1), 5);
- status = i2c_read_ack(50);
- if (status != 0x55) { //synchronization byte
- goto error;
+ for (uint8_t i = 0; i < (MATRIX_ROWS) && status >= 0; i++) { //assemble slave matrix in main matrix
+ matrix[i] &= mask; //mask bits to keep
+ matrix[i] |= ((uint32_t)data[i+1] << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
}
- for (uint8_t i = 0; i < MATRIX_ROWS-1 && status >= 0; i++) { //assemble slave matrix in main matrix
- matrix[i] &= mask; //mask bits to keep
- status = i2c_read_ack(50);
- matrix[i] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
- }
- //last read request must be followed by a NACK
- if (status >= 0) {
- matrix[MATRIX_ROWS - 1] &= mask; //mask bits to keep
- status = i2c_read_nack(50);
- matrix[MATRIX_ROWS - 1] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
- }
-
-error:
- i2c_stop();
-
- return (status < 0) ? status : I2C_STATUS_SUCCESS;
+ return status;
}
diff --git a/keyboards/deemen17/de60fs/config.h b/keyboards/deemen17/de60fs/config.h
index d6b5efcc2f..e21d4ae373 100644
--- a/keyboards/deemen17/de60fs/config.h
+++ b/keyboards/deemen17/de60fs/config.h
@@ -19,4 +19,4 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-#define RP2040_FLASH_GENERIC_03H \ No newline at end of file
+#define RP2040_FLASH_GENERIC_03H
diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h
index cc4c962462..88f915d468 100644
--- a/keyboards/dekunukem/duckypad/config.h
+++ b/keyboards/dekunukem/duckypad/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 15
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define RGB_MATRIX_DEFAULT_HUE 221
-#endif
-
#define I2C1_SCL_PIN B8
#define I2C1_SDA_PIN B9
diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json
index 9ca8e7bc93..f186cbd3cd 100644
--- a/keyboards/dekunukem/duckypad/info.json
+++ b/keyboards/dekunukem/duckypad/info.json
@@ -17,6 +17,10 @@
"pin": "A10"
},
"rgb_matrix": {
+ "default": {
+ "animation": "solid_reactive_simple",
+ "hue": 221
+ },
"driver": "ws2812",
"layout": [
{"matrix": [0, 2], "x": 224, "y": 0, "flags": 4},
@@ -67,7 +71,6 @@
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
- "solid_color": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_cross": true,
diff --git a/keyboards/deng/djam/config.h b/keyboards/deng/djam/config.h
deleted file mode 100644
index 39ea6d6e90..0000000000
--- a/keyboards/deng/djam/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2022 Leo Deng (@myst729)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 31
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/deng/djam/info.json b/keyboards/deng/djam/info.json
index c7fe59ff0a..47d9559d30 100644
--- a/keyboards/deng/djam/info.json
+++ b/keyboards/deng/djam/info.json
@@ -9,6 +9,13 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/deng/thirty/config.h b/keyboards/deng/thirty/config.h
index 9fcb90742f..1ad5f9c15d 100644
--- a/keyboards/deng/thirty/config.h
+++ b/keyboards/deng/thirty/config.h
@@ -17,60 +17,3 @@
#define BACKLIGHT_PWM_DRIVER PWMD2
#define BACKLIGHT_PWM_CHANNEL 4
-
-/* RGB Matrix */
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 30
-#define RGB_MATRIX_KEYPRESSES
-// #define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-// Enable Effects
-// == Regular Effects ==
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// == Framebuffer Effects ==
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// == Reactive Effects ==
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/deng/thirty/info.json b/keyboards/deng/thirty/info.json
index b93881c086..8e594cccb9 100644
--- a/keyboards/deng/thirty/info.json
+++ b/keyboards/deng/thirty/info.json
@@ -9,7 +9,56 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B13", "B14", "B3", "A4", "A6"],
diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h
index d1c1201a54..b6a3484a26 100644
--- a/keyboards/dm9records/ergoinu/config.h
+++ b/keyboards/dm9records/ergoinu/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EE_HANDS
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 7
+ #if RGBLIGHT_LED_COUNT <= 7
#define RGBLIGHT_LIMIT_VAL 255
#define RGBLIGHT_VAL_STEP 17
#endif
diff --git a/keyboards/dm9records/plaid/rules.mk b/keyboards/dm9records/plaid/rules.mk
index c8391483dd..760f9b9650 100644
--- a/keyboards/dm9records/plaid/rules.mk
+++ b/keyboards/dm9records/plaid/rules.mk
@@ -11,8 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/dm9records/tartan/rules.mk b/keyboards/dm9records/tartan/rules.mk
index 66ded37adf..722ea17059 100644
--- a/keyboards/dm9records/tartan/rules.mk
+++ b/keyboards/dm9records/tartan/rules.mk
@@ -11,8 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/doio/kb12/config.h b/keyboards/doio/kb12/config.h
deleted file mode 100644
index d853409b85..0000000000
--- a/keyboards/doio/kb12/config.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2022 DOIO
- * Copyright 2022 DOIO2022 <https://github.com/DOIO2022>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB Matrix config */
-#define RGB_MATRIX_LED_COUNT 12
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-/* RGB Matrix effect */
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/doio/kb12/info.json b/keyboards/doio/kb12/info.json
index fc75fd8c0d..c87d5f9544 100644
--- a/keyboards/doio/kb12/info.json
+++ b/keyboards/doio/kb12/info.json
@@ -9,7 +9,54 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_up_down"
+ },
+ "driver": "ws2812",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 75, "y": 0, "flags": 4},
@@ -24,7 +71,8 @@
{"matrix": [2, 2], "x": 150, "y": 64, "flags": 4},
{"matrix": [2, 3], "x": 224, "y": 64, "flags": 4}
],
- "max_brightness": 200
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B14", "B13", "B12", "B0", "A7"],
diff --git a/keyboards/doio/kb16/config.h b/keyboards/doio/kb16/config.h
new file mode 100644
index 0000000000..24766ac76f
--- /dev/null
+++ b/keyboards/doio/kb16/config.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Use the custom font */
+#define OLED_FONT_H "./lib/glcdfont.c"
diff --git a/keyboards/doio/kb16/info.json b/keyboards/doio/kb16/info.json
new file mode 100644
index 0000000000..cadfabdf86
--- /dev/null
+++ b/keyboards/doio/kb16/info.json
@@ -0,0 +1,109 @@
+{
+ "keyboard_name": "KB16-01",
+ "manufacturer": "DOIO",
+ "maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0xD010",
+ "pid": "0x1601",
+ "force_nkro": true
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "oled": true,
+ "rgb_matrix": true,
+ "encoder": true
+ },
+ "build": {
+ "lto": true
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "default": {
+ "animation": "cycle_up_down"
+ },
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 75, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 149, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
+ {"matrix": [1, 1], "x": 75, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 149, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 224, "y": 21, "flags": 1},
+ {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
+ {"matrix": [2, 1], "x": 75, "y": 43, "flags": 4},
+ {"matrix": [2, 2], "x": 149, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 224, "y": 43, "flags": 1},
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [3, 1], "x": 75, "y": 64, "flags": 1},
+ {"matrix": [3, 2], "x": 149, "y": 64, "flags": 1},
+ {"matrix": [3, 3], "x": 224, "y": 64, "flags": 1}
+ ],
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "cycle_all": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "dual_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "multisplash": true,
+ "solid_multisplash": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [0, 4], "x": 4.75, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [1, 4], "x": 6, "y": 0},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [2, 4], "x": 5.375, "y": 2.5},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/doio/kb16/kb16.c b/keyboards/doio/kb16/kb16.c
index 05f5792ea7..bfb491c4c2 100644
--- a/keyboards/doio/kb16/kb16.c
+++ b/keyboards/doio/kb16/kb16.c
@@ -26,7 +26,7 @@
#endif
#ifdef OLED_ENABLE
- uint16_t startup_timer;
+ uint16_t startup_timer;
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
startup_timer = timer_read();
@@ -48,22 +48,3 @@
return true;
}
#endif
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- { 0, 1, 2, 3, NO_LED },
- { 4, 5, 6, 7, NO_LED },
- { 8, 9, 10, 11, NO_LED },
- { 12, 13, 14, 15, NO_LED }
-}, {
- {0 , 0}, {75 , 0}, {149, 0}, {224, 0},
- {0 , 21}, {75 , 21}, {149, 21}, {224, 21},
- {0 , 43}, {75 , 43}, {149, 43}, {224, 43},
- {0 , 64}, {75 , 64}, {149, 64}, {224, 64},
-}, {
- 1, 1, 1, 1,
- 1, 4, 4, 1,
- 1, 4, 4, 1,
- 1, 1, 1, 1,
-} };
-#endif
diff --git a/keyboards/doio/kb16/rev1/keymaps/via/keymap.c b/keyboards/doio/kb16/keymaps/default/keymap.c
index fc1f1dcfaa..fc1f1dcfaa 100644
--- a/keyboards/doio/kb16/rev1/keymaps/via/keymap.c
+++ b/keyboards/doio/kb16/keymaps/default/keymap.c
diff --git a/keyboards/doio/kb16/rev1/keymaps/default/rules.mk b/keyboards/doio/kb16/keymaps/default/rules.mk
index 00003ba11b..00003ba11b 100644
--- a/keyboards/doio/kb16/rev1/keymaps/default/rules.mk
+++ b/keyboards/doio/kb16/keymaps/default/rules.mk
diff --git a/keyboards/doio/kb16/rev2/keymaps/via/keymap.c b/keyboards/doio/kb16/keymaps/via/keymap.c
index fc1f1dcfaa..fc1f1dcfaa 100644
--- a/keyboards/doio/kb16/rev2/keymaps/via/keymap.c
+++ b/keyboards/doio/kb16/keymaps/via/keymap.c
diff --git a/keyboards/doio/kb16/rev1/keymaps/via/rules.mk b/keyboards/doio/kb16/keymaps/via/rules.mk
index d76c12896f..d76c12896f 100644
--- a/keyboards/doio/kb16/rev1/keymaps/via/rules.mk
+++ b/keyboards/doio/kb16/keymaps/via/rules.mk
diff --git a/keyboards/doio/kb16/rev1/config.h b/keyboards/doio/kb16/rev1/config.h
deleted file mode 100644
index 6d635d7557..0000000000
--- a/keyboards/doio/kb16/rev1/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2022 DOIO
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Use the custom font */
-#define OLED_FONT_H "./lib/glcdfont.c"
-
-#ifdef RGB_MATRIX_ENABLE
- /* RGB Matrix config */
- #define RGB_MATRIX_LED_COUNT 16
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
- #define RGB_MATRIX_KEYPRESSES
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/doio/kb16/rev1/info.json b/keyboards/doio/kb16/rev1/info.json
index bcf2c2eb0e..fc9b30a20a 100644
--- a/keyboards/doio/kb16/rev1/info.json
+++ b/keyboards/doio/kb16/rev1/info.json
@@ -1,22 +1,16 @@
{
- "keyboard_name": "KB16-01",
- "manufacturer": "DOIO",
- "url": "",
- "maintainer": "HorrorTroll",
"usb": {
- "vid": "0xD010",
- "pid": "0x1601",
- "device_version": "0.0.1",
- "force_nkro": true
+ "device_version": "0.0.1"
},
- "rgb_matrix": {
- "driver": "ws2812"
+ "features": {
+ "grave_esc": false,
+ "space_cadet": false,
+ "magic": false
},
"matrix_pins": {
"cols": ["F5", "F4", "F1", "F0", "B7"],
"rows": ["D5", "D4", "D3", "D2"]
},
- "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "F7", "pin_b": "E6"},
@@ -28,36 +22,5 @@
"pin": "F6"
},
"processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
-
- {"matrix": [0, 4], "x": 4.75, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
-
- {"matrix": [1, 4], "x": 6, "y": 0},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
-
- {"matrix": [2, 4], "x": 5.375, "y": 2.5},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3}
- ]
- }
- }
+ "bootloader": "atmel-dfu"
}
diff --git a/keyboards/doio/kb16/rev1/keymaps/default/keymap.c b/keyboards/doio/kb16/rev1/keymaps/default/keymap.c
deleted file mode 100644
index 1217a3c788..0000000000
--- a/keyboards/doio/kb16/rev1/keymaps/default/keymap.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright 2022 DOIO
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// OLED animation
-#include "./lib/layer_status/layer_status.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum layer_names {
- _BASE,
- _FN,
- _FN1,
- _FN2
-};
-
-// enum layer_keycodes { };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ 5 │ 6 │ 7 │ 8 │
- ├───┼───┼───┼───┤
- │ 9 │ 0 │ ↑ │Ent│ ┌───â”
- ├───┼───┼───┼───┤ │Mut│
- │Fn2│ ↠│ ↓ │ → │ └───┘
- └───┴───┴───┴───┘
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ ! │ @ │ # │ $ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ % │ ^ │ & │ * │
- ├───┼───┼───┼───┤
- │ ( │ ) │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_BASE] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_MPLY,
- KC_5, KC_6, KC_7, KC_8, TO(_FN),
- KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
- MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ │ │ │ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ │ │ │ │
- ├───┼───┼───┼───┤
- │ │ │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN] = LAYOUT(
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, TO(_FN1),
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ │ │ │ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ │ │ │ │
- ├───┼───┼───┼───┤
- │ │ │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN1] = LAYOUT(
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, TO(_FN2),
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │Spi│Spd│ │ │ │ │ │TO0│
- ├───┼───┼───┼───┤ └───┘ └───┘
- │Sai│Sad│ │ │
- ├───┼───┼───┼───┤
- │Tog│Mod│Hui│ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │Vai│Hud│Vad│ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN2] = LAYOUT(
- RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
- RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
- RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
- _______, RGB_VAI, RGB_HUD, RGB_VAD
- ),
-};
-
-#ifdef OLED_ENABLE
- bool oled_task_user(void) {
- render_layer_status();
-
- return true;
- }
-#endif
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-};
-#endif
diff --git a/keyboards/doio/kb16/rev1/rules.mk b/keyboards/doio/kb16/rev1/rules.mk
index b234c1ca6a..8fc28d6480 100644
--- a/keyboards/doio/kb16/rev1/rules.mk
+++ b/keyboards/doio/kb16/rev1/rules.mk
@@ -1,28 +1,2 @@
SRC += ./lib/layer_status/layer_status.c
SRC += ./lib/logo.c
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# Additional thing to reduce compiled size
-LTO_ENABLE = yes
-SPACE_CADET_ENABLE = no
-
-# OLED enabled
-OLED_ENABLE = yes
-
-# RGB Matrix enabled
-RGB_MATRIX_ENABLE = yes
-
-# Encoder enabled
-ENCODER_ENABLE = yes
diff --git a/keyboards/doio/kb16/rev2/config.h b/keyboards/doio/kb16/rev2/config.h
index fc58b8518b..ebe78d363b 100644
--- a/keyboards/doio/kb16/rev2/config.h
+++ b/keyboards/doio/kb16/rev2/config.h
@@ -22,46 +22,4 @@
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11
#define I2C_DRIVER I2CD2
-
- /* Use the custom font */
- #define OLED_FONT_H "./lib/glcdfont.c"
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
- /* RGB Matrix config */
- #define RGB_MATRIX_LED_COUNT 16
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
- #define RGB_MATRIX_KEYPRESSES
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/doio/kb16/rev2/info.json b/keyboards/doio/kb16/rev2/info.json
index c3cf6b9a12..b3f14e180d 100644
--- a/keyboards/doio/kb16/rev2/info.json
+++ b/keyboards/doio/kb16/rev2/info.json
@@ -1,22 +1,11 @@
{
- "keyboard_name": "KB16-01",
- "manufacturer": "DOIO",
- "url": "",
- "maintainer": "HorrorTroll",
"usb": {
- "vid": "0xD010",
- "pid": "0x1601",
- "device_version": "0.0.2",
- "force_nkro": true
- },
- "rgb_matrix": {
- "driver": "ws2812"
+ "device_version": "0.0.2"
},
"matrix_pins": {
"cols": ["B14", "B13", "B12", "B0", "A7"],
"rows": ["B3", "B4", "B9", "B8"]
},
- "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B6"},
@@ -28,36 +17,5 @@
"pin": "A10"
},
"processor": "STM32F103",
- "bootloader": "stm32duino",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
-
- {"matrix": [0, 4], "x": 4.75, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
-
- {"matrix": [1, 4], "x": 6, "y": 0},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
-
- {"matrix": [2, 4], "x": 5.375, "y": 2.5},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3}
- ]
- }
- }
+ "bootloader": "stm32duino"
}
diff --git a/keyboards/doio/kb16/rev2/keymaps/default/keymap.c b/keyboards/doio/kb16/rev2/keymaps/default/keymap.c
deleted file mode 100644
index 1217a3c788..0000000000
--- a/keyboards/doio/kb16/rev2/keymaps/default/keymap.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright 2022 DOIO
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// OLED animation
-#include "./lib/layer_status/layer_status.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum layer_names {
- _BASE,
- _FN,
- _FN1,
- _FN2
-};
-
-// enum layer_keycodes { };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ 5 │ 6 │ 7 │ 8 │
- ├───┼───┼───┼───┤
- │ 9 │ 0 │ ↑ │Ent│ ┌───â”
- ├───┼───┼───┼───┤ │Mut│
- │Fn2│ ↠│ ↓ │ → │ └───┘
- └───┴───┴───┴───┘
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ ! │ @ │ # │ $ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ % │ ^ │ & │ * │
- ├───┼───┼───┼───┤
- │ ( │ ) │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_BASE] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_MPLY,
- KC_5, KC_6, KC_7, KC_8, TO(_FN),
- KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
- MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ │ │ │ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ │ │ │ │
- ├───┼───┼───┼───┤
- │ │ │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN] = LAYOUT(
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, TO(_FN1),
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │ │ │ │ │ │ │ │ │
- ├───┼───┼───┼───┤ └───┘ └───┘
- │ │ │ │ │
- ├───┼───┼───┼───┤
- │ │ │ │ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │ │ │ │ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN1] = LAYOUT(
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, TO(_FN2),
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
-/*
- ┌───┬───┬───┬───┠┌───┠┌───â”
- │Spi│Spd│ │ │ │ │ │TO0│
- ├───┼───┼───┼───┤ └───┘ └───┘
- │Sai│Sad│ │ │
- ├───┼───┼───┼───┤
- │Tog│Mod│Hui│ │ ┌───â”
- ├───┼───┼───┼───┤ │ │
- │ │Vai│Hud│Vad│ └───┘
- └───┴───┴───┴───┘
-*/
- /* Row: 0 1 2 3 4 */
- [_FN2] = LAYOUT(
- RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
- RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
- RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
- _______, RGB_VAI, RGB_HUD, RGB_VAD
- ),
-};
-
-#ifdef OLED_ENABLE
- bool oled_task_user(void) {
- render_layer_status();
-
- return true;
- }
-#endif
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-};
-#endif
diff --git a/keyboards/doio/kb16/rev2/keymaps/default/rules.mk b/keyboards/doio/kb16/rev2/keymaps/default/rules.mk
deleted file mode 100644
index 00003ba11b..0000000000
--- a/keyboards/doio/kb16/rev2/keymaps/default/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Encoder enabled
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/doio/kb16/rev2/keymaps/via/rules.mk b/keyboards/doio/kb16/rev2/keymaps/via/rules.mk
deleted file mode 100644
index d76c12896f..0000000000
--- a/keyboards/doio/kb16/rev2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-
-# Encoder enabled
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/doio/kb16/rev2/rules.mk b/keyboards/doio/kb16/rev2/rules.mk
index 2145c9fbe1..e9bb89acc7 100644
--- a/keyboards/doio/kb16/rev2/rules.mk
+++ b/keyboards/doio/kb16/rev2/rules.mk
@@ -3,25 +3,3 @@ SRC += ./lib/logo.c
# Configure for 128K flash
MCU_LDSCRIPT = STM32F103xB
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# OLED enabled
-OLED_ENABLE = yes
-
-# RGB Matrix enabled
-RGB_MATRIX_ENABLE = yes
-
-# Encoder enabled
-ENCODER_ENABLE = yes
diff --git a/keyboards/doio/kb30/config.h b/keyboards/doio/kb30/config.h
index 586a61c7a0..7050e67b7e 100644
--- a/keyboards/doio/kb30/config.h
+++ b/keyboards/doio/kb30/config.h
@@ -22,8 +22,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-// #define QMK_KEYS_PER_SCAN 12
-
/* OLED */
#ifdef OLED_ENABLE
# define OLED_BRIGHTNESS 5
@@ -34,59 +32,7 @@
# define I2C_DRIVER I2CD2
#endif
-#ifdef RGB_MATRIX_ENABLE
- /* RGB Matrix config */
- #define RGB_MATRIX_LED_COUNT 36
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-
-
-/* RGB Matrix effect */
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// #define ENABLE_RGB_MATRIX_CYCLE_ALL
-// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
+#define RGB_MATRIX_LED_COUNT 36
/*
* Feature disable options
diff --git a/keyboards/doio/kb30/info.json b/keyboards/doio/kb30/info.json
index cd3c772994..60e02a58ba 100644
--- a/keyboards/doio/kb30/info.json
+++ b/keyboards/doio/kb30/info.json
@@ -9,7 +9,44 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_up_down"
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B14", "B13", "B12", "B0", "A7", "A9", "A8"],
diff --git a/keyboards/doio/kb38/config.h b/keyboards/doio/kb38/config.h
deleted file mode 100644
index 106ad4d651..0000000000
--- a/keyboards/doio/kb38/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2022 Katrina (@Daggette10)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 44
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json
index 95d3be13d3..9a67e3ed5c 100644
--- a/keyboards/doio/kb38/info.json
+++ b/keyboards/doio/kb38/info.json
@@ -36,6 +36,14 @@
"pin": "F6"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "rainbow_moving_chevron": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
@@ -88,7 +96,8 @@
{"flags": 2, "x": 0, "y": 0},
{"flags": 2, "x": 74.6, "y": 0},
{"flags": 2, "x": 224, "y": 0}
- ]
+ ],
+ "max_brightness": 200,
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h
index e18a231380..b5a6d1893c 100644
--- a/keyboards/doro67/rgb/config.h
+++ b/keyboards/doro67/rgb/config.h
@@ -17,59 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 67
-
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json
index ad7661830a..3c2461a90b 100644
--- a/keyboards/doro67/rgb/info.json
+++ b/keyboards/doro67/rgb/info.json
@@ -9,6 +9,51 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/dotmod/dymium65/config.h b/keyboards/dotmod/dymium65/config.h
index fa5999ca48..ca6e56156d 100644
--- a/keyboards/dotmod/dymium65/config.h
+++ b/keyboards/dotmod/dymium65/config.h
@@ -21,12 +21,3 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 66
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_AFTER_TIMEOUT 0
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/dotmod/dymium65/info.json b/keyboards/dotmod/dymium65/info.json
index 650260483c..6095f4c3f1 100644
--- a/keyboards/dotmod/dymium65/info.json
+++ b/keyboards/dotmod/dymium65/info.json
@@ -59,7 +59,9 @@
"solid_reactive_cross": true,
"solid_reactive_nexus": true,
"splash": true
- }
+ },
+ "max_brightness": 200,
+ "react_on_keyup": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/dp3000/config.h b/keyboards/dp3000/config.h
deleted file mode 100644
index 26e9f037f5..0000000000
--- a/keyboards/dp3000/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2023 deddia permana (@depermana12)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 8
-#define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/dp3000/rev1/info.json b/keyboards/dp3000/rev1/info.json
index 7ea2d101c4..63d023de5c 100644
--- a/keyboards/dp3000/rev1/info.json
+++ b/keyboards/dp3000/rev1/info.json
@@ -29,7 +29,6 @@
"hue_wave": true,
"rainbow_moving_chevron": true,
"raindrops": true,
- "solid_color": true,
"solid_reactive": true,
"solid_reactive_multinexus": true,
"solid_reactive_simple": true,
@@ -51,7 +50,9 @@
"max_brightness": 180,
"sat_steps": 8,
"speed_steps": 10,
- "val_steps": 8
+ "val_steps": 8,
+ "react_on_keyup": true,
+ "sleep": true
},
"ws2812": {
"pin": "B5"
diff --git a/keyboards/dp3000/rev2/config.h b/keyboards/dp3000/rev2/config.h
new file mode 100644
index 0000000000..237f9897ba
--- /dev/null
+++ b/keyboards/dp3000/rev2/config.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2023 deddia permana (@depermana12)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h
index 3c65d94736..c2aa315291 100644
--- a/keyboards/dp60/config.h
+++ b/keyboards/dp60/config.h
@@ -35,54 +35,5 @@
//rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+#define RGB_MATRIX_LED_COUNT 72
diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c
index 588acd591d..5f23b35542 100644
--- a/keyboards/dp60/dp60.c
+++ b/keyboards/dp60/dp60.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json
index 10af7cb6ca..ec36a725c3 100644
--- a/keyboards/dp60/info.json
+++ b/keyboards/dp60/info.json
@@ -29,6 +29,37 @@
"pin": "D7"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
"driver": "is31fl3731"
},
"processor": "atmega32u4",
diff --git a/keyboards/drop/alt/v2/v2.c b/keyboards/drop/alt/v2/v2.c
index fcdad7f2df..49ed4bfc99 100644
--- a/keyboards/drop/alt/v2/v2.c
+++ b/keyboards/drop/alt/v2/v2.c
@@ -3,112 +3,112 @@
#ifdef RGB_MATRIX_ENABLE
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 1, B_2, A_2, C_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 1, B_13, A_13, C_13 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, B_7, A_7, C_7 },
- { 1, E_2, D_2, F_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_6, G_6, I_6 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, K_11, J_11, L_11 },
- { 0, H_6, G_6, I_6 },
- { 0, E_7, D_7, F_7 },
- { 1, H_2, G_2, I_2 },
- { 1, K_3, J_3, L_3 },
- { 1, K_4, J_4, L_4 },
- { 1, K_5, J_5, L_5 },
- { 1, K_6, J_6, L_6 },
- { 1, K_7, J_7, L_7 },
- { 1, K_8, J_8, L_8 },
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, H_7, G_7, I_7 },
- { 1, K_2, J_2, L_2 },
- { 1, E_9, D_9, F_9 },
- { 1, B_9, A_9, C_9 },
- { 1, K_9, J_9, L_9 },
- { 1, H_9, G_9, I_9 },
- { 1, K_12, J_12, L_12 },
- { 1, K_13, J_13, L_13 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, B_11, A_11, C_11 },
- { 0, E_11, D_11, F_11 },
- { 0, K_7, J_7, L_7 },
- { 1, H_10, G_10, I_10 },
- { 1, E_10, D_10, F_10 },
- { 1, B_10, A_10, C_10 },
- { 1, H_12, G_12, I_12 },
- { 0, E_10, D_10, F_10 },
- { 0, B_10, A_10, C_10 },
- { 0, B_12, A_12, C_12 },
- { 0, H_12, G_12, I_12 },
- { 0, E_12, D_12, F_12 },
- { 1, K_11, J_11, L_11 },
- { 1, H_11, G_11, I_11 },
- { 1, E_11, D_11, F_11 },
- { 1, B_11, A_11, C_11 },
- { 1, B_12, A_12, C_12 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, H_13, G_13, I_13 },
- { 0, H_9, G_9, I_9 },
- { 0, E_9, D_9, F_9 },
- { 0, B_9, A_9, C_9 },
- { 0, B_13, A_13, C_13 },
- { 0, H_13, G_13, I_13 },
- { 0, E_13, D_13, F_13 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_8, J_8, L_8 },
- { 0, H_8, G_8, I_8 },
- { 0, E_8, D_8, F_8 },
- { 0, B_8, A_8, C_8 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
- { 0, B_14, A_14, C_14 },
- { 1, B_8, A_8, C_8 },
- { 1, B_7, A_7, C_7 },
- { 1, B_6, A_6, C_6 },
- { 1, B_5, A_5, C_5 },
- { 1, B_4, A_4, C_4 },
- { 1, B_3, A_3, C_3 },
- { 1, B_1, A_1, C_1 },
- { 1, E_1, D_1, F_1 },
- { 1, H_1, G_1, I_1 },
- { 1, K_1, J_1, L_1 },
- { 1, K_10, J_10, L_10 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 1, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 1, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
};
#endif
diff --git a/keyboards/drop/cstm65/cstm65.c b/keyboards/drop/cstm65/cstm65.c
index ccb86f1d3e..dff7008f59 100644
--- a/keyboards/drop/cstm65/cstm65.c
+++ b/keyboards/drop/cstm65/cstm65.c
@@ -3,77 +3,77 @@
#ifdef RGB_MATRIX_ENABLE
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
- { 0, B_15, A_15, C_15 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 0, E_15, D_15, F_15 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
- { 1, B_1, A_1, C_1 },
- { 1, B_2, A_2, C_2 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_6, A_6, C_6 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, B_12, A_12, C_12 },
- { 1, B_13, A_13, C_13 },
- { 1, B_14, A_14, C_14 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 1, SW2_CS14, SW1_CS14, SW3_CS14 },
- { 1, E_1, D_1, F_1 },
- { 1, E_2, D_2, F_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 1, E_9, D_9, F_9 },
- { 1, E_10, D_10, F_10 },
- { 1, E_11, D_11, F_11 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, E_14, D_14, F_14 },
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW5_CS14, SW4_CS14, SW6_CS14 },
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_8, G_8, I_8 },
- { 1, H_9, G_9, I_9 },
- { 1, H_10, G_10, I_10 },
- { 1, H_11, G_11, I_11 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
};
#endif
diff --git a/keyboards/drop/cstm80/cstm80.c b/keyboards/drop/cstm80/cstm80.c
index 75e7049c20..6350f3a32d 100644
--- a/keyboards/drop/cstm80/cstm80.c
+++ b/keyboards/drop/cstm80/cstm80.c
@@ -3,94 +3,94 @@
#ifdef RGB_MATRIX_ENABLE
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 0, E_15, D_15, F_15 },
- { 0, E_16, D_16, F_16 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_13, G_13, I_13 },
- { 0, H_14, G_14, I_14 },
- { 0, H_15, G_15, I_15 },
- { 0, H_16, G_16, I_16 },
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
- { 0, K_15, J_15, L_15 },
- { 0, K_16, J_16, L_16 },
- { 1, B_1, A_1, C_1 },
- { 1, B_2, A_2, C_2 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_6, A_6, C_6 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, B_12, A_12, C_12 },
- { 1, B_13, A_13, C_13 },
- { 1, B_14, A_14, C_14 },
- { 1, B_15, A_15, C_15 },
- { 1, B_16, A_16, C_16 },
- { 1, E_1, D_1, F_1 },
- { 1, E_2, D_2, F_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 1, E_9, D_9, F_9 },
- { 1, E_10, D_10, F_10 },
- { 1, E_11, D_11, F_11 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_6, G_6, I_6 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
- { 1, H_9, G_9, I_9 },
- { 1, H_10, G_10, I_10 },
- { 1, H_11, G_11, I_11 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 1, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 1, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 1, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
};
#endif
diff --git a/keyboards/drop/ctrl/v2/v2.c b/keyboards/drop/ctrl/v2/v2.c
index 6b565efbe1..81689dc78a 100644
--- a/keyboards/drop/ctrl/v2/v2.c
+++ b/keyboards/drop/ctrl/v2/v2.c
@@ -3,126 +3,126 @@
#ifdef RGB_MATRIX_ENABLE
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 1, B_2, A_2, C_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, B_6, A_6, C_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_6, G_6, I_6 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 1, K_1, J_1, L_1 },
- { 1, K_2, J_2, L_2 },
- { 1, K_3, J_3, L_3 },
- { 1, K_4, J_4, L_4 },
- { 1, K_5, J_5, L_5 },
- { 1, K_6, J_6, L_6 },
- { 1, K_7, J_7, L_7 },
- { 1, K_8, J_8, L_8 },
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 1, E_1, D_1, F_1 },
- { 1, E_2, D_2, F_2 },
- { 1, K_13, J_13, L_13 },
- { 1, K_12, J_12, L_12 },
- { 1, K_11, J_11, L_11 },
- { 1, E_6, D_6, F_6 },
- { 1, K_10, J_10, L_10 },
- { 1, K_9, J_9, L_9 },
- { 0, K_16, J_16, L_16 },
- { 0, K_15, J_15, L_15 },
- { 0, K_14, J_14, L_14 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 1, E_14, D_14, F_14 },
- { 1, E_13, D_13, F_13 },
- { 1, H_12, G_12, I_12 },
- { 1, E_12, D_12, F_12 },
- { 1, E_11, D_11, F_11 },
- { 1, E_10, D_10, F_10 },
- { 1, E_9, D_9, F_9 },
- { 1, H_9, G_9, I_9 },
- { 0, H_16, G_16, I_16 },
- { 0, H_15, G_15, I_15 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_11, G_11, I_11 },
- { 1, K_14, J_14, L_14 },
- { 1, H_14, G_14, I_14 },
- { 1, H_13, G_13, I_13 },
- { 1, H_10, G_10, I_10 },
- { 0, E_16, D_16, F_16 },
- { 0, E_15, D_15, F_15 },
- { 0, E_14, D_14, F_14 },
- { 0, E_13, D_13, F_13 },
- { 0, H_12, G_12, I_12 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
- { 0, B_15, A_15, C_15 },
- { 0, B_16, A_16, C_16 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, B_12, A_12, C_12 },
- { 1, B_13, A_13, C_13 },
- { 1, B_14, A_14, C_14 },
- { 1, B_15, A_15, C_15 },
- { 1, K_15, J_15, L_15 },
- { 1, E_15, D_15, F_15 },
- { 1, H_15, G_15, I_15 },
- { 1, B_1, A_1, C_1 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_8, A_8, C_8 },
- { 0, B_10, A_10, C_10 },
- { 0, H_10, G_10, I_10 },
- { 0, K_10, J_10, L_10 },
- { 0, E_10, D_10, F_10 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 1, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 1, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 1, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 1, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 1, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 1, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 1, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 1, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 1, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 1, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 1, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 1, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 1, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
};
#endif
diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c
index 057e310748..1130cf1279 100644
--- a/keyboards/drop/sense75/sense75.c
+++ b/keyboards/drop/sense75/sense75.c
@@ -3,133 +3,133 @@
#ifdef RGB_MATRIX_ENABLE
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
// top underglow sd2-sd17
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
- { 0, B_16, A_16, C_16 },
- { 1, B_12, A_12, C_12 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
// sd1 + function + sd18
- { 0, B_1, A_1, C_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 0, E_15, D_15, F_15 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
// <enc gap>
- { 1, B_13, A_13, C_13 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
// sd45 + num + sd20
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_13, G_13, I_13 },
- { 0, H_14, G_14, I_14 },
- { 0, H_15, G_15, I_15 },
- { 0, H_16, G_16, I_16 },
- { 1, B_15, A_15, C_15 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 1, SW2_CS15, SW1_CS15, SW3_CS15 },
// 44+ qwer 21
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
- { 0, K_15, J_15, L_15 },
- { 0, K_16, J_16, L_16 },
- { 1, B_16, A_16, C_16 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 1, SW2_CS16, SW1_CS16, SW3_CS16 },
// asdf
- { 1, B_2, A_2, C_2 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_6, A_6, C_6 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, E_14, D_14, F_14 },
- { 1, H_15, G_15, I_15 },
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 1, SW8_CS15, SW7_CS15, SW9_CS15 },
// 43 + zxcv + 22
- { 1, B_1, A_1, C_1 },
- { 1, E_2, D_2, F_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 1, E_9, D_9, F_9 },
- { 1, E_10, D_10, F_10 },
- { 1, E_11, D_11, F_11 },
- { 1, H_12, G_12, I_12 },
- { 1, H_13, G_13, I_13 },
- { 1, H_14, G_14, I_14 },
- { 1, E_15, D_15, F_15 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 1, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 1, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 1, SW5_CS15, SW4_CS15, SW6_CS15 },
// 41 + mods + 23
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_6, G_6, I_6 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
- { 1, H_9, G_9, I_9 },
- { 1, H_10, G_10, I_10 },
- { 1, H_11, G_11, I_11 },
- { 1, E_16, D_16, F_16 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 1, SW5_CS16, SW4_CS16, SW6_CS16 },
// bottom underglow 24 - 39
- { 1, K_2, J_2, L_2 },
- { 1, K_3, J_3, L_3 },
- { 1, K_4, J_4, L_4 },
- { 1, K_6, J_6, L_6 },
- { 1, K_10, J_10, L_10 },
- { 1, K_13, J_13, L_13 },
- { 1, K_15, J_15, L_15 },
- { 1, H_16, G_16, I_16 }
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 1, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 1, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 1, SW8_CS16, SW7_CS16, SW9_CS16 }
};
#endif
diff --git a/keyboards/drop/shift/v2/v2.c b/keyboards/drop/shift/v2/v2.c
index 8565a0cb26..4715d7b81b 100644
--- a/keyboards/drop/shift/v2/v2.c
+++ b/keyboards/drop/shift/v2/v2.c
@@ -4,173 +4,173 @@
# include "host.h"
# include "rgb_matrix.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_1, J_1, L_1 },// LED1
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },// LED9
- { 1, K_1, J_1, L_1 },// LED10
- { 1, K_2, J_2, L_2 },// LED11
- { 1, K_3, J_3, L_3 },// LED12
- { 1, K_4, J_4, L_4 },// LED13
- { 1, K_9, J_9, L_9 },// LED18
- { 1, K_5, J_5, L_5 },// LED15
- { 1, K_6, J_6, L_6 },// LED19
- { 1, K_7, J_7, L_7 },// LED16
- { 1, K_8, J_8, L_8 },// LED20
- { 0, H_1, G_1, I_1 },//start2
- { 0, H_11, G_11, I_11 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 1, E_1, D_1, F_1 },
- { 1, E_2, D_2, F_2 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 1, B_1, A_1, C_1 },
- { 1, B_2, A_2, C_2 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_6, A_6, C_6 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, B_13, A_13, C_13 },
- { 1, B_14, A_14, C_14 },
- { 1, B_15, A_15, C_15 },
- { 1, B_16, A_16, C_16 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, H_13, G_13, I_13 },
- { 0, H_14, G_14, I_14 },
- { 0, B_14, A_14, C_14 },
- { 0, E_15, D_15, F_15 },
- { 0, B_15, A_15, C_15 },
- { 0, B_16, A_16, C_16 },
- { 1, E_9, D_9, F_9 },
- { 1, E_10, D_10, F_10 },
- { 1, E_11, D_11, F_11 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, E_14, D_14, F_14 },
- { 1, E_15, D_15, F_15 },
- { 1, H_16, G_16, I_16 },
- { 0, E_11, D_11, F_11 },//start6
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 1, H_9, G_9, I_9 },
- { 1, H_10, G_10, I_10 },
- { 1, H_11, G_11, I_11 },
- { 1, H_12, G_12, I_12 },
- { 1, H_13, G_13, I_13 },
- { 1, H_14, G_14, I_14 },
- { 1, H_15, G_15, I_15 },
- { 2, H_1, G_1, I_1 },//start underglow
- { 2, K_1, J_1, L_1 },
- { 2, B_1, A_1, C_1 },
- { 2, E_1, D_1, F_1 },
- { 2, E_2, D_2, F_2 },
- { 2, B_2, A_2, C_2 },
- { 2, B_3, A_3, C_3 },
- { 2, E_3, D_3, F_3 },
- { 2, E_4, D_4, F_4 },
- { 2, B_4, A_4, C_4 },
- { 2, B_5, A_5, C_5 },
- { 2, E_5, D_5, F_5 },
- { 2, E_6, D_6, F_6 },
- { 2, B_6, A_6, C_6 },
- { 2, B_7, A_7, C_7 },
- { 2, E_7, D_7, F_7 },
- { 2, E_8, D_8, F_8 },
- { 2, B_8, A_8, C_8 },
- { 2, B_9, A_9, C_9 },
- { 2, E_9, D_9, F_9 },
- { 2, E_10, D_10, F_10 },
- { 2, B_10, A_10, C_10 },
- { 2, B_11, A_11, C_11 },//125
- { 2, E_11, D_11, F_11 },
- { 2, E_12, D_12, F_12 },
- { 2, B_12, A_12, C_12 },
- { 2, B_13, A_13, C_13 },
- { 2, E_13, D_13, F_13 },
- { 2, E_14, D_14, F_14 },
- { 2, B_14, A_14, C_14 },
- { 2, B_15, A_15, C_15 },
- { 2, E_15, D_15, F_15 },
- { 2, E_16, D_16, F_16 },
- { 2, B_16, A_16, C_16 },
- { 2, H_16, G_16, I_16 },
- { 2, K_16, J_16, L_16 },
- { 2, K_15, J_15, L_15 },
- { 2, H_15, G_15, I_15 },
- { 2, H_14, G_14, I_14 },
- { 2, K_14, J_14, L_14 },
- { 2, K_13, J_13, L_13 },
- { 2, H_13, G_13, I_13 },
- { 2, H_12, G_12, I_12 },
- { 2, K_12, J_12, L_12 },
- { 2, K_11, J_11, L_11 },
- { 2, H_11, G_11, I_11 },
- { 2, H_10, G_10, I_10 },
- { 2, K_10, J_10, L_10 },
- { 2, K_9, J_9, L_9 },
- { 2, H_9, G_9, I_9 },
- { 2, H_8, G_8, I_8 },
- { 2, K_8, J_8, L_8 },
- { 2, K_7, J_7, L_7 },
- { 2, H_7, G_7, I_7 },
- { 2, H_6, G_6, I_6 },
- { 2, K_6, J_6, L_6 },
- { 2, K_5, J_5, L_5 },
- { 2, H_5, G_5, I_5 },
- { 2, H_4, G_4, I_4 },
- { 2, K_4, J_4, L_4 },
- { 2, K_3, J_3, L_3 },
- { 2, H_3, G_3, I_3 },
- { 2, H_2, G_2, I_2 },
- { 2, K_2, J_2, L_2 },
- { 1, K_10, J_10, L_10 },
- { 1, K_11, J_11, L_11 },
- { 1, E_3, D_3, F_3 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },// LED1
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },// LED9
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },// LED10
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },// LED11
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },// LED12
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },// LED13
+ { 1, SW11_CS9, SW10_CS9, SW12_CS9 },// LED18
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },// LED15
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },// LED19
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 },// LED16
+ { 1, SW11_CS8, SW10_CS8, SW12_CS8 },// LED20
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },//start2
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 1, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 1, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 1, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 1, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 1, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },//start6
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 1, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 1, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 1, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 1, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 2, SW8_CS1, SW7_CS1, SW9_CS1 },//start underglow
+ { 2, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 2, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 2, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 2, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 2, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 2, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 2, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 2, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 2, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 2, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 2, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 2, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 2, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 2, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 2, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 2, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 2, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 2, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 2, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 2, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 2, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 2, SW2_CS11, SW1_CS11, SW3_CS11 },//125
+ { 2, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 2, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 2, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 2, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 2, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 2, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 2, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 2, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 2, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 2, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 2, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 2, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 2, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 2, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 2, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 2, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 2, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 2, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 2, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 2, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 2, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 2, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 2, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 2, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 2, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 2, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 2, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 2, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 2, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 2, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 2, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 2, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 2, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 2, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 2, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 2, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 2, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 2, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 2, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 2, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 2, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 1, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
};
bool rgb_matrix_indicators_kb(void) {
diff --git a/keyboards/dtisaac/dosa40rgb/config.h b/keyboards/dtisaac/dosa40rgb/config.h
deleted file mode 100644
index 0ad383a688..0000000000
--- a/keyboards/dtisaac/dosa40rgb/config.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-Copyright 2021 DTIsaac
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 42
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/dtisaac/dosa40rgb/info.json b/keyboards/dtisaac/dosa40rgb/info.json
index e90d21725a..557b5c3abc 100644
--- a/keyboards/dtisaac/dosa40rgb/info.json
+++ b/keyboards/dtisaac/dosa40rgb/info.json
@@ -15,7 +15,56 @@
"pin": "D0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["D1", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/duck/jetfire/indicator_leds.h b/keyboards/duck/jetfire/indicator_leds.h
index d94709d1cb..36dda632fb 100644
--- a/keyboards/duck/jetfire/indicator_leds.h
+++ b/keyboards/duck/jetfire/indicator_leds.h
@@ -6,6 +6,6 @@ void backlight_init_ports(void);
void backlight_set_state(bool cfg[7]);
void backlight_update_state(void);
void backlight_toggle_rgb(bool enabled);
-void backlight_set_rgb(uint8_t cfg[RGBLED_NUM][3]);
+void backlight_set_rgb(uint8_t cfg[RGBLIGHT_LED_COUNT][3]);
void backlight_set(uint8_t level);
void send_color(uint8_t r, uint8_t g, uint8_t b, enum Device device);
diff --git a/keyboards/duck/jetfire/jetfire.c b/keyboards/duck/jetfire/jetfire.c
index 23e6e9095a..45a46766fd 100644
--- a/keyboards/duck/jetfire/jetfire.c
+++ b/keyboards/duck/jetfire/jetfire.c
@@ -44,10 +44,10 @@ uint8_t backlight_state_led = 1<<STATE_LED_LAYER_0;
void backlight_toggle_rgb(bool enabled)
{
- uint8_t rgb[RGBLED_NUM][3] = { 0 };
+ uint8_t rgb[RGBLIGHT_LED_COUNT][3] = { 0 };
if(enabled) {
- for(uint8_t i = 0; i < RGBLED_NUM; ++i) {
+ for(uint8_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
rgb[i][0] = backlight_rgb_r;
rgb[i][1] = backlight_rgb_g;
rgb[i][2] = backlight_rgb_b;
@@ -56,10 +56,10 @@ void backlight_toggle_rgb(bool enabled)
backlight_set_rgb(rgb);
}
-void backlight_set_rgb(uint8_t cfg[RGBLED_NUM][3])
+void backlight_set_rgb(uint8_t cfg[RGBLIGHT_LED_COUNT][3])
{
cli();
- for(uint8_t i = 0; i < RGBLED_NUM; ++i) {
+ for(uint8_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
send_color(cfg[i][0], cfg[i][1], cfg[i][2], Device_PCBRGB);
}
sei();
diff --git a/keyboards/dumbpad/v1x_oled/v1x_oled.c b/keyboards/dumbpad/v1x_oled/v1x_oled.c
index ef91d4d416..2abf45b184 100644
--- a/keyboards/dumbpad/v1x_oled/v1x_oled.c
+++ b/keyboards/dumbpad/v1x_oled/v1x_oled.c
@@ -19,7 +19,10 @@
char wpm_str[10];
#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
// Right encoder
if (index == 0) {
if (clockwise) {
@@ -42,16 +45,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
#ifdef OLED_ENABLE
// WPM-responsive animation stuff here
# define IDLE_FRAMES 5
-# define IDLE_SPEED 20 // below this wpm value your animation will idle
+# define IDLE_SPEED 20 // below this wpm value your animation will idle
// #define PREP_FRAMES 1 // uncomment if >1
# define TAP_FRAMES 2
-# define TAP_SPEED 40 // above this wpm value typing animation to trigger
+# define TAP_SPEED 40 // above this wpm value typing animation to trigger
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
+# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
uint32_t anim_timer = 0;
uint32_t anim_sleep = 0;
@@ -111,7 +114,7 @@ static void render_anim(void) {
}
if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
// oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
- oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
+ oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
}
if (get_current_wpm() >= TAP_SPEED) {
current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
@@ -119,7 +122,7 @@ static void render_anim(void) {
}
}
if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
anim_timer = timer_read32();
animation_phase();
@@ -138,18 +141,21 @@ static void render_anim(void) {
}
// Used to draw on to the oled screen
-bool oled_task_user(void) {
- render_anim(); // renders pixelart
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_anim(); // renders pixelart
- oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top)
oled_write_P(PSTR("WPM: "), false);
oled_write(get_u8_str(get_current_wpm(), '0'), false);
- oled_write(wpm_str, false); // writes wpm on top left corner of string
+ oled_write(wpm_str, false); // writes wpm on top left corner of string
- led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
+ led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
oled_set_cursor(0, 1);
oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- return false;
+ return true;
}
#endif
diff --git a/keyboards/dumbpad/v3x/config.h b/keyboards/dumbpad/v3x/config.h
index 7667bb39d0..21776afe96 100644
--- a/keyboards/dumbpad/v3x/config.h
+++ b/keyboards/dumbpad/v3x/config.h
@@ -20,45 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LED_00 B1
#define LED_01 B3
#define LED_02 B6
-
-#define RGB_MATRIX_LED_COUNT 16
-
-// Cleanup RGB
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain
-#define RGB_MATRIX_KEYPRESSES
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/dumbpad/v3x/info.json b/keyboards/dumbpad/v3x/info.json
index 24c16ac0af..4dc17272a9 100644
--- a/keyboards/dumbpad/v3x/info.json
+++ b/keyboards/dumbpad/v3x/info.json
@@ -6,8 +6,38 @@
"device_version": "0.1.0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_spiral_val": true,
+ "cycle_left_right": true,
+ "cycle_pinwheel": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
- "timeout": 300000
+ "timeout": 300000,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C6", "D7", "E6", "B4", "B5"],
diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h
index 7c85f977ba..fabf6bc923 100644
--- a/keyboards/durgod/dgk6x/config.h
+++ b/keyboards/durgod/dgk6x/config.h
@@ -33,12 +33,9 @@
#define LED_WIN_LOCK_PIN C5
#define LED_MR_LOCK_PIN LED_SCROLL_LOCK_PIN
-#ifdef RGB_MATRIX_ENABLE
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* I2C Alternate function settings */
#define I2C1_SCL_PAL_MODE 1
#define I2C1_SDA_PAL_MODE 1
@@ -49,60 +46,3 @@
#define I2C1_TIMINGR_SDADEL 0x0U
#define I2C1_TIMINGR_SCLH 0x0cU
#define I2C1_TIMINGR_SCLL 0x22U
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// # define ENABLE_RGB_MATRIX_HUE_BREATHING
-// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// # define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/galaxy/config.h b/keyboards/durgod/dgk6x/galaxy/config.h
index f68a595cae..87c7cf5d93 100644
--- a/keyboards/durgod/dgk6x/galaxy/config.h
+++ b/keyboards/durgod/dgk6x/galaxy/config.h
@@ -16,9 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define DRIVER_1_LED_TOTAL 58
-#define DRIVER_2_LED_TOTAL 26
-#endif
-
#define CAPS_LED 46
diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c
index aa903c3a0a..1cf2d71255 100644
--- a/keyboards/durgod/dgk6x/galaxy/galaxy.c
+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -26,95 +26,95 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, C_1, B_1, A_1}, // Esc
- {0, C_2, B_2, A_2}, // F1
- {0, C_3, B_3, A_3}, // F2
- {0, C_4, B_4, A_4}, // F3
- {0, C_5, B_5, A_5}, // F4
- {0, C_6, B_6, A_6}, // F5
- {0, C_7, B_7, A_7}, // F6
- {0, C_8, B_8, A_8}, // F7
- {0, C_9, B_9, A_9}, // F8
- {0, C_10, B_10, A_10}, // F9
- {0, C_11, B_11, A_11}, // F10
- {0, C_12, B_12, A_12}, // F11
- {0, C_13, B_13, A_13}, // F12
- {0, C_14, B_14, A_14}, // PrtSc
- {0, C_15, B_15, A_15}, // Pause
- {0, C_16, B_16, A_16}, // Del
+ {0, SW3_CS1, SW2_CS1, SW1_CS1}, // Esc
+ {0, SW3_CS2, SW2_CS2, SW1_CS2}, // F1
+ {0, SW3_CS3, SW2_CS3, SW1_CS3}, // F2
+ {0, SW3_CS4, SW2_CS4, SW1_CS4}, // F3
+ {0, SW3_CS5, SW2_CS5, SW1_CS5}, // F4
+ {0, SW3_CS6, SW2_CS6, SW1_CS6}, // F5
+ {0, SW3_CS7, SW2_CS7, SW1_CS7}, // F6
+ {0, SW3_CS8, SW2_CS8, SW1_CS8}, // F7
+ {0, SW3_CS9, SW2_CS9, SW1_CS9}, // F8
+ {0, SW3_CS10, SW2_CS10, SW1_CS10}, // F9
+ {0, SW3_CS11, SW2_CS11, SW1_CS11}, // F10
+ {0, SW3_CS12, SW2_CS12, SW1_CS12}, // F11
+ {0, SW3_CS13, SW2_CS13, SW1_CS13}, // F12
+ {0, SW3_CS14, SW2_CS14, SW1_CS14}, // PrtSc
+ {0, SW3_CS15, SW2_CS15, SW1_CS15}, // Pause
+ {0, SW3_CS16, SW2_CS16, SW1_CS16}, // Del
- {0, F_1, E_1, D_1}, // `
- {0, F_2, E_2, D_2}, // 1
- {0, F_3, E_3, D_3}, // 2
- {0, F_4, E_4, D_4}, // 3
- {0, F_5, E_5, D_5}, // 4
- {0, F_6, E_6, D_6}, // 5
- {0, F_7, E_7, D_7}, // 6
- {0, F_8, E_8, D_8}, // 7
- {0, F_9, E_9, D_9}, // 8
- {0, F_10, E_10, D_10}, // 9
- {0, F_11, E_11, D_11}, // 0
- {0, F_12, E_12, D_12}, // -
- {0, F_13, E_13, D_13}, // =
- {0, F_14, E_14, D_14}, // Bksp
- {0, F_15, E_15, D_15}, // Home
+ {0, SW6_CS1, SW5_CS1, SW4_CS1}, // `
+ {0, SW6_CS2, SW5_CS2, SW4_CS2}, // 1
+ {0, SW6_CS3, SW5_CS3, SW4_CS3}, // 2
+ {0, SW6_CS4, SW5_CS4, SW4_CS4}, // 3
+ {0, SW6_CS5, SW5_CS5, SW4_CS5}, // 4
+ {0, SW6_CS6, SW5_CS6, SW4_CS6}, // 5
+ {0, SW6_CS7, SW5_CS7, SW4_CS7}, // 6
+ {0, SW6_CS8, SW5_CS8, SW4_CS8}, // 7
+ {0, SW6_CS9, SW5_CS9, SW4_CS9}, // 8
+ {0, SW6_CS10, SW5_CS10, SW4_CS10}, // 9
+ {0, SW6_CS11, SW5_CS11, SW4_CS11}, // 0
+ {0, SW6_CS12, SW5_CS12, SW4_CS12}, // -
+ {0, SW6_CS13, SW5_CS13, SW4_CS13}, // =
+ {0, SW6_CS14, SW5_CS14, SW4_CS14}, // Bksp
+ {0, SW6_CS15, SW5_CS15, SW4_CS15}, // Home
- {0, I_1, H_1, G_1}, // Tab
- {0, I_2, H_2, G_2}, // Q
- {0, I_3, H_3, G_3}, // W
- {0, I_4, H_4, G_4}, // E
- {0, I_5, H_5, G_5}, // R
- {0, I_6, H_6, G_6}, // T
- {0, I_7, H_7, G_7}, // Y
- {0, I_8, H_8, G_8}, // U
- {0, I_9, H_9, G_9}, // I
- {0, I_10, H_10, G_10}, // O
- {0, I_11, H_11, G_11}, // P
- {0, I_12, H_12, G_12}, // [
- {0, I_13, H_13, G_13}, // ]
- {0, I_14, H_14, G_14}, // Pipe
- {0, I_15, H_15, G_15}, // End
+ {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Tab
+ {0, SW9_CS2, SW8_CS2, SW7_CS2}, // Q
+ {0, SW9_CS3, SW8_CS3, SW7_CS3}, // W
+ {0, SW9_CS4, SW8_CS4, SW7_CS4}, // E
+ {0, SW9_CS5, SW8_CS5, SW7_CS5}, // R
+ {0, SW9_CS6, SW8_CS6, SW7_CS6}, // T
+ {0, SW9_CS7, SW8_CS7, SW7_CS7}, // Y
+ {0, SW9_CS8, SW8_CS8, SW7_CS8}, // U
+ {0, SW9_CS9, SW8_CS9, SW7_CS9}, // I
+ {0, SW9_CS10, SW8_CS10, SW7_CS10}, // O
+ {0, SW9_CS11, SW8_CS11, SW7_CS11}, // P
+ {0, SW9_CS12, SW8_CS12, SW7_CS12}, // [
+ {0, SW9_CS13, SW8_CS13, SW7_CS13}, // ]
+ {0, SW9_CS14, SW8_CS14, SW7_CS14}, // Pipe
+ {0, SW9_CS15, SW8_CS15, SW7_CS15}, // End
- {0, L_1, K_1, J_1}, // Caps
- {0, L_2, K_2, J_2}, // A
- {0, L_3, K_3, J_3}, // S
- {0, L_4, K_4, J_4}, // D
- {0, L_5, K_5, J_5}, // F
- {0, L_6, K_6, J_6}, // G
- {0, L_7, K_7, J_7}, // H
- {0, L_8, K_8, J_8}, // J
- {0, L_9, K_9, J_9}, // K
- {0, L_10, K_10, J_10}, // L
- {0, L_11, K_11, J_11}, // :
- {0, L_12, K_12, J_12}, // '
- {0, L_14, K_14, J_14}, // Enter
- {0, L_15, K_15, J_15}, // PgUp
+ {0, SW12_CS1, SW11_CS1, SW10_CS1}, // Caps
+ {0, SW12_CS2, SW11_CS2, SW10_CS2}, // A
+ {0, SW12_CS3, SW11_CS3, SW10_CS3}, // S
+ {0, SW12_CS4, SW11_CS4, SW10_CS4}, // D
+ {0, SW12_CS5, SW11_CS5, SW10_CS5}, // F
+ {0, SW12_CS6, SW11_CS6, SW10_CS6}, // G
+ {0, SW12_CS7, SW11_CS7, SW10_CS7}, // H
+ {0, SW12_CS8, SW11_CS8, SW10_CS8}, // J
+ {0, SW12_CS9, SW11_CS9, SW10_CS9}, // K
+ {0, SW12_CS10, SW11_CS10, SW10_CS10}, // L
+ {0, SW12_CS11, SW11_CS11, SW10_CS11}, // :
+ {0, SW12_CS12, SW11_CS12, SW10_CS12}, // '
+ {0, SW12_CS14, SW11_CS14, SW10_CS14}, // Enter
+ {0, SW12_CS15, SW11_CS15, SW10_CS15}, // PgUp
- {1, C_1, B_1, A_1}, // LShift
- {1, C_3, B_3, A_3}, // Z
- {1, C_4, B_4, A_4}, // X
- {1, C_5, B_5, A_5}, // C
- {1, C_6, B_6, A_6}, // V
- {1, C_7, B_7, A_7}, // B
- {1, C_8, B_8, A_8}, // N
- {1, C_9, B_9, A_9}, // M
- {1, C_10, B_10, A_10}, // <
- {1, C_11, B_11, A_11}, // >
- {1, C_12, B_12, A_12}, // ?
- {1, C_13, B_13, A_13}, // RShift
- {1, C_14, B_14, A_14}, // Up
- {1, C_15, B_15, A_15}, // PgDn
+ {1, SW3_CS1, SW2_CS1, SW1_CS1}, // LShift
+ {1, SW3_CS3, SW2_CS3, SW1_CS3}, // Z
+ {1, SW3_CS4, SW2_CS4, SW1_CS4}, // X
+ {1, SW3_CS5, SW2_CS5, SW1_CS5}, // C
+ {1, SW3_CS6, SW2_CS6, SW1_CS6}, // V
+ {1, SW3_CS7, SW2_CS7, SW1_CS7}, // B
+ {1, SW3_CS8, SW2_CS8, SW1_CS8}, // N
+ {1, SW3_CS9, SW2_CS9, SW1_CS9}, // M
+ {1, SW3_CS10, SW2_CS10, SW1_CS10}, // <
+ {1, SW3_CS11, SW2_CS11, SW1_CS11}, // >
+ {1, SW3_CS12, SW2_CS12, SW1_CS12}, // ?
+ {1, SW3_CS13, SW2_CS13, SW1_CS13}, // RShift
+ {1, SW3_CS14, SW2_CS14, SW1_CS14}, // Up
+ {1, SW3_CS15, SW2_CS15, SW1_CS15}, // PgDn
- {1, F_1, E_1, D_1}, // LCtrl
- {1, F_2, E_2, D_2}, // LAlt
- {1, F_3, E_3, D_3}, // LGUI
- {1, F_7, E_7, D_7}, // Space
- {1, F_10, E_10, D_10}, // RAlt
- {1, F_11, E_11, D_11}, // Fn1
- {1, F_12, E_12, D_12}, // Fn2
- {1, F_13, E_13, D_13}, // Left
- {1, F_14, E_14, D_14}, // Down
- {1, F_15, E_15, D_15} // Right
+ {1, SW6_CS1, SW5_CS1, SW4_CS1}, // LCtrl
+ {1, SW6_CS2, SW5_CS2, SW4_CS2}, // LAlt
+ {1, SW6_CS3, SW5_CS3, SW4_CS3}, // LGUI
+ {1, SW6_CS7, SW5_CS7, SW4_CS7}, // Space
+ {1, SW6_CS10, SW5_CS10, SW4_CS10}, // RAlt
+ {1, SW6_CS11, SW5_CS11, SW4_CS11}, // Fn1
+ {1, SW6_CS12, SW5_CS12, SW4_CS12}, // Fn2
+ {1, SW6_CS13, SW5_CS13, SW4_CS13}, // Left
+ {1, SW6_CS14, SW5_CS14, SW4_CS14}, // Down
+ {1, SW6_CS15, SW5_CS15, SW4_CS15} // Right
};
led_config_t g_led_config = {{
diff --git a/keyboards/durgod/dgk6x/hades_ansi/config.h b/keyboards/durgod/dgk6x/hades_ansi/config.h
index 47f6da5988..b61e32a2ff 100644
--- a/keyboards/durgod/dgk6x/hades_ansi/config.h
+++ b/keyboards/durgod/dgk6x/hades_ansi/config.h
@@ -16,9 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define DRIVER_1_LED_TOTAL 58
-#define DRIVER_2_LED_TOTAL 10
-#endif
-
#define CAPS_LED 30
diff --git a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c
index 2d1907f4db..e984c36d91 100644
--- a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c
+++ b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c
@@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -27,78 +27,78 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, C_1, B_1, A_1}, // Esc
- {0, C_2, B_2, A_2}, // 1
- {0, C_3, B_3, A_3}, // 2
- {0, C_4, B_4, A_4}, // 3
- {0, C_5, B_5, A_5}, // 4
- {0, C_6, B_6, A_6}, // 5
- {0, C_7, B_7, A_7}, // 6
- {0, C_8, B_8, A_8}, // 7
- {0, C_9, B_9, A_9}, // 8
- {0, C_10, B_10, A_10}, // 9
- {0, C_11, B_11, A_11}, // 0
- {0, C_12, B_12, A_12}, // -
- {0, C_13, B_13, A_13}, // =
- {0, C_14, B_14, A_14}, // Bksp
- {0, C_15, B_15, A_15}, // Del
+ {0, SW3_CS1, SW2_CS1, SW1_CS1}, // Esc
+ {0, SW3_CS2, SW2_CS2, SW1_CS2}, // 1
+ {0, SW3_CS3, SW2_CS3, SW1_CS3}, // 2
+ {0, SW3_CS4, SW2_CS4, SW1_CS4}, // 3
+ {0, SW3_CS5, SW2_CS5, SW1_CS5}, // 4
+ {0, SW3_CS6, SW2_CS6, SW1_CS6}, // 5
+ {0, SW3_CS7, SW2_CS7, SW1_CS7}, // 6
+ {0, SW3_CS8, SW2_CS8, SW1_CS8}, // 7
+ {0, SW3_CS9, SW2_CS9, SW1_CS9}, // 8
+ {0, SW3_CS10, SW2_CS10, SW1_CS10}, // 9
+ {0, SW3_CS11, SW2_CS11, SW1_CS11}, // 0
+ {0, SW3_CS12, SW2_CS12, SW1_CS12}, // -
+ {0, SW3_CS13, SW2_CS13, SW1_CS13}, // =
+ {0, SW3_CS14, SW2_CS14, SW1_CS14}, // Bksp
+ {0, SW3_CS15, SW2_CS15, SW1_CS15}, // Del
- {0, F_1, E_1, D_1}, // Tab
- {0, F_2, E_2, D_2}, // Q
- {0, F_3, E_3, D_3}, // W
- {0, F_4, E_4, D_4}, // E
- {0, F_5, E_5, D_5}, // R
- {0, F_6, E_6, D_6}, // T
- {0, F_7, E_7, D_7}, // Y
- {0, F_8, E_8, D_8}, // U
- {0, F_9, E_9, D_9}, // I
- {0, F_10, E_10, D_10}, // O
- {0, F_11, E_11, D_11}, // P
- {0, F_12, E_12, D_12}, // [
- {0, F_13, E_13, D_13}, // ]
- {0, F_14, E_14, D_14}, // Pipe
- {0, F_15, E_15, D_15}, // Home
+ {0, SW6_CS1, SW5_CS1, SW4_CS1}, // Tab
+ {0, SW6_CS2, SW5_CS2, SW4_CS2}, // Q
+ {0, SW6_CS3, SW5_CS3, SW4_CS3}, // W
+ {0, SW6_CS4, SW5_CS4, SW4_CS4}, // E
+ {0, SW6_CS5, SW5_CS5, SW4_CS5}, // R
+ {0, SW6_CS6, SW5_CS6, SW4_CS6}, // T
+ {0, SW6_CS7, SW5_CS7, SW4_CS7}, // Y
+ {0, SW6_CS8, SW5_CS8, SW4_CS8}, // U
+ {0, SW6_CS9, SW5_CS9, SW4_CS9}, // I
+ {0, SW6_CS10, SW5_CS10, SW4_CS10}, // O
+ {0, SW6_CS11, SW5_CS11, SW4_CS11}, // P
+ {0, SW6_CS12, SW5_CS12, SW4_CS12}, // [
+ {0, SW6_CS13, SW5_CS13, SW4_CS13}, // ]
+ {0, SW6_CS14, SW5_CS14, SW4_CS14}, // Pipe
+ {0, SW6_CS15, SW5_CS15, SW4_CS15}, // Home
- {0, I_1, H_1, G_1}, // Caps
- {0, I_2, H_2, G_2}, // A
- {0, I_3, H_3, G_3}, // S
- {0, I_4, H_4, G_4}, // D
- {0, I_5, H_5, G_5}, // F
- {0, I_6, H_6, G_6}, // G
- {0, I_7, H_7, G_7}, // H
- {0, I_8, H_8, G_8}, // J
- {0, I_9, H_9, G_9}, // K
- {0, I_10, H_10, G_10}, // L
- {0, I_11, H_11, G_11}, // :
- {0, I_12, H_12, G_12}, // '
- {0, I_14, H_14, G_14}, // Enter
- {0, I_15, H_15, G_15}, // PgUp
+ {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Caps
+ {0, SW9_CS2, SW8_CS2, SW7_CS2}, // A
+ {0, SW9_CS3, SW8_CS3, SW7_CS3}, // S
+ {0, SW9_CS4, SW8_CS4, SW7_CS4}, // D
+ {0, SW9_CS5, SW8_CS5, SW7_CS5}, // F
+ {0, SW9_CS6, SW8_CS6, SW7_CS6}, // G
+ {0, SW9_CS7, SW8_CS7, SW7_CS7}, // H
+ {0, SW9_CS8, SW8_CS8, SW7_CS8}, // J
+ {0, SW9_CS9, SW8_CS9, SW7_CS9}, // K
+ {0, SW9_CS10, SW8_CS10, SW7_CS10}, // L
+ {0, SW9_CS11, SW8_CS11, SW7_CS11}, // :
+ {0, SW9_CS12, SW8_CS12, SW7_CS12}, // '
+ {0, SW9_CS14, SW8_CS14, SW7_CS14}, // Enter
+ {0, SW9_CS15, SW8_CS15, SW7_CS15}, // PgUp
- {0, L_1, K_1, J_1}, // LShift
- {0, L_2, K_2, J_2}, // Z
- {0, L_3, K_3, J_3}, // X
- {0, L_4, K_4, J_4}, // C
- {0, L_5, K_5, J_5}, // V
- {0, L_6, K_6, J_6}, // B
- {0, L_7, K_7, J_7}, // N
- {0, L_8, K_8, J_8}, // M
- {0, L_9, K_9, J_9}, // <
- {0, L_10, K_10, J_10}, // >
- {0, L_11, K_11, J_11}, // ?
- {0, L_12, K_12, J_12}, // RShift
- {0, L_14, K_14, J_14}, // Up
- {0, L_15, K_15, J_15}, // PgOn
+ {0, SW12_CS1, SW11_CS1, SW10_CS1}, // LShift
+ {0, SW12_CS2, SW11_CS2, SW10_CS2}, // Z
+ {0, SW12_CS3, SW11_CS3, SW10_CS3}, // X
+ {0, SW12_CS4, SW11_CS4, SW10_CS4}, // C
+ {0, SW12_CS5, SW11_CS5, SW10_CS5}, // V
+ {0, SW12_CS6, SW11_CS6, SW10_CS6}, // B
+ {0, SW12_CS7, SW11_CS7, SW10_CS7}, // N
+ {0, SW12_CS8, SW11_CS8, SW10_CS8}, // M
+ {0, SW12_CS9, SW11_CS9, SW10_CS9}, // <
+ {0, SW12_CS10, SW11_CS10, SW10_CS10}, // >
+ {0, SW12_CS11, SW11_CS11, SW10_CS11}, // ?
+ {0, SW12_CS12, SW11_CS12, SW10_CS12}, // RShift
+ {0, SW12_CS14, SW11_CS14, SW10_CS14}, // Up
+ {0, SW12_CS15, SW11_CS15, SW10_CS15}, // PgOn
- {1, C_1, B_1, A_1}, // LCtrl
- {1, C_2, B_2, A_2}, // LAlt
- {1, C_3, B_3, A_3}, // Windows
- {1, C_6, B_6, A_6}, // Space
- {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus
- {1, C_11, B_11, A_11}, // Fn2/Fn1
- {1, C_12, B_12, A_12}, // RCtrl/Fn2
- {1, C_13, B_13, A_13}, // LEFT/RCtrl
- {1, C_14, B_14, A_14}, // DOWN
- {1, C_15, B_15, A_15} // RIGHT
+ {1, SW3_CS1, SW2_CS1, SW1_CS1}, // LCtrl
+ {1, SW3_CS2, SW2_CS2, SW1_CS2}, // LAlt
+ {1, SW3_CS3, SW2_CS3, SW1_CS3}, // Windows
+ {1, SW3_CS6, SW2_CS6, SW1_CS6}, // Space
+ {1, SW3_CS10, SW2_CS10, SW1_CS10}, // Fn1/RAlt hades/venus
+ {1, SW3_CS11, SW2_CS11, SW1_CS11}, // Fn2/Fn1
+ {1, SW3_CS12, SW2_CS12, SW1_CS12}, // RCtrl/Fn2
+ {1, SW3_CS13, SW2_CS13, SW1_CS13}, // LEFT/RCtrl
+ {1, SW3_CS14, SW2_CS14, SW1_CS14}, // DOWN
+ {1, SW3_CS15, SW2_CS15, SW1_CS15} // RIGHT
};
led_config_t g_led_config = {{
diff --git a/keyboards/durgod/dgk6x/hades_iso/config.h b/keyboards/durgod/dgk6x/hades_iso/config.h
index ed9494a990..f23b355905 100644
--- a/keyboards/durgod/dgk6x/hades_iso/config.h
+++ b/keyboards/durgod/dgk6x/hades_iso/config.h
@@ -16,7 +16,4 @@
#pragma once
-#define DRIVER_1_LED_TOTAL 59
-#define DRIVER_2_LED_TOTAL 10
-
#define CAPS_LED 29
diff --git a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c
index 42f43645f5..5ccc60e841 100644
--- a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c
+++ b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c
@@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -27,79 +27,79 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, C_1, B_1, A_1}, // Esc
- {0, C_2, B_2, A_2}, // 1
- {0, C_3, B_3, A_3}, // 2
- {0, C_4, B_4, A_4}, // 3
- {0, C_5, B_5, A_5}, // 4
- {0, C_6, B_6, A_6}, // 5
- {0, C_7, B_7, A_7}, // 6
- {0, C_8, B_8, A_8}, // 7
- {0, C_9, B_9, A_9}, // 8
- {0, C_10, B_10, A_10}, // 9
- {0, C_11, B_11, A_11}, // 0
- {0, C_12, B_12, A_12}, // -
- {0, C_13, B_13, A_13}, // =
- {0, C_14, B_14, A_14}, // Bksp
- {0, C_15, B_15, A_15}, // Del
+ {0, SW3_CS1, SW2_CS1, SW1_CS1}, // Esc
+ {0, SW3_CS2, SW2_CS2, SW1_CS2}, // 1
+ {0, SW3_CS3, SW2_CS3, SW1_CS3}, // 2
+ {0, SW3_CS4, SW2_CS4, SW1_CS4}, // 3
+ {0, SW3_CS5, SW2_CS5, SW1_CS5}, // 4
+ {0, SW3_CS6, SW2_CS6, SW1_CS6}, // 5
+ {0, SW3_CS7, SW2_CS7, SW1_CS7}, // 6
+ {0, SW3_CS8, SW2_CS8, SW1_CS8}, // 7
+ {0, SW3_CS9, SW2_CS9, SW1_CS9}, // 8
+ {0, SW3_CS10, SW2_CS10, SW1_CS10}, // 9
+ {0, SW3_CS11, SW2_CS11, SW1_CS11}, // 0
+ {0, SW3_CS12, SW2_CS12, SW1_CS12}, // -
+ {0, SW3_CS13, SW2_CS13, SW1_CS13}, // =
+ {0, SW3_CS14, SW2_CS14, SW1_CS14}, // Bksp
+ {0, SW3_CS15, SW2_CS15, SW1_CS15}, // Del
- {0, F_1, E_1, D_1}, // Tab
- {0, F_2, E_2, D_2}, // Q
- {0, F_3, E_3, D_3}, // W
- {0, F_4, E_4, D_4}, // E
- {0, F_5, E_5, D_5}, // R
- {0, F_6, E_6, D_6}, // T
- {0, F_7, E_7, D_7}, // Y
- {0, F_8, E_8, D_8}, // U
- {0, F_9, E_9, D_9}, // I
- {0, F_10, E_10, D_10}, // O
- {0, F_11, E_11, D_11}, // P
- {0, F_12, E_12, D_12}, // [
- {0, F_13, E_13, D_13}, // ]
- {0, F_15, E_15, D_15}, // Home
+ {0, SW6_CS1, SW5_CS1, SW4_CS1}, // Tab
+ {0, SW6_CS2, SW5_CS2, SW4_CS2}, // Q
+ {0, SW6_CS3, SW5_CS3, SW4_CS3}, // W
+ {0, SW6_CS4, SW5_CS4, SW4_CS4}, // E
+ {0, SW6_CS5, SW5_CS5, SW4_CS5}, // R
+ {0, SW6_CS6, SW5_CS6, SW4_CS6}, // T
+ {0, SW6_CS7, SW5_CS7, SW4_CS7}, // Y
+ {0, SW6_CS8, SW5_CS8, SW4_CS8}, // U
+ {0, SW6_CS9, SW5_CS9, SW4_CS9}, // I
+ {0, SW6_CS10, SW5_CS10, SW4_CS10}, // O
+ {0, SW6_CS11, SW5_CS11, SW4_CS11}, // P
+ {0, SW6_CS12, SW5_CS12, SW4_CS12}, // [
+ {0, SW6_CS13, SW5_CS13, SW4_CS13}, // ]
+ {0, SW6_CS15, SW5_CS15, SW4_CS15}, // Home
- {0, I_1, H_1, G_1}, // Caps
- {0, I_2, H_2, G_2}, // A
- {0, I_3, H_3, G_3}, // S
- {0, I_4, H_4, G_4}, // D
- {0, I_5, H_5, G_5}, // F
- {0, I_6, H_6, G_6}, // G
- {0, I_7, H_7, G_7}, // H
- {0, I_8, H_8, G_8}, // J
- {0, I_9, H_9, G_9}, // K
- {0, I_10, H_10, G_10}, // L
- {0, I_11, H_11, G_11}, // :
- {0, I_12, H_12, G_12}, // '
- {0, I_13, H_13, G_13}, // NUHS
- {0, I_14, H_14, G_14}, // Enter
- {0, I_15, H_15, G_15}, // PgUp
+ {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Caps
+ {0, SW9_CS2, SW8_CS2, SW7_CS2}, // A
+ {0, SW9_CS3, SW8_CS3, SW7_CS3}, // S
+ {0, SW9_CS4, SW8_CS4, SW7_CS4}, // D
+ {0, SW9_CS5, SW8_CS5, SW7_CS5}, // F
+ {0, SW9_CS6, SW8_CS6, SW7_CS6}, // G
+ {0, SW9_CS7, SW8_CS7, SW7_CS7}, // H
+ {0, SW9_CS8, SW8_CS8, SW7_CS8}, // J
+ {0, SW9_CS9, SW8_CS9, SW7_CS9}, // K
+ {0, SW9_CS10, SW8_CS10, SW7_CS10}, // L
+ {0, SW9_CS11, SW8_CS11, SW7_CS11}, // :
+ {0, SW9_CS12, SW8_CS12, SW7_CS12}, // '
+ {0, SW9_CS13, SW8_CS13, SW7_CS13}, // NUHS
+ {0, SW9_CS14, SW8_CS14, SW7_CS14}, // Enter
+ {0, SW9_CS15, SW8_CS15, SW7_CS15}, // PgUp
- {0, L_1, K_1, J_1}, // LShift
- {0, L_2, K_2, J_2}, // NUBS
- {0, L_3, K_3, J_3}, // Z
- {0, L_4, K_4, J_4}, // X
- {0, L_5, K_5, J_5}, // C
- {0, L_6, K_6, J_6}, // V
- {0, L_7, K_7, J_7}, // B
- {0, L_8, K_8, J_8}, // N
- {0, L_9, K_9, J_9}, // M
- {0, L_10, K_10, J_10}, // <
- {0, L_11, K_11, J_11}, // >
- {0, L_12, K_12, J_12}, // ?
- {0, L_13, K_13, J_13}, // RShift
- {0, L_14, K_14, J_14}, // Up
- {0, L_15, K_15, J_15}, // PgOn
+ {0, SW12_CS1, SW11_CS1, SW10_CS1}, // LShift
+ {0, SW12_CS2, SW11_CS2, SW10_CS2}, // NUBS
+ {0, SW12_CS3, SW11_CS3, SW10_CS3}, // Z
+ {0, SW12_CS4, SW11_CS4, SW10_CS4}, // X
+ {0, SW12_CS5, SW11_CS5, SW10_CS5}, // C
+ {0, SW12_CS6, SW11_CS6, SW10_CS6}, // V
+ {0, SW12_CS7, SW11_CS7, SW10_CS7}, // B
+ {0, SW12_CS8, SW11_CS8, SW10_CS8}, // N
+ {0, SW12_CS9, SW11_CS9, SW10_CS9}, // M
+ {0, SW12_CS10, SW11_CS10, SW10_CS10}, // <
+ {0, SW12_CS11, SW11_CS11, SW10_CS11}, // >
+ {0, SW12_CS12, SW11_CS12, SW10_CS12}, // ?
+ {0, SW12_CS13, SW11_CS13, SW10_CS13}, // RShift
+ {0, SW12_CS14, SW11_CS14, SW10_CS14}, // Up
+ {0, SW12_CS15, SW11_CS15, SW10_CS15}, // PgOn
- {1, C_1, B_1, A_1}, // LCtrl
- {1, C_2, B_2, A_2}, // LAlt
- {1, C_3, B_3, A_3}, // Windows
- {1, C_6, B_6, A_6}, // Space
- {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus
- {1, C_11, B_11, A_11}, // Fn2/Fn1
- {1, C_12, B_12, A_12}, // RCtrl/Fn2
- {1, C_13, B_13, A_13}, // LEFT/RCtrl
- {1, C_14, B_14, A_14}, // DOWN
- {1, C_15, B_15, A_15} // RIGHT
+ {1, SW3_CS1, SW2_CS1, SW1_CS1}, // LCtrl
+ {1, SW3_CS2, SW2_CS2, SW1_CS2}, // LAlt
+ {1, SW3_CS3, SW2_CS3, SW1_CS3}, // Windows
+ {1, SW3_CS6, SW2_CS6, SW1_CS6}, // Space
+ {1, SW3_CS10, SW2_CS10, SW1_CS10}, // Fn1/RAlt hades/venus
+ {1, SW3_CS11, SW2_CS11, SW1_CS11}, // Fn2/Fn1
+ {1, SW3_CS12, SW2_CS12, SW1_CS12}, // RCtrl/Fn2
+ {1, SW3_CS13, SW2_CS13, SW1_CS13}, // LEFT/RCtrl
+ {1, SW3_CS14, SW2_CS14, SW1_CS14}, // DOWN
+ {1, SW3_CS15, SW2_CS15, SW1_CS15} // RIGHT
};
#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/info.json b/keyboards/durgod/dgk6x/info.json
index a52d0a9b8f..b8d38e2d9f 100644
--- a/keyboards/durgod/dgk6x/info.json
+++ b/keyboards/durgod/dgk6x/info.json
@@ -5,7 +5,52 @@
"on_state": 0
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3733",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"processor": "STM32F072", // F070
"bootloader": "stm32-dfu",
diff --git a/keyboards/durgod/dgk6x/venus/config.h b/keyboards/durgod/dgk6x/venus/config.h
index ab3f57914e..a03084f2e6 100644
--- a/keyboards/durgod/dgk6x/venus/config.h
+++ b/keyboards/durgod/dgk6x/venus/config.h
@@ -16,9 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define DRIVER_1_LED_TOTAL 53
-#define DRIVER_2_LED_TOTAL 8
-#endif
-
#define CAPS_LED 28
diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c
index d48e95fb21..9bde901374 100644
--- a/keyboards/durgod/dgk6x/venus/venus.c
+++ b/keyboards/durgod/dgk6x/venus/venus.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -26,71 +26,71 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, C_1, B_1, A_1}, // Esc
- {0, C_2, B_2, A_2}, // 1
- {0, C_3, B_3, A_3}, // 2
- {0, C_4, B_4, A_4}, // 3
- {0, C_5, B_5, A_5}, // 4
- {0, C_6, B_6, A_6}, // 5
- {0, C_7, B_7, A_7}, // 6
- {0, C_8, B_8, A_8}, // 7
- {0, C_9, B_9, A_9}, // 8
- {0, C_10, B_10, A_10}, // 9
- {0, C_11, B_11, A_11}, // 0
- {0, C_12, B_12, A_12}, // -
- {0, C_13, B_13, A_13}, // =
- {0, C_14, B_14, A_14}, // Bksp
+ {0, SW3_CS1, SW2_CS1, SW1_CS1}, // Esc
+ {0, SW3_CS2, SW2_CS2, SW1_CS2}, // 1
+ {0, SW3_CS3, SW2_CS3, SW1_CS3}, // 2
+ {0, SW3_CS4, SW2_CS4, SW1_CS4}, // 3
+ {0, SW3_CS5, SW2_CS5, SW1_CS5}, // 4
+ {0, SW3_CS6, SW2_CS6, SW1_CS6}, // 5
+ {0, SW3_CS7, SW2_CS7, SW1_CS7}, // 6
+ {0, SW3_CS8, SW2_CS8, SW1_CS8}, // 7
+ {0, SW3_CS9, SW2_CS9, SW1_CS9}, // 8
+ {0, SW3_CS10, SW2_CS10, SW1_CS10}, // 9
+ {0, SW3_CS11, SW2_CS11, SW1_CS11}, // 0
+ {0, SW3_CS12, SW2_CS12, SW1_CS12}, // -
+ {0, SW3_CS13, SW2_CS13, SW1_CS13}, // =
+ {0, SW3_CS14, SW2_CS14, SW1_CS14}, // Bksp
- {0, F_1, E_1, D_1}, // Tab
- {0, F_2, E_2, D_2}, // Q
- {0, F_3, E_3, D_3}, // W
- {0, F_4, E_4, D_4}, // E
- {0, F_5, E_5, D_5}, // R
- {0, F_6, E_6, D_6}, // T
- {0, F_7, E_7, D_7}, // Y
- {0, F_8, E_8, D_8}, // U
- {0, F_9, E_9, D_9}, // I
- {0, F_10, E_10, D_10}, // O
- {0, F_11, E_11, D_11}, // P
- {0, F_12, E_12, D_12}, // [
- {0, F_13, E_13, D_13}, // ]
- {0, F_14, E_14, D_14}, // Pipe
+ {0, SW6_CS1, SW5_CS1, SW4_CS1}, // Tab
+ {0, SW6_CS2, SW5_CS2, SW4_CS2}, // Q
+ {0, SW6_CS3, SW5_CS3, SW4_CS3}, // W
+ {0, SW6_CS4, SW5_CS4, SW4_CS4}, // E
+ {0, SW6_CS5, SW5_CS5, SW4_CS5}, // R
+ {0, SW6_CS6, SW5_CS6, SW4_CS6}, // T
+ {0, SW6_CS7, SW5_CS7, SW4_CS7}, // Y
+ {0, SW6_CS8, SW5_CS8, SW4_CS8}, // U
+ {0, SW6_CS9, SW5_CS9, SW4_CS9}, // I
+ {0, SW6_CS10, SW5_CS10, SW4_CS10}, // O
+ {0, SW6_CS11, SW5_CS11, SW4_CS11}, // P
+ {0, SW6_CS12, SW5_CS12, SW4_CS12}, // [
+ {0, SW6_CS13, SW5_CS13, SW4_CS13}, // ]
+ {0, SW6_CS14, SW5_CS14, SW4_CS14}, // Pipe
- {0, I_1, H_1, G_1}, // Caps
- {0, I_2, H_2, G_2}, // A
- {0, I_3, H_3, G_3}, // S
- {0, I_4, H_4, G_4}, // D
- {0, I_5, H_5, G_5}, // F
- {0, I_6, H_6, G_6}, // G
- {0, I_7, H_7, G_7}, // H
- {0, I_8, H_8, G_8}, // J
- {0, I_9, H_9, G_9}, // K
- {0, I_10, H_10, G_10}, // L
- {0, I_11, H_11, G_11}, // :
- {0, I_12, H_12, G_12}, // '
- {0, I_14, H_14, G_14}, // Enter
+ {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Caps
+ {0, SW9_CS2, SW8_CS2, SW7_CS2}, // A
+ {0, SW9_CS3, SW8_CS3, SW7_CS3}, // S
+ {0, SW9_CS4, SW8_CS4, SW7_CS4}, // D
+ {0, SW9_CS5, SW8_CS5, SW7_CS5}, // F
+ {0, SW9_CS6, SW8_CS6, SW7_CS6}, // G
+ {0, SW9_CS7, SW8_CS7, SW7_CS7}, // H
+ {0, SW9_CS8, SW8_CS8, SW7_CS8}, // J
+ {0, SW9_CS9, SW8_CS9, SW7_CS9}, // K
+ {0, SW9_CS10, SW8_CS10, SW7_CS10}, // L
+ {0, SW9_CS11, SW8_CS11, SW7_CS11}, // :
+ {0, SW9_CS12, SW8_CS12, SW7_CS12}, // '
+ {0, SW9_CS14, SW8_CS14, SW7_CS14}, // Enter
- {0, L_1, K_1, J_1}, // LShift
- {0, L_2, K_2, J_2}, // Z
- {0, L_3, K_3, J_3}, // X
- {0, L_4, K_4, J_4}, // C
- {0, L_5, K_5, J_5}, // V
- {0, L_6, K_6, J_6}, // B
- {0, L_7, K_7, J_7}, // N
- {0, L_8, K_8, J_8}, // M
- {0, L_9, K_9, J_9}, // <
- {0, L_10, K_10, J_10}, // >
- {0, L_11, K_11, J_11}, // ?
- {0, L_12, K_12, J_12}, // RShift
+ {0, SW12_CS1, SW11_CS1, SW10_CS1}, // LShift
+ {0, SW12_CS2, SW11_CS2, SW10_CS2}, // Z
+ {0, SW12_CS3, SW11_CS3, SW10_CS3}, // X
+ {0, SW12_CS4, SW11_CS4, SW10_CS4}, // C
+ {0, SW12_CS5, SW11_CS5, SW10_CS5}, // V
+ {0, SW12_CS6, SW11_CS6, SW10_CS6}, // B
+ {0, SW12_CS7, SW11_CS7, SW10_CS7}, // N
+ {0, SW12_CS8, SW11_CS8, SW10_CS8}, // M
+ {0, SW12_CS9, SW11_CS9, SW10_CS9}, // <
+ {0, SW12_CS10, SW11_CS10, SW10_CS10}, // >
+ {0, SW12_CS11, SW11_CS11, SW10_CS11}, // ?
+ {0, SW12_CS12, SW11_CS12, SW10_CS12}, // RShift
- {1, C_1, B_1, A_1}, // LCtrl
- {1, C_2, B_2, A_2}, // LAlt
- {1, C_3, B_3, A_3}, // Windows
- {1, C_6, B_6, A_6}, // Space
- {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus
- {1, C_11, B_11, A_11}, // Fn2/Fn1
- {1, C_12, B_12, A_12}, // RCtrl/Fn2
- {1, C_13, B_13, A_13}, // LEFT/RCtrl
+ {1, SW3_CS1, SW2_CS1, SW1_CS1}, // LCtrl
+ {1, SW3_CS2, SW2_CS2, SW1_CS2}, // LAlt
+ {1, SW3_CS3, SW2_CS3, SW1_CS3}, // Windows
+ {1, SW3_CS6, SW2_CS6, SW1_CS6}, // Space
+ {1, SW3_CS10, SW2_CS10, SW1_CS10}, // Fn1/RAlt hades/venus
+ {1, SW3_CS11, SW2_CS11, SW1_CS11}, // Fn2/Fn1
+ {1, SW3_CS12, SW2_CS12, SW1_CS12}, // RCtrl/Fn2
+ {1, SW3_CS13, SW2_CS13, SW1_CS13}, // LEFT/RCtrl
};
led_config_t g_led_config = { {
diff --git a/keyboards/dz60/keymaps/crd_ansi/keymap.c b/keyboards/dz60/keymaps/crd_ansi/keymap.c
deleted file mode 100644
index 7bf564eecb..0000000000
--- a/keyboards/dz60/keymaps/crd_ansi/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keyboard_layers {
- _BL = 0, // Base Layer
- _FL // Function Layer
-};
-
-// Custom #defined keycodes (shorter macros for readability)
-#define KC_CTES CTL_T(KC_ESC)
-#define KC_RSUP RSFT_T(KC_UP)
-#define KC_FNLT LT(_FL, KC_LEFT)
-#define KC_RADN RALT_T(KC_DOWN)
-#define KC_RCRT RCTL_T(KC_RIGHT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CTES, KC_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_RSUP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_FNLT, KC_RADN, KC_RCRT
- ),
- [_FL] = LAYOUT_60_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/dz60/keymaps/crd_tsangan/keymap.c b/keyboards/dz60/keymaps/crd_tsangan/keymap.c
deleted file mode 100644
index 7f0c9f4425..0000000000
--- a/keyboards/dz60/keymaps/crd_tsangan/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keyboard_layers {
- _BL = 0, // Base Layer
- _FL // Function Layer
-};
-
-// Custom #defined keycodes (shorter macros for readability)
-#define KC_CTES CTL_T(KC_ESC)
-#define KC_RSUP RSFT_T(KC_UP)
-#define KC_RGLT RGUI_T(KC_LEFT)
-#define KC_RADN RALT_T(KC_DOWN)
-#define KC_RCRT RCTL_T(KC_RIGHT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_ESC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CTES, KC_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_RSUP, MO(_FL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGLT, KC_RADN, KC_RCRT
- ),
- [_FL] = LAYOUT_60_tsangan_hhkb(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
- _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, KC_DEL,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/dz60/keymaps/devinceble_wkl_tofu/keymap.c b/keyboards/dz60/keymaps/devinceble_wkl_tofu/keymap.c
deleted file mode 100644
index 5135a7b8ea..0000000000
--- a/keyboards/dz60/keymaps/devinceble_wkl_tofu/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2019 Devinceble AKA Vimwarrior
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LCTL, KC_LGUI, KC_SPC, KC_RCTL, KC_RGUI, MO(2)
- ),
- [1] = LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_60_tsangan_hhkb(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS,
- KC_CAPS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN,BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/dz60/keymaps/devinceble_wkl_tofu/readme.md b/keyboards/dz60/keymaps/devinceble_wkl_tofu/readme.md
deleted file mode 100644
index 221ce8061e..0000000000
--- a/keyboards/dz60/keymaps/devinceble_wkl_tofu/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Devinceble AKA Vimwarrior WKL Tofu Keymap
-
-Build Hex File:
-
- make dz60:devinceble_wkl_tofu
-
-Flash Keyboard
-
- make dz60:devinceble_wkl_tofu:flash
diff --git a/keyboards/dz60/keymaps/devinceble_wkl_tofu/rules.mk b/keyboards/dz60/keymaps/devinceble_wkl_tofu/rules.mk
deleted file mode 100644
index 522abf46b1..0000000000
--- a/keyboards/dz60/keymaps/devinceble_wkl_tofu/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/dz60/keymaps/iso_de_andys8/README.md b/keyboards/dz60/keymaps/iso_de_andys8/README.md
deleted file mode 100644
index 504726adf5..0000000000
--- a/keyboards/dz60/keymaps/iso_de_andys8/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# ISO DE layout
-
-This layout is ISO-DE and similar to a standard 60 ISO layout. There are vim style arrow keys on the function layer. The bottom right is the expected default.
diff --git a/keyboards/dz60/keymaps/iso_de_andys8/keymap.c b/keyboards/dz60/keymaps/iso_de_andys8/keymap.c
deleted file mode 100644
index dfd5e75b54..0000000000
--- a/keyboards/dz60/keymaps/iso_de_andys8/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* ISO 60 layout by andys8 (ISO German keyboard layout shown)
- *
- * This layout starts from a standard ISO 60% layout, and adds a function layer.
- *
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Backspace |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | Q | W | E | R | T | Z | U | I | O | P | Ä | + * | Enter |
- * |---------------------------------------------------------------------------------- |
- * | Layer_1 | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
- * |-----------------------------------------------------------------------------------------|
- * | Shift | < > | Y | X | C | V | B | N | M | , ; | . : | - _ | Shift |
- * |-----------------------------------------------------------------------------------------|
- * | LCtl | LGUI | LAlt | Space | RAlt | RGUI | App | RCtl |
- * `-----------------------------------------------------------------------------------------'
- */
- LAYOUT_60_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- 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_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
- ),
-
-
- LAYOUT_60_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_DEL, KC_NO, KC_NO,
- KC_LSFT, BL_TOGG, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
-};
diff --git a/keyboards/dz60/keymaps/iso_de_andys8/rules.mk b/keyboards/dz60/keymaps/iso_de_andys8/rules.mk
deleted file mode 100644
index 0aa5b79460..0000000000
--- a/keyboards/dz60/keymaps/iso_de_andys8/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-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
-AUTO_SHIFT_ENABLE = no # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
-TAP_DANCE_ENABLE = no
diff --git a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c b/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c
deleted file mode 100644
index 76a93b50be..0000000000
--- a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright 2021 Tobias Minn (@0x544D)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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_idx{
- _BL = 0, // base layer
- _FN1, // function layer 1
- _FN2 // function layer 2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* ISO 60 layout by 0x544D (ISO German keyboard layout shown)
- *
- * Keyboard uses a HW layout with dedicated arrow keys. To accomplish that, the key on the
- * left of the "UP arrow" key serves a dual purpose as "-_" when pressed short and as "RShift" key
- * when you hold the key. To trigger the "underscore" you need to hold LShift and press "-_".
- *
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Backspace |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + * | Enter |
- * |---------------------------------------------------------------------------------- |
- * | MO(2) | A | S | D | F | G | H | J | K | L | Ö | Ä | # ' | |
- * |-----------------------------------------------------------------------------------------|
- * | Shift | < > | Y | X | C | V | B | N | M | , ; | .: |-_ /Shift | Up | Del |
- * |-----------------------------------------------------------------------------------------|
- * | LCtl | LGUI | LAlt | Space |RAlt| MO(1)| Lft | Dwn | Rgh |
- * `-----------------------------------------------------------------------------------------'
- */
- [_BL] = LAYOUT_60_iso_arrow_one_bksp(
- 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,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Funtion Layer 1: Media Controls with arrow keys / RShift (Play Pause), F keys,
- * RGB backlight control
- * ,-----------------------------------------------------------------------------------------.
- * | °^ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
- * |-----------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |---------------------------------------------------------------------------------- |
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------|
- * | | | | | | RGB-|RGB_T| RGB+| | | | MPlay |Vol_U| |
- * |-----------------------------------------------------------------------------------------|
- * | | | | | |Trans| MPrv|Vol_D| MNxt|
- * `-----------------------------------------------------------------------------------------'
- */
- [_FN1] = LAYOUT_60_iso_arrow_one_bksp(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_RMOD,RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_VOLU, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
- ),
-
-
- /* Funtion Layer 2: Media Controls left hand, F keys, Page up/down, Home/end, Program/QK_BOOT
- * ,-----------------------------------------------------------------------------------------.
- * | °^ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
- * |-----------------------------------------------------------------------------------------|
- * | | |Vol_D|Vol_U| | | | | | |QK_BOOT| | | |
- * |---------------------------------------------------------------------------------- |
- * | Trans |MPrv |MPlay| MNxt| | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |PGUP | |
- * |-----------------------------------------------------------------------------------------|
- * | | | | | | | Home|PGDN | End |
- * `-----------------------------------------------------------------------------------------'
- */
- [_FN2] = LAYOUT_60_iso_arrow_one_bksp(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO,
- KC_TRNS, KC_MRWD, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END
- )
-}; \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/readme.md b/keyboards/dz60/keymaps/iso_de_arrow_0x544d/readme.md
deleted file mode 100644
index a3d58c159f..0000000000
--- a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# DZ60 - ISO DE Arrow Layout
-
-![DZ60 ISO DE Arrow Layout Image](https://i.imgur.com/rfQRr7n.png)
-
-This is a modified version of the ISO DE layout for the DZ60 board. It has dedicated
-arrow keys and standard spacebar and backspace keys.
-
-The keyboard uses a hardware layout with dedicated arrow keys. To accomplish that, the key on the
-left of the "UP arrow" key serves a dual purpose as "-\_" when pressed short and as "RShift" key
-when you hold the key. To trigger the "underscore" you need to hold LShift and press "-\_".
diff --git a/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c b/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c
deleted file mode 100644
index 3ae3b75f7d..0000000000
--- a/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- /* BASE LAYER
- *
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \| | Del |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- * |-----------------------------------------------------------------------------------------+
- * | LCTRL | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | LShift | Z | X | C | V | B | N | M | , | . | / | RShift | FN1 |
- * |-----------------------------------------------------------------------------------------+
- * | LGUI | LAlt | Space | RAlt | RCTRL |
- * `-----------------------------------------------------------------------------------------'
- */
- LAYOUT_60_hhkb(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL),
-
-
-/* FN1 LAYER
- *
- * ,---------------------------------------------------------------------------------------------------------------------
- * | KC_GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | QK_BOOT |
- * |---------------------------------------------------------------------------------------------------------------------+
- * | RGB_TOG | _ | _ | _ | _ | _ | _ | _ | PSCR | SLCK | PAUS | UP | _ | CLR |
- * |---------------------------------------------------------------------------------------------------------------------+
- * | CAPS | VOLD | VOLU | MUTE | _ | _ | PAST | PSLS | HOME | PGUP | LEFT | RIGHT | RETURN |
- * |---------------------------------------------------------------------------------------------------------------------+
- * | _ | _ | _ | _ | _ | _ | PPLS | PMNS | END | PGDN | DOWN | _ | _ |
- * |---------------------------------------------------------------------------------------------------------------------+
- * | _ | _ | _ | APP | _ |
- * `---------------------------------------------------------------------------------------------------------------------'
- */
- LAYOUT_60_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, QK_BOOT,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR,
- KC_CAPS, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_RETURN,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, KC_APP, _______),
-};
diff --git a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso/keymap.c
deleted file mode 100644
index e71bac47de..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright 2020 Oliver Granlund
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-/* ISO 60 layout by olligranlund
-*
-* This layout starts from a standard ISO 60% layout, and adds one function layer.
-* If you wish to only have one wide spacebar, you can easily do that by dismissing the "side" spacebar switches.
-*
-* Default Layer
-* ,-----------------------------------------------------------------------------------------.
-* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Del | BSPC|
-* |-----------------------------------------------------------------------------------------|
-* | Tab | Q | W | E | R | T | Y | U | I | O | P | Ä | + * | Enter |
-* |---------------------------------------------------------------------------------- |
-* | FN | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
-* |-----------------------------------------------------------------------------------------|
-* | Shift | < > | Z | X | C | V | B | N | M | , ; | . : | - _ | Shift |Shift|
-* |-----------------------------------------------------------------------------------------|
-* | LCtl | LGUI | LAlt | Space | Space | Space | RAlt | FN | App | RCtl |
-* `-----------------------------------------------------------------------------------------'
-*/
-
-enum custom_keycodes {
- EMOJI_DANCERS = SAFE_RANGE,
- EMOJI_PERJANTAI,
- EMOJI_THISISFINE,
- EMOJI_KOVAAAJOA,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case EMOJI_DANCERS:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">dancers>");
- }
- break;
-
- case EMOJI_PERJANTAI:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">perjantaideploy>");
- }
- break;
-
- case EMOJI_THISISFINE:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">this/is/fine>");
- }
- break;
-
- case EMOJI_KOVAAAJOA:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">kovaaajoa>");
- }
- break;
- }
-
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0 Base
- LAYOUT_60_iso_split_space_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_RCTL),
-
- // 1 Base with arrows
- LAYOUT_60_iso_split_space_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-
- // 2 FN
- LAYOUT_60_iso_split_space_bs_rshift(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL),
-
- // 3 FN with RGB and macros
- LAYOUT_60_iso_split_space_bs_rshift(
- KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
- KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL),
-
-};
diff --git a/keyboards/dz60/keymaps/olligranlund_iso/readme.md b/keyboards/dz60/keymaps/olligranlund_iso/readme.md
deleted file mode 100644
index 77869e4361..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# DZ60 with splitted parts with VIA support
-### by Oliver Granlund
-
-![Finished product](https://i.imgur.com/HlEo5Ygl.jpg)
-
-This is still under progress, but currently works on Windows as a daily driver. \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/olligranlund_iso/rules.mk b/keyboards/dz60/keymaps/olligranlund_iso/rules.mk
deleted file mode 100644
index 9008ce984f..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-EXTRAKEY_ENABLE = yes
-VIA_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c
deleted file mode 100644
index 6aede3f13f..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright 2020 Oliver Granlund
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-/* ISO 60 layout by olligranlund
-*
-* This layout starts from a standard ISO 60% layout, and adds one function layer.
-* If you wish to only have one wide spacebar, you can easily do that by dismissing the "side" spacebar switches.
-*
-* Default Layer
-* ,-----------------------------------------------------------------------------------------.
-* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Del | BSPC|
-* |-----------------------------------------------------------------------------------------|
-* | Tab | Q | W | E | R | T | Y | U | I | O | P | Ä | + * | Enter |
-* |---------------------------------------------------------------------------------- |
-* | FN | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
-* |-----------------------------------------------------------------------------------------|
-* | Shift | < > | Z | X | C | V | B | N | M | , ; | . : | - _ | Shift |Shift|
-* |-----------------------------------------------------------------------------------------|
-* | LCtl | LGUI | LAlt | Space | Space | Space | RAlt | FN | App | RCtl | |
-* `-----------------------------------------------------------------------------------------'
-*/
-
-enum custom_keycodes {
- EMOJI_DANCERS = SAFE_RANGE,
- EMOJI_PERJANTAI,
- EMOJI_THISISFINE,
- EMOJI_KOVAAAJOA,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case EMOJI_DANCERS:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">dancers>");
- }
- break;
-
- case EMOJI_PERJANTAI:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">perjantaideploy>");
- }
- break;
-
- case EMOJI_THISISFINE:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">this/is/fine>");
- }
- break;
-
- case EMOJI_KOVAAAJOA:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING(">kovaaajoa>");
- }
- break;
- }
-
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0 Base
- LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_PSCR, KC_RCTL),
-
- // 1 Base with arrows
- LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_LEFT, KC_DOWN, KC_RGHT),
-
- // 2 FN
- LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL),
-
- // 3 FN with RGB and macros
- LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
- KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
- KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL),
-
-};
diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md b/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md
deleted file mode 100644
index 1d81116af8..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# DZ60 with splitted parts with VIA support
-### by Oliver Granlund
-
-![Finished product](https://i.imgur.com/AT1Lyrxl.jpg)
-
-This is still under progress, but currently works on Windows as a daily driver. Also added macros for Slack emojis \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk b/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk
deleted file mode 100644
index 9008ce984f..0000000000
--- a/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-EXTRAKEY_ENABLE = yes
-VIA_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/dztech/duo_s/config.h b/keyboards/dztech/duo_s/config.h
index 361706e576..14d66caf12 100644
--- a/keyboards/dztech/duo_s/config.h
+++ b/keyboards/dztech/duo_s/config.h
@@ -17,7 +17,6 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-#define RGBLIGHT_DEFAULT_SPD 15
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/dztech/duo_s/info.json b/keyboards/dztech/duo_s/info.json
index 0277675018..ef5af799be 100644
--- a/keyboards/dztech/duo_s/info.json
+++ b/keyboards/dztech/duo_s/info.json
@@ -25,6 +25,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c
index 826e3502eb..207fccd4f9 100644
--- a/keyboards/dztech/dz60rgb/dz60rgb.c
+++ b/keyboards/dztech/dz60rgb/dz60rgb.c
@@ -1,74 +1,74 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_14, J_14, L_14 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
- { 0, K_7, J_7, L_7 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
- { 0, E_14, D_14, F_14 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
- { 0, B_14, A_14, C_14 },
- { 0, B_13, A_13, C_13 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
- { 0, B_15, A_15, C_15 },
- { 0, E_13, D_13, F_13 },
- { 0, B_12, A_12, C_12 },
- { 0, E_15, D_15, F_15 },
- { 0, H_15, G_15, I_15 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 },
- { 0, H_16, G_16, I_16 },
- { 0, K_16, J_16, L_16 }
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h
index af72678922..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb/v1/config.h
+++ b/keyboards/dztech/dz60rgb/v1/config.h
@@ -1,60 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 63
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb/v1/info.json b/keyboards/dztech/dz60rgb/v1/info.json
index 0033c3acc7..8a9801c4f3 100644
--- a/keyboards/dztech/dz60rgb/v1/info.json
+++ b/keyboards/dztech/dz60rgb/v1/info.json
@@ -4,7 +4,55 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3733",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h
index 2470e7b3f9..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb/v2/config.h
+++ b/keyboards/dztech/dz60rgb/v2/config.h
@@ -1,58 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 63
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb/v2/info.json b/keyboards/dztech/dz60rgb/v2/info.json
index 4801792d98..c3e1837dbd 100644
--- a/keyboards/dztech/dz60rgb/v2/info.json
+++ b/keyboards/dztech/dz60rgb/v2/info.json
@@ -4,7 +4,38 @@
"device_version": "2.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h
index 05cfa7d4e1..5d2ea692ed 100644
--- a/keyboards/dztech/dz60rgb/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb/v2_1/config.h
@@ -16,59 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 63
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb/v2_1/info.json b/keyboards/dztech/dz60rgb/v2_1/info.json
index 9028f69d4f..1d97037c31 100644
--- a/keyboards/dztech/dz60rgb/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb/v2_1/info.json
@@ -4,7 +4,37 @@
"device_version": "2.1.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations":{
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
index 5c06922028..cdc5148e11 100644
--- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
+++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
@@ -1,72 +1,72 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_14, J_14, L_14 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
- { 0, K_7, J_7, L_7 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
- { 0, E_14, D_14, F_14 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
- { 0, B_13, A_13, C_13 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
- { 0, B_15, A_15, C_15 },
- { 0, E_13, D_13, F_13 },
- { 0, B_12, A_12, C_12 },
- { 0, E_15, D_15, F_15 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 },
- { 0, H_16, G_16, I_16 },
- { 0, K_16, J_16, L_16 }
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h
index 674871ec49..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h
@@ -1,60 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 61
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/info.json b/keyboards/dztech/dz60rgb_ansi/v1/info.json
index 9c8b271cc9..d09c967d00 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v1/info.json
@@ -4,7 +4,55 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3733",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h
index 0b458818bc..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h
@@ -1,58 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 61
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/info.json b/keyboards/dztech/dz60rgb_ansi/v2/info.json
index cc239f74b3..5769daefef 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v2/info.json
@@ -4,7 +4,40 @@
"device_version": "2.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_splash": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
index 75ccef8193..7cc462cbae 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
@@ -16,59 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// # define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 61
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
index edd27d4577..649ea2e261 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
@@ -4,7 +4,37 @@
"device_version": "2.1.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
index d6506389a6..b5af34be38 100644
--- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
+++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
@@ -1,73 +1,73 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, H_15, G_15, I_15 },
- { 0, K_14, J_14, L_14 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
- { 0, K_7, J_7, L_7 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
- { 0, E_14, D_14, F_14 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
- { 0, B_14, A_14, C_14 },
- { 0, B_13, A_13, C_13 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
- { 0, B_15, A_15, C_15 },
- { 0, E_13, D_13, F_13 },
- { 0, B_12, A_12, C_12 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 },
- { 0, H_16, G_16, I_16 },
- { 0, K_16, J_16, L_16 }
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h
index ac79efd26c..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h
@@ -1,60 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 62
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/info.json b/keyboards/dztech/dz60rgb_wkl/v1/info.json
index 0a61ae0d83..320d412aae 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v1/info.json
@@ -4,7 +4,55 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3733",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h
index a341a18e0d..130f99d7b7 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h
@@ -1,55 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 62
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/info.json b/keyboards/dztech/dz60rgb_wkl/v2/info.json
index adc6fb3b4c..f7d6acff0c 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v2/info.json
@@ -4,7 +4,36 @@
"device_version": "2.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_splash": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
index 13169e21f5..c83555d730 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
@@ -16,59 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 62
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
index cea77d59cf..5a3cc63602 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
@@ -4,7 +4,37 @@
"device_version": "2.1.0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_splash": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h
index edfc7b7171..970fce9d72 100644
--- a/keyboards/dztech/dz64rgb/config.h
+++ b/keyboards/dztech/dz64rgb/config.h
@@ -16,39 +16,8 @@
#pragma once
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
+
#define USB_SUSPEND_WAKEUP_DELAY 5000
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define RGB_MATRIX_LED_COUNT 64
-#endif
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/dztech/dz64rgb/dz64rgb.c b/keyboards/dztech/dz64rgb/dz64rgb.c
index 561a9727e5..e2512c72a5 100644
--- a/keyboards/dztech/dz64rgb/dz64rgb.c
+++ b/keyboards/dztech/dz64rgb/dz64rgb.c
@@ -17,75 +17,75 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_14, J_14, L_14 },
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
- { 0, K_7, J_7, L_7 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
- { 0, E_14, D_14, F_14 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
- { 0, B_14, A_14, C_14 },
- { 0, B_13, A_13, C_13 },
- { 0, B_12, A_12, C_12 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
- { 0, B_15, A_15, C_15 },
- { 0, E_13, D_13, F_13 },
- { 0, K_15, J_15, L_15 },
- { 0, E_15, D_15, F_15 },
- { 0, H_15, G_15, I_15 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 },
- { 0, H_16, G_16, I_16 },
- { 0, K_16, J_16, L_16 }
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json
index ca2dd46bd2..b568170e14 100644
--- a/keyboards/dztech/dz64rgb/info.json
+++ b/keyboards/dztech/dz64rgb/info.json
@@ -9,7 +9,39 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h
index b9203346dd..9cf952815d 100644
--- a/keyboards/dztech/dz65rgb/v1/config.h
+++ b/keyboards/dztech/dz65rgb/v1/config.h
@@ -15,64 +15,5 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 35
-# define DRIVER_2_LED_TOTAL 33
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
diff --git a/keyboards/dztech/dz65rgb/v1/info.json b/keyboards/dztech/dz65rgb/v1/info.json
index 6b418b8cd6..98c69134eb 100644
--- a/keyboards/dztech/dz65rgb/v1/info.json
+++ b/keyboards/dztech/dz65rgb/v1/info.json
@@ -4,7 +4,45 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3731",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"],
diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c
index a0a355e120..6e8cf96e4c 100644
--- a/keyboards/dztech/dz65rgb/v1/v1.c
+++ b/keyboards/dztech/dz65rgb/v1/v1.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C8_8, C7_8, C6_8 },
{ 0, C9_8, C7_7, C6_7 },
{ 0, C9_7, C8_7, C6_6 },
diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h
index 600687c245..911d21179d 100644
--- a/keyboards/dztech/dz65rgb/v2/config.h
+++ b/keyboards/dztech/dz65rgb/v2/config.h
@@ -15,64 +15,5 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 35
-# define DRIVER_2_LED_TOTAL 33
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
diff --git a/keyboards/dztech/dz65rgb/v2/info.json b/keyboards/dztech/dz65rgb/v2/info.json
index e52584f724..16919905d8 100644
--- a/keyboards/dztech/dz65rgb/v2/info.json
+++ b/keyboards/dztech/dz65rgb/v2/info.json
@@ -4,7 +4,45 @@
"device_version": "2.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3731",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c
index 7754bc4ee5..a9f7fc104f 100644
--- a/keyboards/dztech/dz65rgb/v2/v2.c
+++ b/keyboards/dztech/dz65rgb/v2/v2.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C8_8, C7_8, C6_8 },
{ 0, C9_8, C7_7, C6_7 },
{ 0, C9_7, C8_7, C6_6 },
diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h
index 1398a378f8..0c4d1c9d27 100755
--- a/keyboards/dztech/dz65rgb/v3/config.h
+++ b/keyboards/dztech/dz65rgb/v3/config.h
@@ -16,63 +16,8 @@
#pragma once
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+
#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define USB_SUSPEND_WAKEUP_DELAY 5000
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-# define RGB_MATRIX_LED_COUNT 68
-# define DRIVER_INDICATOR_LED_TOTAL 0
#endif
diff --git a/keyboards/dztech/dz65rgb/v3/info.json b/keyboards/dztech/dz65rgb/v3/info.json
index ccc24b724e..ea7390ee9e 100644
--- a/keyboards/dztech/dz65rgb/v3/info.json
+++ b/keyboards/dztech/dz65rgb/v3/info.json
@@ -4,7 +4,58 @@
"device_version": "3.0.0"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c
index 0fb8ba49de..bf54a8cdfc 100755
--- a/keyboards/dztech/dz65rgb/v3/v3.c
+++ b/keyboards/dztech/dz65rgb/v3/v3.c
@@ -18,79 +18,79 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
- {0, CS24_SW1, CS23_SW1, CS22_SW1},
- {0, CS24_SW2, CS23_SW2, CS22_SW2},
- {0, CS24_SW3, CS23_SW3, CS22_SW3},
- {0, CS24_SW4, CS23_SW4, CS22_SW4},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
- {0, CS24_SW6, CS23_SW6, CS22_SW6},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
+ {0, SW1_CS24, SW1_CS23, SW1_CS22},
+ {0, SW2_CS24, SW2_CS23, SW2_CS22},
+ {0, SW3_CS24, SW3_CS23, SW3_CS22},
+ {0, SW4_CS24, SW4_CS23, SW4_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
+ {0, SW6_CS24, SW6_CS23, SW6_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
- {0, CS30_SW6, CS29_SW6, CS28_SW6},
- {0, CS30_SW7, CS29_SW7, CS28_SW7},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
+ {0, SW6_CS30, SW6_CS29, SW6_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
- {0, CS33_SW5, CS32_SW5, CS31_SW5},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+ {0, SW5_CS33, SW5_CS32, SW5_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS36_SW1, CS35_SW1, CS34_SW1},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW1_CS36, SW1_CS35, SW1_CS34},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS39_SW1, CS38_SW1, CS37_SW1},
- {0, CS39_SW2, CS38_SW2, CS37_SW2},
- {0, CS39_SW3, CS38_SW3, CS37_SW3},
- {0, CS39_SW4, CS38_SW4, CS37_SW4},
- {0, CS39_SW5, CS38_SW5, CS37_SW5},
- {0, CS39_SW7, CS38_SW7, CS37_SW7}
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW1_CS39, SW1_CS38, SW1_CS37},
+ {0, SW2_CS39, SW2_CS38, SW2_CS37},
+ {0, SW3_CS39, SW3_CS38, SW3_CS37},
+ {0, SW4_CS39, SW4_CS38, SW4_CS37},
+ {0, SW5_CS39, SW5_CS38, SW5_CS37},
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}
};
led_config_t g_led_config = { {
diff --git a/keyboards/dztech/endless80/config.h b/keyboards/dztech/endless80/config.h
index a8851d8913..8d6b35eae4 100644
--- a/keyboards/dztech/endless80/config.h
+++ b/keyboards/dztech/endless80/config.h
@@ -16,4 +16,3 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-#define RGBLIGHT_DEFAULT_SPD 10
diff --git a/keyboards/dztech/endless80/info.json b/keyboards/dztech/endless80/info.json
index 2391faf495..4572b091fa 100644
--- a/keyboards/dztech/endless80/info.json
+++ b/keyboards/dztech/endless80/info.json
@@ -37,6 +37,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 10
}
},
"processor": "atmega32u4",
diff --git a/keyboards/dztech/tofu/ii/v1/config.h b/keyboards/dztech/tofu/ii/v1/config.h
index 36741e1168..45576fcdac 100644
--- a/keyboards/dztech/tofu/ii/v1/config.h
+++ b/keyboards/dztech/tofu/ii/v1/config.h
@@ -22,66 +22,9 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
+#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
+
#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define USB_SUSPEND_WAKEUP_DELAY 5000
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
-# define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 46
-# define DRIVER_2_LED_TOTAL 20
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif
diff --git a/keyboards/dztech/tofu/ii/v1/info.json b/keyboards/dztech/tofu/ii/v1/info.json
index 2eac06f6fd..60ccc5ec9b 100644
--- a/keyboards/dztech/tofu/ii/v1/info.json
+++ b/keyboards/dztech/tofu/ii/v1/info.json
@@ -16,6 +16,54 @@
},
"processor": "RP2040",
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "is31fl3737",
"layout": [
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
@@ -84,7 +132,11 @@
{"flags": 1, "matrix": [4, 12], "x": 195, "y": 64},
{"flags": 1, "matrix": [4, 13], "x": 210, "y": 64},
{"flags": 1, "matrix": [4, 14], "x": 224, "y": 64}
- ]
+ ],
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "max_brightness": 180,
+ "sleep": true
},
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/dztech/tofu/ii/v1/v1.c b/keyboards/dztech/tofu/ii/v1/v1.c
index 8baf0235bd..15589096df 100644
--- a/keyboards/dztech/tofu/ii/v1/v1.c
+++ b/keyboards/dztech/tofu/ii/v1/v1.c
@@ -17,77 +17,77 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
- { 1, K_12, J_12, L_12 },
- { 1, K_11, J_11, L_11 },
- { 1, K_10, J_10, L_10 },
- { 1, K_9, J_9, L_9 },
- { 1, K_8, J_8, L_8 },
- { 1, K_7, J_7, L_7 },
- { 1, K_6, J_6, L_6 },
- { 1, K_5, J_5, L_5 },
- { 1, K_4, J_4, L_4 },
- { 1, K_3, J_3, L_3 },
- { 1, K_2, J_2, L_2 },
- { 1, K_1, J_1, L_1 },
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
+ { 1, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 1, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 1, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 1, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
- { 0, B_12, A_12, C_12 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
- { 1, H_6, G_6, I_6 },
- { 1, H_5, G_5, I_5 },
- { 1, H_4, G_4, I_4 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
- { 0, K_9, J_9, L_9 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_7, J_7, L_7 },
- { 0, K_4, J_4, L_4 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
};
bool rgb_matrix_indicators_kb(void) {
diff --git a/keyboards/dztech/tofu/jr/v1/config.h b/keyboards/dztech/tofu/jr/v1/config.h
index 74e5ed0848..bc559ee6f3 100644
--- a/keyboards/dztech/tofu/jr/v1/config.h
+++ b/keyboards/dztech/tofu/jr/v1/config.h
@@ -15,6 +15,7 @@
*/
#pragma once
+
#define I2C1_SDA_PIN GP2
#define I2C1_SCL_PIN GP3
#define I2C_DRIVER I2CD1
@@ -22,66 +23,9 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
+#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
+
#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define USB_SUSPEND_WAKEUP_DELAY 5000
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
-# define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 48
-# define DRIVER_2_LED_TOTAL 20
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif
diff --git a/keyboards/dztech/tofu/jr/v1/info.json b/keyboards/dztech/tofu/jr/v1/info.json
index 1460350d73..12930f65d0 100644
--- a/keyboards/dztech/tofu/jr/v1/info.json
+++ b/keyboards/dztech/tofu/jr/v1/info.json
@@ -16,6 +16,54 @@
"rows": ["GP29", "GP28", "GP27", "GP26", "GP22"]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "is31fl3737",
"layout": [
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
@@ -86,7 +134,11 @@
{"flags": 1, "matrix": [4, 12], "x": 195, "y": 64},
{"flags": 1, "matrix": [4, 13], "x": 210, "y": 64},
{"flags": 1, "matrix": [4, 14], "x": 224, "y": 64}
- ]
+ ],
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "max_brightness": 180,
+ "sleep": true
},
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/dztech/tofu/jr/v1/v1.c b/keyboards/dztech/tofu/jr/v1/v1.c
index 474134cb5e..046c46458e 100644
--- a/keyboards/dztech/tofu/jr/v1/v1.c
+++ b/keyboards/dztech/tofu/jr/v1/v1.c
@@ -18,79 +18,79 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
- { 1, K_12, J_12, L_12 },
- { 1, K_11, J_11, L_11 },
- { 1, K_10, J_10, L_10 },
- { 1, K_9, J_9, L_9 },
- { 1, K_8, J_8, L_8 },
- { 1, K_7, J_7, L_7 },
- { 1, K_6, J_6, L_6 },
- { 1, K_5, J_5, L_5 },
- { 1, K_4, J_4, L_4 },
- { 1, K_3, J_3, L_3 },
- { 1, K_2, J_2, L_2 },
- { 1, K_1, J_1, L_1 },
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
+ { 1, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 1, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 1, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 1, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 1, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
- { 0, B_12, A_12, C_12 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 },
- { 1, H_6, G_6, I_6 },
- { 1, H_5, G_5, I_5 },
- { 1, H_4, G_4, I_4 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_7, J_7, L_7 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
};
bool rgb_matrix_indicators_kb(void) {
diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h
index 66b91b7c4e..95a2527d40 100644
--- a/keyboards/eek/config.h
+++ b/keyboards/eek/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
- #ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 36
- #define RGB_MATRIX_LED_FLUSH_LIMIT 16
- #define RGB_MATRIX_DEFAULT_VAL 150
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json
index 27441a293e..4d179a805b 100644
--- a/keyboards/eek/info.json
+++ b/keyboards/eek/info.json
@@ -9,7 +9,12 @@
"device_version": "0.0.4"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "default": {
+ "val": 150
+ },
+ "driver": "ws2812",
+ "led_flush_limit": 16,
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["D4", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/eggsworks/egg58/config.h b/keyboards/eggsworks/egg58/config.h
deleted file mode 100644
index 50d95fae1e..0000000000
--- a/keyboards/eggsworks/egg58/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2022-2023 Travis Mick (@tmick0)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 58
diff --git a/keyboards/ein_60/config.h b/keyboards/ein_60/config.h
index 94592a01eb..ccb31b8612 100644
--- a/keyboards/ein_60/config.h
+++ b/keyboards/ein_60/config.h
@@ -29,13 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define AUDIO_DAC_SAMPLE_MAX 4095U
#endif
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 38
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_MATRIX_DEFAULT_VAL 150
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json
index bc208afcec..14b5578f25 100644
--- a/keyboards/ein_60/info.json
+++ b/keyboards/ein_60/info.json
@@ -9,7 +9,12 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "default": {
+ "val": 150
+ },
+ "driver": "ws2812",
+ "led_flush_limit": 16,
+ "max_brightness": 200
},
"rgblight": {
"hue_steps": 4,
diff --git a/keyboards/elephant42/config.h b/keyboards/elephant42/config.h
index b62d75af3c..8468b8057c 100644
--- a/keyboards/elephant42/config.h
+++ b/keyboards/elephant42/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 54
-# define RGB_MATRIX_SPLIT { 27, 27 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
-#endif
-
#ifndef OLED_FONT_H
# define OLED_FONT_H "keyboards/elephant42/lib/glcdfont.c"
#endif
diff --git a/keyboards/elephant42/info.json b/keyboards/elephant42/info.json
index 742640619e..1bc39ced98 100644
--- a/keyboards/elephant42/info.json
+++ b/keyboards/elephant42/info.json
@@ -12,7 +12,9 @@
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 8
+ "speed_steps": 8,
+ "max_brightness": 170,
+ "split_count": [27, 27]
},
"rgblight": {
"saturation_steps": 8,
@@ -39,7 +41,12 @@
},
"diode_direction": "COL2ROW",
"split": {
- "soft_serial_pin": "D2"
+ "soft_serial_pin": "D2",
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/enter67/readme.md b/keyboards/enter67/readme.md
deleted file mode 100644
index 8a4890ff1d..0000000000
--- a/keyboards/enter67/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# ENTER67 - PCB
-
-![enter67](https://imgur.com/igF8Lurh.jpg)
-
-67 layout PCB, with option for stepped Caps Lock
-
-* Keyboard Maintainer: https://github.com/LXF-YZP
-* Hardware Supported: enter67 PCB
-
-Make example for this keyboard (after setting up your build environment):
-
- make enter67:default
-
-Flashing example for this keyboard:
-
- make enter67:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/enter80/readme.md b/keyboards/enter80/readme.md
deleted file mode 100644
index c02001a43d..0000000000
--- a/keyboards/enter80/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# ENTER80 - PCB
-
-![enter80](https://i.imgur.com/rH9m5Ysh.jpg)
-
-80 layout PCB, With caps lock light
-
-* Keyboard Maintainer: https://github.com/LXF-YZP
-* Hardware Supported: enter80 PCB
-
-Make example for this keyboard (after setting up your build environment):
-
- make enter80:default
-
-Flashing example for this keyboard:
-
- make enter80:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/epoch80/readme.md b/keyboards/epoch80/readme.md
deleted file mode 100644
index a78f9ce87b..0000000000
--- a/keyboards/epoch80/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Epoch 80 / Dolch.CR 80
-
-![epoch80](https://i.imgur.com/xNvEKBOl.png)
-
-Dolch PAC inspired TKL keyboard designed by Cary Works and made by KBDFans.
-The board was also sold in a zFrontier groupbuy under the name Dolch.CR 80.
-
-* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo)
-* Hardware Supported: Epoch 80 / Dolch.CR 80 PCB
-* Hardware Availability: https://kbdfans.com/collections/80-diy-kit/products/coming-soon-epoch-80-mechanical-keyboard
-
-Make example for this keyboard (after setting up your build environment):
-
- make epoch80:default
-
-Flashing example for this keyboard:
-
- make epoch80:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/era/klein/config.h b/keyboards/era/klein/config.h
deleted file mode 100644
index 1033bc738e..0000000000
--- a/keyboards/era/klein/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2023 eerraa
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* BACKLIGHT PWM */
-#define BACKLIGHT_PWM_DRIVER PWMD7
-#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
-
-/* RGB Matrix */
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/era/klein/halconf.h b/keyboards/era/klein/halconf.h
deleted file mode 100644
index f57e86df01..0000000000
--- a/keyboards/era/klein/halconf.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2023 eerraa
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define HAL_USE_PWM TRUE
-
-#include_next <halconf.h> \ No newline at end of file
diff --git a/keyboards/era/klein/info.json b/keyboards/era/klein/info.json
deleted file mode 100644
index ac08cbb8a2..0000000000
--- a/keyboards/era/klein/info.json
+++ /dev/null
@@ -1,590 +0,0 @@
-{
- "manufacturer": "SIRIND",
- "keyboard_name": "Klein",
- "maintainer": "eerraa",
- "backlight": {
- "levels": 5,
- "pin": "GP15"
- },
- "bootloader": "rp2040",
- "build": {
- "debounce_type": "sym_defer_pk"
- },
- "diode_direction": "COL2ROW",
- "features": {
- "backlight": true,
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true,
- "rgb_matrix": true
- },
- "indicators": {
- "caps_lock": "GP16",
- "on_state": 0,
- "scroll_lock": "GP17"
- },
- "matrix_pins": {
- "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"],
- "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"]
- },
- "processor": "RP2040",
- "rgb_matrix": {
- "animations": {
- "alphas_mods": true,
- "gradient_up_down": true,
- "gradient_left_right": true,
- "breathing": true,
- "band_sat": true,
- "band_val": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_up_down": true,
- "rainbow_moving_chevron": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "dual_beacon": true,
- "rainbow_beacon": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "jellybean_raindrops": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "pixel_rain": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "typing_heatmap": true,
- "digital_rain": true,
- "solid_reactive_simple": true,
- "solid_reactive": true,
- "solid_reactive_wide": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_nexus": true,
- "solid_reactive_multinexus": true,
- "splash": true,
- "multisplash": true,
- "solid_splash": true,
- "solid_multisplash": true
- },
- "driver": "ws2812",
- "layout": [
- {"matrix": [0, 7], "x": 4, "y": 0, "flags": 1},
- {"matrix": [0, 6], "x": 20, "y": 2, "flags": 4},
- {"matrix": [0, 5], "x": 32, "y": 2, "flags": 4},
- {"matrix": [0, 4], "x": 45, "y": 1, "flags": 4},
- {"matrix": [0, 3], "x": 58, "y": 3, "flags": 4},
- {"matrix": [0, 2], "x": 71, "y": 5, "flags": 4},
- {"matrix": [0, 1], "x": 83, "y": 8, "flags": 4},
- {"matrix": [0, 0], "x": 96, "y": 10, "flags": 4},
- {"matrix": [1, 0], "x": 129, "y": 9, "flags": 4},
- {"matrix": [1, 1], "x": 141, "y": 7, "flags": 4},
- {"matrix": [1, 2], "x": 154, "y": 4, "flags": 4},
- {"matrix": [1, 3], "x": 166, "y": 2, "flags": 4},
- {"matrix": [1, 4], "x": 179, "y": 1, "flags": 4},
- {"matrix": [1, 5], "x": 192, "y": 2, "flags": 4},
- {"matrix": [1, 6], "x": 211, "y": 2, "flags": 1},
- {"matrix": [1, 7], "x": 1, "y": 13, "flags": 1},
- {"matrix": [2, 6], "x": 21, "y": 15, "flags": 1},
- {"matrix": [2, 5], "x": 36, "y": 15, "flags": 4},
- {"matrix": [2, 4], "x": 50, "y": 15, "flags": 4},
- {"matrix": [2, 3], "x": 62, "y": 17, "flags": 4},
- {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
- {"matrix": [2, 1], "x": 87, "y": 22, "flags": 4},
- {"matrix": [2, 0], "x": 100, "y": 24, "flags": 4},
- {"matrix": [3, 1], "x": 125, "y": 23, "flags": 4},
- {"matrix": [3, 2], "x": 137, "y": 21, "flags": 4},
- {"matrix": [3, 3], "x": 150, "y": 18, "flags": 4},
- {"matrix": [3, 4], "x": 162, "y": 16, "flags": 4},
- {"matrix": [3, 5], "x": 175, "y": 15, "flags": 4},
- {"matrix": [3, 6], "x": 188, "y": 15, "flags": 4},
- {"matrix": [4, 6], "x": 201, "y": 15, "flags": 4},
- {"matrix": [4, 5], "x": 217, "y": 15, "flags": 4},
- {"matrix": [4, 3], "x": 0, "y": 27, "flags": 1},
- {"matrix": [4, 1], "x": 18, "y": 29, "flags": 1},
- {"matrix": [0, 8], "x": 38, "y": 29, "flags": 4},
- {"matrix": [0, 9], "x": 51, "y": 29, "flags": 4},
- {"matrix": [0, 10], "x": 64, "y": 31, "flags": 4},
- {"matrix": [0, 11], "x": 76, "y": 33, "flags": 4},
- {"matrix": [0, 12], "x": 89, "y": 36, "flags": 4},
- {"matrix": [0, 13], "x": 129, "y": 36, "flags": 4},
- {"matrix": [0, 15], "x": 142, "y": 33, "flags": 4},
- {"matrix": [1, 15], "x": 154, "y": 31, "flags": 4},
- {"matrix": [1, 14], "x": 167, "y": 29, "flags": 4},
- {"matrix": [1, 13], "x": 180, "y": 29, "flags": 4},
- {"matrix": [1, 12], "x": 193, "y": 29, "flags": 4},
- {"matrix": [1, 11], "x": 213, "y": 29, "flags": 1},
- {"matrix": [1, 10], "x": 21, "y": 42, "flags": 1},
- {"matrix": [1, 9], "x": 42, "y": 42, "flags": 4},
- {"matrix": [1, 8], "x": 60, "y": 57, "flags": 4},
- {"matrix": [2, 8], "x": 67, "y": 45, "flags": 4},
- {"matrix": [2, 9], "x": 80, "y": 47, "flags": 4},
- {"matrix": [2, 10], "x": 92, "y": 50, "flags": 4},
- {"matrix": [2, 11], "x": 126, "y": 50, "flags": 4},
- {"matrix": [2, 12], "x": 138, "y": 48, "flags": 4},
- {"matrix": [2, 13], "x": 151, "y": 45, "flags": 4},
- {"matrix": [2, 15], "x": 163, "y": 43, "flags": 4},
- {"matrix": [3, 14], "x": 177, "y": 42, "flags": 4},
- {"matrix": [3, 13], "x": 189, "y": 42, "flags": 4},
- {"matrix": [3, 12], "x": 213, "y": 42, "flags": 1},
- {"matrix": [3, 11], "x": 16, "y": 55, "flags": 1},
- {"matrix": [3, 10], "x": 55, "y": 43, "flags": 1},
- {"matrix": [3, 9], "x": 76, "y": 60, "flags": 4},
- {"matrix": [3, 8], "x": 96, "y": 64, "flags": 1},
- {"matrix": [4, 9], "x": 139, "y": 61, "flags": 4},
- {"matrix": [4, 11], "x": 166, "y": 57, "flags": 1},
- {"matrix": [4, 13], "x": 189, "y": 55, "flags": 1},
- {"matrix": [4, 14], "x": 202, "y": 55, "flags": 1},
- {"matrix": [4, 15], "x": 221, "y": 55, "flags": 1}
- ],
- "led_count": 67
- },
- "url": "",
- "usb": {
- "device_version": "1.0.0",
- "pid": "0x0003",
- "vid": "0x4552"
- },
- "ws2812": {
- "driver": "vendor",
- "pin": "GP0"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
- {"matrix": [8, 7], "x": 17.75, "y": 3},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_ansi_arrow": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3},
- {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- },
- "LAYOUT_ansi_split_bs": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_ansi_split_bs_rsft": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
- {"matrix": [8, 7], "x": 17.75, "y": 3},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_arrow_split_bs": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3},
- {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/era/klein/keymaps/default/keymap.c b/keyboards/era/klein/keymaps/default/keymap.c
deleted file mode 100644
index 88878bbcd9..0000000000
--- a/keyboards/era/klein/keymaps/default/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018-2022 QMK (@qmk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-}; \ No newline at end of file
diff --git a/keyboards/era/klein/keymaps/via/keymap.c b/keyboards/era/klein/keymaps/via/keymap.c
deleted file mode 100644
index 88878bbcd9..0000000000
--- a/keyboards/era/klein/keymaps/via/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018-2022 QMK (@qmk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-}; \ No newline at end of file
diff --git a/keyboards/era/klein/mcuconf.h b/keyboards/era/klein/mcuconf.h
deleted file mode 100644
index b82cc49d7d..0000000000
--- a/keyboards/era/klein/mcuconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 eerraa
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include_next <mcuconf.h>
-
-#undef RP_PWM_USE_PWM7
-#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file
diff --git a/keyboards/era/klein/readme.md b/keyboards/era/klein/readme.md
deleted file mode 100644
index 1efeafe451..0000000000
--- a/keyboards/era/klein/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# MontK Cervin Klein
-
-* Keyboard Maintainer: [ERA](https://github.com/eerraa)
-* Hardware supported: SIRIND Klein
-* Hardware availability: [Syryan](https://srind.mysoho.com/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make era/klein:default
-
-Flashing example for this keyboard:
-
- make era/klein:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/era/sirind/klein_sd/config.h b/keyboards/era/sirind/klein_sd/config.h
index ae1d4a9e1d..54731b7aa9 100644
--- a/keyboards/era/sirind/klein_sd/config.h
+++ b/keyboards/era/sirind/klein_sd/config.h
@@ -19,7 +19,3 @@
/* BACKLIGHT PWM */
#define BACKLIGHT_PWM_DRIVER PWMD7
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
-
-/* RGB Matrix */
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_DISABLE_WHEN_USB_SUSPENDED \ No newline at end of file
diff --git a/keyboards/era/sirind/klein_sd/info.json b/keyboards/era/sirind/klein_sd/info.json
index 53f89f2cb7..62b8f78865 100644
--- a/keyboards/era/sirind/klein_sd/info.json
+++ b/keyboards/era/sirind/klein_sd/info.json
@@ -74,6 +74,9 @@
"splash": true,
"typing_heatmap": true
},
+ "default": {
+ "val": 60
+ },
"driver": "ws2812",
"layout": [
{"matrix": [0, 7], "x": 97, "y": 10, "flags": 4},
@@ -143,7 +146,8 @@
{"matrix": [4, 13], "x": 192, "y": 55, "flags": 1},
{"matrix": [4, 14], "x": 205, "y": 55, "flags": 1},
{"matrix": [4, 15], "x": 224, "y": 55, "flags": 1}
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index af1e14c49f..8209c21dba 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -93,62 +93,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// RGB backlight
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define DRIVER_1_LED_TOTAL 24
-#define DRIVER_2_LED_TOTAL 24
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-#define RGB_MATRIX_LED_PROCESS_LIMIT 5
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
// #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF
/* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index 455d294ef5..3d6272ae66 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -155,31 +155,16 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
+ uint8_t data[] = {0b00000000, 0b00111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, 2, ERGODOX_EZ_I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, 2, ERGODOX_EZ_I2C_TIMEOUT);
+ }
#ifdef LEFT_LEDS
if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update();
@@ -203,17 +188,11 @@ uint8_t ergodox_left_leds_update(void) {
// - unused : hi-Z : 1
// - input : hi-Z : 1
// - driving : hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111 & ~(ergodox_left_led_3 << LEFT_LED_3_SHIFT), ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111 & ~(ergodox_left_led_2 << LEFT_LED_2_SHIFT) & ~(ergodox_left_led_1 << LEFT_LED_1_SHIFT), ERGODOX_EZ_I2C_TIMEOUT);
- if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
+ uint8_t data[2];
+ data[0] = 0b11111111 & ~(ergodox_left_led_3 << LEFT_LED_3_SHIFT);
+ data[1] = 0b11111111 & ~(ergodox_left_led_2 << LEFT_LED_2_SHIFT) & ~(ergodox_left_led_1 << LEFT_LED_1_SHIFT);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, OLATA, data, 2, ERGODOX_EZ_I2C_TIMEOUT);
+
return mcp23018_status;
}
#endif
@@ -243,7 +222,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE
// clang-format off
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* driver
* | R location
* | | G location
diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h
index befc114617..df2dbed715 100644
--- a/keyboards/ergodox_ez/ergodox_ez.h
+++ b/keyboards/ergodox_ez/ergodox_ez.h
@@ -26,9 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "i2c_master.h"
// I2C aliases and register addresses (see "mcp23018.md")
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0b0100000<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json
index 1b2942cd42..f2495a409c 100644
--- a/keyboards/ergodox_ez/info.json
+++ b/keyboards/ergodox_ez/info.json
@@ -30,7 +30,41 @@
"pin": "D7"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 5,
+ "sleep": true
},
"processor": "atmega32u4",
"bootloader": "halfkay",
diff --git a/keyboards/ergodox_ez/keymaps/colemak_es_osx/config.h b/keyboards/ergodox_ez/keymaps/colemak_es_osx/config.h
deleted file mode 100644
index a1e4d79768..0000000000
--- a/keyboards/ergodox_ez/keymaps/colemak_es_osx/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-// Sets good default for the speed of the mouse.
-#undef MOUSEKEY_INTERVAL
-#undef MOUSEKEY_DELAY
-#undef MOUSEKEY_TIME_TO_MAX
-#undef MOUSEKEY_MAX_SPEED
-
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 100
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-
-#undef MOUSEKEY_WHEEL_MAX_SPEED
-#undef MOUSEKEY_WHEEL_TIME_TO_MAX
-#undef MOUSEKEY_WHEEL_DELAY
-
-#define MOUSEKEY_WHEEL_MAX_SPEED 5
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 60
-#define MOUSEKEY_WHEEL_DELAY 100 \ No newline at end of file
diff --git a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c b/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c
deleted file mode 100644
index a505fc2b62..0000000000
--- a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- Copyright 2019 Mario Arias <mario@marioarias.org>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-#include "keymap_spanish.h"
-
-enum layers {
- BASE = 0, //Colemak
- QWERTY, //Qwerty
- FN, //Colemak but FN1 to FN12 instead of numbers
- NUM, //Numpad
- MOUSE, //Mouse and media controls
- IDEA //Shortcuts for IDEA / Other tools
-};
-
-//Special paste
-#define S_PASTE LSFT(LGUI(KC_V))
-//tmux prefix
-#define T_PREFIX LCTL(KC_B)
-// Column mode
-#define I_COLUMN ALGR(LCTL(LGUI(ES_MINS)))
-// Terminal
-#define I_TERM ALGR(KC_F12)
-// Line comment
-#define I_LN_COM LCTL(LGUI(KC_7))
-// Block comment
-#define I_BK_COM LCTL(LGUI(KC_8))
-// Reformat code
-#define I_REFORM LALT(LGUI(KC_L))
-// Rename
-#define I_RENAME LSFT(KC_F6)
-// Find usages
-#define I_FUSAGE LALT(KC_F7)
-// Code for Packt
-#define P_CODE LCTL(ALGR(KC_X))
-// Search
-#define I_SEARCH LCTL(LSFT(KC_F))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Colemak MacOS Spanish layer
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | 1 ! | 2 " | 3 · | 4 $ | 5 % | º \ | | ¡ ¿ | 6 & | 7 / | 8 ( | 9 ) | 0 = | Backsp |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | TAB | Q | W | F | P | G | Home | | End | J | L | U | Y | Ñ | ' ? |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | CAPS | A | R | S | T | D |------| |------| H | N | E | I | O | ENT |
- * |--------+------+------+------+------+------| <> | | -_ |------+------+------+------+------+--------|
- * | Shift | Z | X | C | V | B | | | | K | M | , ; | . : | UP | Shift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | Del | PgUp |Ctl/PD|Alt/[ |Cmd/] | |Cmd/{ |Alt/} | LEFT | DOWN | RIGHT|
- * `----------------------------------' `----------------------------------'
- * ,--------------. ,--------------.
- * | Num | Mouse | | Qwer | Ctrl |
- * ,------|------|-------| |------+-------+------.
- * | | | FN | |SPaste| | |
- * |LShift|Backsp|-------| |------| ENT |Space |
- * | | | IDEA | | T-pre| | |
- * `---------------------' `---------------------'
- */
-[BASE] = LAYOUT_ergodox(
-// left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LABK,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_HOME,
- KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV,
- KC_DEL, KC_PGUP, CTL_T(KC_PGDN), ALT_T(ES_GRV), GUI_T(ES_PLUS),
-
- DF(NUM), DF(MOUSE),
- DF(FN),
- KC_LSFT, KC_BSPC, MO(IDEA),
-
-// right hand
- ES_IEXL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_QUOT,
- KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- ES_MINS, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- GUI_T(ES_ACUT), ALT_T(KC_BSLS), KC_LEFT, KC_DOWN, KC_RIGHT,
-
- DF(QWERTY), KC_RCTL,
- S_PASTE,
- T_PREFIX, KC_ENT, KC_SPC
-),
-/* Keymap 1: Spanish QWERTY layer (games) //Will probably change it for a Linux/Windows Colemak layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | 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 | | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | Base | |
- * ,------|------|------| |------+--------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `----------------------'
- */
-[QWERTY] = LAYOUT_ergodox(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q, KC_W, KC_E, KC_R, KC_T, _______,
- _______, KC_A, KC_S, KC_D, KC_F, KC_G,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______,
- _______, _______, _______, _______, _______,
-
- _______, _______,
- _______,
- _______, _______, _______,
-
-// right hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Y, KC_U, KC_I, KC_O, KC_P, _______,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______,
- _______, KC_N, KC_M, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- DF(BASE), _______,
- _______,
- _______, _______, _______
-),
-/* Keymap 2: Function Layer
-*
-* ,--------------------------------------------------. ,--------------------------------------------------.
-* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
-* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-* | | | | | | | | | | | | | | | |
-* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-* | | | | | | |------| |------| | | | | | |
-* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-* | | | | | | | | | | | | | | | |
-* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
-* | | | | | | | | | | | |
-* `----------------------------------' `----------------------------------'
-* ,-------------. ,-------------.
-* | | | | | |
-* ,------|------|------| |------+------+------.
-* | | | Base | | | | |
-* | | |------| |------| | |
-* | | | | | | | |
-* `--------------------' `--------------------'
-*/
-[FN] = LAYOUT_ergodox(
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
-
- _______, _______,
- DF(BASE),
- _______, _______, _______,
-
-// right hand
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
-
- _______, _______,
- _______,
- _______, _______, _______
-),
-/* Mouse and media controls
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | | | | | | Play | | Vol+ | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | Ms U | | | | | | | | Wh U | | | |
- * |--------+------+------+------+------+------| Rwd | | Vol- |------+------+------+------+------+--------|
- * | | | Ms L | Ms D | Ms R | |------| |------| | Wh L | Wh D | Wh R | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | Acc0 | Acc1 | Acc2 | | Fwd | | Mute | | Btn1 | Btn2 | Btn3 | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Num | Base | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------ |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[MOUSE] = LAYOUT_ergodox(
-// left hand
- KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY,
- XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_MRWD,
- XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, KC_MFFD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- DF(NUM), DF(BASE),
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
-// right hand
- KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_VOLD, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_R, XXXXXXX, XXXXXXX,
- KC_MUTE, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN3, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX
-),
-/* Num pad
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | ( | ) | = | / | * | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | Up | | | | | | | 7 | 8 | 9 | - | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | Left | Down |Right | |------| |------| | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | 1 | 2 | 3 |Enter | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | 0 | 0 | , |Enter | . |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Base | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------ |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[NUM] = LAYOUT_ergodox(
-// left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
-
- DF(BASE), _______,
- _______,
- _______, _______, _______,
-
-// right hand
- _______, LSFT(KC_8), LSFT(KC_9), KC_PEQL, KC_PSLS, KC_PAST, _______,
- _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_DOT,
-
- _______, _______,
- _______,
- _______, _______, _______
-),
-/* IDEA
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | Renm | | Usag | | LnCm | BkCm | | Term | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | |Search| | | | | | | Refm | | | | |
- * |--------+------+------+------+------+------| | | Col |------+------+------+------+------+--------|
- * | | | | | | |------| |------| | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | Code | | | | | | | | | | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------ |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[IDEA] = LAYOUT_ergodox(
-
-//Left hand
- _______, _______, _______, _______, _______, _______, I_RENAME,
- _______, _______, _______, I_SEARCH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, P_CODE, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
-
- _______, DF(BASE),
- _______,
- _______, _______, _______,
-
-// right hand
- I_FUSAGE, _______, I_LN_COM, I_BK_COM, _______, I_TERM, _______,
- I_COLUMN, _______, I_REFORM, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
-
- _______, _______,
- _______,
- _______, _______, _______
-)
-};
-
-
-void led_1_off(void) {
- ergodox_right_led_1_off();
-}
-
-void led_2_off(void) {
- ergodox_right_led_2_off();
-}
-
-void led_3_off(void) {
- ergodox_right_led_3_off();
-}
-
-//Runs just one time when the keyboard initializes
-void matrix_init_use(void) {
- led_1_off();
- led_2_off();
- led_3_off();
-}
-
-// Value to use to switch LEDs on. The default value of 255 is far too bright.
-static const uint8_t max_led_value = 20;
-
-
-void led_1_on(void) {
- ergodox_right_led_1_on();
- ergodox_right_led_1_set(max_led_value);
-}
-
-void led_2_on(void) {
- ergodox_right_led_2_on();
- ergodox_right_led_2_set(max_led_value);
-}
-
-void led_3_on(void) {
- ergodox_right_led_3_on();
- ergodox_right_led_3_set(max_led_value);
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
- if(layer_state_cmp(state ,IDEA)) {
- led_1_on();
- led_3_on();
- } else {
- led_1_off();
- led_3_off();
- }
-
- return state;
-};
-
-void matrix_scan_user(void) {
-
- ergodox_board_led_off();
- led_1_off();
- led_2_off();
- led_3_off();
-
- if(layer_state_cmp(default_layer_state, QWERTY)) {
- led_3_on();
- }
-
- if(layer_state_cmp(default_layer_state, FN)) {
- led_2_on();
- }
-
- if(layer_state_cmp(default_layer_state, NUM)) {
- led_2_on();
- led_3_on();
- }
-
- if(layer_state_cmp(default_layer_state, MOUSE)) {
- led_1_on();
- }
-};
diff --git a/keyboards/ergodox_ez/keymaps/colemak_es_osx/readme.md b/keyboards/ergodox_ez/keymaps/colemak_es_osx/readme.md
deleted file mode 100644
index b17ae015aa..0000000000
--- a/keyboards/ergodox_ez/keymaps/colemak_es_osx/readme.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# ErgoDox EZ Spanish Colemak configuration
-
-## Description
-
-A Colemak keymap adapted for Spanish.
-
-### Base Layer - Spanish Colemak
-
-The Base Layer is a Colemak keymap with an additional "&ntilde;" next to the "y" key. The arrow cluster has a proper T inverted shape.
-
-It includes almost all Spanish Symbols from a normal 100% keyboard thanks to the use of tap keys
-
-
-| Pressed | Tap | Shift | Alt |
-|---|---|---|---|
-|Left Ctrl|PgDn|||
-|Left Alt|`|ˆ|[|
-|Left Cmd|+|*|]|
-|Right Cmd|´|¨|{|
-|Right Alt|ç|Ç|}|
-
-For example, if you want to type ```[]```, you keep pressing the "Left Alt" (To modify) and tap "Right Alt" and "Right Cmd" to send "[" and "]"
-
-### Qwerty Layer
-
-A Qwerty layer for gaming and maybe some VIM commands. It just modifies the few keys that are different between Colemak and Qwerty and keep all the others keys
-
-### Fn Layer
-
-A layer to change the number row including "º" and "¡" for "Fn1" to "Fn12". The rest is just the same as the Base layer
-
-### Mouse and media controls
-
-Mouse movement on the left hand, wheel and buttons on the right hand. "Play/Pause", "Rewind", "Forward" in the Left inner column. "Volume Up", "Volume Down" and "Mute" in the Right inner column
-
-### Numpad
-
-A complete numpad in the right hand, plus and Arrow cluster on the left hand
-
-### IDEA (JetBrains IDEs)
-
-A momentary layer for IDEA shortcuts that require more than two fingers or any Fn key
-
-## How to build it
-
-If you already have all the dependencies (Check QMK's documentation), you can run the command:
-
-```bash
-make ergodox_ez:colemak_es_osx
-```
-
-On MacOS, if you're using MacPorts you can install the following dependencies:
-
-```bash
-port install avr-binutils
-port install avr-gcc
-port install avr-libc
-```
-
-This isn't an exhaustive list and maybe there other dependencies that are technically necessary
-
-## Changelog
-
-* Jul 2019:
- * Initial version for the new QMK version
-
-![](https://imgur.com/AyWNGlL.png) \ No newline at end of file
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/.gitignore b/keyboards/ergodox_ez/keymaps/hacker_dvorak/.gitignore
deleted file mode 100644
index 504afef81f..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules/
-package-lock.json
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
deleted file mode 100644
index 05d30392ff..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- Set any config.h overrides for your specific keymap here.
- See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
-*/
-#pragma once
-
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 175
-#define TAPPING_TERM_PER_KEY
-
-#undef DEBOUNCE
-#define DEBOUNCE 15
-
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#undef FORCE_NKRO
-#define FORCE_NKRO
-
-#undef TAPPING_TOGGLE
-#define TAPPING_TOGGLE 5
-
-#define LEADER_TIMEOUT 1000
-#define PERMISSIVE_HOLD
-#define DANCING_TERM 175
-
-#define ONESHOT_TAP_TOGGLE 5
-
-#undef ONESHOT_TIMEOUT
-#define ONESHOT_TIMEOUT 5000
-
-#define COMBO_TERM 200
-
-#undef RGBLIGHT_HUE_STEP
-#define RGBLIGHT_HUE_STEP 24
-
-#undef RGBLIGHT_SAT_STEP
-#define RGBLIGHT_SAT_STEP 24
-
-#undef RGBLIGHT_VAL_STEP
-#define RGBLIGHT_VAL_STEP 24
-
-#undef RGBLIGHT_BRI_STEP
-#define RGBLIGHT_BRI_STEP 24
-
-#undef RGBLIGHT_LIMIT_VAL
-#define RGBLIGHT_LIMIT_VAL 255
-
-
-#undef MOUSEKEY_INTERVAL
-#define MOUSEKEY_INTERVAL 10
-
-#undef MOUSEKEY_DELAY
-#define MOUSEKEY_DELAY 15
-
-#undef MOUSEKEY_MAX_SPEED
-#define MOUSEKEY_MAX_SPEED 20
-
-#undef MOUSEKEY_TIME_TO_MAX
-#define MOUSEKEY_TIME_TO_MAX 200
-
-#undef MOUSEKEY_WHEEL_MAX_SPEED
-#define MOUSEKEY_WHEEL_MAX_SPEED 20
-
-#undef MOUSEKEY_WHEEL_TIME_TO_MAX
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 200
-
-
-// #undef NO_DEBUG
-// #define NO_DEBUG
-
-// #undef NO_PRINT
-// #define NO_PRINT
-
-// #define RETRO_TAPPING
-// #define QUICK_TAP_TERM 0
-
-// #define AUTO_SHIFT_TIMEOUT 150
-// #define NO_AUTO_SHIFT_SPECIAL
-// #define NO_AUTO_SHIFT_NUMERIC
-// #define NO_AUTO_SHIFT_ALPHA
-
-// #define EXTRA_LONG_COMBOS
-// #define EXTRA_EXTRA_LONG_COMBOS
-// #define COMBO_ALLOW_ACTION_KEYS
-
-// #define RGBLIGHT_SLEEP
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/gulpfile.js b/keyboards/ergodox_ez/keymaps/hacker_dvorak/gulpfile.js
deleted file mode 100644
index 81a4e93fda..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/gulpfile.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const gulp = require('gulp');
-const run = require('gulp-run-command').default;
-
-
-const ROOT_DIR = '../../../../';
-const BUILD_DIR = `${ROOT_DIR}.build`;
-const HACKER_DVORAK_DIR = './**/*';
-
-const CLEAN_CMD = `rm -rf ${BUILD_DIR}`;
-const BUILD_CMD = `make -C ${ROOT_DIR} ergodox_ez:hacker_dvorak`;
-
-gulp.task('clean', run(CLEAN_CMD));
-
-gulp.task('build', gulp.series('clean', run(BUILD_CMD, {
- ignoreErrors: true
-})));
-
-gulp.task('watch', gulp.series('build', () => {
- gulp.watch(HACKER_DVORAK_DIR, gulp.series('build'));
-}));
-
-gulp.task('default', gulp.series('watch'));
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c
deleted file mode 100644
index 19627ad11f..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c
+++ /dev/null
@@ -1,353 +0,0 @@
-// Keyboard keymap:
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DVORAK] = LAYOUT_ergodox(
-
- // HACKER DVORAK left hand
-
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // ESCAPE | | | | | | START RECORDING //
- // | | | | | | //
- KC_ESC, TD(GRV_TILD), TD(AT_DLR), TD(LCBR_LABK), TD(LPRN_LBRC), TD(EXLM_QUES), DM_REC1, //
- // | ~ | $ | < | [ | ? | //
- // | TAP DANCE: ` | TAP DANCE: @ TAP DANCE: { | TAP DANCE: ( | TAP DANCE: ! | DYNAMIC MARCO 1 //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // TAB | MOD TAP: ALT+SHIFT | MOD TAP: CTRL+ALT | MOD TAP: CTRL+SHIFT | P | Y | //
- // | | | | | | //
- KC_TAB, TD(NONE_LEAD), TD(QUOT_DQUO), TD(DOT_COMM), LCG_T(KC_P), LAG_T(KC_Y), DM_PLY1, //
- // | LEAD | " | , | | | //
- // | TAP DANCE: NONE | TAP DANCE: ' | TAP DANCE: . | MOD TAP: CTRL+GUI | MOD TAP: ALT+GUI | //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------| PLAY DYNAMIC MACRO 1 //
- // | MOD TAP: ALT | MOD TAP: CTRL | LAYER TAP: SHIFT | M TAP DANCE: ARROWS/GUI | MOD TAP: SHIFT+GUI | //
- // | | | | Ü | | //
- TD(EQL_PLUS), LALT_T(KC_A), LCTL_T(KC_O), LSFT_T(KC_E), TD(U_ARR_GUI), SGUI_T(KC_I), //-----------------------//
- // + | à | Ó | É | Ú | à | //
- // TAP DANCE: = | TAP DANCE: A | TAP DANCE: O | TAP DANCE: E | TAP DANCE: U | TAP DANCE: I | //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------| META //
- // STOP RECORDING | MOD TAP: GUI+SHIFT+ALT | Q | J | K | X | //
- // | | | | | | //
- DM_RSTP, TD(SCLN_COLN), LCAG_T(KC_Q), TD(J_MED_MEH), TD(K_NUM_HYP), LCSG_T(KC_X), KC_LGUI, //
- // | : | | | | | //
- // DYNAMIC MACRO | TAP DANCE: ; | MOD TAP: SHIFT+GUI | M TAP DANCE: MEDIA/MEH | M TAP DANCE: ATM/HYPER | MOD TAP: CTL+SHIFT+GUI | //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // LAYERS SWITCHER | APPLICATION MENU | | | //
- // | | | | SCROLL //
- TG(LAYERS), KC_APP, KC_NUM, KC_SCRL, KC_CAPS, //
- // | | | | NUM //
- // LAYER TOGGLE | | | | TAP DANCE: CAPS //
- //------------------------+-------------------------+-------------------------+-------------------------+------------------------//
-
- // HACKER DVORAK left thumb
-
- //------------------------+------------------------//
- // MOUSE WHEEL LEFT | MOUSE WHEEL RIGHT //
- // | //
- KC_WH_L, KC_WH_R, //
- // | //
- // | //
- //-------------------------+-------------------------+------------------------//
- // | | HOME //
- // | | //
- /* SPACE | BACKSPACE */ KC_HOME, //
- // | | //
- // | | //
- KC_SPC, KC_BSPC, //-----------------------//
- // | | END //
- // | | //
- /* | */ KC_END, //
- // | | //
- // | | //
- //-------------------------+-------------------------+------------------------//
-
- // HACKER DVORAK right hand
-
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // | | | | | | //
- // | | | | | | //
- DM_REC2, TD(APMR_PIPE), TD(RPRN_RBRC), TD(RCBR_RABK), TD(HASH_PERC), TD(ASTR_CIRC), XXXXXXX, //
- // | | | | | | //
- // | | | | | | //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // | | | | | | //
- // | | | | | | //
- DM_PLY2, LAG_T(KC_F), LCG_T(KC_G), C_S_T(KC_C), LCA_T(KC_R), LAS_T(KC_L), TD(SLSH_BSLS), //
- // | | | | | | //
- // | | | | | | //
- // |-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // | | | | | | //
- // | | | | | | //
- /*-----------------------*/ SGUI_T(KC_D), TD(H_MOU_GUI), LSFT_T(KC_T), LCTL_T(KC_N), LALT_T(KC_S), TD(MINS_UNDS), //
- // | | | | | | //
- // | | | | | | //
- // |-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // | | | | | | //
- // | | | | | | //
- KC_LGUI, LCSG_T(KC_B), TD(M_CHO_HYP), TD(W_MED_MEH), LCAG_T(KC_V), LASG_T(KC_Z), COMPOSE, //
- // | | | | | | //
- // | | | | | | ⎄ //
- //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
- // | | | | //
- // | | | | //
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_SYRQ, //
- // | | | | //
- // | | | | //
- //------------------------+-------------------------+-------------------------+-------------------------+------------------------//
-
- // HACKER DVORAK right thumb
-
- //------------------------+------------------------//
- // | //
- // | //
- KC_WH_U, KC_WH_D, //
- // | //
- // | //
- //------------------------+-------------------------+------------------------//
- // | | //
- // | | //
- KC_PGUP, // | //
- // | | //
- // | | //
- //------------------------| | //
- // | | //
- // | | //
- KC_PGDN, KC_DEL, KC_ENT //
- // | | //
- // | | //
- //------------------------+-------------------------+------------------------//
-
- ),
-
- [PLOVER] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_BTN3, GUI_T(KC_NO),
- KC_ESC, KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_BTN5, PV_NUM,
- KC_TAB, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR,
- KC_CAPS, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR,
- XXXXXXX, TG(LAYERS), PV_NUM, PV_NUM, PV_NUM,
-
- // left thumb
- KC_SPACE, KC_BSPC,
- KC_HOME,
- PV_A, PV_O, KC_END,
-
- // right hand
- KC_MS_ACCEL2, KC_MS_ACCEL1, KC_MS_ACCEL0, KC_UP, KC_APPLICATION, XXXXXXX, KC_MS_WH_UP,
- PV_NUM, KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_MS_WH_DOWN,
- PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD,
- PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ,
- PV_NUM, PV_NUM, PV_NUM, PV_NUM, XXXXXXX,
-
- // right thumb
- KC_DELETE, KC_ENTER,
- KC_PGUP,
- KC_PGDN, PV_E, PV_U
- ),
-
- [GAMING] = LAYOUT_ergodox(
- // left hand
- KC_ESCAPE, GUI_T(KC_MINS), KC_I, KC_O, KC_P, ALGR_T(KC_EQL), KC_T,
- KC_TAB, KC_LALT, KC_Q, KC_W, KC_E, ALL_T(KC_R), KC_G,
- LT(MOUSE, KC_GRV), KC_LCTL, KC_A, KC_S, KC_D, MEH_T(KC_F),
- KC_BSLS, KC_LSFT, KC_Z, KC_X, KC_C, SCMD_T(KC_V), KC_M,
- XXXXXXX, TG(LAYERS), KC_COMM, KC_DOT, KC_LBRC,
-
- // left thumb
- MO(MEDIA_FN), KC_NUM,
- KC_SCLN,
- KC_SPACE, KC_ENTER, KC_BSPC,
-
- // right hand
- KC_QUOT, KC_Y, KC_K, KC_U, KC_KP_7, KC_KP_8, KC_KP_9,
- KC_MS_WH_UP, KC_H, KC_J, KC_L, KC_KP_4, KC_KP_2, KC_KP_6,
- KC_B, KC_MS_UP, KC_N, KC_KP_1, KC_KP_5, KC_KP_3,
- KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_UP, KC_KP_0, KC_SLASH,
- KC_RBRC, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX,
-
- // right thumb
- KC_MS_BTN5, MO(CHORD),
- KC_MS_BTN4,
- KC_MS_BTN3, KC_MS_BTN2, KC_MS_BTN1
- ),
-
- [ARROWS] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, SCMD_T(KC_NO), MEH_T(KC_NO), ALL_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_LCTL, KC_LSFT, XXXXXXX, _______, XXXXXXX,
- XXXXXXX, KC_RALT, KC_LALT, GUI_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // left thumb
- XXXXXXX, XXXXXXX,
- KC_HOME,
- KC_SPACE, KC_BSPC, KC_END,
-
- // right hand
- LGUI(KC_X), XXXXXXX, LCTL(KC_X), KC_MS_WH_UP, XXXXXXX, XXXXXXX, XXXXXXX,
- LGUI(KC_C), XXXXXXX, LCTL(KC_C), KC_UP, SCTL(KC_C), LCTL(KC_Z), LGUI(KC_Z),
- KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_APPLICATION,
- LGUI(KC_V), XXXXXXX, LCTL(KC_V), KC_MS_WH_DOWN, SCTL(KC_V), LCTL(KC_Y), SGUI(KC_Z),
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- KC_PGUP,
- KC_PGDN, KC_DELETE, KC_ENTER
- ),
-
- [MOUSE] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_UP, LCTL(KC_X), XXXXXXX, LGUI(KC_X),
- LGUI(KC_Z), LCTL(KC_Z), SCTL(KC_C), KC_MS_UP, LCTL(KC_C), KC_MS_BTN4, LGUI(KC_C),
- KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_RIGHT,
- LGUI(KC_Z), LCTL(KC_Y), SCTL(KC_V), KC_MS_WH_DOWN, LCTL(KC_V), KC_MS_BTN5, LGUI(KC_V),
- KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // left thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- KC_MS_BTN1, KC_MS_BTN2, XXXXXXX,
-
- // right hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, ALL_T(KC_NO), MEH_T(KC_NO), SCMD_T(KC_NO), XXXXXXX,
- XXXXXXX, _______, KC_MS_ACCEL1, KC_LSFT, KC_LCTL, KC_MS_ACCEL2,
- XXXXXXX, XXXXXXX, XXXXXXX, GUI_T(KC_NO), KC_LALT, KC_RALT, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, KC_MS_ACCEL0
- ),
-
- [NUMPAD] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, GUI_T(KC_NO), XXXXXXX, ALL_T(KC_NO), XXXXXXX, XXXXXXX,
- _______, KC_LCTL, KC_LSFT, _______, MEH_T(KC_NO), XXXXXXX,
- XXXXXXX, KC_RALT, KC_LALT, XXXXXXX, SCMD_T(KC_NO), XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // left thumb
- XXXXXXX, XXXXXXX,
- KC_HOME,
- KC_SPACE, KC_BSPC, KC_END,
-
- // right hand
- KC_X, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F,
- KC_O, KC_I, KC_1, KC_2, KC_3, KC_SLSH, KC_PERC,
- KC_M, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS,
- KC_L, KC_J, KC_7, KC_8, KC_9, KC_ASTR, KC_CIRC,
- KC_DOT, KC_0, KC_COMM, KC_UNDS, KC_BSLS,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- KC_PGUP,
- KC_PGDN, KC_DELETE, KC_ENTER
- ),
-
- [LAYERS] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // left thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, TO(DVORAK), TO(PLOVER), TO(GAMING), XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [MEDIA_FN] = LAYOUT_ergodox(
- // left hand
- KC_VOLD, KC_MUTE, RGB_TOG, XXXXXXX, KC_MAIL, KC_FIND, KC_WWW_REFRESH,
- KC_MPRV, KC_F9, KC_F7, KC_F5, KC_F3, KC_F1, KC_WWW_HOME,
- KC_PAUS, KC_F19, KC_F17, KC_F15, KC_F13, KC_F11,
- RGB_HUD, XXXXXXX, XXXXXXX, _______, KC_F23, KC_F21, KC_WWW_BACK,
- RGB_VAD, KC_CAPS, KC_PSCR, XXXXXXX, MO(FIRMWARE),
-
- // left thumb
- _______, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, KC_MEDIA_EJECT,
-
- // right hand
- KC_WWW_FAVORITES, KC_MYCM, KC_CALC, XXXXXXX, RGB_MOD, RGB_M_P, KC_VOLU,
- KC_WWW_SEARCH, KC_F2, KC_F4, KC_F6, KC_F8, KC_F10, KC_MNXT,
- KC_F12, KC_F14, KC_F16, KC_F18, KC_F20, KC_MPLY,
- KC_WWW_FORWARD, KC_F22, KC_F24, _______, XXXXXXX, XXXXXXX, RGB_HUI,
- KC_PWR, XXXXXXX, KC_SLEP, KC_WAKE, RGB_VAI,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [CHORD] = LAYOUT_ergodox(
- // left hand
- XXXXXXX, HYPR(KC_F1), HYPR(KC_F2), HYPR(KC_F3), HYPR(KC_F4), HYPR(KC_F5), XXXXXXX,
- XXXXXXX, HYPR(KC_F6), HYPR(KC_F7), HYPR(KC_F8), HYPR(KC_F9), HYPR(KC_F10), XXXXXXX,
- XXXXXXX, HYPR(KC_F11), HYPR(KC_F12), HYPR(KC_F13), HYPR(KC_F14), HYPR(KC_F15),
- XXXXXXX, HYPR(KC_F16), HYPR(KC_F17), HYPR(KC_F18), HYPR(KC_F19), HYPR(KC_F20), XXXXXXX,
- XXXXXXX, HYPR(KC_F21), HYPR(KC_F22), HYPR(KC_F23), HYPR(KC_F24),
-
- // left thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right thumb
- XXXXXXX, _______,
- XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [FIRMWARE] = LAYOUT_ergodox(
-
- // left hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
-
- // left thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- QK_BOOT, XXXXXXX, XXXXXXX,
-
- // right hand
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- // right thumb
- XXXXXXX, XXXXXXX,
- XXXXXXX,
- XXXXXXX, XXXXXXX, EE_CLR
- )
-};
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/aliases_definitions.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/aliases_definitions.c
deleted file mode 100644
index 323358357a..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/aliases_definitions.c
+++ /dev/null
@@ -1,13 +0,0 @@
-// Compound keycode aliases
-#define SCTL(kc) LSFT(LCTL(kc)) // Modifier keys: SHIFT+CTRL+kc combination.
-
-// Tap
-#define LASG_T(kc) MT(MOD_LGUI | MOD_LALT | MOD_LSFT, kc) // Mod tap: kc when tapped, GUI+ALT+SHIFT when held.
-#define LCSG_T(kc) MT(MOD_LGUI | MOD_LSFT | MOD_LCTL, kc) // Mod tap: kc when tapped, GUI+CTL+SHIFT when held.
-
-#define LCG_T(kc) MT(MOD_LCTL | MOD_LGUI, kc) // Mod tap: kc when tapped, CTL+GUI when held.
-#define LAS_T(kc) MT(MOD_LALT | MOD_LSFT, kc) // Mod tap: kc when tapped, ALT+SHIFT when held.
-#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) // Mod tap: kc when tapped, ALT+GUI when held.
-
-// Others
-#define COMPOSE KC_RALT // Compose key (used to input characters like á, ñ, ü).
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/custom_keycodes.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/custom_keycodes.c
deleted file mode 100644
index 338910b53f..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keycodes/custom_keycodes.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Define custom user keycodes:
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // Can always be here.
- MY_CUSTOM_MACRO, // Custom macro example.
- MY_OTHER_MACRO, // Custom macro example.
- DYNAMIC_MACRO_RANGE // Should always be the last.
-};
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keymap.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/keymap.c
deleted file mode 100644
index e953f06de8..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include QMK_KEYBOARD_H // Includes the QMK-verse.
-#include "keymap_plover.h" // Includes the Plover keymap for easier readability.
-
-
-// TODO: No eeprom changes unless needed, custom rgb settings for animations.
-#include "keycodes/aliases_definitions.c"
-#include "layers/layers_definitions.c"
-#include "tap_dance/tap_dance_setup.c"
-#include "tap_dance/tap_dances.c"
-#include "user/matrix_scan_user.c"
-#include "tap_dance/mod_tap_layer_dances/none_lead.c"
-#include "tap_dance/mod_tap_layer_dances/dot_comm.c"
-#include "tap_dance/mod_tap_layer_dances/quot_dquot.c"
-#include "tap_dance/mod_tap_layer_dances/scln_coln.c"
-#include "tap_dance/mod_tap_layer_dances/u_arrows_gui.c"
-#include "tap_dance/mod_tap_layer_dances/h_mouse_gui.c"
-#include "tap_dance/mod_tap_layer_dances/j_media_meh.c"
-#include "tap_dance/mod_tap_layer_dances/w_media_meh.c"
-#include "tap_dance/mod_tap_layer_dances/k_numpad_hyper.c"
-#include "tap_dance/mod_tap_layer_dances/m_chords_hyper.c"
-#include "tap_dance/tap_dance_actions.c"
-#include "keycodes/custom_keycodes.c"
-#include "dynamic_macro.h" // Includes dynamic macro definitions, needed *after* the custom keycodes.
-#include "hacker_dvorak.c"
-#include "user/eeconfig_init_user.c"
-#include "user/process_record_user.c"
-#include "plover/plover_mode.c"
-#include "user/layer_set_state_user.c"
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/layers/layers_definitions.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/layers/layers_definitions.c
deleted file mode 100644
index f252bc802b..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/layers/layers_definitions.c
+++ /dev/null
@@ -1,12 +0,0 @@
-enum layers { // Hacker Dvorak keyboard layers:
- DVORAK = 0, // * Dvorak base layer.
- PLOVER = 1, // * Steno layer for use with Plover.
- GAMING = 2, // * Gaming layer intended for general purpose playing.
- ARROWS = 3, // * Arrows movement keys and edition shortcuts.
- MOUSE = 4, // * Mouse movement keys and edition shortcuts.
- NUMPAD = 5, // * ATM style numpad with symbols and letters that should suffice to input any numeric literal.
- LAYERS = 6, // * Layer switcher used to change between DVORAK, PLOVER and GAMING layers.
- MEDIA_FN = 7, // * Media, RGB and function keys from F1 to F24 in symmetric fashion.
- CHORD = 8, // * Hot keys layer (uses hyper + F1 .. F24) suitable for global shortcut tasks.
- FIRMWARE = 9 // * Layer with firmware related functionality, like the reset and EEPROM keys.
-};
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/package.json b/keyboards/ergodox_ez/keymaps/hacker_dvorak/package.json
deleted file mode 100644
index 173bcd5a86..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "hacker_dvorak",
- "version": "1.0.0",
- "description": "Inspired by the [*Programmer Dvorak*](https://www.kaufmann.no/roland/dvorak) keyboard layout, cherry picked ideas from other layouts in the [EZ Repository](https://configure.ergodox-ez.com/search?q=dvorak&legacy=true), a character distribution [heatmap vizualizer](https://run.plnkr.co/plunks/5EEO8nJ2wRzYAfT3), my own subjective use cases and lots of trial and error.",
- "main": "gulpfile.js",
- "scripts": {
- "test": "test"
- },
- "author": "SalchiPapa",
- "license": "GPL-2.0",
- "dependencies": {
- "gulp": "^4.0.0",
- "gulp-run-command": "0.0.9"
- }
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/plover/plover_mode.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/plover/plover_mode.c
deleted file mode 100644
index b388264907..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/plover/plover_mode.c
+++ /dev/null
@@ -1,20 +0,0 @@
-// TODO: improve feedback
-void plover_toggle(void) {
- // Press "PHROLG"
- register_code(PV_LP);
- register_code(PV_LH);
- register_code(PV_LR);
- register_code(PV_O);
- register_code(PV_RL);
- register_code(PV_RG);
-
- // Release "PHROLG"
- unregister_code(PV_LP);
- unregister_code(PV_LH);
- unregister_code(PV_LR);
- unregister_code(PV_O);
- unregister_code(PV_RL);
- unregister_code(PV_RG);
-}
-
-bool PLOVER_MODE = false;
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/readme.md b/keyboards/ergodox_ez/keymaps/hacker_dvorak/readme.md
deleted file mode 100644
index 8089a6d55a..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/readme.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# [Ergodox EZ Hacker Dvorak Layout](https://configure.ergodox-ez.com/layouts/Wadz/latest/0)
-
-Inspired by the [*Programmer Dvorak*](https://www.kaufmann.no/roland/dvorak) keyboard layout, cherry picked ideas from other layouts in the [EZ Repository](https://configure.ergodox-ez.com/search?q=dvorak&legacy=true), a character distribution [heatmap vizualizer](https://run.plnkr.co/plunks/5EEO8nJ2wRzYAfT3), my own subjective use cases and lots of trial and error.
-
-## Setup
-
-Configure your OS keyboard layout to US, or the keymap will be incorrect.
-
-## Limitations
-
-I plan to use [QMK](https://docs.qmk.fm) in the future, in order to overcome some limitations of the Ergodox EZ [graphical configurator](https://configure.ergodox-ez.com/layouts/default/latest/0)), however I will defer that, until more progress is made to the new [configurator](https://medium.com/the-ergo/the-configurator-is-out-of-beta-e107aec80cae).
-
-## Layers
-
-1. Dvorak
- * US Dvorak layout.
- * All symbols (including shifted symbols).
- * All modifier are dual keys positioned near the home row.
-2. Querty
- * Used to overcome the limitation pointed above, when your OS layout is set to Dvorak instead of US, this way you can use
- Standard Dvorak (available by default on all the main operating systems) on other normal keybdoards and Hacker Dvorak on
- the Ergodox EZ Shine at the same time, without changing back and forth tho OS layout.
-3. Gaming
- * Still in development.
- * Left side is mainly "normal" Qwerty.
- * Right side is mainly for movement, either using the mouse, the arrow keys, the number pad or the `H`, `J`, `K`, `L` as direction keys.
-4. Arrows
- * Arrow keys navigation.
- * All modifier keys.
- * Common text edititng shortcuts (doesn't work for MacOS).
-5. Mouse
- * Mouse navigation.
- * All modifier keys.
- * Common text edititng shortcuts (doesn't work for MacOS).
-6. Numpad
- * ATM style numpad.
- * All modifier keys.
- * Letters from `A` to `F` for hexadecimal numbers (`B` is also used for binary numeric literals in most programming
- languages, ie. `0b11001`).
- * `X` for hexadecimal numeric literals in most programming languages, ie. `0xbeef`.
- * `O` for octal numeric literals in most programming languages, ie `0o123`.
- * `J` for complex numeric literals in Python, ie. `3j`.
- * `I` and `M` for complex Julia numeric literals, ie. `3im`.
- * Common symbols for mathematical operations.
-7. Hyper Fn
- * Useful for custom global shortcuts.
-8. Media Fn
- * Media keys.
- * Function keys.
- * EZ Shine keys.
-9. Meh Fn
- * Useful for custom application shortcuts.
-10. Meh Fn +
- * Useful for custom standard shortcuts.
-
-## To Do
-
-Add images.
-
-***
-
-Please comment below if you have any ideas or suggestions. If you have used this layout or used it as a base, I'd love to hear about your experience!
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
deleted file mode 100644
index aaf4e53f6e..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# Set any rules.mk overrides for your specific keymap here.
-# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-
-LTO_ENABLE = yes
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-TAP_DANCE_ENABLE = yes
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700b).
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450b).
-RGBLIGHT_ENABLE = yes
-LEADER_ENABLE = yes
-
-UNICODE_ENABLE = no
-COMMAND_ENABLE = no # Commands for debug and configuration
-SWAP_HANDS_ENABLE = no # Allow swapping hands of keyboard.
-
-
-# This are by default off:
-# COMBO_ENABLE = no
-# UCIS_ENABLE = no # For Unicode.
-# UNICODEMAP_ENABLE = no
-# SLEEP_LED_ENABLE = no # Turn off leds when computer is sleeping.
-# KEY_LOCK_ENABLE = no # (+1730b)
-# CONSOLE_ENABLE = no # Console for debug(+400b)
-# MIDI_ENABLE = no
-# BLUETOOTH_ENABLE = no
-# AUDIO_ENABLE = no
-# VARIABLE_TRACE = no
-# BACKLIGHT_ENABLE = no
-# RGB_MATRIX_ENABLE = no
-
-# POINTING_DEVICE_ENABLE = no
-
-# AUTO_SHIFT_ENABLE = no
-
-# This don't need argument?
-# CUSTOM_MATRIX # Custom matrix file for the ErgoDox EZ
-# SPLIT_KEYBOARD
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c
deleted file mode 100644
index e96c7c275e..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c
+++ /dev/null
@@ -1,41 +0,0 @@
-//instanalize an instance of 'tap' for the Dot - Comma tap dance.
-static tap dot_comm_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void dot_comm_finished(tap_dance_state_t *state, void *user_data) {
- dot_comm_state.state = current_dance(state);
- switch (dot_comm_state.state) {
- case SINGLE_TAP:
- register_code(KC_DOT);
- break;
-
- case SINGLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- break;
-
- case DOUBLE_TAP:
- register_code(KC_COMM);
- break;
- }
-}
-
-void dot_comm_reset(tap_dance_state_t *state, void *user_data) {
- switch (dot_comm_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_DOT);
- break;
-
- case SINGLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- break;
-
- case DOUBLE_TAP:
- unregister_code(KC_COMM);
- break;
- }
- dot_comm_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c
deleted file mode 100644
index 0589128a58..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c
+++ /dev/null
@@ -1,39 +0,0 @@
-//instanalize an instance of 'tap' for the H - Mouse - Gui tap dance.
-static tap h_mouse_gui_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void h_mouse_gui_finished(tap_dance_state_t *state, void *user_data) {
- h_mouse_gui_state.state = current_dance(state);
- switch (h_mouse_gui_state.state) {
- case SINGLE_TAP:
- register_code(KC_H);
- break;
-
- case SINGLE_HOLD:
- layer_on(MOUSE);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LGUI);
- break;
- }
-}
-
-void h_mouse_gui_reset(tap_dance_state_t *state, void *user_data) {
- switch (h_mouse_gui_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_H);
- break;
-
- case SINGLE_HOLD:
- layer_off(MOUSE);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LGUI);
- break;
- }
- h_mouse_gui_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c
deleted file mode 100644
index a1400236dc..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c
+++ /dev/null
@@ -1,43 +0,0 @@
-//instanalize an instance of 'tap' for the J - Media - Meh tap dance.
-static tap j_media_meh_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void j_media_meh_finished(tap_dance_state_t *state, void *user_data) {
- j_media_meh_state.state = current_dance(state);
- switch (j_media_meh_state.state) {
- case SINGLE_TAP:
- register_code(KC_J);
- break;
-
- case SINGLE_HOLD:
- layer_on(MEDIA_FN);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- register_code(KC_LALT);
- break;
- }
-}
-
-void j_media_meh_reset(tap_dance_state_t *state, void *user_data) {
- switch (j_media_meh_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_J);
- break;
-
- case SINGLE_HOLD:
- layer_off(MEDIA_FN);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- unregister_code(KC_LALT);
- break;
- }
- j_media_meh_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c
deleted file mode 100644
index c405e65091..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c
+++ /dev/null
@@ -1,45 +0,0 @@
-//instanalize an instance of 'tap' for the K - Numpad - Hyper tap dance.
-static tap k_numpad_hyper_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void k_numpad_hyper_finished(tap_dance_state_t *state, void *user_data) {
- k_numpad_hyper_state.state = current_dance(state);
- switch (k_numpad_hyper_state.state) {
- case SINGLE_TAP:
- register_code(KC_K);
- break;
-
- case SINGLE_HOLD:
- layer_on(NUMPAD);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- register_code(KC_LALT);
- register_code(KC_LGUI);
- break;
- }
-}
-
-void k_numpad_hyper_reset(tap_dance_state_t *state, void *user_data) {
- switch (k_numpad_hyper_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_K);
- break;
-
- case SINGLE_HOLD:
- layer_off(NUMPAD);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- unregister_code(KC_LALT);
- unregister_code(KC_LGUI);
- break;
- }
- k_numpad_hyper_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c
deleted file mode 100644
index 736074e751..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c
+++ /dev/null
@@ -1,45 +0,0 @@
-//instanalize an instance of 'tap' for the M - Chords - Hyper tap dance.
-static tap m_chords_hyper_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void m_chords_hyper_finished(tap_dance_state_t *state, void *user_data) {
- m_chords_hyper_state.state = current_dance(state);
- switch (m_chords_hyper_state.state) {
- case SINGLE_TAP:
- register_code(KC_M);
- break;
-
- case SINGLE_HOLD:
- layer_on(CHORD);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- register_code(KC_LALT);
- register_code(KC_LGUI);
- break;
- }
-}
-
-void m_chords_hyper_reset(tap_dance_state_t *state, void *user_data) {
- switch (m_chords_hyper_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_M);
- break;
-
- case SINGLE_HOLD:
- layer_off(CHORD);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- unregister_code(KC_LALT);
- unregister_code(KC_LGUI);
- break;
- }
- m_chords_hyper_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c
deleted file mode 100644
index a553f874cc..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c
+++ /dev/null
@@ -1,40 +0,0 @@
-//instanalize an instance of 'tap' for the None - Lead tap dance.
-static tap none_lead_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void none_lead_finished(tap_dance_state_t *state, void *user_data) {
- none_lead_state.state = current_dance(state);
- switch (none_lead_state.state) {
- case SINGLE_TAP:
- register_code(KC_NO);
- break;
-
- case SINGLE_HOLD:
- register_code(KC_LALT);
- register_code(KC_LSFT);
- break;
-
- case DOUBLE_TAP:
- leader_start();
- break;
- }
-}
-
-void none_lead_reset(tap_dance_state_t *state, void *user_data) {
- switch (none_lead_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_NO);
- break;
-
- case SINGLE_HOLD:
- unregister_code(KC_LALT);
- unregister_code(KC_LSFT);
- break;
-
- case DOUBLE_TAP:
- break;
- }
- none_lead_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c
deleted file mode 100644
index 8b1af61cac..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c
+++ /dev/null
@@ -1,41 +0,0 @@
-//instanalize an instance of 'tap' for the Quote - Double Quote tap dance.
-static tap quot_dquot_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void quot_dquot_finished(tap_dance_state_t *state, void *user_data) {
- quot_dquot_state.state = current_dance(state);
- switch (quot_dquot_state.state) {
- case SINGLE_TAP:
- register_code(KC_QUOT);
- break;
-
- case SINGLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LALT);
- break;
-
- case DOUBLE_TAP:
- register_code16(KC_DQUO);
- break;
- }
-}
-
-void quot_dquot_reset(tap_dance_state_t *state, void *user_data) {
- switch (quot_dquot_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_QUOT);
- break;
-
- case SINGLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LALT);
- break;
-
- case DOUBLE_TAP:
- unregister_code16(KC_DQUO);
- break;
- }
- quot_dquot_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c
deleted file mode 100644
index 8cc3b6dfe1..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c
+++ /dev/null
@@ -1,43 +0,0 @@
-//instanalize an instance of 'tap' for the Semicolon - Colon tap dance.
-static tap scln_coln_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void scln_coln_finished(tap_dance_state_t *state, void *user_data) {
- scln_coln_state.state = current_dance(state);
- switch (scln_coln_state.state) {
- case SINGLE_TAP:
- register_code(KC_SCLN);
- break;
-
- case SINGLE_HOLD:
- register_code(KC_LALT);
- register_code(KC_LSFT);
- register_code(KC_LGUI);
- break;
-
- case DOUBLE_TAP:
- register_code16(KC_COLN);
- break;
- }
-}
-
-void scln_coln_reset(tap_dance_state_t *state, void *user_data) {
- switch (scln_coln_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_SCLN);
- break;
-
- case SINGLE_HOLD:
- unregister_code(KC_LALT);
- unregister_code(KC_LSFT);
- unregister_code(KC_LGUI);
- break;
-
- case DOUBLE_TAP:
- unregister_code16(KC_COLN);
- break;
- }
- scln_coln_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c
deleted file mode 100644
index b9a213ef08..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c
+++ /dev/null
@@ -1,39 +0,0 @@
-//instanalize an instance of 'tap' for the U - Arrows - Gui tap dance.
-static tap u_arrows_gui_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void u_arrows_gui_finished(tap_dance_state_t *state, void *user_data) {
- u_arrows_gui_state.state = current_dance(state);
- switch (u_arrows_gui_state.state) {
- case SINGLE_TAP:
- register_code(KC_U);
- break;
-
- case SINGLE_HOLD:
- layer_on(ARROWS);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LGUI);
- break;
- }
-}
-
-void u_arrows_gui_reset(tap_dance_state_t *state, void *user_data) {
- switch (u_arrows_gui_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_U);
- break;
-
- case SINGLE_HOLD:
- layer_off(ARROWS);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LGUI);
- break;
- }
- u_arrows_gui_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c
deleted file mode 100644
index 5f2bb2a69a..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c
+++ /dev/null
@@ -1,43 +0,0 @@
-//instanalize an instance of 'tap' for the W - Media - Meh tap dance.
-static tap w_media_meh_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void w_media_meh_finished(tap_dance_state_t *state, void *user_data) {
- w_media_meh_state.state = current_dance(state);
- switch (w_media_meh_state.state) {
- case SINGLE_TAP:
- register_code(KC_W);
- break;
-
- case SINGLE_HOLD:
- layer_on(MEDIA_FN);
- break;
-
- case DOUBLE_HOLD:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- register_code(KC_LALT);
- break;
- }
-}
-
-void w_media_meh_reset(tap_dance_state_t *state, void *user_data) {
- switch (w_media_meh_state.state) {
- case SINGLE_TAP:
- unregister_code(KC_W);
- break;
-
- case SINGLE_HOLD:
- layer_off(MEDIA_FN);
- break;
-
- case DOUBLE_HOLD:
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- unregister_code(KC_LALT);
- break;
- }
- w_media_meh_state.state = 0;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
deleted file mode 100644
index fe13023d45..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
+++ /dev/null
@@ -1,44 +0,0 @@
-// Register the double tap dances:
-tap_dance_action_t tap_dance_actions[] = {
- [EQL_PLUS] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS),
- [MINS_UNDS] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS),
- [SLSH_BSLS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),
- [GRV_TILD] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD),
- [ASTR_CIRC] = ACTION_TAP_DANCE_DOUBLE(KC_ASTR, KC_CIRC),
- [APMR_PIPE] = ACTION_TAP_DANCE_DOUBLE(KC_AMPR, KC_PIPE),
- [EXLM_QUES] = ACTION_TAP_DANCE_DOUBLE(KC_EXLM, KC_QUES),
- [HASH_PERC] = ACTION_TAP_DANCE_DOUBLE(KC_HASH, KC_PERC),
- [AT_DLR] = ACTION_TAP_DANCE_DOUBLE(KC_AT, KC_DLR),
- [LPRN_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_LBRC),
- [RPRN_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_RBRC),
- [LCBR_LABK] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_LABK),
- [RCBR_RABK] = ACTION_TAP_DANCE_DOUBLE(KC_RCBR, KC_RABK),
- [SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_coln_finished, scln_coln_reset),
- [QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quot_dquot_finished, quot_dquot_reset),
- [DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dot_comm_finished, dot_comm_reset),
- [NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, none_lead_finished, none_lead_reset),
- [U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, u_arrows_gui_finished, u_arrows_gui_reset),
- [H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, h_mouse_gui_finished, h_mouse_gui_reset),
- [J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, j_media_meh_finished, j_media_meh_reset),
- [W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, w_media_meh_finished, w_media_meh_reset),
- [K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset),
- [M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, m_chords_hyper_finished, m_chords_hyper_reset),
-};
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case TD(SCLN_COLN):
- case TD(QUOT_DQUO):
- case TD(DOT_COMM):
- case TD(NONE_LEAD):
- case TD(U_ARR_GUI):
- case TD(H_MOU_GUI):
- case TD(J_MED_MEH):
- case TD(W_MED_MEH):
- case TD(K_NUM_HYP):
- case TD(M_CHO_HYP):
- return DANCING_TERM;
- default:
- return TAPPING_TERM;
- }
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c
deleted file mode 100644
index d733123230..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c
+++ /dev/null
@@ -1,75 +0,0 @@
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5, // Send two single taps.
- TRIPLE_TAP = 6,
- TRIPLE_HOLD = 7,
- TRIPLE_SINGLE_TAP = 8 // Send three single taps.
-};
-
-/* Return an integer that corresponds to what kind of tap dance should be executed.
- *
- * How to figure out tap dance state: interrupted and pressed.
- *
- * Interrupted: If the state of a dance dance is "interrupted", that means that another key has been hit
- * under the tapping term. This is typically indicitive that you are trying to "tap" the key.
- *
- * Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term
- * has ended, but the key is still being pressed down. This generally means the key is being "held".
- *
- * One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold"
- * feature. In general, advanced tap dances do not work well if they are used with commonly typed letters.
- * For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters.
- *
- * Good places to put an advanced tap dance:
- * z,q,x,j,k,v,b, any function key, home/end, comma, semi-colon
- *
- * Criteria for "good placement" of a tap dance key:
- * Not a key that is hit frequently in a sentence
- * Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or
- * in a web form. So 'tab' would be a poor choice for a tap dance.
- * Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the
- * letter 'p', the word 'pepper' would be quite frustating to type.
- *
- * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested
- *
- */
-int current_dance(tap_dance_state_t *state) {
- int current_state = 0;
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) {
- current_state = SINGLE_TAP;
- } else {
- current_state = SINGLE_HOLD; //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.
- }
- } else if (state->count == 2) {
- /*
- * DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
- * action when hitting 'pp'. Suggested use case for this return value is when you want to send two
- * keystrokes of the key, and not the 'double tap' action/macro.
- */
- if (state->interrupted) {
- current_state = DOUBLE_SINGLE_TAP;
- } else if (state->pressed) {
- current_state = DOUBLE_HOLD;
- } else {
- current_state = DOUBLE_TAP;
- }
- } else if (state->count == 3) {
- if (state->interrupted) {
- current_state = TRIPLE_SINGLE_TAP;
- } else if (state->pressed) {
- current_state = TRIPLE_HOLD;
- } else {
- current_state = TRIPLE_TAP;
- }
- }
- return current_state;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dances.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dances.c
deleted file mode 100644
index d05a71d7e5..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dances.c
+++ /dev/null
@@ -1,98 +0,0 @@
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- // Single tap | Single hold | Double tap | Double hold | Triple tap | Triple hold //
-// Mod tap dances: // | | | | | //
-enum tap_dances { //--------------------------------------------------------------------------------------------//
- // | | | | | //
- EQL_PLUS = 0, // = | | + | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- MINS_UNDS = 1, // - | | _ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- SLSH_BSLS = 2, // / | | \ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- GRV_TILD = 3, // ` | | ~ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- QUOT_DQUO = 4, // ' | CTRL+ALT | " | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- SCLN_COLN = 5, // ; |ALT+SHIFT+META | : | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- ASTR_CIRC = 6, // * | | ^ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- APMR_PIPE = 7, // & | | | | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- EXLM_QUES = 8, // ! | | ? | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- HASH_PERC = 9, // # | | % | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- AT_DLR = 10, // @ | | $ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- LPRN_LBRC = 11, // ( | | [ | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- RPRN_RBRC = 12, // ) | | ] | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- LCBR_LABK = 13, // { | | < | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- RCBR_RABK = 14, // } | | > | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- DOT_COMM = 15, // . | CTRL+SHIFT | , | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- NONE_LEAD = 16, // NONE | ALT+SHIFT | LEAD | | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- U_ARR_GUI = 17, // U | ARROWS | | GUI | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- H_MOU_GUI = 18, // H | MOUSE | | GUI | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- J_MED_MEH = 19, // J | MEDIA_FN | | MEH | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- W_MED_MEH = 20, // W | MEDIA_FN | | MEH | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- K_NUM_HYP = 21, // K | NUMPAD | | HYPER | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
- // | | | | | //
- M_CHO_HYP = 22, // M | CHORD | | HYPER | | //
- // | | | | | //
- //--------------------------------------------------------------------------------------------//
-};
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/eeconfig_init_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/eeconfig_init_user.c
deleted file mode 100644
index 41b7b66941..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/eeconfig_init_user.c
+++ /dev/null
@@ -1,3 +0,0 @@
-// void eeconfig_init_user(void) {
-//
-// };
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
deleted file mode 100644
index 5ce5f5298f..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
+++ /dev/null
@@ -1,121 +0,0 @@
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = get_highest_layer(state);
-
- switch (layer) {
- case DVORAK:
- rgblight_sethsv_noeeprom(HSV_GREEN);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case PLOVER:
- rgblight_sethsv_noeeprom(HSV_RED);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
-
- if (!(PLOVER_MODE)) {
- plover_toggle();
- PLOVER_MODE = true;
- }
-
- break;
-
- case GAMING:
- rgblight_sethsv_noeeprom(HSV_RED);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case ARROWS:
- rgblight_sethsv_noeeprom(HSV_BLUE);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case MOUSE:
- rgblight_sethsv_noeeprom(HSV_BLUE);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case NUMPAD:
- rgblight_sethsv_noeeprom(HSV_BLUE);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case LAYERS:
- rgblight_sethsv_noeeprom(HSV_CYAN);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case MEDIA_FN:
- rgblight_sethsv_noeeprom(HSV_YELLOW);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case CHORD:
- rgblight_sethsv_noeeprom(HSV_MAGENTA);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- case FIRMWARE:
- rgblight_sethsv_noeeprom(HSV_MAGENTA);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-
- if (PLOVER_MODE) {
- plover_toggle();
- PLOVER_MODE = false;
- }
-
- break;
-
- default:
- break;
- }
-
- return state;
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/matrix_scan_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/matrix_scan_user.c
deleted file mode 100644
index fc6c99cb85..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/matrix_scan_user.c
+++ /dev/null
@@ -1,20 +0,0 @@
-bool MATRIX_SCANNED = false;
-
-void matrix_scan_user(void) {
- if (!(MATRIX_SCANNED)) {
- rgblight_sethsv_noeeprom(HSV_GREEN);
- MATRIX_SCANNED = true;
- }
-};
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(TD(APMR_PIPE))) {
- register_code(KC_LCTL);
- register_code(KC_LSFT);
- register_code(KC_U);
-
- unregister_code(KC_U);
- unregister_code(KC_LSFT);
- unregister_code(KC_LCTL);
- }
-}
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/process_record_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/process_record_user.c
deleted file mode 100644
index 967d554081..0000000000
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/process_record_user.c
+++ /dev/null
@@ -1,75 +0,0 @@
-// TODO: Improve this currently there is no feedback if activated by other means.
-bool CAPS_LOCK = false;
-bool NUM_LOCK = false;
-bool SCROLL_LOCK = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
-
- switch (keycode) {
- case KC_CAPS_LOCK:
- if (record->event.pressed) {
- if (!(CAPS_LOCK)) {
- ergodox_right_led_1_on();
- CAPS_LOCK = true;
- } else {
- ergodox_right_led_1_off();
- CAPS_LOCK = false;
- }
- }
-
- return true;
-
- case KC_NUM_LOCK:
- if (record->event.pressed) {
- if (!(NUM_LOCK)) {
- ergodox_right_led_2_on();
- NUM_LOCK = true;
- } else {
- ergodox_right_led_2_off();
- NUM_LOCK = false;
- }
- }
-
- return true;
-
- case KC_SCROLL_LOCK:
- if (record->event.pressed) {
- if (!(SCROLL_LOCK)) {
- ergodox_right_led_3_on();
- SCROLL_LOCK = true;
- } else {
- ergodox_right_led_3_off();
- SCROLL_LOCK = false;
- }
- }
-
- return true;
-
- case KC_MS_WH_UP ... KC_MS_WH_RIGHT:
- if (record->event.pressed) {
- if (SCROLL_LOCK) {
- return false;
- } else {
- return true;
- }
- }
-
- case MY_CUSTOM_MACRO:
- if (record->event.pressed) {
- SEND_STRING("QMK is the best thing ever!"); // this is our macro!
- return false;
- }
-
- case MY_OTHER_MACRO:
- if (record->event.pressed) {
- SEND_STRING(SS_LCTL("ac")); // selects all and copies
- return false;
- }
-
- default:
- return true;
- }
-}
diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c
index 23ef91b74f..80dabf4815 100644
--- a/keyboards/ergodox_ez/led_i2c.c
+++ b/keyboards/ergodox_ez/led_i2c.c
@@ -21,35 +21,50 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGBLIGHT_ENABLE
# include "ergodox_ez.h"
+# include "ws2812.h"
-void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) {
- i2c_init();
- i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);
+void setleds_custom(rgb_led_t *led, uint16_t led_num) {
+ uint16_t length = 0;
int i = 0;
+ int j = 0;
+# ifdef RGBW
+ int bytes_per_led = 4;
+# else
+ int bytes_per_led = 3;
+# endif
# if defined(ERGODOX_LED_30)
// prevent right-half code from trying to bitbang all 30
// so with 30 LEDs, we count from 29 to 15 here, and the
// other half does 0 to 14.
- uint8_t half_led_num = RGBLED_NUM / 2;
+ uint8_t half_led_num = RGBLIGHT_LED_COUNT / 2;
+ length = half_led_num * bytes_per_led;
+ uint8_t data[length];
for (i = half_led_num + half_led_num - 1; i >= half_led_num; --i)
# elif defined(ERGODOX_LED_15_MIRROR)
+ length = led_num * bytes_per_led;
+ uint8_t data[length];
for (i = 0; i < led_num; ++i)
# else // ERGDOX_LED_15 non-mirrored
+ length = led_num * bytes_per_led;
+ uint8_t data[length];
for (i = led_num - 1; i >= 0; --i)
# endif
{
- uint8_t *data = (uint8_t *)(led + i);
- i2c_write(*data++, ERGODOX_EZ_I2C_TIMEOUT);
- i2c_write(*data++, ERGODOX_EZ_I2C_TIMEOUT);
- i2c_write(*data++, ERGODOX_EZ_I2C_TIMEOUT);
+ uint8_t *data_byte = (uint8_t *)(led + i);
+ data[j++] = data_byte[0];
+ data[j++] = data_byte[1];
+ data[j++] = data_byte[2];
#ifdef RGBW
- i2c_write(*data++, ERGODOX_EZ_I2C_TIMEOUT);
+ data[j++] = data_byte[3];
#endif
}
- i2c_stop();
+ i2c_transmit(0x84, data, sizeof(data), ERGODOX_EZ_I2C_TIMEOUT);
ws2812_setleds(led, led_num);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif // RGBLIGHT_ENABLE
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index e84a5e2bd3..28bee05779 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -146,13 +146,8 @@ static matrix_row_t read_cols(uint8_t row) {
uint8_t data = 0;
// reading GPIOB (column port) since in mcp23018's sequential mode
// it is addressed directly after writing to GPIOA in select_row()
- mcp23018_status = i2c_start(I2C_ADDR_READ, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
- return data;
+ mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
+ return ~data;
}
} else {
/* read from teensy
@@ -196,11 +191,9 @@ static void select_row(uint8_t row) {
if (!mcp23018_status) {
// set active row low : 0
// set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0xFF & ~(1 << row), ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data;
+ data = 0xFF & ~(1 << row);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
}
} else {
// select on teensy
diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h
index 0d4fe5c683..eb22439ae4 100644
--- a/keyboards/ergodox_ez/post_config.h
+++ b/keyboards/ergodox_ez/post_config.h
@@ -33,8 +33,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef ERGODOX_LED_30
// If using 30 LEDs, then define that many
-# define RGBLED_NUM 30 // Number of LEDs
+# define RGBLIGHT_LED_COUNT 30 // Number of LEDs
#else
// If not, then only define 15
-# define RGBLED_NUM 15 // Number of LEDs
+# define RGBLIGHT_LED_COUNT 15 // Number of LEDs
#endif
diff --git a/keyboards/ergodox_ez/shine/info.json b/keyboards/ergodox_ez/shine/info.json
index 11c3a8b209..181ac52e6c 100644
--- a/keyboards/ergodox_ez/shine/info.json
+++ b/keyboards/ergodox_ez/shine/info.json
@@ -2,5 +2,8 @@
"keyboard_name": "ErgoDox EZ Shine",
"usb": {
"pid": "0x4975"
+ },
+ "rgblight": {
+ "driver": "custom"
}
}
diff --git a/keyboards/ergodox_ez/shine/rules.mk b/keyboards/ergodox_ez/shine/rules.mk
index 1e3cebb145..b035c36850 100644
--- a/keyboards/ergodox_ez/shine/rules.mk
+++ b/keyboards/ergodox_ez/shine/rules.mk
@@ -1 +1,2 @@
RGBLIGHT_ENABLE = yes
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/ergodox_stm32/ergodox_stm32.c b/keyboards/ergodox_stm32/ergodox_stm32.c
index 2a919506dc..99d51866f7 100644
--- a/keyboards/ergodox_stm32/ergodox_stm32.c
+++ b/keyboards/ergodox_stm32/ergodox_stm32.c
@@ -59,16 +59,16 @@ uint8_t init_mcp23017(void) {
uint8_t data[2];
data[0] = 0x0;
data[1] = 0b00111111;
- mcp23017_status = i2c_writeReg(I2C_ADDR, I2C_IODIRA, data, 2, 50000);
+ mcp23017_status = i2c_write_register(I2C_ADDR, I2C_IODIRA, data, 2, 50000);
if (mcp23017_status) goto out;
data[0] = 0xFFU;
- mcp23017_status = i2c_writeReg(I2C_ADDR, I2C_GPIOA, data, 1, 5000);
+ mcp23017_status = i2c_write_register(I2C_ADDR, I2C_GPIOA, data, 1, 5000);
if (mcp23017_status) goto out;
- mcp23017_status = i2c_writeReg(I2C_ADDR, I2C_GPPUB, data+1, 1, 2);
+ mcp23017_status = i2c_write_register(I2C_ADDR, I2C_GPPUB, data+1, 1, 2);
if (mcp23017_status) goto out;
out:
return mcp23017_status;
- // i2c_readReg(I2C_ADDR, );
+ // i2c_read_register(I2C_ADDR, );
}
diff --git a/keyboards/ergodox_stm32/matrix.c b/keyboards/ergodox_stm32/matrix.c
index 3eb35cd7bb..6acd2dda22 100644
--- a/keyboards/ergodox_stm32/matrix.c
+++ b/keyboards/ergodox_stm32/matrix.c
@@ -134,7 +134,7 @@ static matrix_row_t read_cols(uint8_t row) {
uint8_t data = 0xFF;
if (!mcp23017_status) {
uint8_t regAddr = I2C_GPIOB;
- mcp23017_status = i2c_readReg(I2C_ADDR, regAddr, &data, 1, 10);
+ mcp23017_status = i2c_read_register(I2C_ADDR, regAddr, &data, 1, 10);
}
if (mcp23017_status) {
return 0;
@@ -174,7 +174,7 @@ static void select_row(uint8_t row) {
if (row < MATRIX_ROWS_PER_SIDE) {
if (!mcp23017_status) {
uint8_t data = (0xFF & ~(1 << row));
- mcp23017_status = i2c_writeReg(I2C_ADDR, I2C_GPIOA, &data, 1, 10);
+ mcp23017_status = i2c_write_register(I2C_ADDR, I2C_GPIOA, &data, 1, 10);
}
} else {
GPIOB->BRR = 0x1 << (row+1);
diff --git a/keyboards/ergotravel/keymaps/default/config.h b/keyboards/ergotravel/keymaps/default/config.h
index d047f718d6..746e60da5a 100644
--- a/keyboards/ergotravel/keymaps/default/config.h
+++ b/keyboards/ergotravel/keymaps/default/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/ergotravel/keymaps/via/config.h b/keyboards/ergotravel/keymaps/via/config.h
index 409e3efde4..d42b738adc 100644
--- a/keyboards/ergotravel/keymaps/via/config.h
+++ b/keyboards/ergotravel/keymaps/via/config.h
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 14
+// #undef RGBLIGHT_LED_COUNT
+// #define RGBLIGHT_LED_COUNT 14
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/eu_isolation/readme.md b/keyboards/eu_isolation/readme.md
deleted file mode 100644
index c1272ea6a9..0000000000
--- a/keyboards/eu_isolation/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# EU ISOlation
-
-![euisolation](https://i.imgur.com/5LGsiJZh.jpg)
-
-EU ISOlation is an ortholinear 40% keyboard designed to use up your spare iso
-enters from you collection of keyboard kits.
-
-* Keyboard Maintainer: Originally by [TuckTuckFloof](https://github.com/TuckTuckFloof)
- cleaned up and merged to QMK by [aadriance](https://github.com/aadriance)
-* Hardware Supported: EU ISOlation
-* Hardware Availability: Originally a [P3DStore](https://p3dstore.com/) group buy.
- Open source pcb info available on [TuckTuckFloofs github](https://github.com/TuckTuckFloof/EUISO-pcb)
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
-
-## Information
-
-Make example for this keyboard (after setting up your build environment):
-
- make eu_isolation:default
-
-Flashing example for this keyboard:
-
- make eu_isolation:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h
index 53bbf4f51b..83d433f08d 100644
--- a/keyboards/evyd13/atom47/rev5/config.h
+++ b/keyboards/evyd13/atom47/rev5/config.h
@@ -39,53 +39,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define RGB_MATRIX_LED_COUNT 64
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json
index bb068b1536..e82a7797de 100644
--- a/keyboards/evyd13/atom47/rev5/info.json
+++ b/keyboards/evyd13/atom47/rev5/info.json
@@ -9,6 +9,37 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
"driver": "is31fl3733"
},
"matrix_pins": {
@@ -18,7 +49,7 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
- "layout_aliases": {
+ "layout_aliases": {
"LAYOUT_all": "LAYOUT_split_space"
},
"layouts": {
diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c
index 7bf2a961ff..b8ea0688cd 100644
--- a/keyboards/evyd13/atom47/rev5/rev5.c
+++ b/keyboards/evyd13/atom47/rev5/rev5.c
@@ -17,64 +17,64 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, B_1, C_1, A_1},
- {0, B_2, C_2, A_2},
- {0, B_3, C_3, A_3},
- {0, B_4, C_4, A_4},
- {0, B_5, C_5, A_5},
- {0, B_6, C_6, A_6},
- {0, B_7, C_7, A_7},
- {0, B_8, C_8, A_8},
- {0, B_9, C_9, A_9},
- {0, B_10, C_10, A_10},
- {0, B_11, C_11, A_11},
- {0, B_12, C_12, A_12},
- {0, B_13, C_13, A_13},
+ {0, SW2_CS1, SW3_CS1, SW1_CS1},
+ {0, SW2_CS2, SW3_CS2, SW1_CS2},
+ {0, SW2_CS3, SW3_CS3, SW1_CS3},
+ {0, SW2_CS4, SW3_CS4, SW1_CS4},
+ {0, SW2_CS5, SW3_CS5, SW1_CS5},
+ {0, SW2_CS6, SW3_CS6, SW1_CS6},
+ {0, SW2_CS7, SW3_CS7, SW1_CS7},
+ {0, SW2_CS8, SW3_CS8, SW1_CS8},
+ {0, SW2_CS9, SW3_CS9, SW1_CS9},
+ {0, SW2_CS10, SW3_CS10, SW1_CS10},
+ {0, SW2_CS11, SW3_CS11, SW1_CS11},
+ {0, SW2_CS12, SW3_CS12, SW1_CS12},
+ {0, SW2_CS13, SW3_CS13, SW1_CS13},
- {0, E_1, F_1, D_1},
- {0, E_2, F_2, D_2},
- {0, E_3, F_3, D_3},
- {0, E_4, F_4, D_4},
- {0, E_5, F_5, D_5},
- {0, E_6, F_6, D_6},
- {0, E_7, F_7, D_7},
- {0, E_8, F_8, D_8},
- {0, E_9, F_9, D_9},
- {0, E_10, F_10, D_10},
- {0, E_11, F_11, D_11},
- {0, E_13, F_13, D_13},
+ {0, SW5_CS1, SW6_CS1, SW4_CS1},
+ {0, SW5_CS2, SW6_CS2, SW4_CS2},
+ {0, SW5_CS3, SW6_CS3, SW4_CS3},
+ {0, SW5_CS4, SW6_CS4, SW4_CS4},
+ {0, SW5_CS5, SW6_CS5, SW4_CS5},
+ {0, SW5_CS6, SW6_CS6, SW4_CS6},
+ {0, SW5_CS7, SW6_CS7, SW4_CS7},
+ {0, SW5_CS8, SW6_CS8, SW4_CS8},
+ {0, SW5_CS9, SW6_CS9, SW4_CS9},
+ {0, SW5_CS10, SW6_CS10, SW4_CS10},
+ {0, SW5_CS11, SW6_CS11, SW4_CS11},
+ {0, SW5_CS13, SW6_CS13, SW4_CS13},
- {0, H_1, I_1, G_1},
- {0, H_2, I_2, G_2},
- {0, H_3, I_3, G_3},
- {0, H_4, I_4, G_4},
- {0, H_5, I_5, G_5},
- {0, H_6, I_6, G_6},
- {0, H_7, I_7, G_7},
- {0, H_8, I_8, G_8},
- {0, H_9, I_9, G_9},
- {0, H_10, I_10, G_10},
- {0, H_11, I_11, G_11},
- {0, H_12, I_12, G_12},
- {0, H_13, I_13, G_13},
+ {0, SW8_CS1, SW9_CS1, SW7_CS1},
+ {0, SW8_CS2, SW9_CS2, SW7_CS2},
+ {0, SW8_CS3, SW9_CS3, SW7_CS3},
+ {0, SW8_CS4, SW9_CS4, SW7_CS4},
+ {0, SW8_CS5, SW9_CS5, SW7_CS5},
+ {0, SW8_CS6, SW9_CS6, SW7_CS6},
+ {0, SW8_CS7, SW9_CS7, SW7_CS7},
+ {0, SW8_CS8, SW9_CS8, SW7_CS8},
+ {0, SW8_CS9, SW9_CS9, SW7_CS9},
+ {0, SW8_CS10, SW9_CS10, SW7_CS10},
+ {0, SW8_CS11, SW9_CS11, SW7_CS11},
+ {0, SW8_CS12, SW9_CS12, SW7_CS12},
+ {0, SW8_CS13, SW9_CS13, SW7_CS13},
- {0, K_1, L_1, J_1},
- {0, K_2, L_2, J_2},
- {0, K_3, L_3, J_3},
- {0, K_4, L_4, J_4},
- {0, K_6, L_6, J_6},
- {0, K_8, L_8, J_8},
- {0, K_10, L_10, J_10},
- {0, K_11, L_11, J_11},
- {0, K_12, L_12, J_12},
- {0, K_13, L_13, J_13}
+ {0, SW11_CS1, SW12_CS1, SW10_CS1},
+ {0, SW11_CS2, SW12_CS2, SW10_CS2},
+ {0, SW11_CS3, SW12_CS3, SW10_CS3},
+ {0, SW11_CS4, SW12_CS4, SW10_CS4},
+ {0, SW11_CS6, SW12_CS6, SW10_CS6},
+ {0, SW11_CS8, SW12_CS8, SW10_CS8},
+ {0, SW11_CS10, SW12_CS10, SW10_CS10},
+ {0, SW11_CS11, SW12_CS11, SW10_CS11},
+ {0, SW11_CS12, SW12_CS12, SW10_CS12},
+ {0, SW11_CS13, SW12_CS13, SW10_CS13}
};
led_config_t g_led_config = { {
diff --git a/keyboards/evyd13/eon40/rules.mk b/keyboards/evyd13/eon40/rules.mk
index 4223fc83cc..ece680a57a 100644
--- a/keyboards/evyd13/eon40/rules.mk
+++ b/keyboards/evyd13/eon40/rules.mk
@@ -12,8 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/evyd13/eon95/config.h b/keyboards/evyd13/eon95/config.h
index dcf77ef1ac..230ff5e311 100644
--- a/keyboards/evyd13/eon95/config.h
+++ b/keyboards/evyd13/eon95/config.h
@@ -36,5 +36,3 @@
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/eon95/info.json b/keyboards/evyd13/eon95/info.json
index 8e2b0a5034..c928894dba 100644
--- a/keyboards/evyd13/eon95/info.json
+++ b/keyboards/evyd13/eon95/info.json
@@ -13,6 +13,9 @@
"rows": ["D1", "D0", "D3", "D2", "D6", "D4", "D7", "B4", "B5", "B6", "C6", "C7"]
},
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "D5",
"num_lock": "B7",
diff --git a/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h b/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h
index c0a6bf5976..f0ae6b07ee 100644
--- a/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h
+++ b/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h
@@ -17,7 +17,7 @@
#pragma once
#define WS2812_DI_PIN B2
-#define RGBLED_NUM 8
+#define RGBLIGHT_LED_COUNT 8
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/evyd13/plain60/keymaps/rgb/config.h b/keyboards/evyd13/plain60/keymaps/rgb/config.h
index e34715a773..43c4f02197 100644
--- a/keyboards/evyd13/plain60/keymaps/rgb/config.h
+++ b/keyboards/evyd13/plain60/keymaps/rgb/config.h
@@ -11,7 +11,7 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 20 // limit to 20 otherwise brownouts
+#define RGBLIGHT_LED_COUNT 20 // limit to 20 otherwise brownouts
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/evyd13/quackfire/config.h b/keyboards/evyd13/quackfire/config.h
index 78bb3b6f80..f64827d05f 100644
--- a/keyboards/evyd13/quackfire/config.h
+++ b/keyboards/evyd13/quackfire/config.h
@@ -37,5 +37,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/quackfire/info.json b/keyboards/evyd13/quackfire/info.json
index 4f2e248aa5..493559b38e 100644
--- a/keyboards/evyd13/quackfire/info.json
+++ b/keyboards/evyd13/quackfire/info.json
@@ -13,6 +13,9 @@
"rows": ["D3", "F5", "F4", "F0", "B7", "B2", "E6", "B0"]
},
"diode_direction": "ROW2COL",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "F7",
"scroll_lock": "F6",
diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h
index 78e619874c..8f4df3adf5 100644
--- a/keyboards/evyd13/wasdat/config.h
+++ b/keyboards/evyd13/wasdat/config.h
@@ -52,5 +52,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/wasdat/info.json b/keyboards/evyd13/wasdat/info.json
index f044efff66..109e033532 100644
--- a/keyboards/evyd13/wasdat/info.json
+++ b/keyboards/evyd13/wasdat/info.json
@@ -13,6 +13,9 @@
"bootmagic": {
"matrix": [0, 5]
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"qmk_lufa_bootloader": {
"esc_output": "D6",
"esc_input": "D7",
diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h
index 085965b814..769751b19d 100644
--- a/keyboards/evyd13/wasdat_code/config.h
+++ b/keyboards/evyd13/wasdat_code/config.h
@@ -58,5 +58,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/wasdat_code/info.json b/keyboards/evyd13/wasdat_code/info.json
index 3841f56cbd..9fb14283ae 100644
--- a/keyboards/evyd13/wasdat_code/info.json
+++ b/keyboards/evyd13/wasdat_code/info.json
@@ -13,6 +13,9 @@
"levels": 5,
"breathing": true
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"qmk_lufa_bootloader": {
"esc_input": "F0",
"esc_output": "E6",
diff --git a/keyboards/exclusive/e6_rgb/config.h b/keyboards/exclusive/e6_rgb/config.h
index 62eb2320f7..5baa57c34f 100644
--- a/keyboards/exclusive/e6_rgb/config.h
+++ b/keyboards/exclusive/e6_rgb/config.h
@@ -5,5 +5,4 @@
#pragma once
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-
-#define RGB_MATRIX_LED_COUNT 63
+#define IS31FL3733_SDB_PIN D5
diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c
index f34f40cc1f..19dd96a073 100644
--- a/keyboards/exclusive/e6_rgb/e6_rgb.c
+++ b/keyboards/exclusive/e6_rgb/e6_rgb.c
@@ -1,13 +1,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-void matrix_init_kb(void) {
- setPinOutput(D5);
- writePinHigh(D5);
- matrix_init_user();
-}
-
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -15,86 +9,86 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
//cs1
- {0, K_1, J_1, L_1},
- {0, H_1, G_1, I_1},
- {0, E_1, D_1, F_1},
- {0, B_1, A_1, C_1},
+ {0, SW11_CS1, SW10_CS1, SW12_CS1},
+ {0, SW8_CS1, SW7_CS1, SW9_CS1},
+ {0, SW5_CS1, SW4_CS1, SW6_CS1},
+ {0, SW2_CS1, SW1_CS1, SW3_CS1},
//cs2
- {0, K_2, J_2, L_2},
- {0, H_2, G_2, I_2},
- {0, E_2, D_2, F_2},
- {0, B_2, A_2, C_2},
+ {0, SW11_CS2, SW10_CS2, SW12_CS2},
+ {0, SW8_CS2, SW7_CS2, SW9_CS2},
+ {0, SW5_CS2, SW4_CS2, SW6_CS2},
+ {0, SW2_CS2, SW1_CS2, SW3_CS2},
//cs3
- {0, K_3, J_3, L_3},
- {0, H_3, G_3, I_3},
- {0, E_3, D_3, F_3},
- {0, B_3, A_3, C_3},
+ {0, SW11_CS3, SW10_CS3, SW12_CS3},
+ {0, SW8_CS3, SW7_CS3, SW9_CS3},
+ {0, SW5_CS3, SW4_CS3, SW6_CS3},
+ {0, SW2_CS3, SW1_CS3, SW3_CS3},
//cs4
- {0, K_4, J_4, L_4},
- {0, H_4, G_4, I_4},
- {0, E_4, D_4, F_4},
- {0, B_4, A_4, C_4},
+ {0, SW11_CS4, SW10_CS4, SW12_CS4},
+ {0, SW8_CS4, SW7_CS4, SW9_CS4},
+ {0, SW5_CS4, SW4_CS4, SW6_CS4},
+ {0, SW2_CS4, SW1_CS4, SW3_CS4},
//cs5
- {0, K_5, J_5, L_5},
- {0, H_5, G_5, I_5},
- {0, E_5, D_5, F_5},
- {0, B_5, A_5, C_5},
+ {0, SW11_CS5, SW10_CS5, SW12_CS5},
+ {0, SW8_CS5, SW7_CS5, SW9_CS5},
+ {0, SW5_CS5, SW4_CS5, SW6_CS5},
+ {0, SW2_CS5, SW1_CS5, SW3_CS5},
//cs6
- {0, K_6, J_6, L_6},
- {0, H_6, G_6, I_6},
- {0, E_6, D_6, F_6},
- {0, B_6, A_6, C_6},
+ {0, SW11_CS6, SW10_CS6, SW12_CS6},
+ {0, SW8_CS6, SW7_CS6, SW9_CS6},
+ {0, SW5_CS6, SW4_CS6, SW6_CS6},
+ {0, SW2_CS6, SW1_CS6, SW3_CS6},
//cs7
- {0, K_7, J_7, L_7},
- {0, H_7, G_7, I_7},
- {0, E_7, D_7, F_7},
- {0, B_7, A_7, C_7},
+ {0, SW11_CS7, SW10_CS7, SW12_CS7},
+ {0, SW8_CS7, SW7_CS7, SW9_CS7},
+ {0, SW5_CS7, SW4_CS7, SW6_CS7},
+ {0, SW2_CS7, SW1_CS7, SW3_CS7},
//cs8
- {0, K_8, J_8, L_8},
- {0, H_8, G_8, I_8},
- {0, E_8, D_8, F_8},
- {0, B_8, A_8, C_8},
+ {0, SW11_CS8, SW10_CS8, SW12_CS8},
+ {0, SW8_CS8, SW7_CS8, SW9_CS8},
+ {0, SW5_CS8, SW4_CS8, SW6_CS8},
+ {0, SW2_CS8, SW1_CS8, SW3_CS8},
//cs9
- {0, K_9, J_9, L_9},
- {0, H_9, G_9, I_9},
- {0, E_9, D_9, F_9},
- {0, B_9, A_9, C_9},
+ {0, SW11_CS9, SW10_CS9, SW12_CS9},
+ {0, SW8_CS9, SW7_CS9, SW9_CS9},
+ {0, SW5_CS9, SW4_CS9, SW6_CS9},
+ {0, SW2_CS9, SW1_CS9, SW3_CS9},
//cs10
- {0, K_10, J_10, L_10},
- {0, H_10, G_10, I_10},
- {0, E_10, D_10, F_10},
- {0, B_10, A_10, C_10},
+ {0, SW11_CS10, SW10_CS10, SW12_CS10},
+ {0, SW8_CS10, SW7_CS10, SW9_CS10},
+ {0, SW5_CS10, SW4_CS10, SW6_CS10},
+ {0, SW2_CS10, SW1_CS10, SW3_CS10},
//cs11
- {0, K_11, J_11, L_11},
- {0, H_11, G_11, I_11},
- {0, E_11, D_11, F_11},
- {0, B_11, A_11, C_11},
+ {0, SW11_CS11, SW10_CS11, SW12_CS11},
+ {0, SW8_CS11, SW7_CS11, SW9_CS11},
+ {0, SW5_CS11, SW4_CS11, SW6_CS11},
+ {0, SW2_CS11, SW1_CS11, SW3_CS11},
//cs12
- {0, K_12, J_12, L_12},
- {0, H_12, G_12, I_12},
- {0, E_12, D_12, F_12},
- {0, B_12, A_12, C_12},
+ {0, SW11_CS12, SW10_CS12, SW12_CS12},
+ {0, SW8_CS12, SW7_CS12, SW9_CS12},
+ {0, SW5_CS12, SW4_CS12, SW6_CS12},
+ {0, SW2_CS12, SW1_CS12, SW3_CS12},
//cs13
- {0, K_13, J_13, L_13},
- {0, H_13, G_13, I_13},
- {0, E_13, D_13, F_13},
- {0, B_13, A_13, C_13},
+ {0, SW11_CS13, SW10_CS13, SW12_CS13},
+ {0, SW8_CS13, SW7_CS13, SW9_CS13},
+ {0, SW5_CS13, SW4_CS13, SW6_CS13},
+ {0, SW2_CS13, SW1_CS13, SW3_CS13},
//cs14
- {0, K_14, J_14, L_14},
- {0, H_14, G_14, I_14},
- {0, E_14, D_14, F_14},
- {0, B_14, A_14, C_14},
+ {0, SW11_CS14, SW10_CS14, SW12_CS14},
+ {0, SW8_CS14, SW7_CS14, SW9_CS14},
+ {0, SW5_CS14, SW4_CS14, SW6_CS14},
+ {0, SW2_CS14, SW1_CS14, SW3_CS14},
//cs15
- {0, K_15, J_15, L_15},
+ {0, SW11_CS15, SW10_CS15, SW12_CS15},
- {0, E_15, D_15, F_15},
- {0, B_15, A_15, C_15},
+ {0, SW5_CS15, SW4_CS15, SW6_CS15},
+ {0, SW2_CS15, SW1_CS15, SW3_CS15},
//cs16
- {0, K_16, J_16, L_16},
- {0, H_16, G_16, I_16},
- {0, E_16, D_16, F_16},
- {0, B_16, A_16, C_16},
+ {0, SW11_CS16, SW10_CS16, SW12_CS16},
+ {0, SW8_CS16, SW7_CS16, SW9_CS16},
+ {0, SW5_CS16, SW4_CS16, SW6_CS16},
+ {0, SW2_CS16, SW1_CS16, SW3_CS16},
};
led_config_t g_led_config = { {
diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c
index b95786db41..41d27b0972 100755
--- a/keyboards/fallacy/indicators.c
+++ b/keyboards/fallacy/indicators.c
@@ -15,7 +15,7 @@
*/
#include "indicators.h"
-#include "drivers/led/issi/is31fl3731-simple.h"
+#include "drivers/led/issi/is31fl3731-mono.h"
#include "i2c_master.h"
/* Set up IS31FL3731 for use in powering indicator LEDs. Absolutely overkill for this job but it was already in the design.
diff --git a/keyboards/fallacy/rules.mk b/keyboards/fallacy/rules.mk
index 7fa230bae2..ee1a36c910 100755
--- a/keyboards/fallacy/rules.mk
+++ b/keyboards/fallacy/rules.mk
@@ -13,5 +13,5 @@ AUDIO_ENABLE = no # Audio output
# project specific files
SRC += indicators.c \
- drivers/led/issi/is31fl3731-simple.c
+ drivers/led/issi/is31fl3731-mono.c
I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/fancytech/fancyalice66/config.h b/keyboards/fancytech/fancyalice66/config.h
deleted file mode 100644
index 9f56bd3a20..0000000000
--- a/keyboards/fancytech/fancyalice66/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2022 chent7 (@chent7)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 82
-
- /* RGB Matrix effect */
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif \ No newline at end of file
diff --git a/keyboards/fancytech/fancyalice66/info.json b/keyboards/fancytech/fancyalice66/info.json
index 21c89849fd..b2e219c1c9 100644
--- a/keyboards/fancytech/fancyalice66/info.json
+++ b/keyboards/fancytech/fancyalice66/info.json
@@ -9,11 +9,13 @@
{"pin_a": "F0", "pin_b": "F1", "resolution": 2}
]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/fc660c/ad5258.c b/keyboards/fc660c/ad5258.c
index f7ff2f3dc1..9d33c10ce4 100644
--- a/keyboards/fc660c/ad5258.c
+++ b/keyboards/fc660c/ad5258.c
@@ -35,18 +35,18 @@ void ad5258_init(void) {
uint8_t ad5258_read_rdac(void) {
// read RDAC register
uint8_t ret = 0;
- i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100);
+ i2c_read_register(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100);
return ret;
}
uint8_t ad5258_read_eeprom(void) {
uint8_t ret = 0;
- i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100);
+ i2c_read_register(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100);
return ret;
}
void ad5258_write_rdac(uint8_t rdac) {
// write RDAC register:
uint8_t data = rdac & 0x3F;
- i2c_writeReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100);
+ i2c_write_register(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100);
}
diff --git a/keyboards/fc660c/keymaps/default_rgb/config.h b/keyboards/fc660c/keymaps/default_rgb/config.h
index 23745f3190..1953964f88 100644
--- a/keyboards/fc660c/keymaps/default_rgb/config.h
+++ b/keyboards/fc660c/keymaps/default_rgb/config.h
@@ -21,7 +21,7 @@
/*RGB*/
/*Repurpose Insert LED */
#define WS2812_DI_PIN B5
- #define RGBLED_NUM 16
+ #define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_DEFAULT_HUE 127
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/fc660c/keymaps/via_rgb/config.h b/keyboards/fc660c/keymaps/via_rgb/config.h
index 23745f3190..1953964f88 100644
--- a/keyboards/fc660c/keymaps/via_rgb/config.h
+++ b/keyboards/fc660c/keymaps/via_rgb/config.h
@@ -21,7 +21,7 @@
/*RGB*/
/*Repurpose Insert LED */
#define WS2812_DI_PIN B5
- #define RGBLED_NUM 16
+ #define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_DEFAULT_HUE 127
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/fc980c/ad5258.c b/keyboards/fc980c/ad5258.c
index f7ff2f3dc1..9d33c10ce4 100644
--- a/keyboards/fc980c/ad5258.c
+++ b/keyboards/fc980c/ad5258.c
@@ -35,18 +35,18 @@ void ad5258_init(void) {
uint8_t ad5258_read_rdac(void) {
// read RDAC register
uint8_t ret = 0;
- i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100);
+ i2c_read_register(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100);
return ret;
}
uint8_t ad5258_read_eeprom(void) {
uint8_t ret = 0;
- i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100);
+ i2c_read_register(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100);
return ret;
}
void ad5258_write_rdac(uint8_t rdac) {
// write RDAC register:
uint8_t data = rdac & 0x3F;
- i2c_writeReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100);
+ i2c_write_register(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100);
}
diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h
index 776b8ef35f..4937e9e801 100644
--- a/keyboards/fc980c/config.h
+++ b/keyboards/fc980c/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
-/* Maximum dynamic keymap layers (constrained by EEPROM space) */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
diff --git a/keyboards/fc980c/info.json b/keyboards/fc980c/info.json
index 27a10b6f51..5060885c69 100644
--- a/keyboards/fc980c/info.json
+++ b/keyboards/fc980c/info.json
@@ -8,6 +8,9 @@
"pid": "0x980C",
"device_version": "1.0.0"
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "B5",
"num_lock": "B4",
diff --git a/keyboards/feker/ik75/config.h b/keyboards/feker/ik75/config.h
index b49621bda0..1a9c401fb2 100644
--- a/keyboards/feker/ik75/config.h
+++ b/keyboards/feker/ik75/config.h
@@ -17,62 +17,5 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- /* RGB Matrix config */
- #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_VCC_VCC
- #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_GND
- #define DRIVER_1_LED_TOTAL 63
- #define DRIVER_2_LED_TOTAL 64
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_VCC_VCC
+#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c
index 826afab01b..c4da77a844 100644
--- a/keyboards/feker/ik75/ik75.c
+++ b/keyboards/feker/ik75/ik75.c
@@ -18,148 +18,148 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | G location
* | | B location
* | | | R location
* | | | | */
- {0, A_1, C_1, B_1}, // 0, `~, K10
- {0, A_2, C_2, B_2}, // 1, 1!, K11
- {0, A_3, C_3, B_3}, // 2, 2@, K12
- {0, A_4, C_4, B_4}, // 3, 3#, K13
- {0, A_5, C_5, B_5}, // 4, 4$, K14
- {0, A_6, C_6, B_6}, // 5, 5%, K15
- {0, A_7, C_7, B_7}, // 6, 6^, K16
- {0, A_8, C_8, B_8}, // 7, 7&, K17
- {0, A_9, C_9, B_9}, // 8, 8*, K18
- {0, A_10, C_10, B_10}, // 9, 9(, K19
- {0, A_11, C_11, B_11}, // 10, 0), K1A
- {0, A_12, C_12, B_12}, // 11, -_, K1B
- {0, A_13, C_13, B_13}, // 12, =+, K1C
- {0, A_14, C_14, B_14}, // 13, Backspace, K1D
- {0, A_15, C_15, B_15}, // 14, Left Alt, K52
- {0, A_16, C_16, B_16}, // 15, Space, K56
+ {0, SW1_CS1, SW3_CS1, SW2_CS1}, // 0, `~, K10
+ {0, SW1_CS2, SW3_CS2, SW2_CS2}, // 1, 1!, K11
+ {0, SW1_CS3, SW3_CS3, SW2_CS3}, // 2, 2@, K12
+ {0, SW1_CS4, SW3_CS4, SW2_CS4}, // 3, 3#, K13
+ {0, SW1_CS5, SW3_CS5, SW2_CS5}, // 4, 4$, K14
+ {0, SW1_CS6, SW3_CS6, SW2_CS6}, // 5, 5%, K15
+ {0, SW1_CS7, SW3_CS7, SW2_CS7}, // 6, 6^, K16
+ {0, SW1_CS8, SW3_CS8, SW2_CS8}, // 7, 7&, K17
+ {0, SW1_CS9, SW3_CS9, SW2_CS9}, // 8, 8*, K18
+ {0, SW1_CS10, SW3_CS10, SW2_CS10}, // 9, 9(, K19
+ {0, SW1_CS11, SW3_CS11, SW2_CS11}, // 10, 0), K1A
+ {0, SW1_CS12, SW3_CS12, SW2_CS12}, // 11, -_, K1B
+ {0, SW1_CS13, SW3_CS13, SW2_CS13}, // 12, =+, K1C
+ {0, SW1_CS14, SW3_CS14, SW2_CS14}, // 13, Backspace, K1D
+ {0, SW1_CS15, SW3_CS15, SW2_CS15}, // 14, Left Alt, K52
+ {0, SW1_CS16, SW3_CS16, SW2_CS16}, // 15, Space, K56
- {0, D_1, F_1, E_1}, // 16, Tab, K20
- {0, D_2, F_2, E_2}, // 17, Q, K21
- {0, D_3, F_3, E_3}, // 18, W, K22
- {0, D_4, F_4, E_4}, // 19, E, K23
- {0, D_5, F_5, E_5}, // 20, R, K24
- {0, D_6, F_6, E_6}, // 21, T, K25
- {0, D_7, F_7, E_7}, // 22, Y, K26
- {0, D_8, F_8, E_8}, // 23, U, K27
- {0, D_9, F_9, E_9}, // 24, I, K28
- {0, D_10, F_10, E_10}, // 25, O, K29
- {0, D_11, F_11, E_11}, // 26, P, K2A
- {0, D_12, F_12, E_12}, // 27, [{, K2B
- {0, D_13, F_13, E_13}, // 28, ]}, K2C
- {0, D_14, F_14, E_14}, // 29, \|, K2D
- {0, D_15, F_15, E_15}, // 30, Right Ctrl, K5C
- {0, D_16, F_16, E_16}, // 31, Function, K5A
+ {0, SW4_CS1, SW6_CS1, SW5_CS1}, // 16, Tab, K20
+ {0, SW4_CS2, SW6_CS2, SW5_CS2}, // 17, Q, K21
+ {0, SW4_CS3, SW6_CS3, SW5_CS3}, // 18, W, K22
+ {0, SW4_CS4, SW6_CS4, SW5_CS4}, // 19, E, K23
+ {0, SW4_CS5, SW6_CS5, SW5_CS5}, // 20, R, K24
+ {0, SW4_CS6, SW6_CS6, SW5_CS6}, // 21, T, K25
+ {0, SW4_CS7, SW6_CS7, SW5_CS7}, // 22, Y, K26
+ {0, SW4_CS8, SW6_CS8, SW5_CS8}, // 23, U, K27
+ {0, SW4_CS9, SW6_CS9, SW5_CS9}, // 24, I, K28
+ {0, SW4_CS10, SW6_CS10, SW5_CS10}, // 25, O, K29
+ {0, SW4_CS11, SW6_CS11, SW5_CS11}, // 26, P, K2A
+ {0, SW4_CS12, SW6_CS12, SW5_CS12}, // 27, [{, K2B
+ {0, SW4_CS13, SW6_CS13, SW5_CS13}, // 28, ]}, K2C
+ {0, SW4_CS14, SW6_CS14, SW5_CS14}, // 29, \|, K2D
+ {0, SW4_CS15, SW6_CS15, SW5_CS15}, // 30, Right Ctrl, K5C
+ {0, SW4_CS16, SW6_CS16, SW5_CS16}, // 31, Function, K5A
- {0, G_1, I_1, H_1}, // 32, Caps Lock, K30
- {0, G_2, I_2, H_2}, // 33, A, K31
- {0, G_3, I_3, H_3}, // 34, S, K32
- {0, G_4, I_4, H_4}, // 35, D, K33
- {0, G_5, I_5, H_5}, // 36, F, K34
- {0, G_6, I_6, H_6}, // 37, G, K35
- {0, G_7, I_7, H_7}, // 38, H, K36
- {0, G_8, I_8, H_8}, // 39, J, K37
- {0, G_9, I_9, H_9}, // 40, K, K38
- {0, G_10, I_10, H_10}, // 41, L, K39
- {0, G_11, I_11, H_11}, // 42, ;:, K3A
- {0, G_12, I_12, H_12}, // 43, '", K3B
- {0, G_13, I_13, H_13}, // 44, Enter, K3D
- {0, G_14, I_14, H_14}, // 45, Up, K4E
- {0, G_15, I_15, H_15}, // 46, Num Lock LED
- {0, G_16, I_16, H_16}, // 47, Right Alt, K59
+ {0, SW7_CS1, SW9_CS1, SW8_CS1}, // 32, Caps Lock, K30
+ {0, SW7_CS2, SW9_CS2, SW8_CS2}, // 33, A, K31
+ {0, SW7_CS3, SW9_CS3, SW8_CS3}, // 34, S, K32
+ {0, SW7_CS4, SW9_CS4, SW8_CS4}, // 35, D, K33
+ {0, SW7_CS5, SW9_CS5, SW8_CS5}, // 36, F, K34
+ {0, SW7_CS6, SW9_CS6, SW8_CS6}, // 37, G, K35
+ {0, SW7_CS7, SW9_CS7, SW8_CS7}, // 38, H, K36
+ {0, SW7_CS8, SW9_CS8, SW8_CS8}, // 39, J, K37
+ {0, SW7_CS9, SW9_CS9, SW8_CS9}, // 40, K, K38
+ {0, SW7_CS10, SW9_CS10, SW8_CS10}, // 41, L, K39
+ {0, SW7_CS11, SW9_CS11, SW8_CS11}, // 42, ;:, K3A
+ {0, SW7_CS12, SW9_CS12, SW8_CS12}, // 43, '", K3B
+ {0, SW7_CS13, SW9_CS13, SW8_CS13}, // 44, Enter, K3D
+ {0, SW7_CS14, SW9_CS14, SW8_CS14}, // 45, Up, K4E
+ {0, SW7_CS15, SW9_CS15, SW8_CS15}, // 46, Num Lock LED
+ {0, SW7_CS16, SW9_CS16, SW8_CS16}, // 47, Right Alt, K59
- {0, J_1, L_1, K_1}, // 48, Left Shift, K40
-// {0, J_2, L_2, K_2}, // Unused LED
- {0, J_3, L_3, K_3}, // 49, Z, K42
- {0, J_4, L_4, K_4}, // 50, X, K43
- {0, J_5, L_5, K_5}, // 51, C, K44
- {0, J_6, L_6, K_6}, // 52, V, K45
- {0, J_7, L_7, K_7}, // 53, B, K46
- {0, J_8, L_8, K_8}, // 54, N, K47
- {0, J_9, L_9, K_9}, // 55, M, K48
- {0, J_10, L_10, K_10}, // 56, ,<, K49
- {0, J_11, L_11, K_11}, // 57, .>, K4A
- {0, J_12, L_12, K_12}, // 58, /?, K4B
- {0, J_13, L_13, K_13}, // 59, Right Shift, K4D
- {0, J_14, L_14, K_14}, // 60, Left, K5D
- {0, J_15, L_15, K_15}, // 61, Down, K5E
- {0, J_16, L_16, K_16}, // 62, Right, K5F
+ {0, SW10_CS1, SW12_CS1, SW11_CS1}, // 48, Left Shift, K40
+// {0, SW10_CS2, SW12_CS2, SW11_CS2}, // Unused LED
+ {0, SW10_CS3, SW12_CS3, SW11_CS3}, // 49, Z, K42
+ {0, SW10_CS4, SW12_CS4, SW11_CS4}, // 50, X, K43
+ {0, SW10_CS5, SW12_CS5, SW11_CS5}, // 51, C, K44
+ {0, SW10_CS6, SW12_CS6, SW11_CS6}, // 52, V, K45
+ {0, SW10_CS7, SW12_CS7, SW11_CS7}, // 53, B, K46
+ {0, SW10_CS8, SW12_CS8, SW11_CS8}, // 54, N, K47
+ {0, SW10_CS9, SW12_CS9, SW11_CS9}, // 55, M, K48
+ {0, SW10_CS10, SW12_CS10, SW11_CS10}, // 56, ,<, K49
+ {0, SW10_CS11, SW12_CS11, SW11_CS11}, // 57, .>, K4A
+ {0, SW10_CS12, SW12_CS12, SW11_CS12}, // 58, /?, K4B
+ {0, SW10_CS13, SW12_CS13, SW11_CS13}, // 59, Right Shift, K4D
+ {0, SW10_CS14, SW12_CS14, SW11_CS14}, // 60, Left, K5D
+ {0, SW10_CS15, SW12_CS15, SW11_CS15}, // 61, Down, K5E
+ {0, SW10_CS16, SW12_CS16, SW11_CS16}, // 62, Right, K5F
- {1, A_1, C_1, B_1}, // 63, Underglow 20
- {1, A_2, C_2, B_2}, // 64, Underglow 19
- {1, A_3, C_3, B_3}, // 65, Underglow 18
- {1, A_4, C_4, B_4}, // 66, Underglow 17
- {1, A_5, C_5, B_5}, // 67, Underglow 16
- {1, A_6, C_6, B_6}, // 68, Underglow 15
- {1, A_7, C_7, B_7}, // 69, Underglow 14
- {1, A_8, C_8, B_8}, // 70, Underglow 13
- {1, A_9, C_9, B_9}, // 71, Underglow 12
- {1, A_10, C_10, B_10}, // 72, Underglow 11
- {1, A_11, C_11, B_11}, // 73, Underglow 10
- {1, A_12, C_12, B_12}, // 74, Underglow 9
- {1, A_13, C_13, B_13}, // 75, Underglow 8
- {1, A_14, C_14, B_14}, // 76, Underglow 7
- {1, A_15, C_15, B_15}, // 77, Underglow 6
- {1, A_16, C_16, B_16}, // 78, Underglow 5
+ {1, SW1_CS1, SW3_CS1, SW2_CS1}, // 63, Underglow 20
+ {1, SW1_CS2, SW3_CS2, SW2_CS2}, // 64, Underglow 19
+ {1, SW1_CS3, SW3_CS3, SW2_CS3}, // 65, Underglow 18
+ {1, SW1_CS4, SW3_CS4, SW2_CS4}, // 66, Underglow 17
+ {1, SW1_CS5, SW3_CS5, SW2_CS5}, // 67, Underglow 16
+ {1, SW1_CS6, SW3_CS6, SW2_CS6}, // 68, Underglow 15
+ {1, SW1_CS7, SW3_CS7, SW2_CS7}, // 69, Underglow 14
+ {1, SW1_CS8, SW3_CS8, SW2_CS8}, // 70, Underglow 13
+ {1, SW1_CS9, SW3_CS9, SW2_CS9}, // 71, Underglow 12
+ {1, SW1_CS10, SW3_CS10, SW2_CS10}, // 72, Underglow 11
+ {1, SW1_CS11, SW3_CS11, SW2_CS11}, // 73, Underglow 10
+ {1, SW1_CS12, SW3_CS12, SW2_CS12}, // 74, Underglow 9
+ {1, SW1_CS13, SW3_CS13, SW2_CS13}, // 75, Underglow 8
+ {1, SW1_CS14, SW3_CS14, SW2_CS14}, // 76, Underglow 7
+ {1, SW1_CS15, SW3_CS15, SW2_CS15}, // 77, Underglow 6
+ {1, SW1_CS16, SW3_CS16, SW2_CS16}, // 78, Underglow 5
- {1, D_1, F_1, E_1}, // 79, Esc, K00
- {1, D_2, F_2, E_2}, // 80, F1, K01
- {1, D_3, F_3, E_3}, // 81, F2, K02
- {1, D_4, F_4, E_4}, // 82, F3, K03
- {1, D_5, F_5, E_5}, // 83, F4, K04
- {1, D_6, F_6, E_6}, // 84, F5, K05
- {1, D_7, F_7, E_7}, // 85, F6, K06
- {1, D_8, F_8, E_8}, // 86, F7, K07
- {1, D_9, F_9, E_9}, // 87, F8, K08
- {1, D_10, F_10, E_10}, // 88, F9, K09
- {1, D_11, F_11, E_11}, // 89, F10, K0A
- {1, D_12, F_12, E_12}, // 90, F11, K0B
- {1, D_13, F_13, E_13}, // 91, F12, K0C
- {1, D_14, F_14, E_14}, // 92, Delete, K0D
- {1, D_15, F_15, E_15}, // 93, Left Ctrl, K50
- {1, D_16, F_16, E_16}, // 94, Left Windows, K51
+ {1, SW4_CS1, SW6_CS1, SW5_CS1}, // 79, Esc, K00
+ {1, SW4_CS2, SW6_CS2, SW5_CS2}, // 80, F1, K01
+ {1, SW4_CS3, SW6_CS3, SW5_CS3}, // 81, F2, K02
+ {1, SW4_CS4, SW6_CS4, SW5_CS4}, // 82, F3, K03
+ {1, SW4_CS5, SW6_CS5, SW5_CS5}, // 83, F4, K04
+ {1, SW4_CS6, SW6_CS6, SW5_CS6}, // 84, F5, K05
+ {1, SW4_CS7, SW6_CS7, SW5_CS7}, // 85, F6, K06
+ {1, SW4_CS8, SW6_CS8, SW5_CS8}, // 86, F7, K07
+ {1, SW4_CS9, SW6_CS9, SW5_CS9}, // 87, F8, K08
+ {1, SW4_CS10, SW6_CS10, SW5_CS10}, // 88, F9, K09
+ {1, SW4_CS11, SW6_CS11, SW5_CS11}, // 89, F10, K0A
+ {1, SW4_CS12, SW6_CS12, SW5_CS12}, // 90, F11, K0B
+ {1, SW4_CS13, SW6_CS13, SW5_CS13}, // 91, F12, K0C
+ {1, SW4_CS14, SW6_CS14, SW5_CS14}, // 92, Delete, K0D
+ {1, SW4_CS15, SW6_CS15, SW5_CS15}, // 93, Left Ctrl, K50
+ {1, SW4_CS16, SW6_CS16, SW5_CS16}, // 94, Left Windows, K51
- {1, G_1, I_1, H_1}, // 95, Underglow 21
- {1, G_2, I_2, H_2}, // 96, Underglow 22
- {1, G_3, I_3, H_3}, // 97, Underglow 23
- {1, G_4, I_4, H_4}, // 98, Underglow 24
- {1, G_5, I_5, H_5}, // 99, Knob LED 3, K53
- {1, G_6, I_6, H_6}, // 100, Knob LED 2, K54
- {1, G_7, I_7, H_7}, // 101, Knob LED 1, K4F
- {1, G_8, I_8, H_8}, // 102, Insert, K1F
- {1, G_9, I_9, H_9}, // 103, Page Up, K3E
- {1, G_10, I_10, H_10}, // 104, Caps/Win/Scr LED
- {1, G_11, I_11, H_11}, // 105, End, K2F
- {1, G_12, I_12, H_12}, // 106, Page Down, K3F
- {1, G_13, I_13, H_13}, // 107, Underglow 1
- {1, G_14, I_14, H_14}, // 108, Underglow 2
- {1, G_15, I_15, H_15}, // 109, Underglow 3
- {1, G_16, I_16, H_16}, // 110, Underglow 4
+ {1, SW7_CS1, SW9_CS1, SW8_CS1}, // 95, Underglow 21
+ {1, SW7_CS2, SW9_CS2, SW8_CS2}, // 96, Underglow 22
+ {1, SW7_CS3, SW9_CS3, SW8_CS3}, // 97, Underglow 23
+ {1, SW7_CS4, SW9_CS4, SW8_CS4}, // 98, Underglow 24
+ {1, SW7_CS5, SW9_CS5, SW8_CS5}, // 99, Knob LED 3, K53
+ {1, SW7_CS6, SW9_CS6, SW8_CS6}, // 100, Knob LED 2, K54
+ {1, SW7_CS7, SW9_CS7, SW8_CS7}, // 101, Knob LED 1, K4F
+ {1, SW7_CS8, SW9_CS8, SW8_CS8}, // 102, Insert, K1F
+ {1, SW7_CS9, SW9_CS9, SW8_CS9}, // 103, Page Up, K3E
+ {1, SW7_CS10, SW9_CS10, SW8_CS10}, // 104, Caps/Win/Scr LED
+ {1, SW7_CS11, SW9_CS11, SW8_CS11}, // 105, End, K2F
+ {1, SW7_CS12, SW9_CS12, SW8_CS12}, // 106, Page Down, K3F
+ {1, SW7_CS13, SW9_CS13, SW8_CS13}, // 107, Underglow 1
+ {1, SW7_CS14, SW9_CS14, SW8_CS14}, // 108, Underglow 2
+ {1, SW7_CS15, SW9_CS15, SW8_CS15}, // 109, Underglow 3
+ {1, SW7_CS16, SW9_CS16, SW8_CS16}, // 110, Underglow 4
- {1, J_1, L_1, K_1}, // 111, Underglow 25
- {1, J_2, L_2, K_2}, // 112, Underglow 26
- {1, J_3, L_3, K_3}, // 113, Underglow 27
- {1, J_4, L_4, K_4}, // 114, Underglow 28
- {1, J_5, L_5, K_5}, // 115, Underglow 29
- {1, J_6, L_6, K_6}, // 116, Underglow 30
- {1, J_7, L_7, K_7}, // 117, Underglow 31
- {1, J_8, L_8, K_8}, // 118, Underglow 32
- {1, J_9, L_9, K_9}, // 119, Underglow 33
- {1, J_10, L_10, K_10}, // 120, Underglow 34
- {1, J_11, L_11, K_11}, // 121, Underglow 35
- {1, J_12, L_12, K_12}, // 122, Underglow 36
- {1, J_13, L_13, K_13}, // 123, Underglow 37
- {1, J_14, L_14, K_14}, // 124, Underglow 38
- {1, J_15, L_15, K_15}, // 125, Underglow 39
- {1, J_16, L_16, K_16}, // 126, Underglow 40
+ {1, SW10_CS1, SW12_CS1, SW11_CS1}, // 111, Underglow 25
+ {1, SW10_CS2, SW12_CS2, SW11_CS2}, // 112, Underglow 26
+ {1, SW10_CS3, SW12_CS3, SW11_CS3}, // 113, Underglow 27
+ {1, SW10_CS4, SW12_CS4, SW11_CS4}, // 114, Underglow 28
+ {1, SW10_CS5, SW12_CS5, SW11_CS5}, // 115, Underglow 29
+ {1, SW10_CS6, SW12_CS6, SW11_CS6}, // 116, Underglow 30
+ {1, SW10_CS7, SW12_CS7, SW11_CS7}, // 117, Underglow 31
+ {1, SW10_CS8, SW12_CS8, SW11_CS8}, // 118, Underglow 32
+ {1, SW10_CS9, SW12_CS9, SW11_CS9}, // 119, Underglow 33
+ {1, SW10_CS10, SW12_CS10, SW11_CS10}, // 120, Underglow 34
+ {1, SW10_CS11, SW12_CS11, SW11_CS11}, // 121, Underglow 35
+ {1, SW10_CS12, SW12_CS12, SW11_CS12}, // 122, Underglow 36
+ {1, SW10_CS13, SW12_CS13, SW11_CS13}, // 123, Underglow 37
+ {1, SW10_CS14, SW12_CS14, SW11_CS14}, // 124, Underglow 38
+ {1, SW10_CS15, SW12_CS15, SW11_CS15}, // 125, Underglow 39
+ {1, SW10_CS16, SW12_CS16, SW11_CS16}, // 126, Underglow 40
};
led_config_t g_led_config = { {
diff --git a/keyboards/feker/ik75/info.json b/keyboards/feker/ik75/info.json
index 0da1ff08ea..4b7e491519 100644
--- a/keyboards/feker/ik75/info.json
+++ b/keyboards/feker/ik75/info.json
@@ -9,7 +9,53 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3733",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "E2"],
diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c
index 07f58149cc..69fbe411eb 100644
--- a/keyboards/ferris/0_2/bling/bling.c
+++ b/keyboards/ferris/0_2/bling/bling.c
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
| | 4 | | || | | 4 | |
| 6 | | | 2 || 2 | | | 5 |
*/
-const is31fl3731_led_t g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h
index 64e7a6de2d..2325463e1f 100644
--- a/keyboards/ferris/0_2/bling/config.h
+++ b/keyboards/ferris/0_2/bling/config.h
@@ -20,55 +20,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* LED Drivers */
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
-#define DRIVER_1_LED_TOTAL 7
-#define DRIVER_2_LED_TOTAL 7
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define RGB_MATRIX_LED_COUNT 14
diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json
index 1e9703f599..06a826450b 100644
--- a/keyboards/ferris/0_2/bling/info.json
+++ b/keyboards/ferris/0_2/bling/info.json
@@ -4,6 +4,51 @@
"pid": "0x0002"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "is31fl3731"
}
}
diff --git a/keyboards/ferris/0_2/matrix.c b/keyboards/ferris/0_2/matrix.c
index af4b045eb8..cf26385f4c 100644
--- a/keyboards/ferris/0_2/matrix.c
+++ b/keyboards/ferris/0_2/matrix.c
@@ -42,9 +42,7 @@ extern i2c_status_t mcp23017_status;
// All address pins of the mcp23017 are connected to the ground on the ferris
// | 0 | 1 | 0 | 0 | A2 | A1 | A0 |
// | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE)
-#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ)
+#define I2C_ADDR (0b0100000 << 1)
// Register addresses
// See https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/Adafruit_MCP23017.h
@@ -77,9 +75,9 @@ uint8_t init_mcp23017(void) {
// - driving : output : 0
// This means: we will read all the bits on GPIOA
// This means: we will write to the pins 0-4 on GPIOB (in select_rows)
- uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000};
+ uint8_t buf[] = {0b11111111, 0b11110000};
print("before transmit\n");
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), MCP23017_I2C_TIMEOUT);
+ mcp23017_status = i2c_writeReg(I2C_ADDR, IODIRA, buf, sizeof(buf), MCP23017_I2C_TIMEOUT)
uprintf("after transmit %i\n", mcp23017_status);
if (!mcp23017_status) {
// set pull-up
@@ -88,8 +86,7 @@ uint8_t init_mcp23017(void) {
// - driving : off : 0
// This means: we will read all the bits on GPIOA
// This means: we will write to the pins 0-4 on GPIOB (in select_rows)
- uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), MCP23017_I2C_TIMEOUT);
+ mcp23017_status = i2c_writeReg(I2C_ADDR, GPPUA, buf, sizeof(buf), MCP23017_I2C_TIMEOUT)
uprintf("after transmit2 %i\n", mcp23017_status);
}
return mcp23017_status;
@@ -189,18 +186,13 @@ static matrix_row_t read_cols(uint8_t row) {
if (mcp23017_status) { // if there was an error
return 0;
} else {
- uint8_t buf[] = {MCP23017_GPIOA};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), MCP23017_I2C_TIMEOUT);
// We read all the pins on GPIOA.
// The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero.
// The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys.
// Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones.
uint8_t data[] = {0};
- if (!mcp23017_status) {
- mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), MCP23017_I2C_TIMEOUT);
- data[0] = ~(data[0]);
- }
- return data[0];
+ mcp23017_status = i2c_readReg(I2C_ADDR, MCP23017_GPIOA, data, sizeof(data), MCP23017_I2C_TIMEOUT);
+ return ~data[0];
}
}
}
@@ -244,8 +236,8 @@ static void select_row(uint8_t row) {
} else {
// Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one.
// Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus.
- uint8_t buf[] = {MCP23017_GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ uint8_t buf[] = {0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))};
+ mcp23017_status = i2c_writeReg(I2C_ADDR, MCP23017_GPIOB, buf, sizeof(buf), MCP23017_I2C_TIMEOUT);
}
}
}
diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h
deleted file mode 100644
index 35cf8d4151..0000000000
--- a/keyboards/ferris/sweep/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2018-2020
-// ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
-// David Philip Barr <@davidphilipbarr>
-// Pierre Chevalier <pierrechevalier83@gmail.com>
-// SPDX-License-Identifier: GPL-2.0+
-
-#pragma once
-
-#define EE_HANDS
diff --git a/keyboards/ferris/sweep/readme.md b/keyboards/ferris/sweep/readme.md
index b6dd436a8b..7e9eddbfa1 100644
--- a/keyboards/ferris/sweep/readme.md
+++ b/keyboards/ferris/sweep/readme.md
@@ -17,27 +17,6 @@ Make example for this keyboard (after setting up your build environment):
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-## Setting Handedness
-
-Firmware uses [handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default and it must be *configured once* on each side. The make commands for Pro micros are:
-
- make ferris/sweep:default:avrdude-split-left
- make ferris/sweep:default:avrdude-split-right
-
-For Elite-C or compatible controllers using `DFU` bootloader, add the line `BOOTLOADER = atmel-dfu` into the user keymap `rules.mk` file and use the following make commands:
-
- make ferris/sweep:default:dfu-split-left
- make ferris/sweep:default:dfu-split-right
-
-[QMK Toolbox](http://qmk.fm/toolbox) can also be used to set EEPROM handedness. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand
-
-### RP2040 Controllers
-
-Pro Micro RP2040 controllers are supported with [QMK Converters](https://docs.qmk.fm/#/feature_converters). The make command example with handedness setting for Adafruit's KB2040 are:
-
- make CONVERT_TO=kb2040 ferris/sweep:default:uf2-split-left
- make CONVERT_TO=kb2040 ferris/sweep:default:uf2-split-right
-
## Bootloader
Enter the bootloader in 3 ways:
diff --git a/keyboards/ffkeebs/puca/config.h b/keyboards/ffkeebs/puca/config.h
index 19b030cdc1..ced239c833 100644
--- a/keyboards/ffkeebs/puca/config.h
+++ b/keyboards/ffkeebs/puca/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/fjlabs/avalon/config.h b/keyboards/fjlabs/avalon/config.h
index d1875f650f..46df2a0d6a 100644
--- a/keyboards/fjlabs/avalon/config.h
+++ b/keyboards/fjlabs/avalon/config.h
@@ -21,7 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
diff --git a/keyboards/fjlabs/avalon/info.json b/keyboards/fjlabs/avalon/info.json
index 96f969146f..77b5fbe956 100644
--- a/keyboards/fjlabs/avalon/info.json
+++ b/keyboards/fjlabs/avalon/info.json
@@ -30,6 +30,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"ws2812": {
diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h
index 9bee316792..084c49212c 100644
--- a/keyboards/fjlabs/kyuu/config.h
+++ b/keyboards/fjlabs/kyuu/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/fjlabs/kyuu/info.json b/keyboards/fjlabs/kyuu/info.json
index 9028c3dc8d..ed02d7d3b4 100644
--- a/keyboards/fjlabs/kyuu/info.json
+++ b/keyboards/fjlabs/kyuu/info.json
@@ -26,6 +26,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"ws2812": {
diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h
index afdacdd080..b352868d2d 100644
--- a/keyboards/fjlabs/mk61rgbansi/config.h
+++ b/keyboards/fjlabs/mk61rgbansi/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json
index 01a859e0ba..8c42aa97b6 100644
--- a/keyboards/fjlabs/mk61rgbansi/info.json
+++ b/keyboards/fjlabs/mk61rgbansi/info.json
@@ -30,6 +30,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"processor": "atmega32u4",
diff --git a/keyboards/fjlabs/tf60ansi/config.h b/keyboards/fjlabs/tf60ansi/config.h
index afdacdd080..b352868d2d 100644
--- a/keyboards/fjlabs/tf60ansi/config.h
+++ b/keyboards/fjlabs/tf60ansi/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/fjlabs/tf60ansi/info.json b/keyboards/fjlabs/tf60ansi/info.json
index b45f7258b6..f161284ae0 100644
--- a/keyboards/fjlabs/tf60ansi/info.json
+++ b/keyboards/fjlabs/tf60ansi/info.json
@@ -30,6 +30,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"processor": "atmega32u4",
diff --git a/keyboards/fjlabs/tf60v2/config.h b/keyboards/fjlabs/tf60v2/config.h
index afdacdd080..b352868d2d 100644
--- a/keyboards/fjlabs/tf60v2/config.h
+++ b/keyboards/fjlabs/tf60v2/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/fjlabs/tf60v2/info.json b/keyboards/fjlabs/tf60v2/info.json
index 7f6b3ce970..e3051c0da7 100644
--- a/keyboards/fjlabs/tf60v2/info.json
+++ b/keyboards/fjlabs/tf60v2/info.json
@@ -30,6 +30,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"processor": "atmega32u4",
diff --git a/keyboards/fjlabs/tf65rgbv2/config.h b/keyboards/fjlabs/tf65rgbv2/config.h
index afdacdd080..b352868d2d 100644
--- a/keyboards/fjlabs/tf65rgbv2/config.h
+++ b/keyboards/fjlabs/tf65rgbv2/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/fjlabs/tf65rgbv2/info.json b/keyboards/fjlabs/tf65rgbv2/info.json
index 2101e17f03..ab105ff4a9 100644
--- a/keyboards/fjlabs/tf65rgbv2/info.json
+++ b/keyboards/fjlabs/tf65rgbv2/info.json
@@ -30,6 +30,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"processor": "atmega32u4",
diff --git a/keyboards/flashquark/horizon_z/config.h b/keyboards/flashquark/horizon_z/config.h
index ddeafe578d..360a170626 100755
--- a/keyboards/flashquark/horizon_z/config.h
+++ b/keyboards/flashquark/horizon_z/config.h
@@ -14,64 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#pragma once
-
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 62
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/flashquark/horizon_z/horizon_z.c b/keyboards/flashquark/horizon_z/horizon_z.c
index a9faa5a943..79bd503ff6 100755
--- a/keyboards/flashquark/horizon_z/horizon_z.c
+++ b/keyboards/flashquark/horizon_z/horizon_z.c
@@ -17,68 +17,68 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- {0, B_1, A_1, C_1},
- {0, B_2, A_2, C_2},
- {0, B_3, A_3, C_3},
- {0, B_4, A_4, C_4},
- {0, B_5, A_5, C_5},
- {0, B_6, A_6, C_6},
- {0, B_7, A_7, C_7},
- {0, B_8, A_8, C_8},
- {0, B_9, A_9, C_9},
- {0, B_10, A_10, C_10},
- {0, B_11, A_11, C_11},
- {0, B_12, A_12, C_12},
- {0, B_13, A_13, C_13},
- {0, B_14, A_14, C_14},
- {0, E_1, D_1, F_1},
- {0, E_2, D_2, F_2},
- {0, E_3, D_3, F_3},
- {0, E_4, D_4, F_4},
- {0, E_5, D_5, F_5},
- {0, E_6, D_6, F_6},
- {0, E_7, D_7, F_7},
- {0, E_8, D_8, F_8},
- {0, E_9, D_9, F_9},
- {0, E_10, D_10, F_10},
- {0, E_11, D_11, F_11},
- {0, E_12, D_12, F_12},
- {0, E_13, D_13, F_13},
- {0, E_14, D_14, F_14},
- {0, H_1, G_1, I_1},
- {0, H_2, G_2, I_2},
- {0, H_3, G_3, I_3},
- {0, H_4, G_4, I_4},
- {0, H_5, G_5, I_5},
- {0, H_6, G_6, I_6},
- {0, H_7, G_7, I_7},
- {0, H_8, G_8, I_8},
- {0, H_9, G_9, I_9},
- {0, H_10, G_10, I_10},
- {0, H_11, G_11, I_11},
- {0, H_12, G_12, I_12},
- {0, H_13, G_13, I_13},
- {0, K_1, J_1, L_1},
- {0, K_2, J_2, L_2},
- {0, K_3, J_3, L_3},
- {0, K_4, J_4, L_4},
- {0, K_5, J_5, L_5},
- {0, K_6, J_6, L_6},
- {0, K_7, J_7, L_7},
- {0, K_8, J_8, L_8},
- {0, K_9, J_9, L_9},
- {0, K_10, J_10, L_10},
- {0, K_11, J_11, L_11},
- {0, K_14, J_14, L_14},
- {0, B_16, A_16, C_16},
- {0, E_16, D_16, F_16},
- {0, H_16, G_16, I_16},
- {0, K_16, J_16, L_16},
- {0, K_15, J_15, L_15},
- {0, K_12, J_12, L_12},
- {0, K_13, J_13, L_13},
- {0, H_14, G_14, I_14},
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ {0, SW2_CS1, SW1_CS1, SW3_CS1},
+ {0, SW2_CS2, SW1_CS2, SW3_CS2},
+ {0, SW2_CS3, SW1_CS3, SW3_CS3},
+ {0, SW2_CS4, SW1_CS4, SW3_CS4},
+ {0, SW2_CS5, SW1_CS5, SW3_CS5},
+ {0, SW2_CS6, SW1_CS6, SW3_CS6},
+ {0, SW2_CS7, SW1_CS7, SW3_CS7},
+ {0, SW2_CS8, SW1_CS8, SW3_CS8},
+ {0, SW2_CS9, SW1_CS9, SW3_CS9},
+ {0, SW2_CS10, SW1_CS10, SW3_CS10},
+ {0, SW2_CS11, SW1_CS11, SW3_CS11},
+ {0, SW2_CS12, SW1_CS12, SW3_CS12},
+ {0, SW2_CS13, SW1_CS13, SW3_CS13},
+ {0, SW2_CS14, SW1_CS14, SW3_CS14},
+ {0, SW5_CS1, SW4_CS1, SW6_CS1},
+ {0, SW5_CS2, SW4_CS2, SW6_CS2},
+ {0, SW5_CS3, SW4_CS3, SW6_CS3},
+ {0, SW5_CS4, SW4_CS4, SW6_CS4},
+ {0, SW5_CS5, SW4_CS5, SW6_CS5},
+ {0, SW5_CS6, SW4_CS6, SW6_CS6},
+ {0, SW5_CS7, SW4_CS7, SW6_CS7},
+ {0, SW5_CS8, SW4_CS8, SW6_CS8},
+ {0, SW5_CS9, SW4_CS9, SW6_CS9},
+ {0, SW5_CS10, SW4_CS10, SW6_CS10},
+ {0, SW5_CS11, SW4_CS11, SW6_CS11},
+ {0, SW5_CS12, SW4_CS12, SW6_CS12},
+ {0, SW5_CS13, SW4_CS13, SW6_CS13},
+ {0, SW5_CS14, SW4_CS14, SW6_CS14},
+ {0, SW8_CS1, SW7_CS1, SW9_CS1},
+ {0, SW8_CS2, SW7_CS2, SW9_CS2},
+ {0, SW8_CS3, SW7_CS3, SW9_CS3},
+ {0, SW8_CS4, SW7_CS4, SW9_CS4},
+ {0, SW8_CS5, SW7_CS5, SW9_CS5},
+ {0, SW8_CS6, SW7_CS6, SW9_CS6},
+ {0, SW8_CS7, SW7_CS7, SW9_CS7},
+ {0, SW8_CS8, SW7_CS8, SW9_CS8},
+ {0, SW8_CS9, SW7_CS9, SW9_CS9},
+ {0, SW8_CS10, SW7_CS10, SW9_CS10},
+ {0, SW8_CS11, SW7_CS11, SW9_CS11},
+ {0, SW8_CS12, SW7_CS12, SW9_CS12},
+ {0, SW8_CS13, SW7_CS13, SW9_CS13},
+ {0, SW11_CS1, SW10_CS1, SW12_CS1},
+ {0, SW11_CS2, SW10_CS2, SW12_CS2},
+ {0, SW11_CS3, SW10_CS3, SW12_CS3},
+ {0, SW11_CS4, SW10_CS4, SW12_CS4},
+ {0, SW11_CS5, SW10_CS5, SW12_CS5},
+ {0, SW11_CS6, SW10_CS6, SW12_CS6},
+ {0, SW11_CS7, SW10_CS7, SW12_CS7},
+ {0, SW11_CS8, SW10_CS8, SW12_CS8},
+ {0, SW11_CS9, SW10_CS9, SW12_CS9},
+ {0, SW11_CS10, SW10_CS10, SW12_CS10},
+ {0, SW11_CS11, SW10_CS11, SW12_CS11},
+ {0, SW11_CS14, SW10_CS14, SW12_CS14},
+ {0, SW2_CS16, SW1_CS16, SW3_CS16},
+ {0, SW5_CS16, SW4_CS16, SW6_CS16},
+ {0, SW8_CS16, SW7_CS16, SW9_CS16},
+ {0, SW11_CS16, SW10_CS16, SW12_CS16},
+ {0, SW11_CS15, SW10_CS15, SW12_CS15},
+ {0, SW11_CS12, SW10_CS12, SW12_CS12},
+ {0, SW11_CS13, SW10_CS13, SW12_CS13},
+ {0, SW8_CS14, SW7_CS14, SW9_CS14},
};
diff --git a/keyboards/flashquark/horizon_z/info.json b/keyboards/flashquark/horizon_z/info.json
index 9127042f71..0fe14e7c60 100755
--- a/keyboards/flashquark/horizon_z/info.json
+++ b/keyboards/flashquark/horizon_z/info.json
@@ -20,6 +20,36 @@
},
"processor": "atmega32u4",
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
"driver": "is31fl3733",
"layout": [
{ "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
@@ -83,7 +113,8 @@
{ "flags": 1, "matrix": [4, 10], "x": 182, "y": 64 },
{ "flags": 1, "matrix": [4, 12], "x": 202, "y": 64 },
{ "flags": 1, "matrix": [4, 13], "x": 222, "y": 64 }
- ]
+ ],
+ "sleep": true
},
"url": "https://flashquark.com/product/flashquark-horizon-z-qmk-edition-custom-kit/",
"usb": {
diff --git a/keyboards/flygone60/rev3/readme.md b/keyboards/flygone60/rev3/readme.md
deleted file mode 100644
index d5e8cbcc25..0000000000
--- a/keyboards/flygone60/rev3/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# flygone60
-
-![Flygone60](https://i.imgur.com/x63gMG2h.jpeg)
-
-A 60% that takes arrow keys seriously!
-
-* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
-* Hardware Supported: Flygone60
-* Hardware Availability: [Kit](https://www.etsy.com/listing/1025415290/flygone60-keyboard-kit?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=flygone60&ref=sr_gallery-1-13&organic_search_click=1&frs=1)
-
-Make example for this keyboard (after setting up your build environment):
-
- make flygone60/rev3:default
-
-Flashing example for this keyboard:
-
- make flygone60/rev3:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/fortitude60/keymaps/default/config.h b/keyboards/fortitude60/keymaps/default/config.h
deleted file mode 100644
index 7e9b510ff6..0000000000
--- a/keyboards/fortitude60/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/fortitude60/keymaps/via/config.h b/keyboards/fortitude60/keymaps/via/config.h
deleted file mode 100644
index 7e9b510ff6..0000000000
--- a/keyboards/fortitude60/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/foxlab/key65/universal/readme.md b/keyboards/foxlab/key65/universal/readme.md
index 967b9565f2..36f63b1aba 100644
--- a/keyboards/foxlab/key65/universal/readme.md
+++ b/keyboards/foxlab/key65/universal/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## RGB LED support
-The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLED_NUM to match the number of LEDs on your strip.
+The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLIGHT_LED_COUNT to match the number of LEDs on your strip.
diff --git a/keyboards/fractal/rules.mk b/keyboards/fractal/rules.mk
index 6beb282431..ee623488da 100755
--- a/keyboards/fractal/rules.mk
+++ b/keyboards/fractal/rules.mk
@@ -10,8 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/frobiac/blackbowl/matrix.c b/keyboards/frobiac/blackbowl/matrix.c
index 727e26ddc1..2a2c2618ab 100644
--- a/keyboards/frobiac/blackbowl/matrix.c
+++ b/keyboards/frobiac/blackbowl/matrix.c
@@ -45,10 +45,10 @@ void matrix_init_custom(void) {
uint8_t pullup[2] = {0, expander_input_mask};
for (uint8_t i = 0; i < 2; ++i) {
- expander_status = i2c_writeReg(i2c_addr[i], IODIRA, direction, 2, I2C_TIMEOUT);
+ expander_status = i2c_write_register(i2c_addr[i], IODIRA, direction, 2, I2C_TIMEOUT);
if (expander_status) return;
- expander_status = i2c_writeReg(i2c_addr[i], GPPUA, pullup, 2, I2C_TIMEOUT);
+ expander_status = i2c_write_register(i2c_addr[i], GPPUA, pullup, 2, I2C_TIMEOUT);
}
}
@@ -79,7 +79,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
// On both expanders: select col and read rows
for (size_t i = 0; i < 2; ++i) {
if (!expander_status) {
- expander_status = i2c_writeReg(i2c_addr[i], EXPANDER_COL_REGISTER, &port, 1, I2C_TIMEOUT);
+ expander_status = i2c_write_register(i2c_addr[i], EXPANDER_COL_REGISTER, &port, 1, I2C_TIMEOUT);
}
wait_us(30);
@@ -87,7 +87,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
return false;
}
- expander_status = i2c_readReg(i2c_addr[i], EXPANDER_ROW_REGISTER, &column_state[i], 1, I2C_TIMEOUT);
+ expander_status = i2c_read_register(i2c_addr[i], EXPANDER_ROW_REGISTER, &column_state[i], 1, I2C_TIMEOUT);
column_state[i] = (~column_state[i]) & ((1 << MATRIX_ROWS_PER_SIDE) - 1);
}
diff --git a/keyboards/frooastboard/nano/config.h b/keyboards/frooastboard/nano/config.h
index d28c057500..b316a918d4 100644
--- a/keyboards/frooastboard/nano/config.h
+++ b/keyboards/frooastboard/nano/config.h
@@ -16,8 +16,4 @@
#pragma once
-#define RGBLIGHT_DEFAULT_HUE 234
-
-#define RGBLIGHT_DEFAULT_VAL 190
-
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + 2
diff --git a/keyboards/frooastboard/nano/info.json b/keyboards/frooastboard/nano/info.json
index 6112c4832c..c81d7a3dfb 100644
--- a/keyboards/frooastboard/nano/info.json
+++ b/keyboards/frooastboard/nano/info.json
@@ -35,6 +35,10 @@
"rainbow_swirl": true,
"snake": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 234,
+ "val": 190
}
},
"ws2812": {
diff --git a/keyboards/frooastboard/walnut/config.h b/keyboards/frooastboard/walnut/config.h
index 710cd19342..c9ee79eecb 100644
--- a/keyboards/frooastboard/walnut/config.h
+++ b/keyboards/frooastboard/walnut/config.h
@@ -3,42 +3,5 @@
#pragma once
-#define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_26K7_HZ
-#define RGB_MATRIX_LED_COUNT 48
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_DEFAULT_SPD 191
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_26K7_HZ
diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json
index fc8ca2130f..4864e12fbc 100644
--- a/keyboards/frooastboard/walnut/info.json
+++ b/keyboards/frooastboard/walnut/info.json
@@ -15,7 +15,42 @@
"nkro": true
},
"rgb_matrix": {
- "driver": "is31fl3737"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true
+ },
+ "default": {
+ "animation": "rainbow_moving_chevron",
+ "speed": 191
+ },
+ "driver": "is31fl3737",
+ "max_brightness": 191,
+ "sleep": true
},
"build": {
"lto": true
diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c
index 48d1677f7a..0de3467ae4 100644
--- a/keyboards/frooastboard/walnut/walnut.c
+++ b/keyboards/frooastboard/walnut/walnut.c
@@ -5,61 +5,61 @@
#if defined(RGB_MATRIX_ENABLE)
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, K_1, J_1, L_1},
- {0, K_2, J_2, L_2},
- {0, K_3, J_3, L_3},
- {0, K_4, J_4, L_4},
- {0, K_5, J_5, L_5},
- {0, K_6, J_6, L_6},
- {0, K_7, J_7, L_7},
- {0, K_8, J_8, L_8},
- {0, K_9, J_9, L_9},
- {0, K_10, J_10, L_10},
- {0, K_11, J_11, L_11},
- {0, K_12, J_12, L_12},
- {0, H_1, G_1, I_1},
- {0, H_2, G_2, I_2},
- {0, H_3, G_3, I_3},
- {0, H_4, G_4, I_4},
- {0, H_5, G_5, I_5},
- {0, H_6, G_6, I_6},
- {0, H_7, G_7, I_7},
- {0, H_8, G_8, I_8},
- {0, H_9, G_9, I_9},
- {0, H_10, G_10, I_10},
- {0, H_11, G_11, I_11},
- {0, H_12, G_12, I_12},
- {0, E_1, D_1, F_1},
- {0, E_2, D_2, F_2},
- {0, E_3, D_3, F_3},
- {0, E_4, D_4, F_4},
- {0, E_5, D_5, F_5},
- {0, E_6, D_6, F_6},
- {0, E_7, D_7, F_7},
- {0, E_8, D_8, F_8},
- {0, E_9, D_9, F_9},
- {0, E_10, D_10, F_10},
- {0, E_11, D_11, F_11},
- {0, E_12, D_12, F_12},
- {0, B_1, A_1, C_1},
- {0, B_2, A_2, C_2},
- {0, B_3, A_3, C_3},
- {0, B_4, A_4, C_4},
- {0, B_5, A_5, C_5},
- {0, B_6, A_6, C_6},
- {0, B_7, A_7, C_7},
- {0, B_8, A_8, C_8},
- {0, B_9, A_9, C_9},
- {0, B_10, A_10, C_10},
- {0, B_11, A_11, C_11},
- {0, B_12, A_12, C_12}
+ {0, SW11_CS1, SW10_CS1, SW12_CS1},
+ {0, SW11_CS2, SW10_CS2, SW12_CS2},
+ {0, SW11_CS3, SW10_CS3, SW12_CS3},
+ {0, SW11_CS4, SW10_CS4, SW12_CS4},
+ {0, SW11_CS5, SW10_CS5, SW12_CS5},
+ {0, SW11_CS6, SW10_CS6, SW12_CS6},
+ {0, SW11_CS7, SW10_CS7, SW12_CS7},
+ {0, SW11_CS8, SW10_CS8, SW12_CS8},
+ {0, SW11_CS9, SW10_CS9, SW12_CS9},
+ {0, SW11_CS10, SW10_CS10, SW12_CS10},
+ {0, SW11_CS11, SW10_CS11, SW12_CS11},
+ {0, SW11_CS12, SW10_CS12, SW12_CS12},
+ {0, SW8_CS1, SW7_CS1, SW9_CS1},
+ {0, SW8_CS2, SW7_CS2, SW9_CS2},
+ {0, SW8_CS3, SW7_CS3, SW9_CS3},
+ {0, SW8_CS4, SW7_CS4, SW9_CS4},
+ {0, SW8_CS5, SW7_CS5, SW9_CS5},
+ {0, SW8_CS6, SW7_CS6, SW9_CS6},
+ {0, SW8_CS7, SW7_CS7, SW9_CS7},
+ {0, SW8_CS8, SW7_CS8, SW9_CS8},
+ {0, SW8_CS9, SW7_CS9, SW9_CS9},
+ {0, SW8_CS10, SW7_CS10, SW9_CS10},
+ {0, SW8_CS11, SW7_CS11, SW9_CS11},
+ {0, SW8_CS12, SW7_CS12, SW9_CS12},
+ {0, SW5_CS1, SW4_CS1, SW6_CS1},
+ {0, SW5_CS2, SW4_CS2, SW6_CS2},
+ {0, SW5_CS3, SW4_CS3, SW6_CS3},
+ {0, SW5_CS4, SW4_CS4, SW6_CS4},
+ {0, SW5_CS5, SW4_CS5, SW6_CS5},
+ {0, SW5_CS6, SW4_CS6, SW6_CS6},
+ {0, SW5_CS7, SW4_CS7, SW6_CS7},
+ {0, SW5_CS8, SW4_CS8, SW6_CS8},
+ {0, SW5_CS9, SW4_CS9, SW6_CS9},
+ {0, SW5_CS10, SW4_CS10, SW6_CS10},
+ {0, SW5_CS11, SW4_CS11, SW6_CS11},
+ {0, SW5_CS12, SW4_CS12, SW6_CS12},
+ {0, SW2_CS1, SW1_CS1, SW3_CS1},
+ {0, SW2_CS2, SW1_CS2, SW3_CS2},
+ {0, SW2_CS3, SW1_CS3, SW3_CS3},
+ {0, SW2_CS4, SW1_CS4, SW3_CS4},
+ {0, SW2_CS5, SW1_CS5, SW3_CS5},
+ {0, SW2_CS6, SW1_CS6, SW3_CS6},
+ {0, SW2_CS7, SW1_CS7, SW3_CS7},
+ {0, SW2_CS8, SW1_CS8, SW3_CS8},
+ {0, SW2_CS9, SW1_CS9, SW3_CS9},
+ {0, SW2_CS10, SW1_CS10, SW3_CS10},
+ {0, SW2_CS11, SW1_CS11, SW3_CS11},
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}
};
led_config_t g_led_config = {
diff --git a/keyboards/fs_streampad/config.h b/keyboards/fs_streampad/config.h
new file mode 100644
index 0000000000..567c985a63
--- /dev/null
+++ b/keyboards/fs_streampad/config.h
@@ -0,0 +1,7 @@
+// Copyright 2023 Matthijs Muller
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/fs_streampad/info.json b/keyboards/fs_streampad/info.json
new file mode 100644
index 0000000000..5adefff443
--- /dev/null
+++ b/keyboards/fs_streampad/info.json
@@ -0,0 +1,95 @@
+{
+ "manufacturer": "Forward Slash",
+ "keyboard_name": "FS streampad",
+ "maintainer": "Matthijs Muller",
+ "url": "https://github.com/smollchungus",
+ "usb": {
+ "vid": "0x5363",
+ "pid": "0x3333",
+ "device_version": "0.0.1"
+ },
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "rows": ["GP10", "GP9", "GP23"],
+ "cols": ["GP25", "GP26", "GP24"]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 }
+ ]
+ }
+ },
+ "ws2812": {
+ "pin": "GP8",
+ "driver": "vendor"
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true
+ },
+ "default": {
+ "animation": "cycle_left_right"
+ },
+ "sleep": true,
+ "layout": [
+ {"matrix": [0, 0], "flags": 4, "x": 0, "y": 0 },
+ {"matrix": [0, 1], "flags": 4, "x": 112, "y": 0 },
+ {"matrix": [0, 2], "flags": 4, "x": 224, "y": 0 },
+ {"matrix": [1, 2], "flags": 4, "x": 224, "y": 32},
+ {"matrix": [1, 1], "flags": 4, "x": 112, "y": 32},
+ {"matrix": [1, 0], "flags": 4, "x": 0, "y": 32},
+ {"matrix": [2, 0], "flags": 4, "x": 0, "y": 64},
+ {"matrix": [2, 1], "flags": 4, "x": 112, "y": 64},
+ {"matrix": [2, 2], "flags": 4, "x": 224, "y": 64}
+ ]
+ }
+}
diff --git a/keyboards/fs_streampad/keymaps/default/keymap.c b/keyboards/fs_streampad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..15997a0839
--- /dev/null
+++ b/keyboards/fs_streampad/keymaps/default/keymap.c
@@ -0,0 +1,19 @@
+// Copyright 2023 Matthijs Muller
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_7, KC_8, MO(1)
+ ),
+
+ [1] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_RMOD,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/fs_streampad/keymaps/via/keymap.c b/keyboards/fs_streampad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..15997a0839
--- /dev/null
+++ b/keyboards/fs_streampad/keymaps/via/keymap.c
@@ -0,0 +1,19 @@
+// Copyright 2023 Matthijs Muller
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_7, KC_8, MO(1)
+ ),
+
+ [1] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_RMOD,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk b/keyboards/fs_streampad/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk
+++ b/keyboards/fs_streampad/keymaps/via/rules.mk
diff --git a/keyboards/fs_streampad/readme.md b/keyboards/fs_streampad/readme.md
new file mode 100644
index 0000000000..24a80e7611
--- /dev/null
+++ b/keyboards/fs_streampad/readme.md
@@ -0,0 +1,24 @@
+# FS streampad
+
+A 3x3 hotswap macropad.
+
+* Keyboard Maintainer: [Matthijs Muller](https://github.com/Smollchungus)
+* Hardware Supported: FS streampad
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fs_streampad:default
+
+Flashing example for this keyboard:
+
+ make fs_streampad:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/fs_streampad/rules.mk b/keyboards/fs_streampad/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/fs_streampad/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/gboards/ergotaco/ergotaco.c b/keyboards/gboards/ergotaco/ergotaco.c
index daeba1e0a6..694e07f031 100644
--- a/keyboards/gboards/ergotaco/ergotaco.c
+++ b/keyboards/gboards/ergotaco/ergotaco.c
@@ -49,23 +49,17 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
+ uint8_t data[] = {0b00000000, 0b00111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, sizeof(data), ERGODOX_EZ_I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, sizeof(data), ERGODOX_EZ_I2C_TIMEOUT);
+ }
+
// SREG=sreg_prev;
//uprintf("Init %x\n", mcp23018_status);
return mcp23018_status;
diff --git a/keyboards/gboards/ergotaco/ergotaco.h b/keyboards/gboards/ergotaco/ergotaco.h
index e23fc264f4..6ab47ced74 100644
--- a/keyboards/gboards/ergotaco/ergotaco.h
+++ b/keyboards/gboards/ergotaco/ergotaco.h
@@ -11,10 +11,7 @@ extern i2c_status_t mcp23018_status;
#define ERGODOX_EZ_I2C_TIMEOUT 1000
// I2C aliases and register addresses (see "mcp23018.md")
-//#define I2C_ADDR 0b0100000
-#define I2C_ADDR 0x20
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0x20<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/gboards/ergotaco/matrix.c b/keyboards/gboards/ergotaco/matrix.c
index 63d4c4f5f3..3c49f2802e 100644
--- a/keyboards/gboards/ergotaco/matrix.c
+++ b/keyboards/gboards/ergotaco/matrix.c
@@ -234,15 +234,8 @@ static matrix_row_t read_cols(uint8_t row)
return 0;
} else {
uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOB, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_start(I2C_ADDR_READ, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = (~((uint8_t)mcp23018_status) >> 2) & 0x01 ;
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
-
+ mcp23018_status = i2c_readReg(I2C_ADDR, GPIOB, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
+ data = (~((uint8_t)data) >> 2) & 0x01 ;
#ifdef DEBUG_MATRIX
if (data != 0x00) xprintf("I2C: %d\n", data);
#endif
@@ -274,11 +267,8 @@ static void select_row(uint8_t row)
if (mcp23018_status) { // do nothing on error
// Read using bitmask
} else { // set active row low : 0 // set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(~(1<<row), ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data = ~(1<<row);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
}
} else {
// Output low(DDR:1, PORT:0) to select
diff --git a/keyboards/gboards/georgi/georgi.c b/keyboards/gboards/georgi/georgi.c
index dd95b593f1..745e8ab35d 100644
--- a/keyboards/gboards/georgi/georgi.c
+++ b/keyboards/gboards/georgi/georgi.c
@@ -45,23 +45,17 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b10000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b10000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ uint8_t data[] = {0b10000000, 0b11111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, 2, ERGODOX_EZ_I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, 2, ERGODOX_EZ_I2C_TIMEOUT);
+ }
-out:
- i2c_stop();
// SREG=sreg_prev;
//uprintf("Init %x\n", mcp23018_status);
return mcp23018_status;
diff --git a/keyboards/gboards/georgi/georgi.h b/keyboards/gboards/georgi/georgi.h
index e23fc264f4..6ab47ced74 100644
--- a/keyboards/gboards/georgi/georgi.h
+++ b/keyboards/gboards/georgi/georgi.h
@@ -11,10 +11,7 @@ extern i2c_status_t mcp23018_status;
#define ERGODOX_EZ_I2C_TIMEOUT 1000
// I2C aliases and register addresses (see "mcp23018.md")
-//#define I2C_ADDR 0b0100000
-#define I2C_ADDR 0x20
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0x20<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/gboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c
index b66b1a194c..d1151ae80e 100644
--- a/keyboards/gboards/georgi/matrix.c
+++ b/keyboards/gboards/georgi/matrix.c
@@ -254,14 +254,7 @@ static matrix_row_t read_cols(uint8_t row)
return 0;
} else {
uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOB, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_start(I2C_ADDR_READ, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
+ mcp23018_status = i2c_readReg(I2C_ADDR, GPIOB, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
#ifdef DEBUG_MATRIX
if (data != 0x00) xprintf("I2C: %d\n", data);
@@ -304,11 +297,9 @@ static void select_row(uint8_t row)
// select on mcp23018
if (mcp23018_status) { // do nothing on error
} else { // set active row low : 0 // set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0xFF & ~(1<<row), ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data = 0xFF & ~(1<<row);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, ERGODOX_EZ_I2C_TIMEOUT);
+
}
} else {
// Output low(DDR:1, PORT:0) to select
diff --git a/keyboards/gboards/gergo/gergo.c b/keyboards/gboards/gergo/gergo.c
index da2a3007a8..41d383d408 100644
--- a/keyboards/gboards/gergo/gergo.c
+++ b/keyboards/gboards/gergo/gergo.c
@@ -43,23 +43,17 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b10000000, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, I2C_TIMEOUT); if (mcp23018_status) goto out;
- i2c_stop();
+ uint8_t data[] = {0b10000000, 0b11111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, sizeof(data), I2C_TIMEOUT);
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b10000000, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, I2C_TIMEOUT); if (mcp23018_status) goto out;
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, sizeof(data), I2C_TIMEOUT);
+ }
-out:
- i2c_stop();
// SREG=sreg_prev;
//uprintf("Init %x\n", mcp23018_status);
return mcp23018_status;
diff --git a/keyboards/gboards/gergo/gergo.h b/keyboards/gboards/gergo/gergo.h
index ea6368e2f1..f6dc1498f0 100644
--- a/keyboards/gboards/gergo/gergo.h
+++ b/keyboards/gboards/gergo/gergo.h
@@ -11,10 +11,7 @@ extern i2c_status_t mcp23018_status;
#define I2C_TIMEOUT 1000
// I2C aliases and register addresses (see "mcp23018.md")
-//#define I2C_ADDR 0b0100000
-#define I2C_ADDR 0x20
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0x20<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/gboards/gergo/keymaps/default/config.h b/keyboards/gboards/gergo/keymaps/default/config.h
deleted file mode 100644
index 3f59c932d3..0000000000
--- a/keyboards/gboards/gergo/keymaps/default/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-
diff --git a/keyboards/gboards/gergo/keymaps/germ/config.h b/keyboards/gboards/gergo/keymaps/germ/config.h
deleted file mode 100644
index 3f59c932d3..0000000000
--- a/keyboards/gboards/gergo/keymaps/germ/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-
diff --git a/keyboards/gboards/gergo/matrix.c b/keyboards/gboards/gergo/matrix.c
index 8a6b38bf73..b4885361fb 100644
--- a/keyboards/gboards/gergo/matrix.c
+++ b/keyboards/gboards/gergo/matrix.c
@@ -297,19 +297,12 @@ static matrix_row_t read_cols(uint8_t row) {
return 0;
} else {
uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOB, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
+ mcp23018_status = i2c_readReg(I2C_ADDR, GPIOB, &data, 1, I2C_TIMEOUT);
#ifdef DEBUG_MATRIX
- if (data != 0x00) xprintf("I2C: %d\n", data);
+ if (~data != 0x00) xprintf("I2C: %d\n", ~data);
#endif
- return data;
+ return ~data;
}
} else {
/* read from teensy
@@ -350,11 +343,8 @@ static void select_row(uint8_t row)
// select on mcp23018
if (mcp23018_status) { // do nothing on error
} else { // set active row low : 0 // set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0xFF & ~(1<<row), I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data = 0xFF & ~(1<<row);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
}
} else {
// Output low(DDR:1, PORT:0) to select
diff --git a/keyboards/gboards/gergoplex/gergoplex.c b/keyboards/gboards/gergoplex/gergoplex.c
index 1e44583895..b621201c16 100644
--- a/keyboards/gboards/gergoplex/gergoplex.c
+++ b/keyboards/gboards/gergoplex/gergoplex.c
@@ -39,30 +39,16 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11000001, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11000001, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b11111111, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
+ uint8_t data[] = {0b11000001, 0b11111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, sizeof(data), I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, sizeof(data), I2C_TIMEOUT);
+ }
-out:
- i2c_stop();
return mcp23018_status;
}
diff --git a/keyboards/gboards/gergoplex/gergoplex.h b/keyboards/gboards/gergoplex/gergoplex.h
index 549228104a..217cb8dff1 100644
--- a/keyboards/gboards/gergoplex/gergoplex.h
+++ b/keyboards/gboards/gergoplex/gergoplex.h
@@ -25,9 +25,7 @@ extern i2c_status_t mcp23018_status;
#define XXX KC_NO
// I2C aliases and register addresses (see "mcp23018.md")
-#define I2C_ADDR 0x20 // 0b0100000
-#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE)
-#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ)
+#define I2C_ADDR (0x20 << 1) // 0b0100000
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def b/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def
deleted file mode 100644
index a9205c028a..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def
+++ /dev/null
@@ -1,11 +0,0 @@
-// List any combo dictionaries you want loaded to your device below!
-
-// QMK wide includes
-//#include "combos/germ-vim-helpers.def"
-#include "combos/germ-mouse-keys.def"
-
-// User includes
-#include "gergoplex.def"
-
-// Word completion
-// #include "combos/eng-combos.def"
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
deleted file mode 100644
index e2c27583fa..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2013 Oleg Kostyuk <cub.uanic@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/>.
-*/
-
-// Copy and worked on with love from the EZ team
-
-#pragma once
-
-#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
-
-#undef DEBOUNCE
-#define DEBOUNCE 25
-
-#define COMBO_ALLOW_ACTION_KEYS
-#define COMBO_VARIABLE_LEN
-
-#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def
deleted file mode 100644
index d50d431c8b..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def
+++ /dev/null
@@ -1,7 +0,0 @@
-// Gergoplex specfic combos
-
-COMB(hjEnt, KC_ENT, KC_H, KC_J)
-COMB(loDel, KC_DEL, KC_L, KC_O)
-COMB(pscBspace, KC_BSPC, KC_P, KC_SCLN)
-COMB(sdEsc, KC_ESC, KC_D, KC_F)
-COMB(fgEsc, KC_ESC, KC_F, KC_G)
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
deleted file mode 100644
index 44c570b42c..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/* Copyright 2021 Jane Bernhardt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* Good on you for modifying your layout! if you don't have
- * time to read the QMK docs, a list of keycodes can be found at
- * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
- */
-
-#include QMK_KEYBOARD_H
-#include "g/keymap_combo.h"
-
-enum {
- _ALPHA, // default
- _GAME, // gaming
- _SPECIAL, // special characters
- _NUMBERS // numbers/function/motion
-};
-
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_TAP,
- TD_DOUBLE_TAP,
- TD_TRIPLE_TAP
-} td_state_t;
-
-typedef struct {
- bool is_press_action;
- td_state_t state;
-} td_tap_t;
-
-enum {
- GAME
-};
-
-td_state_t cur_dance(tap_dance_state_t *state);
-
-void ql_finished(tap_dance_state_t *state, void *user_data);
-void ql_reset(tap_dance_state_t *state, void *user_data);
-
-#define KC_CTL_A MT(MOD_LCTL, KC_A) // Tap for A, hold for Control
-#define KC_SFT_Z MT(MOD_RSFT, KC_Z) // Tap for Z, hold for Shift
-#define KC_SFT_SL MT(MOD_RSFT, KC_SLSH) // Tap for slash, hold for Shift
-#define KC_SPE_SPC LT(_SPECIAL, KC_SPC) // Tap for Space, hold for Special layer
-#define KC_NUM_SPC LT(_NUMBERS, KC_SPC) // Tap for Space, hold for Numbers layer
-
- /* Combomap
- *
- * ,-------------------------------. ,-------------------------------.
- * | | | | | | | | | | | |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-DEL-+-BSPC--|
- * | | | ESC ESC | | ENT | | | |
- * |-------+-----+-----+-RMB-+-LMB-| |-----+-----+-----+-----+-------|
- * | | | | | | | | | | | |
- * `-------------------------------' `-------------------------------'
- * .-----------------. .-----------------.
- * | | | | | | | |
- * '-----------------' '-----------------'
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Alpha layer
- *
- * ,-------------------------------. ,-------------------------------.
- * | 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 / |
- * `-------------------------------' `-------------------------------'
- * .----------------------. .----------------------.
- * | META | ALT | SPC SPE | | SPC NUM | TAB | SHFT |
- * '----------------------' '----------------------'
- */
- [_ALPHA] = LAYOUT_split_3x5_3(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_CTL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_SFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD(GAME), KC_DOT, KC_SFT_SL,
- KC_LGUI, KC_LALT, KC_SPE_SPC, KC_NUM_SPC, KC_TAB, KC_RSFT),
-
- /* Gaming layer
- *
- * ,-------------------------------. ,-------------------------------.
- * | ~ | Q | W | E | R | | Y | U | I | O | P |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | CTRL | A | S | D | F | | H | J | K | L | ; |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | SHFT | Z | X | C | V | | N | M | , | . |SHFT / |
- * `-------------------------------' `-------------------------------'
- * .------------------. .----------------------.
- * | META | ALT | SPC | | SPC NUM | TAB | SHFT |
- * '------------------' '----------------------'
- */
- [_GAME] = LAYOUT_split_3x5_3(
- KC_TILD, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_LCTL , KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, TD(GAME), KC_DOT, KC_SFT_SL,
- KC_LGUI, KC_LALT, KC_SPC, KC_NUM_SPC, KC_TAB, KC_RSFT),
-
- /* Special characters layer
- *
- * ,-------------------------------. ,-------------------------------.
- * | ! | @ | { | } | | | | ` | - | = | / | \ |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | # | $ | ( | ) | | | LFT | DWN | UP | RGT | ' |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | % | ^ | [ | ] | | | & | ~ | + | * | |
- * `-------------------------------' `-------------------------------'
- * .-------------------. .-----------------.
- * | | | | | | " | _ |
- * '-------------------' '-----------------'
- */
- [_SPECIAL] = LAYOUT_split_3x5_3(
- KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_MINS, KC_EQL , KC_SLSH, KC_BSLS,
- KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT,
- KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TRNS, KC_AMPR, KC_TILD, KC_PLUS, KC_ASTR, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_QUOTE), LSFT(KC_MINS)),
-
- /* Numbers/Function/Motion layer
- *
- * ,-------------------------------. ,-------------------------------.
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | F1 | F2 | F3 | F4 | F5 | | | | | | |
- * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | F6 | F7 | F8 | F9 | F10 | | MLFT| MDWN| MUP | MRGT| |
- * `-------------------------------' `-------------------------------'
- * .-----------------. .-----------------.
- * | F11 | F12 | | | | | |
- * '-----------------' '-----------------'
- */
- [_NUMBERS] = LAYOUT_split_3x5_3(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS,
- KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
-bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_CTL_A:
- return false;
- default:
- return true;
- }
-}
-
-td_state_t cur_dance(tap_dance_state_t *state) {
- if (state->count == 1)
- return TD_SINGLE_TAP;
- if (state->count == 2)
- return TD_DOUBLE_TAP;
- else if (state->count == 3)
- return TD_TRIPLE_TAP;
- return TD_UNKNOWN;
-}
-
-static td_tap_t ql_tap_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void ql_finished(tap_dance_state_t *state, void *user_data) {
- ql_tap_state.state = cur_dance(state);
- switch (ql_tap_state.state) {
- case TD_SINGLE_TAP:
- tap_code(KC_COMMA);
- break;
- case TD_DOUBLE_TAP:
- tap_code(KC_COMMA);
- tap_code(KC_COMMA);
- break;
- case TD_TRIPLE_TAP:
- if (layer_state_is(_GAME))
- layer_off(_GAME);
- else
- layer_on(_GAME);
- break;
- default:
- break;
- }
-}
-
-void ql_reset(tap_dance_state_t *state, void *user_data) {
- ql_tap_state.state = TD_NONE;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [GAME] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset)
-};
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
- return 275;
- default:
- return TAPPING_TERM;
- }
-}
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md b/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md
deleted file mode 100644
index 7c8a6f2023..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# George Petri's Gergoplex layout
-Vim and programming focused layout.
-```
-qmk compile -kb gboards/gergoplex -km georgepetri
-qmk flash -kb gboards/gergoplex -km georgepetri
-```
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk b/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk
deleted file mode 100644
index 74d02c23bd..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-#----------------------------------------------------------------------------
-# make gboards/gergoplex:default:flash
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
-#Debug options
-VERBOSE = no
-DEBUG_MATRIX_SCAN_RATE = no
-DEBUG_MATRIX = no
-CONSOLE_ENABLE = no
-
-#Combos!
-COMBO_ENABLE = yes
-VPATH += keyboards/gboards/
-
-ifeq ($(strip $(DEBUG_MATRIX)), yes)
- OPT_DEFS += -DDEBUG_MATRIX
-endif
-
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def
deleted file mode 100644
index ef953d53f5..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def
+++ /dev/null
@@ -1,11 +0,0 @@
-// List any combo dictionaries you want loaded to your device below!
-
-// QMK wide includes
-//#include "combos/germ-vim-helpers.def"
-//#include "combos/germ-mouse-keys.def"
-
-// User includes
-#include "gergoplex.def"
-
-// Word completion
-// #include "combos/eng-combos.def"
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h b/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h
deleted file mode 100644
index 1b30cc73b3..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define COMBO_ALLOW_ACTION_KEYS
-#define COMBO_VARIABLE_LEN
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def
deleted file mode 100644
index c7a93ed294..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def
+++ /dev/null
@@ -1,17 +0,0 @@
-// Gergoplex specfic combos
-
-COMB(qwGrav, KC_GRV, KC_W, KC_Q)
-COMB(wsEsc, KC_ESC, KC_W, KC_S)
-COMB(sdBackspace, KC_BSPC, KC_S, KC_D)
-COMB(dfTab, KC_TAB, KC_D, KC_F)
-COMB(cvEnter, KC_ENT, KC_C, KC_V)
-
-COMB(ioMinus, KC_MINS, KC_I, KC_O)
-COMB(opBackslash, KC_BSLS, KC_O, KC_P)
-COMB(hjLess, KC_LT, KC_H, KC_J)
-COMB(klGreat, KC_GT, KC_K, KC_L)
-COMB(jkColon, KC_COLN, KC_J, KC_K)
-COMB(mcUnder, KC_UNDS, KC_M, KC_COMM)
-COMB(nmQuote, KC_QUOT, KC_N, KC_M)
-
-SUBS(pasta, "I'd just like to interject for a moment.", KC_H, KC_J, KC_K, KC_L)
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c b/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c
deleted file mode 100644
index 74c0899fdb..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/* Copyright 2022 Tony Grosinger
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "g/keymap_combo.h"
-
-enum {
- _ALPHA, // Default
- _SYMB, // Symbols
- _NUMB, // Numbers
- _ARROWS, // Arrows and OS
- _TMUX, // TMUX Nav layer
- _POPOS, // Gnome Shell, aka PopOS
-};
-
-
-// Macros
-enum custom_keycodes {
- TMUX_NEW = SAFE_RANGE,
- TMUX_ZOOM,
- TMUX_SCROLL,
- TMUX_PN_LT,
- TMUX_PN_UP,
- TMUX_PN_DN,
- TMUX_PN_RT,
- TMUX_WN_LT,
- TMUX_WN_RT,
- TMUX_SP_VT,
- TMUX_SP_HZ,
- VIM_CLIP_CP,
- VIM_CLIP_PST,
- VIM_MACRO,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case TMUX_NEW:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("c");
- }
- break;
- case TMUX_ZOOM:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("z");
- }
- break;
- case TMUX_SCROLL:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("[");
- }
- break;
- case TMUX_PN_LT:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- tap_code(KC_LEFT);
- }
- break;
- case TMUX_PN_DN:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- tap_code(KC_DOWN);
- }
- break;
- case TMUX_PN_UP:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- tap_code(KC_UP);
- }
- break;
- case TMUX_PN_RT:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- tap_code(KC_RIGHT);
- }
- break;
- case TMUX_WN_LT:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("p");
- }
- break;
- case TMUX_WN_RT:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("n");
- }
- break;
- case TMUX_SP_VT:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("%");
- }
- break;
- case TMUX_SP_HZ:
- if (record->event.pressed) {
- tap_code16(C(KC_B));
- SEND_STRING("\"");
- }
- break;
- case VIM_CLIP_CP:
- if (record->event.pressed) {
- tap_code16(S(KC_QUOTE));
- tap_code16(S(KC_EQUAL));
- tap_code(KC_Y);
- }
- break;
- case VIM_CLIP_PST:
- if (record->event.pressed) {
- tap_code16(S(KC_QUOTE));
- tap_code16(S(KC_EQUAL));
- tap_code(KC_P);
- }
- break;
- case VIM_MACRO:
- if (record->event.pressed) {
- tap_code16(S(KC_2));
- tap_code(KC_Q);
- }
- break;
- /*
- case LAYRMOD:
- // Act as a mod key if held, or toggle a layer if tapped
- // replace KC_LCTL with desired mod, and _TARGET with desired layer name / number
- if (record->event.pressed) {
- uint8_t key_timer = timer_read();
- register_mods(MOD_BIT(KC_LCTL));
- } else {
- unregister_mods(MOD_BIT(KC_LCTL));
- if (timer_elapsed(key_timer) < 200) {
- layer_invert(_TARGET);
- }
- }
- return false;
- break;
- */
- }
- return true;
-}
-
-/* Combos
- *
- * ,-----------------------------. ,-----------------------------.
- * | ` | | | | | | MINS | BSLH |
- * |-----+----ESC----+-----+-----| |-----+-----+-----+-----------|
- * | | BSPC TAB | | | LES COLN GRT | |
- * |-----+-----+-----+--RMB+-LMB-| |-----+-----+-----+-----------|
- * | | | ENT | | | QUO UNDR | | |
- * `-----+-----+-----+-----+-----' `-----------------------------'
- * .-------------------------. .-------------------.
- * | | | | | | | |
- * '-------------------------' '-------------------'
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap 0: Default layer
- * ,------------------------------. ,----------------------------------.
- * | Q | W | E | R | T | | Y | U | I | O | P |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------|
- * |CTRL/A| S | D | F | G | | H | J | K | L | CTRL/; |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------|
- * |SHFT/Z|ALT/X| C | V | B | | N | M | < | ALT/> | SHFT/? |
- * `------+-----+-----+------+----' `----------------------------------'
- * .-----------------. .----------------------.
- * | |GUI |SPC(NUM)| |SPC(SYM)|TMUX | PopOS |
- * '-----------------' '----------------------'
- */
- [_ALPHA] = LAYOUT_split_3x5_3(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- MT(MOD_LCTL, KC_A),KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LCTL, KC_SCLN),
- MT(MOD_LSFT, KC_Z),MT(MOD_LALT, KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MT(MOD_LALT, KC_DOT), MT(MOD_RSFT, KC_SLSH),
-
- KC_NO, KC_LGUI, LT(_NUMB, KC_SPC), // Left
- LT(_SYMB, KC_SPC), MO(_TMUX), MO(_POPOS) // Right
- ),
-
- /* Keymap 1: Symbols layer
- * ,------------------------------. ,-------------------------------.
- * | ! | @ | # | $ | % | | ^ | & | * | + | = |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | | | | | | | | | | F11 | F12 |
- * `------+-----+-----+-----+-----' `-------------------------------'
- * .-----------------. .-----------------.
- * | | DEL | MO3 | | HLD | SPC | |
- * '-----------------' '-----------------'
- */
- [_SYMB] = LAYOUT_split_3x5_3(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PLUS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12,
- KC_NO, KC_DEL, MO(_ARROWS), KC_TRNS, KC_SPC, KC_NO
- ),
-
- /* Keymap 2: Number layer
- * ,------------------------------. ,-------------------------------.
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | CTRL | | ( | ) | | | | 4 | 7 | 6 | |
- * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
- * | SHFT | | [ | ] | | | | 1 | 2 | 3 | . |
- * `------+-----+-----+-----+-----' `-------------------------------'
- * .-----------------. .-----------------.
- * | | | HLD | | MO3 | 0 | |
- * '-----------------' '-----------------'
- */
- [_NUMB] = LAYOUT_split_3x5_3(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_LCTL, KC_NO, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO,
- KC_LSFT, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_DOT,
- KC_NO,KC_NO,KC_TRNS, MO(_ARROWS),KC_0,KC_NO
- ),
-
- /* Keymap 3: Arrows and OS
- * ,------------------------------. ,------------------------------------.
- * | | | | | | | | | | | |
- * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----|
- * | CTRL |HOME | PUP | | | | LEFT | DOWN | UP | RIGHT | |
- * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----|
- * | SHFT |END | PDN | | | | | | | | |
- * `------+-----+-----+-----+-----' `------------------------------------'
- * .-----------------. .-----------------.
- * | | | HLD | | HLD | | |
- * '-----------------' '-----------------'
- */
- [_ARROWS] = LAYOUT_split_3x5_3(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
- KC_LSFT, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO,KC_NO,KC_TRNS, KC_TRNS,KC_NO,KC_NO
- ),
-
- /* Keymap 4: Tmux navigation layer
- * ,----------------------------------. ,---------------------------------------.
- * | Vi Mcr | | | | SP VT | | Vi Ynk| | | | Vi PT |
- * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------|
- * | | SCRL| | | | | PN LT | PN DN | PN UP | PN RT | SP HZ |
- * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------|
- * | ZOOM | KILL| NEW | | | | W LT | | | W RT | |
- * `--------+-----+-----+-----+-------' `---------------------------------------'
- * .-----------------. .-----------------.
- * | | | | | | HLD | |
- * '-----------------' '-----------------'
- */
- [_TMUX] = LAYOUT_split_3x5_3(
- VIM_MACRO, KC_NO, KC_NO, KC_NO, TMUX_SP_VT, VIM_CLIP_CP, KC_NO, KC_NO, KC_NO, VIM_CLIP_PST,
- KC_NO, TMUX_SCROLL, KC_NO, KC_NO, KC_NO, TMUX_PN_LT, TMUX_PN_DN, TMUX_PN_UP, TMUX_PN_RT, TMUX_SP_HZ,
- TMUX_ZOOM, KC_NO, TMUX_NEW, KC_NO, KC_NO, TMUX_WN_LT, KC_NO, KC_NO, TMUX_WN_RT, KC_NO,
- KC_NO,KC_NO,KC_NO, KC_NO,KC_TRNS,KC_NO
- ),
-
- /* Keymap 5: Gnome Shell (PopOS)
- * ,------------------------------. ,--------------------------------------.
- * | | | | | | | MV-DWN| D-DWN | D-UP | MV-UP | Flip |
- * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------|
- * | | | | | | | W-L | W-DWN | W-UP | W-R | |
- * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------|
- * | | | | | | | Scrns | Apps | Close | | |
- * `------+-----+-----+-----+-----' `--------------------------------------'
- * .-----------------. .-----------------.
- * | | | | | | | HLD |
- * '-----------------' '-----------------'
- */
- [_POPOS] = LAYOUT_split_3x5_3(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, SGUI(KC_J), LCTL(LGUI(KC_J)), LCTL(LGUI(KC_K)), SGUI(KC_K), LGUI(KC_O),
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_D), LGUI(KC_A), LGUI(KC_Q), KC_NO, KC_NO,
- KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_TRNS
- ),
-};
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md b/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md
deleted file mode 100644
index 0a53aa1cbf..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# GergoPlex
-
-This keymap I created for the GergoPlex with a focus on:
-
-- Keeping keys close to their normal locations when possible (number/symbol rows)
-- Work well for vim, tmux, and Ubuntu default desktop shortcuts
-- Work okay for OSx shortcuts
-
-## Firmware Building
-
- util/docker_build.sh gboards/gergoplex:tgrosinger
- util/docker_build.sh gboards/gergoplex:tgrosinger:flash
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk
deleted file mode 100644
index 620cab16c0..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#----------------------------------------------------------------------------
-# make gboards/gergoplex:default:flash
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
-#Debug options
-VERBOSE = no
-DEBUG_MATRIX_SCAN_RATE = no
-DEBUG_MATRIX = no
-CONSOLE_ENABLE = no
-
-#Combos!
-COMBO_ENABLE = yes
-VPATH += keyboards/gboards/
-
-ifeq ($(strip $(DEBUG_MATRIX)), yes)
- OPT_DEFS += -DDEBUG_MATRIX
-endif
diff --git a/keyboards/gboards/gergoplex/matrix.c b/keyboards/gboards/gergoplex/matrix.c
index c9f5528b74..9437b24377 100644
--- a/keyboards/gboards/gergoplex/matrix.c
+++ b/keyboards/gboards/gergoplex/matrix.c
@@ -177,20 +177,12 @@ static matrix_row_t read_cols(uint8_t row) {
if (mcp23018_status) { // if there was an error
return 0;
} else {
- uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_read_nack(I2C_TIMEOUT);
- if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
-
+ uint8_t data = 0;
+ mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, I2C_TIMEOUT);
#ifdef DEBUG_MATRIX
- if (data != 0x00) xprintf("I2C: %d\n", data);
+ if (~data != 0x00) xprintf("I2C: %d\n", ~data);
#endif
- return data;
+ return ~data;
}
} else {
return ~((((PINF & COL4) >> 1) | ((PINF & (COL1 | COL2 | COL3)) >> 3)) & 0xF);
@@ -213,14 +205,10 @@ static void select_row(uint8_t row) {
// select on mcp23018
if (mcp23018_status) { // do nothing on error
} else { // set active row low : 0 // set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0xFF & ~(1 << (row + 1)), I2C_TIMEOUT);
- if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data;
+ data = 0xFF & ~(1 << (row + 1));
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
+
}
} else {
setPinOutput(row_pins[row - MATRIX_ROWS_PER_SIDE]);
diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h
index 47f9064e45..6aed50ec2f 100644
--- a/keyboards/geekboards/macropad_v2/config.h
+++ b/keyboards/geekboards/macropad_v2/config.h
@@ -16,72 +16,10 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 42
-
-// PWM RGB Underglow Defines
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// # define ENABLE_RGB_MATRIX_RAINDROPS
-// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
-# define RGB_MATRIX_DEFAULT_SAT 255
-# define RGB_MATRIX_DEFAULT_VAL 192
-# define RGB_MATRIX_DEFAULT_SPD 30
-#endif //RGB_MATRIX_ENABLE
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define WAIT_FOR_USB
diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json
index 95b1ca94d7..cb8c3b81be 100644
--- a/keyboards/geekboards/macropad_v2/info.json
+++ b/keyboards/geekboards/macropad_v2/info.json
@@ -16,7 +16,42 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "dual_beacon": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_up_down",
+ "sat": 255,
+ "speed": 30,
+ "val": 192
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"processor": "STM32F072",
"bootloader": "stm32-dfu",
diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h
index c71ee9f351..1c78a34e60 100644
--- a/keyboards/geekboards/tester/config.h
+++ b/keyboards/geekboards/tester/config.h
@@ -1,63 +1,6 @@
#pragma once
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+
#define LOCKING_SUPPORT_ENABL
#define LOCKING_RESYNC_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
-# define DRIVER_1_LED_TOTAL 8
-# define DRIVER_2_LED_TOTAL 0
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json
index 363ab895a5..03fb682751 100644
--- a/keyboards/geekboards/tester/info.json
+++ b/keyboards/geekboards/tester/info.json
@@ -9,6 +9,47 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true
+ },
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c
index 187d887d58..11d2eb4db2 100644
--- a/keyboards/geekboards/tester/tester.c
+++ b/keyboards/geekboards/tester/tester.c
@@ -1,6 +1,6 @@
#include "quantum.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/geonworks/ee_at/ee_at.c b/keyboards/geonworks/ee_at/ee_at.c
new file mode 100644
index 0000000000..b2e6320851
--- /dev/null
+++ b/keyboards/geonworks/ee_at/ee_at.c
@@ -0,0 +1,30 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+void led_init_ports(void) {
+ // Set our LED pins as open drain outputs
+ setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+ setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+ setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+ setPinOutputOpenDrain(LED_KANA_PIN);
+ setPinOutputOpenDrain(A14);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ writePin(A14, !layer_state_cmp(state, 1));
+ return layer_state_set_user(state);
+}
diff --git a/keyboards/geonworks/ee_at/info.json b/keyboards/geonworks/ee_at/info.json
new file mode 100644
index 0000000000..803e0d3640
--- /dev/null
+++ b/keyboards/geonworks/ee_at/info.json
@@ -0,0 +1,499 @@
+{
+ "manufacturer": "Yiancar-Designs",
+ "keyboard_name": "EE-AT",
+ "maintainer": "Yiancar-Designs",
+ "bootloader": "stm32-dfu",
+ "bootmagic": {
+ "matrix": [0, 2]
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "B6",
+ "kana": "A13",
+ "num_lock": "B3",
+ "on_state": 0,
+ "scroll_lock": "A15"
+ },
+ "matrix_pins": {
+ "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+ "rows": ["A2", "B9", "B8", "B5", "B4"]
+ },
+ "processor": "STM32F072",
+ "url": "https://yiancar-designs.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x5755",
+ "vid": "0x8968"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_bs": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/geonworks/ee_at/keymaps/default/keymap.c b/keyboards/geonworks/ee_at/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f0eb9ba7a8
--- /dev/null
+++ b/keyboards/geonworks/ee_at/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/geonworks/ee_at/keymaps/via/keymap.c b/keyboards/geonworks/ee_at/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f0eb9ba7a8
--- /dev/null
+++ b/keyboards/geonworks/ee_at/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2023 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/hub16/keymaps/via/rules.mk b/keyboards/geonworks/ee_at/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/hub16/keymaps/via/rules.mk
+++ b/keyboards/geonworks/ee_at/keymaps/via/rules.mk
diff --git a/keyboards/geonworks/ee_at/matrix_diagram.md b/keyboards/geonworks/ee_at/matrix_diagram.md
new file mode 100644
index 0000000000..382487564d
--- /dev/null
+++ b/keyboards/geonworks/ee_at/matrix_diagram.md
@@ -0,0 +1,21 @@
+# Matrix Diagram for Yiancar-Designs EE-AT
+
+```
+ ┌───────â”
+ 2u Backspace │0F │
+ └───────┘
+┌───┬───â”┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───┬───â”
+│00 │01 ││02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │2E ││0G │0H │0I │0J │
+├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┼───┤
+│10 │11 ││12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F ││1G │1H │1I │ │
+├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┼───┼───┤1J │
+│20 │21 ││22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F ││2G │2H │2I │ │
+├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤├───┼───┼───┼───┤
+│30 │31 ││32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F ││3G │3H │3I │ │
+├───┼───┤├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤├───┼───┼───┤4J │
+│40 │41 ││42 │43 │44 │48 │4D │4E │4F ││4G │4H │4I │ │
+└───┴───┘└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┴───┘
+ ┌──────────â”
+ 2.75u RShift │3E │
+ └──────────┘
+```
diff --git a/keyboards/geonworks/ee_at/readme.md b/keyboards/geonworks/ee_at/readme.md
new file mode 100644
index 0000000000..0c7c8d1926
--- /dev/null
+++ b/keyboards/geonworks/ee_at/readme.md
@@ -0,0 +1,32 @@
+# EE-AT
+
+This is a standard weird layout PCB, now with Hotswap. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A keyboard with STM32F072CB
+* Hardware Availability: https://geon.works/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make geonworks/ee_at:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make geonworks/ee_at:<keymap>:flash`)
diff --git a/keyboards/geonworks/ee_at/rules.mk b/keyboards/geonworks/ee_at/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/geonworks/ee_at/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/geonworks/w1_at/info.json b/keyboards/geonworks/w1_at/info.json
new file mode 100644
index 0000000000..8b7991c03d
--- /dev/null
+++ b/keyboards/geonworks/w1_at/info.json
@@ -0,0 +1,507 @@
+{
+ "manufacturer": "Yiancar-Designs",
+ "keyboard_name": "W1-AT",
+ "maintainer": "Yiancar-Designs",
+ "bootloader": "stm32-dfu",
+ "bootmagic": {
+ "matrix": [0, 2]
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "B6",
+ "kana": "A13",
+ "num_lock": "B3",
+ "on_state": 0,
+ "scroll_lock": "A15"
+ },
+ "matrix_pins": {
+ "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+ "rows": ["A2", "B9", "B8", "B5", "B4"]
+ },
+ "processor": "STM32F072",
+ "url": "https://yiancar-designs.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x5754",
+ "vid": "0x8968"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
+ {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
+ {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
+ {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
+ {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
+ {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
+ {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
+ {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
+ {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
+ {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
+ {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
+ {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
+ {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
+ {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
+ {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
+ {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
+ {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
+ {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
+ {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
+ {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
+ {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_wkl": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
+ {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
+ {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
+ {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
+ {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
+ {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
+ {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
+ {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
+ {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
+ {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
+ {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
+ {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
+ {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
+ {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
+ {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
+ {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
+ {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
+ {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
+ {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
+ {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
+ {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
+ {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
+ {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
+ {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
+ {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
+ {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
+ {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
+ {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
+ {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
+ {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
+ {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
+ {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
+ {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
+ {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
+ {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
+ {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
+ {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
+ {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
+ {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
+ ]
+ },
+ "LAYOUT_iso_wkl": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
+ {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
+ {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
+ {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
+ {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
+ {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
+ {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
+ {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
+ {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
+ {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
+ {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
+ {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
+ {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
+ {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
+ {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
+ {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
+ {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
+ {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
+ {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
+ {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
+ {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
+ {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
+ ]
+ },
+ "LAYOUT_iso_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
+ {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
+ {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
+ {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
+ {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
+ {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
+ {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
+ {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
+ {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
+ {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
+ {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
+ {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
+ {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
+ {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
+ {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
+ {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
+ {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
+ {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
+ {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
+ {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
+ {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
+ {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
+ {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
+ {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/geonworks/w1_at/keymaps/default/keymap.c b/keyboards/geonworks/w1_at/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f69fa8a426
--- /dev/null
+++ b/keyboards/geonworks/w1_at/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2021 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ KC_P00 = SAFE_RANGE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PMNS,
+ KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PMNS,
+ KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_P0, KC_P00, KC_PDOT, KC_PENT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch(keycode) {
+ case KC_P00:
+ tap_code(KC_P0);
+ tap_code(KC_P0);
+ return false;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/w1_at/keymaps/via/keymap.c b/keyboards/geonworks/w1_at/keymaps/via/keymap.c
index ce3b6aa4bd..ce3b6aa4bd 100644
--- a/keyboards/w1_at/keymaps/via/keymap.c
+++ b/keyboards/geonworks/w1_at/keymaps/via/keymap.c
diff --git a/keyboards/hub20/keymaps/via/rules.mk b/keyboards/geonworks/w1_at/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/hub20/keymaps/via/rules.mk
+++ b/keyboards/geonworks/w1_at/keymaps/via/rules.mk
diff --git a/keyboards/w1_at/matrix_diagram.md b/keyboards/geonworks/w1_at/matrix_diagram.md
index 6118e90fe8..6118e90fe8 100644
--- a/keyboards/w1_at/matrix_diagram.md
+++ b/keyboards/geonworks/w1_at/matrix_diagram.md
diff --git a/keyboards/geonworks/w1_at/readme.md b/keyboards/geonworks/w1_at/readme.md
new file mode 100644
index 0000000000..16296ef6d6
--- /dev/null
+++ b/keyboards/geonworks/w1_at/readme.md
@@ -0,0 +1,32 @@
+# W1-AT
+
+This is a standard weird layout PCB, best build with a 10U spacebar. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A keyboard with STM32F072CB
+* Hardware Availability: https://geon.works/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make geonworks/w1_at:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make geonworks/w1_at:<keymap>:flash`)
diff --git a/keyboards/geonworks/w1_at/rules.mk b/keyboards/geonworks/w1_at/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/geonworks/w1_at/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/geonworks/w1_at/w1_at.c b/keyboards/geonworks/w1_at/w1_at.c
new file mode 100644
index 0000000000..9858561bc5
--- /dev/null
+++ b/keyboards/geonworks/w1_at/w1_at.c
@@ -0,0 +1,30 @@
+/* Copyright 2021 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+void led_init_ports(void) {
+ // Set our LED pins as open drain outputs
+ setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+ setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+ setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+ setPinOutputOpenDrain(LED_KANA_PIN);
+ setPinOutputOpenDrain(A14);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ writePin(A14, !layer_state_cmp(state, 1));
+ return layer_state_set_user(state);
+}
diff --git a/keyboards/gh60/revc/keymaps/bluezio/keymap.c b/keyboards/gh60/revc/keymaps/bluezio/keymap.c
deleted file mode 100644
index 23692edb19..0000000000
--- a/keyboards/gh60/revc/keymaps/bluezio/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// lshift split, backspace split, full ANSI enter, full right shift
-#define LAYOUT_BZIO( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, 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, K3B, KC_NO, K3D }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
- }
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: HHKB with hyper key where ctrl used to be, and right half of left
- shift used as a key lock */
- LAYOUT_BZIO(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, QK_LOCK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_HYPR, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
-
- /* 1: spacefn with WASD arrows/navigation block and extra space key for
- realignment of source code, plus IJKL mouse arrows, volume up/down in <>,
- and caps lock where it used to be */
- LAYOUT_BZIO(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_INSERT, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELETE, KC_MS_BTN1, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_HOME, KC_SPC, KC_END, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/gh60/revc/keymaps/bluezio/rules.mk b/keyboards/gh60/revc/keymaps/bluezio/rules.mk
deleted file mode 100644
index 116d505b7e..0000000000
--- a/keyboards/gh60/revc/keymaps/bluezio/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-KEY_LOCK_ENABLE = yes
diff --git a/keyboards/gh60/revc/keymaps/chaser/README.md b/keyboards/gh60/revc/keymaps/chaser/README.md
deleted file mode 100644
index e6ec9e82be..0000000000
--- a/keyboards/gh60/revc/keymaps/chaser/README.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# [dragonchasers](https://github.com/dragonchaser) GH60 layout
-
-Layout derived from the default GH60 keymap.
-
-![Photo of the keyboard](https://pbs.twimg.com/media/DQzlD0yX0AA8spX.jpg)
-
-## Layers
-
-### Base Layer
-```
-,-----------------------------------------------------------.
-|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| ,| .| /| Up |FN |
-|-----------------------------------------------------------|
-|Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
-`-----------------------------------------------------------'
-
-Note: right FN triggers function layer,
- left FN(CAPS) is a one-shot button for the macro layer
-```
-
-### Function Layer
-```
-,-----------------------------------------------------------.
-|GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
-|-----------------------------------------------------------|
-| MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
-|-----------------------------------------------------------|
-| | ML|MDN|MR |MWD| | | | | | | |
-|-----------------------------------------------------------|
-|CAPS | | | | | | | | | | |PGUP| |
-|-----------------------------------------------------------|
-| | | | |Ctrl|HOME|PGD |END |
-`-----------------------------------------------------------'
-```
-
-### Macro Layer
-```
-,-----------------------------------------------------------.
-|DEF| |DUE| | | | | | | | | |GAM| ARR|
-|-----------------------------------------------------------|
-| |MAG|CLO|DUT|RBS|TIG| | | |COU|PSH| | | |
-|-----------------------------------------------------------|
-| |ADD|STS|DFF|FTC|PLL| | |LOG| | | |
-|-----------------------------------------------------------|
-| | | |COM| |BRN| | | | |MUT|VOL+|PLPA|
-|-----------------------------------------------------------|
-| | | | |APP |PREV|VOL-|NEXT|
-`-----------------------------------------------------------'
-
-Abbreviations:
---------------
-DEF - return to default layer
-DUE - enable git duet mode
-GAM - backlight WASD
-ARR - backlight arrows
--
-MAG - git submodule sync --recursive \
- && git submodule update --init --recursive \
- && git submodule foreach --recursive "git co . \
- && git reset --hard && git clean -dffx"
-CLO - git clone
-DUT - git duet (when in duet mode)
-RBS - git rebase
-TIG - tig
-COU - git checkout
-PSH - git push
--
-ADD - git add
-STS - git status
-DFF - git diff
-FTC - git fetch
-PLL - git pull
-LOG - git log
--
-COM - git commit (or git duet commit if in duet mode)
-BRN - git branch
-MUT - audio mute
-VOL+ - increase volume
-PLPA - play/pause
--
-APP - application (windows menu key)
-PREV - previous song
-VOL- - decrease volume
-NEXT - next song
-
-Note: git commands are SEND_STRING macros sent to the
- currently focused window Make sure it is your terminal :)
- ```
-
-**NOTE:** an outdated version of this keymap is also present for the Satan keyboard, which is no longer maintained since I could not get my hands on a properly working PCB.
diff --git a/keyboards/gh60/revc/keymaps/chaser/keymap.c b/keyboards/gh60/revc/keymaps/chaser/keymap.c
deleted file mode 100644
index e04367d86b..0000000000
--- a/keyboards/gh60/revc/keymaps/chaser/keymap.c
+++ /dev/null
@@ -1,328 +0,0 @@
-#include QMK_KEYBOARD_H
-#include <util/delay.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 _QW 0
-#define _FL 1
-#define _MC 2
-
-bool git_duet = false;
-bool backlight_arrows = false;
-bool backlight_gaming = false;
-enum custom_keycodes {
- /* GIT related keycodes */
- G_ADD = SAFE_RANGE, G_BRN, G_COM, G_COU, G_CLO,
- G_DFF, G_DUE, G_DUT, G_FTC, G_LOG, G_MAG, G_MRG,
- G_MRT, G_PSH, G_PLL, G_RBS, G_STH, G_STS, G_TIG,
-
- /* Multi-media related keycodes */
- A_MUTE, A_NEXT, A_PLPA, A_PREV, A_VOUP, A_VDWN,
-
- /* System related shortcuts */
- F_BTN, M_WAPP, K_ARR, K_WASD,
-};
-
-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| ,| .| /| FN |Up |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
- * `-----------------------------------------------------------'
- *
- * Note: right FN triggers function layer,
- * left FN is a one-shot button for the macro layer
- */
- /* Layer 0: Qwerty */
- [_QW] = LAYOUT_60_ansi_split_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- OSL(_MC), KC_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, F_BTN, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /*
- * ,-----------------------------------------------------------.
- * |GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
- * |-----------------------------------------------------------|
- * | MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
- * |-----------------------------------------------------------|
- * | | ML|MDN|MR |MWD| | | | | | | |
- * |-----------------------------------------------------------|
- * |CAPS | | | | | | | | | | |PGUP| |
- * |-----------------------------------------------------------|
- * | | | | |Ctrl|HOME|PGD |END |
- * `-----------------------------------------------------------'
- */
- /* Layer 1: Functions */
- [_FL] = LAYOUT_60_ansi_split_rshift(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, _______, _______, _______, KC_INS, _______, QK_BOOT, _______, _______, KC_PSCR,
- KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, KC_TILD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, KC_RCTL, KC_HOME, KC_PGDN, KC_END
- ),
-
- /*
- * ,-----------------------------------------------------------.
- * |DEF| |DUE| | | | | | | | | |GAM| ARR|
- * |-----------------------------------------------------------|
- * | |MAG|CLO|DUT|RBS|TIG|MRT| | |COU|PSH| | | |
- * |-----------------------------------------------------------|
- * | |ADD|STS|DFF|FTC|PLL|MRG| |STH|LOG| | | F_OFF|
- * |-----------------------------------------------------------|
- * | | | |COM| |BRN| | | | |MUT|VOL+|PLPA|
- * |-----------------------------------------------------------|
- * | | | | |APP |PREV|VOL-|NEXT|
- * `-----------------------------------------------------------'
- *
- * Abbreviations:
- * --------------
- * DEF - return to default layer
- * DUE - enable git duet mode
- * CLO - git clone
- * DUT - git duet (when in duet mode)
- * RBS - git rebase
- * MAG - git submodule sync --recursive && git submodule update --init --recursive && git submodule foreach --recursive "git co . && git reset --hard && git clean -dffx"
- * TIG - tig
- * MRG - git merge
- * MRT - git mergetool
- * COU - git checkout
- * PSH - git push
- * ADD - git add
- * STS - git status
- * DFF - git diff
- * FTC - git fetch
- * PLL - git pull
- * STH - git stash
- * LOG - git log
- * COM - git commit (or git duet commit if in duet mode)
- * BRN - git branch
- * APP - application (windows menu key)
- * MUT - audio mute
- * VOL+ - increase volume
- * VOL- - decrease volume
- * PLPA - play/pause
- * PREV - previous song
- * NEXT - next song
- * ARR - backlight arrow keys
- * GAM - backlight WASD
- *
- * Note: git commands are SEND_STRING macros sent to the
- * currently focused window Make sure it is your terminal :)
- */
- /* Layer 2: Macros (Git & Multimedia) */
- [_MC] = LAYOUT_60_ansi_split_rshift(
- TO(_QW), XXXXXXX, G_DUE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_WASD, K_ARR,
- XXXXXXX, G_MAG, G_CLO, G_DUT, G_RBS, G_TIG, G_MRT, XXXXXXX, XXXXXXX, G_COU, G_PSH, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, G_ADD, G_STS, G_DFF, G_FTC, G_PLL, G_MRG, XXXXXXX, G_STH, G_LOG, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_COM, XXXXXXX, G_BRN, XXXXXXX, XXXXXXX, XXXXXXX, A_MUTE, A_PLPA, A_VOUP,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_WAPP, A_PREV, A_VDWN, A_NEXT
- ),
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- /*
- * Begin git layer
- */
- case G_ADD:
- SEND_STRING("git add ");
- layer_off(_MC);
- return false;break;
- case G_BRN:
- SEND_STRING("git branch\n");
- layer_off(_MC);
- return false;break;
- case G_CLO:
- SEND_STRING("git clone ");
- layer_off(_MC);
- return false;break;
- case G_COM:
- if(git_duet) {
- SEND_STRING("git duet-commit ");
- } else {
- SEND_STRING("git commit ");
- }
- layer_off(_MC);
- return false;break;
- case G_COU:
- SEND_STRING("git checkout ");
- layer_off(_MC);
- return false;break;
- case G_DFF:
- SEND_STRING("git diff\n");
- layer_off(_MC);
- return false;break;
- case G_DUE:
- git_duet = !git_duet;
- if(git_duet) {
- gh60_esc_led_on();
- } else {
- gh60_esc_led_off();
- }
- layer_off(_MC);
- return false;break;
- case G_DUT:
- if(git_duet) {
- SEND_STRING("git duet ");
- }
- layer_off(_MC);
- return false; break;
- case G_FTC:
- SEND_STRING("git fetch ");
- layer_off(_MC);
- return false;break;
- case G_LOG:
- SEND_STRING("git log --graph\n");
- layer_off(_MC);
- return false;break;
- case G_MAG:
- // This is some git-magic to resync recursive submodule structures inside git projects (thx to https://github.com/jimmykarily)
- SEND_STRING("git submodule sync --recursive && git submodule update --init --recursive && git submodule foreach --recursive \" git co . && git reset --hard && git clean -dffx \" \n");
- layer_off(_MC);
- return false; break;
- case G_MRG:
- SEND_STRING("git merge ");
- layer_off(_MC);
- return false;break;
- case G_MRT:
- SEND_STRING("git mergetool ");
- layer_off(_MC);
- return false;break;
- case G_PLL:
- SEND_STRING("git pull ");
- layer_off(_MC);
- return false;break;
- case G_PSH:
- SEND_STRING("git push ");
- layer_off(_MC);
- return false;break;
- case G_RBS:
- SEND_STRING("git rebase ");
- layer_off(_MC);
- return false;break;
- case G_STH:
- SEND_STRING("git stash ");
- layer_off(_MC);
- return false;break;
- case G_STS:
- SEND_STRING("git status\n");
- layer_off(_MC);
- return false;break;
- case G_TIG:
- SEND_STRING("tig\n");
- layer_off(_MC);
- return false;break;
- /*
- * End git layer
- */
-
- /*
- * Begin multimedia keys
- */
- case A_MUTE:
- register_code(KC_AUDIO_MUTE);
- unregister_code(KC_AUDIO_MUTE);
- layer_off(_MC);
- return false;break;
- case A_PLPA:
- register_code(KC_MEDIA_PLAY_PAUSE);
- unregister_code(KC_MEDIA_PLAY_PAUSE);
- layer_off(_MC);
- return false;break;
- case A_VOUP:
- register_code(KC_AUDIO_VOL_UP);
- return false;break;
- case A_VDWN:
- register_code(KC_AUDIO_VOL_DOWN);
- return false;break;
- case A_PREV:
- register_code(KC_MEDIA_PREV_TRACK);
- unregister_code(KC_MEDIA_PREV_TRACK);
- layer_off(_MC);
- return false;break;
- case A_NEXT:
- register_code(KC_MEDIA_NEXT_TRACK);
- unregister_code(KC_MEDIA_NEXT_TRACK);
- layer_off(_MC);
- return false;break;
- /*
- * End multimedia keys
- */
-
- // Tap dance to get the app button mapped
- case M_WAPP:
- register_code(KC_APP);
- unregister_code(KC_APP);
- layer_off(_MC);
- return false;break;
-
- /*
- * Begin multimedia keys
- */
- case K_ARR:
- backlight_arrows = !backlight_arrows;
- if(backlight_arrows) {
- gh60_poker_leds_on();
- } else {
- gh60_poker_leds_off();
- }
- layer_off(_MC);
- return false;break;
- case K_WASD:
- backlight_gaming = !backlight_gaming;
- if(backlight_gaming) {
- gh60_wasd_leds_on();
- } else {
- gh60_wasd_leds_off();
- }
- layer_off(_MC);
- return false; break;
- case F_BTN:
- gh60_fn_led_on();
- layer_on(_FL);
- return false;break;
- }
- /*
- * End multimedia keys
- */
-
- } else {
- switch(keycode) {
- /*
- * Oneshots that will switch back to the default layer on KEY_UP
- */
- case A_VOUP:
- unregister_code(KC_AUDIO_VOL_UP);
- layer_off(_MC);
- return false;break;
- case A_VDWN:
- unregister_code(KC_AUDIO_VOL_DOWN);
- layer_off(_MC);
- return false;break;
- case F_BTN:
- layer_off(_FL);
- gh60_fn_led_off();
- return false;break;
- }
- }
- return true;
-};
diff --git a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c
deleted file mode 100644
index 639c0ded91..0000000000
--- a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _DEFAULT 0
-#define _FN 1
-
-enum custom_keycodes {
- LED_TOGGLE = SAFE_RANGE
-};
-
-int esc_led = 0;
-
-// Fillers to make layering more clear
-#define ______ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty gui/alt/space/alt/gui
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
- * |-----------------------------------------------------------------------------------------+
- * |LGUI | LAlt | Space | RAlt |RGUI |
- * `-----------------------------------------------------------------'
- */
- [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
- ______, KC_LGUI, KC_LALT, KC_SPC, ______, KC_RALT, KC_RGUI, ______
- ),
-
-/* FN Layer
- * ,-----------------------------------------------------------------------------------------.
- * | Led | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------+
- * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | |
- * |-----------------------------------------------------------------------------------------+
- * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
- * |-----------------------------------------------------------------------------------------+
- * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | Stop | |
- * `-----------------------------------------------------------------'
- */
- [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
- LED_TOGGLE,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, ______,
- ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______,
- ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______,
- ______, ______, ______, ______, ______, KC_MSTP, ______, ______
- )
-};
-
-void esc_led_toggle(void) {
- if (esc_led == 0){
- esc_led = 1;
- gh60_esc_led_on();
- } else {
- esc_led = 0;
- gh60_esc_led_off();
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LED_TOGGLE:
- if (record->event.pressed) {
- esc_led_toggle();
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/gh60/revc/keymaps/dbroqua_7U/rules.mk b/keyboards/gh60/revc/keymaps/dbroqua_7U/rules.mk
deleted file mode 100644
index 9e00b7531a..0000000000
--- a/keyboards/gh60/revc/keymaps/dbroqua_7U/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SLEEP_LED_ENABLE = yes
diff --git a/keyboards/gh60/revc/keymaps/emiilsd/keymap.c b/keyboards/gh60/revc/keymaps/emiilsd/keymap.c
deleted file mode 100644
index 75e7691c43..0000000000
--- a/keyboards/gh60/revc/keymaps/emiilsd/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2018 Funderburker
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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] = {
- /*
- ISO HHKB layout:
-
- * 2u Backspace
- * ISO Enter
- * split left Shift
- * split right Shift
- * Caps as Control
- * 1u/1.5u/7u/1.5u//1u bottom row
- */
-
- /* 0: QWERTY */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(1), KC_RSFT,
- KC_NO, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_RALT, KC_CAPS, KC_NO
- ),
-
- /* 1: Fn layer */
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_UP, _______, _______,
- _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/config.h b/keyboards/gh60/revc/keymaps/robotmaxtron/config.h
deleted file mode 100644
index cef899ee12..0000000000
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/config.h
+++ /dev/null
@@ -1,34 +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 WS2812_DI_PIN F4
-#define RGBLED_NUM 8
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
deleted file mode 100644
index 4651af4f52..0000000000
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BL 0
-#define _AL 1
-#define _FL 2
-#define _UL 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * Base layer, pretty standard ANSI layout.
- * ,-----------------------------------------------------------.
- * |F(12)| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
- * |-----------------------------------------------------------|
- * |Caps/Fn| A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Fn |Menu|Ctrl|
- * `-----------------------------------------------------------'
- */
- [_BL] = LAYOUT(
- QK_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC,
- KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS,
- LT(2, KC_CAPS),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,
- KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT,
- KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_NO,KC_RALT,MO(2),KC_APP,KC_RCTL),
-
- /*
- * Locking arrow keys to WASD for when you need dedicated arrow keys
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | |Up | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | |Left|Down|Rght| | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_AL] = 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_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
-
-
- /*
- * Primary function layer, mostly the same as the traditional Pok3r layout.
- * ,-------------------------------------------------------------.
- * |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
- * |-------------------------------------------------------------|
- * | |_AL| | | | |Calc|PgUp|Up|PgDn|Ptscn|Srlck|Pause| |
- * |-------------------------------------------------------------|
- * | | | | | | |Home|Left|Down|Rght|Ins| | |
- * |-------------------------------------------------------------|
- * | |_UL| | | | | | | | | | |
- * |-------------------------------------------------------------|
- * | | | | | | | | |
- * `-------------------------------------------------------------'
- */
- [_FL] = LAYOUT(
- KC_GRAVE,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_DELETE,
- KC_TRNS,TG(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,
- KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,TG(3),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_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
-
- /*
- * Locking layer for controlling the underglow.
- *
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | |On|Mode| | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | |Hue+|Hue-|Sat+|Sat-|Val+|Val-| | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_UL] = LAYOUT(
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,RGB_TOG,RGB_MOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
-};
-
-void matrix_scan_user(void) {
-
-// Layer LED indicators
-// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
- layer_state_t layer = layer_state;
- if (layer & (1<<1)) {
- gh60_wasd_leds_on();
- } else {
- gh60_wasd_leds_off();
- }
-
- if (layer & (1<<2)) {
- gh60_esc_led_on();
- } else {
- gh60_esc_led_off();
- }
-};
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/readme.md b/keyboards/gh60/revc/keymaps/robotmaxtron/readme.md
deleted file mode 100644
index 8db7b3f65b..0000000000
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-robotmaxtron's GH60 Layout
-=====================
-
-##Quantum MK Firmware
-For the full Quantum feature list, see the parent readme.md.
-
-* Standard ANSI layout with Pok3r styled function layers
-* ESC key led enables when on function layer
-* Lockable layer with arrow keys on WASD with backlighting to indicate locked on arrow layer
-* Neopixel/WS2812 RGB Underglow Support
-
-## Reference Images
-![Wiring Refererence](https://i.imgur.com/BkJ39JD.jpg)
-
-### Additional Credits
-Keymap has been based on various keymaps available from the QMK Repo for the GH60-SATAN and KC60 keyboards.
diff --git a/keyboards/gh60/revc/keymaps/sethbc/keymap.c b/keyboards/gh60/revc/keymaps/sethbc/keymap.c
deleted file mode 100644
index 7d51100160..0000000000
--- a/keyboards/gh60/revc/keymaps/sethbc/keymap.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: qwerty */
- LAYOUT_60_ansi_split_bs_rshift(
- QK_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSLS,KC_GRV,
- KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,
- KC_LCTL,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,
- KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,MO(1),
- KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_APP,KC_RCTL),
- /* 1: fn */
- LAYOUT_60_ansi_split_bs_rshift(
- KC_GRV,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRNS,KC_TRNS,
- KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT,KC_PENT,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
-};
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
deleted file mode 100644
index 91f37bf416..0000000000
--- a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "rgblight.h"
-
-#define _DEFAULT 0
-#define _FN 1
-#define _VIM 10
-#define _VIM_SHIFT 11
-#define _VIM_CONTROL 12
-
-enum custom_keycodes {
- DYNAMIC_MACRO_RANGE = SAFE_RANGE,
- a_MACRO,
- A_MACRO,
- I_MACRO,
- O_MACRO,
-};
-
-#define KC_PREV_WORD LCTL(KC_LEFT)
-#define KC_NEXT_WORD LCTL(KC_RIGHT)
-#define KC_UNDO LCTL(KC_Z)
-#define KC_CUT LCTL(KC_X)
-#define KC_COPY LCTL(KC_C)
-#define KC_PASTE LCTL(KC_V)
-
-#include "dynamic_macro.h"
-
-static uint8_t old_layer = 0;
-
-// Fillers to make layering more clear
-#define ______ KC_TRNS
-#define XXXXXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty gui/alt/space/alt/gui
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | VIM |
- * |-----------------------------------------------------------------------------------------+
- * | FN | LAlt | Space | RAlt |RGUI |
- * `-----------------------------------------------------------------'
- */
- [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
- QK_GESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_BSLS , KC_GRV ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC , KC_BSPC ,
- KC_LCTL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , KC_ENT ,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT , TO(_VIM) ,
- ______ , MO(_FN) , KC_LALT , KC_SPC , KC_RALT , KC_RGUI , ______ , ______
- ),
-
-/* FN Layer
- * ,-----------------------------------------------------------------------------------------.
- * |GRAVE| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------+
- * | CAPS | Vol-| Mute| Vol+|MAC+ |MAC |MAC- | PgUp| Home| |Print| Up | | Del |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | End | | PgDn| | | Left| Down| Up |Right| Left|Right| Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Prev| Play| Next| BL- | BL | BL+ | | | | Down| RShift | DEF |
- * |-----------------------------------------------------------------------------------------+
- * | | LAlt | Space | RAlt | Reset |
- * `-----------------------------------------------------------------'
- */
- [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 2 */
- KC_GRAVE , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_INS , KC_DEL ,
- KC_CAPS , KC_VOLD , KC_MUTE , KC_VOLU , DM_REC1 , DM_PLY1 , DM_RSTP , KC_PGUP , KC_HOME , ______ , KC_PSCR , KC_UP , ______ , KC_DEL ,
- KC_LCTL , KC_END , ______ , KC_PGDN , ______ , ______ , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_LEFT , KC_RGHT , KC_ENT ,
- KC_LSFT , KC_MPRV , KC_MPLY , KC_MNXT , BL_DOWN , BL_TOGG , BL_UP , ______ , ______ , ______ , KC_DOWN , KC_RSFT , TO(_DEFAULT) ,
- ______ , ______ , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , ______ , ______
- ),
-
-/* VIM Layer
- * ,-----------------------------------------------------------------------------------------.
- * | DEF | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- * |-----------------------------------------------------------------------------------------+
- * | | | WORD| WORD| | | COPY| UNDO| DEF |ENTER|PASTE| | | Del |
- * |-----------------------------------------------------------------------------------------+
- * | V_Ctrl |a_ins| | | | | Left| Down| Up |Right| | | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | V_Shift | | | | | PREV| | | | | | RShift | Def |
- * |-----------------------------------------------------------------------------------------+
- * | | LAlt | Space | RAlt | |
- * `-----------------------------------------------------------------'
- */
- [_VIM] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 10 */
- TO(_DEFAULT) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_BSLS , KC_GRV ,
- XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , KC_COPY , KC_UNDO , TO(_DEFAULT) , KC_ENTER , KC_PASTE , XXXXXX , XXXXXX , KC_DEL ,
- MO(_VIM_CONTROL) , a_MACRO , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
- MO(_VIM_SHIFT) , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
- XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , XXXXXX , XXXXXX , XXXXXX
- ),
-
-/* VIM Layer
- * ,-----------------------------------------------------------------------------------------.
- * | DEF | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- * |-----------------------------------------------------------------------------------------+
- * | | | WORD| WORD| | | | |I_ins|ENTER| | | | Del |
- * |-----------------------------------------------------------------------------------------+
- * | |A_ins| | | | | Left| Down| Up |Right| | | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | PREV| | | | | | RShift | Def |
- * |-----------------------------------------------------------------------------------------+
- * | | LAlt | Space | RAlt | |
- * `-----------------------------------------------------------------'
- */
- [_VIM_SHIFT] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 11 */
- TO(_DEFAULT) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_BSLS , KC_GRV ,
- XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL ,
- XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
- XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
- XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX
- ),
-
-/* FN Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------+
- * | | Vol-| Mute| Vol+| | | | PgUp| Ins | |Print| Up | | Del |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | App | | PgDn| | | Left| Down| Up |Right| Left|Right| Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Prev| Play| Next| BL- | BL | BL+ | | | | Down| RShift | Def |
- * |-----------------------------------------------------------------------------------------+
- * | | LAlt | Space | RAlt | Reset |
- * `-----------------------------------------------------------------'
- */
- [_VIM_CONTROL] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 12 */
- TO(_DEFAULT) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_BSLS , KC_GRV ,
- XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL ,
- XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
- XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
- XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX
- ) ,
-};
-
-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) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- if (record->event.pressed) {
- switch(keycode) {
- case a_MACRO:
- SEND_STRING(SS_TAP(X_RIGHT));
- layer_off(_VIM);
- return false;
- break;
- case A_MACRO:
- SEND_STRING(SS_TAP(X_END));
- layer_off(_VIM_SHIFT);
- layer_off(_VIM);
- return false;
- break;
- case I_MACRO:
- SEND_STRING(SS_TAP(X_HOME));
- layer_off(_VIM_SHIFT);
- layer_off(_VIM);
- return false;
- break;
- case O_MACRO:
- SEND_STRING(SS_TAP(X_ENTER));
- layer_off(_VIM_SHIFT);
- layer_off(_VIM);
- return false;
- break;
- }
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- if (old_layer != layer) {
- switch (layer) {
- case _DEFAULT:
- case _FN:
- backlight_set(1);
- break;
- case _VIM:
- case _VIM_SHIFT:
- case _VIM_CONTROL:
- backlight_set(4);
- break;
- }
- old_layer = layer;
- }
-};
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/readme.md b/keyboards/gh60/satan/keymaps/addcninblue/readme.md
deleted file mode 100644
index 7e65205345..0000000000
--- a/keyboards/gh60/satan/keymaps/addcninblue/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Addcninblue's HHKB-ish Layout
-
-Inspired by Dbroqua's layout
-
-[Layer 1](http://www.keyboard-layout-editor.com/#/gists/0e7798cb81c8f76baa5066ec1c34df8e): pretty standard layout. Shift + esc = ~, unlike normal hhkb.
-[Layer 2](http://www.keyboard-layout-editor.com/#/gists/096099221ac48d4d0c84a2b859bbb7c0): Vim-like layout.
-[Layer Vim](http://www.keyboard-layout-editor.com/#/gists/73b27b51c5e18d7999cc5fa39b4f3389) : vim layout until exit layout
-
-## Programming Instructions:
-Enter into programming mode and run the following command:
-```
-$ sudo make satan:addcninblue:dfu
-```
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk
deleted file mode 100644
index fe07e497f9..0000000000
--- a/keyboards/gh60/satan/keymaps/addcninblue/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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Enables your LED to breathe while your computer is sleeping.
-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
-UNICODEMAP_ENABLE = no
-UNICODE_ENABLE = no # Unicode
-UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for details on Windows).
-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/gh60/satan/keymaps/ben_iso/config.h b/keyboards/gh60/satan/keymaps/ben_iso/config.h
deleted file mode 100644
index 34add12727..0000000000
--- a/keyboards/gh60/satan/keymaps/ben_iso/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-
-/*MOUSE CONFIG OPTIONS */
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 45
-#define MOUSEKEY_MAX_SPEED 3
-#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/keymap.c b/keyboards/gh60/satan/keymaps/ben_iso/keymap.c
deleted file mode 100644
index 5a61a854e7..0000000000
--- a/keyboards/gh60/satan/keymaps/ben_iso/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#define BASE 0 // Default layer
-#define SPACE 1 // Space layer
-#define NUMPAD 2 // Alt layer
-#define CAPS 3 // Caps layer
-#define FN1 4 // Generic function layer
-
-#define MAC0 M(0) //
-#define MAC1 M(1) //
-#define MAC2 M(2) //
-#define MAC3 M(3) //
-#define MAC4 M(4) //
-#define MAC5 M(5) //
-#define MAC6 M(6) //
-#define MAC7 M(7) //
-#define MAC8 M(8) //
-#define MAC9 M(9) //
-#define GRAV KC_GRV //
-#define MEDI F(FNO1)//
-
-// General shortenings
-#define ESCA KC_ESC
-#define MINS KC_MINS
-#define EQUL KC_EQL
-#define BSPC KC_BSPC
-#define DELE KC_DEL
-#define LBRC KC_LBRC
-#define RBRC KC_RBRC
-#define ALTR KC_RALT
-#define SCLN KC_SCLN
-#define QUOT KC_QUOT
-#define NUHS KC_NUHS
-#define ENTE KC_ENT
-#define NUBS KC_NUBS // Less/ greater sign
-#define COMM KC_COMM // Comma
-#define FSTO KC_DOT // Full stop
-#define SLSH KC_SLSH
-#define ALTL KC_LALT
-#define GUIL KC_LGUI
-#define GUIR KC_RGUI
-#define MENO KC_MENU
-
-// Special Actions and Media Keys
-#define INSE KC_INS // Insert here
-#define HOME KC_HOME // Go to beginning of line
-#define ENDI KC_END // go to end of line
-#define PSCR KC_PSCR // Print Screen
-#define SLCK KC_SCRL // go to end of line
-#define PGDN KC_PGDN // go to end of line
-#define PGUP KC_PGUP // go to end of line
-#define PLPS KC_MPLY // Play/Pause
-#define PAUS KC_PAUS // Pause button
-#define MUTE KC_MUTE // Mute sound
-#define VOLU KC_VOLU // Volume increase
-#define VOLD KC_VOLD // Volume decrease
-#define MNXT KC_MNXT // next track
-#define MPRV KC_MPRV // prev track
-#define MSTP KC_MSTP // stop playing
-#define MSEL KC_MSEL // Select media (Start playing it)
-#define MAIL KC_MAIL // Open default mail app
-#define CALC KC_CALC // Open default calculator app
-#define MYCM KC_MYCM // Open default file manager
-
-// increase readability
-#define XXXXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Keymap BASE: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
- * |-----------------------------------------------------------|
- * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------|
- */
-
- [BASE] = LAYOUT_60_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- OSL(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,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, LT(SPACE, KC_SPC), KC_RALT, OSL(FN1), TG(NUMPAD), KC_RCTL
- ),
-
- [SPACE] = LAYOUT_60_iso(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, MAIL, _______, _______, HOME, KC_UP, PSCR, SLCK, PAUS, PGUP,
- _______, _______, _______, PGUP, PGDN, _______, LALT(KC_F4), KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, CALC, _______, _______, _______, MUTE, VOLD, VOLU, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [NUMPAD] = LAYOUT_60_iso( //Numpad and alt shortcuts
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [CAPS] = LAYOUT_60_iso( //Mostly mouse layer with option for caps too
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, KC_MS_U, _______, _______, _______, _______,
- _______, KC_CAPS, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [FN1] = LAYOUT_60_iso( //Functions/settings
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
-
-
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/readme.md b/keyboards/gh60/satan/keymaps/ben_iso/readme.md
deleted file mode 100644
index 74b7680b2f..0000000000
--- a/keyboards/gh60/satan/keymaps/ben_iso/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# UK ISO layout for the Satan GH60
-## By Ben James
------
-This layout has a few unique features including:
-* Spacebar activates special features when held:
- * Arrow keys directly under right hand
- * Volume control
- * Fn keys on number row
- * PageUp/PageDn/Home/other general buttons
-* Mouse control when CAPS is held. Right hand controls mouse direction, left hand controls speed and mouse buttons.
-* Space cadet style brackets when left/right shift are tapped
-
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/rules.mk b/keyboards/gh60/satan/keymaps/ben_iso/rules.mk
deleted file mode 100644
index 14367f2f8a..0000000000
--- a/keyboards/gh60/satan/keymaps/ben_iso/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/gh60/satan/keymaps/bri/keymap.c b/keyboards/gh60/satan/keymaps/bri/keymap.c
deleted file mode 100644
index c7068595b2..0000000000
--- a/keyboards/gh60/satan/keymaps/bri/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#define _BL 0
-#define _FL 1
-#define _NAV 2
-
-#define ALEFT LALT(KC_LEFT)
-#define ARGHT LALT(KC_RGHT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------'
- */
-[_BL] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT, KC_RCTL, MO(_FL) ),
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | |BL-|BL+|BL |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | |
- * |-----------------------------------------------------------|
- * |QK_BOOT| | | | | | | |
- * `-----------------------------------------------------------'
- */
-[_FL] = LAYOUT_60_ansi(
- #ifdef RGBLIGHT_ENABLE
- KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,BL_UP, BL_TOGG,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,
- QK_BOOT,_______,_______, _______, _______,_______,_______, _______
- #else
- KC_GRV, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,BL_UP, BL_TOGG,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- QK_BOOT,_______,_______, _______, _______,_______,_______,_______
- #endif
- ),
-
-[_NAV] = LAYOUT_60_ansi(
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______,_______,ALEFT , KC_UP ,ARGHT ,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______, _______, _______,_______,_______,_______),
-
-};
diff --git a/keyboards/gh60/satan/keymaps/bri/readme.md b/keyboards/gh60/satan/keymaps/bri/readme.md
deleted file mode 100644
index bed305997d..0000000000
--- a/keyboards/gh60/satan/keymaps/bri/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-#QWERTY keymap for Satan GH60 with layers for arrow keys, function keys, and backlight controls.
-#The layout of modifiers is intended to mimic the MacBook Air keyboard. \ No newline at end of file
diff --git a/keyboards/gh60/satan/keymaps/chaser/keymap.c b/keyboards/gh60/satan/keymaps/chaser/keymap.c
deleted file mode 100644
index 15251e99c9..0000000000
--- a/keyboards/gh60/satan/keymaps/chaser/keymap.c
+++ /dev/null
@@ -1,49 +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 _BL 0
-#define _FL 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |FN |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
- * `-----------------------------------------------------------'
- */
-[_BL] = LAYOUT_all(
- QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC , _______,
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS ,
- KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,_______,KC_ENT ,
- KC_LSFT ,_______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_UP ,MO(_FL) ,
- KC_LCTL ,KC_LGUI,KC_LALT, KC_SPC ,KC_RALT,KC_LEFT,KC_DOWN,KC_RIGHT),
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * |GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
- * |-----------------------------------------------------------|
- * | MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
- * |-----------------------------------------------------------|
- * | | ML|MDN|MR |MWD| | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | |PGUP| |
- * |-----------------------------------------------------------|
- * | | | | |Ctrl|HOME|PGD |END |
- * `-----------------------------------------------------------'
- */
-[_FL] = LAYOUT_all(
- KC_GRV , KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,_______,
- KC_MS_BTN3 ,KC_MS_BTN2 ,KC_MS_UP ,KC_MS_BTN1 ,KC_MS_WH_UP ,_______,_______,_______,KC_INS ,_______,QK_BOOT,_______,_______ ,KC_PSCR ,
- _______ ,KC_MS_LEFT ,KC_MS_DOWN ,KC_MS_RIGHT,KC_MS_WH_DOWN,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,
- _______ ,_______ ,_______ ,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,KC_PGUP ,_______ ,
- KC_LCTL ,_______ ,KC_LALT , _______, KC_RCTL,KC_HOME,KC_PGDN ,KC_END ),
-};
diff --git a/keyboards/gh60/satan/keymaps/chaser/readme.md b/keyboards/gh60/satan/keymaps/chaser/readme.md
deleted file mode 100644
index c6e70b1886..0000000000
--- a/keyboards/gh60/satan/keymaps/chaser/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# [dragonchasers](https://github.com/dragonchaser) Satan GH60 layout
-
-Layout derived from the default Satan GH60 keymap.
-
-![Photo of the keyboard](https://pbs.twimg.com/media/DQzlD0yX0AA8spX.jpg)
-
-## Layers
-
-### Base
-```
-,-----------------------------------------------------------.
-|Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
-|-----------------------------------------------------------|
-|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
-|-----------------------------------------------------------|
-|CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
-|-----------------------------------------------------------|
-|Shift | Z| X| C| V| B| N| M| ,| .| /| Up |FN |
-|-----------------------------------------------------------|
-|Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
-`-----------------------------------------------------------'
-```
-
-### Function Layer
-
-```
-,-----------------------------------------------------------.
-|GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
-|-----------------------------------------------------------|
-| MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
-|-----------------------------------------------------------|
-| | ML|MDN|MR |MWD| | | | | | | |
-|-----------------------------------------------------------|
-| | | | | | | | | | | |PGUP| |
-|-----------------------------------------------------------|
-| | | | |Ctrl|HOME|PGD |END |
-`-----------------------------------------------------------'
-```
diff --git a/keyboards/gh60/satan/keymaps/chaser/rules.mk b/keyboards/gh60/satan/keymaps/chaser/rules.mk
deleted file mode 100644
index 14367f2f8a..0000000000
--- a/keyboards/gh60/satan/keymaps/chaser/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c b/keyboards/gh60/satan/keymaps/dende_iso/keymap.c
deleted file mode 100644
index 94c8a22392..0000000000
--- a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include "keymap_extras/keymap_german.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 _DEF 0
-#define _FNK 1
-#define _MEDIA 2
-
-// dual-role shortcuts
-#define FN_CAPS LT(_MEDIA, KC_CAPS)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _DEF: Default Layer
- * ,------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
- * |------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
- * |----------------------------------------------------- Return|
- * |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
- * |------------------------------------------------------------|
- * |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
- * |------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
- * `------------------------------------------------------------'
- */
-[_DEF] = LAYOUT_60_iso_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, MO(_FNK),
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS,
- FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT,
- KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_ALGR, KC_RGUI, KC_APP, KC_RCTL),
-
-
- /* Keymap _FNK: Function Keys
- * ,------------------------------------------------------------.
- * | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
- * |------------------------------------------------------------|
- * | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
- * |----------------------------------------------------- |
- * | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | |
- * `------------------------------------------------------------'
- */
-[_FNK] = LAYOUT_60_iso_split_bs_rshift(
- DE_CIRC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, _______,
- _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- /* Keymap _MEDIA: Media and Mouse Layer
- * ,------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------------------------------------------------------------|
- * | | | | | | | |MLC| MU|MRC| | | | |
- * |----------------------------------------------------- |
- * | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | | | | | | UP | |
- * |------------------------------------------------------------|
- * | | | | PLAY | |LEFT|DWN|RIGHT|
- * `------------------------------------------------------------'
- */
-
-[_MEDIA] = LAYOUT_60_iso_split_bs_rshift(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______,
- _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______,
- _______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RIGHT),
- };
diff --git a/keyboards/gh60/satan/keymaps/dende_iso/readme.md b/keyboards/gh60/satan/keymaps/dende_iso/readme.md
deleted file mode 100644
index 238a2f725f..0000000000
--- a/keyboards/gh60/satan/keymaps/dende_iso/readme.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# Satan GH60 ISO-DE Layout with split backspace and right shift
-
-![Layout Image](https://i.imgur.com/a7znS69.jpg)
-
-## Default Layer
-This ISO-DE based layout has a split backspace. the left part is the actual backspace and the right parts serves as a FN key.
-The right shift is also split, with the right part serving as the del key.
-```
-/* Keymap _DEF: Default Layer
- * ,------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
- * |------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
- * |----------------------------------------------------- Return|
- * |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
- * |------------------------------------------------------------|
- * |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
- * |------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
- * `------------------------------------------------------------'
- */
-```
-
-
-## FN Key Layer
-The Function keys can be accessed when holding fn1 (right part of backspace)
-
-```
-/* Keymap _FNK: Function Keys
- * ,------------------------------------------------------------.
- * | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
- * |------------------------------------------------------------|
- * | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
- * |----------------------------------------------------- |
- * | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | |
- * `------------------------------------------------------------'
- */
-```
-
-## Media and Mouse Layer
-The Media Keys and Mouse control can be accessed when holding capslock (fn2)
-
-```
-/* Keymap _MEDIA: Media and Mouse Layer
- * ,------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------------------------------------------------------------|
- * | | | | | | | |MLC| MU|MRC| | | | |
- * |----------------------------------------------------- |
- * | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
- * |------------------------------------------------------------|
- * | | | | | | | | | | | | | UP | |
- * |------------------------------------------------------------|
- * | | | | PLAY | |LEFT|DWN|RIGHT|
- * `------------------------------------------------------------'
- */
-``` \ No newline at end of file
diff --git a/keyboards/gh60/satan/keymaps/dende_iso/rules.mk b/keyboards/gh60/satan/keymaps/dende_iso/rules.mk
deleted file mode 100644
index 14367f2f8a..0000000000
--- a/keyboards/gh60/satan/keymaps/dende_iso/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/gh60/satan/keymaps/denolfe/README.md b/keyboards/gh60/satan/keymaps/denolfe/README.md
deleted file mode 100644
index 147ea4288a..0000000000
--- a/keyboards/gh60/satan/keymaps/denolfe/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# denolfe's Layout
-Customized Satan keymap
-
-![Layout](https://i.imgur.com/IrSUSMR.png "Practical Keymap")
-
-## Programming Instructions:
-`cd` into keymap directory, `make dfu`
-
-## Features
-- Movement keys with <kbd>CapsLock</kbd> + <kbd>h</kbd>, <kbd>j</kbd>, <kbd>k</kbd>, <kbd>l</kbd>
-- Media Keys
-- Backlight control
diff --git a/keyboards/gh60/satan/keymaps/denolfe/keymap.c b/keyboards/gh60/satan/keymaps/denolfe/keymap.c
deleted file mode 100644
index a9931561f3..0000000000
--- a/keyboards/gh60/satan/keymaps/denolfe/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#ifdef RGBLIGHT_ENABLE
-#include "rgblight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// 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 _BL 0
-#define _FL 1
-#define _SL 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------'
- */
-[_BL] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RGUI, KC_RCTL),
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | QK_BOOT|
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | |BL-|BL+|BL |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
-[_FL] = LAYOUT_60_ansi(
- #ifdef RGBLIGHT_ENABLE
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_UP, BL_TOGG,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- #else
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, LM(2, MOD_LSFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- #endif
- ),
-
-[_SL] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/gh60/satan/keymaps/denolfe/rules.mk b/keyboards/gh60/satan/keymaps/denolfe/rules.mk
deleted file mode 100644
index 07feaa8a40..0000000000
--- a/keyboards/gh60/satan/keymaps/denolfe/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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 # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150)
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
diff --git a/keyboards/gh60/satan/keymaps/dkrieger/config.h b/keyboards/gh60/satan/keymaps/dkrieger/config.h
deleted file mode 100644
index faea4d660f..0000000000
--- a/keyboards/gh60/satan/keymaps/dkrieger/config.h
+++ /dev/null
@@ -1,26 +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.h"
-
-/* Tap Dance */
-#define TAPPING_TERM 200
-
-#endif
diff --git a/keyboards/gh60/satan/keymaps/dkrieger/keymap.c b/keyboards/gh60/satan/keymaps/dkrieger/keymap.c
deleted file mode 100644
index 949e5bf2d9..0000000000
--- a/keyboards/gh60/satan/keymaps/dkrieger/keymap.c
+++ /dev/null
@@ -1,166 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _DEFAULT 0
-#define _FN 1
-#define _MOUSE 2
-#define _MOUSESHIFT 3
-#define _UTIL 4
-
-// Fillers to make layering more clear
-#define ______ KC_TRNS
-
-enum {
- SUPER_FN = 0,
- SINGLE_HOLD = 1,
- DOUBLE_HOLD = 2,
- TRIPLE_HOLD = 3
-};
-
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->interrupted == false || state->pressed) {
- if (state->count < 2) return SINGLE_HOLD;
- if (state->count < 3) return DOUBLE_HOLD;
- else return TRIPLE_HOLD;
- }
- else return 9;
-}
-
-//instantiate an instance of 'tap' for the 'fn' tap dance.
-static tap fn_tap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void fn_finished (tap_dance_state_t *state, void *user_data) {
- fn_tap_state.state = cur_dance(state);
- switch (fn_tap_state.state) {
- /* case SINGLE_HOLD: register_code(MO(_FN)); break; */
- case SINGLE_HOLD: layer_on(_FN); break;
- case DOUBLE_HOLD: layer_on(_MOUSE); break;
- case TRIPLE_HOLD: layer_on(_UTIL);
- }
-}
-
-void fn_reset (tap_dance_state_t *state, void *user_data) {
- switch (fn_tap_state.state) {
- case SINGLE_HOLD: layer_off(_FN); break;
- case DOUBLE_HOLD: layer_off(_MOUSE); layer_off(_MOUSESHIFT); break;
- case TRIPLE_HOLD: layer_off(_UTIL);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [SUPER_FN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_finished, fn_reset)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty gui/alt/space/alt/gui
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
- * |-----------------------------------------------------------------------------------------+
- * |LGUI | LAlt | Space | RAlt |RGUI |
- * `-----------------------------------------------------------------'
- */
- [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TD(SUPER_FN),
- ______, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, ______, ______
- ),
-
-/* FN Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------+
- * | CAPS | BL- | BL+ | BL | | | | | Psc | Slck| Paus| Up | | |
- * |-----------------------------------------------------------------------------------------+
- * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
- * |-----------------------------------------------------------------------------------------+
- * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | Stop | |
- * `-----------------------------------------------------------------'
- */
- [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
- ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, ______,
- ______, KC_VOLD,KC_VOLU,KC_MUTE,______, ______, KC_PAST,KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______,
- ______, KC_MPRV,KC_MPLY,KC_MNXT,______, ______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______, ______,
- ______, ______, ______, ______, KC_MSTP, ______, ______, ______
- ),
-
-/* MOUSE Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |QK_BOOT|
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | | |UCurs| | |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | |LCurs|RCurs| |
- * |-----------------------------------------------------------------------------------------
- * | ScrollHold| | | | | | | | | |DCurs| ScrollHold| |
- * |-----------------------------------------------------------------------------------------+
- * | | | LClick | MClick| RClick|
- * `-----------------------------------------------------------------'
- */
- [_MOUSE] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_UP, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_LEFT, KC_MS_RIGHT, ______,
- MO(_MOUSESHIFT), ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_DOWN, MO(_MOUSESHIFT), ______,
- ______, ______, ______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, ______, ______
- ),
-
-/* MOUSESHIFT Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | | |UScrl| | |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | |LScrl|RScrl| |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | |DScrl| | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | |
- * `-----------------------------------------------------------------'
- */
- [_MOUSESHIFT] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_UP, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_DOWN, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______
- ),
-
-/* UTIL Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |QK_BOOT|
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------
- * | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | |
- * `-----------------------------------------------------------------'
- */
- [_UTIL] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______
- )
-};
diff --git a/keyboards/gh60/satan/keymaps/dkrieger/readme.md b/keyboards/gh60/satan/keymaps/dkrieger/readme.md
deleted file mode 100644
index 8941132391..0000000000
--- a/keyboards/gh60/satan/keymaps/dkrieger/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# dkrieger HHKB like Layout
-
-Base derived from dbroqua (special thanks)
-
-Based on HHKB with the following [dip switches][1] engaged:
-
-- SW3: delete key -> backspace
-- SW5: swap alt and meta keys
-- SW2: Mac Mode (partial implementation, includes media keys
- - Note: this was copied from dbroqua, there seem to have been some
- modifications from stock Mac Mode
-
-Additionally, this layout includes a mouse layer engaged by tapping Fn 3 times,
-holding on the third time. The arrow keys move the mouse, scrolling when shift
-is held (either left or right). Right alt is left click, right meta is right
-click.
-
-# Programming Instructions:
-Enter into programming mode and run the following command.
-```
-$ sudo KEYMAP=dkrieger_hhkb make dfu
-```
-[1]: http://www.elitekeyboards.com/products.php?sub=pfu_keyboards,hhkbpro2&pid=pdkb400b
diff --git a/keyboards/gh60/satan/keymaps/dkrieger/rules.mk b/keyboards/gh60/satan/keymaps/dkrieger/rules.mk
deleted file mode 100644
index a0c892505c..0000000000
--- a/keyboards/gh60/satan/keymaps/dkrieger/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 # 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
-TAP_DANCE_ENABLE = yes
-
diff --git a/keyboards/gh60/satan/keymaps/lepa/keymap.c b/keyboards/gh60/satan/keymaps/lepa/keymap.c
deleted file mode 100644
index 88196862a8..0000000000
--- a/keyboards/gh60/satan/keymaps/lepa/keymap.c
+++ /dev/null
@@ -1,146 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define MY_ESC LT(1, KC_ESC)
-#define MY_ENT LT(1, KC_ENT)
-#define MY_APP LT(2, KC_APP)
-
-#define MY_LCA TD(TD_LCTL_ALT)
-#define MY_RCA TD(TD_RCTL_ALT)
-#define MY_LGA TD(TD_LGUI_ALT)
-#define MY_RGA TD(TD_RGUI_ALT)
-#define MY_LCG TD(TD_LCTL_GUI)
-#define MY_RCG TD(TD_RCTL_GUI)
-#define MY_LSH TD(TD_LSFT_HPR)
-#define MY_RSH TD(TD_RSFT_HPR)
-
-enum {
- TD_LCTL_ALT,
- TD_RCTL_ALT,
- TD_LGUI_ALT,
- TD_RGUI_ALT,
- TD_LCTL_GUI,
- TD_RCTL_GUI,
- TD_LSFT_HPR,
- TD_RSFT_HPR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, MY_ENT,
- MY_LSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MY_RSH,
- MY_LGA, MY_LCG, MY_LCA, KC_SPC, MY_RCA, MY_RCG, MY_APP, MY_RGA),
-
- LAYOUT_60_ansi(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5,
- UNKNOWN_TAP = 6
-};
-
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-int cur_dance(tap_dance_state_t *state) {
- switch (state->count) {
- case 1:
- if (state->interrupted || state->pressed == 0) {
- return SINGLE_TAP;
- }
- return SINGLE_HOLD;
- case 2:
- if (state->interrupted) {
- return DOUBLE_SINGLE_TAP;
- }
- if (state->pressed) {
- return DOUBLE_HOLD;
- }
- return DOUBLE_TAP;
- }
- return UNKNOWN_TAP;
-}
-
-#define my_dance_combo(N, K0, REGFN, UNREGFN) my_dance_combo_expanded(N, K0, REGFN, UNREGFN)
-#define my_dance_combo_expanded(N, K0, REGFN, UNREGFN) \
-static tap N ## _state = { \
- .is_press_action = true, \
- .state = 0 \
-}; \
- \
-void N ## _finished(tap_dance_state_t *state, void *user_data) { \
- N ## _state.state = cur_dance(state); \
- switch (N ## _state.state) { \
- case SINGLE_TAP: case SINGLE_HOLD: \
- register_code(K0); \
- break; \
- case DOUBLE_TAP: case DOUBLE_SINGLE_TAP: case DOUBLE_HOLD: \
- register_code(K0); \
- REGFN; \
- break; \
- } \
-} \
- \
-void N ## _reset(tap_dance_state_t *state, void *user_data) { \
- switch (N ## _state.state) { \
- case SINGLE_TAP: case SINGLE_HOLD: \
- unregister_code(K0); \
- break; \
- case DOUBLE_TAP: case DOUBLE_SINGLE_TAP: case DOUBLE_HOLD: \
- UNREGFN; \
- unregister_code(K0); \
- break; \
- } \
- N ## _state.state = 0; \
-}
-
-#define my_dance_reg_code_1(K1) register_code(K1)
-#define my_dance_unreg_code_1(K1) unregister_code(K1)
-#define my_dance_combo_1(N, K0, K1) \
- my_dance_combo(N, K0, my_dance_reg_code_1(K1), my_dance_unreg_code_1(K1))
-
-#define my_dance_reg_code_3(K1, K2, K3) \
- do { register_code(K1); register_code(K2); register_code(K3); } while (0)
-#define my_dance_unreg_code_3(K1, K2, K3) \
- do { unregister_code(K3); unregister_code(K2); unregister_code(K1); } while (0)
-#define my_dance_combo_3(N, K0, K1, K2, K3) \
- my_dance_combo(N, K0, my_dance_reg_code_3(K1, K2, K3), my_dance_unreg_code_3(K1, K2, K3))
-
-my_dance_combo_1(lca, KC_LCTL, KC_LALT)
-my_dance_combo_1(rca, KC_RCTL, KC_RALT)
-my_dance_combo_1(lga, KC_LGUI, KC_LALT)
-my_dance_combo_1(rga, KC_RGUI, KC_RALT)
-my_dance_combo_1(lcg, KC_LCTL, KC_LGUI)
-my_dance_combo_1(rcg, KC_RCTL, KC_RGUI)
-my_dance_combo_3(lsh, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI)
-my_dance_combo_3(rsh, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI)
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_LCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lca_finished, lca_reset),
- [TD_RCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rca_finished, rca_reset),
- [TD_LGUI_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lga_finished, lga_reset),
- [TD_RGUI_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rga_finished, rga_reset),
- [TD_LCTL_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lcg_finished, lcg_reset),
- [TD_RCTL_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rcg_finished, rcg_reset),
- [TD_LSFT_HPR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsh_finished, lsh_reset),
- [TD_RSFT_HPR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rsh_finished, rsh_reset)
-};
diff --git a/keyboards/gh60/satan/keymaps/lepa/readme.md b/keyboards/gh60/satan/keymaps/lepa/readme.md
deleted file mode 100644
index a53693d03f..0000000000
--- a/keyboards/gh60/satan/keymaps/lepa/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Satan GH60 ANSI Layout that uses tap dance
-
-![Satan GH60 Image](https://i.imgur.com/T5FX7Sn.png)
-
-Notes:
-- Enter and Esc keys activate layer Fn1 when held, and work as usual when tapped.
-- Menu key activates layer Fn2 when held, and works as usual when tapped.
-- For the next keys a first key is used when held, and a second one is used when tapped 2 times:
- - Shift and Hyper;
- - Win and Win+Alt;
- - Ctrl and Ctrl+Alt;
- - Alt and Win+Ctrl.
-
diff --git a/keyboards/gh60/satan/keymaps/lepa/rules.mk b/keyboards/gh60/satan/keymaps/lepa/rules.mk
deleted file mode 100644
index 0eceeb297e..0000000000
--- a/keyboards/gh60/satan/keymaps/lepa/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes
-
diff --git a/keyboards/gh60/satan/keymaps/mark1/keymap.c b/keyboards/gh60/satan/keymaps/mark1/keymap.c
deleted file mode 100644
index de9b80da18..0000000000
--- a/keyboards/gh60/satan/keymaps/mark1/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#define KC_____ KC_TRNS
-#define KC_FN MO(1) // Fn
-#define KC_FNLK TG(1) // Fn lock
-#define KC_HOME LGUI(KC_LEFT) // Home, or cmd-left
-#define KC_END LGUI(KC_RGHT) // End, or cmd-right
-#define KC_SLP LGUI(LALT(KC_PWR)) // sleep, or cmd-option-power
-#define KC_SCLK LCTL(LSFT(KC_PWR)) // lock screen, or ctrl-shift-power
-
-// Mark I keyboard layout for GH60 Satan
-// http://www.keyboard-layout-editor.com/#/gists/e1cde292bd2094cc3b763206d4d2cfb5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // 0: qwerty
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_FN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_FN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_FNLK
- ),
- // 1: fn layer
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, KC_VOLU, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______,
- _______, KC_VOLD, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______,
- _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_SCLK, KC_SLP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-}; \ No newline at end of file
diff --git a/keyboards/gh60/satan/keymaps/mark1/readme.md b/keyboards/gh60/satan/keymaps/mark1/readme.md
deleted file mode 100644
index 060faf80cd..0000000000
--- a/keyboards/gh60/satan/keymaps/mark1/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Mark I layout for GH60 Satan
-
-A Mac keyboard for touch typists who enjoy having a Fn key on both the left-hand and right-hand side.
-
-[Layout](http://www.keyboard-layout-editor.com/#/gists/e1cde292bd2094cc3b763206d4d2cfb5)
diff --git a/keyboards/gh60/satan/keymaps/no_caps_lock/keymap.c b/keyboards/gh60/satan/keymaps/no_caps_lock/keymap.c
deleted file mode 100644
index 45889c0232..0000000000
--- a/keyboards/gh60/satan/keymaps/no_caps_lock/keymap.c
+++ /dev/null
@@ -1,55 +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.
-enum layer_names {
- _BL,
- _FL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * | ~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |ESC | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |FL |Gui |FL(tgl)|
- * `-----------------------------------------------------------'
- */
- [_BL] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RGUI, TG(_FL)
- ),
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
- * |-----------------------------------------------------------|
- * | |Home|PgUp| | | | | | | | |BR- |BR+ | |
- * |-----------------------------------------------------------|
- * | |End|PgDn| | | |Left|Down|Up|Right|Prv|Nxt|Ply |
- * |-----------------------------------------------------------|
- * | | | | | | | | |Vdn|Vup|Mute| |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- * hjkl for arrows because vim
- */
- [_FL] = LAYOUT_60_ansi(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS,
- KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_MPRV, KC_MNXT, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/gh60/satan/keymaps/no_caps_lock/readme.md b/keyboards/gh60/satan/keymaps/no_caps_lock/readme.md
deleted file mode 100644
index b3bfe7988e..0000000000
--- a/keyboards/gh60/satan/keymaps/no_caps_lock/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-Standard layout with caps lock replaced by esc. Navigation and multimedia keys are on the second layer.
diff --git a/keyboards/gh60/satan/keymaps/olligranlund_iso/config.h b/keyboards/gh60/satan/keymaps/olligranlund_iso/config.h
deleted file mode 100644
index 75c1632908..0000000000
--- a/keyboards/gh60/satan/keymaps/olligranlund_iso/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// Backlight configuration
-#undef BACKLIGHT_LEVELS
-#define BACKLIGHT_LEVELS 10
-
-// Underlight configuration
-#undef WS2812_DI_PIN
-#define WS2812_DI_PIN B2
-#undef RGBLED_NUM
-#define RGBLED_NUM 16 // Number of LEDs
-#undef RGBLIGHT_HUE_STEP
-#define RGBLIGHT_HUE_STEP 8
-#undef RGBLIGHT_SAT_STEP
-#define RGBLIGHT_SAT_STEP 8
-#undef RGBLIGHT_VAL_STEP
-#define RGBLIGHT_VAL_STEP 8
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/gh60/satan/keymaps/olligranlund_iso/keymap.c b/keyboards/gh60/satan/keymaps/olligranlund_iso/keymap.c
deleted file mode 100644
index a5bcccfafa..0000000000
--- a/keyboards/gh60/satan/keymaps/olligranlund_iso/keymap.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define BASE 0 // Default layer
-#define MOUSE 1 // Space layer
-#define NUMPAD 2 // Alt layer
-#define CAPS 3 // Caps layer
-
-// General shortenings
-#define ESCA KC_ESC
-#define MINS KC_MINS
-#define EQUL KC_EQL
-#define BSPC KC_BSPC
-#define DELE KC_DEL
-#define LBRC KC_LBRC
-#define RBRC KC_RBRC
-#define ALTR KC_RALT
-#define SCLN KC_SCLN
-#define QUOT KC_QUOT
-#define NUHS KC_NUHS
-#define ENTE KC_ENT
-#define NUBS KC_NUBS // Less/ greater sign
-#define COMM KC_COMM // Comma
-#define FSTO KC_DOT // Full stop
-#define SLSH KC_SLSH
-#define ALTL KC_LALT
-#define GUIL KC_LGUI
-#define GUIR KC_RGUI
-#define MENO KC_MENU
-
-// Special Actions and Media Keys
-#define INSE KC_INS // Insert here
-#define HOME KC_HOME // Go to beginning of line
-#define ENDI KC_END // go to end of line
-#define PSCR KC_PSCR // Print Screen
-#define SLCK KC_SCRL // go to end of line
-#define PGDN KC_PGDN // go to end of line
-#define PGUP KC_PGUP // go to end of line
-#define PLPS KC_MPLY // Play/Pause
-#define PAUS KC_PAUS // Pause button
-#define MUTE KC_MUTE // Mute sound
-#define VOLU KC_VOLU // Volume increase
-#define VOLD KC_VOLD // Volume decrease
-#define MNXT KC_MNXT // next track
-#define MPRV KC_MPRV // prev track
-#define MSTP KC_MSTP // stop playing
-#define MSEL KC_MSEL // Select media (Start playing it)
-#define MAIL KC_MAIL // Open default mail app
-#define CALC KC_CALC // Open default calculator app
-#define MYCM KC_MYCM // Open default file manager
-
-// increase readability
-#define XXXXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Keymap BASE: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
- * |-----------------------------------------------------------|
- * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------|
- */
-
-[ BASE ] = KEYMAP_ISO_SPLITRSHIFT(
- 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, XXXXX,
- LT(CAPS, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, XXXXX,
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(CAPS), TG(NUMPAD), TG(MOUSE)),
-
-[ MOUSE ] = KEYMAP( // Mouse controls
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
- _______, _______, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[ NUMPAD ] = KEYMAP( //Numpad and alt shortcuts
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
- _______, BL_TOGG, BL_DOWN,BL_UP, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,
- _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[ CAPS ] = KEYMAP( // Main "function" key, arrows, media control
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, XXXXX,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, PGDN, KC_UP, PGUP, PSCR, SLCK, PAUS, _______,
- _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______)
-
-};
diff --git a/keyboards/gh60/satan/keymaps/olligranlund_iso/readme.md b/keyboards/gh60/satan/keymaps/olligranlund_iso/readme.md
deleted file mode 100644
index e0801ef858..0000000000
--- a/keyboards/gh60/satan/keymaps/olligranlund_iso/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# ISO layout for the Satan GH60
-### Originally by Ben James, forked by Oliver Granlund
-
-![Finished product](https://i.imgur.com/s5HAgr6.jpg)
-
-I've wanted to make this as close to a P0ker as possible, but some macros in
-the P0ker don't make sense...
-
-Some of the features:
-* Caps activates special features when held:
- * Arrow keys directly under right hand
- * Volume control
- * Fn keys on number row
- * PageUp/PageDn/Home/other general buttons
-* Mouse control
-* Numpad (works so much better if this would be ortho)
-### RGB-strip
-![Behind the scenes](https://i.imgur.com/reHLXrc.jpg)
diff --git a/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk b/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk
deleted file mode 100644
index 7041837aab..0000000000
--- a/keyboards/gh60/satan/keymaps/olligranlund_iso/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 = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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 = yes # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/gh60/satan/keymaps/rask63/keymap.c b/keyboards/gh60/satan/keymaps/rask63/keymap.c
deleted file mode 100644
index f12aaa5d3d..0000000000
--- a/keyboards/gh60/satan/keymaps/rask63/keymap.c
+++ /dev/null
@@ -1,83 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#define _BASE 0
-#define _FNO 1
-#define _FNT 2
-
-#define ________ KC_TRNS
-#define XXXXXXXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- * Base layer
- *
- * -------------------------------------------------------------------------------------------
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del |
- * -------------------------------------------------------------------------------------------
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * -------------------------------------------------------------------------------------------
- * | Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * -------------------------------------------------------------------------------------------
- * | Shift | Z | X | C | V | B | N | M | , | . | / | Up | Fn2 |
- * -------------------------------------------------------------------------------------------
- * | Ctrl | Win | Alt | Space | AltGr | Left | Down | Right |
- * -------------------------------------------------------------------------------------------
- */
- [_BASE] = LAYOUT_60_ansi_split_bs_rshift(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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,
- MO(_FNO), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, MO(_FNT),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /*
- * Fn1 layer
- *
- * -------------------------------------------------------------------------------------------
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Prsc| Ins |
- * -------------------------------------------------------------------------------------------
- * | | | | | | | | | | | | | | |
- * -------------------------------------------------------------------------------------------
- * | NONE | | | | | | | | | | | | |
- * -------------------------------------------------------------------------------------------
- * | | | | | | | | | | | | PgUp | |
- * -------------------------------------------------------------------------------------------
- * | | | | | | Home | PgDn | End |
- * -------------------------------------------------------------------------------------------
- */
- [_FNO] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS,
- ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
- ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
- ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, KC_PGUP, ________,
- ________, ________, ________, ________, ________, KC_HOME, KC_PGDN, KC_END
- ),
-
- /*
- * Fn2 layer
- *
- * TODO: macro buttons
- *
- * -------------------------------------------------------------------------------------------
- * | | | | | | | | | | | | | | | |
- * -------------------------------------------------------------------------------------------
- * | | | | | | | | | | Prev| Play| Next| | |
- * -------------------------------------------------------------------------------------------
- * | CapsLk | | | | | | | | | Vol-| Vol+| Mute| |
- * -------------------------------------------------------------------------------------------
- * | | | | | | | | | | Stop| | | NONE|
- * -------------------------------------------------------------------------------------------
- * | Reset | Menu | | | M1 | M2 | M3 | M4 |
- * -------------------------------------------------------------------------------------------
- */
- [_FNT] = LAYOUT_60_ansi_split_bs_rshift(
- ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
- ________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MPRV, KC_MPLY, KC_MNXT, ________, ________,
- KC_CAPS, ________, ________, ________, ________, ________, ________, ________, ________, KC_VOLD, KC_VOLU, KC_MUTE, ________,
- ________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MSTP, ________, ________, ________,
- QK_BOOT, KC_MENU, ________, ________, ________, ________, ________, ________
- ),
-};
diff --git a/keyboards/gh60/satan/keymaps/sethbc/keymap.c b/keyboards/gh60/satan/keymaps/sethbc/keymap.c
deleted file mode 100644
index f1195ba5a0..0000000000
--- a/keyboards/gh60/satan/keymaps/sethbc/keymap.c
+++ /dev/null
@@ -1,47 +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 _BL 0
-#define _FL 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|bksp |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift| fn |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------'
- */
- [_BL] = LAYOUT_60_ansi_split_bs_rshift(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MENU, KC_RCTL
- ),
-
- [_FL] = LAYOUT_60_ansi_split_bs_rshift(
- #ifdef RGBLIGHT_ENABLE
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
- KC_CAPS, _______, RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
- _______, KC_VOLD, RGB_HUD, RGB_SAI, RGB_SAD, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, RGB_VAI, RGB_VAD, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #else
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #endif
- ),
-};
diff --git a/keyboards/gh60/satan/keymaps/sethbc/readme.md b/keyboards/gh60/satan/keymaps/sethbc/readme.md
deleted file mode 100644
index ed0eb87016..0000000000
--- a/keyboards/gh60/satan/keymaps/sethbc/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# sethbc's Satan GH60 layout
-
-HHKB style split right shift and split backspace. Largely based on the HHKB layout.
diff --git a/keyboards/gh60/satan/keymaps/sethbc/rules.mk b/keyboards/gh60/satan/keymaps/sethbc/rules.mk
deleted file mode 100644
index 14367f2f8a..0000000000
--- a/keyboards/gh60/satan/keymaps/sethbc/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c b/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c
deleted file mode 100644
index b923ca40c6..0000000000
--- a/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-#define _BL 0
-#define _FL 1
-#define _CL 3
-
-// Add names for complex momentary keys, to keep the keymap matrix aligned better.
-#define CTL_ESC MT(MOD_LCTL,KC_ESC)
-#define GUI_ENT MT(MOD_RGUI, KC_ENT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0| -| =|Del |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |Ctl/Esc| A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Alt |Gui | Space |Gui |Alt |FN |Ctrl |
- * `-----------------------------------------------------------'
- */
-[_BL] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- 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_RSFT,
- MO(_CL), KC_RALT, KC_LGUI, KC_SPC, GUI_ENT, KC_RALT, KC_RCTL, MO(_FL)),
-
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | `| | | | | | | | | | | | | QK_BOOT|
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | |VDN|VUP|MUTE| | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
-[_FL] = LAYOUT_60_ansi(
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- /* Keymap _CL: Control+ Layer
- * ,-----------------------------------------------------------.
- * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | |PGU| | | |
- * |-----------------------------------------------------------|
- * | | | | | | |LFT| DN| UP|RGT| | | |
- * |-----------------------------------------------------------|
- * | | | | | | |PGD| | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
-
-[_CL] = LAYOUT_60_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TAB, LCTL(KC_Q), LCTL(KC_W), LCTL(KC_E), LCTL(KC_R), LCTL(KC_T), LCTL(KC_Y), LCTL(KC_U), LCTL(KC_I), LCTL(KC_O), KC_PGUP, KC_ESC, LCTL(KC_RBRC), LCTL(KC_BSLS),
- _______, LCTL(KC_A), LCTL(KC_S), LCTL(KC_D), LCTL(KC_F), LCTL(KC_G), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SCLN), LCTL(KC_QUOT), LCTL(KC_ENT),
- KC_LSFT, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_PGDN, LCTL(KC_N), LCTL(KC_M), LCTL(KC_COMM), LCTL(KC_DOT), LCTL(KC_SLSH), LCTL(KC_RSFT),
- _______, LCTL(KC_LALT), LCTL(KC_LGUI), LCTL(KC_SPC), LCTL(KC_RGUI), LCTL(KC_RALT), KC_RCTL, MO(_FL)),
-};
-
diff --git a/keyboards/gh60/satan/keymaps/spacemanspiff/readme.md b/keyboards/gh60/satan/keymaps/spacemanspiff/readme.md
deleted file mode 100644
index 1d592509de..0000000000
--- a/keyboards/gh60/satan/keymaps/spacemanspiff/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Spaceman Spiff Layout for GH60 Satan
-
-![Keyboard Layout](https://i.imgur.com/M9glFON.png)
-
-<!-- http://www.keyboard-layout-editor.com/#/gists/32feaaa31c29afb8198a8ef591db6ddf -->
-
-Designed specifically to make switching back-n-forth with the Apple's MacBook Pro keyboard intuitive. Has a slight tendency toward readline/vim keybindings.
-
-Caps locks becomes an `Esc` when pressed alone, or a `Ctrl` when pressed with another key.
-
-# Base Layer
-
-As simalar to the Apple keyboard as possible. Notiable exception is `Caps Lock`:
-- `Esc` when pressed alone
-- `Ctrl` when pressed with another key
-
-# Control+ Layer
-
-Left Ctrl key switches to the "Control+ Layer". This layer mostly acts like a control key in most cases, with a few exceptions:
-
-- `Ctl+` + `hjkl` are vim-style motion keys
-- `Ctl+` + `p` and `Ctl+` + `n` are page up and down
-- `Ctl+` + `Backspace` is forward delete
-
-# Fn Layer
-
-Audio Controls:
-- `Fn` + `a` Volume Down
-- `Fn` + `s` Volume Up
-- `Fn` + `d` Mute
-
-To flash this layout you need to press `Fn+Backspace`
-
-
diff --git a/keyboards/gh60/satan/keymaps/stanleylai/config.h b/keyboards/gh60/satan/keymaps/stanleylai/config.h
deleted file mode 100644
index 7f4bb441c4..0000000000
--- a/keyboards/gh60/satan/keymaps/stanleylai/config.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "../../config.h"
-
-// Backlight configuration
-#undef BACKLIGHT_LEVELS
-#define BACKLIGHT_LEVELS 3
-
-// Underlight configuration
-#undef RGBLED_NUM
-#define RGBLED_NUM 6 // Number of LEDs
-#undef RGBLIGHT_HUE_STEP
-#define RGBLIGHT_HUE_STEP 8
-#undef RGBLIGHT_SAT_STEP
-#define RGBLIGHT_SAT_STEP 8
-#undef RGBLIGHT_VAL_STEP
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
deleted file mode 100644
index 4caf2dce57..0000000000
--- a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
+++ /dev/null
@@ -1,50 +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 _BL 0
-#define _FL 1
-#define _RGBL 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // See base_layer.png and rgb_layer.png for layout reference
-
- // Base Default Layer
- // Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
- [_BL] = LAYOUT_60_ansi_split_bs_rshift(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, MO(_FL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- // Function layer
- [_FL] = LAYOUT_60_ansi_split_bs_rshift(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, XXXXXXX,
- XXXXXXX, KC_MPRV, KC_UP, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LT(_RGBL, KC_PGUP), _______,
- _______, _______, _______, KC_MPLY, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- // RGB Layer
- [_RGBL] = LAYOUT_60_ansi_split_bs_rshift(
- #ifdef RGBLIGHT_ENABLE
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #else
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #endif
- ),
-};
diff --git a/keyboards/gh60/satan/keymaps/unxmaal/README.md b/keyboards/gh60/satan/keymaps/unxmaal/README.md
deleted file mode 100644
index 50ad0cf1fe..0000000000
--- a/keyboards/gh60/satan/keymaps/unxmaal/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-Unxmaal's GH60 Satan Layout
-=====================
-* Mostly stolen from /u/robotmaxtron
-
-##Quantum MK Firmware
-For the full Quantum feature list, see the parent readme.md.
-
-* Standard Mac ANSI layout
-* Spacebar acts as space when tapped, Fn when held
-* Menu acts as menu when tapped, Fn2 when held
-* Layer1:
- * Top row = `~, F1-F12, Del
- * JKIL = arrow cluster
-* Layer2:
- * Top row = media controls
- * JKIL = PgDn/Up/Home/Insert
- * Backspace = Reset
-
-### Additional Credits
-Keymap has been based on various keymaps available from the QMK Repo for the GH60-SATAN and KC60 keyboards. \ No newline at end of file
diff --git a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
deleted file mode 100644
index d70b8054ed..0000000000
--- a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
+++ /dev/null
@@ -1,84 +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 _BL 0
-#define _AL 1
-#define _FL 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ANSI Base, Mac style
- * ,-----------------------------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | Backsp |
- * |-----------------------------------------------------------------------------|
- * |Tab | Q | W | E | R | T | Y | U | I| O| P| [| ]| \|
- * |-----------------------------------------------------------------------------|
- * |Caps/Fn | A| S| D| F| G| H| J| K| L| ;| '| Enter |
- * |-----------------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
- * |-----------------------------------------------------------------------------|
- * |Fn|Alt |Gui | Space(tapped), Fn(held) |Gui |Alt |Menu(tapped, Fn2(held)|Ctrl|
- * `-----------------------------------------------------------------------------'
- */
- [_BL] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_AL), KC_LALT, KC_LGUI, LT(_AL, KC_SPACE), KC_RGUI, KC_RALT, LT(_FL, KC_MENU), KC_RCTL
- ),
-
- /*
- * Pok3r style arrow cluster
- * ,-----------------------------------------------------------.
- * |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
- * |-----------------------------------------------------------|
- * | | | | | | | | |Up| | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | |Left|Down|Right| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_AL] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELETE,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | QK_BOOT|
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | |BL-|BL+|BL |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | RGB on|RGB step|Hue+|Hue- |Sat+|Sat-|Val+| Val-| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_FL] = LAYOUT_60_ansi(
- #ifdef RGBLIGHT_ENABLE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #else
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- #endif
- ),
-};
diff --git a/keyboards/gh60/satan/keymaps/unxmaal/rules.mk b/keyboards/gh60/satan/keymaps/unxmaal/rules.mk
deleted file mode 100644
index 91ba6cd9e9..0000000000
--- a/keyboards/gh60/satan/keymaps/unxmaal/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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 = yes # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h
index e4946a3bb3..bd501c1f76 100644
--- a/keyboards/giabalanai/config.h
+++ b/keyboards/giabalanai/config.h
@@ -33,19 +33,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// for "Generic" Promicro to be detected correctly as lefthand side (slave)
#define SPLIT_USB_DETECT
-# define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS
#ifdef RGB_MATRIX_ENABLE
/* ws2812 RGB MATRIX */
-# define RGB_MATRIX_LED_COUNT 123
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
// for all fingers used at once.
# define LED_HITS_TO_REMEMBER 10
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-
-// the above brighness setting has no effect on rgb_matrix_set_color().
+// the max brightness setting has no effect on rgb_matrix_set_color().
// Use darker colors instead.
/* RGB darker COLORS */
# define RGB_DARKWHITE 0x66, 0x66, 0x66
@@ -66,50 +61,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_DARKPURPLE 0x30, 0x0, 0x66
# define RGB_DARKMAGENTA 0x66, 0x0, 0x66
# define RGB_DARKPINK 0x66, 0x33, 0x4C
-
-// https://docs.qmk.fm/#/feature_rgb_matrix
-// Enable suspend mode.
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED true
-
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-// #define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// #define ENABLE_RGB_MATRIX_CYCLE_ALL
-// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// #define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif // RGB_MATRIX_ENABLE
/*
diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json
index 592d7a6966..b10cbe943e 100644
--- a/keyboards/giabalanai/info.json
+++ b/keyboards/giabalanai/info.json
@@ -9,7 +9,15 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations" :{
+ "gradient_up_down": true,
+ "rainbow_moving_chevron": true,
+ "hue_breathing": true,
+ "solid_reactive": true,
+ "multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 50
},
"rgblight": {
"led_count": 123,
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
index dd10d213a0..01ad55eec0 100644
--- a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
@@ -22,8 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# undef MATRIX_COL_PINS_RIGHT
# ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 120
# undef RGBLIGHT_LED_MAP
# define RGBLIGHT_LED_MAP { \
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/config.h b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
index dd10d213a0..01ad55eec0 100644
--- a/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
@@ -22,8 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# undef MATRIX_COL_PINS_RIGHT
# ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 120
# undef RGBLIGHT_LED_MAP
# define RGBLIGHT_LED_MAP { \
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
index 01905b8dfe..decc2e2dc1 100644
--- a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
@@ -7,8 +7,8 @@
# undef MATRIX_COL_PINS_RIGHT
# ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 120
# undef RGBLIGHT_LED_MAP
# define RGBLIGHT_LED_MAP { \
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h
index 5204496e66..f5ba3570fb 100755
--- a/keyboards/gizmo_engineering/gk6/config.h
+++ b/keyboards/gizmo_engineering/gk6/config.h
@@ -21,30 +21,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define DRIVER_1_LED_TOTAL 32
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 25
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-
diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c
index 18883727b8..fe85ecc235 100755
--- a/keyboards/gizmo_engineering/gk6/gk6.c
+++ b/keyboards/gizmo_engineering/gk6/gk6.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C1_8, C2_8, C3_8}, //0 led1
{0, C1_7, C2_7, C3_7}, //1 led2
{0, C1_6, C2_6, C3_6}, //2 led3
diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json
index c958147971..8a50b365f5 100644
--- a/keyboards/gizmo_engineering/gk6/info.json
+++ b/keyboards/gizmo_engineering/gk6/info.json
@@ -9,7 +9,23 @@
"device_version": "30.3.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "cycle_up_down": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "hue_breathing": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multicross": true
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B5", "C6", "C7", "F7", "F6", "D5", "D3", "D2", "F1", "F4", "B7", "F5"],
diff --git a/keyboards/gkeyboard/gpad8_2r/config.h b/keyboards/gkeyboard/gpad8_2r/config.h
index 88debbe193..82f451e006 100644
--- a/keyboards/gkeyboard/gpad8_2r/config.h
+++ b/keyboards/gkeyboard/gpad8_2r/config.h
@@ -3,59 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 16
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/gkeyboard/gpad8_2r/info.json b/keyboards/gkeyboard/gpad8_2r/info.json
index 9aa63091c9..52e733f961 100644
--- a/keyboards/gkeyboard/gpad8_2r/info.json
+++ b/keyboards/gkeyboard/gpad8_2r/info.json
@@ -36,6 +36,51 @@
]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [1, 0], "x": 28, "y": 12},
@@ -54,7 +99,8 @@
{"flags": 2, "x": 84, "y": 60},
{"flags": 2, "x": 140, "y": 60},
{"flags": 2, "x": 196, "y": 60}
- ]
+ ],
+ "sleep": true
},
"ws2812": {
"pin": "GP19",
diff --git a/keyboards/gl516/a52gl/keymaps/salicylic/config.h b/keyboards/gl516/a52gl/keymaps/salicylic/config.h
deleted file mode 100644
index 0e221d844d..0000000000
--- a/keyboards/gl516/a52gl/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c b/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c
deleted file mode 100644
index 4a2e09501d..0000000000
--- a/keyboards/gl516/a52gl/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2021 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------.
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B,KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_UP, KC_RSFT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK,KC_LALT,LGUI_T(JP_MHEN),LT(_LOWER,KC_ENT),KC_BSPC,LT(_RAISE,KC_SPC),ALT_T(JP_HENK),KC_APP,KC_LEFT, KC_DOWN, KC_RGHT
- //|-----------------------------------------------------| |--------------------------------------------------------------'
- ),
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------.
- KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, XXXXXXX, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE,KC_LSFT,KC_0, KC_1, KC_2, KC_3, JP_PLUS, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, JP_MHEN, MO(_LOWER), _______, MO(_RAISE), JP_DOT, _______, _______, _______, _______
- //,-----------------------------------------------------| |--------------------------------------------------------------.
- ),
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------.
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP,LALT(KC_PSCR),KC_PSCR, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,KC_LSFT,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_PGDN, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, JP_MHEN, _______, KC_DEL, _______, JP_HENK, _______, _______, _______, _______
- //,-----------------------------------------------------| |--------------------------------------------------------------.
- )
-};
-
diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
index 0f71fedd0e..2289031f11 100644
--- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
@@ -21,8 +21,8 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
#define RGB_MATRIX_LED_COUNT 73
@@ -31,7 +31,7 @@
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
index 774006d529..d1f01fc8cb 100644
--- a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
+++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
@@ -18,105 +18,105 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
- {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
- {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
- {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
- {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 Del
+ {0, SW1_CS1, SW1_CS2, SW1_CS3 }, // 0 Esc
+ {0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 1 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6 }, // 2 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 3 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 4 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 5 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 6 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 7 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 8 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6 }, // 9 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6 }, // 10 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6 }, // 11 -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3 }, // 12 =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3 }, // 13 Backspace
+ {1, SW4_CS4, SW4_CS5, SW4_CS6 }, // 14 Del
- {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
- {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
- {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
- {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
- {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
- {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
- {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
- {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
- {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
- {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 28 \|
- {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
+ {0, SW1_CS7, SW1_CS8, SW1_CS9 }, // 15 Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 16 Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 17 W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 18 E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9 }, // 19 R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9 }, // 20 T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9 }, // 21 Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 22 U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9 }, // 23 I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9 }, // 24 O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9 }, // 25 P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9 }, // 26 [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3 }, // 27 ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3 }, // 28 \|
+ {1, SW7_CS4, SW7_CS5, SW7_CS6 }, // 29 PgUp
- {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
- {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
- {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
- {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
- {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
- {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
- {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
- {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
- {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 42 Enter
- {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
+ {0, SW1_CS10, SW1_CS11, SW1_CS12 }, // 30 Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12 }, // 31 A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12 }, // 32 S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12 }, // 33 D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12 }, // 34 F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12 }, // 35 G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12 }, // 36 H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12 }, // 37 J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12 }, // 38 K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 39 L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 40 ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 41 '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3 }, // 42 Enter
+ {1, SW5_CS4, SW5_CS5, SW5_CS6 }, // 43 PgDn
- {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
- {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 45 Z
- {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 46 X
- {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 47 C
- {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 48 V
- {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 49 B
- {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 50 N
- {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 51 M
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 52 ,
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 53 .
- {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 54 /
- {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 55 Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 56 Up
- {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 57 END
+ {0, SW1_CS13, SW1_CS14, SW1_CS15 }, // 44 Shift_L
+ {0, SW3_CS13, SW3_CS14, SW3_CS15 }, // 45 Z
+ {0, SW4_CS13, SW4_CS14, SW4_CS15 }, // 46 X
+ {0, SW5_CS13, SW5_CS14, SW5_CS15 }, // 47 C
+ {0, SW6_CS13, SW6_CS14, SW6_CS15 }, // 48 V
+ {0, SW7_CS13, SW7_CS14, SW7_CS15 }, // 49 B
+ {0, SW8_CS13, SW8_CS14, SW8_CS15 }, // 50 N
+ {0, SW9_CS13, SW9_CS14, SW9_CS15 }, // 51 M
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 52 ,
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 53 .
+ {0, SW12_CS13, SW12_CS14, SW12_CS15}, // 54 /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6 }, // 55 Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6 }, // 56 Up
+ {1, SW6_CS4, SW6_CS5, SW6_CS6 }, // 57 END
- {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 58 Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 59 Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 60 Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 61 Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 62 Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 63 FN
- {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 64 Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 65 Down
- {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 66 Right
+ {0, SW1_CS16, SW1_CS17, SW1_CS18 }, // 58 Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18 }, // 59 Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18 }, // 60 Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18 }, // 61 Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18 }, // 62 Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 63 FN
+ {1, SW10_CS4, SW10_CS5, SW10_CS6 }, // 64 Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6 }, // 65 Down
+ {1, SW12_CS4, SW12_CS5, SW12_CS6 }, // 66 Right
- {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 69 LED 1
- {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70 LED 2
- {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 71 LED 3
- {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 72 LED 4
- {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 73 LED 5
- {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 74 LED 6
- {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 75 LED 7
- {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 76 LED 8
- {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 77 LED 9
- {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 78 LED 10
- {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 79 LED 11
- {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 80 LED 12
- {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 81 LED 13
- {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 82 LED 14
- {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 83 LED 15
- {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84 LED 16
- {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 85 LED 17
- {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 86 LED 18
- {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 87 LED 19
- {1, CS16_SW10, CS17_SW10, CS18_SW10} // 88 LED 20
+ {1, SW1_CS13, SW1_CS14, SW1_CS15 }, // 69 LED 1
+ {1, SW2_CS13, SW2_CS14, SW2_CS15 }, // 70 LED 2
+ {1, SW3_CS13, SW3_CS14, SW3_CS15 }, // 71 LED 3
+ {1, SW4_CS13, SW4_CS14, SW4_CS15 }, // 72 LED 4
+ {1, SW5_CS13, SW5_CS14, SW5_CS15 }, // 73 LED 5
+ {1, SW6_CS13, SW6_CS14, SW6_CS15 }, // 74 LED 6
+ {1, SW7_CS13, SW7_CS14, SW7_CS15 }, // 75 LED 7
+ {1, SW8_CS13, SW8_CS14, SW8_CS15 }, // 76 LED 8
+ {1, SW9_CS13, SW9_CS14, SW9_CS15 }, // 77 LED 9
+ {1, SW10_CS13, SW10_CS14, SW10_CS15}, // 78 LED 10
+ {1, SW1_CS16, SW1_CS17, SW1_CS18 }, // 79 LED 11
+ {1, SW2_CS16, SW2_CS17, SW2_CS18 }, // 80 LED 12
+ {1, SW3_CS16, SW3_CS17, SW3_CS18 }, // 81 LED 13
+ {1, SW4_CS16, SW4_CS17, SW4_CS18 }, // 82 LED 14
+ {1, SW5_CS16, SW5_CS17, SW5_CS18 }, // 83 LED 15
+ {1, SW6_CS16, SW6_CS17, SW6_CS18 }, // 84 LED 16
+ {1, SW7_CS16, SW7_CS17, SW7_CS18 }, // 85 LED 17
+ {1, SW8_CS16, SW8_CS17, SW8_CS18 }, // 86 LED 18
+ {1, SW9_CS16, SW9_CS17, SW9_CS18 }, // 87 LED 19
+ {1, SW10_CS16, SW10_CS17, SW10_CS18} // 88 LED 20
};
#define __ NO_LED
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json
index cd9296b81a..2d2230a3b9 100644
--- a/keyboards/gmmk/gmmk2/p65/ansi/info.json
+++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json
@@ -11,9 +11,6 @@
"qmk": {
"tap_keycode_delay": 10
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8"]
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c
deleted file mode 100644
index 8ca676273b..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2022 Eugenio Pastoral
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-enum custom_layers {
- _BL,
- _FL,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: Base Layer (Default Layer)
- */
-[_BL] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap _FL: Function Layer
- */
-[_FL] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_VAI, _______,
- EE_CLR, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
-};
-
-// Turns side LEDs to white for caps lock and layer indicators.
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- if (host_keyboard_led_state().caps_lock || get_highest_layer(layer_state | default_layer_state)) {
- for (uint8_t i = led_min; i < led_max; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
- rgb_matrix_set_color(i, 0xff, 0xff, 0xff);
- }
- }
- }
- return false;
-};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md
deleted file mode 100644
index 4f80a5b956..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# ANSI GMMKV2 65% Layout
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc
deleted file mode 100644
index 2966fe2586..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc
+++ /dev/null
@@ -1,72 +0,0 @@
- /* Copyright 2022 Eugenio Pastoral
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-RGB_MATRIX_EFFECT(SOLID_UNDERGLOW)
-RGB_MATRIX_EFFECT(HOLOGRAPHICS_UNDERGLOW)
-
-#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-
-// This is a side lights only configuration where the solid color is following the current HSV setting.
-static bool SOLID_UNDERGLOW(effect_params_t* params) {
- RGB_MATRIX_USE_LIMITS(led_min, led_max);
-
- RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv);
- for (uint8_t i = led_min; i < led_max; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- } else {
- rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
- }
- }
- return rgb_matrix_check_finished_leds(led_max);
-}
-
-// This is a side lights only configuration where the color is set to a static gradient.
-static bool HOLOGRAPHICS_UNDERGLOW(effect_params_t* params) {
- RGB_MATRIX_USE_LIMITS(led_min, led_max);
-
- for (uint8_t i = led_min; i < led_max; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
- // RIGHT-HAND SIDE LEDS || LEFT-HAND SIDE LEDS
- if (i == 67 || i == 77) {
- rgb_matrix_set_color(i, 0xff, 0x00, 0xee);
- } else if (i == 68 || i == 78) {
- rgb_matrix_set_color(i, 0xcc, 0x00, 0xff);
- } else if (i == 69 || i == 79) {
- rgb_matrix_set_color(i, 0x9e, 0x00, 0xff);
- } else if (i == 70 || i == 80) {
- rgb_matrix_set_color(i, 0x70, 0x00, 0xff);
- } else if (i == 71 || i == 81) {
- rgb_matrix_set_color(i, 0x52, 0x00, 0xff);
- } else if (i == 72 || i == 82) {
- rgb_matrix_set_color(i, 0x33, 0x00, 0xff);
- } else if (i == 73 || i == 83) {
- rgb_matrix_set_color(i, 0x00, 0x38, 0xff);
- } else if (i == 74 || i == 84) {
- rgb_matrix_set_color(i, 0x00, 0x57, 0xff);
- } else if (i == 75 || i == 85) {
- rgb_matrix_set_color(i, 0x00, 0x85, 0xff);
- } else if (i == 76 || i == 86) {
- rgb_matrix_set_color(i, 0x00, 0xb2, 0xff);
- } else {
- rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
- }
- }
- }
- return rgb_matrix_check_finished_leds(led_max);
-}
-
-#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk
deleted file mode 100644
index 6245023e80..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c
deleted file mode 100644
index c5f90e3fee..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-enum custom_layers {
- _BL,
- _FL,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: Base Layer (Default Layer)
- */
-[_BL] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap _FL: Function Layer
- */
-[_FL] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS,
- RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, RGB_TOG,
- KC_MUTE, KC_VOLU, KC_VOLD, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
-};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md
deleted file mode 100644
index 4f80a5b956..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# ANSI GMMKV2 65% Layout
diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h
index ce9ff69433..4ea6b3d739 100644
--- a/keyboards/gmmk/gmmk2/p65/config.h
+++ b/keyboards/gmmk/gmmk2/p65/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* SPI Config for LED Driver */
#define SPI_DRIVER SPIDM2
#define SPI_SCK_PIN B13
@@ -31,60 +29,4 @@
#define AW20216S_CS_PIN_1 A15
#define AW20216S_CS_PIN_2 B9
-#define AW20216S_EN_PIN_1 C13
-#define AW20216S_EN_PIN_2 C13
-
-#define DRIVER_1_LED_TOTAL 54
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/gmmk/gmmk2/p65/info.json b/keyboards/gmmk/gmmk2/p65/info.json
new file mode 100644
index 0000000000..9108057519
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/info.json
@@ -0,0 +1,51 @@
+{
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "aw20216s",
+ "sleep": true
+ }
+} \ No newline at end of file
diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json
index c286cb7ba0..aa31b50f61 100644
--- a/keyboards/gmmk/gmmk2/p65/iso/info.json
+++ b/keyboards/gmmk/gmmk2/p65/iso/info.json
@@ -11,9 +11,6 @@
"qmk": {
"tap_keycode_delay": 10
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8"]
diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c
index 80c0dc2e0d..2be5285394 100644
--- a/keyboards/gmmk/gmmk2/p65/iso/iso.c
+++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
- {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
- {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
- {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
- {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 HOME
+ {0, SW1_CS1, SW1_CS2, SW1_CS3 }, // 0 Esc
+ {0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 1 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6 }, // 2 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 3 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 4 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 5 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 6 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 7 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 8 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6 }, // 9 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6 }, // 10 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6 }, // 11 -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3 }, // 12 =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3 }, // 13 Backspace
+ {1, SW4_CS4, SW4_CS5, SW4_CS6 }, // 14 HOME
- {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
- {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
- {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
- {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
- {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
- {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
- {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
- {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
- {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
- {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
- {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 28 ENTER
- {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
+ {0, SW1_CS7, SW1_CS8, SW1_CS9 }, // 15 Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 16 Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 17 W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 18 E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9 }, // 19 R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9 }, // 20 T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9 }, // 21 Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 22 U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9 }, // 23 I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9 }, // 24 O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9 }, // 25 P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9 }, // 26 [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3 }, // 27 ]
+ {1, SW11_CS1, SW11_CS2, SW11_CS3 }, // 28 ENTER
+ {1, SW7_CS4, SW7_CS5, SW7_CS6 }, // 29 PgUp
- {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
- {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
- {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
- {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
- {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
- {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
- {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
- {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
- {1, CS1_SW10, CS2_SW10, CS3_SW10 }, // 42 k42
- {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
+ {0, SW1_CS10, SW1_CS11, SW1_CS12 }, // 30 Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12 }, // 31 A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12 }, // 32 S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12 }, // 33 D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12 }, // 34 F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12 }, // 35 G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12 }, // 36 H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12 }, // 37 J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12 }, // 38 K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 39 L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 40 ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 41 '
+ {1, SW10_CS1, SW10_CS2, SW10_CS3 }, // 42 k42
+ {1, SW5_CS4, SW5_CS5, SW5_CS6 }, // 43 PgDn
- {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 45 k45
- {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 46 Z
- {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 47 X
- {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 48 C
- {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 49 V
- {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 50 B
- {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 51 N
- {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 52 M
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53 ,
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54 .
- {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 55 /
- {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 56 Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 57 Up
- {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 58 END
+ {0, SW1_CS13, SW1_CS14, SW1_CS15 }, // 44 Shift_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15 }, // 45 k45
+ {0, SW3_CS13, SW3_CS14, SW3_CS15 }, // 46 Z
+ {0, SW4_CS13, SW4_CS14, SW4_CS15 }, // 47 X
+ {0, SW5_CS13, SW5_CS14, SW5_CS15 }, // 48 C
+ {0, SW6_CS13, SW6_CS14, SW6_CS15 }, // 49 V
+ {0, SW7_CS13, SW7_CS14, SW7_CS15 }, // 50 B
+ {0, SW8_CS13, SW8_CS14, SW8_CS15 }, // 51 N
+ {0, SW9_CS13, SW9_CS14, SW9_CS15 }, // 52 M
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 53 ,
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 54 .
+ {0, SW12_CS13, SW12_CS14, SW12_CS15}, // 55 /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6 }, // 56 Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6 }, // 57 Up
+ {1, SW6_CS4, SW6_CS5, SW6_CS6 }, // 58 END
- {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 59 Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 60 Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 61 Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 62 Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 63 Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 64 FN
- {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 65 Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 66 Down
- {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 67 Right
+ {0, SW1_CS16, SW1_CS17, SW1_CS18 }, // 59 Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18 }, // 60 Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18 }, // 61 Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18 }, // 62 Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18 }, // 63 Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 64 FN
+ {1, SW10_CS4, SW10_CS5, SW10_CS6 }, // 65 Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6 }, // 66 Down
+ {1, SW12_CS4, SW12_CS5, SW12_CS6 }, // 67 Right
- {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 68 LED 1
- {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 69 LED 2
- {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 70 LED 3
- {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 71 LED 4
- {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 72 LED 5
- {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 73 LED 6
- {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 74 LED 7
- {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 75 LED 8
- {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 76 LED 9
- {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 77 LED 10
- {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 78 LED 11
- {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 79 LED 12
- {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 80 LED 13
- {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 81 LED 14
- {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 82 LED 15
- {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 83 LED 16
- {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 84 LED 17
- {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 85 LED 18
- {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 86 LED 19
- {1, CS16_SW10, CS17_SW10, CS18_SW10} // 87 LED 20
+ {1, SW1_CS13, SW1_CS14, SW1_CS15 }, // 68 LED 1
+ {1, SW2_CS13, SW2_CS14, SW2_CS15 }, // 69 LED 2
+ {1, SW3_CS13, SW3_CS14, SW3_CS15 }, // 70 LED 3
+ {1, SW4_CS13, SW4_CS14, SW4_CS15 }, // 71 LED 4
+ {1, SW5_CS13, SW5_CS14, SW5_CS15 }, // 72 LED 5
+ {1, SW6_CS13, SW6_CS14, SW6_CS15 }, // 73 LED 6
+ {1, SW7_CS13, SW7_CS14, SW7_CS15 }, // 74 LED 7
+ {1, SW8_CS13, SW8_CS14, SW8_CS15 }, // 75 LED 8
+ {1, SW9_CS13, SW9_CS14, SW9_CS15 }, // 76 LED 9
+ {1, SW10_CS13, SW10_CS14, SW10_CS15}, // 77 LED 10
+ {1, SW1_CS16, SW1_CS17, SW1_CS18 }, // 78 LED 11
+ {1, SW2_CS16, SW2_CS17, SW2_CS18 }, // 79 LED 12
+ {1, SW3_CS16, SW3_CS17, SW3_CS18 }, // 80 LED 13
+ {1, SW4_CS16, SW4_CS17, SW4_CS18 }, // 81 LED 14
+ {1, SW5_CS16, SW5_CS17, SW5_CS18 }, // 82 LED 15
+ {1, SW6_CS16, SW6_CS17, SW6_CS18 }, // 83 LED 16
+ {1, SW7_CS16, SW7_CS17, SW7_CS18 }, // 84 LED 17
+ {1, SW8_CS16, SW8_CS17, SW8_CS18 }, // 85 LED 18
+ {1, SW9_CS16, SW9_CS17, SW9_CS18 }, // 86 LED 19
+ {1, SW10_CS16, SW10_CS17, SW10_CS18} // 87 LED 20
};
#define __ NO_LED
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c
index bc05ab6301..d60b9e2254 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c
+++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c
@@ -18,138 +18,138 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, k00, Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 1, k10, F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 2, k20, F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 3, k30, F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 4, k40, F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 5, k50, F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 6, k60, F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 7, k70, F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 8, k80, F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 9, k90, F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 10, ka0, F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 11, kb0, F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 12, kc0, F12
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 13, kd0, Printscreen
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 14, k06, Delete
- {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 15, k16, Insert
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 16, k26, Page Up
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 17, k36, Page Down
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, k00, Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 1, k10, F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 2, k20, F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 3, k30, F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 4, k40, F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 5, k50, F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 6, k60, F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 7, k70, F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 8, k80, F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 9, k90, F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 10, ka0, F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 11, kb0, F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 12, kc0, F12
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 13, kd0, Printscreen
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 14, k06, Delete
+ {1, SW2_CS1, SW2_CS2, SW2_CS3}, // 15, k16, Insert
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 16, k26, Page Up
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 17, k36, Page Down
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 18, k01, `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 19, k11, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 20, k21, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 21, k31, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 22, k41, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 23, k51, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 24, k61, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 25, k71, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 26, k81, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 27, k91, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 28, ka1, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 29, kb1, -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 30, kc1, =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 31, kd1, Backspace
- {1, CS7_SW1, CS8_SW1, CS9_SW1}, // 32, k46, Num Lock
- {1, CS7_SW2, CS8_SW2, CS9_SW2}, // 33, k56, Num /
- {1, CS7_SW3, CS8_SW3, CS9_SW3}, // 34, k66, Num *
- {1, CS7_SW4, CS8_SW4, CS9_SW4}, // 35, k76, Num -
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 18, k01, `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 19, k11, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 20, k21, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 21, k31, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 22, k41, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 23, k51, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 24, k61, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 25, k71, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 26, k81, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 27, k91, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 28, ka1, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 29, kb1, -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 30, kc1, =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 31, kd1, Backspace
+ {1, SW1_CS7, SW1_CS8, SW1_CS9}, // 32, k46, Num Lock
+ {1, SW2_CS7, SW2_CS8, SW2_CS9}, // 33, k56, Num /
+ {1, SW3_CS7, SW3_CS8, SW3_CS9}, // 34, k66, Num *
+ {1, SW4_CS7, SW4_CS8, SW4_CS9}, // 35, k76, Num -
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 36, k02, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 37, k12, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 38, k22, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 39, k32, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 40, k42, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 41, k52, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 42, k62, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 43, k72, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 44, k82, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 45, k92, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 46, ka2, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 47, kb2, [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 48, kc2, ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 49, kd3, "\\"
- {1, CS7_SW5, CS8_SW5, CS9_SW5}, // 50, k86, Num 7
- {1, CS7_SW6, CS8_SW6, CS9_SW6}, // 51, k96, Num 8
- {1, CS7_SW7, CS8_SW7, CS9_SW7}, // 52, ka6, Num 9
- {1, CS7_SW8, CS8_SW8, CS9_SW8}, // 53, kb6, Num +
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 36, k02, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 37, k12, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 38, k22, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 39, k32, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 40, k42, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 41, k52, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 42, k62, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 43, k72, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 44, k82, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 45, k92, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 46, ka2, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 47, kb2, [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 48, kc2, ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 49, kd3, "\\"
+ {1, SW5_CS7, SW5_CS8, SW5_CS9}, // 50, k86, Num 7
+ {1, SW6_CS7, SW6_CS8, SW6_CS9}, // 51, k96, Num 8
+ {1, SW7_CS7, SW7_CS8, SW7_CS9}, // 52, ka6, Num 9
+ {1, SW8_CS7, SW8_CS8, SW8_CS9}, // 53, kb6, Num +
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 54, k03, Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 55, k13, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 56, k23, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 57, k33, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 58, k43, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 59, k53, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 60, k63, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 61, k73, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 62, k83, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 63, k93, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 64, ka3, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 65, kb3, '
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 66, kc3, Enter
- {1, CS7_SW9, CS8_SW9, CS9_SW9}, // 67, ka7, Num 4
- {1, CS7_SW10, CS8_SW10, CS9_SW10}, // 68, kb7, Num 5
- {1, CS7_SW11, CS8_SW11, CS9_SW11}, // 69, kc7, Num 6
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 54, k03, Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 55, k13, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 56, k23, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 57, k33, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 58, k43, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 59, k53, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 60, k63, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 61, k73, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 62, k83, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 63, k93, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 64, ka3, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 65, kb3, '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 66, kc3, Enter
+ {1, SW9_CS7, SW9_CS8, SW9_CS9}, // 67, ka7, Num 4
+ {1, SW10_CS7, SW10_CS8, SW10_CS9}, // 68, kb7, Num 5
+ {1, SW11_CS7, SW11_CS8, SW11_CS9}, // 69, kc7, Num 6
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 70, k04, Shift_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, k24, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 72, k34, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 73, k44, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 74, k54, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 75, k64, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 76, k74, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 77, k84, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 78, k94, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 79, ka4, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 80, kb4, /
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 81, kd4, Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 82, k17, Up
- {1, CS10_SW1, CS11_SW1, CS12_SW1}, // 83, k67, Num 1
- {1, CS10_SW2, CS11_SW2, CS12_SW2}, // 84, k77, Num 2
- {1, CS10_SW3, CS11_SW3, CS12_SW3}, // 85, k87, Num 3
- {1, CS10_SW4, CS11_SW4, CS12_SW4}, // 86, k97, Enter_R
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 70, k04, Shift_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 71, k24, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 72, k34, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 73, k44, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 74, k54, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 75, k64, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 76, k74, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 77, k84, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 78, k94, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 79, ka4, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 80, kb4, /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 81, kd4, Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 82, k17, Up
+ {1, SW1_CS10, SW1_CS11, SW1_CS12}, // 83, k67, Num 1
+ {1, SW2_CS10, SW2_CS11, SW2_CS12}, // 84, k77, Num 2
+ {1, SW3_CS10, SW3_CS11, SW3_CS12}, // 85, k87, Num 3
+ {1, SW4_CS10, SW4_CS11, SW4_CS12}, // 86, k97, Enter_R
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 87, k05, Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 88, k15, Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 89, k25, Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 90, k65, Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 91, k95, Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 92, ka5, FN
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 93, kc5, Ctrl_R
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 94, k07, Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 95, k27, Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 96, k37, Right
- {1, CS10_SW6, CS11_SW6, CS12_SW6}, // 97, k47, Num 0
- {1, CS10_SW7, CS11_SW7, CS12_SW7}, // 98, k57, Num .
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 87, k05, Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 88, k15, Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 89, k25, Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 90, k65, Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 91, k95, Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 92, ka5, FN
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 93, kc5, Ctrl_R
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 94, k07, Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 95, k27, Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 96, k37, Right
+ {1, SW6_CS10, SW6_CS11, SW6_CS12}, // 97, k47, Num 0
+ {1, SW7_CS10, SW7_CS11, SW7_CS12}, // 98, k57, Num .
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 101, LED 1
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 102, LED 2
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 103, LED 3
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 104, LED 4
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 105, LED 5
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 106, LED 6
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 107, LED 7
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 108, LED 8
- {1, CS13_SW9, CS14_SW9, CS15_SW9}, // 109, LED 9
- {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 110, LED 10
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 111, LED 11
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 112, LED 12
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 113, LED 13
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 114, LED 14
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 115, LED 15
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 116, LED 16
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 117, LED 17
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 118, LED 18
- {1, CS16_SW9, CS17_SW9, CS18_SW9}, // 119, LED 19
- {1, CS16_SW10, CS17_SW10, CS18_SW10} // 120, LED 20
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 101, LED 1
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 102, LED 2
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 103, LED 3
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 104, LED 4
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 105, LED 5
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 106, LED 6
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 107, LED 7
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 108, LED 8
+ {1, SW9_CS13, SW9_CS14, SW9_CS15}, // 109, LED 9
+ {1, SW10_CS13, SW10_CS14, SW10_CS15}, // 110, LED 10
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 111, LED 11
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 112, LED 12
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 113, LED 13
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 114, LED 14
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 115, LED 15
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 116, LED 16
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 117, LED 17
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 118, LED 18
+ {1, SW9_CS16, SW9_CS17, SW9_CS18}, // 119, LED 19
+ {1, SW10_CS16, SW10_CS17, SW10_CS18} // 120, LED 20
};
#define __ NO_LED
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json
index e4eaddbfe8..d7e0e38ceb 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/info.json
+++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json
@@ -11,9 +11,6 @@
"qmk": {
"tap_keycode_delay": 10
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"]
diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h
index fb21c571f5..2b73b4a396 100644
--- a/keyboards/gmmk/gmmk2/p96/config.h
+++ b/keyboards/gmmk/gmmk2/p96/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
@@ -34,58 +32,4 @@
#define AW20216S_CS_PIN_1 A15
#define AW20216S_CS_PIN_2 B15
-#define AW20216S_EN_PIN_1 C13
-#define AW20216S_EN_PIN_2 C13
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 54
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/gmmk/gmmk2/p96/info.json b/keyboards/gmmk/gmmk2/p96/info.json
new file mode 100644
index 0000000000..9108057519
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/info.json
@@ -0,0 +1,51 @@
+{
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "aw20216s",
+ "sleep": true
+ }
+} \ No newline at end of file
diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json
index d9f53b76f1..c5079a22dd 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/info.json
+++ b/keyboards/gmmk/gmmk2/p96/iso/info.json
@@ -11,9 +11,6 @@
"qmk": {
"tap_keycode_delay": 10
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"]
diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c
index f6b3528cb4..af2ee17c4a 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/iso.c
+++ b/keyboards/gmmk/gmmk2/p96/iso/iso.c
@@ -18,139 +18,139 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, k00, Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 1, k10, F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 2, k20, F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 3, k30, F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 4, k40, F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 5, k50, F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 6, k60, F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 7, k70, F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 8, k80, F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 9, k90, F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 10, ka0, F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 11, kb0, F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 12, kc0, F12
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 13, kd0, Printscreen
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 14, k06, Delete
- {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 15, k16, Insert
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 16, k26, Page Up
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 17, k36, Page Down
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, k00, Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 1, k10, F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 2, k20, F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 3, k30, F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 4, k40, F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 5, k50, F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 6, k60, F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 7, k70, F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 8, k80, F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 9, k90, F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 10, ka0, F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 11, kb0, F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 12, kc0, F12
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 13, kd0, Printscreen
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 14, k06, Delete
+ {1, SW2_CS1, SW2_CS2, SW2_CS3}, // 15, k16, Insert
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 16, k26, Page Up
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 17, k36, Page Down
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 18, k01, `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 19, k11, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 20, k21, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 21, k31, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 22, k41, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 23, k51, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 24, k61, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 25, k71, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 26, k81, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 27, k91, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 28, ka1, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 29, kb1, -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 30, kc1, =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 31, kd1, Backspace
- {1, CS7_SW1, CS8_SW1, CS9_SW1}, // 32, k46, Num Lock
- {1, CS7_SW2, CS8_SW2, CS9_SW2}, // 33, k56, Num /
- {1, CS7_SW3, CS8_SW3, CS9_SW3}, // 34, k66, Num *
- {1, CS7_SW4, CS8_SW4, CS9_SW4}, // 35, k76, Num -
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 18, k01, `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 19, k11, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 20, k21, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 21, k31, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 22, k41, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 23, k51, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 24, k61, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 25, k71, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 26, k81, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 27, k91, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 28, ka1, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 29, kb1, -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 30, kc1, =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 31, kd1, Backspace
+ {1, SW1_CS7, SW1_CS8, SW1_CS9}, // 32, k46, Num Lock
+ {1, SW2_CS7, SW2_CS8, SW2_CS9}, // 33, k56, Num /
+ {1, SW3_CS7, SW3_CS8, SW3_CS9}, // 34, k66, Num *
+ {1, SW4_CS7, SW4_CS8, SW4_CS9}, // 35, k76, Num -
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 36, k02, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 37, k12, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 38, k22, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 39, k32, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 40, k42, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 41, k52, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 42, k62, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 43, k72, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 44, k82, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 45, k92, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 46, ka2, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 47, kb2, [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 48, kc2, ]
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 49, kd3, Enter
- {1, CS7_SW5, CS8_SW5, CS9_SW5}, // 50, k86, Num 7
- {1, CS7_SW6, CS8_SW6, CS9_SW6}, // 51, k96, Num 8
- {1, CS7_SW7, CS8_SW7, CS9_SW7}, // 52, ka6, Num 9
- {1, CS7_SW8, CS8_SW8, CS9_SW8}, // 53, kb6, Num +
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 36, k02, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 37, k12, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 38, k22, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 39, k32, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 40, k42, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 41, k52, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 42, k62, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 43, k72, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 44, k82, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 45, k92, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 46, ka2, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 47, kb2, [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 48, kc2, ]
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 49, kd3, Enter
+ {1, SW5_CS7, SW5_CS8, SW5_CS9}, // 50, k86, Num 7
+ {1, SW6_CS7, SW6_CS8, SW6_CS9}, // 51, k96, Num 8
+ {1, SW7_CS7, SW7_CS8, SW7_CS9}, // 52, ka6, Num 9
+ {1, SW8_CS7, SW8_CS8, SW8_CS9}, // 53, kb6, Num +
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 54, k03, Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 55, k13, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 56, k23, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 57, k33, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 58, k43, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 59, k53, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 60, k63, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 61, k73, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 62, k83, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 63, k93, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 64, ka3, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 65, kb3, '
- {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 66, kc3, #
- {1, CS7_SW9, CS8_SW9, CS9_SW9}, // 67, ka7, Num 4
- {1, CS7_SW10, CS8_SW10, CS9_SW10}, // 68, kb7, Num 5
- {1, CS7_SW11, CS8_SW11, CS9_SW11}, // 69, kc7, Num 6
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 54, k03, Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 55, k13, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 56, k23, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 57, k33, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 58, k43, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 59, k53, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 60, k63, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 61, k73, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 62, k83, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 63, k93, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 64, ka3, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 65, kb3, '
+ {1, SW10_CS1, SW10_CS2, SW10_CS3}, // 66, kc3, #
+ {1, SW9_CS7, SW9_CS8, SW9_CS9}, // 67, ka7, Num 4
+ {1, SW10_CS7, SW10_CS8, SW10_CS9}, // 68, kb7, Num 5
+ {1, SW11_CS7, SW11_CS8, SW11_CS9}, // 69, kc7, Num 6
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 70, k04, Shift_L
- {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 71, k14, "\\"
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 72, k24, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, k34, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 74, k44, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 75, k54, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 76, k64, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 77, k74, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 78, k84, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 79, k94, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 80, ka4, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 81, kb4, /
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 82, kd4, Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 83, k17, Up
- {1, CS10_SW1, CS11_SW1, CS12_SW1}, // 84, k67, Num 1
- {1, CS10_SW2, CS11_SW2, CS12_SW2}, // 85, k77, Num 2
- {1, CS10_SW3, CS11_SW3, CS12_SW3}, // 86, k87, Num 3
- {1, CS10_SW4, CS11_SW4, CS12_SW4}, // 87, k97, Enter_R
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 70, k04, Shift_L
+ {0, SW12_CS13, SW12_CS14, SW12_CS15}, // 71, k14, "\\"
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 72, k24, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 73, k34, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 74, k44, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 75, k54, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 76, k64, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 77, k74, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 78, k84, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 79, k94, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 80, ka4, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 81, kb4, /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 82, kd4, Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 83, k17, Up
+ {1, SW1_CS10, SW1_CS11, SW1_CS12}, // 84, k67, Num 1
+ {1, SW2_CS10, SW2_CS11, SW2_CS12}, // 85, k77, Num 2
+ {1, SW3_CS10, SW3_CS11, SW3_CS12}, // 86, k87, Num 3
+ {1, SW4_CS10, SW4_CS11, SW4_CS12}, // 87, k97, Enter_R
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 88, k05, Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 89, k15, Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 90, k25, Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 91, k65, Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 92, k95, Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 93, ka5, FN
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 94, kc5, Ctrl_R
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, k07, Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 96, k27, Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 97, k37, Right
- {1, CS10_SW6, CS11_SW6, CS12_SW6}, // 98, k47, Num 0
- {1, CS10_SW7, CS11_SW7, CS12_SW7}, // 99, k57, Num .
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 88, k05, Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 89, k15, Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 90, k25, Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 91, k65, Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 92, k95, Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 93, ka5, FN
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 94, kc5, Ctrl_R
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 95, k07, Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 96, k27, Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 97, k37, Right
+ {1, SW6_CS10, SW6_CS11, SW6_CS12}, // 98, k47, Num 0
+ {1, SW7_CS10, SW7_CS11, SW7_CS12}, // 99, k57, Num .
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 101, LED 1
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 102, LED 2
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 103, LED 3
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 104, LED 4
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 105, LED 5
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 106, LED 6
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 107, LED 7
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 108, LED 8
- {1, CS13_SW9, CS14_SW9, CS15_SW9}, // 109, LED 9
- {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 110, LED 10
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 111, LED 11
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 112, LED 12
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 113, LED 13
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 114, LED 14
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 115, LED 15
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 116, LED 16
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 117, LED 17
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 118, LED 18
- {1, CS16_SW9, CS17_SW9, CS18_SW9}, // 119, LED 19
- {1, CS16_SW10, CS17_SW10, CS18_SW10} // 120, LED 20
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 101, LED 1
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 102, LED 2
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 103, LED 3
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 104, LED 4
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 105, LED 5
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 106, LED 6
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 107, LED 7
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 108, LED 8
+ {1, SW9_CS13, SW9_CS14, SW9_CS15}, // 109, LED 9
+ {1, SW10_CS13, SW10_CS14, SW10_CS15}, // 110, LED 10
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 111, LED 11
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 112, LED 12
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 113, LED 13
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 114, LED 14
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 115, LED 15
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 116, LED 16
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 117, LED 17
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 118, LED 18
+ {1, SW9_CS16, SW9_CS17, SW9_CS18}, // 119, LED 19
+ {1, SW10_CS16, SW10_CS17, SW10_CS18} // 120, LED 20
};
#define __ NO_LED
diff --git a/keyboards/gmmk/numpad/config.h b/keyboards/gmmk/numpad/config.h
index 3627ab503c..8f8c893af4 100644
--- a/keyboards/gmmk/numpad/config.h
+++ b/keyboards/gmmk/numpad/config.h
@@ -29,53 +29,7 @@
#define SPI_MISO_PIN B4
#define AW20216S_CS_PIN_1 B12
-#define AW20216S_EN_PIN_1 A15
-#define AW20216S_PW_EN_PIN_1 B13
-
-#define RGB_MATRIX_LED_COUNT 31
+#define AW20216S_EN_PIN A15
+#define AW20216S_PW_EN_PIN B13
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B6
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH \ No newline at end of file
diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json
index 83f7d840dc..63ae544ad3 100644
--- a/keyboards/gmmk/numpad/info.json
+++ b/keyboards/gmmk/numpad/info.json
@@ -21,6 +21,51 @@
]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "aw20216s"
},
"processor": "WB32F3G71",
diff --git a/keyboards/gmmk/numpad/numpad.c b/keyboards/gmmk/numpad/numpad.c
index 5cdb34c7bd..5a2bbdb1f6 100644
--- a/keyboards/gmmk/numpad/numpad.c
+++ b/keyboards/gmmk/numpad/numpad.c
@@ -19,44 +19,44 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 0 NUM
- {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 /
- {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 2 *
- {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 3 -
- {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 4 7
- {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 5 8
- {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 6 9
- {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 7 +
- {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 8 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 9 5
- {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 10 6
- {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 11 1
- {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 12 2
- {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 13 3
- {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 14 ENTER
- {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 15 0
- {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 16 .
- {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 17 LED18
- {0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 18 LED19
- {0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 19 LED20
- {0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 20 LED21
- {0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 21 LED22
- {0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 22 LED23
- {0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 23 LED24
- {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 24 LED27
- {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 25 LED28
- {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 26 LED29
- {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 27 LED30
- {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 28 LED31
- {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 29 LED32
- {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 30 LED33
+ {0, SW1_CS4, SW1_CS5, SW1_CS6 }, // 0 NUM
+ {0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 1 /
+ {0, SW1_CS7, SW1_CS8, SW1_CS9 }, // 2 *
+ {0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 3 -
+ {0, SW3_CS4, SW3_CS5, SW3_CS6 }, // 4 7
+ {0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 5 8
+ {0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 6 9
+ {0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 7 +
+ {0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 8 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 9 5
+ {0, SW5_CS7, SW5_CS8, SW5_CS9 }, // 10 6
+ {0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 11 1
+ {0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 12 2
+ {0, SW7_CS7, SW7_CS8, SW7_CS9 }, // 13 3
+ {0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 14 ENTER
+ {0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 15 0
+ {0, SW9_CS7, SW9_CS8, SW9_CS9 }, // 16 .
+ {0, SW1_CS1, SW1_CS2, SW1_CS3 }, // 17 LED18
+ {0, SW2_CS1, SW2_CS2, SW2_CS3 }, // 18 LED19
+ {0, SW3_CS1, SW3_CS2, SW3_CS3 }, // 19 LED20
+ {0, SW4_CS1, SW4_CS2, SW4_CS3 }, // 20 LED21
+ {0, SW5_CS1, SW5_CS2, SW5_CS3 }, // 21 LED22
+ {0, SW6_CS1, SW6_CS2, SW6_CS3 }, // 22 LED23
+ {0, SW7_CS1, SW7_CS2, SW7_CS3 }, // 23 LED24
+ {0, SW1_CS10, SW1_CS11, SW1_CS12 }, // 24 LED27
+ {0, SW2_CS10, SW2_CS11, SW2_CS12 }, // 25 LED28
+ {0, SW3_CS10, SW3_CS11, SW3_CS12 }, // 26 LED29
+ {0, SW4_CS10, SW4_CS11, SW4_CS12 }, // 27 LED30
+ {0, SW5_CS10, SW5_CS11, SW5_CS12 }, // 28 LED31
+ {0, SW6_CS10, SW6_CS11, SW6_CS12 }, // 29 LED32
+ {0, SW7_CS10, SW7_CS11, SW7_CS12 }, // 30 LED33
};
led_config_t g_led_config = {{
@@ -111,8 +111,8 @@ led_config_t g_led_config = {{
void keyboard_pre_init_user(void) {
wait_ms(2000);
- setPinOutput(AW20216S_PW_EN_PIN_1);
- writePinHigh(AW20216S_PW_EN_PIN_1);
+ setPinOutput(AW20216S_PW_EN_PIN);
+ writePinHigh(AW20216S_PW_EN_PIN);
}
# endif
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index 995dd95ec8..258b57e49d 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -28,56 +28,4 @@
#define AW20216S_CS_PIN_1 B13
#define AW20216S_CS_PIN_2 B14
-#define AW20216S_EN_PIN_1 C13
-#define AW20216S_EN_PIN_2 C13
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/gmmk/pro/info.json b/keyboards/gmmk/pro/info.json
new file mode 100644
index 0000000000..9108057519
--- /dev/null
+++ b/keyboards/gmmk/pro/info.json
@@ -0,0 +1,51 @@
+{
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "aw20216s",
+ "sleep": true
+ }
+} \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/ansi.c b/keyboards/gmmk/pro/rev1/ansi/ansi.c
index a06594cb88..77e0a8c1a1 100644
--- a/keyboards/gmmk/pro/rev1/ansi/ansi.c
+++ b/keyboards/gmmk/pro/rev1/ansi/ansi.c
@@ -136,106 +136,106 @@ led_config_t g_led_config = {{
4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 2, Tab, k11
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 3, Caps, k21
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 4, Sh_L, k00
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 5, Ct_L, k06
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 6, F1, k26
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 7, 1, k17
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 8, Q, k10
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 9, A, k12
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 10, Z, k14
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 11, Win_L, k90
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 12, F2, k36
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 13, 2, k27
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 14, W, k20
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 15, S, k22
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 16, X, k24
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 17, Alt_L, k93
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 18, F3, k31
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, 3, k37
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 20, E, k30
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 21, D, k32
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 22, C, k34
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 23, F4, k33
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 24, 4, k47
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 25, R, k40
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 26, F, k42
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 27, V, k44
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 28, F5, k07
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 29, 5, k46
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 30, T, k41
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 31, G, k43
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 32, B, k45
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 33, SPACE, k94
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 34, F6, k63
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 35, 6, k56
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 36, Y, k51
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 37, H, k53
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 38, N, k55
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 39, F7, k71
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 40, 7, k57
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 41, U, k50
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 42, J, k52
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 43, M, k54
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, F8, k76
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 45, 8, k67
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 46, I, k60
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 47, K, k62
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 48, ,, k64
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 49, Alt_R, k95
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 50, F9, ka6
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 51, 9, k77
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 52, O, k70
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 53, L, k72
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 54, ., k74
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 55, FN, k92
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 56, F10, ka7
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 57, 0, k87
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 58, P, k80
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 59, ;, k82
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 60, ?, k85
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 61, F11, ka3
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 62, -, k86
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 63, [, k81
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 64, ", k83
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 65, Ct_R, k04
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 66, F12, ka5
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 67, LED, l01
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 68, LED, l11
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 69, Prt, k97
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 70, LED, l02
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 71, LED, l12
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 72, Del, k65
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 73, LED, l03
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 74, LED, l13
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 75, PgUp, k15
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 76, LED, l04
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 77, LED, l14
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 78, =, k66
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 79, Right, k05
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 80, LED, l05
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 81, LED, l15
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // 82, End, k75
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 83, LED, l06
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 84, LED, l16
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 85, BSpc, ka1
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 86, PgDn, k25
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 87, LED, l07
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 88, LED, l17
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 89, ], k61
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 90, Sh_R, k91
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 91, LED, l08
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 92, LED, l18
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 93, \, ka2
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 94, Up, k35
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 95, Left, k03
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 96, Enter, ka4
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 97, Down, k73
};
// clang-format on
#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/config.h b/keyboards/gmmk/pro/rev1/ansi/config.h
deleted file mode 100644
index 9f21a6bf71..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Gigahawk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json
index fc2197a0d7..533a379656 100644
--- a/keyboards/gmmk/pro/rev1/ansi/info.json
+++ b/keyboards/gmmk/pro/rev1/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x5044",
"device_version": "0.0.1"
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"]
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c
deleted file mode 100644
index 838aee8652..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 alexmarmon
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Alt_L Win_L SPACE Ct_R Alt_R FN Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MODE_FORWARD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, _______, KC_MEDIA_NEXT_TRACK
- ),
-
-
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/readme.md
deleted file mode 100644
index 36ad42b1af..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-![Layout Image](https://i.imgur.com/MizMvsI.jpg)
-
-# Simple MacOS like keymap with RGB
-
-* Working basic RGB thanks to https://github.com/qmk/qmk_firmware/pull/13430
-* Restore working rotary knob volume control
-* Add media_previous and media_next to FN+left and FN+right \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h
deleted file mode 100644
index 18271fb4d2..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2022 Andre Brait
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
-
-// A debounce of 8 represents a minimum key press time of just under 1 refresh at 120Hz
-// Slightly higher than the default because we are using sym_eager_pk
-#ifdef DEBOUNCE
-# undef DEBOUNCE
-#endif
-#define DEBOUNCE 8
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
deleted file mode 100644
index 3d2792b4a6..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
+++ /dev/null
@@ -1,510 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2022 Andre Brait <andrebrait@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layers { WIN_BASE = 0, WIN_FN, MAC_BASE, MAC_FN };
-
-enum custom_keycodes {
- CMDQ_TOG = QK_KB_2 // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK.
-};
-
-#define KC_TASK LWIN(KC_TAB) // Open Task Manager
-#define KC_FLXP LWIN(KC_E) // Open File Explorer
-#define DF_WINB DF(WIN_BASE) // Switch to WIN_BASE layer
-#define MO_WINF MO(WIN_FN) // Toggle to WIN_FN layer
-#define DF_MACB DF(MAC_BASE) // Switch to MAX_BASE layer
-#define MO_MACF MO(MAC_FN) // Toggle to MAC_FN layer
-
-// clang-format off
-uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// The GMMK Pro default layout is:
-//
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Play/Pause)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- //
- // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
- // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
- // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
- //
- // RGB and function keys are inspired by the Keychron Q1 layouts instead of using the default keys.
- // To clean the EEPROM, hold the ESC key while connecting the keyboard.
-
- [WIN_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO_WINF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [WIN_FN] = LAYOUT(
- EE_CLR, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_SCRL,
- DF_MACB, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [MAC_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO_MACF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [MAC_FN] = LAYOUT(
- EE_CLR, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMU,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_BRMD,
- DF_WINB, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN,
- XXXXXXX, XXXXXXX, CMDQ_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-// clang-format on
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
- [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [WIN_FN] = {ENCODER_CCW_CW(XXXXXXX, XXXXXXX)},
- [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [MAC_FN] = {ENCODER_CCW_CW(XXXXXXX, XXXXXXX)},
-};
-#endif
-
-/* To record user preferences */
-typedef union {
- uint32_t raw; // set to 32-bit of size
- struct {
- bool rgb_enabled : 1; // Artificial RGB ON/OFF flag (1 bit)
- bool cmd_q_delay_enabled : 1; // Toggle CMD+Q delay (1 bit)
- };
-} user_config_t;
-user_config_t user_config;
-
-/* Delayed keypresses variables and functions */
-static fast_timer_t delayed_press_delay = 0;
-static uint16_t delayed_press_keycode = KC_NO;
-static fast_timer_t delayed_press_start_time = 0;
-static uint16_t delayed_press_sent_keycode = KC_NO;
-static void start_delayed_press(fast_timer_t delay, uint16_t keycode);
-static void mark_delayed_press_sent(void);
-static void mark_delayed_release_sent(void);
-static void cancel_delayed_press(void);
-
-#define IS_ANY_DELAYED_PRESS_PENDING() (delayed_press_start_time > 0 && delayed_press_keycode != KC_NO)
-#define IS_DELAYED_PRESS_PENDING(keycode) (delayed_press_start_time > 0 && delayed_press_keycode == (keycode))
-#define IS_DELAYED_PRESS_SENT(keycode) (delayed_press_sent_keycode != KC_NO && delayed_press_sent_keycode == (keycode))
-
-/* CMD+Q delay */
-#ifndef CMD_Q_DELAY
-# define CMD_Q_DELAY 1000
-#endif
-#if CMD_Q_DELAY <= 0 || CMD_Q_DELAY >= UINT16_MAX / 2
-# error "CMD_Q_DELAY must be a positive integer smaller than UINT16_MAX / 2"
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
-
-# define CAPS_LOCK_COLOR RGB_RED
-# define WIN_BASE_COLOR RGB_BLUE
-# define WIN_FN_COLOR RGB_BLUE
-# define MAC_BASE_COLOR RGB_WHITE
-# define MAC_FN_COLOR RGB_WHITE
-# define UNKNOWN_LAYER_COLOR RGB_PINK
-
-/* The maximum effects duration */
-# ifndef EFFECTS_DURATION
-# define EFFECTS_DURATION 2000
-# endif
-# if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2
-# error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2"
-# endif
-/* The interval for the flashing effect */
-# ifndef FLASHING_EFFECT_INTERVAL
-# define FLASHING_EFFECT_INTERVAL 250
-# endif
-# if FLASHING_EFFECT_INTERVAL <= 0 || FLASHING_EFFECT_INTERVAL >= UINT16_MAX / 2
-# error "FLASHING_EFFECT_INTERVAL must be a positive integer smaller than UINT16_MAX / 2"
-# endif
-
-static void set_rgb_layer_winfn(void);
-static void set_rgb_layer_macfn(void);
-
-/* Effects functions */
-static float flashing_effect(fast_timer_t delta_time);
-static float static_effect(fast_timer_t delta_time);
-static float increasing_effect(fast_timer_t delta_time);
-
-/* Effect variables and functions */
-static fast_timer_t effect_started_time = 0;
-static fast_timer_t effect_max_duration = EFFECTS_DURATION;
-static uint8_t effect_r = 0x0, effect_g = 0x0, effect_b = 0x0;
-static float (*effect_multiplier)(fast_timer_t) = static_effect;
-static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_t));
-static void stop_effects(void);
-
-/* Delayed keypresses variables with RGB variant */
-static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, uint8_t b_color);
-
-#endif // RGB_MATRIX_ENABLE
-
-void eeconfig_init_user(void) { // EEPROM is getting reset!
- user_config.raw = 0;
- user_config.rgb_enabled = true; // We want this enabled by default
- user_config.cmd_q_delay_enabled = true; // We want this enabled by default
- eeconfig_update_user(user_config.raw); // Write default value to EEPROM now
-}
-
-void keyboard_post_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- // Enable the RGB matrix, if not enabled
- if (!rgb_matrix_is_enabled()) {
- rgb_matrix_enable();
- }
- // Set the flags to ALL, if not already set
- if (rgb_matrix_get_flags() != LED_FLAG_ALL) {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- }
-#endif
-
- // Read the user config from EEPROM
- user_config.raw = eeconfig_read_user();
-}
-
-void matrix_scan_user(void) {
- if (IS_ANY_DELAYED_PRESS_PENDING()) {
- if (timer_elapsed_fast(delayed_press_start_time) > delayed_press_delay) {
- register_code(delayed_press_keycode);
- mark_delayed_press_sent();
- }
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (IS_DELAYED_PRESS_SENT(keycode)) {
- if (!record->event.pressed) {
- /* Send key-up event and clear the keycode and stop processing */
- unregister_code(keycode);
- mark_delayed_release_sent();
- return false;
- }
- } else if (IS_DELAYED_PRESS_PENDING(keycode)) {
- if (!record->event.pressed) {
- /* Cancel the pending press and stop processing */
- cancel_delayed_press();
- return false;
- }
- } else if (IS_ANY_DELAYED_PRESS_PENDING()) {
- /* Cancel the pending press and resume processing */
- cancel_delayed_press();
- }
- switch (keycode) {
- case QK_DEF_LAYER ... QK_DEF_LAYER_MAX:
- if (record->event.pressed) {
- /* Set the default layout on the EEPROM, let the default layer change callback handle the rest */
- set_single_persistent_default_layer(QK_DEF_LAYER_GET_LAYER(keycode));
- }
- return false;
- case CMDQ_TOG:
- if (record->event.pressed) {
-#ifdef RGB_MATRIX_ENABLE
- if (user_config.cmd_q_delay_enabled) {
- /* Turning delay OFF */
- start_effects(EFFECTS_DURATION, RGB_RED, flashing_effect);
- } else {
- /* Turning delay ON */
- start_effects(EFFECTS_DURATION, RGB_GREEN, flashing_effect);
- }
-#endif
- user_config.cmd_q_delay_enabled = !user_config.cmd_q_delay_enabled;
- eeconfig_update_user(user_config.raw);
- }
- return false;
- case KC_Q:
- if (user_config.cmd_q_delay_enabled) {
- if (layer_state_is(MAC_BASE)) {
- uint8_t mods = get_mods();
- if (mods == MOD_BIT(KC_LCMD) || mods == MOD_BIT(KC_RCMD)) {
- if (record->event.pressed) {
-#ifdef RGB_MATRIX_ENABLE
- start_delayed_press_with_effects(CMD_Q_DELAY, KC_Q, RGB_ORANGE);
-#else
- start_delayed_press(CMD_Q_DELAY, KC_Q);
-#endif
- }
- return false;
- }
- }
- }
- break;
-#ifdef RGB_MATRIX_ENABLE
-# ifdef NKRO_ENABLE
- case NK_TOGG:
- if (record->event.pressed) {
- if (keymap_config.nkro) {
- /* Turning NKRO OFF */
- start_effects(EFFECTS_DURATION, RGB_RED, flashing_effect);
- } else {
- /* Turning NKRO ON */
- start_effects(EFFECTS_DURATION, RGB_GREEN, flashing_effect);
- }
- }
- break;
-# endif // NKRO_ENABLE
- case RGB_TOG:
- if (record->event.pressed) {
- user_config.rgb_enabled = !user_config.rgb_enabled;
- eeconfig_update_user(user_config.raw);
- }
- return false;
- case RGB_MODE_FORWARD ... RGB_MODE_TWINKLE:
- if (!user_config.rgb_enabled) {
- /* Ignore changes to RGB settings while only it's supposed to be OFF */
- return false; // Skip all further processing of this key
- }
- break;
-#endif // RGB_MATRIX_ENABLE
- }
- return true;
-}
-
-static void start_delayed_press(fast_timer_t delay, uint16_t keycode) {
- delayed_press_delay = delay;
- delayed_press_keycode = keycode;
- delayed_press_start_time = timer_read_fast();
- delayed_press_sent_keycode = KC_NO;
-}
-
-static void mark_delayed_press_sent(void) {
- delayed_press_sent_keycode = delayed_press_keycode;
- cancel_delayed_press();
-}
-
-static void mark_delayed_release_sent(void) {
- delayed_press_sent_keycode = KC_NO;
-}
-
-static void cancel_delayed_press(void) {
- delayed_press_delay = 0;
- delayed_press_keycode = KC_NO;
- delayed_press_start_time = 0;
-#ifdef RGB_MATRIX_ENABLE
- stop_effects();
-#endif
-}
-
-#ifdef RGB_MATRIX_ENABLE
-
-static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, uint8_t b_color) {
- start_delayed_press(delay, keycode);
- start_effects(delay, r_color, g_color, b_color, increasing_effect);
-}
-
-/*
-Effects when switching layers
-*/
-
-static uint8_t previous_layer = UINT8_MAX;
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- uint8_t current_layer = get_highest_layer(state);
- if (previous_layer != current_layer) {
- // For some reason, setting the default layer alone doesn't change it fully
- layer_move(current_layer);
- switch (current_layer) {
- case WIN_BASE:
- start_effects(EFFECTS_DURATION, WIN_BASE_COLOR, flashing_effect);
- break;
- case MAC_BASE:
- start_effects(EFFECTS_DURATION, MAC_BASE_COLOR, flashing_effect);
- break;
- default:
- // This should not ever happen, but let's display something if it does!
- start_effects(EFFECTS_DURATION, UNKNOWN_LAYER_COLOR, static_effect);
- break;
- }
- previous_layer = current_layer;
- }
- return state;
-}
-
-static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_t)) {
- effect_r = r_color;
- effect_g = g_color;
- effect_b = b_color;
- effect_multiplier = multiplier;
- effect_max_duration = max_duration;
- effect_started_time = timer_read_fast();
-}
-
-static void stop_effects(void) {
- effect_r = 0x0;
- effect_g = 0x0;
- effect_b = 0x0;
- effect_multiplier = static_effect;
- effect_max_duration = EFFECTS_DURATION;
- effect_started_time = 0;
-}
-
-static float flashing_effect(fast_timer_t delta_time) {
- return ((delta_time / FLASHING_EFFECT_INTERVAL) + 1) & 0x01;
-}
-
-static float static_effect(fast_timer_t delta_time) {
- return 1.0;
-}
-
-static float increasing_effect(fast_timer_t delta_time) {
- return ((float)delta_time) / effect_max_duration;
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (effect_started_time > 0) {
- fast_timer_t delta_time = timer_elapsed_fast(effect_started_time);
- if (delta_time <= effect_max_duration) {
- /* Render effect */
- float multiplier = effect_multiplier(delta_time);
- uint8_t val_r = multiplier * effect_r;
- uint8_t val_g = multiplier * effect_g;
- uint8_t val_b = multiplier * effect_b;
- rgb_matrix_set_color_all(val_r, val_g, val_b);
- return false;
- } else {
- /* Effect duration is finished */
- stop_effects();
- }
- }
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_all(CAPS_LOCK_COLOR);
- } else if (!user_config.rgb_enabled) {
- rgb_matrix_set_color_all(RGB_OFF);
- }
- switch (get_highest_layer(layer_state)) {
- case WIN_BASE:
- case MAC_BASE:
- break;
- case WIN_FN:
- set_rgb_layer_winfn();
- return false;
- case MAC_FN:
- set_rgb_layer_macfn();
- return false;
- default:
- // This should never happen, but if it does, let's display something!
- rgb_matrix_set_color_all(UNKNOWN_LAYER_COLOR);
- return false;
- }
- return true;
-}
-
-// RGB led number layout, function of the key
-
-// 67, led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, led 12
-// 70, led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Home 71, led 13
-// 73, led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, led 14
-// 76, led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, led 15
-// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16
-// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17
-// 87, led 07 88, led 18
-// 91, led 08 92, led 19
-
-static void set_rgb_layer_winfn(void) {
- rgb_matrix_set_color(0, WIN_FN_COLOR);
- rgb_matrix_set_color(6, WIN_FN_COLOR);
- rgb_matrix_set_color(12, WIN_FN_COLOR);
- rgb_matrix_set_color(18, WIN_FN_COLOR);
- rgb_matrix_set_color(23, WIN_FN_COLOR);
- rgb_matrix_set_color(28, WIN_FN_COLOR);
- rgb_matrix_set_color(34, WIN_FN_COLOR);
- rgb_matrix_set_color(39, WIN_FN_COLOR);
- rgb_matrix_set_color(44, WIN_FN_COLOR);
- rgb_matrix_set_color(50, WIN_FN_COLOR);
- rgb_matrix_set_color(56, WIN_FN_COLOR);
- rgb_matrix_set_color(61, WIN_FN_COLOR);
- rgb_matrix_set_color(66, WIN_FN_COLOR);
- rgb_matrix_set_color(2, WIN_FN_COLOR);
- rgb_matrix_set_color(3, WIN_FN_COLOR);
- rgb_matrix_set_color(8, WIN_FN_COLOR);
- rgb_matrix_set_color(9, WIN_FN_COLOR);
- rgb_matrix_set_color(14, WIN_FN_COLOR);
- rgb_matrix_set_color(15, WIN_FN_COLOR);
- rgb_matrix_set_color(20, WIN_FN_COLOR);
- rgb_matrix_set_color(21, WIN_FN_COLOR);
- rgb_matrix_set_color(25, WIN_FN_COLOR);
- rgb_matrix_set_color(26, WIN_FN_COLOR);
- rgb_matrix_set_color(38, WIN_FN_COLOR);
- rgb_matrix_set_color(93, WIN_FN_COLOR);
- rgb_matrix_set_color(72, WIN_FN_COLOR);
- rgb_matrix_set_color(75, WIN_FN_COLOR);
- rgb_matrix_set_color(86, WIN_FN_COLOR);
- rgb_matrix_set_color(82, WIN_FN_COLOR);
-}
-
-static void set_rgb_layer_macfn(void) {
- rgb_matrix_set_color(0, MAC_FN_COLOR);
- rgb_matrix_set_color(6, MAC_FN_COLOR);
- rgb_matrix_set_color(12, MAC_FN_COLOR);
- rgb_matrix_set_color(18, MAC_FN_COLOR);
- rgb_matrix_set_color(23, MAC_FN_COLOR);
- rgb_matrix_set_color(28, MAC_FN_COLOR);
- rgb_matrix_set_color(34, MAC_FN_COLOR);
- rgb_matrix_set_color(39, MAC_FN_COLOR);
- rgb_matrix_set_color(44, MAC_FN_COLOR);
- rgb_matrix_set_color(50, MAC_FN_COLOR);
- rgb_matrix_set_color(56, MAC_FN_COLOR);
- rgb_matrix_set_color(61, MAC_FN_COLOR);
- rgb_matrix_set_color(66, MAC_FN_COLOR);
- rgb_matrix_set_color(2, MAC_FN_COLOR);
- rgb_matrix_set_color(3, MAC_FN_COLOR);
- rgb_matrix_set_color(8, MAC_FN_COLOR);
- rgb_matrix_set_color(9, MAC_FN_COLOR);
- rgb_matrix_set_color(14, MAC_FN_COLOR);
- rgb_matrix_set_color(15, MAC_FN_COLOR);
- rgb_matrix_set_color(20, MAC_FN_COLOR);
- rgb_matrix_set_color(21, MAC_FN_COLOR);
- rgb_matrix_set_color(25, MAC_FN_COLOR);
- rgb_matrix_set_color(26, MAC_FN_COLOR);
- rgb_matrix_set_color(38, MAC_FN_COLOR);
- rgb_matrix_set_color(93, MAC_FN_COLOR);
- rgb_matrix_set_color(72, MAC_FN_COLOR);
- rgb_matrix_set_color(75, MAC_FN_COLOR);
- rgb_matrix_set_color(86, MAC_FN_COLOR);
- rgb_matrix_set_color(82, MAC_FN_COLOR);
- rgb_matrix_set_color(17, MAC_FN_COLOR);
-}
-
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md
deleted file mode 100644
index 2b21bd2821..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# andrebrait's GMMK Pro layout
-
-This is pretty much the stock layout with a few things moved around.
-It basically reflects my needs for both Delete and Insert being readily available for coding, as well as a full Home/PgUp/PgDwn/End column.
-
-The differences are as follows:
-
-- Dedicated MacOS and Windows/Linux layers
- - Switching between them by pressing Fn + CAPS LOCK
-- VIA support
-- Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway)
-- RGB turns off after 20 minutes of inactivity
-- RGB turns off when USB is suspended
-- Layer 0:
- - Delete -> Insert
- - Page Up -> Delete
- - Page Down -> Home
-- Layer 1 (accessed by pressing Fn):
- - Fn + Insert -> Pause
- - Fn + Delete -> Scroll Lock
- - Fn + Esc -> Clear EEPROM
- - Fn + (Left) CMD (macOS layout) -> Toggle the CMD + Q delay
-
-On the Mac layer, pressing CMD + Q will not immediately send the combination.\
-There's a configurable delay (defaults to 1 second) to send it.\
-This is done mainly to prevent hitting CMD + Q by mistake when alternating between applications with CMD + Tab.
-
-This keymap also includes CAPS LOCK ON indicator.\
-All left and right side LEDs, and the Caps key LED will turn solid red while CAPS LOCK is ON.
-
-No other changes have been made. \
-The other keys on each layer have been kept intact.
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk
deleted file mode 100644
index 14e4106321..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# Enable additional features.
-
-# Disabling MouseKey because it breaks my KVM switch
-MOUSEKEY_ENABLE = no
-
-# Use sym_eager_pk for better latency when gaming.
-#
-# Previous issues with sym_defer_pk (and sym_eager_pk and debounce times
-# shorter than 8ms) were due to Glorious' horrible hot-swap sockets.
-# These issues were 100% resolved after I replaced them with Gateron hot-swap sockets.
-#
-# The old sockets apparently didn't hold onto the legs of the switches at all.
-#
-# Using eager might not be a good idea with other switch types, but I only use
-# linears now, so this should be ok.
-#
-# asym_eager_defer_pk also works well and it is more resistant to chatter at
-# the cost of delay when releasing a key being slightly higher.
-DEBOUNCE_TYPE = sym_eager_pk
-
-# Useful for debugging
-# CONSOLE_ENABLE = yes
-# DEBUG_MATRIX_SCAN_RATE_ENABLE = yes
-# DEBUG_MATRIX_SCAN_RATE = yes
-
-# Encoder Map support
-ENCODER_MAP_ENABLE = yes
-
-# Enables VIA
-VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h
deleted file mode 100644
index dc3dfefab0..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 Andrew Charnley
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
-#define RGBLIGHT_DEFAULT_SAT 0
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-
-
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c
deleted file mode 100644
index 52fd7a5a34..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2021 Andrew Charnley
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Windows key changed to second FN key. Use KC_LGUI to revert.
-
-enum userspace_layers {
- QWERTY,
- FNLAYER
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
-
- [QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, MO(FNLAYER), KC_LALT, KC_SPC, KC_RALT, MO(FNLAYER),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [FNLAYER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if(IS_LAYER_ON(FNLAYER)) {
- if (clockwise) {
- tap_code(KC_MEDIA_NEXT_TRACK);
- } else {
- tap_code(KC_MEDIA_PREV_TRACK);
- }
- } else {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return false;
-}
-
-static uint8_t val;
-
-void keyboard_post_init_user(void) {
-
- val = rgb_matrix_get_val();
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
-
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_all(val,0,0);
- } else {
- rgb_matrix_set_color_all(val, val, val);
- val = rgb_matrix_get_val();
- }
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/readme.md
deleted file mode 100644
index e064edd83a..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Description
-A keymap designed to be functional for development purposes - no flashing lights or gimmicks. PRTSC and DEL key in the top right corner.
-Solid backlight that changes red if CAPS is on and reverts back afterwards. Brightness retained in both cases.
-Backlight is disabled on suspend and restored upon wake-up.
-The 'Windows' key is a second FN key. This makes it more natural to use the encoder wheel (good luck trying to do it with one hand).
-
-Compile using `qmk compile -kb gmmk/pro/ansi -km andrewcharnley`
-
-# Encoder
-FN + Encoder scroll = media next/prev
-FN + Encoder press = media pause
-default encoder behavior = volume up/down
-
-# Function Layer
-FN + Up = increase brightness
-FN + Down = decrease brightness
-FN + Backslash = bootloader
-
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c
deleted file mode 100644
index 9d84e86889..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_BRID, KC_BRIU, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, KC_F9, KC_MPRV, KC_MPLY, KC_MNXT, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F10, KC_F12, _______, KC_MUTE,
- _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, RGB_MOD,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
- ),
-};
-// clang-format on
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- return false;
-}
-#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c
deleted file mode 100644
index b536a8535a..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum userspace_layers {
- QWERTY,
- FNLAYER,
- POPTAB,
-};
-
-//custom keycodes
-#define MODS_ALT_MASK (MOD_BIT(KC_LALT)) // Make ALT layer for encoder use
-#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)) // Make CTRL layer for encoder use
-#define SWAP_L SGUI(KC_LEFT) // Swap application to left display
-#define SWAP_R SGUI(KC_RGHT) // Swap application to right display
-#define MINI LGUI(KC_DOWN) // Shrink window
-#define MAXI LGUI(KC_UP) // Maximize window
-#define CLOSEAPPLICATION LALT(KC_F4) // Kill application
-#define CLOSETAB LCTL(KC_W) // Kill current tab
-#define POPOUT LCTL(LSFT(KC_K))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
-
- [QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FNLAYER), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [FNLAYER] = LAYOUT(
- CLOSEAPPLICATION, CLOSETAB,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, SWAP_L , MAXI , SWAP_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, MINI , _______, POPOUT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_TRNS, _______, _______, _______
- ),
-
-
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (get_mods() & MODS_ALT_MASK) {
- if (clockwise) {
- tap_code(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- } else if (get_mods() & MODS_CTRL_MASK) {
- if (clockwise) {
- tap_code(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- } else if(IS_LAYER_ON(FNLAYER)) {
- if (clockwise) {
- tap_code(KC_MEDIA_NEXT_TRACK);
- } else {
- tap_code(KC_MEDIA_PREV_TRACK);
- }
- } else {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return false;
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- switch(get_highest_layer(layer_state)) {
- // special handling per layer
- case 0: //layer one
- if (host_keyboard_led_state().caps_lock)
- rgb_matrix_set_color_all(255,0,0);
- else
- rgb_matrix_set_color_all(0,255,56);
- break;
- case 1:
- for (uint8_t i = led_min; i < led_max; i++) {
- RGB_MATRIX_INDICATOR_SET_COLOR(i,0,0,0);
- }
- RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 255) //esc
- RGB_MATRIX_INDICATOR_SET_COLOR(6, 0, 0, 255) //f1
- RGB_MATRIX_INDICATOR_SET_COLOR(8, 0, 0, 255) //q
- RGB_MATRIX_INDICATOR_SET_COLOR(14, 0, 0, 255) //w
- RGB_MATRIX_INDICATOR_SET_COLOR(20, 0, 0, 255) //e
- RGB_MATRIX_INDICATOR_SET_COLOR(15, 0, 0, 255) //s
- RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 255) //f
- RGB_MATRIX_INDICATOR_SET_COLOR(49, 0, 0, 255) //R_Alt
- break;
- default:
- break;
- }
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/readme.md
deleted file mode 100644
index 8162002892..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Description
-Pretty simple keymap with a few handy tools on a 2nd layer and rotary encoder.
-
-# Encoder
-Holding tab and scrolling encoder will allow scrolling through applications, as if using alt + tab
-Holding ctrl and scrolling encoder will allow scrolling through chrome tabs
-FN + Encoder scroll is media next/prev
-FN + Encoder press is media pause
-default encoder behavior is volume up/down
-
-# Function Layer
-FN + \ is used to put keyboard into bootloader mode
-FN + ESC is the same as alt F4, for closing applications
-FN + F1 is to close current browser tab
-FN + Q moves current application one monitor to the left
-FN + W maximizes current application
-FN + E moves current application one monitor to the right
-FN + S minimizes current application
-FN + F is used in junction with the "Popout tab" extension to chrome (https://chrome.google.com/webstore/detail/popout-tab/pcfcieidiaaobigemjnkclebhnmgfbco) to pop out current tab to its own window
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/config.h
deleted file mode 100644
index 6b06448f71..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 Cory Ginsberg (@coryginsberg)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define TAPPING_TOGGLE 2
-// TT set to two taps
-
-#define TAPPING_TERM 250
-#define RGBLIGHT_DEFAULT_MODE SOLID_WHITE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
deleted file mode 100644
index 49e2050ea0..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 Cory Ginsberg (@coryginsberg)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-void dance_media(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- tap_code(KC_MPLY);
- } else if (state->count == 2) {
- tap_code(KC_MNXT);
- } else if (state->count == 3) {
- tap_code(KC_MPRV);
- } else {
- reset_tap_dance(state);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for shift, twice for Caps Lock
- [0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
- [1] = ACTION_TAP_DANCE_FN(dance_media)};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Alt_L Win_L SPACE Ct_R Alt_R FN Left Down Right
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- [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, 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_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(4), TO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TD(1), 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_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(4), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [2] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TD(1), 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_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(4), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [3] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_PPLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, KC_PENT, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, KC_0, KC_DOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
- [4] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TD(1), _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, XXXXXXX, XXXXXXX, QK_BOOT, RGB_MODE_FORWARD,
- XXXXXXX, XXXXXXX, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MODE_REVERSE,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, RGB_TOG,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK
- ),
- [5] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- }
- else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/readme.md
deleted file mode 100644
index e448521572..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Description
-Mac and Windows profiles with special touches for the Mac profile.
-
-## Windows Profile
-Should be nearly identical to the default profile for GMMK Pro. Only major difference is the button next to F12 is now PrintScreen and clicking the rotary dial switches profiles instead of muting.
-
-## Mac Profile
-Besides the usual swapping of the alt and windows/cmd placement also changes the following:
-* Double press shift to activate caps lock
-* Capslock is escape
-* Button next to F12:
- * 1 press: play/pause
- * 2 presses: skip
- * 3 presses: previous
-* Clicking Rotary Dial switches profiles
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/rules.mk
deleted file mode 100644
index 1dd6809223..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-TAP_DANCE_ENABLE = yes
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-UNICODE_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/config.h
deleted file mode 100644
index a4e1173e4f..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2021 Jasper Chan (@Gigahawk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_SPD 0
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c
deleted file mode 100644
index c693bd90d8..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2021 Jasper Chan (@Gigahawk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _BASE,
- _GAME,
- _TRAN,
-};
-
-#define _BASE_COLOR_RGB 156, 123, 85
-#define _GAME_COLOR_RGB 147, 21, 21
-#define _TRAN_COLOR_RGB 45, 89, 24
-#define _CAPS_COLOR_RGB 146, 140, 16
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_GAME] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_TRAN] = LAYOUT(
- KC_CAPS, 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_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- TG(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, _______, KC_MNXT
- ),
-
-};
-// clang-format on
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (IS_LAYER_ON(_TRAN)) {
- rgb_matrix_set_color_all(_TRAN_COLOR_RGB);
- } else if (IS_LAYER_ON(_GAME)) {
- rgb_matrix_set_color_all(_GAME_COLOR_RGB);
- } else if (IS_LAYER_ON(_BASE)) {
- rgb_matrix_set_color_all(_BASE_COLOR_RGB);
- }
-
- if (host_keyboard_led_state().caps_lock) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, _CAPS_COLOR_RGB);
- }
- }
- }
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h
deleted file mode 100644
index 845262b7e8..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Andre Brait
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms)
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c
deleted file mode 100644
index 3b378ba572..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 Andre Brait <andrebrait@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
-
-#ifdef RGB_MATRIX_ENABLE
- #ifndef RGB_CONFIRMATION_BLINKING_TIME
- #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds
- #endif
-#endif // RGB_MATRIX_ENABLE
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Play/Pause)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- //
- // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
- // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
- // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_INS, _______,
- _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
- ),
-
-
-};
-// clang-format on
-
-const key_override_t up_key_override = ko_make_basic(MOD_MASK_CTRL, KC_UP, KC_PGUP);
-const key_override_t dn_key_override = ko_make_basic(MOD_MASK_CTRL, KC_DOWN, KC_PGDN);
-
-// This globally defines all key overrides to be used
-const key_override_t **key_overrides = (const key_override_t *[]){
- &up_key_override,
- &dn_key_override,
- NULL // Null terminate the array of overrides!
-};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
-#endif // ENCODER_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-
-/* Renaming those to make the purpose on this keymap clearer */
-#define LED_FLAG_CAPS LED_FLAG_NONE
-#define LED_FLAG_EFFECTS LED_FLAG_INDICATOR
-
-static void set_rgb_caps_leds(void);
-
-#if RGB_CONFIRMATION_BLINKING_TIME > 0
-static uint16_t effect_started_time = 0;
-static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0;
-static void start_effects(void);
-
-/* The higher this is, the slower the blinking will be */
-#ifndef TIME_SELECTED_BIT
- #define TIME_SELECTED_BIT 8
-#endif
-#if TIME_SELECTED_BIT < 0 || TIME_SELECTED_BIT >= 16
- #error "TIME_SELECTED_BIT must be a positive integer smaller than 16"
-#endif
-#define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0
-#define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0
-#endif // RGB_CONFIRMATION_BLINKING_TIME > 0
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- if (!rgb_matrix_is_enabled()) {
- /* Turn ON the RGB Matrix for CAPS LOCK */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- rgb_matrix_enable();
- }
- } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- /* RGB Matrix was only ON because of CAPS LOCK. Turn it OFF. */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_disable();
- }
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- #ifdef NKRO_ENABLE
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- case NK_TOGG:
- if (record->event.pressed) {
- if (keymap_config.nkro) {
- /* Turning NKRO OFF */
- effect_red();
- } else {
- /* Turning NKRO ON */
- effect_green();
- }
- start_effects();
- }
- break;
- case NK_ON:
- if (record->event.pressed) {
- if (!keymap_config.nkro) {
- /* Turning NKRO ON */
- effect_green();
- start_effects();
- }
- }
- break;
- case NK_OFF:
- if (record->event.pressed) {
- if (keymap_config.nkro) {
- /* Turning NKRO OFF */
- effect_red();
- start_effects();
- }
- }
- break;
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
- #endif // NKRO_ENABLE
- case RGB_MOD:
- case RGB_RMOD:
- case RGB_HUI:
- case RGB_HUD:
- case RGB_SAI:
- case RGB_SAD:
- case RGB_VAI:
- case RGB_VAD:
- case RGB_SPI:
- case RGB_SPD:
- if (record->event.pressed) {
- if (rgb_matrix_get_flags() != LED_FLAG_ALL) {
- /* Ignore changes to RGB settings while only it's supposed to be OFF */
- return false;
- }
- }
- break;
- case RGB_TOG:
- if (record->event.pressed) {
- if (rgb_matrix_is_enabled()) {
- switch (rgb_matrix_get_flags()) {
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- case LED_FLAG_EFFECTS:
- #endif
- case LED_FLAG_CAPS:
- /* Turned ON because of EFFECTS or CAPS, is actually OFF */
- /* Change to LED_FLAG_ALL to signal it's really ON */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- break;
- case LED_FLAG_ALL:
- /* Is actually ON */
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- if (effect_started_time > 0) {
- /* Signal EFFECTS */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- } else
- #endif
- if (host_keyboard_led_state().caps_lock) {
- /* Signal CAPS */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- }
- break;
- }
- }
- }
- break;
- }
- return true;
-}
-
-
-bool rgb_matrix_indicators_user(void) {
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- if (effect_started_time > 0) {
- /* Render blinking EFFECTS */
- const uint16_t deltaTime = sync_timer_elapsed(effect_started_time);
- if (deltaTime <= RGB_CONFIRMATION_BLINKING_TIME) {
- const uint8_t led_state = ((~deltaTime) >> TIME_SELECTED_BIT) & 0x01;
- const uint8_t val_r = led_state * r_effect;
- const uint8_t val_g = led_state * g_effect;
- const uint8_t val_b = led_state * b_effect;
- rgb_matrix_set_color_all(val_r, val_g, val_b);
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds();
- }
- return;
- } else {
- /* EFFECTS duration is finished */
- effect_started_time = 0;
- if (rgb_matrix_get_flags() == LED_FLAG_EFFECTS) {
- /* It was turned ON because of EFFECTS */
- if (host_keyboard_led_state().caps_lock) {
- /* CAPS is still ON. Demote to CAPS */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- } else {
- /* There is nothing else keeping RGB enabled. Reset flags and turn if off. */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_disable_noeeprom();
- }
- }
- }
- }
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
- if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- rgb_matrix_set_color_all(0x0, 0x0, 0x0);
- }
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds();
- }
- return false;
-}
-
-#if RGB_CONFIRMATION_BLINKING_TIME > 0
-static void start_effects(void) {
- effect_started_time = sync_timer_read();
- if (!rgb_matrix_is_enabled()) {
- /* Turn it ON, signal the cause (EFFECTS) */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- rgb_matrix_enable_noeeprom();
- } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- /* It's already ON, promote the cause from CAPS to EFFECTS */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- }
-}
-#endif // RGB_CONFIRMATION_BLINKING_TIME > 0
-
-// RGB led number layout, function of the key
-
-// 67, led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, led 12
-// 70, led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Home 71, led 13
-// 73, led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, led 14
-// 76, led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, led 15
-// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16
-// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17
-// 87, led 07 88, led 18
-// 91, led 08 92, led 19
-
-static void set_rgb_caps_leds(void) {
- rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1
- rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1
- rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2
- rgb_matrix_set_color(71, 0xFF, 0x0, 0x0); // Right side LED 2
- rgb_matrix_set_color(73, 0xFF, 0x0, 0x0); // Left side LED 3
- rgb_matrix_set_color(74, 0xFF, 0x0, 0x0); // Right side LED 3
- rgb_matrix_set_color(76, 0xFF, 0x0, 0x0); // Left side LED 4
- rgb_matrix_set_color(77, 0xFF, 0x0, 0x0); // Right side LED 4
- rgb_matrix_set_color(80, 0xFF, 0x0, 0x0); // Left side LED 5
- rgb_matrix_set_color(81, 0xFF, 0x0, 0x0); // Right side LED 5
- rgb_matrix_set_color(83, 0xFF, 0x0, 0x0); // Left side LED 6
- rgb_matrix_set_color(84, 0xFF, 0x0, 0x0); // Right side LED 6
- rgb_matrix_set_color(87, 0xFF, 0x0, 0x0); // Left side LED 7
- rgb_matrix_set_color(88, 0xFF, 0x0, 0x0); // Right side LED 7
- rgb_matrix_set_color(91, 0xFF, 0x0, 0x0); // Left side LED 8
- rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); // Right side LED 8
- rgb_matrix_set_color(3, 0xFF, 0x0, 0x0); // CAPS LED
-}
-
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/readme.md
deleted file mode 100644
index bc8c580dbb..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# hachetmans's GMMK Pro layout
-
-This is pretty much the stock layout with a few things moved around.
-It basically reflects my needs for both Delete and Insert being readily available for coding, as well as a full Home/PgUp/PgDwn/End column.
-
-The differences are as follows:
-
-- Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway)
-- Short DEBOUNCE time (5 ms)
-- Per-key debounce algorithm (sym_defer_pk)
-- RGB turns off after 20 minutes of inactivity
-- RGB turns off when USB is suspended
-- Layer 0:
- - Print Screen (default) -> Delete
- - Delete (default) -> Home
-- Layer 1 (accessed by pressing Fn):
- - Fn + Delete -> Insert
- - Fn + Home -> Print Screen
-- override CTRL + UP -> PGUP
-- override CTRL + DOWN -> PGDN
-
-This keymap also includes CAPS LOCK ON indicator.\
-All left and right side LEDs, and the Caps key LED will turn solid red while CAPS LOCK is ON.
-
-No other changes have been made. \
-The other keys on each layer have been kept intact.
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/rules.mk
deleted file mode 100644
index 9995f3f4d2..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# Enable additional features.
-
-DEBOUNCE_TYPE = sym_defer_pk
-MOUSEKEY_ENABLE = no
-KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c
deleted file mode 100644
index 1bedcab41f..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
- // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
- // Tab Q W E R T Y U I O P [ ] \ PgUp
- // Caps A S D F G H J K L ; " Enter PgDn
- // Sh_L Z X C V B N M , . ? Sh_R Up End
- // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, QK_BOOT, KC_RGUI, _______, _______, _______, _______, _______
- ),
-
-
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- }
- else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h
deleted file mode 100644
index 74c018f7f1..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Lalit Maganti
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c
deleted file mode 100644
index 7ec0e8c4b6..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2021 Lalit Maganti
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#ifdef PROGRAMMABLE_BUTTON_ENABLE
-#define L1_NUM1 QK_PROGRAMMABLE_BUTTON_1
-#define L1_NUM2 QK_PROGRAMMABLE_BUTTON_2
-#define L1_NUM3 QK_PROGRAMMABLE_BUTTON_3
-#define L1_NUM4 QK_PROGRAMMABLE_BUTTON_4
-#define L1_NUM5 QK_PROGRAMMABLE_BUTTON_5
-#define L1_NUM6 QK_PROGRAMMABLE_BUTTON_6
-#define L1_NUM7 QK_PROGRAMMABLE_BUTTON_7
-#define L1_NUM8 QK_PROGRAMMABLE_BUTTON_8
-#define L1_NUM9 QK_PROGRAMMABLE_BUTTON_9
-#else
-#define L1_NUM1 _______
-#define L1_NUM2 _______
-#define L1_NUM3 _______
-#define L1_NUM4 _______
-#define L1_NUM5 _______
-#define L1_NUM6 _______
-#define L1_NUM7 _______
-#define L1_NUM8 _______
-#define L1_NUM9 _______
-#endif
-
-
-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_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RGB_TOG, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- return false;
-}
-
-
-#ifdef RGB_MATRIX_ENABLE
-
-static void set_rgb_side_leds(void);
-
-static void set_rgb_side_leds(void) {
- rgb_matrix_set_color(67, RGB_WHITE); // Left side LED 1
- rgb_matrix_set_color(68, RGB_WHITE); // Right side LED 1
- rgb_matrix_set_color(91, RGB_WHITE); // Left side LED 8
- rgb_matrix_set_color(92, RGB_WHITE); // Right side LED 8
-}
-
-bool rgb_matrix_indicators_user(void) {
- rgb_matrix_set_color_all(0x0, 0x0, 0x0);
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color(3, RGB_WHITE); // CAPS
- }
- set_rgb_side_leds();
- return false;
-}
-
-#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/rules.mk
deleted file mode 100644
index 0a5b666e85..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h
deleted file mode 100644
index f37ff59c44..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2021 zvuc <https://github.com/zvuc>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// At the time of this, there are 41 effects! That may be a bit too many to cycle through - keeping what I believe is the best.
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms)
-
-// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-
-// Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// Effects
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain
- #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes
-
- // Disable effects you don't like.
- // Soon, you'll have to explicitly enable effects you want: https://github.com/qmk/qmk_firmware/pull/13758
- // #define DISABLE_RGB_MATRIX_SOLID_COLOR, // Static single hue, no speed support
- // #define DISABLE_RGB_MATRIX_ALPHAS_MODS, // Static dual hue, speed is hue for secondary hue
- // #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN, // Static gradient top to bottom, speed controls how much gradient changes
- // #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT, // Static gradient left to right, speed controls how much gradient changes
- // #define DISABLE_RGB_MATRIX_BREATHING, // Single hue brightness cycling animation
- // #define DISABLE_RGB_MATRIX_BAND_SAT, // Single hue band fading saturation scrolling left to right
- // #define DISABLE_RGB_MATRIX_BAND_VAL, // Single hue band fading brightness scrolling left to right
- // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT, // Single hue 3 blade spinning pinwheel fades saturation
- // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL, // Single hue 3 blade spinning pinwheel fades brightness
- // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT, // Single hue spinning spiral fades saturation
- // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL, // Single hue spinning spiral fades brightness
- // #define DISABLE_RGB_MATRIX_CYCLE_ALL, // Full keyboard solid hue cycling through full gradient
- // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT, // Full gradient scrolling left to right
- // #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom
- // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in
- // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL, // Full dual gradients scrolling out to in
- // #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON, // Full gradent Chevron shapped scrolling left to right
- // #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL, // Full gradient spinning pinwheel around center of keyboard
- // #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL, // Full gradient spinning spiral around center of keyboard
- // #define DISABLE_RGB_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard
- // #define DISABLE_RGB_MATRIX_RAINBOW_BEACON, // Full tighter gradient spinning around center of keyboard
- // #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS, // Full dual gradients spinning two halfs of keyboard
- // #define DISABLE_RGB_MATRIX_RAINDROPS, // Randomly changes a single key's hue
- // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS, // Randomly changes a single key's hue and saturation
- // #define DISABLE_RGB_MATRIX_HUE_BREATHING, // Hue shifts up a slight ammount at the same time, then shifts back
- // #define DISABLE_RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight ammount in a wave to the right, then back to the left
- // #define DISABLE_RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight ammount and then back down in a wave to the right
-
- // Framebuffer effects
- // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM!
- // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation
-
- // Reactive effects
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- // #define DISABLE_RGB_MATRIX_SPLASH, // Full gradient & value pulse away from a single key hit then fades value out
- // #define DISABLE_RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out
- // #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out
-
-#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
deleted file mode 100644
index 60bd53f407..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
+++ /dev/null
@@ -1,431 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
- GMMK Pro Standard keymap for macOS
- by zvuc <https://github.com/zvuc>
-
- with code snippets from
- Andre Brait <andrebrait@gmail.com>, stickandgum
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum my_keycodes {
- LED_TLDE = SAFE_RANGE,
- LED_1,
- LED_2,
- LED_3,
- LED_4,
- LED_5,
- LED_6,
- LED_7,
- LED_8,
- LED_9,
- LED_0,
- LED_MINS,
- LED_EQL
-};
-
-#ifdef RGB_MATRIX_ENABLE
- #ifndef RGB_CONFIRMATION_BLINKING_TIME
- #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds
- #endif
-#endif // RGB_MATRIX_ENABLE
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Eject Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up F13
-// Ct_L Opt_L Cmd_L SPACE Cmd_R Opt_R FN Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- //
- // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
- // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
- // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
- [0] = LAYOUT(
- KC_ESC, KC_BRID, KC_BRIU, KC_MSCTRL, KC_LNPD, RGB_VAD, RGB_VAI, KC_F7, KC_F8, KC_MRWD, KC_MPLY, KC_MFFD, KC_F12, KC_EJCT, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_F13,
- KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG,
- LED_TLDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, _______, KC_PSCR,
- _______, RGB_HUI, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_HUD, RGB_VAD, RGB_SAD, TG(2), _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
- ),
-
- // This is an alternative togglable layer to change default function row to standard F keys
- [2] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F24, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
-};
-// clang-format on
-
-#ifdef ENCODER_ENABLE
- bool encoder_update_user(uint8_t index, bool clockwise) {
- // https://beta.docs.qmk.fm/using-qmk/simple-keycodes/feature_advanced_keycodes#alt-escape-for-alt-tab-id-alt-escape-for-alt-tab
- if (get_mods() & MOD_MASK_CTRL) { // If CTRL is held
- uint8_t mod_state = get_mods(); // Store all modifiers that are held
- unregister_mods(MOD_MASK_CTRL); // Immediately unregister the CRTL key (don't send CTRL-PgDn) - del_mods doesn't work here (not immediate)
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- set_mods(mod_state); // Add back in the CTRL key - so ctrl-key will work if ctrl was never released after paging.
- } else if (get_mods() & MOD_MASK_ALT) {
- uint8_t mod_state = get_mods();
- unregister_mods(MOD_MASK_ALT);
- if (clockwise) {
- rgblight_increase_sat();
- } else {
- rgblight_decrease_sat();
- }
- set_mods(mod_state);
- } else if (get_mods() & MOD_MASK_GUI) {
- uint8_t mod_state = get_mods();
- unregister_mods(MOD_MASK_GUI);
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- set_mods(mod_state);
- } else if (get_mods() & MOD_MASK_SHIFT) {
- uint8_t mod_state = get_mods();
- unregister_mods(MOD_MASK_SHIFT);
- if (clockwise) {
- rgblight_increase_speed();
- } else {
- rgblight_decrease_speed();
- }
- set_mods(mod_state);
- } else if (clockwise) { // All else volume.
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
- }
-#endif //ENCODER_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-
- // Called on powerup and is the last _init that is run.
- void keyboard_post_init_user(void) {
-
- int mods[35] = {0,2,3,4,5,11,17,33,49,55,65,95,97,79,94,85,93,96,90,69,92,67,76,80,91,75,86,68,77,81,92,28,34,39,44};
- int j;
-
- /* output each array element's value */
- for (j = 0; j < 35; j++ ) {
- g_led_config.flags[mods[j]] = LED_FLAG_MODIFIER;
- }
-
- if (!rgb_matrix_is_enabled()) {
- rgb_matrix_enable();
- #ifdef CONSOLE_ENABLE
- uprintf("ERROR! RGB Matrix Enabled and wrote to EEPROM! -How was the RGB Matrix Disabled?");
- #endif
- }
- }
-
- /* Renaming those to make the purpose on this keymap clearer */
- #define LED_FLAG_CAPS LED_FLAG_NONE
- #define LED_FLAG_EFFECTS LED_FLAG_INDICATOR
-
- static void set_rgb_caps_leds(void);
-
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- static uint16_t effect_started_time = 0;
- static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0;
- static void start_effects(void);
-
- /* The higher this is, the slower the blinking will be */
- #ifndef TIME_SELECTED_BIT
- #define TIME_SELECTED_BIT 8
- #endif
- #if TIME_SELECTED_BIT < 0 || TIME_SELECTED_BIT >= 16
- #error "TIME_SELECTED_BIT must be a positive integer smaller than 16"
- #endif
- #define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0
- #define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
-
- bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- if (!rgb_matrix_is_enabled()) {
- /* Turn ON the RGB Matrix for CAPS LOCK */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- rgb_matrix_enable();
- }
- } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- /* RGB Matrix was only ON because of CAPS LOCK. Turn it OFF. */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_disable();
- }
- return true;
- }
-
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- #ifdef NKRO_ENABLE
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- case NK_TOGG:
- if (record->event.pressed) {
- if (keymap_config.nkro) {
- /* Turning NKRO OFF */
- effect_red();
- } else {
- /* Turning NKRO ON */
- effect_green();
- }
- start_effects();
- }
- break;
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
- #endif // NKRO_ENABLE
-
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- case TG(2):
- if (record->event.pressed) {
- if (IS_LAYER_OFF(2)) {
- effect_red();
- } else {
- effect_green();
- }
- start_effects();
- }
- break;
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
-
- /* LED quick preset keys assignments */
- case LED_TLDE:
- rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); // Can use RGB_M_P built-in keycode instead.
- break;
- case LED_1:
- rgb_matrix_mode(RGB_MATRIX_ALPHAS_MODS);
- break;
- case LED_2:
- rgb_matrix_mode(RGB_MATRIX_GRADIENT_UP_DOWN);
- break;
- case LED_3:
- rgb_matrix_mode(RGB_MATRIX_JELLYBEAN_RAINDROPS);
- break;
- case LED_4:
- rgb_matrix_mode(RGB_MATRIX_BAND_SAT);
- break;
- case LED_5:
- rgb_matrix_mode(RGB_MATRIX_BAND_VAL);
- break;
- case LED_6:
- rgb_matrix_mode(RGB_MATRIX_BAND_SPIRAL_VAL);
- break;
- case LED_7:
- rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); // Can use RGB_M_R built-in keycode instead.
- break;
- case LED_8:
- rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL); // Can use RGB_M_SW built-in keycode instead.
- break;
- case LED_9:
- rgb_matrix_mode(RGB_MATRIX_BREATHING); // Can use RGB_M_B built-in keycode instead.
- break;
-
- #ifdef RGB_MATRIX_KEYPRESSES // Reactive effects require RGB_MATRIX_KEYPRESSES in config.h
- case LED_0:
- rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_WIDE);
- break;
- #endif //RGB_MATRIX_KEYPRESSES
-
- #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap and Rain require #define RGB_MATRIX_FRAMEBUFFER_EFFECTS in config.h
- case LED_MINS:
- rgb_matrix_mode(RGB_MATRIX_DIGITAL_RAIN);
- break;
- case LED_EQL:
- rgb_matrix_mode(RGB_MATRIX_TYPING_HEATMAP);
- break;
- #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-
- // case RGB_MOD:
- // case RGB_RMOD:
- // case RGB_HUI:
- // case RGB_HUD:
- // case RGB_SAI:
- // case RGB_SAD:
- // case RGB_VAI:
- // case RGB_VAD:
- // case RGB_SPI:
- case RGB_SPD:
- if (record->event.pressed) {
- if (rgb_matrix_get_flags() != LED_FLAG_ALL) {
- /* Ignore changes to RGB settings while only it's supposed to be OFF */
- return false;
- }
- }
- break;
-
- case RGB_TOG:
- // if (record->event.pressed) {
- // if (rgb_matrix_get_flags() == LED_FLAG_ALL) {
- // rgb_matrix_set_flags(LED_FLAG_NONE);
- // rgb_matrix_set_color_all(0, 0, 0);
- // } else {
- // rgb_matrix_set_flags(LED_FLAG_ALL);
- // }
- // }
- // return false;
- if (record->event.pressed) {
- if (rgb_matrix_is_enabled()) {
- switch (rgb_matrix_get_flags()) {
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- case LED_FLAG_EFFECTS:
- #endif
- case LED_FLAG_CAPS:
- /* Turned ON because of EFFECTS or CAPS, is actually OFF */
- /* Change to LED_FLAG_ALL to signal it's really ON */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- break;
- case LED_FLAG_ALL:
- /* Is actually ON */
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- if (effect_started_time > 0) {
- /* Signal EFFECTS */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- } else
- #endif
- if (host_keyboard_led_state().caps_lock) {
- /* Signal CAPS */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- /* Will be re-enabled by the processing of the toggle */
- rgb_matrix_disable_noeeprom();
- }
- break;
- }
- }
- }
- break;
-
- }
- return true;
- }
-
-
- bool rgb_matrix_indicators_user(void) {
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- if (effect_started_time > 0) {
- /* Render blinking EFFECTS */
- uint16_t deltaTime = sync_timer_elapsed(effect_started_time);
- if (deltaTime <= RGB_CONFIRMATION_BLINKING_TIME) {
- uint8_t led_state = ((~deltaTime) >> TIME_SELECTED_BIT) & 0x01;
- uint8_t val_r = led_state * r_effect;
- uint8_t val_g = led_state * g_effect;
- uint8_t val_b = led_state * b_effect;
- rgb_matrix_set_color_all(val_r, val_g, val_b);
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds();
- }
- return;
- } else {
- /* EFFECTS duration is finished */
- effect_started_time = 0;
- if (rgb_matrix_get_flags() == LED_FLAG_EFFECTS) {
- /* It was turned ON because of EFFECTS */
- if (host_keyboard_led_state().caps_lock) {
- /* CAPS is still ON. Demote to CAPS */
- rgb_matrix_set_flags(LED_FLAG_CAPS);
- } else {
- /* There is nothing else keeping RGB enabled. Reset flags and turn if off. */
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_disable_noeeprom();
- }
- }
- }
- }
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
- if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- rgb_matrix_set_color_all(0x0, 0x0, 0x0);
- }
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds();
- }
- return false;
- }
-
- #if RGB_CONFIRMATION_BLINKING_TIME > 0
- static void start_effects(void) {
- effect_started_time = sync_timer_read();
- if (!rgb_matrix_is_enabled()) {
- /* Turn it ON, signal the cause (EFFECTS) */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- rgb_matrix_enable_noeeprom();
- } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) {
- /* It's already ON, promote the cause from CAPS to EFFECTS */
- rgb_matrix_set_flags(LED_FLAG_EFFECTS);
- }
- }
- #endif // RGB_CONFIRMATION_BLINKING_TIME > 0
-
- static void set_rgb_caps_leds(void) {
- rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1
- rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1
- rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2
- rgb_matrix_set_color(71, 0xFF, 0x0, 0x0); // Right side LED 2
- rgb_matrix_set_color(73, 0xFF, 0x0, 0x0); // Left side LED 3
- rgb_matrix_set_color(74, 0xFF, 0x0, 0x0); // Right side LED 3
- rgb_matrix_set_color(76, 0xFF, 0x0, 0x0); // Left side LED 4
- rgb_matrix_set_color(77, 0xFF, 0x0, 0x0); // Right side LED 4
- rgb_matrix_set_color(80, 0xFF, 0x0, 0x0); // Left side LED 5
- rgb_matrix_set_color(81, 0xFF, 0x0, 0x0); // Right side LED 5
- rgb_matrix_set_color(83, 0xFF, 0x0, 0x0); // Left side LED 6
- rgb_matrix_set_color(84, 0xFF, 0x0, 0x0); // Right side LED 6
- rgb_matrix_set_color(87, 0xFF, 0x0, 0x0); // Left side LED 7
- rgb_matrix_set_color(88, 0xFF, 0x0, 0x0); // Right side LED 7
- rgb_matrix_set_color(91, 0xFF, 0x0, 0x0); // Left side LED 8
- rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); // Right side LED 8
- rgb_matrix_set_color(3, 0xFF, 0x0, 0x0); // CAPS LED
- }
-
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/readme.md
deleted file mode 100644
index 8024e77cc1..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/readme.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# GMMK Pro Standard Layout for macOS by zvuc
-
-As you may know, Glorious does not (yet) provide their Glorious Core software for macOS; so with stock firmware, there aren't any ways to customize layouts on the hardware level unless you turn to software-based override solutions such as [Karabiner Elements](https://karabiner-elements.pqrs.org/). This is my attempt to try to create the most macOS-like experience on the GMMK Pro, taking close notes from Apple's Magic Keyboard, also referencing code from other community keymaps.
-
-## Keymap
-Layer 0
-<img width="1092" alt="Layer0" src="https://user-images.githubusercontent.com/2870726/132235505-64ac1c89-ecf9-49b5-a030-1d94389fc66d.png">
-
-Layer 1 (Hold <kbd>Fn</kbd>)
-<img width="1088" alt="Layer1" src="https://user-images.githubusercontent.com/2870726/133090831-5e84fb69-a8bf-463e-a8f6-f1f38a5901d6.png">
-
-Layer 2 (Togglable alternative function row layout by pressing <kbd>Fn</kbd>+<kbd>F</kbd>)
-<img width="1094" alt="Layer2" src="https://user-images.githubusercontent.com/2870726/133090841-0c6a8b16-bf46-4e6c-b8fa-79f213f95765.png">
-
-
-## Notable differences from stock key layout for Windows:
-- <kbd>Delete</kbd> key placed right next to backspace (under rotary encoder)
-- <kbd>F13</kbd> key for the bottommost row (Assign it to a shortcut you like in macOS preferences! [For example: "Emoji & Symbols" to bring up the emoji input popup instantly](https://user-images.githubusercontent.com/2870726/132237211-7e13c156-96a8-4a91-b215-28d310228feb.png))
-- <kbd>Eject</kbd> key for the last key in function row: Needed for macOS native global "Sleep" hotkey (<kbd>⌘</kbd><kbd>⌥</kbd><kbd>Eject</kbd>)
-
-## Notable Features
-- VIA support
-- Rotary Encoder support (Defaults to stock behavior Volume Up/Down)
-- Standard order for macOS modifier keys:
- * Left: <kbd>⌃ Control</kbd><kbd>⌥ Option</kbd><kbd>⌘ Command</kbd>
- * Right: <kbd>⌘ Command</kbd><kbd>⌥ Option</kbd><kbd>Fn</kbd>
-- Apple Magic Keyboard-like Function Row Mode (Toggle with <kbd>Fn</kbd>+<kbd>F</kbd>)
- * <kbd>F1</kbd>: Decrease display brightness
- * <kbd>F2</kbd>: Increase display brightness
- * <kbd>F3</kbd>: Mission Control
- * <kbd>F4</kbd>: Launchpad
- * <kbd>F5</kbd>: Decrease keyboard backlight brightness
- * <kbd>F6</kbd>: Increase keyboard backlight brightness
- * <kbd>F7</kbd>: (none)
- * <kbd>F8</kbd>: (none)
- * <kbd>F9</kbd>: Media Rewind
- * <kbd>F10</kbd>: Media Play/Pause
- * <kbd>F11</kbd>: Media Fast Forward
- * <kbd>F12</kbd>: (none)
-
-> #### NOTE
-> - Media key mappings follow Apple Magic Keyboard except <kbd>F8</kbd> thru <kbd>F12</kbd>, where keys have been shifted by one to the right. It's because I wanted to get over the awkward gap between <kbd>F8</kbd> and <kbd>F9</kbd> that the GMMK Pro has—and also because we don't need dedicated keys for volume control when we have the more convenient rotary knob.
-> - To access standard <kbd>F1</kbd> - <kbd>F12</kbd> keys, press the Function keys while holding <kbd>Fn</kbd>.
-> - If you're planning to use Karabiner Elements, use the standard Function row mode (<kbd>F1</kbd> - <kbd>F12</kbd>) because Karabiner Elements always overrides function keys even if you want to just use simple or complex modifications, and it doesn't catch custom keys like Mission Control, Launchpad or <kbd>Eject</kbd>. (<kbd>Eject</kbd> is mapped as <kbd>F24</kbd> so you can replace it with 'Eject' within Karabiner.)
-
-## RGB Lighting
-- Retains Glorious stock firmware key mappings for control
- * <kbd>Fn</kbd><kbd>Up</kbd> / <kbd>Fn</kbd><kbd>Down</kbd>: Cycle presets
- * <kbd>Fn</kbd><kbd>Left</kbd> / <kbd>Fn</kbd><kbd>Right</kbd>: Adjust speed
- * <kbd>Fn</kbd><kbd>W</kbd> / <kbd>Fn</kbd><kbd>S</kbd>: Adjust brightness
-- Quickly switch to popular presets:
- * <kbd>Fn</kbd><kbd>`</kbd> : Solid color (no animation)
- * <kbd>Fn</kbd><kbd>1</kbd> : Solid duotone (no animation) - <kbd>Shift</kbd><kbd>Knob</kbd> to change secondary color.
- * <kbd>Fn</kbd><kbd>2</kbd> : Vertical gradient - <kbd>Shift</kbd><kbd>Knob</kbd> to change secondary color.
- * <kbd>Fn</kbd><kbd>3</kbd> : "Jellybean Raindrops"
- * <kbd>Fn</kbd><kbd>4</kbd> : Horizontal wipe with white backlight
- * <kbd>Fn</kbd><kbd>5</kbd> : Horizontal wipe
- * <kbd>Fn</kbd><kbd>6</kbd> : Single color pinwheel
- * <kbd>Fn</kbd><kbd>7</kbd> : Horizontal rainbow
- * <kbd>Fn</kbd><kbd>8</kbd> : Rainbow pinwheel
- * <kbd>Fn</kbd><kbd>9</kbd> : Breathing
- * <kbd>Fn</kbd><kbd>0</kbd> : Reactive (light up on keypress)
- * <kbd>Fn</kbd><kbd>-</kbd> : "Digital Rain"
- * <kbd>Fn</kbd><kbd>=</kbd> : "Heatmap"
-- RGB turns off after 20 minutes of inactivity
-- RGB turns off when USB is suspended / enters sleep
-- <kbd>Caps Lock</kbd> toggle indicator (<kbd>Caps Lock</kbd> key and side lights will turn red)
-- Easy RGB control using Rotary Encoder
- - <kbd>Control</kbd>+<kbd>Rotate Knob</kbd>: Adjust hue
- - <kbd>Option</kbd>+<kbd>Rotate Knob</kbd>: Adjust saturation
- - <kbd>Command</kbd>+<kbd>Rotate Knob</kbd>: Adjust brightness
-
-> All latest QMK effects [(41 as of now)](https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#rgb-matrix-effects-id-rgb-matrix-effects) are enabled by default and will apply in order when cycling through using <kbd>Fn</kbd><kbd>Up</kbd> / <kbd>Fn</kbd><kbd>Down</kbd>. You can disable specific effects by uncommenting (remove the `//` at the beginning of line) respective lines (ex: `#define DISABLE_RGB_MATRIX_BREATHING`) in `qmk_firmware/keyboards/gmmk/pro/ansi/keymaps/zvuc/config.h` then recompiling the firmware.
-
-## Other Features
-- 1000hz polling rate
-- Short DEBOUNCE time (5 ms)
-- Per-key debounce algorithm (`sym_defer_pk`)
-- NKRO toggle (<kbd>Fn</kbd>+<kbd>N</kbd>)
-
-## Warning regarding VIA support
-When observing this keyboard firmware in VIA, some custom-implemented keys such as Mission Control/Launchpad and RGB preset shortcuts appear as keycodes such as `0x5d62`. **These must not be modified!** There is no way to get their default functionality back unless you re-flash the firmware through QMK Toolbox.
-
-## Download pre-compiled firmware binary file
-[Download BIN file from here](https://github.com/zvuc/qmk_firmware/releases/tag/zvuc-1.0.1)
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/rules.mk
deleted file mode 100644
index e9073d44a0..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Enable additional features.
-
-DEBOUNCE_TYPE = sym_defer_pk
-VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/.gitignore b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/.gitignore
deleted file mode 100644
index 03b2b46668..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-secrets.h
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/README.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/README.md
deleted file mode 100644
index cb17239882..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-QMK layout for gmmk/pro
-=======================
-
-## Secrets
-The format is the same as [drashna's](../../../../users/drashna/readme_secrets.md) secrets implementation. Create a `secret.h` and define your secrets like this:
-
-```c
-static const char* secrets[] = {"secret1", "secret2", "secret3", "secret4", "secret5"};
-```
-
-## Rotary encoder knob
-You can hookup your encoder functions by defining new encoder states in [encoder.h](./encoder.h), then in [encoder.c](./encoder.c) assign static variable `state` your new state depending on your desired condition and add callbacks to `encoder_mapping` array.
-
-## RGB Matrix Ledmaps
-RGB Matrix ledmaps is the future allowing you assign colors to individual keys on every keymap layer.
-
-You can see some examples of my usage in the bottom of [keymap.c](./keymap.c).
-
-Color defines are just HSV colors wrapped in curly braces, like `#define RED { HSV_RED }`.
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h
deleted file mode 100644
index ece08ecfee..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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/>.
- */
-
-#define COMBO_TERM 100
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_TIMEOUT 90000
-
-#define MACRO_TIMER 5
-
-#define TAPPING_TOGGLE 3
-
-#define WPM_SMOOTHING 0.1
-
-// this is for macOS so keyboard can work after sleep
-#define NO_USB_STARTUP_CHECK
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c
deleted file mode 100644
index c912806217..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "encoder.h"
-#include "mike1808.h"
-#include "print.h"
-#include "utils.h"
-#include "process_record.h"
-#include "rgb_matrix_ledmaps.h"
-
-static uint8_t state = ENCODER_DEFAULT;
-
-// clang-format off
-const encoder_callback encoder_mapping[][2] = {
- [ENCODER_VOLUME] = {&volume_up, &volume_down},
-#ifdef RGB_MATRIX_ENABLE
- [ENCODER_RGB_HUE] = {&rgb_matrix_increase_hue_noeeprom, &rgb_matrix_decrease_hue_noeeprom},
- [ENCODER_RGB_SAT] = {&rgb_matrix_increase_sat_noeeprom, &rgb_matrix_decrease_sat_noeeprom},
- [ENCODER_RGB_VAL] = {&rgb_matrix_increase_val_noeeprom, &rgb_matrix_decrease_val_noeeprom},
- [ENCODER_RGB_EFFECT] = {&rgb_matrix_step_noeeprom, &rgb_matrix_step_reverse_noeeprom},
- [ENCODER_RGB_EFFECT_SPEED] = {&rgb_matrix_increase_speed_noeeprom, &rgb_matrix_decrease_speed_noeeprom},
-#endif // RGB_MATRIX_ENABLE
-};
-
-// clang-format on
-
-void volume_up(void) { tap_code(KC_VOLU); }
-
-void volume_down(void) { tap_code(KC_VOLD); }
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- dprintf("current encoder state is: %d\n", state);
-
- if (clockwise) {
- (*encoder_mapping[state][0])();
- } else {
- (*encoder_mapping[state][1])();
- }
-
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
-
-void handle_rgb_key(bool pressed) {
- dprintf("handle_rgb_key %d\f", pressed);
-
- if (pressed) {
- rgb_matrix_layers_disable();
- } else {
- rgb_matrix_layers_enable();
- }
-}
-
-static KeyPressState *rgb_state;
-
-void keyboard_post_init_encoder(void) {
- rgb_state = NewKeyPressState(handle_rgb_key);
-}
-
-bool process_record_encoder(uint16_t keycode, keyrecord_t *record) {
-#ifdef RGB_MATRIX_ENABLE
- switch (keycode) {
- case KC_RGB_ENC_HUE ... KC_RGB_ENC_EFFECT:
- if (record->event.pressed) {
-# ifdef RGB_MATRIX_LEDMAPS_ENABLED
- // disable layers so we can adjust RGB effects
- rgb_state->press(rgb_state);
-# endif // RGB_MATRIX_LEDMAPS_ENABLED
-
- switch (keycode) {
- case KC_RGB_ENC_HUE:
- state = ENCODER_RGB_HUE;
- break;
- case KC_RGB_ENC_SAT:
- state = ENCODER_RGB_SAT;
- break;
- case KC_RGB_ENC_VAL:
- state = ENCODER_RGB_VAL;
- break;
- case KC_RGB_ENC_EFFECT_SPEED:
- state = ENCODER_RGB_EFFECT_SPEED;
- break;
- case KC_RGB_ENC_EFFECT:
- state = ENCODER_RGB_EFFECT;
- break;
- }
- } else {
-# ifdef RGB_MATRIX_LEDMAPS_ENABLED
- rgb_state->release(rgb_state);
-# endif // RGB_MATRIX_LEDMAPS_ENABLED
- state = ENCODER_DEFAULT;
- store_rgb_state_to_eeprom();
- }
-
- return false;
- }
-#endif // RGB_MATRIX_ENABLE
-
- return true;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.h
deleted file mode 100644
index 204922730e..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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/>.
- */
-
-// To add a new functionality define a new state here and then assign
-// the handler to the `encoder_callback`
-#include "quantum.h"
-
-enum encoder_state {
- ENCODER_VOLUME = 0,
- ENCODER_RGB_HUE,
- ENCODER_RGB_SAT,
- ENCODER_RGB_VAL,
- ENCODER_RGB_EFFECT_SPEED,
- ENCODER_RGB_EFFECT,
-};
-
-typedef void (*encoder_callback)(void);
-
-#define ENCODER_DEFAULT ENCODER_VOLUME
-
-void volume_up(void);
-void volume_down(void);
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c
deleted file mode 100644
index cb47824c80..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "mike1808.h"
-#include "print.h"
-
-static bool wpm_rgb_enabled = false;
-static uint8_t rgb_mode;
-
-bool rgb_matrix_indicators_keymap(void) {
- if (wpm_rgb_enabled && rgb_matrix_is_enabled()) {
- uint8_t wpm = get_current_wpm();
- dprintf("WPM = %d\n", wpm);
- HSV hsv = rgb_matrix_get_hsv();
- hsv.h = wpm;
- RGB rgb = hsv_to_rgb(hsv);
- rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
- }
- return false;
-}
-
-bool process_record_fun(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed && keycode == KC_WPM_RGB) {
- if (wpm_rgb_enabled) {
- wpm_rgb_enabled = false;
- rgb_matrix_mode(rgb_mode);
- } else {
- wpm_rgb_enabled = true;
- rgb_mode = rgb_matrix_get_mode();
- rgb_matrix_enable();
- rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR);
- }
-
- return false;
- }
-
- return true;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/keymap.c
deleted file mode 100644
index 70b60526ce..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>, Mikael Manukyan <arm.localhost@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 "mike1808.h"
-
-const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
-
-combo_t key_combos[] = {
- [JK_ESC] = COMBO(jk_combo, KC_ESC),
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
- [LINUX] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TT_FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [WINDOWS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [MACOS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [FUNCTIONS] = LAYOUT(
- _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_PSCR, _______,
- _______, KC_LINX, KC_MAC, KC_WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST, _______,
- KC_CAPS, _______, _______, _______, _______, OS_GIT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_RGBH, KC_RGBS, KC_RGBV, KC_RGBE, KC_RGBP, KC_WRGB, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [GIT] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, G_DIFF, _______, _______, _______, _______, _______, _______, G_PULL, G_PUSH, _______, _______, _______,
- _______, G_ADD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, G_CHECK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-#ifdef RGB_MATRIX_LEDMAPS_ENABLED
-
-#define ______ {0, 0, 0}
-
-const ledmap PROGMEM ledmaps[] = {
- // LU = Left Underglow, RU = Right Underglow
- // LU_1 ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) RU_1
- // LU_2 ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del RU_2
- // LU_3 Tab Q W E R T Y U I O P [ ] \ PgUp RU_3
- // LU_4 Caps A S D F G H J K L ; " Enter PgDn RU_4
- // LU_5 Sh_L Z X C V B N M , . ? Sh_R Up End RU_5
- // LU_6 Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right RU_6
- [LINUX] = RGB_MATRIX_LAYOUT_LEDMAP(
- PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- PURPLE, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE
- ),
- [WINDOWS] = RGB_MATRIX_LAYOUT_LEDMAP(
- GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- GREEN, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE
- ),
- [MACOS] = RGB_MATRIX_LAYOUT_LEDMAP(
- YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- YELLOW, ______, ______, RED, ______, ______, ______, ______, ______, ______, ______, PURPLE
- ),
-
- [FUNCTIONS] = RGB_MATRIX_LAYOUT_LEDMAP(
- CYAN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, ______, ______, ______, ______, GREEN, GREEN, GREEN, GREEN, ______, PURPLE,
- CYAN, ______, GOLD, GOLD, GOLD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, GOLD, PURPLE,
- CYAN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, TEAL, ______, PURPLE,
- CYAN, TURQ, ______, ______, ______, ______, TURQ, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE,
- CYAN, ______, RED, RED, RED, RED, RED, RED, ______, ______, ______, ______, ______, RED, ______, PURPLE,
- CYAN, ______, ______, BLUE, ______, ______, ______, ______, ______, ______, ______, PURPLE
- ),
-};
-
-#endif // RGB_MATRIX_LEDMAPS_ENABLED
-// clang-format on
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c
deleted file mode 100644
index 607606b3e7..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "mike1808.h"
-
-#if (__has_include("secrets.h") && !defined(NO_SECRETS))
-# include "secrets.h"
-#else
-// `PROGMEM const char secret[][x]` may work better, but it takes up more space in the firmware
-// And I'm not familiar enough to know which is better or why...
-static const char *const secrets[] = {"test1", "test2", "test3", "test4", "test5"};
-#endif
-
-// userspace_config_t userspace_config;
-
-bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_SECRET_1 ... KC_SECRET_5: // Secrets! Externally defined strings, not stored in repo
- if (!record->event.pressed) {
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- send_string_with_delay(secrets[keycode - KC_SECRET_1], MACRO_TIMER);
- }
- return false;
- break;
- }
- return true;
-}
-
-void suspend_power_down_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_set_suspend_state(true);
-#endif // RGB_MATRIX_ENABLE
-}
-
-void suspend_wakeup_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_set_suspend_state(false);
-#endif // RGB_MATRIX_ENABLE
-}
-
-#ifdef RGB_MATRIX_ENABLE
-bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
- // Turn on sideglow when CAPS LOCK is activated
- if (host_keyboard_led_state().caps_lock) {
- HSV hsv = {CAPS_LOCK_COLOR};
- hsv.v = rgb_matrix_get_val();
- RGB rgb = hsv_to_rgb(hsv);
-
- for (uint8_t i = led_min; i < led_max; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
- }
- }
- }
- return false;
-}
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h
deleted file mode 100644
index b35ad7590d..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 QMK_KEYBOARD_H
-#include "rgb_matrix_ledmaps.h"
-
-enum layout_names {
- LINUX = 0, // Base Layout: The main keyboard layout that has all the characters
- WINDOWS, // Base ayout for Windows
- MACOS, // Base Layout for MacOS
- FUNCTIONS, // Function Layout: The function key activated layout with default functions and
- // some added ones
- GIT, // GIT Layout: GIT shortcuts and macros
- SECRETS, // Layer with secrets
-};
-
-enum custom_keycodes {
- KC_CCCV = SAFE_RANGE, // Hold to copy, tap to paste
- KC_LINUX,
- KC_MAC,
- KC_WIN,
-
- KC_SECRET_1,
- KC_SECRET_2,
- KC_SECRET_3,
- KC_SECRET_4,
- KC_SECRET_5,
-
- KC_RGB_ENC_HUE,
- KC_RGB_ENC_SAT,
- KC_RGB_ENC_VAL,
- KC_RGB_ENC_EFFECT_SPEED,
- KC_RGB_ENC_EFFECT,
-
- KC_WPM_RGB,
-};
-
-enum git_macros {
- // The start of this enum should always be equal to end of ctrl_keycodes + 1
- G_INIT = KC_WPM_RGB + 1, // git init
- G_CLONE, // git clone
- G_CONF, // git config --global
- G_ADD, // git add
- G_DIFF, // git diff
- G_QK_BOOT, // git reset
- G_REBAS, // git rebase
- G_BRANH, // git branch
- G_CHECK, // git checkout
- G_MERGE, // git merge
- G_REMTE, // git remote add
- G_FETCH, // git fetch
- G_PULL, // git pull
- G_PUSH, // git push
- G_COMM, // git commit
- G_STAT, // git status
- G_LOG, // git log
- NEW_SAFE_RANGE,
-};
-
-enum combos {
- JK_ESC, // jk to ESC for Vim
-};
-
-#define KC_SEC1 KC_SECRET_1
-#define KC_SEC2 KC_SECRET_2
-#define KC_SEC3 KC_SECRET_3
-#define KC_SEC4 KC_SECRET_4
-#define KC_SEC5 KC_SECRET_5
-
-#define KC_RGBH KC_RGB_ENC_HUE
-#define KC_RGBS KC_RGB_ENC_SAT
-#define KC_RGBV KC_RGB_ENC_VAL
-#define KC_RGBE KC_RGB_ENC_EFFECT
-#define KC_RGBP KC_RGB_ENC_EFFECT_SPEED
-
-#define KC_WRGB KC_WPM_RGB
-
-#define KC_LINX KC_LINUX
-
-#define KC_RESET QK_BOOT
-#define KC_RST KC_RESET
-
-#define OS_GIT OSL(GIT)
-#define TT_FN TT(FUNCTIONS)
-
-#define OS_LGUI OSM(MOD_LGUI)
-#define OS_RGUI OSM(MOD_RGUI)
-#define OS_LSFT OSM(MOD_LSFT)
-#define OS_RSFT OSM(MOD_RSFT)
-#define OS_LCTL OSM(MOD_LCTL)
-#define OS_RCTL OSM(MOD_RCTL)
-#define OS_LALT OSM(MOD_LALT)
-#define OS_RALT OSM(MOD_RALT)
-#define OS_MEH OSM(MOD_MEH)
-#define OS_HYPR OSM(MOD_HYPR)
-
-#define CAPS_LOCK_COLOR HSV_RED
-
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.c
deleted file mode 100644
index a21b58a36c..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>,
- Mikael Manukyan <arm.localhost@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 "mike1808.h"
-#include "print.h"
-#include "process_record.h"
-
-uint16_t copy_paste_timer;
-
-__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-__attribute__((weak)) bool process_record_encoder(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-__attribute__((weak)) bool process_record_fun(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-__attribute__((weak)) void keyboard_post_init_encoder(void) { return; }
-
-static const char *git_commands[] = {
- "git init ", "git clone ", "git config --global ", "git add ",
- "git diff ", "git reset ", "git rebase ", "git branch -b \"",
- "git checkout ", "git merge ", "git remote add ", "git fetch ",
- "git pull ", "git push ", "git commit ", "git status ",
- "git log ",
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // If console is enabled, it will print the matrix position and status of each key pressed
-#ifdef KEYLOGGER_ENABLE
- uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n",
- keycode, record->event.key.col, record->event.key.row, record->event.pressed,
- record->event.time, record->tap.interrupted, record->tap.count);
-#endif // KEYLOGGER_ENABLE
- switch (keycode) {
- case KC_LINUX ... KC_WIN:
- if (record->event.pressed) {
- dprintf("set_single_persistent_default_layer %d\n", keycode - KC_LINUX + LINUX);
- set_single_persistent_default_layer(keycode - KC_LINUX + LINUX);
- return false;
- }
-
- break;
-
- case KC_CCCV: // One key copy/paste
- if (record->event.pressed) {
- copy_paste_timer = timer_read();
- } else {
- if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
- if (layer_state_is(MACOS)) {
- tap_code16(LGUI(KC_C));
- } else {
- tap_code16(LCTL(KC_C));
- }
- } else { // Tap, paste
- if (layer_state_is(MACOS)) {
- tap_code16(LGUI(KC_V));
- } else {
- tap_code16(LCTL(KC_V));
- }
- }
- }
- break;
-
- case G_INIT ... G_LOG:
- if (record->event.pressed) {
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- send_string_with_delay(git_commands[keycode - G_INIT], MACRO_TIMER);
- return false;
- }
- break;
-#ifdef RGB_MATRIX_ENABLE
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- } break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- } break;
- case LED_FLAG_UNDERGLOW: {
- // This line is for LED idle timer. It disables the toggle so you can turn
- // off LED completely if you like
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable();
- } break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable();
- } break;
- }
- }
- return false;
-#endif // RGB_MATRIX_ENABLE
- }
-
- return process_record_encoder(keycode, record) && process_record_secrets(keycode, record) &&
- process_record_fun(keycode, record);
-}
-
-void keyboard_post_init_user(void) { keyboard_post_init_encoder(); }
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.h
deleted file mode 100644
index 1021751655..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/process_record.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "mike1808.h"
-
-
-bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
-
-bool process_record_encoder(uint16_t keycode, keyrecord_t *record);
-
-bool process_record_fun(uint16_t keycode, keyrecord_t *record);
-
-void keyboard_post_init_encoder(void);
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c
deleted file mode 100644
index b213abc998..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "rgb_matrix_ledmaps.h"
-
-__attribute__((weak)) bool rgb_matrix_indicators_keymap(void) { return true; }
-__attribute__((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
- return true;
-}
-
-#ifdef RGB_MATRIX_LEDMAPS_ENABLED
-
-static bool enabled = true;
-
-#endif // RGB_MATRIX_LEDMAPS_ENABLED
-
-bool rgb_matrix_indicators_user(void) { return rgb_matrix_indicators_keymap(); }
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
-#ifdef RGB_MATRIX_LEDMAPS_ENABLED
- if (rgb_matrix_is_enabled() && enabled) {
- set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state));
- }
-
-#endif // RGB_MATRIX_LEDMAPS_ENABLED
- return rgb_matrix_indicators_advanced_keymap(led_min, led_max);
-}
-
-#ifdef RGB_MATRIX_LEDMAPS_ENABLED
-
-void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) {
- const ledmap *l = &(ledmaps[layer]);
-
- uint8_t val = rgb_matrix_get_val();
-
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = (*l)[i][0],
- .s = (*l)[i][1],
- .v = val,
- };
-
- if (hsv.h || hsv.s) {
- RGB rgb = hsv_to_rgb(hsv);
- RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
- }
- }
-}
-
-void rgb_matrix_layers_enable(void) {
- dprintf("ledmaps are enabled\n");
- enabled = true;
-}
-
-void rgb_matrix_layers_disable(void) {
- dprintf("ledmaps are disabled\n");
- enabled = false;
-}
-
-#endif // RGB_MATRIX_LEDMAPS_ENABLED
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h
deleted file mode 100644
index 931dfa0704..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-#ifdef RGB_MATRIX_LEDMAPS_ENABLED
-
-// no association keycode
-# define XXX \
- { 0, 0, 0 }
-
-// clang-format off
-# define RGB_MATRIX_LAYOUT_LEDMAP( \
- ul1, k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, ur1, \
- ul2, k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, ur2, \
- ul3, k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, ur3, \
- ul4, k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, ur4, \
- ul5, k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, ur5, \
- ul6, k06, k90, k93, k94, k95, k92, k04, k03, k73, k05, ur6 \
- ) \
- { \
- k13, k16, k11, k21, k00, k06, k26, k17, \
- k10, k12, k14, k90, k36, k27, k20, k22, \
- k24, k93, k31, k37, k30, k32, k34, k33, \
- k47, k40, k42, k44, k07, k46, k41, k43, \
- k45, k94, k63, k56, k51, k53, k55, k71, \
- k57, k50, k52, k54, k76, k67, k60, k62, \
- k64, k95, ka6, k77, k70, k72, k74, k92, \
- ka7, k87, k80, k82, k85, ka3, k86, k81, \
- k83, k04, ka5, ul1, ur1, k97, ul2, ur2, \
- k65, ul2, ur2, k15, ul3, ur3, k66, k05, \
- ul3, ur3, k75, ul4, ur4, ka1, k25, ul5, \
- ur5, k61, k91, ul6, ur6, ka2, k35, k03, \
- ka4, k73 \
- }
-// clang-format on
-typedef uint8_t ledmap[RGB_MATRIX_LED_COUNT][3];
-extern const ledmap ledmaps[];
-
-void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer);
-
-void rgb_matrix_layers_enable(void);
-void rgb_matrix_layers_disable(void);
-
-// Just a handy defines to make our ledmaps look better
-# define RED \
- { HSV_RED }
-# define CORAL \
- { HSV_CORAL }
-# define ORANGE \
- { HSV_ORANGE }
-# define GOLDEN \
- { HSV_GOLDENROD }
-# define GOLD \
- { HSV_GOLD }
-# define YELLOW \
- { HSV_YELLOW }
-# define CHART \
- { HSV_CHARTREUSE }
-# define GREEN \
- { HSV_GREEN }
-# define SPRING \
- { HSV_SPRINGGREEN }
-# define TURQ \
- { HSV_TURQUOISE }
-# define TEAL \
- { HSV_TEAL }
-# define CYAN \
- { HSV_CYAN }
-# define AZURE \
- { HSV_AZURE }
-# define BLUE \
- { HSV_BLUE }
-# define PURPLE \
- { HSV_PURPLE }
-# define MAGENT \
- { HSV_MAGENTA }
-# define PINK \
- { HSV_PINK }
-# define BLACK \
- { HSV_BLACK }
-
-#endif // RGB_MATRIX_LEDMAPS_ENABLED
-
-bool rgb_matrix_indicators_keymap(void);
-bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max);
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rules.mk
deleted file mode 100644
index a6d4e6259c..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rules.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-VIA_ENABLE = no
-
-COMBO_ENABLE = yes
-COMMAND_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-RAW_ENABLE = no
-CONSOLE_ENABLE = yes
-
-WPM_ENABLE = no
-
-RGB_MATRIX_LEDMAPS = yes
-
-SRC += utils.c
-SRC += mike1808.c
-SRC += process_record.c
-SRC += encoder.c
-
-ifeq ($(strip $(WPM_ENABLE)), yes)
- SRC += fun.c
-endif
-
-ifeq ($(strip $(RGB_MATRIX_LEDMAPS)), yes)
- SRC += rgb_matrix_ledmaps.c
- OPT_DEFS += -DRGB_MATRIX_LEDMAPS_ENABLED
-endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.c
deleted file mode 100644
index 009e826423..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@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 "utils.h"
-
-void store_rgb_state_to_eeprom(void) {
- uint8_t mode = rgb_matrix_get_mode();
- uint8_t speed = rgb_matrix_get_speed();
- HSV color = rgb_matrix_get_hsv();
-
- rgb_matrix_mode(mode);
- rgb_matrix_set_speed(speed);
- rgb_matrix_sethsv(color.h, color.s, color.v);
-}
-
-void press(KeyPressState *self) {
- self->_count++;
-
- dprintf("KPS: press: %d\n", self->_count);
-
- // pressed the first time
- if (self->_count == 1) {
- self->hander(true);
- }
-}
-
-void release(KeyPressState *self) {
- self->_count--;
-
- dprintf("KPS: release: %d\n", self->_count);
-
- // all keys are relased
- if (self->_count == 0) {
- self->hander(false);
- }
-}
-
-void reset(KeyPressState *self) {
- self->_count = 0;
-}
-
-KeyPressState *NewKeyPressState(key_press_handler handler) {
- KeyPressState *kps = (KeyPressState *)(malloc(sizeof(KeyPressState)));
-
- kps->_count = 0;
- kps->press = press;
- kps->release = release;
- kps->reset = reset;
- kps->hander = handler;
-
- return kps;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.h
deleted file mode 100644
index 49d0745cf8..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/utils.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2021 Mikael Manukyan <arm.localhost@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-#include "quantum.h"
-
-void store_rgb_state_to_eeprom(void);
-
-typedef void (*key_press_handler)(bool);
-
-typedef struct KeyPressState KeyPressState;
-struct KeyPressState {
- int _count;
- void (*press)(KeyPressState *self);
- void (*release)(KeyPressState *self);
- void (*reset)(KeyPressState *self);
- key_press_handler hander;
-};
-
-KeyPressState *NewKeyPressState(key_press_handler);
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h
deleted file mode 100644
index 8d8c35af49..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 Tomas Guinan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
-
-#define FORCE_NKRO
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c
deleted file mode 100644
index f4184525fc..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c
+++ /dev/null
@@ -1,475 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 Tomas Guinan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_map.h"
-#include "paddlegame.h"
-#include <math.h>
-
-enum custom_layers {
- _BASE,
- _FN1,
- _MO2,
- _MO3,
-};
-
-enum custom_keycodes {
- KC_00 = SAFE_RANGE,
- KC_WINLK, //Toggles Win key on and off
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_00:
- if (record->event.pressed) {
- // when keycode KC_00 is pressed
- SEND_STRING("00");
- } else {
- // when keycode KC_00 is released
- }
- break;
-
- case KC_WINLK:
- if (record->event.pressed) {
- if(!keymap_config.no_gui) {
- process_magic(GUI_OFF, record);
- } else {
- process_magic(GUI_ON, record);
- }
- } else unregister_code16(keycode);
- break;
- }
- return true;
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT(
- KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_INS, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW,
- _______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
- ),
-
- [_MO2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, TG(_MO2), _______, _______, _______, _______
- ),
-
- [_MO3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
-
-#ifdef ENCODER_ENABLE // Encoder Functionality
-
- bool encoder_update_user(uint8_t index, bool clockwise) {
-
- switch(get_highest_layer(layer_state)) {
- case _FN1:
- if ( clockwise ) {
- tap_code16(KC_PGDN);
- } else {
- tap_code16(KC_PGUP);
- }
- break;
-
- case _MO2:
- // Game: Paddle movement
- if (damage_count == 0) {
- if ( clockwise ) {
- if (paddle_pos_full < 15) ++paddle_pos_full;
- } else {
- if (paddle_pos_full > 0) --paddle_pos_full;
- }
- }
- break;
-
- case _BASE:
- default:
- if ( clockwise ) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
- }
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
- void init_ball(uint8_t i) {
- i &= 1;
- ball[i].on = true;
- ball[i].up = false;
- ball[i].y = 0;
- ball[i].x = rand() % 16;
-
- // Set initial ball state
- if (ball[i].x < 8) {
- ball[i].left = false;
- } else {
- ball[i].x -= 4;
- ball[i].left = true;
- }
-
- // 1/4 chance of being an enemy ball after level 6
- if (level_number > 3) {
- ball[i].enemy = ((rand() % 4) == 0);
- } else {
- ball[i].enemy = false;
- }
- }
-
- void hurt_paddle(void) {
- if (paddle_lives > 0) {
- --paddle_lives;
- }
- damage_timer = timer_read();
- damage_count = 10;
-
- // Reset board
- init_ball(0);
- ball[1].on = false;
- }
-
- // Capslock, Scroll lock and Numlock indicator on Left side lights.
- bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- switch(get_highest_layer(layer_state)) {
- case _FN1:
- // Light up FN layer keys
- if (!fn_active) {
- fn_active = true;
- rgb_value.r = 0xff;
- rgb_value.g = 0x00;
- rgb_value.b = 0x00;
- }
-
- if (rgb_value.r == 0xff && rgb_value.g < 0xff) {
- if (rgb_value.b > 0) { --rgb_value.b; }
- else { ++rgb_value.g; }
- } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) {
- if (rgb_value.r > 0) { --rgb_value.r; }
- else { ++rgb_value.b; }
- } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) {
- if (rgb_value.g > 0) { --rgb_value.g; }
- else { ++rgb_value.r; }
- }
-
- for (uint8_t i=0; i<ARRAY_SIZE(LED_RGB); i++) {
- rgb_matrix_set_color(LED_RGB[i], rgb_value.r, rgb_value.g, rgb_value.b);
- }
-
- for (uint8_t i=0; i<ARRAY_SIZE(LED_WHITE); i++) {
- rgb_matrix_set_color(LED_WHITE[i], RGB_WHITE);
- }
-
- for (uint8_t i=0; i<ARRAY_SIZE(LED_GREEN); i++) {
- rgb_matrix_set_color(LED_GREEN[i], RGB_GREEN);
- }
-
- rgb_matrix_set_color(LED_ESC, RGB_RED);
-
- rgb_matrix_set_color(LED_LWIN, RGB_BLUE);
- break;
-
- case _MO2:
- // Paddle game
- if (!game_start) {
- srand((unsigned int)timer_read());
-
- // Store user light settings
- last_hsv = rgb_matrix_get_hsv();
- rgb_matrix_sethsv_noeeprom(0, 0, 0);
-
- rgb_value.r = 0xff;
- rgb_value.g = 0x00;
- rgb_value.b = 0x00;
-
- paddle_pos_full = 8;
- paddle_lives = 4;
- bounce_count = 0;
- level_number = 0;
- damage_count = 0;
-
- init_ball(0);
- ball[1].on = false;
- ball_timer = timer_read();
-
- game_start = true;
- }
-
- // Set level indicator
- if (level_number < 12) {
- rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE);
- }
-
- // Set life bar
- for (uint8_t i=0; i < paddle_lives ; i++) {
- rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN);
- }
-
- uint8_t paddle_pos = paddle_pos_full >> 1;
-
- if (damage_count > 0) {
- // Flash paddle when receiving damage
- if (timer_elapsed(damage_timer) > 500) {
- --damage_count;
- damage_timer = timer_read();
- }
- if ((damage_count & 1) == 0) {
- for (uint8_t i=0; i < 3 ; i++) {
- rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED);
- }
- }
- if (damage_count == 0) {
- ball_timer = timer_read();
- }
-
-
- } else if (paddle_lives == 0) {
- // Game over
- for (uint8_t i=0; i<ARRAY_SIZE(LED_GAME_OVER); i++) {
- rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED);
- }
-
- } else if (level_number >= 12) {
- // You win
- if (rgb_value.r == 0xff && rgb_value.g < 0xff) {
- if (rgb_value.b > 0) { --rgb_value.b; }
- else { ++rgb_value.g; }
- } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) {
- if (rgb_value.r > 0) { --rgb_value.r; }
- else { ++rgb_value.b; }
- } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) {
- if (rgb_value.g > 0) { --rgb_value.g; }
- else { ++rgb_value.r; }
- }
-
- for (uint8_t i=0; i < 3 ; i++) {
- rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b);
- }
- rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
- rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
- rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
- rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
-
- } else {
- // normal game loop
-
- // Set paddle position
- for (uint8_t i=0; i < 3 ; i++) {
- rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN);
- }
-
- // Ball movement logic happens at intervals
- if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) {
- for (int i=0; i<2; ++i) {
- if (ball[i].on) {
- // Ball movement
- if (ball[i].up) {
- if (ball[i].y > 0) {
- --ball[i].y;
- if (!ball[i].left) ++ball[i].x;
- } else {
- // Count reflections. If > 10, increase level
- ++bounce_count;
- if (bounce_count >= 10) {
- bounce_count = 0;
- ++level_number;
- }
- ball[i].on = false;
- }
- } else {
- ++ball[i].y;
- if (ball[i].left) --ball[i].x;
- if (ball[i].y > 4) {
- // Remove a life if ball isn't returned and isn't enemy
- if (!ball[i].enemy) {
- hurt_paddle();
- i = 2;
- } else {
- ball[i].on = false;
- }
- }
- }
- }
- }
- if (ball[0].y == 4 && !ball[1].on) {
- init_ball(1);
- }
- if (ball[1].y == 4 && !ball[0].on) {
- init_ball(0);
- }
- if (!ball[0].on && !ball[1].on) {
- init_ball(0);
- }
- ball_timer = timer_read();
- }
-
- // Other ball stuff
- for (int i=0; i<2; ++i) {
- if (ball[i].on) {
- // Ball deflection logic
- if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) {
- if (!ball[i].enemy) {
- --ball[i].y;
- if (!ball[i].left) { ++ball[i].x; }
- ball[i].up = true;
- } else {
- hurt_paddle();
- i = 2;
- }
- }
-
- // Ball display
- switch (ball[i].y) {
- case 0:
- if (ball[i].enemy) {
- rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED);
- } else {
- rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE);
- }
- break;
-
- case 1:
- if (ball[i].enemy) {
- rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED);
- } else {
- rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE);
- }
- break;
-
- case 2:
- if (ball[i].enemy) {
- rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED);
- } else {
- rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE);
- }
- break;
-
- case 3:
- if (ball[i].enemy) {
- rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED);
- } else {
- rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE);
- }
- break;
-
- case 4:
- if (ball[i].enemy) {
- rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED);
- } else {
- rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE);
- }
- break;
- }
- }
- }
- }
-
-
- break;
-
- default:
- fn_active = false;
- if (game_start) {
- // Reset lighting settings
- game_start = false;
- rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v);
- }
- break;
- }
-
- led_t led_state = host_keyboard_led_state();
-
- if (led_state.caps_lock) {
- if (!caps_active) {
- caps_active = true;
- caps_flash_on = true;
- caps_flasher = timer_read();
- }
- if (timer_elapsed(caps_flasher) > 500) {
- caps_flasher = timer_read();
- caps_flash_on = !caps_flash_on;
- }
-
- rgb_matrix_set_color(LED_CAPS, RGB_WHITE);
- if (caps_flash_on) {
- for (uint8_t i=0; i<ARRAY_SIZE(LED_SIDE_LEFT); i++) {
- rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_RED);
- rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_RED);
- }
- } else {
- for (uint8_t i=0; i<ARRAY_SIZE(LED_SIDE_LEFT); i++) {
- rgb_matrix_set_color(LED_SIDE_LEFT[i], 0, 0, 0);
- rgb_matrix_set_color(LED_SIDE_RIGHT[i], 0, 0, 0);
- }
- }
- } else {
- caps_active = false;
- }
- if (led_state.scroll_lock) {
- rgb_matrix_set_color(LED_F10, RGB_WHITE);
- }
- if (keymap_config.no_gui) {
- rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled
- }
- return false;
- }
-
-#endif
-
-void keyboard_post_init_user(void) {
-
- #ifdef RGB_MATRIX_ENABLE
- rgb_matrix_set_color_all(RGB_RED); // Default startup colour
- #endif
-
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/paddlegame.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/paddlegame.h
deleted file mode 100644
index 27df2dd703..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/paddlegame.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- Copyright 2021 Tomas Guinan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-const uint16_t GAME_TIMER[] = {
- 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150
-};
-
-bool game_start = false;
-HSV last_hsv;
-static uint8_t paddle_pos_full;
-static uint8_t paddle_lives;
-static uint8_t level_number;
-static uint8_t bounce_count;
-static uint8_t damage_count;
-static uint16_t damage_timer;
-static uint16_t ball_timer;
-
-struct BallStruct
-{
- uint8_t x;
- uint8_t y;
- bool on;
- bool up;
- bool left;
- bool enemy;
-};
-
-struct BallStruct ball[2];
-
-void init_ball(uint8_t i);
-void hurt_paddle(void); \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/readme.md
deleted file mode 100644
index c6da7f5f47..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-![GMMK Pro Paddle Game zLayout Image](https://i.imgur.com/RYcKyOj.png)
-
-# Paddle Game GMMK Pro layout by Tomas Guinan
-
-- Add Print Screen, Scroll Lock, Pause/Break, Insert to Fn layer
-- Toggle backlight using Fn+`
- - If you don't like using a backlight but wnat to play the paddle game or
- use other RGB features, turn RGB on and set brightness to 0
-- Usable Fn layer keys are backlit
-- Implement Win key lock using Fn+Win like in Glorious Core firmware
-- Caps Lock and Scroll Lock keys light up white when active
-- Caps Lock has red flashing side lights like in Glorious Core firmware
-- Layer 2 includes Paddle Game, playable by pressing Fn+P
- - Use rotary encoder to control paddle
- - Contains 12 levels, indicated by blue LED on F row
- - Player has 4 lives, indicated by nav cluster
- - Deflect white balls while avoiding red ones
- - Press Fn to quit game
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rgb_matrix_map.h
deleted file mode 100644
index 06d34ba6cb..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rgb_matrix_map.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* Copyright 2021 Tomas Guinan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#ifdef RGB_MATRIX_ENABLE
-
- bool fn_active = false;
- bool caps_active = false;
- bool caps_flash_on = false;
-
- static uint16_t caps_flasher = 0;
- RGB rgb_value;
-
- // RGB LED locations
- enum led_location_map {
- LED_ESC, // 0, ESC, k13
- LED_GRV, // 1, ~, k16
- LEB_TAB, // 2, Tab, k11
- LED_CAPS, // 3, Caps, k21
- LED_LSFT, // 4, Sh_L, k00
- LED_LCTL, // 5, Ct_L, k06
- LED_F1, // 6, F1, k26
- LED_1, // 7, 1, k17
- LED_Q, // 8, Q, k10
- LED_A, // 9, A, k12
- LED_Z, // 10, Z, k14
- LED_LWIN, // 11, Win_L, k90
- LED_F2, // 12, F2, k36
- LED_2, // 13, 2, k27
- LED_W, // 14, W, k20
- LED_S, // 15, S, k22
- LED_X, // 16, X, k24
- LED_LALT, // 17, Alt_L, k93
- LED_F3, // 18, F3, k31
- LED_3, // 19, 3, k37
- LED_E, // 20, E, k30
- LED_D, // 21, D, k32
- LED_C, // 22, C, k34
- LED_F4, // 23, F4, k33
- LED_4, // 24, 4, k47
- LED_R, // 25, R, k40
- LED_F, // 26, F, k42
- LED_V, // 27, V, k44
- LED_F5, // 28, F5, k07
- LED_5, // 29, 5, k46
- LED_T, // 30, T, k41
- LED_G, // 31, G, k43
- LED_B, // 32, B, k45
- LED_SPC, // 33, SPACE, k94
- LED_F6, // 34, F6, k63
- LED_6, // 35, 6, k56
- LED_Y, // 36, Y, k51
- LED_H, // 37, H, k53
- LED_N, // 38, N, k55
- LED_F7, // 39, F7, k71
- LED_7, // 40, 7, k57
- LED_U, // 41, U, k50
- LED_J, // 42, J, k52
- LED_M, // 43, M, k54
- LED_F8, // 44, F8, k76
- LED_8, // 45, 8, k67
- LED_I, // 46, I, k60
- LED_K, // 47, K, k62
- LED_COMM, // 48, ,, k64
- LED_RALT, // 49, Alt_R, k95
- LED_F9, // 50, F9, ka6
- LED_9, // 51, 9, k77
- LED_O, // 52, O, k70
- LED_L, // 53, L, k72
- LED_DOT, // 54, ., k74
- LED_FN, // 55, FN, k92
- LED_F10, // 56, F10, ka7
- LED_0, // 57, 0, k87
- LED_P, // 58, P, k80
- LED_SCLN, // 59, ;, k82
- LED_SLSH, // 60, ?, k85
- LED_F11, // 61, F11, ka3
- LED_MINS, // 62, -, k86
- LED_LBRC, // 63, [, k81
- LED_QUOT, // 64, ", k83
- LED_RCTL, // 65, Ct_R, k04
- LED_F12, // 66, F12, ka5
- LED_L1, // 67, LED, l01
- LED_R1, // 68, LED, l11
- LED_DEL, // 69, Del, k97
- LED_L2, // 70, LED, l02
- LED_R2, // 71, LED, l12
- LED_HOME, // 72, Home, k65
- LED_L3, // 73, LED, l03
- LED_R3, // 74, LED, l13
- LED_PGUP, // 75, PgUp, k15
- LED_L4, // 76, LED, l04
- LED_R4, // 77, LED, l14
- LED_EQL, // 78, =, k66
- LED_RIGHT, // 79, Right, k05
- LED_L5, // 80, LED, l05
- LED_R5, // 81, LED, l15
- LED_END, // 82, End, k75
- LED_L6, // 83, LED, l06
- LED_R6, // 84, LED, l16
- LED_BSPC, // 85, BSpc, ka1
- LED_PGDN, // 86, PgDn, k25
- LED_L7, // 87, LED, l07
- LED_R7, // 88, LED, l17
- LED_RBRC, // 89, ], k61
- LED_RSFT, // 90, Sh_R, k91
- LED_L8, // 91, LED, l08
- LED_R8, // 92, LED, l18
- LED_BSLS, // 93, \, ka2
- LED_UP, // 94, Up, k35
- LED_LEFT, // 95, Left, k03
- LED_ENT, // 96, Enter, ka4
- LED_DOWN // 97, Down, k73
- };
-
- const uint8_t LED_RGB[] = {
- LED_MINS, LED_EQL,
- LED_LBRC, LED_RBRC,
- LED_SCLN, LED_QUOT,
- LED_HOME, LED_PGUP, LED_PGDN, LED_END,
- LED_UP, LED_DOWN, LED_LEFT, LED_RIGHT
- };
-
- const uint8_t LED_GREEN[] = {
- LED_F1, LED_F2, LED_F3, LED_F4,
- LED_F5, LED_F6, LED_F7, LED_F8
- };
-
- const uint8_t LED_WHITE[] = {
- LED_F9, LED_F10, LED_F11, LED_DEL
- };
-
- const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8};
-
- const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8};
-
- // Breakout LED rules
-
- const uint8_t GAME_LIVES[] = { LED_HOME, LED_PGUP, LED_PGDN, LED_END };
- const uint8_t GAME_PADDLE[] = {
- LED_Z, LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, LED_SLSH
- };
- const uint8_t GAME_SMILE1[] = {
- LED_A, LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN, LED_QUOT
- };
- const uint8_t GAME_SMILE2[] = {
- LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL
- };
- const uint8_t GAME_R4[] = {
- LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT
- };
- const uint8_t GAME_R3[] = {
- LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN
- };
- const uint8_t GAME_R2[] = {
- LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, LED_P, LED_LBRC
- };
- const uint8_t GAME_R1[] = {
- LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL
- };
- const uint8_t GAME_R0[] = {
- LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12
- };
-
- const uint8_t LED_GAME_OVER[] = { LED_5, LED_8, LED_F, LED_G, LED_H, LED_J, LED_C, LED_M };
-
-
-#endif \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rules.mk
deleted file mode 100644
index a3f5bfd35c..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-MOUSEKEY_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-RGB_MATRIX_ENABLE = yes
-ENCODER_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h
deleted file mode 100644
index 91d731faca..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2021 stickandgum
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// I like NKRO.. but let's not force it. @drashna pointed out some older hardware has issues - Toggle it via keycode if you like.
-// #define FORCE_NKRO
-
-// At the time of this, there are 41 effects! That may be a bit too many to cycle through - keeping what I believe is the best.
-#ifdef RGB_MATRIX_ENABLE
-
-// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-
-// Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
-
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain
- #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes
-
-// Soon we need to ENABLE modes by DEFAULT soon as per: https://github.com/qmk/qmk_firmware/pull/13758 Thanks @noroadsleft
-// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // BUILT IN (MAPPED!) Static single color.
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Accenting various keys on the keyboard.
-// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Top down rainbow!
-# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Left Right Rainbow (the top-down is better imho).
- // #undef ENABLE_RGB_MATRIX_BREATHING // Built in (MAPPED!)
- // #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white)
- // #undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black)
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (RGB_MATRIX_CYCLE_PINWHEEL)
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // See above
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // See above
- // #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black)
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow
- // #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // BUILT IN (MAPPED!) Full Rainbow Left to Right
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center.
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points.
-# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
- // #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // BUILT IN (MAPPED!) - Consider disabling this - my poor eyes.
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboards
-# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Similar to above.
-# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Enough of the spinning rainbows - we get it! :-)
-# undef ENABLE_RGB_MATRIX_RAINDROPS // Jellybeans are better.
- // #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - better than above.
-# undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
-# undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
-# undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
- // #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Hot keys!
- // #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix!
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black: wide slightly better imo
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Key hits shown in current hue - all other keys shifted hue
- // #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (black otherwise)
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but a bit too intense imo.
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single color fade.
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-keys)
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades
-# undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black.
-# undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black.
-# undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (Using solid_reactive_wide instead).
-# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black. (Using solid_reactive_wide instead).
-#endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c
deleted file mode 100644
index 9a3123a0a7..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* Copyright 2021 stickandgum GMMK Pro ANSI Enhanced Keymap File
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum my_keycodes {
- LED_TILDE = SAFE_RANGE,
- LED_1,
- LED_2,
- LED_3,
- LED_4,
- LED_5,
- LED_6,
- LED_7,
- LED_8,
- LED_9,
- LED_0,
- LED_MINS,
- LED_EQL,
- QMKBEST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_DEL, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, KC_WHOM, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______,
- LED_TILDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, KC_INS, KC_SCRL,
- _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BRIU,
- _______, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_SPI, _______, _______, _______, _______, QMKBEST, _______, _______, _______, KC_BRID,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_MPLY, KC_PWR,
- _______, _______, _______, _______, KC_RALT, _______, KC_APP, KC_MPRV, KC_MSTP, KC_MNXT
- ),
-
-};
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- // https://beta.docs.qmk.fm/using-qmk/simple-keycodes/feature_advanced_keycodes#alt-escape-for-alt-tab-id-alt-escape-for-alt-tab
- if (get_mods() & MOD_MASK_CTRL) { // If CTRL is held
- uint8_t mod_state = get_mods(); // Store all modifiers that are held
- unregister_mods(MOD_MASK_CTRL); // Immediately unregister the CRTL key (don't send CTRL-PgDn) - del_mods doesn't work here (not immediate)
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- set_mods(mod_state); // Add back in the CTRL key - so ctrl-key will work if ctrl was never released after paging.
- } else if (get_mods() & MOD_MASK_SHIFT) {
- uint8_t mod_state = get_mods();
- unregister_mods(MOD_MASK_SHIFT);
- if (clockwise) {
- #ifdef MOUSEKEY_ENABLE // If using the mouse scroll - make sure MOUSEKEY is enabled
- tap_code(KC_MS_WH_DOWN);
- #else
- tap_code(KC_VOLU);
- #endif
- } else {
- #ifdef MOUSEKEY_ENABLE
- tap_code(KC_MS_WH_UP);
- #else
- tap_code(KC_VOLD);
- #endif
- }
- set_mods(mod_state);
- } else if (clockwise) { // All else volume.
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
-#endif //ENCODER_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-static void set_rgb_caps_leds_on(void);
-static void set_rgb_scroll_leds_on(void);
-static void set_rgb_caps_leds_off(void);
-static void set_rgb_scroll_leds_off(void);
-
-// Called on powerup and is the last _init that is run.
-void keyboard_post_init_user(void) {
-
- int mods[35] = {0,2,3,4,5,11,17,33,49,55,65,95,97,79,94,85,93,96,90,69,92,67,76,80,91,75,86,68,77,81,92,28,34,39,44};
- int j;
-
- /* output each array element's value */
- for (j = 0; j < 35; j++ ) {
- g_led_config.flags[mods[j]] = LED_FLAG_MODIFIER;
- }
-
- if (!rgb_matrix_is_enabled()) {
- rgb_matrix_enable();
-#ifdef CONSOLE_ENABLE
- uprintf("ERROR! RGB Matrix Enabled and wrote to EEPROM! -How was the RGB Matrix Disabled?");
-#endif
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-#ifdef CONSOLE_ENABLE
- switch(rgb_matrix_get_flags()) {
- case 0x08:
- uprintf("FLAG: LED_FLAG_INDICATOR ");
- break;
- case 0x04:
- uprintf("FLAG: LED_FLAG_KEYLIGHT ");
- break;
- case 0x02:
- uprintf("FLAG: LED_FLAG_UNDERGLOW ");
- break;
- case 0x01:
- uprintf("FLAG: LED_FLAG_MODIFIER ");
- break;
- case 0xFF:
- uprintf("FLAG: LED_FLAG_ALL ");
- break;
- case 0x00:
- uprintf("FLAG: LED_FLAG_NONE ");
- break;
- default:
- uprintf("FLAG Other: %u ", rgb_matrix_get_flags());
- }
- uprintf("Caps? %d Scroll? %d - MATRIX: %d\n", host_keyboard_led_state().caps_lock, host_keyboard_led_state().scroll_lock, rgb_matrix_is_enabled());
-#endif //CONSOLE_ENABLE
-
- switch (keycode) {
- case RGB_TOG:
- if (record->event.pressed) {
- if (rgb_matrix_get_flags() == LED_FLAG_ALL) {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_set_color_all(0, 0, 0);
- } else {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- }
- }
- return false;
- case LED_TILDE:
- rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); // Can use RGB_M_P built-in keycode instead.
- break;
- case LED_1:
- rgb_matrix_mode(RGB_MATRIX_ALPHAS_MODS);
- break;
- case LED_2:
- rgb_matrix_mode(RGB_MATRIX_GRADIENT_UP_DOWN);
- break;
- case LED_3:
- rgb_matrix_mode(RGB_MATRIX_JELLYBEAN_RAINDROPS);
- break;
- case LED_4:
- rgb_matrix_mode(RGB_MATRIX_BAND_SAT);
- break;
- case LED_5:
- rgb_matrix_mode(RGB_MATRIX_BAND_VAL);
- break;
- case LED_6:
- rgb_matrix_mode(RGB_MATRIX_BAND_SPIRAL_VAL);
- break;
- case LED_7:
- rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); // Can use RGB_M_R built-in keycode instead.
- break;
- case LED_8:
- rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL); // Can use RGB_M_SW built-in keycode instead.
- break;
- case LED_9:
- rgb_matrix_mode(RGB_MATRIX_BREATHING); // Can use RGB_M_B built-in keycode instead.
- break;
- #ifdef RGB_MATRIX_KEYPRESSES // Reactive effects require RGB_MATRIX_KEYPRESSES in config.h
- case LED_0:
- rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_WIDE);
- break;
- #endif //RGB_MATRIX_KEYPRESSES
- #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap and Rain require #define RGB_MATRIX_FRAMEBUFFER_EFFECTS in config.h
- case LED_MINS:
- rgb_matrix_mode(RGB_MATRIX_DIGITAL_RAIN);
- break;
- case LED_EQL:
- rgb_matrix_mode(RGB_MATRIX_TYPING_HEATMAP);
- break;
- #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS
- case QMKBEST:
- if (record->event.pressed) { // when keycode QMKBEST is pressed
- SEND_STRING("QMK rocks");
- } else { // when keycode QMKBEST key is released
- SEND_STRING("!!");
- }
- break;
- }
- return true;
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds_on();
- } else {
- if (rgb_matrix_get_flags() == LED_FLAG_NONE){
- set_rgb_caps_leds_off();
- }
- }
- if (host_keyboard_led_state().scroll_lock) {
- set_rgb_scroll_leds_on();
- } else {
- if (rgb_matrix_get_flags() == LED_FLAG_NONE){
- set_rgb_scroll_leds_off();
- }
- }
- return false;
-}
-
-// RGB led number layout, function of the key
-
-// 67, led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, led 12
-// 70, led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Home 71, led 13
-// 73, led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, led 14
-// 76, led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, led 15
-// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16
-// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17
-// 87, led 07 88, led 18
-// 91, led 08 92, led 19
-
-static void set_rgb_caps_leds_on(void) {
- rgb_matrix_set_color(0, 255, 0, 0); //Escape Key
- rgb_matrix_set_color(3, 255, 0, 0); //capslock key
- rgb_matrix_set_color(5, 255, 0, 0); //Left CTRL key
- rgb_matrix_set_color(67, 255, 0, 0); //Left LED 01
- rgb_matrix_set_color(68, 255, 0, 0); //Right LED 12
- rgb_matrix_set_color(70, 255, 127, 0); //Left LED 02
- rgb_matrix_set_color(71, 255, 127, 0); //Right LED 13
- rgb_matrix_set_color(73, 255, 255, 0); //Left LED 03
- rgb_matrix_set_color(74, 255, 255, 0); //Right LED 14
- rgb_matrix_set_color(76, 0, 255, 0); //Left LED 04
- rgb_matrix_set_color(77, 0, 255, 0); //Right LED 15
- rgb_matrix_set_color(80, 0, 0, 255); //Left LED 05
- rgb_matrix_set_color(81, 0, 0, 255); //Right LED 16
- rgb_matrix_set_color(83, 46, 43, 95); //Left LED 06
- rgb_matrix_set_color(84, 46, 43, 95); //Right LED 17
- rgb_matrix_set_color(87, 139, 0, 255); //Left LED 07
- rgb_matrix_set_color(88, 139, 0, 255); //Right LED 18
- rgb_matrix_set_color(91, 255, 255, 255); //Left LED 08
- rgb_matrix_set_color(92, 255, 255, 255); //Right LED 19
-}
-
-static void set_rgb_caps_leds_off(void) {
- rgb_matrix_set_color(0, 0, 0, 0); //Escape Key
- rgb_matrix_set_color(3, 0, 0, 0); //capslock key
- rgb_matrix_set_color(5, 0, 0, 0); //Left CTRL key
- rgb_matrix_set_color(67, 0, 0, 0); //Left LED 01
- rgb_matrix_set_color(68, 0, 0, 0); //Right LED 12
- rgb_matrix_set_color(70, 0, 0, 0); //Left LED 02
- rgb_matrix_set_color(71, 0, 0, 0); //Right LED 13
- rgb_matrix_set_color(73, 0, 0, 0); //Left LED 03
- rgb_matrix_set_color(74, 0, 0, 0); //Right LED 14
- rgb_matrix_set_color(76, 0, 0, 0); //Left LED 04
- rgb_matrix_set_color(77, 0, 0, 0); //Right LED 15
- rgb_matrix_set_color(80, 0, 0, 0); //Left LED 05
- rgb_matrix_set_color(81, 0, 0, 0); //Right LED 16
- rgb_matrix_set_color(83, 0, 0, 0); //Left LED 06
- rgb_matrix_set_color(84, 0, 0, 0); //Right LED 17
- rgb_matrix_set_color(87, 0, 0, 0); //Left LED 07
- rgb_matrix_set_color(88, 0, 0, 0); //Right LED 18
- rgb_matrix_set_color(91, 0, 0, 0); //Left LED 08
- rgb_matrix_set_color(92, 0, 0, 0); //Right LED 19
-}
-
-static void set_rgb_scroll_leds_on(void) {
- rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME)
-}
-
-static void set_rgb_scroll_leds_off(void) {
- rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME)
-}
-
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/readme.md
deleted file mode 100644
index c4e2225433..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/readme.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Glorious GMMK Pro / ANSI - Enhanced Keyboard
-
-Tried to incorporate full featured GMMK Pro keyboard functionality without adding unnecessary features. Included Scroll Lock and Caps LEDs. NKRO can be toggled (Fn + N).
-SHIFT and Ctrl keys for scrolling with the rotary, Fn-keys also used for screen brightness, media, PowerOff, Suspend, App Shortcuts, and RGB Toggle/Modifications. Trimmed down the amazing (currently 41) built-in RGB effects down to about 13 or so reasonable effects that feel are just enough for your entertainment without being too excessive.
-
-BIG thank you to [AndreBrait](https://github.com/andrebrait), And of course, @drashna and @filterpaper, @noroadsleft and the entire discord community.
-
-* Keymap Creator: [StickAndGum](https://github.com/StickAndGum)
-* Keyboard: [More info on GMMK Pro](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black)
-* Controller [STM32F303CCT6](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html)
-
-* Layout:
- ![keyboard-layout](https://user-images.githubusercontent.com/22257588/130371838-875ba65b-88ea-4f81-a44a-bb24194c4989.png)
-
-Features are as follows:
-
-Rotary:
- - Default: Volume Up/Down
- - Shift: Mouse Wheel Down/Up
- - Ctrl: Page Down/Up
-
-Top/Default Layer:
- - Print Screen -> Print Screen (Left of rotary)
- - Delete -> Home (Under Rotary)
- - Right Alt -> Delete (Right of Spacebar)
- - All other keys defaults.
-
-Fn Layer:
- - Fn + \ -> Bootloader Mode (Can also hold ESC while powering up) - If hit by mistake, just unplug and replug in.
- - Fn + Backspace -> Insert
- - Fn + Print -> Pause/Break
- - Fn + Home -> Scroll Lock (Lights up white!)
- - Fn + Del (right of space) -> Right-Alt key.
- - Fn + RCtrl (right of Fn) -> Menu/App key.
- - Fn + N -> Toggle NKRO
- - Fn + End -> Power Off Computer
- - Fn + F12 -> Suspend Computer
- - Fn + F11 -> Wake Computer (Necessary on MAC OS?)
- - Fn + Page Up / Down -> Laptop Screen Brightness Up/Down
- - Fn + F1 - F5 -> Launch Calc, My Comp (Explorer), Media Player, Mail Client, Web Browser.
- - Fn + Up, Down, Left, Right Arrows -> Media Play, Stop, Previous, Next respectively.
-
-- RGB Information:
- - Toggle for RGB via Fn-r (CAPS & ScrlLock still Light/Indicate)
- - CAPS: Side Light Rainbow Indicators and Left-side RED Indicators
- - Scroll-Lock: Fn-Home (Under Rotary) white indicator.
- - Modifiers identified around most of the edge of keyboard / Side lights also accented (Fn-1 looks GREAT IMHO)
-
-- RGB Modifing (all via Function key) all via wasdqerf (common gaming keys) - easy to remember.
- - Fn + r -> Toggle RGB
- - Fn + w,s -> Brightness Up, Down
- - Fn + a,d -> Cycle Forward/Backward through rgb effects
- - Fn + q -> Increase or Decrease Saturation (use SHIFT key to lower)
- - Fn + e -> Increase or Decrease Hue/Color (use SHIFT key to lower)
- - Fn + f -> Increase or Decrease Speed (Using "F" for Fast!) (Use SHIFT for slower)
- - Fn + ~, 0-9, - = keys (2nd row keys) -> 13 RGB different effects arranged to my liking. Fn-1 is my favorite.
- - Fn + L -> My easter egg... "QMK rocks!"
-
-- Known issues:
- - The Heatmap and Matrix FrameBuffer effects (Fn - and =) are a bit buggy - F-keys light up when they shouldn't and the Caps/Scroll lights don't turn off properly when using. Just change the effect to something else to fix this.
- - If you find a fix for this, please let me know.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/rules.mk
deleted file mode 100644
index 6440dc6d41..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-CONSOLE_ENABLE = no
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h
deleted file mode 100644
index 1cc3cdf228..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2021 a (@trwnh on Github)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
-
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain
- #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes
-
- // #undef ENABLE_RGB_MATRIX_SOLID_COLOR // BUILT IN (MAPPED!) Static single color.
- #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Accenting various keys on the keyboard.
- // #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Top down rainbow!
- // #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Left Right Rainbow (the top-down is better imho).
- // #undef ENABLE_RGB_MATRIX_BREATHING // Built in (MAPPED!)
- #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white)
- #undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black)
- #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (RGB_MATRIX_CYCLE_PINWHEEL)
- #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // See above
- #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // See above
- #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black)
- #undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow
- // #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // BUILT IN (MAPPED!) Full Rainbow Left to Right
- // #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- // #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center.
- // #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points.
- #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
- // #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // BUILT IN (MAPPED!) - Consider disabling this - my poor eyes.
- // #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- // #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboards
- // #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Similar to above.
- // #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Enough of the spinning rainbows - we get it! :-)
- #undef ENABLE_RGB_MATRIX_RAINDROPS // Jellybeans are better.
- #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - better than above.
- #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
- #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
- #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
- #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges
- #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues
- #undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues
- #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Hot keys!
- #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix!
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black: wide slightly better imo
- // #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Key hits shown in current hue - all other keys shifted hue
- // #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (black otherwise)
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but a bit too intense imo.
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single color fade.
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-keys)
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades
- // #undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black.
- // #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black.
- // #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (Using solid_reactive_wide instead).
- // #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black. (Using solid_reactive_wide instead).
-#endif \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
deleted file mode 100644
index 7daa154826..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
+++ /dev/null
@@ -1,181 +0,0 @@
-// Copyright 2021 a (@trwnh on Github)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_KB_POWER, 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_INS,
- _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
- _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCRL,
- KC_MSTP, RGB_MOD, RGB_RMOD,_______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_APP,
- KC_MPRV, KC_MPLY, KC_MNXT, QK_BOOT, MO(2), _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2, KC_MS_U, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
- ),
-
-
-};
-
-#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) },
- [2] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
-};
-#endif
-// clang-format on
-
-// RGB led number layout, function of the key
-
-// 67, led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, led 12
-// 70, led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Home 71, led 13
-// 73, led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, led 14
-// 76, led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, led 15
-// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16
-// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17
-// 87, led 07 88, led 18
-// 91, led 08
-
-#ifdef RGB_MATRIX_ENABLE
- static void set_rgb_caps_leds_on(void);
- static void set_rgb_scroll_leds_on(void);
- static void set_rgb_caps_leds_off(void);
- static void set_rgb_scroll_leds_off(void);
-
- static void set_rgb_caps_leds_on(void) {
- // Set alpha and capslock to red
-
- rgb_matrix_set_color( 3, 255, 0, 0); // Caps
-
- rgb_matrix_set_color( 8, 255, 0, 0); // Q
- rgb_matrix_set_color(14, 255, 0, 0); // W
- rgb_matrix_set_color(20, 255, 0, 0); // E
- rgb_matrix_set_color(25, 255, 0, 0); // R
- rgb_matrix_set_color(30, 255, 0, 0); // T
- rgb_matrix_set_color(36, 255, 0, 0); // Y
- rgb_matrix_set_color(41, 255, 0, 0); // U
- rgb_matrix_set_color(46, 255, 0, 0); // I
- rgb_matrix_set_color(52, 255, 0, 0); // O
- rgb_matrix_set_color(58, 255, 0, 0); // P
-
- rgb_matrix_set_color( 9, 255, 0, 0); // A
- rgb_matrix_set_color(15, 255, 0, 0); // S
- rgb_matrix_set_color(21, 255, 0, 0); // D
- rgb_matrix_set_color(26, 255, 0, 0); // F
- rgb_matrix_set_color(31, 255, 0, 0); // G
- rgb_matrix_set_color(37, 255, 0, 0); // H
- rgb_matrix_set_color(42, 255, 0, 0); // J
- rgb_matrix_set_color(47, 255, 0, 0); // K
- rgb_matrix_set_color(53, 255, 0, 0); // L
-
- rgb_matrix_set_color(10, 255, 0, 0); // Z
- rgb_matrix_set_color(16, 255, 0, 0); // X
- rgb_matrix_set_color(22, 255, 0, 0); // C
- rgb_matrix_set_color(27, 255, 0, 0); // V
- rgb_matrix_set_color(32, 255, 0, 0); // B
- rgb_matrix_set_color(38, 255, 0, 0); // N
- rgb_matrix_set_color(43, 255, 0, 0); // M
- }
-
- static void set_rgb_caps_leds_off(void) {
- // Set alpha and capslock to black
-
- rgb_matrix_set_color( 3, 0, 0, 0); // Caps
-
- rgb_matrix_set_color( 8, 0, 0, 0); // Q
- rgb_matrix_set_color(14, 0, 0, 0); // W
- rgb_matrix_set_color(20, 0, 0, 0); // E
- rgb_matrix_set_color(25, 0, 0, 0); // R
- rgb_matrix_set_color(30, 0, 0, 0); // T
- rgb_matrix_set_color(36, 0, 0, 0); // Y
- rgb_matrix_set_color(41, 0, 0, 0); // U
- rgb_matrix_set_color(46, 0, 0, 0); // I
- rgb_matrix_set_color(52, 0, 0, 0); // O
- rgb_matrix_set_color(58, 0, 0, 0); // P
-
- rgb_matrix_set_color( 9, 0, 0, 0); // A
- rgb_matrix_set_color(15, 0, 0, 0); // S
- rgb_matrix_set_color(21, 0, 0, 0); // D
- rgb_matrix_set_color(26, 0, 0, 0); // F
- rgb_matrix_set_color(31, 0, 0, 0); // G
- rgb_matrix_set_color(37, 0, 0, 0); // H
- rgb_matrix_set_color(42, 0, 0, 0); // J
- rgb_matrix_set_color(47, 0, 0, 0); // K
- rgb_matrix_set_color(53, 0, 0, 0); // L
-
- rgb_matrix_set_color(10, 0, 0, 0); // Z
- rgb_matrix_set_color(16, 0, 0, 0); // X
- rgb_matrix_set_color(22, 0, 0, 0); // C
- rgb_matrix_set_color(27, 0, 0, 0); // V
- rgb_matrix_set_color(32, 0, 0, 0); // B
- rgb_matrix_set_color(38, 0, 0, 0); // N
- rgb_matrix_set_color(43, 0, 0, 0); // M
- }
-
- static void set_rgb_scroll_leds_on(void) {
- rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME)
- }
-
- static void set_rgb_scroll_leds_off(void) {
- rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME)
- }
-
- bool rgb_matrix_indicators_user(void) {
- // Left side rainbow
- rgb_matrix_set_color(67, 255, 0, 0); // Left LED 01
- rgb_matrix_set_color(70, 255, 127, 0); // Left LED 02
- rgb_matrix_set_color(73, 255, 255, 0); // Left LED 03
- rgb_matrix_set_color(76, 0, 255, 0); // Left LED 04
- rgb_matrix_set_color(80, 0, 0, 255); // Left LED 05
- rgb_matrix_set_color(83, 46, 43, 95); // Left LED 06
- rgb_matrix_set_color(87, 139, 0, 255); // Left LED 07
- rgb_matrix_set_color(91, 255, 255, 255); // Left LED 08
-
- // Right side rainbow
- rgb_matrix_set_color(68, 255, 0, 0); // Right LED 12
- rgb_matrix_set_color(71, 255, 127, 0); // Right LED 13
- rgb_matrix_set_color(74, 255, 255, 0); // Right LED 14
- rgb_matrix_set_color(77, 0, 255, 0); // Right LED 15
- rgb_matrix_set_color(81, 0, 0, 255); // Right LED 16
- rgb_matrix_set_color(84, 46, 43, 95); // Right LED 17
- rgb_matrix_set_color(88, 139, 0, 255); // Right LED 18
- rgb_matrix_set_color(92, 255, 255, 255); // Right LED 19
-
- if (host_keyboard_led_state().caps_lock) {
- set_rgb_caps_leds_on();
- } else {
- if (rgb_matrix_get_flags() == LED_FLAG_NONE){
- set_rgb_caps_leds_off();
- }
- }
- if (host_keyboard_led_state().scroll_lock) {
- set_rgb_scroll_leds_on();
- } else {
- if (rgb_matrix_get_flags() == LED_FLAG_NONE){
- set_rgb_scroll_leds_off();
- }
- }
- return false;
- }
-
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/readme.md
deleted file mode 100644
index 12be0cdcc3..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/readme.md
+++ /dev/null
@@ -1,91 +0,0 @@
-### features
-
-- via enable
-- rgb matrix reactive and animation modes enabled
-- disable rgb when usb is suspended
-- mouse control
- - fn+ralt+arrow keys to move
- - fn+ralt+enter = left click
- - fn+ralt+rshift = right click
- - fn+ralt+rotary = scroll up/down (click for middle click)
-- fn+n = toggle n key rollover
-
-### changes
-
-- fn+space to reset (instead of fn+backslash)
-- fn+del = ins
-- fn+pgup = pause/break (brightness up on macos)
-- fn+pgdn = scroll lock (brightness down on macos)
-- fn+end = app menu
-- lower left mod key cluster = media controls
- - fn+lctrl = prev
- - fn+lsuper = play/pause
- - fn+lalt = next
- - fn+lshift = stop
-- function keys = 2nd row function keys
- - fn+f1 = f13
- - fn+f2 = f14
- - ...
- - fn+f12 = f24
-- fn + arrow keys used for nav
- - fn + left = home
- - fn + right = end
- - fn + up = page up
- - fn + down = page down
-- rgb control moved to qwer/asdf + z/x + t
- - fn+q/a = hue increase/decrease
- - fn+w/s = saturation increase/decrease
- - fn+e/d = value increase/decrease
- - fn+r/f = speed increase/decrease
- - fn+z = rgb mode forward
- - fn+x = rgb mode reverse
- - fn+t = rgb toggle
-
-### rgb effects enabled
-
-sidebars are constant rainbow. alpha and capslock turn red when caps is on
-
-- solid color
-- rainbow gradient
- - gradient up down
- - gradient left right
-- breathing
-- rainbow cycles
- - cycle all
- - cycle left right
- - cycle up down
- - cycle out in
- - cycle out in dual
- - cycle pinwheel
- - cycle spiral
- - rainbow beacon
- - rainbow pinwheels
-- reactive
- - splash
- - multisplash
- - solid splash
- - solid multisplash
-
-### layers
-
-source code for keyboard layout editor images here: https://gist.github.com/trwnh/94e48f132c49043373918df29409ab48
-
-#### layer 0
-
-![](https://i.imgur.com/P1hSkZT.png)
-
-#### layer 1
-
-![](https://i.imgur.com/qqiObxP.png)
-
-#### layer 2
-
-![](https://i.imgur.com/W0i1D0C.png)
-
-### misc
-
-i am taking suggestions for possible improvements to this keymap; you may contact me via the following
-
-- email: mailto:a@trwnh.com
-- chat: xmpp:a@trwnh.com
-- fediverse: https://mastodon.social/@trwnh \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/rules.mk
deleted file mode 100644
index 4253f570f0..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c
deleted file mode 100644
index 13c58d0392..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Ct_L A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up Win_R
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MEDIA_PLAY_PAUSE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_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_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_RGUI,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_END,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_END
- ),
-
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_MS_WH_RIGHT);
- } else {
- tap_code(KC_MS_WH_LEFT);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c
deleted file mode 100644
index 5343f1b649..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute)
- // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
- // Tab Q W E R T Y U I O P [ ] \ PgUp
- // Caps A S D F G H J K L ; " Enter PgDn
- // Sh_L Z X C V B N M , . ? Sh_R Up End
- // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-// clang-format on
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- //return true; //set to return false to counteract enabled encoder in pro.c
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json
deleted file mode 100644
index bdb9e95264..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json
+++ /dev/null
@@ -1,181 +0,0 @@
-{
- "version": 1,
- "notes": "",
- "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
- "keyboard": "gmmk/pro",
- "keymap": "willwm",
- "layout": "LAYOUT",
- "layers": [
- [
- "KC_ESC",
- "KC_F1",
- "KC_F2",
- "KC_F3",
- "KC_F4",
- "KC_F5",
- "KC_F6",
- "KC_F7",
- "KC_F8",
- "KC_F9",
- "KC_F10",
- "KC_F11",
- "KC_F12",
- "KC_DEL",
- "KC_MUTE",
- "KC_GRV",
- "KC_1",
- "KC_2",
- "KC_3",
- "KC_4",
- "KC_5",
- "KC_6",
- "KC_7",
- "KC_8",
- "KC_9",
- "KC_0",
- "KC_MINS",
- "KC_EQL",
- "KC_BSPC",
- "KC_HOME",
- "KC_TAB",
- "KC_Q",
- "KC_W",
- "KC_E",
- "KC_R",
- "KC_T",
- "KC_Y",
- "KC_U",
- "KC_I",
- "KC_O",
- "KC_P",
- "KC_LBRC",
- "KC_RBRC",
- "KC_BSLS",
- "KC_PGUP",
- "MO(1)",
- "KC_A",
- "KC_S",
- "KC_D",
- "KC_F",
- "KC_G",
- "KC_H",
- "KC_J",
- "KC_K",
- "KC_L",
- "KC_SCLN",
- "KC_QUOT",
- "KC_ENT",
- "KC_PGDN",
- "KC_LSFT",
- "KC_Z",
- "KC_X",
- "KC_C",
- "KC_V",
- "KC_B",
- "KC_N",
- "KC_M",
- "KC_COMM",
- "KC_DOT",
- "KC_SLSH",
- "KC_RSFT",
- "KC_UP",
- "KC_END",
- "KC_LCTL",
- "KC_LGUI",
- "KC_LALT",
- "KC_SPC",
- "KC_RALT",
- "MO(1)",
- "KC_RCTL",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT"
- ],
- [
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_INS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_PSCR",
- "KC_CAPS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "QK_BOOT",
- "KC_NO",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_PGUP",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_NO",
- "KC_HOME",
- "KC_PGDN",
- "KC_END"
- ]
- ],
- "author": ""
-} \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/readme.md
deleted file mode 100644
index 1c169faac6..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-<img width="567" alt="layer0" src="https://user-images.githubusercontent.com/303042/118893170-da3e3280-b8b6-11eb-9459-f6c339c59bde.png">
-<img width="566" alt="layer1" src="https://user-images.githubusercontent.com/303042/118893191-e0341380-b8b6-11eb-8641-a4fdeeb7cbb2.png">
-
-# willwm GMMK Pro Layout
-
-Based on [gmmk/pro/keymaps/default](../default/keymap.c), with [VIA support](./rules.mk)
-
-Layer 0
-
-* Delete between F12 and rotary encoder (replaces PrtSc)
-* Home below rotary encoder (replaces Del)
-* MO(1) in default location and Caps Lock location
-
-Layer 1
-
-* Tab -> Caps Lock
-* Del -> Insert
-* Home -> PrtSc
-* Left Arrow -> Home
-* Right Arrow -> End
-* Up Arrow -> PgUp
-* Down Arrow -> PgDn
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/rules.mk
deleted file mode 100644
index 511b50e19c..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-UNICODE_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev1/iso/config.h b/keyboards/gmmk/pro/rev1/iso/config.h
deleted file mode 100644
index 8ed1802803..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Jasper Chan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 33
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json
index 492a5cf486..90f66171aa 100644
--- a/keyboards/gmmk/pro/rev1/iso/info.json
+++ b/keyboards/gmmk/pro/rev1/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x5044",
"device_version": "0.0.1"
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"]
diff --git a/keyboards/gmmk/pro/rev1/iso/iso.c b/keyboards/gmmk/pro/rev1/iso/iso.c
index 9744447587..932c6a1f49 100644
--- a/keyboards/gmmk/pro/rev1/iso/iso.c
+++ b/keyboards/gmmk/pro/rev1/iso/iso.c
@@ -137,107 +137,107 @@ led_config_t g_led_config = {{
2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 2, Tab, k11
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 3, Caps, k21
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 4, Sh_L, k00
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 5, Ct_L, k06
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 6, F1, k26
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 7, 1, k17
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 8, Q, k10
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 9, A, k12
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 10, Z, k14
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 11, Win_L, k90
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 12, F2, k36
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 13, 2, k27
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 14, W, k20
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 15, S, k22
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 16, X, k24
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 17, Alt_L, k93
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 18, F3, k31
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, 3, k37
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 20, E, k30
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 21, D, k32
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 22, C, k34
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 23, F4, k33
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 24, 4, k47
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 25, R, k40
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 26, F, k42
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 27, V, k44
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 28, F5, k07
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 29, 5, k46
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 30, T, k41
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 31, G, k43
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 32, B, k45
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 33, SPACE, k94
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 34, F6, k63
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 35, 6, k56
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 36, Y, k51
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 37, H, k53
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 38, N, k55
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 39, F7, k71
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 40, 7, k57
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 41, U, k50
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 42, J, k52
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 43, M, k54
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, F8, k76
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 45, 8, k67
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 46, I, k60
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 47, K, k62
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 48, ,, k64
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 49, Alt_R, k95
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 50, F9, ka6
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 51, 9, k77
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 52, O, k70
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 53, L, k72
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 54, ., k74
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 55, FN, k92
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 56, F10, ka7
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 57, 0, k87
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 58, P, k80
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 59, ;, k82
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 60, ?, k85
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 61, F11, ka3
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 62, -, k86
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 63, [, k81
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 64, ", k83
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 65, Ct_R, k04
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
- {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
- {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 66, F12, ka5
+ {1, SW1_CS4, SW1_CS5, SW1_CS6}, // 67, \, k23
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 68, LED, l01
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 69, LED, l11
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 70, Prt, k97
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 71, LED, l02
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 72, LED, l12
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 73, Del, k65
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 74, LED, l03
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 75, LED, l13
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 76, PgUp, k15
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 77, LED, l04
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 78, LED, l14
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 79, =, k66
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 80, Right, k05
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 81, LED, l05
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 82, LED, l15
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // 83, End, k75
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 84, LED, l06
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 85, LED, l16
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 86, BSpc, ka1
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 87, PgDn, k25
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 88, LED, l07
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 89, LED, l17
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 90, ], k61
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 91, Sh_R, k91
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 92, LED, l08
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 93, LED, l18
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 94, Up, k35
+ {1, SW10_CS1, SW10_CS2, SW10_CS3}, // 95, #, k84
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 96, Left, k03
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 97, Enter, ka4
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 98, Down, k73
};
// clang-format on
#endif
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
deleted file mode 100644
index 971e0821a3..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] PgUp
-// Caps A S D F G H J K L ; " # Enter PgDn
-// Sh_L / Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- //
- // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
- // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
- // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_PSCR, _______,
- _______, RGB_TOG, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______,
- _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
- ),
-
-
-};
-// clang-format on
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- return false;
-}
-#endif
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- static uint32_t cycle_led_timer = 0;
- static uint8_t current_value = 0;
- static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92};
- static uint8_t right_side_leds[8] = {69, 72, 75, 78, 82, 85, 89, 93};
-
- if (host_keyboard_led_state().caps_lock) {
- if (timer_elapsed32(cycle_led_timer) > 500) {
- current_value = current_value == 0 ? 255 : 0;
- cycle_led_timer = timer_read32();
- }
- HSV tempHSV = {.h = 0, .s = 255, .v = current_value};
- RGB tempRGB = hsv_to_rgb(tempHSV);
- for (uint8_t i = 0; i < ARRAY_SIZE(left_side_leds); i++) {
- rgb_matrix_set_color(left_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b);
- rgb_matrix_set_color(right_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b);
- }
- }
-
- static uint8_t l2_functions[26] = {6, 7, 8, 12, 13, 14, 15, 16, 18, 23, 28, 34, 38, 39, 44, 50, 56, 61, 66, 70, 80, 86, 94, 95, 96, 98};
- switch(get_highest_layer(layer_state)){ // special handling per layer
- case 2: //layer one
- break;
- case 1:
- for (uint8_t i = 0; i < ARRAY_SIZE(l2_functions); i++) {
- RGB_MATRIX_INDICATOR_SET_COLOR(l2_functions[i], 255, 0, 0);
- }
- break;
- default:
- break;
- break;
- }
- return false;
-}
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md
deleted file mode 100644
index da66c447ad..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# chofstede GMMK Pro layout
-
-- Added Print-Screen to FN+POS1
-- Added Insert to FN+#
-- The LED bars on the left and right side of the keyboard blink red when CAPS Lock is enabled
-- All mapped keys light up red when FN is being pressed
-
-
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
deleted file mode 100644
index 694fd80e19..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
-// Tab Q W E R T Y U I O P [ ] PgUp
-// Caps A S D F G H J K L ; " # Enter PgDn
-// Sh_L / Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
- // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
- // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
- // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
- // if that's your preference.
- //
- // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
- // it'll be back to normal when you plug it back in.
- //
- // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
- // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
- // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MPLY,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAD, RGB_TOG, RGB_VAI, RGB_HUI, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
- ),
-
-
-};
-// clang-format on
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- return false;
-}
-#endif
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
deleted file mode 100644
index 4239e0dcb8..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Falke Carlsen keymap for GMMK PRO ISO
-Based on the default keymap, inheriting rotary encoder and LED configs without modification.
-
-## Changes:
-- Fixes layer 1 of top-row to correspond to 'Keychron ISO Q1 & K2 Dye-Sub PBT Nordic' printed legend multimedia keys.
-- Adds early 2010s Ducky layer 1 mouse-emulation to WASD with left+right click and scroll in the 2x4 cluster.
-- Remaps default keymaps LED-handling to 2nd-row due to addition of mouse-emulation.
-- Swap layer 0 rotary encoder click to play/pause, and layer 1 click to next.
diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c
index 322e94c938..a3f957ef0a 100644
--- a/keyboards/gmmk/pro/rev2/ansi/ansi.c
+++ b/keyboards/gmmk/pro/rev2/ansi/ansi.c
@@ -136,106 +136,106 @@ led_config_t g_led_config = {{
4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 2, Tab, k11
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 3, Caps, k21
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 4, Sh_L, k00
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 5, Ct_L, k06
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 6, F1, k26
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 7, 1, k17
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 8, Q, k10
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 9, A, k12
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 10, Z, k14
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 11, Win_L, k90
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 12, F2, k36
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 13, 2, k27
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 14, W, k20
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 15, S, k22
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 16, X, k24
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 17, Alt_L, k93
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 18, F3, k31
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, 3, k37
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 20, E, k30
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 21, D, k32
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 22, C, k34
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 23, F4, k33
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 24, 4, k47
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 25, R, k40
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 26, F, k42
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 27, V, k44
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 28, F5, k07
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 29, 5, k46
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 30, T, k41
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 31, G, k43
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 32, B, k45
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 33, SPACE, k94
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 34, F6, k63
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 35, 6, k56
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 36, Y, k51
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 37, H, k53
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 38, N, k55
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 39, F7, k71
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 40, 7, k57
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 41, U, k50
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 42, J, k52
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 43, M, k54
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, F8, k76
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 45, 8, k67
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 46, I, k60
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 47, K, k62
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 48, ,, k64
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 49, Alt_R, k95
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 50, F9, ka6
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 51, 9, k77
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 52, O, k70
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 53, L, k72
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 54, ., k74
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 55, FN, k92
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 56, F10, ka7
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 57, 0, k87
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 58, P, k80
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 59, ;, k82
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 60, ?, k85
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 61, F11, ka3
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 62, -, k86
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 63, [, k81
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 64, ", k83
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 65, Ct_R, k04
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 66, F12, ka5
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 67, LED, l01
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 68, LED, l11
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 69, Prt, k97
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 70, LED, l02
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 71, LED, l12
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 72, Del, k65
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 73, LED, l03
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 74, LED, l13
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 75, PgUp, k15
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 76, LED, l04
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 77, LED, l14
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 78, =, k66
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 79, Right, k05
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 80, LED, l05
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 81, LED, l15
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // 82, End, k75
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 83, LED, l06
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 84, LED, l16
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 85, BSpc, ka1
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 86, PgDn, k25
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 87, LED, l07
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 88, LED, l17
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 89, ], k61
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 90, Sh_R, k91
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 91, LED, l08
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 92, LED, l18
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 93, \, ka2
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 94, Up, k35
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 95, Left, k03
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 96, Enter, ka4
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 97, Down, k73
};
// clang-format on
#endif
diff --git a/keyboards/gmmk/pro/rev2/ansi/config.h b/keyboards/gmmk/pro/rev2/ansi/config.h
deleted file mode 100644
index cc489b9c63..0000000000
--- a/keyboards/gmmk/pro/rev2/ansi/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json
index cd1fd31bf0..5615044316 100644
--- a/keyboards/gmmk/pro/rev2/ansi/info.json
+++ b/keyboards/gmmk/pro/rev2/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x5044",
"device_version": "0.0.2"
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"]
diff --git a/keyboards/gmmk/pro/rev2/iso/config.h b/keyboards/gmmk/pro/rev2/iso/config.h
deleted file mode 100644
index 9a115d9194..0000000000
--- a/keyboards/gmmk/pro/rev2/iso/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 33
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json
index 6233356616..3b7c0ca544 100644
--- a/keyboards/gmmk/pro/rev2/iso/info.json
+++ b/keyboards/gmmk/pro/rev2/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x5044",
"device_version": "0.0.2"
},
- "rgb_matrix": {
- "driver": "aw20216s"
- },
"matrix_pins": {
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"]
diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c
index 3a5b21c014..7a34f2432f 100644
--- a/keyboards/gmmk/pro/rev2/iso/iso.c
+++ b/keyboards/gmmk/pro/rev2/iso/iso.c
@@ -137,107 +137,107 @@ led_config_t g_led_config = {{
2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 2, Tab, k11
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 3, Caps, k21
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 4, Sh_L, k00
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 5, Ct_L, k06
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 6, F1, k26
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 7, 1, k17
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 8, Q, k10
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 9, A, k12
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 10, Z, k14
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 11, Win_L, k90
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 12, F2, k36
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 13, 2, k27
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 14, W, k20
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 15, S, k22
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 16, X, k24
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 17, Alt_L, k93
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 18, F3, k31
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, 3, k37
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 20, E, k30
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 21, D, k32
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 22, C, k34
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 23, F4, k33
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 24, 4, k47
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 25, R, k40
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 26, F, k42
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 27, V, k44
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 28, F5, k07
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 29, 5, k46
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 30, T, k41
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 31, G, k43
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 32, B, k45
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 33, SPACE, k94
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 34, F6, k63
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 35, 6, k56
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 36, Y, k51
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 37, H, k53
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 38, N, k55
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 39, F7, k71
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 40, 7, k57
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 41, U, k50
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 42, J, k52
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 43, M, k54
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, F8, k76
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 45, 8, k67
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 46, I, k60
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 47, K, k62
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 48, ,, k64
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 49, Alt_R, k95
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 50, F9, ka6
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 51, 9, k77
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 52, O, k70
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 53, L, k72
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 54, ., k74
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 55, FN, k92
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 56, F10, ka7
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 57, 0, k87
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 58, P, k80
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 59, ;, k82
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 60, ?, k85
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 61, F11, ka3
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 62, -, k86
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 63, [, k81
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 64, ", k83
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 65, Ct_R, k04
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
- {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
- {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
- {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
- {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
- {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
- {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
- {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
- {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
- {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
- {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
- {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
- {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
- {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
- {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
- {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
- {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
- {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
- {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 66, F12, ka5
+ {1, SW1_CS4, SW1_CS5, SW1_CS6}, // 67, \, k23
+ {1, SW1_CS13, SW1_CS14, SW1_CS15}, // 68, LED, l01
+ {1, SW1_CS16, SW1_CS17, SW1_CS18}, // 69, LED, l11
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 70, Prt, k97
+ {1, SW2_CS13, SW2_CS14, SW2_CS15}, // 71, LED, l02
+ {1, SW2_CS16, SW2_CS17, SW2_CS18}, // 72, LED, l12
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 73, Del, k65
+ {1, SW3_CS13, SW3_CS14, SW3_CS15}, // 74, LED, l03
+ {1, SW3_CS16, SW3_CS17, SW3_CS18}, // 75, LED, l13
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 76, PgUp, k15
+ {1, SW4_CS13, SW4_CS14, SW4_CS15}, // 77, LED, l04
+ {1, SW4_CS16, SW4_CS17, SW4_CS18}, // 78, LED, l14
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 79, =, k66
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 80, Right, k05
+ {1, SW5_CS13, SW5_CS14, SW5_CS15}, // 81, LED, l05
+ {1, SW5_CS16, SW5_CS17, SW5_CS18}, // 82, LED, l15
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // 83, End, k75
+ {1, SW6_CS13, SW6_CS14, SW6_CS15}, // 84, LED, l06
+ {1, SW6_CS16, SW6_CS17, SW6_CS18}, // 85, LED, l16
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 86, BSpc, ka1
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 87, PgDn, k25
+ {1, SW7_CS13, SW7_CS14, SW7_CS15}, // 88, LED, l07
+ {1, SW7_CS16, SW7_CS17, SW7_CS18}, // 89, LED, l17
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 90, ], k61
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 91, Sh_R, k91
+ {1, SW8_CS13, SW8_CS14, SW8_CS15}, // 92, LED, l08
+ {1, SW8_CS16, SW8_CS17, SW8_CS18}, // 93, LED, l18
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 94, Up, k35
+ {1, SW10_CS1, SW10_CS2, SW10_CS3}, // 95, #, k84
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 96, Left, k03
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 97, Enter, ka4
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 98, Down, k73
};
// clang-format on
#endif
diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
deleted file mode 100644
index e410d6c0cf..0000000000
--- a/keyboards/gon/nerd60/keymaps/mauin/keymap.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2017 Marvin Ramin (@Mauin)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Keymap layers
-enum layer_names {
- _BS, // Base Layer
- _FN, // Function Layer
- _SY // System Layer
-};
-
-enum custom_keycodes {
- ESC_GRV = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0: Default Layer
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | BSp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
- * |-----------------------------------------------------------|
- * |Funct | A| S| D| F| G| H| J| K| L| ;| '|Enter |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
- * |-----------------------------------------------------------'
- * | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl |
- * `-----------------------------------------------------------'
- */
- [_BS] = LAYOUT_all(
- ESC_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, XXXXXXX, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL
- ),
-
- /* Layer 1: Function Layer
- * ,-----------------------------------------------------------.
- * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11| F12| Del |
- * |-----------------------------------------------------------|
- * | |Prv|Ply|Nxt| | |Pg^|Hme|Up |End| |Br-|Br+| |
- * |-----------------------------------------------------------|
- * |Hold |Mte|Vl-|Vl+| | |Pgv|Lft|Dwn|Rgt| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------'
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_FN] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_DEL,
- XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_SCRL, KC_PAUS, XXXXXXX,
- KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Layer 2: System Layer
- * ,-----------------------------------------------------------.
- * |Reset| | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------'
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_SY] = LAYOUT_all(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- uint8_t esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI);
- switch (keycode) {
- case ESC_GRV:
- if (esc_grv_mask) {
- if (record->event.pressed) {
- register_code16(G(KC_GRV));
- } else {
- unregister_code16(G(KC_GRV));
- }
- } else {
- if (record->event.pressed) {
- register_code(KC_ESC);
- } else {
- unregister_code(KC_ESC);
- }
- }
- break;
- }
- return true;
-}
diff --git a/keyboards/gon/nerd60/keymaps/mauin/readme.md b/keyboards/gon/nerd60/keymaps/mauin/readme.md
deleted file mode 100644
index 63be7c3923..0000000000
--- a/keyboards/gon/nerd60/keymaps/mauin/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Mauin's keymap for the GON NerD
-
-This layout is based on a Pok3r style layout with a standard base layer.
-
-Function layers provide access to navigation and media keys.
diff --git a/keyboards/gon/nerd60/keymaps/mauin/rules.mk b/keyboards/gon/nerd60/keymaps/mauin/rules.mk
deleted file mode 100644
index 4bf836c22a..0000000000
--- a/keyboards/gon/nerd60/keymaps/mauin/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h b/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h
deleted file mode 100644
index 334beb0ac2..0000000000
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-//Force NKRO to be enabled.
-#define FORCE_NKRO
-
-//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
-//#define GRAVE_ESC_CTRL_OVERRIDE
-
-//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
-//#define TAPPING_TERM 200
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
deleted file mode 100644
index 065cf3eddc..0000000000
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
+++ /dev/null
@@ -1,261 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layers {
- _BL = 0, // Base Layer
- _WL, // Workman Layer
- _NL, // Norman Layer
- _DL, // Dvorak Layer
- _CL, // Base Layer
- _FL, // Function Layer
- _AL, // Adjust Layer
-};
-
-enum custom_keycodes {
- QMK_REV = SAFE_RANGE,
- KC_WEB,
- KC_SP4,
- DYNAMIC_MACRO_RANGE
-};
-
-extern backlight_config_t backlight_config;
-
-#include "dynamic_macro.h"
-#define FN_CAPS LT(_FL, KC_CAPS)
-#define KC_DMR1 DM_REC1
-#define KC_DMR2 DM_REC2
-#define KC_DMP1 DM_PLY1
-#define KC_DMP2 DM_PLY2
-#define KC_DMRS DM_RSTP
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*#### _BL: Base Layer - Standard TKL QWERTY layout.
- * .-----------------------------------------------------------------------.
- * |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
- * |-----------------------------------------------------------|-----------|
- * |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
- * |-----------------------------------------------------------|-----------|
- * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
- * |-----------------------------------------------------------|-----------|
- * |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
- * |-----------------------------------------------------------|-----------|
- * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
- * |-----------------------------------------------------------|-----------|
- * |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
- * *-----------------------------------------------------------------------*
- */
- [_BL] = LAYOUT_tkl(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT,
- KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*#### _WL: Workman Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |S |H |T |G |Y |N |E |O |I |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_WL] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _NL: Norman Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |S |E |T |G |Y |N |I |O |H |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_NL] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, 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, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _DL: Dvorak Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |[ |] | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |' |, |. |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 | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_DL] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______,
- _______, 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_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______,
- _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _CL: Colmak Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |R |S |T |D |H |N |E |I |O |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_CL] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _FL: Function Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
- * .-----------------------------------------------------------|-----------|
- * |Web| | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * |Fn_AL| | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | |Lft|Dwn|Up |Rgt| | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | | |Fn | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | SP4 | |Fn | |WBk| |WFw|
- * *-----------------------------------------------------------------------*
- */
- [_FL] = LAYOUT_tkl(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD
- ),
- /*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
- * .-----------------------------------------------------------------------.
- * |Rst||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
- * |-----------------------------------------------------------|-----------|
- * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
- * |-----------------------------------------------------------|-----------|
- * | | | |_DL| | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | |Fn | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_AL] = LAYOUT_tkl(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DOWN, BL_UP, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1,
- _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2,
- XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMK_REV:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
- }
- return false;
- break;
- case KC_WEB:
- if (record->event.pressed) {
- SEND_STRING(SS_LGUI("r"));
- wait_ms(100);
- SEND_STRING("chrome.exe\n");
- }
- return false;
- break;
- case KC_SP4:
- if (record->event.pressed) {
- SEND_STRING (" ");
- }
- return false;
- break;
- }
- // Dynamic Macros.
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
-
-void custom_backlight_level(uint8_t level) {
- if (level > BACKLIGHT_LEVELS)
- level = BACKLIGHT_LEVELS;
- backlight_config.level = level;
- backlight_config.enable = !!backlight_config.level;
- backlight_set(backlight_config.level);
-}
-
-void matrix_init_user(void) {
- #ifdef BACKLIGHT_ENABLE
- custom_backlight_level(0);
- #endif
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _BL:
- custom_backlight_level(0);
- break;
- case _WL:
- case _NL:
- case _DL:
- case _CL:
- custom_backlight_level(1);
- break;
- case _FL:
- custom_backlight_level(2);
- break;
- case _AL:
- custom_backlight_level(3);
- break;
- default:
- custom_backlight_level(0);
- break;
- }
- return state;
-}
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md b/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md
deleted file mode 100644
index 8630ea2966..0000000000
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md
+++ /dev/null
@@ -1,114 +0,0 @@
-# Keymap Maintainer: Gam3cat
-make gonnerd:gam3cat
-## Layout Config:
-2u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
-[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
-
-## Base Layer Selection:
-(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
-
-### Base Layer Options:
-#### _BL: Base Layer - Standard TKL QWERTY layout.
- .-----------------------------------------------------------------------.
- |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
- |-----------------------------------------------------------|-----------|
- |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
- |-----------------------------------------------------------|-----------|
- |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
- |-----------------------------------------------------------|-----------|
- |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
- |-----------------------------------------------------------|-----------|
- |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
- |-----------------------------------------------------------|-----------|
- |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
- *-----------------------------------------------------------------------*
-
-#### _WL: Workman Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |S |H |T |G |Y |N |E |O |I |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _NL: Norman Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |S |E |T |G |Y |N |I |O |H |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _DL: Dvorak Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |[ |] | | | | |
- |-----------------------------------------------------------|-----------|
- | |' |, |. |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 | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _CL: Colmak Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |R |S |T |D |H |N |E |I |O |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _FL: Function Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
- .-----------------------------------------------------------|-----------|
- |Web| | | | | | | | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- |Fn_AL| | | | | | | | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | |Lft|Dwn|Up |Rgt| | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | | | |Fn | | | |
- |-----------------------------------------------------------|-----------|
- | | | | SP4 | |Fn | |WBk| |WFw|
- *-----------------------------------------------------------------------*
-
-#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
- .-----------------------------------------------------------------------.
- |Rst||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
- |-----------------------------------------------------------|-----------|
- |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
- |-----------------------------------------------------------|-----------|
- | | | |_DL| | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | |Fn | | | | |
- *-----------------------------------------------------------------------*
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
deleted file mode 100644
index c82cafd606..0000000000
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = no # Enable extended unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-#VARIABLE_TRACE = no # Use this to debug changes to variable values
-KEY_LOCK_ENABLE = no # This enables key lock
-SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
-TAP_DANCE_ENABLE = no # Enable TapDance functionality
diff --git a/keyboards/gopolar/gg86/config.h b/keyboards/gopolar/gg86/config.h
index 633ca727de..13791b5073 100644
--- a/keyboards/gopolar/gg86/config.h
+++ b/keyboards/gopolar/gg86/config.h
@@ -18,52 +18,3 @@
/* Use the custom font */
#define OLED_FONT_H "lib/glcdfont.c"
-
-#ifdef RGB_MATRIX_ENABLE
- /* RGB Matrix config */
- #define RGB_MATRIX_LED_COUNT 100
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
- #define RGB_MATRIX_KEYPRESSES
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json
index 470709ca75..13669a8542 100644
--- a/keyboards/gopolar/gg86/info.json
+++ b/keyboards/gopolar/gg86/info.json
@@ -13,7 +13,49 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 150
},
"matrix_pins": {
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "E6", "D2", "D3"],
diff --git a/keyboards/gray_studio/aero75/config.h b/keyboards/gray_studio/aero75/config.h
index d00df8f11f..57da6a8ac1 100644
--- a/keyboards/gray_studio/aero75/config.h
+++ b/keyboards/gray_studio/aero75/config.h
@@ -3,10 +3,6 @@
#pragma once
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/gray_studio/aero75/info.json b/keyboards/gray_studio/aero75/info.json
index 476ee33d61..06d11e8467 100644
--- a/keyboards/gray_studio/aero75/info.json
+++ b/keyboards/gray_studio/aero75/info.json
@@ -28,6 +28,13 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
}
},
"matrix_pins": {
diff --git a/keyboards/gray_studio/apollo80/config.h b/keyboards/gray_studio/apollo80/config.h
deleted file mode 100644
index d8a6abbc38..0000000000
--- a/keyboards/gray_studio/apollo80/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2020 Demo Studio <https://www.instagram.com/demostudio01>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
diff --git a/keyboards/gray_studio/apollo80/info.json b/keyboards/gray_studio/apollo80/info.json
index bbaa577c92..21fa7c72d2 100644
--- a/keyboards/gray_studio/apollo80/info.json
+++ b/keyboards/gray_studio/apollo80/info.json
@@ -28,6 +28,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"matrix_pins": {
diff --git a/keyboards/gray_studio/space65r3/config.h b/keyboards/gray_studio/space65r3/config.h
index 27d4b4a6e5..67315123e5 100644
--- a/keyboards/gray_studio/space65r3/config.h
+++ b/keyboards/gray_studio/space65r3/config.h
@@ -2,10 +2,6 @@
// SPDX-License-Identifier: GPL-2.0
#pragma once
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/gray_studio/space65r3/info.json b/keyboards/gray_studio/space65r3/info.json
index 85e0978a59..7e559ab3fa 100644
--- a/keyboards/gray_studio/space65r3/info.json
+++ b/keyboards/gray_studio/space65r3/info.json
@@ -28,6 +28,13 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
}
},
"matrix_pins": {
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
deleted file mode 100644
index 884efb7b96..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/* Copyright 2021 Qiaowei Tang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
- /*
- * LED ranges for Think6.5v2 2U
- * These values were derived from manual testing. Derived from keymaps/rys.
- * ┌───────┬───────┬─────────────┬───────────────────────────────────────────â”
- * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
- * │ badge │ badge │    (?)     │              underglow (?)                │
- * │  bar │ icon │         │                               │
- * └───────┴───────┴─────────────┴───────────────────────────────────────────┘
- */
-
-// Define the LED ranges start, end
-#define THINK65_LED_RANGE_OFF 0, 0
-#define THINK65_LED_RANGE_CAPS 0, 2
-#define THINK65_LED_RANGE_BADGE 0, 4
-#define THINK65_LED_RANGE_UNDERGLOW 4, 22
-#define THINK65_LED_RANGE_ALL 0, 22
-
-// Turn the LEDs off by setting HSV to 0, 0, 0
-#define THINK65_LEDS_OFF 0, 0, 0
-
-// Caps Lock indicator LED
-#define THINK65_LEDS_CAPS 0, 0, 255
-
-#define THINK65_LED_STATE_OFF 0x0 // 0b00000000
-#define THINK65_LED_STATE_CAPS 0x1 // 0b00000001
-#define THINK65_LED_STATE_BADGE 0x2 // 0b00000010
-#define THINK65_LED_STATE_CAPS_AND_BADGE 0x3 // 0b00000011
-
-// Define each LED range as a bit flag
-#define THINK65_LED_CAPS_RANGE_BIT 0
-#define THINK65_LED_BADGE_RANGE_BIT 1
-
-// Setup some keycodes to control cycling and range toggling
-enum {
- KVM_SW1 = SAFE_RANGE,
- KVM_SW2,
- CYC_LED,
- TOG_BDG
-};
-
-// setup the user EEPROM space we need
-typedef union {
- uint8_t raw;
- struct {
- uint8_t current_led_state:8;
- };
-} user_config_t;
-
-user_config_t user_config;
-
-// toggle one of the range flag bits
-void toggle_led_state(unsigned int led_range) {
- if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
- user_config.current_led_state ^= 1 << led_range;
- }
-}
-
-// set one of the range flag bits
-void set_led_state(unsigned int led_range) {
- if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
- user_config.current_led_state |= 1 << led_range;
- }
-}
-
-// clear one of the range flag bits
-void clear_led_state(unsigned int led_range) {
- if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
- user_config.current_led_state &= ~(1 << led_range);
- }
-}
-
-// cycle LED states: Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All
-void cycle_led_state(void) {
- switch(user_config.current_led_state) {
- case THINK65_LED_STATE_OFF:
- user_config.current_led_state = THINK65_LED_STATE_CAPS;
- break;
- case THINK65_LED_STATE_CAPS:
- user_config.current_led_state = THINK65_LED_STATE_BADGE;
- break;
- case THINK65_LED_STATE_BADGE:
- user_config.current_led_state = THINK65_LED_STATE_CAPS_AND_BADGE;
- break;
- case THINK65_LED_STATE_CAPS_AND_BADGE:
- user_config.current_led_state = THINK65_LED_STATE_OFF;
- break;
- default:
- break;
- }
-}
-
-void apply_led_state(void) {
- uint8_t h = rgblight_get_hue();
- uint8_t s = rgblight_get_sat();
- uint8_t v = rgblight_get_val();
-
- // Set the RGB ranges based on the current state
- switch(user_config.current_led_state) {
- case THINK65_LED_STATE_OFF:
- rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ALL);
- break;
- case THINK65_LED_STATE_CAPS:
- rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE);
- rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
- break;
- case THINK65_LED_STATE_BADGE:
- rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_CAPS);
- rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
- break;
- case THINK65_LED_STATE_CAPS_AND_BADGE:
- rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
- rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
- break;
- default:
- break;
- }
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
-
- if (user_config.current_led_state >= THINK65_LED_STATE_OFF && user_config.current_led_state <= THINK65_LED_STATE_CAPS_AND_BADGE) {
- // If the current state read from user EEPROM is valid, apply it
- apply_led_state();
- } else {
- // Setup a new default state of off
- user_config.current_led_state = THINK65_LED_STATE_OFF;
- apply_led_state();
- eeconfig_update_user(user_config.raw);
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KVM_SW1:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "1");
- } else {}
- break;
- case KVM_SW2:
- if(record->event.pressed) {
- SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "2");
- } else {}
- break;
- case CYC_LED:
- if (record->event.pressed) {
- cycle_led_state();
- apply_led_state();
- eeconfig_update_user(user_config.raw);
- }
- break;
- case TOG_BDG:
- if (record->event.pressed) {
- toggle_led_state(THINK65_LED_BADGE_RANGE_BIT);
- apply_led_state();
- eeconfig_update_user(user_config.raw);
- }
- break;
- case KC_CAPS:
- if (!record->event.pressed) {
- // connect capslock LED control to the badge LEDs
- host_keyboard_led_state().caps_lock ? set_led_state(THINK65_LED_CAPS_RANGE_BIT) : clear_led_state(THINK65_LED_CAPS_RANGE_BIT);
- apply_led_state();
- eeconfig_update_user(user_config.raw);
- }
- break;
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│` ~│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
- */
- [0] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX,
- 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, XXXXXXX,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───â”
- * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        │SW1│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤
- * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │Hom│End│ │SW2│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤
- * │ │CYC│BDG│UGL│CAP│ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │Vol+│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤
- * │ │ │ │ │ │ │ │ │Vol-│ │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
- */
- [1] = LAYOUT_65_ansi_blocker(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KVM_SW1,
- TOG_BDG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_HOME, KC_END, _______, KVM_SW2,
- _______, CYC_LED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______
- ),
-
-};
-
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
deleted file mode 100644
index 520e7e0752..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# dangjoeltang's Think6.5v2 keymap
-
-My personal keymap for the Think6.5v2. Using the `LAYOUT_65_ansi_blocker` LAYOUT for a 2U blocker version. I added functionality to enable the Caps-lock indicator LED above the badge. This functionality shipped with the original board; however, for those who reflash their boards using the default `gray_studio/think65/solder` keymaps that functionality disappeared.
-
-## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/9c6a905a643b77249958f28662348f53)
-![Base Layer](https://imgur.com/Gyim08a)
-
-## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/1c061d3664ea5caf5cb64c759339278d)
-![Function Layer](https://imgur.com/H2Yqnv3)
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/config.h b/keyboards/gray_studio/think65/solder/keymaps/yt/config.h
deleted file mode 100644
index 6bdff5008e..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2022 Yt Liu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGBLIGHT_LAYERS
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c
deleted file mode 100644
index d4d6a7157a..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Copyright 2021 Qiaowei Tang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-
- /*
- * LED ranges for Think6.5v2 2U
- * These values were derived from manual testing. Derived from keymaps/rys.
- * ┌───────┬───────┬─────────────┬───────────────────────────────────────────â”
- * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
- * │ badge │ badge │    (?)     │              underglow (?)                │
- * │  bar │ icon │         │                               │
- * └───────┴───────┴─────────────┴───────────────────────────────────────────┘
- */
-
-
-// Setup some layers to control mac/win layouts
-#include QMK_KEYBOARD_H
-
-enum bs_layers {
- _WIN,
- _MAC,
- _FN,
- _BLANC
-};
-
-// Setup some keycodes to control cycling and range toggling
-enum bs_keycodes {
- WIN = SAFE_RANGE,
- MAC
-};
-
-// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 4, HSV_WHITE} // Light 4 LEDs, starting with LED 12
-);
-
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer // Overrides other layers
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-};
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-};
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- if (get_highest_layer(state) == _MAC) {
- rgblight_mode_noeeprom(6);
- } else {
- rgblight_mode_noeeprom(9);
- }
- return state;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Win Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│pup│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│pdw│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │lTCap │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴───┴┬─┬───┼───┼───┤
- * │Ctrl│ win│ alt│ Space │ Func │ │Lef│Dow│Rig│
- * └────┴────┴────┴────────────────────────┴─────────┴─┴───┴───┴───┘
- */
- [_WIN] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- LT(_FN, KC_CAPS), KC_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_1, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Mac Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│pup│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│pdw│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │lTCap │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴───┴┬─┬───┼───┼───┤
- * │Ctrl│ Opt│ Cmd│ Space │ Func │ │Lef│Dow│Rig│
- * └────┴────┴────┴────────────────────────┴─────────┴─┴───┴───┴───┘
- */
- [_MAC] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- LT(_FN, KC_CAPS), KC_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_LOPT, KC_LCMD, KC_SPC, KC_1, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Fn Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───â”
- * │lck│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ delete │mac│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤
- * │ TOG │MB1│MSU│MB2│MDU│ │ │ │UP │ │Hom│pgu│End│ │win│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤
- * │MO(2) │MSL│MSD│MSR│MWD│ │ │Lft│Dwn│rgt│END│pgd│ reset │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │
- * │ RGB_mod│F13│F14│F15│F16│F17│F18│F19│F20│F21│F22│F23 │Bri+│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤
- * │Vold│Mute│Volu│ │ │ │ │ │Bri-│ │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
- */
- [_FN] = LAYOUT_65_ansi_blocker(
- QK_LOCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, MAC,
- RGB_TOG, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, _______, _______, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, _______, WIN,
- _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, QK_BOOT, _______,
- RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_BRIU, _______,
- KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_BRID, _______
- ),
-
-};
-
-
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md b/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md
deleted file mode 100644
index 84286c5e34..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# YT45's Think6.5v2 keymap
-
-My personal keymap for the Think6.5v2. Using the dangjoeltang as a the base and adding a quick switch from mac to win layouts. also with indication of the current layer with RGB lights.
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk b/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk
deleted file mode 100644
index 3786848529..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-KEY_LOCK_ENABLE = yes
-CONSOLE_ENABLE = no \ No newline at end of file
diff --git a/keyboards/gray_studio/think65v3/config.h b/keyboards/gray_studio/think65v3/config.h
index 0a0596e64c..6b1f49b592 100644
--- a/keyboards/gray_studio/think65v3/config.h
+++ b/keyboards/gray_studio/think65v3/config.h
@@ -1,7 +1,7 @@
// Copyright 2023 Yizhen Liu (@edwardslau)
// SPDX-License-Identifier: GPL-2.0
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/gray_studio/think65v3/info.json b/keyboards/gray_studio/think65v3/info.json
index 8fba691fa4..a61dd5efe1 100644
--- a/keyboards/gray_studio/think65v3/info.json
+++ b/keyboards/gray_studio/think65v3/info.json
@@ -46,6 +46,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"layout_aliases": {
diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h
index c9fc1028f8..4fc8d1feaf 100644
--- a/keyboards/hadron/ver3/config.h
+++ b/keyboards/hadron/ver3/config.h
@@ -107,8 +107,4 @@
#define DRV2605L_ZC_DET_TIME 0
#define DRV2605L_AUTO_CAL_TIME 3
-#define RGB_MATRIX_LED_COUNT 10
-
-// #define RGB_MATRIX_KEYPRESSES
-
#define SOLENOID_PIN A14
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h b/keyboards/hadron/ver3/keymaps/sebaslayout/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c b/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c
deleted file mode 100644
index fcae7f07c6..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_P7, KC_P8, KC_P9,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_SCLN, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
-/* Primary
- * ,------+------+------+------+------+------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | PRTSN|
- * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------.
- * | ˜ | Q | W | E | R | T | Y | U | I | O | P | BKSP | 7 | 8 | 9 |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ' | ; | 4 | 5 | 6 |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | Up | /? | 1 | 2 | 3 |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Raise| Space | Raise| Ctrl | Left | Down |Right | 0 | . | Enter|
- * `--------------------------------------------------------------------------------------------------------'
- */
- LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_HOME, KC_INS, KC_PGUP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DEL, KC_PGDN,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-/* Secondary
- * ,------+------+------+------+------+------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------.
- * | | | | | | | | | | F11 | F12 | | Home | Ins | PgUP |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | End | Del | PgDN |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | Vol+ | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | Vol- | | | | |
- * `--------------------------------------------------------------------------------------------------------'
- */
-};
-
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md b/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md
deleted file mode 100644
index ce6974ce09..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-![Hadron v3 Layout Image](https://i.imgur.com/Mi5L57j.png)
-
-# My Custome Hadron Layout
-
-+ Moved numpad to the right
-+ changed F row to standard numbers
-+ Bottom row subject to change
diff --git a/keyboards/handwired/6macro/config.h b/keyboards/handwired/6macro/config.h
deleted file mode 100644
index 248e43f88e..0000000000
--- a/keyboards/handwired/6macro/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2019 joaofbmaia
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 10
diff --git a/keyboards/handwired/6macro/keymaps/default/config.h b/keyboards/handwired/6macro/keymaps/default/config.h
deleted file mode 100644
index 64ba57443f..0000000000
--- a/keyboards/handwired/6macro/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2019 joaofbmaia
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/handwired/6macro/keymaps/osu/config.h b/keyboards/handwired/6macro/keymaps/osu/config.h
deleted file mode 100644
index 64ba57443f..0000000000
--- a/keyboards/handwired/6macro/keymaps/osu/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2019 joaofbmaia
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c b/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
deleted file mode 100644
index 7884841b21..0000000000
--- a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2021 Matteo Bonora
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 CTESC LCTL_T(KC_ESC)
-
-enum layer_names {
- BL,
- FL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BL] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_RGUI,
- CTESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- LT(FL, KC_SPC)
- ),
-
- [FL] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TAB, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______
- )
-};
diff --git a/keyboards/handwired/alcor_dactyl/config.h b/keyboards/handwired/alcor_dactyl/config.h
index cf2dd7aa8c..42c45acdbf 100644
--- a/keyboards/handwired/alcor_dactyl/config.h
+++ b/keyboards/handwired/alcor_dactyl/config.h
@@ -22,9 +22,9 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP10
#define SERIAL_USART_RX_PIN GP9
-#define RGB_MATRIX_LED_COUNT 2
-#define RGB_MATRIX_SPLIT { 1, 1 }
+
#define EE_HANDS
diff --git a/keyboards/handwired/alcor_dactyl/info.json b/keyboards/handwired/alcor_dactyl/info.json
index 405436b6f5..65f1f804aa 100644
--- a/keyboards/handwired/alcor_dactyl/info.json
+++ b/keyboards/handwired/alcor_dactyl/info.json
@@ -31,7 +31,8 @@
"layout": [
{"x": 0, "y": 0.375},
{"x": 16.5, "y": 0.38}
- ]
+ ],
+ "split_count": [1, 1]
},
"ws2812": {
"pin": "GP16",
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
deleted file mode 100644
index 82277e2158..0000000000
--- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright 2021 Fernando "ManoShu" Rodrigues
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#include "keymap_brazilian_abnt2.h"
-#include "sendstring_brazilian_abnt2.h"
-
-enum {
- LAYER_BASE,
- LAYER_FUNCTIONS
-};
-
-#define L_FUNCT MO(LAYER_FUNCTIONS)
-#define W_CHOLD LGUI_T(KC_CAPS)
-
-//Combination keycodes
-#define KC_PSBR C(KC_PAUSE) // Ctrl+Pause/Break
-#define KC_SNIP SGUI(BR_S) // Screen Snip (GUI + Shift + S)
-#define KC_WRUN G(BR_R) // Run (GUI + R)
-#define KC_WLCK G(BR_L) // Lock (GUI + L)
-#define KC_WDSK G(BR_D) // Desktop (GUI + D)
-#define KC_WEXP G(BR_E) // Explorer (GUI + E)
-#define KC_WPSE G(KC_PAUSE) // System Properties (GUI + Pause)
-#define KC_WMGP G(BR_EQL) // Magnify (+)
-#define KC_WMGM G(BR_MINS) // Magnify (-)
-
-enum custom_keycodes {
- KC_WPRN = SAFE_RANGE, // Project (P)
- KC_WSPC // Input Select (Space)
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- if (get_highest_layer(state) == LAYER_BASE) {
- unregister_mods(MOD_MASK_GUI);
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if(keycode == KC_WPRN || keycode == KC_WSPC) {
- if (record->event.pressed) {
-
- register_code(KC_LGUI);
-
- if(keycode == KC_WPRN) {
- tap_code(KC_P);
- } else if (keycode == KC_WSPC) {
- tap_code(KC_SPACE);
- }
- }
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT(
- /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┠*/
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
- BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC,
- /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
- KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT,
- /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
- W_CHOLD, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC,
- /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
- KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP,
- /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
- KC_LCTL, L_FUNCT, KC_LALT, KC_SPC, KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
- /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
- ),
- [LAYER_FUNCTIONS] = LAYOUT(
- /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┠*/
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP,
- /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WMGM, KC_WMGP, _______,
- /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
- _______, KC_MPLY, KC_MUTE, KC_WEXP, KC_WRUN, _______, _______, _______, _______, _______, KC_WPRN, _______, _______, _______,
- /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
- _______, KC_MPRV, KC_MNXT, KC_WDSK, _______, _______, _______, _______, _______, KC_WLCK, _______, _______, _______,
- /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
- _______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
- _______, _______, _______, KC_WSPC, _______, KC_INS, KC_HOME, KC_PGDN, KC_END
- /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
- )
-}; \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md b/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
deleted file mode 100644
index 1852a0fbc2..0000000000
--- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-![BareDev Layout Image](https://i.imgur.com/FXye4Hn.png)
-
-# ManoShu's custom layout
-
-Has all the functions of a ABNT TKL keyboard, sans right shift.
-
-Basic media functions also included.
-
-Trying to emulate where notebooks/smaller OEM keyboard put the function key, for this reason the GUI key was moved and it can be used by holding the Caps Lock key.
-
-To not use the new GUI position very often, commonly used GUI + [X] commands are sent using `SEND_STRING()`, `(un)register_code()` and `tap_code()`.
-
-## Why you didn't used `LT(FUNCTIONS, KC_LGUI)` on the GUI/FN key?
-Because I don't want rely on the tapping term to determine I will send either KC_HOME or snap the active window to the left.
-
-If there is a better way to solve this, please let me know. \ No newline at end of file
diff --git a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c b/keyboards/handwired/bento/keymaps/cbc02009/keymap.c
deleted file mode 100644
index 57c107b9fc..0000000000
--- a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2019 cbc02009
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-/* LAYER 1
- * ,---------------+-------.
- * |KC_MPRV|KC_MNXT|KC_MUTE|
- * |-------+-------+-------,
- * |KC_MPLY|KC_MSTP|KC_MUTE|
- * `-------+-------+-------'
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_MPRV, KC_MNXT, KC_MUTE, KC_MPLY, KC_MSTP, KC_MUTE)
-};
-
-#ifdef ENCODER_ENABLE
-#include "encoder.h"
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h
index c373743a39..5d8a8a083d 100644
--- a/keyboards/handwired/chiron/keymaps/default/config.h
+++ b/keyboards/handwired/chiron/keymaps/default/config.h
@@ -30,8 +30,8 @@
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-#undef RGBLED_NUM
-#define RGBLED_NUM 2
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 2
#define RGBLED_SPLIT {1, 1}
// Don't turn off lights when the host goes to sleep.
diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h
index 5c52df9ffa..a85f398cae 100644
--- a/keyboards/handwired/colorlice/config.h
+++ b/keyboards/handwired/colorlice/config.h
@@ -21,60 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* RGB LEDs */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_LED_COUNT 70
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/handwired/colorlice/info.json b/keyboards/handwired/colorlice/info.json
index 0f8383a2aa..d81cd849ad 100644
--- a/keyboards/handwired/colorlice/info.json
+++ b/keyboards/handwired/colorlice/info.json
@@ -12,7 +12,55 @@
"pin": "B1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "E6", "B0", "B3"],
diff --git a/keyboards/handwired/d48/ds1307.c b/keyboards/handwired/d48/ds1307.c
index f6b57d50d2..5f4931bbf8 100644
--- a/keyboards/handwired/d48/ds1307.c
+++ b/keyboards/handwired/d48/ds1307.c
@@ -8,13 +8,12 @@ void ds1307_set_time(uint8_t h, uint8_t m, uint8_t s) {
((h % 10) | ((h / 10) << 4)) & 0x3F,
0, 0, 0, 0, 0
}; // 24-hour mode
- i2c_writeReg(DS1307_ADDR, 0, data, 8, 100);
+ i2c_write_register(DS1307_ADDR, 0, data, 8, 100);
}
void ds1307_get_time(uint8_t *h, uint8_t *m, uint8_t *s) {
uint8_t data[3];
- i2c_readReg(DS1307_ADDR, 0, data, 3, 100);
- i2c_stop();
+ i2c_read_register(DS1307_ADDR, 0, data, 3, 100);
*s = (data[0] & 0b1111) + ((data[0] & 0b1110000) >> 4) * 10;
*m = (data[1] & 0b1111) + ((data[1] & 0b1110000) >> 4) * 10;
*h = (data[2] & 0b1111) + ((data[2] & 0b0110000) >> 4) * 10;
diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c
index d87fe4cbd1..140f4236c1 100644
--- a/keyboards/handwired/dactyl/matrix.c
+++ b/keyboards/handwired/dactyl/matrix.c
@@ -216,10 +216,10 @@ void init_expander(void) {
#endif
- expander_status = i2c_writeReg(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT);
+ expander_status = i2c_write_register(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT);
if (expander_status) return;
- expander_status = i2c_writeReg(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT);
+ expander_status = i2c_write_register(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT);
}
uint8_t matrix_scan(void)
@@ -333,7 +333,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// Read columns from expander, unless it's in an error state
if (! expander_status) {
uint8_t state = 0;
- expander_status = i2c_readReg(I2C_ADDR, EXPANDER_COL_REGISTER, &state, 1, I2C_TIMEOUT);
+ expander_status = i2c_read_register(I2C_ADDR, EXPANDER_COL_REGISTER, &state, 1, I2C_TIMEOUT);
if (! expander_status) {
current_matrix[current_row] |= (~state) & expander_input_pin_mask;
}
@@ -359,7 +359,7 @@ static void select_row(uint8_t row) {
// set active row low : 0
// set other rows hi-Z : 1
uint8_t port = 0xFF & ~(1<<row);
- expander_status = i2c_writeReg(I2C_ADDR, EXPANDER_ROW_REGISTER, &port, 1, I2C_TIMEOUT);
+ expander_status = i2c_write_register(I2C_ADDR, EXPANDER_ROW_REGISTER, &port, 1, I2C_TIMEOUT);
}
// select on teensy
@@ -415,7 +415,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
return false;
}
- expander_status = i2c_readReg(I2C_ADDR, EXPANDER_ROW_REGISTER, &column_state, 1, I2C_TIMEOUT);
+ expander_status = i2c_read_register(I2C_ADDR, EXPANDER_ROW_REGISTER, &column_state, 1, I2C_TIMEOUT);
column_state = ~column_state;
} else {
@@ -460,7 +460,7 @@ static void select_col(uint8_t col)
// set active col low : 0
// set other cols hi-Z : 1
uint8_t port = 0xFF & ~(1<<col);
- expander_status = i2c_writeReg(I2C_ADDR, EXPANDER_COL_REGISTER, &port, 1, I2C_TIMEOUT);
+ expander_status = i2c_write_register(I2C_ADDR, EXPANDER_COL_REGISTER, &port, 1, I2C_TIMEOUT);
}
} else {
// select on teensy
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
deleted file mode 100644
index 5774ab7f3b..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2022 Shem Sedrick (@ssedrick)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "print.h"
-
-enum key_layers {
- _BASE,
- _COLEMAK,
- _RAISE,
- _LOWER
-};
-
-enum layer_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
-};
-
-#define RAISE TT(_RAISE)
-#define LOWER MO(_LOWER)
-#define SH_ESC SFT_T(KC_ESC)
-#define UNDSC RSFT(KC_MINS)
-#define MAC_LOCK C(G(KC_D))
-#define ____ KC_TRANSPARENT
-
-#undef TAPPING_TOGGLE
-#define TAPPING_TOGGLE 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
- SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_ENT,
- RAISE, KC_LCTL, KC_BSPC, LOWER
- ),
-
- [_COLEMAK] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
- KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
- ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____
- ),
-
- [_RAISE] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
- QK_RBT, QK_BOOT, ____, ____, ____, ____, KC_1, KC_2, KC_3, ____,
- MAC_LOCK, ____, KC_0, KC_DOT,
- ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____
- ),
-
- [_LOWER] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
- S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, UNDSC, KC_MINS, KC_EQL, KC_BSLS, KC_PIPE,
- KC_MNXT, KC_MPLY, KC_VOLU, KC_VOLD, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- ____, ____, QWERTY, COLEMAK,
- ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____
- )
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // If console is enabled, it will print the matrix position and status of each key pressed
-#ifdef CONSOLE_ENABLE
- uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
-#endif
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_BASE);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- }
- return true;
-}
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h
deleted file mode 100644
index 2ab0c912a3..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2022 Nabos <nabos at glargh dot fr>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define EE_HANDS
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c
deleted file mode 100644
index d118eec92a..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright 2022 Nabos <nabos at glargh dot fr>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _FUNCTIONS,
- _NUMPAD,
- _GAMING
-};
-
-#define FUNCTIONS MO(_FUNCTIONS)
-#define NUMPAD MO(_NUMPAD)
-#define GAMING TG(_GAMING)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_5x6(
- QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_RBRC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_LBRC,
- KC_PGUP, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- KC_PGDN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT,KC_SLSH,_______,
- KC_LEFT,KC_RIGHT, KC_DOWN,KC_UP ,
- KC_LSFT,KC_SPC , KC_ENT ,KC_BSPC,
- KC_LGUI,KC_LALT, FUNCTIONS,KC_RALT,
- KC_DEL ,GAMING , NUMPAD ,KC_RCTL
- ),
-
- [_FUNCTIONS] = 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 ,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_NUMPAD] = LAYOUT_5x6(
- _______,_______,_______,_______,_______,_______, _______,KC_NUM ,_______,_______,KC_MINS,KC_EQL ,
- _______,_______,_______,_______,_______,_______, _______,KC_KP_7,KC_KP_8,KC_KP_9,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_KP_4,KC_KP_5,KC_KP_6,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_KP_1,KC_KP_2,KC_KP_3,_______,KC_PSCR,
- _______,_______, KC_KP_0,KC_PDOT,
- _______,_______, KC_PENT,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_GAMING] = LAYOUT_5x6(
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- KC_T ,KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______,_______,_______,_______,_______,_______,
- KC_G ,KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______,_______,_______,_______,_______,_______,
- KC_B ,KC_LCTL, KC_Z , KC_X , KC_C , KC_V , _______,_______,_______,_______,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- )
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h
deleted file mode 100644
index e97810f8bc..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h
+++ /dev/null
@@ -1,49 +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 MASTER_LEFT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-
-// Mouse
-#undef MOUSEKEY_INTERVAL
-#define MOUSEKEY_INTERVAL 15
-#undef MOUSEKEY_TIME_TO_MAX
-#define MOUSEKEY_TIME_TO_MAX 60
-#undef MOUSEKEY_WHEEL_MAX_SPEED
-#define MOUSEKEY_WHEEL_MAX_SPEED 3
-
-// RGB backlight
-#undef WS2812_DI_PIN
-#define WS2812_DI_PIN D3
-#undef RGBLED_NUM
-#define RGBLED_NUM 30
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLIGHT_LIMIT_VAL 95
-#define RGBLIGHT_SPLIT
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
deleted file mode 100644
index c4887a3dbb..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* A standard layout for the Dactyl Manuform 5x6 Keyboard */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAC,
- _WINDOWS,
- _MOUSE,
- _ARROWS,
- _SYMBOLS,
- _NUMBERS,
- _MEDIA,
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAC] = 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_GRAVE,
- 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_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- KC_LSFT, CTL_T(KC_Z) , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS,
- KC_LALT,KC_LCTL, KC_DEL, KC_PMNS,
- KC_SPC, MO(_ARROWS), MO(_MOUSE), KC_ENT,
- KC_LCMD, MO(_SYMBOLS), KC_EQL, KC_RALT,
- KC_LALT, MO(_NUMBERS), MO(_MEDIA), KC_EJCT
- ),
-
- [_WINDOWS] = LAYOUT_5x6(
-
- _______,_______, _______ ,_______,_______ ,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______, _______ , _______ , _______ ,_______,_______,
- _______,_______,_______,_______,_______ ,_______, _______, _______ , _______ , _______ ,_______,_______,
- _______,_______,_______,_______,_______,_______, _______, _______ , _______ , _______ ,_______ ,_______,
- KC_LCMD,KC_LALT, _______, _______,
- _______,_______, _______,_______,
- KC_LCTL,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
-
- [_MOUSE] = LAYOUT_5x6(
-
- KC_F11,KC_F1, KC_F2 ,KC_F3,KC_F4 ,KC_F5, KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F12,
- _______,_______,_______,KC_WH_U,_______,_______, _______, _______ , KC_MS_U , _______ ,_______,_______,
- _______,_______,KC_WH_L,KC_WH_D,KC_WH_R ,_______, KC_BTN1, KC_MS_L , KC_MS_D , KC_MS_R ,_______,_______,
- _______,_______,KC_ACL0,KC_ACL1,KC_ACL2,_______, _______, KC_BTN2 , _______ , _______ ,_______ ,_______,
- _______,_______, _______, QK_BOOT,
- KC_BTN1,KC_BTN2, _______,_______,
- _______,KC_BTN2, _______,_______,
- _______,_______, _______,_______
-
- ),
- [_ARROWS] = LAYOUT_5x6(
-
- QK_BOOT,_______, _______ ,_______,_______ ,TG(_WINDOWS), _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______, KC_HOME , KC_UP , KC_END ,_______,_______,
- _______,_______,_______,_______,_______ ,_______, KC_HOME, KC_LEFT , KC_DOWN , KC_RIGHT ,KC_END,_______,
- _______,_______,_______,_______,_______,_______, _______, KC_PGDN , _______ , KC_PGUP ,_______ ,_______,
- QK_BOOT,_______, _______, _______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
- [_SYMBOLS] = LAYOUT_5x6(
-
- _______,_______, _______ ,_______,_______ ,_______, KC_CIRC,KC_CIRC,KC_LABK,KC_RABK,_______,_______,
- _______,_______,_______,_______,_______,_______, KC_LABK, KC_AT , KC_LCBR , KC_RCBR ,KC_HASH,KC_RABK,
- _______,_______,_______,_______,_______ ,_______, KC_PERC, KC_EQL , KC_LPRN , KC_RPRN ,KC_DLR,KC_AMPR,
- _______,_______,_______,_______,_______,_______, KC_TILD, KC_GRAVE , KC_LBRC , KC_RBRC ,KC_PIPE ,KC_EXLM,
- _______,_______, KC_PPLS, KC_PMNS,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
- [_NUMBERS] = LAYOUT_5x6(
-
- QK_BOOT,_______, _______ ,_______,_______ ,_______, KC_PSLS,KC_PAST,KC_PPLS,KC_PMNS,_______,_______,
- _______,_______,_______,KC_PSLS,KC_PAST,_______, _______, KC_7 , KC_8 , KC_9 ,_______,_______,
- _______,_______,_______,KC_PMNS,KC_PPLS ,_______, _______, KC_4 , KC_5 , KC_6 ,_______,_______,
- _______,_______,_______,_______,_______,_______, _______, KC_1 , KC_2 , KC_3 ,_______ ,_______,
- _______,_______, KC_0, KC_DOT,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
- [_MEDIA] = LAYOUT_5x6(
-
- KC_MSTP,KC_MPRV, KC_MPLY ,KC_MNXT,_______ ,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,KC_VOLU,_______, RGB_SPI, _______ , _______ , _______ ,_______,_______,
- _______,_______,_______,_______,KC_VOLD ,_______, RGB_TOG, RGB_MODE_FORWARD , RGB_HUI , RGB_SAI ,RGB_VAI,_______,
- _______,_______,_______,_______,KC_MUTE,_______, RGB_SPD, RGB_MODE_REVERSE , RGB_HUD , RGB_SAD ,RGB_VAD ,_______,
- _______,_______, _______, _______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
-};
-
-
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
deleted file mode 100644
index 421a1e6247..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2021 Bartosz Nowak (@dumam)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _QWERTY, // daily use and coding
- _MOVE, // mouse, arrows, browsing useful keys
- _CONF, // machine settings, keyboard settings, backlight
-};
-#define _KC_SPC LT(_CONF, KC_SPC)
-#define _KC_ENT LT(_MOVE, KC_ENT)
-
-#define KC_SPEC SC_SENT // Right Shift when held, Enter when tapped
-#define KC_INS_ KC_INS
-#define KC_TAB_ KC_TAB
-#define RESET__ QK_BOOT
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_6x6_5_thumb(
-
- KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
- KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
- KC_BSLS,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- KC_SLSH,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_LBRC,KC_RBRC,
- KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SCLN,KC_QUOT,
- KC_LGUI,KC_ESC , KC_HOME,KC_END ,
- _KC_SPC, _KC_ENT,
- KC_TAB_,KC_BSPC, KC_DEL ,KC_RSFT,
- KC_LCTL,KC_LALT, KC_RALT,KC_RCTL
- ),
-
- [_CONF] = LAYOUT_6x6_5_thumb(
-
- RESET__,XXXXXXX,XXXXXXX,XXXXXXX,KC_SLEP,KC_WAKE, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RESET__,
- XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_PGUP,XXXXXXX, XXXXXXX,KC_PGUP,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,KC_CAPS,KC_MENU,XXXXXXX,KC_PGDN,KC_LGUI, KC_LGUI,KC_PGDN,XXXXXXX,KC_INS_,KC_PSCR,XXXXXXX,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_MOVE] = LAYOUT_6x6_5_thumb(
-
- RESET__,XXXXXXX,XXXXXXX,KC_MPRV,KC_MPLY,KC_MPLY, KC_MUTE,KC_VOLD,KC_VOLU,XXXXXXX,XXXXXXX,RESET__,
- XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,KC_UP ,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX, XXXXXXX,KC_LEFT,KC_DOWN,KC_RGHT,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,KC_BTN1,KC_BTN3,KC_BTN2,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-};
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c
deleted file mode 100644
index d96ae996a5..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
-Copyright 2021 Raphael Megzari <raphael@megzari.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _COLEMAK_DH,
- _LEFT,
- _LEFT_UP,
- _RIGHT,
- _RIGHT_UP,
- _QWERTY
-};
-
-#define COLMAK TO(_COLEMAK_DH)
-#define QWERTY TO(_QWERTY)
-
-enum custom_keycodes {
- EQ_SUP = SAFE_RANGE,
- INF_EQ,
- SUP_EQ,
- INF_MIN,
- MIN_SUP,
- PIPE_R,
- SUP_SUP,
- INF_INF,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_COLEMAK_DH] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- QWERTY ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_K , KC_Z ,KC_L ,KC_U ,KC_Y ,KC_COLN,_______,
- _______,KC_A ,KC_R ,KC_S ,KC_T ,KC_G , KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,_______,
- KC_LSFT,KC_J ,KC_B ,KC_C ,KC_D ,KC_V , KC_X ,KC_H ,KC_COMM,KC_DOT ,KC_QUES,KC_RSFT,
- KC_K ,KC_V , KC_X ,KC_Z ,
- LT(_RIGHT_UP,KC_BSPC),LSFT_T(KC_ESC), LT(_LEFT, KC_ENT),LT(_LEFT_UP,KC_SPC),
- _______,LCTL_T(KC_DEL), LGUI_T(KC_TAB),_______,
- _______,_______, _______,_______
- ),
-
- [_QWERTY] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- COLMAK ,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_COLN,_______,
- KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_QUES,KC_RSFT,
- _______,_______, _______,_______,
- LT(_RIGHT_UP,KC_BSPC),LSFT_T(KC_ESC), LT(_LEFT, KC_ENT),LT(_LEFT_UP,KC_SPC),
- _______,LCTL_T(KC_DEL), LGUI_T(KC_TAB),_______,
- _______,_______, _______,_______
- ),
-
- [_LEFT] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,KC_PLUS,KC_CIRC,KC_AMPR,_______, _______,KC_EQL ,KC_PERC,KC_HASH,_______,_______,
- _______,_______,KC_TILD,KC_DQUO,KC_PIPE,_______, _______,KC_LPRN,KC_LCBR,KC_LBRC,_______,_______,
- _______,_______,KC_BSLS,KC_ASTR,KC_SLSH,_______, _______,KC_RPRN,KC_RCBR,KC_RBRC,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_LEFT_UP] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,KC_LABK,KC_MINS,KC_RABK,_______, _______,KC_7 ,KC_8 ,KC_9 ,_______,_______,
- _______,_______,KC_UNDS,KC_QUOT,KC_DLR ,KC_GRV , _______,KC_4 ,KC_5 ,KC_6 ,KC_0 ,_______,
- _______,_______,KC_SCLN,KC_AT ,KC_EXLM,_______, _______,KC_1 ,KC_2 ,KC_3 ,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_RIGHT] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_RIGHT_UP] = LAYOUT_6x6(
-
- _______,_______,_______,_______,_______,_______, _______,_______ ,_______ ,_______ ,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______ ,_______ ,_______ ,_______,_______,
- _______,_______,INF_INF,_______,SUP_SUP,_______, _______,LCTL(KC_LEFT),KC_UP ,LCTL(KC_RGHT),_______,_______,
- _______,_______,MIN_SUP,EQ_SUP ,PIPE_R ,_______, _______,KC_LEFT ,KC_DOWN ,KC_RGHT ,LGUI(KC_UP),_______,
- _______,_______,INF_MIN,INF_EQ ,_______,_______, _______,_______ ,KC_CAPS ,_______ ,_______,_______,
- _______,_______, _______ ,_______ ,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case PIPE_R:
- if (record->event.pressed) {
- SEND_STRING("|> ");
- }
- break;
- case EQ_SUP:
- if (record->event.pressed) {
- SEND_STRING("=> ");
- }
- break;
- case INF_EQ:
- if (record->event.pressed) {
- SEND_STRING("<= ");
- }
- break;
- case MIN_SUP:
- if (record->event.pressed) {
- SEND_STRING("-> ");
- }
- break;
- case INF_MIN:
- if (record->event.pressed) {
- SEND_STRING("<- ");
- }
- break;
- case INF_INF:
- if (record->event.pressed) {
- SEND_STRING("<<");
- }
- break;
- case SUP_SUP:
- if (record->event.pressed) {
- SEND_STRING(">>");
- }
- break;
- }
- return true;
-}
-
-
diff --git a/keyboards/handwired/dactyl_minidox/config.h b/keyboards/handwired/dactyl_minidox/config.h
index d84e9b6440..21ef0b32c2 100644
--- a/keyboards/handwired/dactyl_minidox/config.h
+++ b/keyboards/handwired/dactyl_minidox/config.h
@@ -16,11 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// WS2812 RGB LED strip input and number of LEDs
-#define RGB_MATRIX_LED_COUNT 36
-#define RGB_MATRIX_SPLIT { 18, 18 }
-#define RGB_MATRIX_CENTER { 133, 54 }
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#undef LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json
index a94f517b52..36f71ea525 100644
--- a/keyboards/handwired/dactyl_minidox/info.json
+++ b/keyboards/handwired/dactyl_minidox/info.json
@@ -20,7 +20,9 @@
"pin": "D3"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "center_point": [133, 54],
+ "driver": "ws2812",
+ "split_count": [18, 18]
},
"matrix_pins": {
"cols": ["C6", "D7", "E6", "B4", "B5"],
diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
index 783a2c46b1..a37a54c8fc 100644
--- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
+++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
@@ -43,7 +43,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE
// # define RGB_MATRIX_TIMEOUT 300000 // number of milliseconds to wait until disabling effects
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+// # define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h
index f32a9ea4f0..af073f4988 100644
--- a/keyboards/handwired/dygma/raise/config.h
+++ b/keyboards/handwired/dygma/raise/config.h
@@ -20,35 +20,3 @@
// rows are doubled for split
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
-
-#define RGB_MATRIX_LED_COUNT 132
-
-#ifdef RGB_MATRIX_ENABLE
-// At the default flush limit of 16ms (~62.5 fps), the matrix scan rate is approximately
-// ~140 scans per second under full load (when changes are being made to the LED state).
-// Such a low scan rate will have impact the keyboard's accuracy for faster typists.
-//
-// With RGB completely disabled, the matrix scan rate is ~660 scans per second, and typing
-// accuracy feels on par with the Dygma Raise Neuron.
-//
-// At 100ms (10 fps), the matrix scan rate is ~355 scans per second under full load, and typing
-// accuracy is reasonably good.
-#define RGB_MATRIX_LED_FLUSH_LIMIT 100
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#endif
diff --git a/keyboards/handwired/dygma/raise/info.json b/keyboards/handwired/dygma/raise/info.json
index 5c287bcc7e..b9bcd2e639 100644
--- a/keyboards/handwired/dygma/raise/info.json
+++ b/keyboards/handwired/dygma/raise/info.json
@@ -9,7 +9,20 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true
+ },
+ "driver": "custom",
+ "led_flush_limit": 100,
+ "sleep": true
},
"processor": "STM32F411",
"bootloader": "stm32-dfu",
diff --git a/keyboards/handwired/frenchdev/frenchdev.c b/keyboards/handwired/frenchdev/frenchdev.c
index 6eed4de5ff..65f1ccce4b 100644
--- a/keyboards/handwired/frenchdev/frenchdev.c
+++ b/keyboards/handwired/frenchdev/frenchdev.c
@@ -83,23 +83,16 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111, I2C_TIMEOUT); if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111, I2C_TIMEOUT); if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
+ uint8_t data[] = {0b00000000, 0b00111111};
+ mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, data, sizeof(data), I2C_TIMEOUT);
+
+ if (!mcp23018_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, data, sizeof(data), I2C_TIMEOUT);
+ }
// SREG=sreg_prev;
diff --git a/keyboards/handwired/frenchdev/frenchdev.h b/keyboards/handwired/frenchdev/frenchdev.h
index 6bea49d87b..0f1ac7dcaa 100644
--- a/keyboards/handwired/frenchdev/frenchdev.h
+++ b/keyboards/handwired/frenchdev/frenchdev.h
@@ -7,9 +7,7 @@
#include <util/delay.h>
// 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 I2C_ADDR (0b0100000<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/handwired/frenchdev/matrix.c b/keyboards/handwired/frenchdev/matrix.c
index 3e859d47ef..af7c8b5444 100644
--- a/keyboards/handwired/frenchdev/matrix.c
+++ b/keyboards/handwired/frenchdev/matrix.c
@@ -151,7 +151,7 @@ uint8_t matrix_scan(void)
if (matrix_debouncing[i] != cols) {
matrix_debouncing[i] = cols;
if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
+ dprintf("bounce!: %02X\n", debouncing);
}
debouncing = DEBOUNCE;
}
@@ -224,15 +224,9 @@ static matrix_row_t read_cols(uint8_t row)
return 0;
} else {
uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOB, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT); if (mcp23018_status) goto out;
- data = i2c_read_nack(I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
- data = ~((uint8_t)mcp23018_status);
- mcp23018_status = I2C_STATUS_SUCCESS;
- out:
- i2c_stop();
- return data;
+ mcp23018_status = i2c_readReg(I2C_ADDR, GPIOB, &data, 1, I2C_TIMEOUT);
+
+ return ~data;
}
} else {
// read from teensy
@@ -263,11 +257,10 @@ static void unselect_rows(void)
// do nothing
} else {
// set all rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write( 0xFF & ~(0<<8), I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data;
+ data = 0xFF & ~(0<<8);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
+
}
// unselect on teensy
@@ -289,11 +282,8 @@ static void select_row(uint8_t row)
} else {
// set active row low : 0
// set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA, I2C_TIMEOUT); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write( 0xFF & ~(1<<row) & ~(0<<8), I2C_TIMEOUT); if (mcp23018_status) goto out;
- out:
- i2c_stop();
+ uint8_t data = 0xFF & ~(1<<row) & ~(0<<8);
+ mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
}
} else {
// select on teensy
diff --git a/keyboards/handwired/freoduo/keymaps/default/keymap.c b/keyboards/handwired/freoduo/keymaps/default/keymap.c
index bd01de7585..791e6af318 100644
--- a/keyboards/handwired/freoduo/keymaps/default/keymap.c
+++ b/keyboards/handwired/freoduo/keymaps/default/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{0, 7, 0},
{7, 24, HSV_RED},
- {24, RGBLED_NUM, 0}
+ {24, RGBLIGHT_LED_COUNT, 0}
);
// Light all LEDs in green when keyboard layer 1 is active
const rgblight_segment_t PROGMEM layer_lower[] = RGBLIGHT_LAYER_SEGMENTS(
diff --git a/keyboards/handwired/hnah108/config.h b/keyboards/handwired/hnah108/config.h
index bfa158713d..9f9d81bea9 100644
--- a/keyboards/handwired/hnah108/config.h
+++ b/keyboards/handwired/hnah108/config.h
@@ -17,56 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define RGB_MATRIX_LED_COUNT 30
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json
index a399ffedf5..63017532e3 100644
--- a/keyboards/handwired/hnah108/info.json
+++ b/keyboards/handwired/hnah108/info.json
@@ -9,6 +9,51 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h
deleted file mode 100644
index 7b61de013b..0000000000
--- a/keyboards/handwired/hnah40rgb/config.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2019 HnahKB
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 50
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/handwired/hnah40rgb/info.json b/keyboards/handwired/hnah40rgb/info.json
index fce74cefef..51a934564c 100644
--- a/keyboards/handwired/hnah40rgb/info.json
+++ b/keyboards/handwired/hnah40rgb/info.json
@@ -12,7 +12,58 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "ws2812",
+ "led_flush_limit": 16,
+ "max_brightness": 200,
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["D5", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/config.h b/keyboards/handwired/hnah40rgb/keymaps/default/config.h
deleted file mode 100644
index aa9325a59d..0000000000
--- a/keyboards/handwired/hnah40rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 HnahKB
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c b/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
deleted file mode 100644
index fdbc3c8a39..0000000000
--- a/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include QMK_KEYBOARD_H
-
-//Tap Dance Declarations
-enum {
- TD_DOT_COMMAS = 0
-};
-
-//Tap Dance Definitions
-tap_dance_action_t tap_dance_actions[] = {
- //Tap once for Esc, twice for Caps Lock
- [TD_DOT_COMMAS] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA)
-// Other declarations would go here, separated by commas, if you have them
-};
-
-//In Layer declaration, add tap dance item in place of a key code
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ,-------------------.
- * |bcsp| / | * | - |
- * |----|----|----|----|
- * | 7 | 8 | 9 | |
- * |----|----|----| + |
- * | 4 | 5 | 6 | |
- * |----|----|----|----|
- * | 1 | 2 | 3 | |
- * |----|----|----| En |
- * | FN/0 | . | |
- * `-------------------'
- */
-
- [0] = LAYOUT_numpad_5x4(
- KC_BSPC, 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,
- LT(1, KC_P0), TD(TD_DOT_COMMAS), KC_PENT
- ),
- /*
- * ,-------------------.
- * | F10| F11| F12| - |
- * |----|----|----|----|
- * | F7 | F8 | F9 | |
- * |----|----|----| vol|
- * | F4 | F5 | F6 | + |
- * |----|----|----|----|
- * | F1 | F2 | F3 | vol|
- * |----|----|----| - |
- * | FN | . | |
- * `-------------------'
- */
- [1] = LAYOUT_numpad_5x4(
- KC_F10, KC_F11, KC_F12, KC_NO,
- KC_F7, KC_F8, KC_F9,
- KC_F4, KC_F5, KC_F6, KC_VOLU,
- KC_F1, KC_F2, KC_F3,
- KC_NO, KC_PDOT, KC_VOLD
- )
-};
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk b/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/config.h b/keyboards/handwired/lagrange/keymaps/dpapavas/config.h
deleted file mode 100644
index 0114d6c7f9..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 Dimitris Papavasiliou <dpapavas@protonmail.ch>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 175
-#define TAPPING_TERM_PER_KEY
-#define PERMISSIVE_HOLD_PER_KEY
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
deleted file mode 100644
index 8d2ecd9c79..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Copyright 2020 Dimitris Papavasiliou <dpapavas@protonmail.ch>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 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
-
-#define CAPS_SFT MT(MOD_LSFT, KC_CAPS)
-#define QUOT_SFT MT(MOD_RSFT, KC_QUOT)
-#define PSCR_SFT MT(MOD_LSFT, KC_PSCR)
-#define PAUSE_SFT MT(MOD_RSFT, KC_PAUSE)
-#define F_SFT MT(MOD_LSFT, KC_F)
-#define J_SFT MT(MOD_RSFT, KC_J)
-#define PGUP_GUI MT(MOD_LGUI, KC_PGUP)
-#define END_GUI MT(MOD_LGUI, KC_END)
-#define UP_GUI MT(MOD_RGUI, KC_UP)
-#define LEFT_GUI MT(MOD_RGUI, KC_LEFT)
-#define EQL_CTL MT(MOD_RCTL, KC_EQL)
-#define MINS_CTL MT(MOD_LCTL, KC_MINS)
-#define BSPC_ALT LALT_T(KC_BSPC)
-#define ENT_ALT LALT_T(KC_ENT)
-#define SPC_ALT RALT_T(KC_SPC)
-#define DEL_ALT RALT_T(KC_DEL)
-
-enum tapdance_keycodes {
- TD_LEFT,
- TD_RGHT,
- TD_C_X
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- /* Left hand */ /* Right hand */
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CAPS_SFT, KC_A, KC_S, KC_D, F_SFT, KC_G, KC_H, J_SFT, KC_K, KC_L, KC_SCLN, QUOT_SFT,
- PSCR_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, PAUSE_SFT,
-
- TD(TD_LEFT), KC_INS, KC_LBRC, MINS_CTL, BSPC_ALT, DEL_ALT, TD(TD_C_X), TD(TD_C_X), ENT_ALT, SPC_ALT, EQL_CTL, KC_RBRC, KC_DEL, TD(TD_RGHT),
- KC_HOME, PGUP_GUI, END_GUI, LEFT_GUI, UP_GUI, KC_RGHT,
- KC_PGDN, KC_DOWN
- ),
-
- [1] = LAYOUT(
- /* Left hand */ /* Right hand */
-
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS
- ),
-};
-
-/* The following helper macros define tap dances that support
- * separated press, release, tap and double-tap functions. */
-
-#define STEPS(DANCE) [DANCE] = ACTION_TAP_DANCE_FN_ADVANCED( \
- NULL, \
- dance_ ## DANCE ## _finished, \
- dance_ ## DANCE ## _reset)
-
-#define CHOREOGRAPH(DANCE, PRESS, RELEASE, TAP, DOUBLETAP) \
- static bool dance_ ## DANCE ## _pressed; \
- \
- void dance_ ## DANCE ## _finished(tap_dance_state_t *state, void *user_data) { \
- if (state->count == 1) { \
- if (state->pressed) { \
- dance_ ## DANCE ## _pressed = true; \
- PRESS; \
- } else { \
- TAP; \
- } \
- } else if (state->count == 2) { \
- if (!state->pressed) { \
- DOUBLETAP; \
- } \
- } \
- } \
- \
- void dance_ ## DANCE ## _reset(tap_dance_state_t *state, void *user_data) { \
- if (state->count == 1) { \
- if (dance_ ## DANCE ## _pressed) { \
- RELEASE; \
- dance_ ## DANCE ## _pressed = false; \
- } \
- } \
- }
-
-/* Define dance for left palm key. */
-
-CHOREOGRAPH(TD_LEFT,
- layer_invert(1), /* Temporarily toggle layer when held. */
- layer_invert(1),
-
- /* Press and release both shifts on tap, to change
- * keyboard layout (i.e. language). */
-
- SEND_STRING(SS_DOWN(X_LSFT) SS_DOWN(X_RSFT)
- SS_UP(X_LSFT) SS_UP(X_RSFT)),
-
- layer_invert(1)); /* Toggle layer (permanently) on
- * double-tap. */
-
-/* Define dance for right palm key. */
-
-CHOREOGRAPH(TD_RGHT,
- layer_invert(1), /* Same as above */
- layer_invert(1),
- /* Send a complex macro: C-x C-s Mod-t up. (Save in
- * Emacs, switch to terminal and recall previous command,
- * hopefully a compile command.) */
- SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X) SS_TAP(X_S) SS_UP(X_LCTL)
- SS_DOWN(X_LGUI) SS_TAP(X_T) SS_UP(X_LGUI) SS_TAP(X_UP)),
- layer_invert(1));
-
-/* This facilitates C-x chords in Emacs. Used as a modifier along
- * with, say, the s-key, it saves, by sending C-x C-s. When tapped it
- * just sends C-x. */
-
-CHOREOGRAPH(TD_C_X,
- SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X)),
- SEND_STRING(SS_UP(X_LCTL)),
- SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X) SS_UP(X_LCTL)),);
-
-tap_dance_action_t tap_dance_actions[] = {
- STEPS(TD_LEFT), STEPS(TD_RGHT), STEPS(TD_C_X)
-};
-
-/* Set a longer tapping term for palm keys to allow comfortable
- * permanent layer toggle. Also set an essentially infinite tapping
- * term for certain mod-tap keys one tends to keep pressed (such as
- * space, backspace, etc.). This prevents sending the modifier
- * keycode by accident (allowing re-tap to get repeated key-press)
- * and, in combination with permissive hold, they can still be used
- * fine as modifiers. */
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case TD(TD_LEFT):
- case TD(TD_RGHT):
- return 250;
- case BSPC_ALT:
- case UP_GUI:
- case LEFT_GUI:
- return 5000;
- default:
- return TAPPING_TERM;
- }
-}
-
-bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case TD(TD_LEFT):
- case TD(TD_RGHT):
- case BSPC_ALT:
- case UP_GUI:
- case LEFT_GUI:
- return true;
- default:
- return false;
- }
-}
-
-/* Use the first LED to indicate the active layer. */
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(D0, (get_highest_layer(state) > 0));
-
- return state;
-}
-
-/* Cycle through the LEDs after initialization. */
-
-void keyboard_post_init_user(void) {
- const pin_t pins[] = {D0, D1, D2};
- uint8_t i, j;
-
- for (i = 0 ; i < ARRAY_SIZE(pins) + 2 ; i += 1) {
- for (j = 0 ; j < ARRAY_SIZE(pins); j += 1) {
- setPinOutput(pins[j]);
- writePin(pins[j], (j == i || j == i - 1));
- }
-
- wait_ms(100);
- }
-}
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk b/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk
deleted file mode 100644
index 42f42f627a..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Enable additional features.
-
-DEBOUNCE_TYPE = sym_defer_pk
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/macro3/info.json b/keyboards/handwired/macro3/info.json
index fa6cd1c471..fa6cd1c471 100644
--- a/keyboards/macro3/info.json
+++ b/keyboards/handwired/macro3/info.json
diff --git a/keyboards/macro3/keymaps/default/keymap.c b/keyboards/handwired/macro3/keymaps/default/keymap.c
index a7b5cf9db4..a7b5cf9db4 100644
--- a/keyboards/macro3/keymaps/default/keymap.c
+++ b/keyboards/handwired/macro3/keymaps/default/keymap.c
diff --git a/keyboards/macro3/keymaps/default/rules.mk b/keyboards/handwired/macro3/keymaps/default/rules.mk
index ee32568148..ee32568148 100644
--- a/keyboards/macro3/keymaps/default/rules.mk
+++ b/keyboards/handwired/macro3/keymaps/default/rules.mk
diff --git a/keyboards/macro3/macro3.c b/keyboards/handwired/macro3/macro3.c
index 54fce243ab..54fce243ab 100644
--- a/keyboards/macro3/macro3.c
+++ b/keyboards/handwired/macro3/macro3.c
diff --git a/keyboards/handwired/macro3/readme.md b/keyboards/handwired/macro3/readme.md
new file mode 100644
index 0000000000..185496ac8b
--- /dev/null
+++ b/keyboards/handwired/macro3/readme.md
@@ -0,0 +1,26 @@
+# Macro3
+
+![Macro3](https://github.com/filterpaper/filterpaper.github.io/raw/main/images/macro3.png)
+
+Macro3 is a low-profile macro pad with dual encoder support designed by [@davidphilipbarr](https://github.com/davidphilipbarr).
+
+## Keyboard Info
+
+* Keyboard Maintainer: [filterpaper](https://github.com/filterpaper)
+* Hardware Supported: Macro3
+* Hardware Availability: [Open-source](https://github.com/davidphilipbarr/Macropads/tree/main/macro3)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/macro3:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top right key and plug in the controller.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
+* **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material.
+
diff --git a/keyboards/handwired/macro3/rules.mk b/keyboards/handwired/macro3/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/handwired/macro3/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/handwired/marauder/keymaps/orvia/keymap.c b/keyboards/handwired/marauder/keymaps/orvia/keymap.c
deleted file mode 100644
index 53463fa002..0000000000
--- a/keyboards/handwired/marauder/keymaps/orvia/keymap.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Copyright 2021 BB-66
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-
-char wpm_str[4];
-
-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_PAUS, KC_PSCR, KC_SCRL, KC_ESC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, 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_RSFT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_KP_0, KC_KP_DOT
- ),
- [1] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [2] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [3] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-
-};
-
-
-#ifdef OLED_ENABLE
-// WPM-responsive animation stuff here
-# define IDLE_FRAMES 5
-# define IDLE_SPEED 20 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-# define TAP_FRAMES 2
-# define TAP_SPEED 40 // above this wpm value typing animation to trigger
-
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-# define ANIM_SIZE 610 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
-uint8_t current_tap_frame = 0;
-
-// Code containing pixel art, contains:
-// 5 idle frames, 1 prep frame, and 2 tap frames
-
-// To make your own pixel art:
-// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
-// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
-// replace numbers in brackets with your own
-// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
- static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- };
-
- // assumes 1 frame prep stage
- void animation_phase(void) {
- if (get_current_wpm() <= IDLE_SPEED) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
- }
- if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
- // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
- oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
- }
- if (get_current_wpm() >= TAP_SPEED) {
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
- }
- }
- if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-// Used to draw on to the oled screen
-bool oled_task_user(void) {
- render_anim(); // renders pixelart
-
- oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (4 rows, 21 full columns on a 128x32 screen, anything more will overflow back to the top)
- uint8_t n = get_current_wpm();
- wpm_str[3] = '\0';
- wpm_str[2] = '0' + n % 10;
- wpm_str[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
- wpm_str[0] = n / 10 ? '0' + n / 10 : ' ';
- oled_write_P(PSTR("WPM:"), false);
- oled_write(wpm_str, false);
-
- led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
- oled_set_cursor(0, 1);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_set_cursor(0, 2);
- oled_write_P(led_state.num_lock ? PSTR("NUM") : PSTR(" "), false);
- oled_set_cursor(4, 2);
- oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false);
- oled_set_cursor(0, 3);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_P(PSTR("Base Layer\n"), false);
- break;
- case 1:
- oled_write_P(PSTR("Base Enhanced\n"), false);
- break;
- case 2:
- oled_write_P(PSTR("Gaming\n"), false);
- break;
- case 3:
- oled_write_P(PSTR("Gaming Enh\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
- oled_set_cursor(17, 3);
- oled_write_P(PSTR("NKRO"), keymap_config.nkro);
- return false;
-}
-#endif
diff --git a/keyboards/handwired/marauder/keymaps/orvia/rules.mk b/keyboards/handwired/marauder/keymaps/orvia/rules.mk
deleted file mode 100644
index e39f8c6e9e..0000000000
--- a/keyboards/handwired/marauder/keymaps/orvia/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-OLED_ENABLE = yes
-WPM_ENABLE = yes # WPM counting Enable
diff --git a/keyboards/handwired/minorca/keymaps/rgb/config.h b/keyboards/handwired/minorca/keymaps/rgb/config.h
index 4bee6b205d..16e748dd70 100644
--- a/keyboards/handwired/minorca/keymaps/rgb/config.h
+++ b/keyboards/handwired/minorca/keymaps/rgb/config.h
@@ -12,7 +12,7 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 13 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 13 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
deleted file mode 100644
index 916b1154bd..0000000000
--- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# Build Overrides
diff --git a/keyboards/handwired/onekey/keymaps/apa102/config.h b/keyboards/handwired/onekey/keymaps/apa102/config.h
index 756ebb3593..bb618d77fb 100644
--- a/keyboards/handwired/onekey/keymaps/apa102/config.h
+++ b/keyboards/handwired/onekey/keymaps/apa102/config.h
@@ -1,6 +1,6 @@
#pragma once
-#define RGBLED_NUM 40
+#define RGBLIGHT_LED_COUNT 40
#define APA102_DEFAULT_BRIGHTNESS 5
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c
index 65983c8dd8..361a08a760 100644
--- a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c
@@ -13,20 +13,20 @@ static inline void chThdSleepMicroseconds(uint32_t us) {
#endif
void keyboard_post_init_user(void) {
- setPinOutput(QMK_WAITING_TEST_BUSY_PIN);
- setPinOutput(QMK_WAITING_TEST_YIELD_PIN);
+ gpio_set_pin_output(QMK_WAITING_TEST_BUSY_PIN);
+ gpio_set_pin_output(QMK_WAITING_TEST_YIELD_PIN);
}
static inline void wait_us_polling_with_strobe(uint32_t us) {
- writePinHigh(QMK_WAITING_TEST_BUSY_PIN);
+ gpio_write_pin_high(QMK_WAITING_TEST_BUSY_PIN);
wait_us(us);
- writePinLow(QMK_WAITING_TEST_BUSY_PIN);
+ gpio_write_pin_low(QMK_WAITING_TEST_BUSY_PIN);
}
static inline void wait_us_yield_with_strobe(uint32_t us) {
- writePinHigh(QMK_WAITING_TEST_YIELD_PIN);
+ gpio_write_pin_high(QMK_WAITING_TEST_YIELD_PIN);
chThdSleepMicroseconds(us);
- writePinLow(QMK_WAITING_TEST_YIELD_PIN);
+ gpio_write_pin_low(QMK_WAITING_TEST_YIELD_PIN);
}
static const uint32_t waiting_values[] = {0, 1, 5, 10, 25, 50, 100, 150, 200, 500, 1000};
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
new file mode 100644
index 0000000000..7e5b6c0b91
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
@@ -0,0 +1,6 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// TODO: Remove reuse of pin
+#define DIP_SWITCH_PINS { WS2812_DI_PIN }
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
new file mode 100644
index 0000000000..35bb16d458
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
@@ -0,0 +1,14 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_1x1(KC_A),
+ [1] = LAYOUT_ortho_1x1(KC_B),
+};
+
+#if defined(DIP_SWITCH_MAP_ENABLE)
+const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
+ DIP_SWITCH_OFF_ON(DF(0), DF(1))
+};
+#endif
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
new file mode 100644
index 0000000000..b2429854f1
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
@@ -0,0 +1,2 @@
+DIP_SWITCH_ENABLE = yes
+DIP_SWITCH_MAP_ENABLE = yes
diff --git a/keyboards/handwired/onekey/keymaps/i2c_scanner/keymap.c b/keyboards/handwired/onekey/keymaps/i2c_scanner/keymap.c
index ea8443709d..1d1a7c2b00 100644
--- a/keyboards/handwired/onekey/keymaps/i2c_scanner/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/i2c_scanner/keymap.c
@@ -8,16 +8,6 @@
// TODO: remove patch
#ifdef PROTOCOL_CHIBIOS
# pragma message("ChibiOS is currently 'best effort' and might not report accurate results")
-
-i2c_status_t i2c_start_bodge(uint8_t address, uint16_t timeout) {
- i2c_start(address);
-
- // except on ChibiOS where the only way is do do "something"
- uint8_t data = 0;
- return i2c_readReg(address, 0, &data, sizeof(data), TIMEOUT);
-}
-
-# define i2c_start i2c_start_bodge
#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -31,10 +21,9 @@ void do_scan(void) {
for (uint8_t address = 1; address < 127; address++) {
// The i2c_scanner uses the return value of
- // i2c_start to see if a device did acknowledge to the address.
- i2c_status_t error = i2c_start(address << 1, TIMEOUT);
+ // i2c_ping_address to see if a device did acknowledge to the address.
+ i2c_status_t error = i2c_ping_address(address << 1, TIMEOUT);
if (error == I2C_STATUS_SUCCESS) {
- i2c_stop();
dprintf(" I2C device found at address 0x%02X\n", address);
nDevices++;
} else {
diff --git a/keyboards/handwired/onekey/keymaps/rgb/config.h b/keyboards/handwired/onekey/keymaps/rgb/config.h
index 1e54383769..1434c4d0c8 100644
--- a/keyboards/handwired/onekey/keymaps/rgb/config.h
+++ b/keyboards/handwired/onekey/keymaps/rgb/config.h
@@ -1,6 +1,6 @@
#pragma once
-#define RGBLED_NUM 9
+#define RGBLIGHT_LED_COUNT 9
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/handwired/onekey/stm32f3_disco/config.h b/keyboards/handwired/onekey/stm32f3_disco/config.h
index a0e3c54ec1..0927767772 100644
--- a/keyboards/handwired/onekey/stm32f3_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f3_disco/config.h
@@ -4,3 +4,9 @@
#pragma once
#define ADC_PIN A0
+
+#define UART_TX_PIN C4
+#define UART_RX_PIN C5
+
+#define SERIAL_USART_TX_PIN C4
+#define SERIAL_USART_RX_PIN C4
diff --git a/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h b/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h
index 9172860b0f..520a5dc304 100644
--- a/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h
+++ b/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h
@@ -7,3 +7,9 @@
#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE
+
+#undef STM32_SIO_USE_USART1
+#define STM32_SIO_USE_USART1 TRUE
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
diff --git a/keyboards/handwired/orbweaver/config.h b/keyboards/handwired/orbweaver/config.h
index 6a6670a6f6..95a46677c9 100644
--- a/keyboards/handwired/orbweaver/config.h
+++ b/keyboards/handwired/orbweaver/config.h
@@ -18,6 +18,4 @@
#pragma once
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 20
#define I2C1_CLOCK_SPEED 100000
-#define RGB_MATRIX_CENTER { 40, 30 }
diff --git a/keyboards/handwired/orbweaver/info.json b/keyboards/handwired/orbweaver/info.json
index 489a7e2888..14c8718256 100644
--- a/keyboards/handwired/orbweaver/info.json
+++ b/keyboards/handwired/orbweaver/info.json
@@ -13,6 +13,7 @@
"nkro": true
},
"rgb_matrix": {
+ "center_point": [40, 30],
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c
index 63778ea52b..f89d1ca363 100644
--- a/keyboards/handwired/orbweaver/orbweaver.c
+++ b/keyboards/handwired/orbweaver/orbweaver.c
@@ -22,7 +22,7 @@
#include "rgb_matrix.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -60,7 +60,7 @@ led_config_t g_led_config = {
{ 11, 12, 13, 14, 15 },
{ 16, 17, 18, 19, 19 },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED }
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
},
// LED index to physical location
diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h
index 326789b998..9a446a904b 100644
--- a/keyboards/handwired/p65rgb/config.h
+++ b/keyboards/handwired/p65rgb/config.h
@@ -17,60 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define RGB_MATRIX_LED_COUNT 83
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/handwired/p65rgb/info.json b/keyboards/handwired/p65rgb/info.json
index 2fa35c2cbf..3d8e02cf40 100644
--- a/keyboards/handwired/p65rgb/info.json
+++ b/keyboards/handwired/p65rgb/info.json
@@ -12,7 +12,55 @@
"pin": "B4"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"rgblight": {
"max_brightness": 180
diff --git a/keyboards/handwired/pterodactyl/matrix.c b/keyboards/handwired/pterodactyl/matrix.c
index bc98bdd634..0dff65eda6 100644
--- a/keyboards/handwired/pterodactyl/matrix.c
+++ b/keyboards/handwired/pterodactyl/matrix.c
@@ -29,9 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define I2C_TIMEOUT 100
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0b0100000<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
@@ -159,9 +157,6 @@ void init_expander(void) {
#endif
}
- expander_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(IODIRA, I2C_TIMEOUT); if (expander_status) goto out;
-
/*
Pin direction and pull-up depends on both the diode direction
and on whether the column register is GPIOA or GPIOB
@@ -176,50 +171,27 @@ void init_expander(void) {
#if (EXPANDER_COL_REGISTER == GPIOA)
# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
+ uint8_t data[] = { expander_input_pin_mask, 0};
# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
+ uint8_t data[] = { 0, expander_input_pin_mask};
# endif
#elif (EXPANDER_COL_REGISTER == GPIOB)
# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
+ uint8_t data[] = { 0, expander_input_pin_mask};
# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(0, I2C_TIMEOUT); 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, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(GPPUA, I2C_TIMEOUT); if (expander_status) goto out;
-#if (EXPANDER_COL_REGISTER == GPIOA)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
-# endif
-#elif (EXPANDER_COL_REGISTER == GPIOB)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(expander_input_pin_mask, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(0, I2C_TIMEOUT); if (expander_status) goto out;
+ uint8_t data[] = { expander_input_pin_mask, 0};
# endif
#endif
+ expander_status = i2c_writeReg(I2C_ADDR, IODIRA, data, sizeof(data), I2C_TIMEOUT);
+
+ if (!expander_status) {
+ // set pull-up
+ // - unused : off : 0
+ // - input : on : 1
+ // - driving : off : 0
+ expander_status = i2c_writeReg(I2C_ADDR, GPPUA, data, sizeof(data), I2C_TIMEOUT);
+ }
-out:
- i2c_stop();
}
uint8_t matrix_scan(void)
@@ -332,14 +304,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// Read columns from expander, unless it's in an error state
if (! expander_status) {
- expander_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(EXPANDER_COL_REGISTER, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT); if (expander_status) goto out;
-
- current_matrix[current_row] |= (~i2c_read_nack(I2C_TIMEOUT)) & expander_input_pin_mask;
-
- out:
- i2c_stop();
+ uint8_t data;
+ i2c_readReg(I2C_ADDR, EXPANDER_COL_REGISTER, &data, 1, I2C_TIMEOUT);
+ current_matrix[current_row] |= (~data) & expander_input_pin_mask;
}
// Read columns from onboard pins
@@ -361,11 +328,8 @@ static void select_row(uint8_t row) {
if (! expander_status) {
// set active row low : 0
// set other rows hi-Z : 1
- expander_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(EXPANDER_ROW_REGISTER, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(0xFF & ~(1<<row), I2C_TIMEOUT); if (expander_status) goto out;
- out:
- i2c_stop();
+ uint8_t data = 0xFF & ~(1<<row);
+ i2c_writeReg(I2C_ADDR, EXPANDER_ROW_REGISTER, &data, 1, I2C_TIMEOUT);
}
// select on teensy
@@ -421,14 +385,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
return false;
}
- expander_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_write(EXPANDER_ROW_REGISTER, I2C_TIMEOUT); if (expander_status) goto out;
- expander_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT); if (expander_status) goto out;
- column_state = i2c_read_nack(I2C_TIMEOUT);
-
- out:
- i2c_stop();
-
+ i2c_writeReg(I2C_ADDR, EXPANDER_ROW_REGISTER, &column_state, 1, I2C_TIMEOUT);
column_state = ~column_state;
} else {
for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
deleted file mode 100644
index 14ad23cd43..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_RSFT,
- 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, _______, QK_BOOT, _______, _______, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/config.h b/keyboards/handwired/pteron/keymaps/alzafacon/config.h
deleted file mode 100644
index 3bc36a62ae..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
- /* Copyright 2021 Fidel Coria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* override diode direction from keyboard config */
-/* COL2ROW or ROW2COL */
-#undef DIODE_DIRECTION
-#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
deleted file mode 100644
index 1d030599fd..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
+++ /dev/null
@@ -1,120 +0,0 @@
- /* Copyright 2021 Fidel Coria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 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,
- _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/readme.md b/keyboards/handwired/pteron/keymaps/alzafacon/readme.md
deleted file mode 100644
index 0bc5f2704f..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# alzafacon pteron layout
-
-This keymap is for builds with elite-c controllers.
-Also notice `DIODE_DIRECTION COL2ROW`. I prefer to hand-wire this way.
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk b/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk
deleted file mode 100644
index 03323308e7..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# for elite-c
-BOOTLOADER = atmel-dfu
diff --git a/keyboards/handwired/selene/keymaps/bpendragon/keymap.c b/keyboards/handwired/selene/keymaps/bpendragon/keymap.c
deleted file mode 100644
index 4723250e35..0000000000
--- a/keyboards/handwired/selene/keymaps/bpendragon/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2020 Bpendragon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- DBL_0 = SAFE_RANGE,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case DBL_0:
- if(record->event.pressed) {
- SEND_STRING("00");
- }
- break;
- }
- return true;
-};
-
-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_SCRL, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, DBL_0, KC_PDOT
- )
-};
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h b/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
deleted file mode 100644
index 21ba0e5b3d..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2019 John M Daly <jmdaly@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum {
- // Layers
- _L1,
- _L2,
- _L3,
- _L4,
- _L5
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_L1] = LAYOUT_standard( /* Qwerty */
- LT(_L5, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT),
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- MO(_L2), KC_LGUI, MO(_L3), KC_ENT, LT(_L2, KC_SPC), KC_RALT, KC_BSLS, MO(_L4)
- ),
- [_L2] = LAYOUT_standard( /* LAYER 2 */
- 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_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_LBRC, KC_RBRC, KC_MNXT, _______,
- _______, KC_LGUI, _______, _______, _______, _______, _______, MO(_L4)
- ),
- [_L3] = LAYOUT_standard( /* LAYER 3 */
- KC_MINS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_EQL, KC_PIPE, KC_TILD, KC_UNDS, KC_PLUS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_4, KC_5, KC_6, KC_VOLU, KC_INS,
- _______, RGB_TOG, RGB_MOD, RGB_RMOD, KC_DQUO, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L4] = LAYOUT_standard( /* LAYER 4 */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______,
- KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_HOME, KC_END, _______,
- KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_PGDN, KC_F12, _______,
- _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
- ),
- [_L5] = LAYOUT_standard( /* LAYER 5 */
- _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS),
- KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_HOME, KC_END, _______,
- KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_PGDN, KC_F12, _______,
- _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
- )
-};
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md b/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md
deleted file mode 100644
index 5aeae7064f..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# jmdaly's keymap for the steamvan
diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h
index a779dcccab..b1137a0122 100644
--- a/keyboards/handwired/steamvan/rev1/config.h
+++ b/keyboards/handwired/steamvan/rev1/config.h
@@ -24,5 +24,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_SPI_DRIVER SPID1
#define WS2812_SPI_MOSI_PAL_MODE 5
-
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
index a1cbfedc0c..9d283866b4 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -18,15 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// WS2812 RGB LED strip input and number of LEDs
-#define RGB_MATRIX_LED_COUNT 62
-#define RGB_MATRIX_SPLIT { 32, 30 }
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-// #define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80
-
#define SPLIT_TRANSPORT_MIRROR
#define SPLIT_HAND_PIN A6
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
index 9e172c8089..321202383f 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/info.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
@@ -7,7 +7,10 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 80,
+ "sleep": true,
+ "split_count": [32, 30]
},
"matrix_pins": {
"cols": ["C0", "C1", "C2", "C3", "C4", "C5"],
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
index 10986fd25f..a0c3ee0f4e 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
@@ -24,7 +24,7 @@ void matrix_scan_sub_kb(void) {
}
}
-__attribute__((weak)) void bootmagic_lite(void) {
+__attribute__((weak)) void bootmagic_scan(void) {
// We need multiple scans because debouncing can't be turned off.
matrix_scan();
#if defined(DEBOUNCE) && DEBOUNCE > 0
@@ -34,13 +34,13 @@ __attribute__((weak)) void bootmagic_lite(void) {
#endif
matrix_scan();
- uint8_t row = BOOTMAGIC_LITE_ROW;
- uint8_t col = BOOTMAGIC_LITE_COLUMN;
+ uint8_t row = BOOTMAGIC_ROW;
+ uint8_t col = BOOTMAGIC_COLUMN;
-#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_LITE_ROW_RIGHT) && defined(BOOTMAGIC_LITE_COLUMN_RIGHT)
+#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_ROW_RIGHT) && defined(BOOTMAGIC_COLUMN_RIGHT)
if (!is_keyboard_left()) {
- row = BOOTMAGIC_LITE_ROW_RIGHT;
- col = BOOTMAGIC_LITE_COLUMN_RIGHT;
+ row = BOOTMAGIC_ROW_RIGHT;
+ col = BOOTMAGIC_COLUMN_RIGHT;
}
#endif
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
deleted file mode 100644
index ce4066dca2..0000000000
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include QMK_KEYBOARD_H
-
-void keyboard_pre_init_user(void)
-{
- // Set layer LED as an output
- setPinOutput(B0);
-}
-
-layer_state_t layer_state_set_user(layer_state_t state)
-{
- // Switch layer LED accordingly
- switch (get_highest_layer(state)) {
- case 0:
- writePinHigh(B0);
- break;
- case 1:
- writePinLow(B0);
- break;
- }
- return state;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_6x4(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_P4, KC_P5, KC_P6, KC_BSPC,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_UP, KC_PDOT, TT(1),
- KC_LEFT, KC_DOWN, KC_RGHT, BL_STEP
- ),
- [1] = LAYOUT_ortho_6x4(
- KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_K, KC_NO, KC_NO,
- KC_H, KC_NO, KC_L, KC_NO,
- KC_NO, KC_J, KC_NO, KC_NO,
- KC_LSFT, KC_Z, KC_X, KC_TRNS,
- KC_NO, KC_NO, KC_NO, KC_NO
- )
-};
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/layers.json b/keyboards/handwired/tritium_numpad/keymaps/blu/layers.json
deleted file mode 100644
index fca4d01591..0000000000
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/layers.json
+++ /dev/null
@@ -1 +0,0 @@
-[["KC_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS", "KC_P4", "KC_P5", "KC_P6", "KC_BSPC", "KC_P1", "KC_P2", "KC_P3", "KC_PENT", "KC_P0", "KC_UP", "KC_PDOT", "TT(1)", "KC_LEFT", "KC_DOWN", "KC_RGHT", "BL_STEP"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_K", "KC_NO", "KC_NO", "KC_H", "KC_NO", "KC_L", "KC_NO", "KC_NO", "KC_J", "KC_NO", "KC_NO", "KC_LSFT", "KC_Z", "KC_X", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]] \ No newline at end of file
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/readme.md b/keyboards/handwired/tritium_numpad/keymaps/blu/readme.md
deleted file mode 100644
index fd07b155fb..0000000000
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Generated Keymap Layout
-
-This layout was generated by the QMK API. You can find the JSON data used to
-generate this keymap in the file layers.json.
-
-To make use of this file you will need follow the following steps:
-
-* Download or Clone QMK Firmware: <https://github.com/qmk/qmk_firmware/>
-* Extract QMK Firmware to a location on your hard drive
-* Copy this folder into %s
-* You are now ready to compile or use your keymap with the source
-
-More information can be found in the QMK docs: <https://docs.qmk.fm> \ No newline at end of file
diff --git a/keyboards/handwired/uthol/rev2/config.h b/keyboards/handwired/uthol/rev2/config.h
deleted file mode 100644
index f4c4fda7cf..0000000000
--- a/keyboards/handwired/uthol/rev2/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2022 Uthol
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-//RGB Stuff
-#define RGBLIGHT_DEFAULT_HUE 201
diff --git a/keyboards/handwired/uthol/rev2/info.json b/keyboards/handwired/uthol/rev2/info.json
index 89515a8fef..9185e97c43 100644
--- a/keyboards/handwired/uthol/rev2/info.json
+++ b/keyboards/handwired/uthol/rev2/info.json
@@ -4,7 +4,10 @@
"device_version": "0.0.2"
},
"rgblight": {
- "led_count": 39
+ "led_count": 39,
+ "default": {
+ "hue": 201
+ }
},
"ws2812": {
"pin": "E6"
diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h
index a3a2eb1ca0..569a38c699 100644
--- a/keyboards/handwired/uthol/rev3/config.h
+++ b/keyboards/handwired/uthol/rev3/config.h
@@ -32,5 +32,3 @@
#define LOCKING_RESYNC_ENABLE
#define PERMISSIVE_HOLD
-
-#define RGBLIGHT_DEFAULT_HUE 201
diff --git a/keyboards/handwired/uthol/rev3/info.json b/keyboards/handwired/uthol/rev3/info.json
index 79818d4670..dbbce9139d 100644
--- a/keyboards/handwired/uthol/rev3/info.json
+++ b/keyboards/handwired/uthol/rev3/info.json
@@ -16,6 +16,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 201
}
},
"tapping": {
diff --git a/keyboards/handwired/z150/keymaps/zyxx/keymap.c b/keyboards/handwired/z150/keymaps/zyxx/keymap.c
deleted file mode 100644
index 76ee90d9dc..0000000000
--- a/keyboards/handwired/z150/keymaps/zyxx/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2020 DmNosachev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * ,---------------------------------------------------------------------------------------------------------------------------.
- * | F1 | F2 | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backspace| ~` | ScrLk | FN1 |
- * |---------------------------------------------------------------------------------------------------------------------------|
- * | F3 | F4 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | |Home | ↑ |PgUp |PrnSc|
- * |--------------------------------------------------------------------------------------------- ------------------------|
- * | F5 | F6 | Ctrl | A | S | D | F | G | H | J | K | L | ;: | '" | Enter | ↠| ↓ | → | wh+ |
- * |---------------------------------------------------------------------------------------------------------------------------|
- * | F7 | F8 | Shift | Z | X | C | V | B | N | M | , | . | /? | Shift | |\ |End | |PgDn | wh- |
- * |---------------------------------------------------------------------------------------------------------------------- |
- * | F9 | F10 | Alt |FN1 | Space | Alt | Ins | Del | |
- * `---------------------------------------------------------------------------------------------------------------------------'
-*/
- [_BASE] = LAYOUT(
- KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_SCRL, MO(_FN1),
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME, KC_UP, KC_PGUP, KC_PSCR,
- KC_F5, KC_F6, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_WH_U,
- KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_END, KC_NO, KC_PGDN, KC_WH_D,
- KC_F9, KC_F10,KC_LALT, MO(_FN1), KC_SPC, KC_RALT, KC_INS, KC_DEL
- ),
-/*
- * ,---------------------------------------------------------------------------------------------------------------------------.
- * |reset| | | F11 | F12 | au+ | au- | clk | clk+| clk-| clkr| | | | | Delete |NumLk| / | FN1 |
- * |---------------------------------------------------------------------------------------------------------------------------|
- * | | | | | mlb | m↑ | mrb | | | | | | | | | | 7 | 8 | 9 | * |
- * |--------------------------------------------------------------------------------------------- ------------------------|
- * | | | | | m↠| m↓ | m→ | | | | | | | | | 4 | 5 | 6 | - |
- * |---------------------------------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | 1 | 2 | 3 | + |
- * |---------------------------------------------------------------------------------------------------------------------- |
- * | | | |FN1 | | CapsLock| 0 Ins | . Del | |
- * `---------------------------------------------------------------------------------------------------------------------------'
-*/
- [_FN1] = LAYOUT(
- QK_BOOT, _______, _______, KC_F11, KC_F12, AU_ON, AU_OFF, CK_TOGG, CK_UP, CK_DOWN, CK_RST, _______, _______, _______, _______, KC_DEL, KC_NUM, KC_PSLS, _______,
- _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PAST,
- _______, _______, _______ , _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PMNS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PPLS,
- _______, _______, _______, _______, _______, KC_CAPS, KC_P0, KC_PDOT
- )
-};
diff --git a/keyboards/handwired/ziyoulang_k3_mod/config.h b/keyboards/handwired/ziyoulang_k3_mod/config.h
new file mode 100644
index 0000000000..304ca5eb28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/config.h
@@ -0,0 +1,8 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define I2C1_SCL_PIN B10
+#define I2C1_SDA_PIN B11
+#define I2C_DRIVER I2CD2
diff --git a/keyboards/handwired/ziyoulang_k3_mod/halconf.h b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
new file mode 100644
index 0000000000..44602147bb
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json
index 127cc51299..5d4ca7a254 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/info.json
+++ b/keyboards/handwired/ziyoulang_k3_mod/info.json
@@ -2,7 +2,7 @@
"keyboard_name": "ziyoulang k3 mod",
"development_board": "bluepill",
"usb": {
- "device_version": "1.0.0",
+ "device_version": "1.2.0",
"pid": "0xE002",
"vid": "0x5006"
},
@@ -11,10 +11,14 @@
"command": false,
"console": false,
"extrakey": true,
- "mousekey": true,
- "nkro": false
+ "mousekey": false,
+ "nkro": false,
+ "oled": true
},
- "diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "ROW2COL",
"dynamic_keymap": {
"layer_count": 3
},
@@ -78,7 +82,7 @@
{"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]},
{"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]},
{"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]},
- {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+ {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [3, 13]},
{"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]},
{"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]},
{"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]},
@@ -96,7 +100,7 @@
{"label":"L", "x":9.75, "y":3.25, "matrix": [3, 10]},
{"label":":", "x":10.75, "y":3.25, "matrix": [3, 11]},
{"label":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [2, 13]},
{"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]},
{"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]},
{"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]},
@@ -139,4 +143,4 @@
"manufacturer": "Coom",
"maintainer": "coomstoolbox",
"url": ""
-} \ No newline at end of file
+}
diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
index ea877d6786..1e5b99807c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
+++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-LTO_ENABLE = yes
diff --git a/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
new file mode 100644
index 0000000000..8f1da10fe2
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C2
+#define STM32_I2C_USE_I2C2 TRUE
diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md
index 7e247fde19..553f735d4c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/readme.md
+++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md
@@ -23,7 +23,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
[KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram)
-![explanation](https://i.imgur.com/yvhvhoBh.png)
+![explanation](https://i.imgur.com/thGIdOth.png)
## Bootloader
diff --git a/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
new file mode 100644
index 0000000000..cadae4aa28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
@@ -0,0 +1,117 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+#include <stdio.h>
+
+void keyboard_post_init_kb(void) {
+#ifdef CONSOLE_ENABLE
+ debug_enable=true;
+ debug_matrix=true;
+#endif
+ keyboard_post_init_user();
+}
+
+static uint16_t last_keycode = KC_NO;
+static keypos_t last_key = {0, 0};
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ // コンソールãŒæœ‰åŠ¹åŒ–ã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒžãƒˆãƒªãƒƒã‚¯ã‚¹ä¸Šã®ä½ç½®ã¨ã‚­ãƒ¼æŠ¼ä¸‹çŠ¶æ…‹ã‚’出力ã—ã¾ã™
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+#endif
+ if (record->event.pressed) {
+ if (last_keycode != keycode) {
+ last_keycode = keycode;
+ last_key = record->event.key;
+ }
+ }
+ return true;
+}
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+ };
+ oled_write_P(qmk_logo, false);
+#ifdef CONSOLE_ENABLE
+ uprintf("Ziyoulang K3 Mod\n");
+ oled_set_cursor(3, 0);
+ oled_write_P(PSTR("Ziyoulang K3 Mod"), false);
+#endif
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ int uptime_seconds = (int)(timer_read32() / 1000);
+ if (uptime_seconds < 5) {
+ render_logo();
+ return false;
+ }
+
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case 0:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("2\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("3\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ if (led_state.num_lock) {
+ oled_write_P(PSTR("NUM"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.caps_lock) {
+ oled_write_P(PSTR("CAP"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.scroll_lock) {
+ oled_write_P(PSTR("SCR"), true);
+ oled_write_ln_P(PSTR(" "), false);
+ } else {
+ oled_write_ln_P(PSTR(" "), false);
+ }
+
+ // Last Key pressed info
+ oled_write_P(PSTR("kc : "), false);
+ if (last_keycode > 21000) {
+ oled_write_ln_P(PSTR(" Fn"), false);
+ } else {
+ oled_write_ln_P(get_u16_str(last_keycode, ' '), false);
+ }
+ oled_write_P(PSTR("col: "), false);
+ oled_write_P(get_u8_str(last_key.col, ' '), false);
+ oled_write_P(PSTR(",row: "), false);
+ oled_write_P(get_u8_str(last_key.row, ' '), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/heliotrope/config.h b/keyboards/heliotrope/config.h
deleted file mode 100644
index 15d1d77276..0000000000
--- a/keyboards/heliotrope/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2022 MATTMCCA (@MATTMCCA)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#ifdef RGB_MATRIX_ENABLE
-
- #define RGB_MATRIX_LED_COUNT 61 // The number of LEDs connected
-
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
- #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* RGB_MATRIX_KEYPRESSES) | defined(RGB_MATRIX_KEYRELEASES) */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-#endif
-
diff --git a/keyboards/heliotrope/info.json b/keyboards/heliotrope/info.json
index 3b382c7bc9..e173c785e0 100644
--- a/keyboards/heliotrope/info.json
+++ b/keyboards/heliotrope/info.json
@@ -28,6 +28,48 @@
"pin": "A4"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 7, "y": 5},
@@ -91,7 +133,8 @@
{"flags": 4, "matrix": [4, 10], "x": 177, "y": 54},
{"flags": 4, "matrix": [4, 11], "x": 196, "y": 54},
{"flags": 4, "matrix": [4, 13], "x": 215, "y": 54}
- ]
+ ],
+ "react_on_keyup": true
},
"layouts": {
"LAYOUT_60_ansi": {
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index f5eb4c13e1..e1cd9c2e90 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -50,20 +50,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Helix keyboard RGB LED support
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
#ifdef RGBLED_BACK
- #define RGBLED_NUM 25
+ #define RGBLIGHT_LED_COUNT 25
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 130
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index 7ab494522a..8af2a44ecc 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -31,20 +31,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Helix keyboard RGB LED support
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
#ifdef RGBLED_BACK
- #define RGBLED_NUM 32
+ #define RGBLIGHT_LED_COUNT 32
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 120
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/config.h b/keyboards/helix/rev2/keymaps/fraanrosi/config.h
deleted file mode 100644
index 6c816d0acc..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/config.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2021 Franco Rosi <fraanrosi@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// place overrides here
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-#ifndef LED_ANIMATIONS
-# define LED_ANIMATIONS
-#endif
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
- #define RGBLIGHT_EFFECT_ALTERNATING
- #define RGBLIGHT_EFFECT_TWINKLE
-#endif
-
-#undef RGBLIGHT_HUE_STEP
-#define RGBLIGHT_HUE_STEP 4
-
-#ifdef MOUSEKEY_ENABLE
- #undef MOUSEKEY_INTERVAL
- #define MOUSEKEY_INTERVAL 20
-
- #undef MOUSEKEY_TIME_TO_MAX
- #define MOUSEKEY_TIME_TO_MAX 40
-
- #undef MOUSEKEY_MAX_SPEED
- #define MOUSEKEY_MAX_SPEED 6
-
- #undef MOUSEKEY_MOVE_DELTA
- #define MOUSEKEY_MOVE_DELTA 5
-
- #undef MOUSEKEY_DELAY
- #define MOUSEKEY_DELAY 0
-#endif
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c b/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
deleted file mode 100644
index 1bd43ab24a..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2021 Franco Rosi <fraanrosi@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
-
-// Following line allows macro to read current RGB settings
-#ifdef RGBLIGHT_ENABLE
-uint8_t RGB_current_mode;
-HSV CURRENT_COLOR;
-bool caps_is_active = false;
-/*Here I set the first rgb mode*/
-void keyboard_post_init_user(void) {
- rgblight_enable(); // Enables RGB, without saving settings
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
- RGB_current_mode = rgblight_get_mode();
- rgblight_sethsv(HSV_RED);
- CURRENT_COLOR = rgblight_get_hsv();
-}
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- RGBRST,
- RGB_1,
- RGB_2,
- RGB_3,
- RGB_4,
- RGB_5,
- RGB_6,
- RGB_7,
- RGB_8,
- RGB_9
-};
-
-#define LOWER MO(1)
-#define RAISE MO(2)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | CAPS | A | S | D | F | G | | H | J | K | L | Ñ |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Shift | Z | X | C | V | B | { | } | N | M | , | . | - |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Esc | Win | Alt |Raise |Lower |Space |Space |Alt Gr| Left | Up | Down |Right | Ctrl |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_NUHS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, MO(2), MO(1), KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_RCTL
- ),
-
- /*Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Mute | Play |Mouse1|Mouse2| | |Print | |Insert|' ? \ | ¿ ¡ | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |Shine+|Shine-| Vol -| Vol +| | | |Mouse↑| | ´ ¨ |+ * ~ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | < > | | | | | | |Mouseâ†|Mouse↓|Mouse→| | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | Home |PageUp|PageDn| End | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_MUTE, KC_MPLY, KC_BTN1, KC_BTN2, KC_TRNS, KC_PSCR, KC_TRNS, KC_INS, KC_MINS, KC_EQL, KC_TRNS,
- KC_NO, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS,
- KC_TRNS, KC_NUBS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_TRNS
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB1 | RGB2 | RGB3 | RGB4 |RGB ON| | | | MODE+| MODE-| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB5 | RGB6 | RGB7 | RGB8 | RGB9 | | | | HUE+ | HUE- | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | MODE+| MODE-| HUE+ | HUE- | | Reset| | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RGB_1, RGB_2, RGB_3, RGB_4, RGB_TOG, KC_NO, KC_NO, RGB_MOD, RGB_RMOD,KC_NO, KC_NO, KC_NO,
- RGB_5, RGB_6, RGB_7, RGB_8, RGB_9, KC_NO, KC_NO, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- )
-};
-
-// define variables for reactive RGB
-bool TOG_STATUS = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- // not sure how to have keyboard check mode and set it to a variable, so my work around
- // uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { // TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- if (!caps_is_active) {
- RGB_current_mode = rgblight_get_mode();
- CURRENT_COLOR = rgblight_get_hsv();
- }
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- rgblight_sethsv(HSV_BLUE);
- #endif
- }
- layer_on(_LOWER);
- } else {
- #ifdef RGBLIGHT_ENABLE
- if (!caps_is_active) {
- rgblight_mode(RGB_current_mode);
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- } else {
- rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
- rgblight_sethsv(HSV_WHITE);
- }
- #endif
- TOG_STATUS = false;
- layer_off(_LOWER);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- // not sure how to have keyboard check mode and set it to a variable, so my work around
- // uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { // TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- if (!caps_is_active) {
- RGB_current_mode = rgblight_get_mode();
- CURRENT_COLOR = rgblight_get_hsv();
- }
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- rgblight_sethsv(HSV_RED);
- #endif
- }
- layer_on(_RAISE);
- } else {
- #ifdef RGBLIGHT_ENABLE
- if (!caps_is_active) {
- rgblight_mode(RGB_current_mode);
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- } else {
- rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
- rgblight_sethsv(HSV_WHITE);
- }
- #endif
- layer_off(_RAISE);
- TOG_STATUS = false;
- }
- return false;
- break;
- //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case RGB_1 ... RGB_9:
- if (record->event.pressed) {
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- //this to have each custom mode separately, but sharing logic
- switch(keycode){
- case RGB_1:
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD + 1);
- break;
- case RGB_2:
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- break;
- case RGB_3:
- rgblight_mode(RGBLIGHT_MODE_SNAKE);
- break;
- case RGB_4:
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
- break;
- case RGB_5:
- rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5);
- break;
- case RGB_6:
- rgblight_mode(RGBLIGHT_MODE_BREATHING + 3);
- break;
- case RGB_7:
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- case RGB_8:
- rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 5);
- break;
- case RGB_9:
- rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
- break;
- }
- RGB_current_mode = rgblight_get_mode();
- CURRENT_COLOR = rgblight_get_hsv();
- }
- return false;
- break;
- case RGB_TOG ... RGB_HUD:
- if (record->event.pressed) {
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- rgblight_mode(RGB_current_mode);
- process_rgb(keycode, record);
- RGB_current_mode = rgblight_get_mode();
- CURRENT_COLOR = rgblight_get_hsv();
- }
- return false;
- break;
- case KC_CAPS:
- if (record->event.pressed) {
- register_code(KC_CAPS);
- caps_is_active = !caps_is_active;
- if (caps_is_active) {
- CURRENT_COLOR = rgblight_get_hsv();
- rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
- rgblight_sethsv(HSV_WHITE);
- } else if (!caps_is_active) {
- unregister_code(KC_CAPS);
- rgblight_mode(RGB_current_mode);
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- }
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-#ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_get_mode();
- CURRENT_COLOR = rgblight_get_hsv();
-#endif
-}
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/readme.md b/keyboards/helix/rev2/keymaps/fraanrosi/readme.md
deleted file mode 100644
index 71f71bbb99..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/readme.md
+++ /dev/null
@@ -1,40 +0,0 @@
- <!---Copyright 2021 Franco Rosi <fraanrosi@gmail.com> -->
-## Fraanrosi
-A **Latin American Spanish** keymap for Helix/rev2/under, 5 rows.
-Designed to be as simple and more touch typing oriented as possible.
-It was inspired by a DELL Latitude E5470.
-
-## Layers
-
-The Helix obviously does not have enough keys compared to a typical keyboard.
-The keymap has multiple layers, moving extra keys to different layers.
-
-|Priority|Layer ID|Layer Name|Contents|
-| ---- | ---- | --- | --- |
-||0|Qwerty|Qwerty layout (Base)|
-||1|Lower|Symbols, media, function keys and mouse.(Blue)|
-||2|Raise|Underglow RGB config(Red)|
-
-Keymap : http://www.keyboard-layout-editor.com/#/gists/4cd7b4ccda1de5cf9edc56d29b64da30
-### First layer (qwerty).
-
-It contains the "**Ñ**" letter.
-"Caps Lock" key toggle an RGB mode, to alert.
-@ is typed with AltGr+q
-![first-layer](https://i.imgur.com/BaVDVdB.png)
-### Second layer (Lower).
-
-While "Lower" key is pressed, the RBG mode remains BLUE.
-It has the "Symbols, media, function keys and mouse" features.
-It completes the rest of the needed qwerty and F keys.
-![second-layer](https://i.imgur.com/HbDVTfp.png)
-### Third layer (Raise).
-
-While "Raise" key is pressed, the RBG mode remains RED.
-This is the underglow RGB's layer , where can be controlled the modes and hue.
-With reset button for the micros.
-![third-layer](https://i.imgur.com/MF8jjbu.png)
-### All the layers.
- ![all-the-layers](https://i.imgur.com/jn1VI4V.png)
-
- <!---![Keyboard](https://i.imgur.com/Onwmsss.png) -->
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk
deleted file mode 100644
index 688813ce39..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# QMK Standard 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
-#
-# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
-# See TOP/docs/config_options.md for more information.
-#
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes # if firmware size over limit, try this option
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-# AUDIO_ENABLE = yes # Audio output on port C6
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下ã®7ã¤ã®å¤‰æ•°ã‚’å¿…è¦ã«å¿œã˜ã¦ç·¨é›†ã—ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’ã¯ãšã—ã¾ã™ã€‚
-# OLED_ENABLE = no # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-LED_BACK_ENABLE = no
-LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/rev2/keymaps/froggy/config.h b/keyboards/helix/rev2/keymaps/froggy/config.h
deleted file mode 100644
index fea362bcd6..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
-#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
-
-// the froggy keymap does not use the right hand side, so sync_timer is not needed
-#define DISABLE_SYNC_TIMER
-// For the same reason, the following are also not needed
-#undef SPLIT_LAYER_STATE_ENABLE
-#undef SPLIT_LED_STATE_ENABLE
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_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
-
-#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/froggy/helixfont.h b/keyboards/helix/rev2/keymaps/froggy/helixfont.h
deleted file mode 100644
index 5360eace95..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#pragma once
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-static const unsigned char font[] PROGMEM = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
-0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
-0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
-0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
-0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
-0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
-0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
-0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
-0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
-0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
-0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
-0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
-0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
-0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
-0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
-0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
-0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
-0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
-0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
-0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
-0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
-0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
-0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
-0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
-0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
-0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
-0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
-0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
-0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
-0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
-0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
-0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
-0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
-0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
-0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
-0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
-0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
-0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
-0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
-0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
-0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
-0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
-0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
-0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
-0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
-0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
-0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
-0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
-0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
-0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
-0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
-0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
-0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
-0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
-0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
-0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
-0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
-0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
-0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
-0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
-0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
-0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
-0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
-0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
-0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
-0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
-0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
-0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
-0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
-0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
-0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
-0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
-0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
-0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
-0xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
-0x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
-0x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x00, 0x00, 0x24, 0xA4,
-0xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
-0x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
-0x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
-0xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
-0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
-0x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
-0x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
-0xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
-0x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
-0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
-0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
-0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
-0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
-0x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
-0x41, 0x41, 0x41, 0x41, 0x41, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x41,
-0x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
-0x00, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
-0x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
-0x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
-0xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x02, 0x0D, 0x02,
-0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x57, 0x50,
-0x57, 0x54, 0x57, 0x10, 0x50, 0x00,
-0x00, 0x00, 0x97, 0x94, 0x97, 0x94,
-0xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
-0x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
-0x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
-0xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
-0x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
-0x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
-0x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x20, 0x20, 0x50,
-0x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-0x40, 0x30, 0x40, 0x80, 0x89, 0x09,
-0x06, 0x09, 0x09, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
-0x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
-0x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
-0x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
-0x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
-0x47, 0x46, 0x46, 0x46, 0x43, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
-0x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x06, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
-0x36, 0x08, 0x08, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
-0x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
-0x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c
deleted file mode 100644
index 1680147157..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/keymap.c
+++ /dev/null
@@ -1,696 +0,0 @@
-#include QMK_KEYBOARD_H
-#include <string.h>
-
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-#define MAX(x, y) (((x) > (y)) ? (x) : (y))
-
-#define LAYOUT_half( \
- L00, L01, L02, L03, L04, L05, \
- L10, L11, L12, L13, L14, L15, \
- L20, L21, L22, L23, L24, L25, \
- L30, L31, L32, L33, L34, L35, L36, \
- L40, L41, L42, L43, L44, L45, L46 \
-) { \
- { L00, L01, L02, L03, L04, L05, KC_NO }, \
- { L10, L11, L12, L13, L14, L15, KC_NO }, \
- { L20, L21, L22, L23, L24, L25, KC_NO }, \
- { L30, L31, L32, L33, L34, L35, L36 }, \
- { L40, L41, L42, L43, L44, L45, L46 }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, _______ }, \
- { _______, _______, _______, _______, _______, _______, _______ } \
-}
-
-#define DELAY_TIME 75
-static uint16_t key_timer;
-static uint16_t tap_timer;
-static uint16_t delay_registered_code;
-static uint8_t delay_mat_row;
-static uint8_t delay_mat_col;
-static bool delay_key_stat;
-static bool delay_key_pressed;
-static bool tapping_key;
-
-// 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 _OPT 1
-#define _FUNC 2
-#define _SYM 3
-#define _NUM 4
-
-bool RGBAnimation = false; //Flag for LED Layer color Refresh.
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- EISU,
- KANA,
- RGBRST,
- RGBOFF,
- RGB1,
- RGB2,
- RGB3,
- OPT_TAP_SP,
- DESKTOP,
- MAC,
- WIN,
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base
- * ,-----------------------------------------.
- * | C+z | ; | [ | ( | < | { |
- * |------+------+------+------+------+------|
- * | KANA | P | K | R | A | F |
- * |------+------+------+------+------+------|
- * | BS | D | T | H | E | O |
- * |------+------+------+------+------+------+------.
- * | Shift| Y | S | N | I | U |Space |
- * |------+------+------+------+------+------+------|
- * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent |
- * `------------------------------------------------'
- */
- [_BASE] = LAYOUT_half(
- LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR,
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MO(_SYM), MO(_NUM), OPT_TAP_SP, KC_ENT ),
-
- /* Opt
- * ,-----------------------------------------.
- * | Esc | : | ] | ) | > | } |
- * |------+------+------+------+------+------|
- * | EISU| J | M | B | ' | Tab |
- * |------+------+------+------+------+------|
- * | . | V | C | L | Z | Q |
- * |------+------+------+------+------+------+------.
- * | | X | G | W | - | Del | Esc |
- * |------+------+------+------+------+------+------|
- * | | | | , | DTOP | | |
- * `------------------------------------------------'
- */
- [_OPT] = LAYOUT_half(
- KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR,
- EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB,
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
- _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC,
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______
- ),
-
- /* Func
- * ,-----------------------------------------.
- * |RGBRST| Hue | | RST | Mac | Win |
- * |------+------+------+------+------+------|
- * | RGB1 | VAL+ | F7 | F8 | F9 | |
- * |------+------+------+------+------+------|
- * | RGB2 | VAL- | F4 | F5 | F6 | F12 |
- * |------+------+------+------+------+------+------.
- * | RGB3 | F10 | F1 | F2 | F3 | F11 | |
- * |------+------+------+------+------+------+------|
- * |RGBOFF| | | | | | |
- * `------------------------------------------------'
- */
- [_FUNC] = LAYOUT_half(
- RGBRST,RGB_HUI, _______, QK_BOOT, MAC, WIN,
- RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______,
- RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12,
- RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______,
- RGBOFF,_______, _______, _______, _______, _______, _______
- ),
-
- /* Sym
- * ,-----------------------------------------.
- * | Ins | GRV | | PU | PD | ^ |
- * |------+------+------+------+------+------|
- * | | \ | # | = | ? | % |
- * |------+------+------+------+------+------|
- * | | $ | upA | @ | ! | | |
- * |------+------+------+------+------+------+------.
- * | CL | <- | dwA | -> | _ | & | |
- * |------+------+------+------+------+------+------|
- * | | | PS | | ~ | | |
- * `------------------------------------------------'
- */
- [_SYM] = LAYOUT_half(
- KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC,
- _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC,
- _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______,
- _______, _______, KC_PSCR, _______, KC_TILD, _______, _______
- ),
-
- /* Raise
- * ,-----------------------------------------.
- * | | | Func | home | End | |
- * |------+------+------+------+------+------|
- * | | * | 7 | 8 | 9 | - |
- * |------+------+------+------+------+------|
- * | . | / | 4 | 5 | 6 | + |
- * |------+------+------+------+------+------+------.
- * | LN | 0 | 1 | 2 | 3 |C+S+F1| |
- * |------+------+------+------+------+------+------|
- * | | | | , | | | |
- * `------------------------------------------------'
- */
- [_NUM] = LAYOUT_half(
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
- _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS,
- KC_PDOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS,
- KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
- _______, _______, KC_PDOT, KC_COMM, _______, _______, _______
- )
-};
-
-#ifdef AUDIO_ENABLE
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_plover[][2] = SONG(PLOVER_SOUND);
-float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
-#endif
-
-// define variables for reactive RGB
-//bool TOG_STATUS = false;
-int RGB_current_mode;
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
- for(uint8_t i=0; i<MATRIX_ROWS; i++){
- for(uint8_t j=0; j<MATRIX_COLS; j++){
- if( pgm_read_word(&(keymaps[_BASE][i][j]))==keycode){
- *row = i;
- *col = j;
- return true;
- }
- }
- }
- return false;
-}
-
-void unregister_delay_code(void){
- if(delay_registered_code){
- unregister_code(delay_registered_code);
- if (delay_registered_code & QK_LSFT){
- unregister_code(KC_LSFT);
- }
- if (delay_registered_code & QK_LCTL){
- unregister_code(KC_LCTL);
- }
- if (delay_registered_code & QK_LALT){
- unregister_code(KC_LALT);
- }
- if (delay_registered_code & QK_LGUI){
- unregister_code(KC_LGUI);
- }
- delay_registered_code=0;
- }
-}
-
-void register_delay_code(uint8_t layer){
- if(delay_key_stat){
- unregister_delay_code();
-
- uint16_t code = pgm_read_word(&(keymaps[layer][delay_mat_row][delay_mat_col]));
- if (code & QK_LSFT){
- register_code(KC_LSFT);
- }
- if (code & QK_LCTL){
- register_code(KC_LCTL);
- }
- if (code & QK_LALT){
- register_code(KC_LALT);
- }
- if (code & QK_LGUI){
- register_code(KC_LGUI);
- }
- register_code(code);
- delay_registered_code = code;
- delay_key_stat = false;
- tapping_key = true;
- }
-}
-
-#ifdef RGBLIGHT_ENABLE
-struct keybuf {
- char col, row;
- char frame;
-};
-struct keybuf keybufs[256];
-unsigned char keybuf_begin, keybuf_end;
-
-int col, row;
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- #ifdef RGBLIGHT_ENABLE
- col = record->event.key.col;
- row = record->event.key.row;
- if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) {
- int end = keybuf_end;
- keybufs[end].col = col;
- keybufs[end].row = row % 5;
- keybufs[end].frame = 0;
- keybuf_end ++;
- }
- #endif
-
- if(tap_timer&&keycode!=OPT_TAP_SP){
- tapping_key = true;
- }
-
- if(keycode==delay_registered_code){
- if (!record->event.pressed){
- unregister_delay_code();
- }
- }
-
- switch (keycode) {
- case KC_SCLN:
- case KC_LBRC:
- case KC_LPRN:
- case KC_LT:
- case KC_LCBR:
- case KC_P:
- case KC_K:
- case KC_R:
- case KC_A:
- case KC_F:
- case KC_BSPC:
- case KC_D:
- case KC_T:
- case KC_H:
- case KC_E:
- case KC_O:
- case KC_Y:
- case KC_S:
- case KC_N:
- case KC_I:
- case KC_U:
- case LCTL(KC_Z):
- case KC_SPC:
- if (record->event.pressed) {
- register_delay_code(_BASE);
- if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
- key_timer = timer_read();
- delay_key_stat = true;
- delay_key_pressed = true;
- }
- }else{
- delay_key_pressed = false;
- }
- return false;
- break;
- case OPT_TAP_SP:
- if (record->event.pressed) {
- tapping_key = false;
- register_delay_code(_OPT);
- layer_on(_OPT);
- tap_timer = timer_read();
- }else{
- layer_off(_OPT);
- if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
- SEND_STRING(" ");
- }
- tap_timer = 0;
- }
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case DESKTOP:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_F11);
- }else{
- SEND_STRING(SS_LGUI("d"));
- }
- } else {
- unregister_code(KC_F11);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- RGBAnimation = false;
- }
- #endif
- break;
- case RGBOFF:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_disable();
- }
- #endif
- break;
- case RGB1:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- break;
- case RGB2:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- break;
- case RGB3:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- break;
- case MAC:
- if (record->event.pressed) {
- keymap_config.swap_lalt_lgui = false;
- keymap_config.swap_ralt_rgui = false;
- #ifdef AUDIO_ENABLE
- PLAY_SONG(ag_norm_song);
- #endif
- }
- break;
- case WIN:
- if (record->event.pressed) {
- keymap_config.swap_lalt_lgui = true;
- keymap_config.swap_ralt_rgui = true;
- #ifdef AUDIO_ENABLE
- PLAY_SONG(ag_swap_song);
- #endif
- }
- break;
- }
- return true;
-}
-
-
-//keyboard start-up code. Runs once when the firmware starts up.
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_get_mode();
- #endif
-}
-
-
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-#define L_OPT 2
-#define L_FUNC 4
-#define L_SYM 8
-#define L_NUM 16
-#define L_FNLAYER 64
-#define L_NUMLAY 128
-#define L_NLOWER 136
-#define L_NFNLAYER 192
-#define L_MOUSECURSOR 256
-
-// LED Effect
-#ifdef RGBLIGHT_ENABLE
-unsigned char rgb[7][5][3];
-void led_ripple_effect(char r, char g, char b) {
- static int scan_count = -10;
- static int keys[] = { 6, 6, 6, 7, 7 };
- static int keys_sum[] = { 0, 6, 12, 18, 25 };
-
- if (scan_count == -1) {
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- } else if (scan_count >= 0 && scan_count < 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- // FIXME:
-
- int y = scan_count;
- int dist_y = abs(y - keybufs[i].row);
- for (int x=0; x<keys[y]; x++) {
- int dist = abs(x - keybufs[i].col) + dist_y;
- if (dist <= keybufs[i].frame) {
- int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2;
- if (elevation) {
- if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); }
- if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); }
- if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); }
- }
- }
- }
- }
- } else if (scan_count == 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- if (keybufs[i].frame < 18) {
- keybufs[i].frame ++;
- } else {
- keybuf_begin ++;
- }
- }
- } else if (scan_count >= 6 && scan_count <= 10) {
- int y = scan_count - 6;
- for (int x=0; x<keys[y]; x++) {
- int at = keys_sum[y] + ((y & 1) ? x : (keys[y] - x - 1));
- led[at].r = rgb[x][y][0];
- led[at].g = rgb[x][y][1];
- led[at].b = rgb[x][y][2];
- }
- rgblight_set();
- } else if (scan_count == 11) {
- memset(rgb, 0, sizeof(rgb));
- }
- scan_count++;
- if (scan_count >= 12) { scan_count = 0; }
-}
-#endif
-
-uint8_t layer_state_old;
-
-//runs every scan cycle (a lot)
-void matrix_scan_user(void) {
- if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
- register_delay_code(_BASE);
- if(!delay_key_pressed){
- unregister_delay_code();
- }
- }
-
- if(layer_state_old != layer_state){
- switch (layer_state) {
- case L_BASE:
- break;
- case L_OPT:
- register_delay_code(_OPT);
- break;
- case L_NUM:
- register_delay_code(_NUM);
- break;
- case L_SYM:
- register_delay_code(_SYM);
- break;
- case L_FUNC:
- register_delay_code(_FUNC);
- break;
- }
- layer_state_old = layer_state;
- }
-
- #ifdef RGBLIGHT_ENABLE
- if(!RGBAnimation){
- switch (layer_state) {
- case L_BASE:
- #ifdef RGBLED_BACK
- led_ripple_effect(0,112,127);
- #else
- rgblight_setrgb(0,112,127);
- #endif
- break;
- case L_OPT:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,100);
- #else
- rgblight_setrgb(127,0,100);
- #endif
- break;
- case L_NUM:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,23,0);
- #else
- rgblight_setrgb(127,23,0);
- #endif
- break;
- case L_SYM:
- #ifdef RGBLED_BACK
- led_ripple_effect(0,127,0);
- #else
- rgblight_setrgb(0,127,0);
- #endif
- break;
- case L_FUNC:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,61);
- #else
- rgblight_setrgb(127,0,61);
- #endif
- break;
- }
- }
- #endif
-}
-
-//OLED update loop
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_0;
-}
-
-// Render to OLED
-void render_status(void) {
-
- // froggy logo
- static char logo[4][1][17]=
- {
- {
- {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}
- },
- {
- {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}
- },
- {
- {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}
- },
- {
- {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}
- }
- };
-
- static char indctr[8][2][4]=
- {
- // white icon
- {
- {0x60,0x61,0x62,0},
- {0x63,0x64,0}
- },
- {
- {0x80,0x81,0x82,0},
- {0x83,0x84,0}
- },
- {
- {0xa0,0xa1,0xa2,0},
- {0xa3,0xa4,0}
- },
- {
- {0xc0,0xc1,0xc2,0},
- {0xc3,0xc4,0}
- },
- // Black icon
- {
- {0x75,0x76,0x77,0},
- {0x78,0x79,0}
- },
- {
- {0x95,0x96,0x97,0},
- {0x98,0x99,0}
- },
- {
- {0xb5,0xb6,0xb7,0},
- {0xb8,0xb9,0}
- },
- {
- {0xd5,0xd6,0xd7,0},
- {0xd8,0xd9,0}
- },
- };
-
- int rown = 0;
- int rowf = 0;
- int rowa = 0;
- int rows = 0;
-
- //Set Indicator icon
- led_t led_state = host_keyboard_led_state();
- if (led_state.num_lock) { rown = 4; } else { rown = 0; }
- if (led_state.caps_lock) { rowa = 4; } else { rowa = 0; }
- if (led_state.scroll_lock) { rows = 4; } else { rows = 0; }
- if (layer_state == L_FUNC) { rowf = 4; }
-
- oled_write(indctr[rown] [0], false);
- oled_write(indctr[rowf] [1], false);
- oled_write(logo [0] [0], false);
- oled_write(indctr[rown+1][0], false);
- oled_write(indctr[rowf+1][1], false);
- oled_write(logo [1] [0], false);
- oled_write(indctr[rowa+2][0], false);
- oled_write(indctr[rows+2][1], false);
- oled_write(logo [2] [0], false);
- oled_write(indctr[rowa+3][0], false);
- oled_write(indctr[rows+3][1], false);
- oled_write(logo [3] [0], false);
-
-}
-
-bool oled_task_user(void) {
-
-#if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
-#endif
-
- if (is_keyboard_master()) {
- render_status();
- }
- return false;
-}
-
-#endif // end of OLED_ENABLE
diff --git a/keyboards/helix/rev2/keymaps/froggy/readme.md b/keyboards/helix/rev2/keymaps/froggy/readme.md
deleted file mode 100644
index 624e738a6c..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/readme.md
+++ /dev/null
@@ -1,83 +0,0 @@
-Froggy -one hand Helix-
-======
-
-![Imgur](https://i.imgur.com/S1Dw3XW.jpg)
-
-## Features
-It is a one-handed keyboard with reference to Frogpad. Layout Designed by タクマ ([@humid](https://twitter.com/humid)).
-
-## Layout
-### Base
-```
-,-----------------------------------------.
-| C+z | ; | [ | ( | < | { |
-|------+------+------+------+------+------|
-| KANA | P | K | R | A | F |
-|------+------+------+------+------+------|
-| BS | D | T | H | E | O |
-|------+------+------+------+------+------+------.
-| Shift| Y | S | N | I | U | Space|
-|------+------+------+------+------+------+------|
-| Ctrl | Alt | win | Sym | Num | OPT | Ent |
-`------------------------------------------------'
-```
-
-### Opt
-```
-,-----------------------------------------.
-| Esc | : | ] | ) | > | } |
-|------+------+------+------+------+------|
-| EISU | J | M | B | ' | Tab |
-|------+------+------+------+------+------|
-| . | V | C | L | Z | Q |
-|------+------+------+------+------+------+------.
-| | X | G | W | - | Del | Esc |
-|------+------+------+------+------+------+------|
-| | | | , | DTOP | | |
-`------------------------------------------------'
-```
-
-### Num
-```
-,-----------------------------------------.
-| | | Func | home | End | |
-|------+------+------+------+------+------|
-| | * | 7 | 8 | 9 | - |
-|------+------+------+------+------+------|
-| . | / | 4 | 5 | 6 | + |
-|------+------+------+------+------+------+------.
-| LN | 0 | 1 | 2 | 3 |C+S+F1| |
-|------+------+------+------+------+------+------|
-| | | | , | | | |
-`------------------------------------------------'
-```
-
-### Sym
-```
-,-----------------------------------------.
-| Ins | GRV | | PU | PD | ^ |
-|------+------+------+------+------+------|
-| | \ | # | = | ? | % |
-|------+------+------+------+------+------|
-| | $ | upA | @ | ! | | |
-|------+------+------+------+------+------+------.
-| CL | <- | dwA | -> | _ | & | |
-|------+------+------+------+------+------+------|
-| | | PS | | ~ | | |
- `-----------------------------------------------'
-```
-
-### Func
-```
-,-----------------------------------------.
-|RGBRST| Hue | | RST | Mac | Win |
-|------+------+------+------+------+------|
-| RGB1 | VAL+ | F7 | F8 | F9 | |
-|------+------+------+------+------+------|
-| RGB2 | VAL- | F4 | F5 | F6 | F12 |
-|------+------+------+------+------+------+------.
-| RGB3 | F10 | F1 | F2 | F3 | F11 | |
-|------+------+------+------+------+------+------|
-|RGBOFF| | | | | | |
-`------------------------------------------------'
-```
diff --git a/keyboards/helix/rev2/keymaps/froggy/rules.mk b/keyboards/helix/rev2/keymaps/froggy/rules.mk
deleted file mode 100644
index 048ecefff3..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# QMK Standard 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
-#
-# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
-# See TOP/docs/config_options.md for more information.
-#
-LTO_ENABLE = no # if firmware size over limit, try this option
-SPLIT_KEYBOARD = yes
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下ã®7ã¤ã®å¤‰æ•°ã‚’å¿…è¦ã«å¿œã˜ã¦ç·¨é›†ã—ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’ã¯ãšã—ã¾ã™ã€‚
-OLED_ENABLE = yes # OLED_ENABLE
-LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-# OLED_ENABLE ㌠yes ã®ã¨ã
-# OLED_SELECT ㌠core ãªã‚‰ã° QMK 標準㮠oled_dirver.c を使用ã—ã¾ã™ã€‚
-# OLED_SELECT ㌠core 以外ãªã‚‰ã°å¾“æ¥ã©ãŠã‚Š helix/local_drivers/ssd1306.c を使用ã—ã¾ã™ã€‚
-# If OLED_ENABLE is 'yes'
-# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
-# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
-OLED_SELECT = core
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/config.h b/keyboards/helix/rev2/keymaps/froggy_106/config.h
deleted file mode 100644
index 9affa1d296..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
-#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
-
-// the froggy keymap does not use the right hand side, so sync_timer is not needed
-#define DISABLE_SYNC_TIMER
-// For the same reason, the following are also not needed
-#undef SPLIT_LAYER_STATE_ENABLE
-#undef SPLIT_LED_STATE_ENABLE
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_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
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h b/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h
deleted file mode 100644
index 3a79a1937b..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#pragma once
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-static const unsigned char font[] PROGMEM = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
-0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
-0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
-0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
-0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
-0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
-0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
-0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
-0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
-0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
-0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
-0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
-0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
-0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
-0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
-0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
-0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
-0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
-0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
-0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
-0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
-0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
-0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
-0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
-0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
-0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
-0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
-0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
-0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
-0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
-0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
-0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
-0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
-0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
-0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
-0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
-0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
-0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
-0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
-0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
-0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
-0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
-0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
-0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
-0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
-0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
-0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
-0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
-0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
-0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
-0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
-0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
-0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
-0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
-0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
-0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
-0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
-0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
-0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
-0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
-0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
-0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
-0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
-0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
-0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
-0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
-0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
-0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
-0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
-0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
-0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
-0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
-0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
-0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
-0xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
-0x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
-0x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
-0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFC,
-0xFC, 0x00, 0xFC, 0xFC, 0xF0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x20, 0x00, 0x00, 0x24, 0xA4,
-0xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
-0x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
-0x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
-0xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
-0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
-0x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
-0x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
-0xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
-0x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
-0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
-0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
-0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
-0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
-0x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
-0x41, 0x41, 0x41, 0x41, 0x41, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x41,
-0x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
-0x00, 0x20, 0x3C, 0x3E, 0x3E, 0x3E,
-0x3E, 0x00, 0x3E, 0x3E, 0x3E, 0x3E,
-0x38, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
-0x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
-0x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
-0xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-0x00, 0x04, 0x04, 0x1B, 0x04, 0x04,
-0x00, 0x00, 0x00, 0x00, 0x57, 0x50,
-0x57, 0x54, 0x57, 0x10, 0x50, 0x00,
-0x00, 0x00, 0x97, 0x94, 0x97, 0x94,
-0xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
-0x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
-0x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
-0xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
-0x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
-0x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
-0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
-0x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
-0x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x20, 0x20, 0x50,
-0x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x09, 0x09,
-0x06, 0x09, 0x09, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
-0x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
-0x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
-0x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
-0x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
-0x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFC,
-0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
-0x47, 0x46, 0x46, 0x46, 0x43, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
-0x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
-0x00, 0x00, 0x00, 0x3E, 0x73, 0x60,
-0x70, 0x3E, 0x07, 0x03, 0x67, 0x3E,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
-0x36, 0x08, 0x08, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
-0x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
-0x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
-0x00, 0x00, 0x00, 0x03, 0x03, 0x03,
-0x03, 0x3F, 0x63, 0x63, 0x63, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x00, 0x00, 0x07, 0x1F, 0x3F, 0x0F,
-0x07, 0x0F, 0x3F, 0x3F, 0x0F, 0x00,
-0x03, 0x06, 0x00, 0xF0, 0xFB, 0xFB,
-};
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
deleted file mode 100644
index d0a17cb4ae..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
+++ /dev/null
@@ -1,810 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-#include <string.h>
-
-#define LAYOUT_half( \
- L00, L01, L02, L03, L04, L05, \
- L10, L11, L12, L13, L14, L15, \
- L20, L21, L22, L23, L24, L25, \
- L30, L31, L32, L33, L34, L35, L36, \
- L40, L41, L42, L43, L44, L45, L46 \
-) { \
- { L00, L01, L02, L03, L04, L05, KC_NO }, \
- { L10, L11, L12, L13, L14, L15, KC_NO }, \
- { L20, L21, L22, L23, L24, L25, KC_NO }, \
- { L30, L31, L32, L33, L34, L35, L36 }, \
- { L40, L41, L42, L43, L44, L45, L46 }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, KC_NO }, \
- { _______, _______, _______, _______, _______, _______, _______ }, \
- { _______, _______, _______, _______, _______, _______, _______ } \
-}
-
-#define DELAY_TIME 75
-static uint16_t key_timer;
-static uint16_t tap_timer;
-static uint16_t delay_registered_code;
-static uint8_t delay_registered_layer;
-static uint8_t delay_mat_row;
-static uint8_t delay_mat_col;
-static bool delay_key_stat;
-static bool delay_key_pressed;
-static bool tapping_key;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _BASE = 0,
- _BASE_106,
- _OPT,
- _OPT_106,
- _SYM,
- _SYM_106,
- _NUM,
- _NUM_106,
- _FUNC,
- _LAYER_NUM,
-};
-bool RGBAnimation = false; //Flag for LED Layer color Refresh.
-
-typedef union {
- uint32_t raw;
- struct {
- bool mac_mode:1;
- };
-} user_config_t;
-user_config_t user_config;
-
-#define IS_MODE_106() ((default_layer_state & (1UL << _BASE_106)) != 0)
-#define IS_MODE_MAC() (user_config.mac_mode)
-#ifndef MAX
-#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
-#endif
-#ifndef MIN
-#define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
-#endif
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- EISU,
- KANA,
- RGBRST,
- RGBOFF,
- RGB1,
- RGB2,
- RGB3,
- OPT_TAP_SP,
- DESKTOP,
- MAC,
- WIN,
- L_SYM,
- L_NUM,
- TO_106,
- TO_101,
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base
- * ,-----------------------------------------.
- * | C+z | ; | [ | ( | < | { |
- * |------+------+------+------+------+------|
- * | KANA | P | K | R | A | F |
- * |------+------+------+------+------+------|
- * | BS | D | T | H | E | O |
- * |------+------+------+------+------+------+------.
- * | Shift| Y | S | N | I | U |Space |
- * |------+------+------+------+------+------+------|
- * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent |
- * `------------------------------------------------'
- */
- [_BASE] = LAYOUT_half(
- LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR,
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT
- ),
- [_BASE_106] = LAYOUT_half(
- LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR,
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT
- ),
-
- /* Opt
- * ,-----------------------------------------.
- * | Esc | : | ] | ) | > | } |
- * |------+------+------+------+------+------|
- * | EISU| J | M | B | ' | Tab |
- * |------+------+------+------+------+------|
- * | . | V | C | L | Z | Q |
- * |------+------+------+------+------+------+------.
- * | | X | G | W | - | Del | Esc |
- * |------+------+------+------+------+------+------|
- * | | | | , | DTOP | | |
- * `------------------------------------------------'
- */
- [_OPT] = LAYOUT_half(
- KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR,
- EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB,
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
- _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC,
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______
- ),
- [_OPT_106] = LAYOUT_half(
- KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR,
- EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB,
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
- _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC,
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______
- ),
-
- /* Sym
- * ,-----------------------------------------.
- * | Ins | GRV | | PU | PD | ^ |
- * |------+------+------+------+------+------|
- * | | \ | # | = | ? | % |
- * |------+------+------+------+------+------|
- * | | $ | upA | @ | ! | | |
- * |------+------+------+------+------+------+------.
- * | CL | <- | dwA | -> | _ | & | |
- * |------+------+------+------+------+------+------+
- * | | | PS | | ~ | | |
- * `------------------------------------------------'
- */
- [_SYM] = LAYOUT_half(
- KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC,
- _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC,
- _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______,
- _______, _______, KC_PSCR, _______, KC_TILD, _______, _______
- ),
- [_SYM_106] = LAYOUT_half(
- KC_INS, JP_GRV, _______, KC_PGUP, KC_PGDN, JP_CIRC,
- _______, JP_BSLS, JP_HASH, JP_EQL, JP_QUES, JP_PERC,
- _______, JP_DLR, KC_UP, JP_AT, JP_EXLM, JP_PIPE,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,JP_UNDS, JP_AMPR, _______,
- _______, _______, KC_PSCR, _______, JP_TILD, _______, _______
- ),
-
- /* Raise
- * ,-----------------------------------------.
- * | | | Func | home | End | |
- * |------+------+------+------+------+------|
- * | | * | 7 | 8 | 9 | - |
- * |------+------+------+------+------+------|
- * | . | / | 4 | 5 | 6 | + |
- * |------+------+------+------+------+------+------.
- * | LN | 0 | 1 | 2 | 3 |C+S+F1| |
- * |------+------+------+------+------+------+------|
- * | | | . | , | | | |
- * `------------------------------------------------'
- */
- [_NUM] = LAYOUT_half(
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
- _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS,
- KC_DOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS,
- KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
- _______, _______, KC_PDOT, KC_COMM, _______, _______, _______
- ),
- [_NUM_106] = LAYOUT_half(
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
- _______, JP_ASTR, KC_P7, KC_P8, KC_P9, JP_MINS,
- KC_DOT, JP_SLSH, KC_P4, KC_P5, KC_P6, JP_PLUS,
- KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
- _______, _______, KC_PDOT, JP_COMM, _______, _______, _______
- ),
-
- /* Func
- * ,-----------------------------------------.
- * |RGBRST| Hue |To101 | RST | Mac | Win |
- * |------+------+------+------+------+------|
- * | RGB1 | VAL+ | F7 | F8 | F9 |To106 |
- * |------+------+------+------+------+------|
- * | RGB2 | VAL- | F4 | F5 | F6 | F12 |
- * |------+------+------+------+------+------+------.
- * | RGB3 | F10 | F1 | F2 | F3 | F11 | |
- * |------+------+------+------+------+------+------|
- * |RGBOFF| | | | | | |
- * `------------------------------------------------'
- */
- [_FUNC] = LAYOUT_half(
- RGBRST,RGB_HUI, TO_101, QK_BOOT, MAC, WIN,
- RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106,
- RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12,
- RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______,
- RGBOFF,_______, _______, _______, _______, _______, _______
- )
-};
-
-void set_mac_mode(bool enable) {
- if(enable){
- user_config.mac_mode = true;
- keymap_config.swap_lalt_lgui = false;
- keymap_config.swap_ralt_rgui = false;
- }else{
- user_config.mac_mode = false;
- keymap_config.swap_lalt_lgui = true;
- keymap_config.swap_ralt_rgui = true;
- }
- eeconfig_update_user(user_config.raw);
-}
-
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- eeconfig_update_user(user_config.raw);
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
- set_mac_mode(user_config.mac_mode);
-}
-
-bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
- int base_keymap = IS_MODE_106() ? _BASE_106 : _BASE;
- for(uint8_t i=0; i<MATRIX_ROWS; i++){
- for(uint8_t j=0; j<MATRIX_COLS; j++){
- if( pgm_read_word(&(keymaps[base_keymap][i][j]))==keycode){
- *row = i;
- *col = j;
- return true;
- }
- }
- }
- return false;
-}
-
-void unregister_delay_code(void){
- if(delay_registered_code){
- unregister_code(delay_registered_code);
- if (delay_registered_code & QK_LSFT){
- unregister_code(KC_LSFT);
- }
- if (delay_registered_code & QK_LCTL){
- unregister_code(KC_LCTL);
- }
- if (delay_registered_code & QK_LALT){
- unregister_code(KC_LALT);
- }
- if (delay_registered_code & QK_LGUI){
- unregister_code(KC_LGUI);
- }
- delay_registered_code=0;
- delay_registered_layer=0;
- }
-}
-
-void register_delay_code(uint8_t layer){
- if(delay_key_stat){
- unregister_delay_code();
-
- uint16_t code = pgm_read_word(&(keymaps[layer][delay_mat_row][delay_mat_col]));
- if (code & QK_LSFT){
- register_code(KC_LSFT);
- }
- if (code & QK_LCTL){
- register_code(KC_LCTL);
- }
- if (code & QK_LALT){
- register_code(KC_LALT);
- }
- if (code & QK_LGUI){
- register_code(KC_LGUI);
- }
- register_code(code);
- delay_registered_code = code;
- delay_registered_layer = layer;
- delay_key_stat = false;
- tapping_key = true;
- }
-}
-
-#ifdef RGBLIGHT_ENABLE
-struct keybuf {
- char col, row;
- char frame;
-};
-struct keybuf keybufs[256];
-unsigned char keybuf_begin, keybuf_end;
-
-int col, row;
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- #ifdef RGBLIGHT_ENABLE
- col = record->event.key.col;
- row = record->event.key.row;
- if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) {
- int end = keybuf_end;
- keybufs[end].col = col;
- keybufs[end].row = row % 5;
- keybufs[end].frame = 0;
- keybuf_end ++;
- }
- #endif
-
- if(tap_timer&&keycode!=OPT_TAP_SP){
- tapping_key = true;
- }
-
- if(keycode==delay_registered_code){
- if (!record->event.pressed){
- unregister_delay_code();
- }
- }
-
- switch (keycode) {
- case KC_SCLN:
- case KC_LBRC:
- case KC_LPRN:
- case KC_LT:
- case KC_LCBR:
- case KC_P:
- case KC_K:
- case KC_R:
- case KC_A:
- case KC_F:
- case KC_BSPC:
- case KC_D:
- case KC_T:
- case KC_H:
- case KC_E:
- case KC_O:
- case KC_Y:
- case KC_S:
- case KC_N:
- case KC_I:
- case KC_U:
- case LCTL(KC_Z):
- case KC_SPC:
- //case JP_SCLN: // == KC_SCLN
- case JP_LBRC:
- case JP_LPRN:
- //case JP_LABK: // == KC_LT
- case JP_LCBR:
- if (IS_MODE_106()) {
- if (keycode == KC_LBRC || keycode == KC_LPRN || keycode == KC_LCBR)
- break;
- }else{
- if (keycode == JP_LBRC || keycode == JP_LPRN || keycode == JP_LCBR)
- break;
- }
- if (record->event.pressed) {
- if (IS_MODE_106())
- register_delay_code(_BASE_106);
- else
- register_delay_code(_BASE);
- if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
- key_timer = timer_read();
- delay_key_stat = true;
- delay_key_pressed = true;
- }
- }else{
- delay_key_pressed = false;
- }
- return false;
- break;
- case L_SYM:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- register_delay_code(_SYM_106);
- layer_on(_SYM_106);
- }else{
- register_delay_code(_SYM);
- layer_on(_SYM);
- }
- }else{
- layer_off(_SYM);
- layer_off(_SYM_106);
- if(delay_registered_layer == _SYM || delay_registered_layer == _SYM_106) {
- unregister_delay_code();
- }
- }
- return false;
- break;
- case L_NUM:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- register_delay_code(_NUM_106);
- layer_on(_NUM_106);
- }else{
- register_delay_code(_NUM);
- layer_on(_NUM);
- }
- }else{
- layer_off(_NUM);
- layer_off(_NUM_106);
- if(delay_registered_layer == _NUM || delay_registered_layer == _NUM_106) {
- unregister_delay_code();
- }
- }
- return false;
- break;
- case OPT_TAP_SP:
- if (record->event.pressed) {
- tapping_key = false;
- if (IS_MODE_106()) {
- register_delay_code(_OPT_106);
- layer_on(_OPT_106);
- }else{
- register_delay_code(_OPT);
- layer_on(_OPT);
- }
- tap_timer = timer_read();
- }else{
- layer_off(_OPT);
- layer_off(_OPT_106);
- if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
- SEND_STRING(" ");
- }else if(delay_registered_layer == _OPT || delay_registered_layer == _OPT_106) {
- unregister_delay_code();
- }
- tap_timer = 0;
- }
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_LNG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_LNG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case DESKTOP:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_F11);
- }else{
- SEND_STRING(SS_LGUI("d"));
- }
- } else {
- unregister_code(KC_F11);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGBAnimation = false;
- }
- #endif
- break;
- case RGBOFF:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_disable();
- }
- #endif
- break;
- case RGB1:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
- }
- #endif
- break;
- case RGB2:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
- }
- #endif
- break;
- case RGB3:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- }
- #endif
- break;
- case MAC:
- if (record->event.pressed) {
- set_mac_mode(true);
- }
- break;
- case WIN:
- if (record->event.pressed) {
- set_mac_mode(false);
- }
- break;
- case TO_101:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- set_single_persistent_default_layer(_BASE);
- }
- }
- break;
- case TO_106:
- if (record->event.pressed) {
- if (!IS_MODE_106()) {
- set_single_persistent_default_layer(_BASE_106);
- }
- }
- break;
- }
- return true;
-}
-
-// LED Effect
-#ifdef RGBLIGHT_ENABLE
-unsigned char rgb[7][5][3];
-void led_ripple_effect(char r, char g, char b) {
- static int scan_count = -10;
- static int keys[] = { 6, 6, 6, 7, 7 };
- static int keys_sum[] = { 0, 6, 12, 18, 25 };
-
- if (scan_count == -1) {
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- } else if (scan_count >= 0 && scan_count < 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- // FIXME:
-
- int y = scan_count;
- int dist_y = abs(y - keybufs[i].row);
- for (int x=0; x<keys[y]; x++) {
- int dist = abs(x - keybufs[i].col) + dist_y;
- if (dist <= keybufs[i].frame) {
- int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2;
- if (elevation) {
- if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); }
- if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); }
- if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); }
- }
- }
- }
- }
- } else if (scan_count == 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- if (keybufs[i].frame < 18) {
- keybufs[i].frame ++;
- } else {
- keybuf_begin ++;
- }
- }
- } else if (scan_count >= 6 && scan_count <= 10) {
- int y = scan_count - 6;
- for (int x=0; x<keys[y]; x++) {
- int at = keys_sum[y] + ((y & 1) ? x : (keys[y] - x - 1));
- led[at].r = rgb[x][y][0];
- led[at].g = rgb[x][y][1];
- led[at].b = rgb[x][y][2];
- }
- rgblight_set();
- } else if (scan_count == 11) {
- memset(rgb, 0, sizeof(rgb));
- }
- scan_count++;
- if (scan_count >= 12) { scan_count = 0; }
-}
-#endif
-
-layer_state_t layer_state_old;
-
-//runs every scan cycle (a lot)
-void matrix_scan_user(void) {
- if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
- if (IS_MODE_106())
- register_delay_code(_BASE_106);
- else
- register_delay_code(_BASE);
- if(!delay_key_pressed){
- unregister_delay_code();
- }
- }
-
- if(layer_state_old != layer_state){
- for (int8_t i = _LAYER_NUM-1; i > _BASE_106; i--) {
- if(IS_LAYER_ON(i)){
- register_delay_code(i);
- break;
- }
- }
- layer_state_old = layer_state;
- }
-
- #ifdef RGBLIGHT_ENABLE
- if(!RGBAnimation){
- if(IS_LAYER_ON(_FUNC)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,23,0);
- #else
- rgblight_setrgb(127,23,0);
- #endif
- }else if(IS_LAYER_ON(_NUM)||IS_LAYER_ON(_NUM_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,61);
- #else
- rgblight_setrgb(127,0,61);
- #endif
- }else if(IS_LAYER_ON(_SYM)||IS_LAYER_ON(_SYM_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(0,127,0);
- #else
- rgblight_setrgb(0,127,0);
- #endif
- }else if(IS_LAYER_ON(_OPT)||IS_LAYER_ON(_OPT_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,100);
- #else
- rgblight_setrgb(127,0,100);
- #endif
- } else {
- #ifdef RGBLED_BACK
- led_ripple_effect(0,112,127);
- #else
- rgblight_setrgb(0,112,127);
- #endif
- }
- }
- #endif
-}
-
-//OLED update loop
-#ifdef OLED_ENABLE
-
-// Render to OLED
-void render_status(void) {
-
- // froggy logo
- static char logo[4][17]=
- {
- {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0},
- {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0},
- {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0},
- {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0},
- };
-
- static char modectl[4][2][4]=
- {
- {
- {0x65,0x66,0x67,0}, //WIN
- {0x85,0x86,0x87,0}, //WIN
- },
- {
- {0xa5,0xa6,0xa7,0}, //US(101)
- {0xc5,0xc6,0xc7,0}, //US(101)
- },
- {
- {0xbd,0xbe,0xbf,0}, //MAC
- {0xdd,0xde,0xdf,0}, //MAC
- },
- {
- {0xba,0xbb,0xbc,0}, //JP(106)
- {0xda,0xdb,0xdc,0}, //JP(106)
- },
- };
-
- static char indctr[8][2][4]=
- {
- // white icon
- {
- {0x60,0x61,0x62,0}, //NUM
- {0x63,0x64,0} //FUNC
- },
- {
- {0x80,0x81,0x82,0}, //NUM
- {0x83,0x84,0} //FUNC
- },
- {
- {0xa0,0xa1,0xa2,0}, //CAPS
- {0xa3,0xa4,0} //SCLK
- },
- {
- {0xc0,0xc1,0xc2,0}, //CAPS
- {0xc3,0xc4,0} //SCLK
- },
- // Black icon
- {
- {0x75,0x76,0x77,0}, //NUM
- {0x78,0x79,0} //FUNC
- },
- {
- {0x95,0x96,0x97,0}, //NUM
- {0x98,0x99,0} //FUNC
- },
- {
- {0xb5,0xb6,0xb7,0}, //CAPS
- {0xb8,0xb9,0} //SCLK
- },
- {
- {0xd5,0xd6,0xd7,0}, //CAPS
- {0xd8,0xd9,0} //SCLK
- },
- };
-
- int rown = 0;
- int rowf = 0;
- int rowa = 0;
- int rows = 0;
- int rowm = 0;
- int rowj = 1;
-
- //Set Indicator icon
- led_t led_state = host_keyboard_led_state();
- if (led_state.num_lock) { rown = 4; }
- if (led_state.caps_lock) { rowa = 4; }
- if (led_state.scroll_lock) { rows = 4; }
- if (IS_LAYER_ON(_FUNC)) { rowf = 4; }
-
- //Set Mode icon
- if (IS_MODE_MAC()) { rowm = 2; }
- if (IS_MODE_106()) { rowj = 3; }
-
- oled_write(indctr[rown] [0], false);
- oled_write(indctr[rowf] [1], false);
- oled_write(modectl[rowm] [0], false);
- oled_write(logo[0], false);
- oled_write(indctr[rown+1][0], false);
- oled_write(indctr[rowf+1][1], false);
- oled_write(modectl[rowm] [1], false);
- oled_write(logo[1], false);
- oled_write(indctr[rowa+2][0], false);
- oled_write(indctr[rows+2][1], false);
- oled_write(modectl[rowj] [0], false);
- oled_write(logo[2], false);
- oled_write(indctr[rowa+3][0], false);
- oled_write(indctr[rows+3][1], false);
- oled_write(modectl[rowj] [1], false);
- oled_write(logo[3], false);
-
-}
-
-bool oled_task_user(void) {
-
-#if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
-#endif
-
- if (is_keyboard_master()) {
- render_status();
- }
- return false;
-}
-
-#endif // end of OLED_ENABLE
-
-// Local Variables:
-// mode: c++
-// truncate-lines: t
-// indent-tabs-mode: nil
-// End:
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/readme.md b/keyboards/helix/rev2/keymaps/froggy_106/readme.md
deleted file mode 100644
index 911fb40432..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/readme.md
+++ /dev/null
@@ -1,85 +0,0 @@
-Froggy -one hand Helix- with 106-key mode
-======
-
-![Imgur](https://i.imgur.com/S1Dw3XW.jpg)
-
-## Features
-It is a one-handed keyboard with reference to Frogpad. Layout Designed by タクマ ([@humid](https://twitter.com/humid)).
-
-This keymap has 106-key mode, This is usable when keyboard setting of OS is OADG 106/109 keyboard.
-
-## Layout
-### Base
-```
-,-----------------------------------------.
-| C+z | ; | [ | ( | < | { |
-|------+------+------+------+------+------|
-| KANA | P | K | R | A | F |
-|------+------+------+------+------+------|
-| BS | D | T | H | E | O |
-|------+------+------+------+------+------+------.
-| Shift| Y | S | N | I | U | Space|
-|------+------+------+------+------+------+------|
-| Ctrl | Alt | win | Sym | Num | OPT | Ent |
-`------------------------------------------------'
-```
-
-### Opt
-```
-,-----------------------------------------.
-| Esc | : | ] | ) | > | } |
-|------+------+------+------+------+------|
-| EISU | J | M | B | ' | Tab |
-|------+------+------+------+------+------|
-| . | V | C | L | Z | Q |
-|------+------+------+------+------+------+------.
-| | X | G | W | - | Del | Esc |
-|------+------+------+------+------+------+------|
-| | | | , | DTOP | | |
-`------------------------------------------------'
-```
-
-### Num
-```
-,-----------------------------------------.
-| | | Func | home | End | |
-|------+------+------+------+------+------|
-| | * | 7 | 8 | 9 | - |
-|------+------+------+------+------+------|
-| . | / | 4 | 5 | 6 | + |
-|------+------+------+------+------+------+------.
-| LN | 0 | 1 | 2 | 3 |C+S+F1| |
-|------+------+------+------+------+------+------|
-| | | | , | | | |
-`------------------------------------------------'
-```
-
-### Sym
-```
-,-----------------------------------------.
-| Ins | GRV | | PU | PD | ^ |
-|------+------+------+------+------+------|
-| | \ | # | = | ? | % |
-|------+------+------+------+------+------|
-| | $ | upA | @ | ! | | |
-|------+------+------+------+------+------+------.
-| CL | <- | dwA | -> | _ | & | |
-|------+------+------+------+------+------+------|
-| | | PS | | ~ | | |
- `-----------------------------------------------'
-```
-
-### Func
-```
-,-----------------------------------------.
-|RGBRST| Hue | to101| RST | Mac | Win |
-|------+------+------+------+------+------|
-| RGB1 | VAL+ | F7 | F8 | F9 | to106|
-|------+------+------+------+------+------|
-| RGB2 | VAL- | F4 | F5 | F6 | F12 |
-|------+------+------+------+------+------+------.
-| RGB3 | F10 | F1 | F2 | F3 | F11 | |
-|------+------+------+------+------+------+------|
-|RGBOFF| | | | | | |
-`------------------------------------------------'
-```
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk b/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
deleted file mode 100644
index b77e8af4f2..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# QMK Standard 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
-#
-# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
-# See TOP/docs/config_options.md for more information.
-#
-LTO_ENABLE = yes # if firmware size over limit, try this option
-SPLIT_KEYBOARD = yes
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下ã®7ã¤ã®å¤‰æ•°ã‚’å¿…è¦ã«å¿œã˜ã¦ç·¨é›†ã—ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’ã¯ãšã—ã¾ã™ã€‚
-OLED_ENABLE = yes # OLED_ENABLE
-LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-# OLED_ENABLE ㌠yes ã®ã¨ã
-# OLED_SELECT ㌠core ãªã‚‰ã° QMK 標準㮠oled_dirver.c を使用ã—ã¾ã™ã€‚
-# OLED_SELECT ㌠core 以外ãªã‚‰ã°å¾“æ¥ã©ãŠã‚Š helix/local_drivers/ssd1306.c を使用ã—ã¾ã™ã€‚
-# If OLED_ENABLE is 'yes'
-# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
-# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
-OLED_SELECT = core
diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h
index 000f99834a..cc1a925295 100644
--- a/keyboards/helix/rev3_4rows/config.h
+++ b/keyboards/helix/rev3_4rows/config.h
@@ -39,18 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Split hand configration */
#define SPLIT_HAND_MATRIX_GRID D7,B2
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 50
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#endif
/* Custom font */
#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json
index 79d4847c7b..a1752d0123 100644
--- a/keyboards/helix/rev3_4rows/info.json
+++ b/keyboards/helix/rev3_4rows/info.json
@@ -12,7 +12,10 @@
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 150,
+ "split_count": [25, 25],
+ "sleep": true
},
"dip_switch": {
"matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ]
diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h
index 44bbc5f194..733f8b5a55 100644
--- a/keyboards/helix/rev3_5rows/config.h
+++ b/keyboards/helix/rev3_5rows/config.h
@@ -39,18 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Split hand configration */
#define SPLIT_HAND_MATRIX_GRID D7,B2
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 64
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#endif
/* Custom font */
#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json
index 5eb5aee93f..57d4e11dfe 100644
--- a/keyboards/helix/rev3_5rows/info.json
+++ b/keyboards/helix/rev3_5rows/info.json
@@ -12,7 +12,7 @@
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
"layout": [
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
@@ -80,7 +80,8 @@
{"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
],
"max_brightness": 128,
- "split_count": [32, 32]
+ "split_count": [32, 32],
+ "sleep": true
},
"dip_switch": {
"matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ]
@@ -102,8 +103,7 @@
"split_count": [32, 32],
"animations": {
"rainbow_mood": true,
- "rainbow_swirl": true,
- "static_gradient": true
+ "rainbow_swirl": true
}
},
"processor": "atmega32u4",
diff --git a/keyboards/hfdkb/ac001/config.h b/keyboards/hfdkb/ac001/config.h
index 7d38c7392c..e069609fad 100644
--- a/keyboards/hfdkb/ac001/config.h
+++ b/keyboards/hfdkb/ac001/config.h
@@ -16,9 +16,6 @@
#pragma once
-/* ws2812 RGB LED */
-#define RGB_MATRIX_LED_COUNT 5
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
@@ -33,60 +30,4 @@
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-//#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-//#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-//#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-//#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-//#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-//#define ENABLE_RGB_MATRIX_DUAL_BEACON
-//#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//#define ENABLE_RGB_MATRIX_RAINDROPS
-// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-//#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-//#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-//#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define USB_SUSPEND_WAKEUP_DELAY 1500 //Wakeup host USB
-
diff --git a/keyboards/hfdkb/ac001/info.json b/keyboards/hfdkb/ac001/info.json
index 3f896d5988..4c45251504 100644
--- a/keyboards/hfdkb/ac001/info.json
+++ b/keyboards/hfdkb/ac001/info.json
@@ -10,7 +10,16 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "rainbow_moving_chevron": true,
+ "multisplash": true
+ },
+ "driver": "ws2812",
+ "react_on_keyup": true,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A5", "A6", "A7", "C4", "C5"],
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/README.md b/keyboards/hhkb/ansi/keymaps/cinaeco/README.md
deleted file mode 100644
index c1c48e6093..0000000000
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# QMK Keyboard Firmware for HHKB
-
-## Modifications
-
-### HHKB Fn Layer
-
-Added some Media keys.
-
-### Utility Layer (SpaceFN)
-
-Hold `Space` for:
-
-- Vi-style direction keys.
-- WASD-style mouse keys.
-- Dynamic macro playback on `1` and `2`.
-- Qwerty/Colemak/Dvorak layout selection on `-`, `=` and `\ `
-
-### Dynamic Macros
-
-Hold `q` and press:
-
-- `1` or `2` to record macro 1 or 2.
-- `s` to stop recording.
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h b/keyboards/hhkb/ansi/keymaps/cinaeco/config.h
deleted file mode 100644
index ed660722c2..0000000000
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-#define MANUFACTURER "QMK"
-#define PRODUCT "HHKB QMK cinaeco"
-
-// Increase "Tap" detection window. Avoid missing 'q' or 'z' when typing slowly.
-#undef TAPPING_TERM
-#define TAPPING_TERM 230
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c b/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c
deleted file mode 100644
index 5ad8bee641..0000000000
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- eval: (turn-on-orgtbl); -*-
- * cinaeco's HHKB Layout
- */
-#include QMK_KEYBOARD_H
-
-// Layers.
-#define QWER 0
-#define COLE 1
-#define DVOR 2
-#define HHKB 3
-#define UTIL 4
-#define MREC 5
-
-// Easier-to-read Layer Arrays.
-#define ____ KC_TRNS
-
-enum hhkb_keycodes
-{
- DYNAMIC_MACRO_RANGE = SAFE_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWER Layer: Qwerty Default
- *
- * ,--------------------------------------------------------------.
- * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|
- * |--------------------------------------------------------------|
- * |Tab |Q/MREC| W| E| R| T| Y| U| I| O| P| [| ]|Backs|
- * |--------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Ent/Ctrl|
- * |--------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0|
- * `--------------------------------------------------------------'
- * |Alt|Gui | Space/UTIL |Gui |Alt|
- * `-------------------------------------------'
- *
- */
-
- [QWER] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, LT(MREC, KC_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, CTL_T(KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
- KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
-
- /* COLE Layer: Colemak
- *
- * ,--------------------------------------------------------------.
- * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|
- * |--------------------------------------------------------------|
- * |Tab |Q/MREC| W| F| P| G| J| L| U| Y| ;| [| ]|Backs|
- * |--------------------------------------------------------------|
- * |Ctrl | A| R| S| T| D| H| N| E| I| O| '|Ent/Ctrl|
- * |--------------------------------------------------------------|
- * |Shift | Z| X| C| V| K| B| M| ,| .| /|Shift |Fn0|
- * `--------------------------------------------------------------'
- * |Alt|Gui | Space/UTIL |Gui |Alt|
- * `-------------------------------------------'
- *
- */
-
- [COLE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, LT(MREC, KC_Q), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, CTL_T(KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_K, KC_B, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
- KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
-
- /* DVOR Layer: Dvorak
- *
- * ,--------------------------------------------------------------.
- * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| `|
- * |--------------------------------------------------------------|
- * |Tab |'/MREC| ,| .| P| Y| F| G| C| R| L| /| =|Backs|
- * |--------------------------------------------------------------|
- * |Ctrl | A| O| E| U| I| D| H| T| N| S| -|Ent/Ctrl|
- * |--------------------------------------------------------------|
- * |Shift | ;| Q| J| K| X| B| M| W| V| Z|Shift |Fn0|
- * `--------------------------------------------------------------'
- * |Alt|Gui | Space/UTIL |Gui |Alt|
- * `-------------------------------------------'
- *
- */
-
- [DVOR] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
- KC_TAB, LT(MREC, 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_BSPC,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, CTL_T(KC_ENT),
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(HHKB),
- KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
-
- /* HHKB Layer: HHKB mode (HHKB Fn)
- *
- * ,-----------------------------------------------------------.
- * |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
- * |-----------------------------------------------------------|
- * |Caps |PLA|PRV|NXT| | | | |Psc|Slk|Pus|Up | |Backs|
- * |-----------------------------------------------------------|
- * | |VoD|VoU|Mut|Ejc| | *| /|Hom|PgU|Lef|Rig|Enter |
- * |-----------------------------------------------------------|
- * | | | | | | | +| -|End|PgD|Dow| | |
- * `-----------------------------------------------------------'
- * | | | |STOP | |
- * `-------------------------------------------'
- */
-
- [HHKB] = LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, KC_MPLY, KC_MPRV, KC_MNXT, ____, ____, ____, ____, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ____, KC_BSPC,
- ____, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, ____, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- ____, ____, ____, ____, ____, ____, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ____, ____,
- ____, ____, ____, KC_MSTP, ____),
-
- /* UTIL Layer: Extra utilities
- *
- * ,-------------------------------------------------------------.
- * |DFU|PLY1|PLY2| | | | | | | | |QWE|COL|DVO|DBG|
- * |-------------------------------------------------------------|
- * | |MLB |M-Up|MRB|MwU| |Hom|PgD|PgU|End| | | | |
- * |-------------------------------------------------------------|
- * | |M-Lt|M-Dn|M-R|MwD| |LEF|DOW|UP |RIG| | | |
- * |-------------------------------------------------------------|
- * | | | | | |SPC| | | | | | | |
- * `-------------------------------------------------------------'
- * | | | | | |
- * `-------------------------------------------'
- *
- */
-
- [UTIL] = LAYOUT(
- QK_BOOT, DM_PLY1, DM_PLY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DB_TOGG,
- ____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____,
- ____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____,
- ____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____),
-
- /* MREC Layer: Record macros with `q`
- *
- * ,-------------------------------------------------------------.
- * | |REC1|REC2| | | | | | | | | | | | |
- * |-------------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------|
- * | | |RSTP| | | | | | | | | | |
- * |-------------------------------------------------------------|
- * | | | | | | | | | | | | | |
- * `-------------------------------------------------------------'
- * | | | | | |
- * `-------------------------------------------'
- *
- */
-
- [MREC] = LAYOUT(
- ____, DM_REC1, DM_REC2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, DM_RSTP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____)
-
-};
-
-// For Dynamic Macros.
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
- if (!process_record_dynamic_macro(keycode, record))
- {
- return false;
- }
- return true;
-}
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk b/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk
deleted file mode 100644
index 4e4deffa12..0000000000
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-# cinaeco's HHKB firmware
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/hhkb/ansi/keymaps/lxol/keymap.c b/keyboards/hhkb/ansi/keymaps/lxol/keymap.c
deleted file mode 100644
index 25e75c8f99..0000000000
--- a/keyboards/hhkb/ansi/keymaps/lxol/keymap.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* -*- eval: (turn-on-orgtbl); -*-
- * lxol HHKB Layout
- */
-#include QMK_KEYBOARD_H
-
-#define BASE 0
-#define WIN 1
-#define HHKB 2
-#define RGUILEV 3
-#define LGUILEV 4
-#define RALTLEV 5
-#define LALTLEV 6
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Layer 0: Default Layer
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LAlt | LGUI | Space | RGUI | RAlt |
- |------+------+-------+------+------|
- */
-
- [BASE] = LAYOUT( // layer 0 : 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_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, LT(LALTLEV, KC_A), LT(LGUILEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV, KC_L), LT(RALTLEV, KC_SCLN), KC_QUOT, MT(MOD_RCTL, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
-
- /* Layer 1: HHKB mode (HHKB Fn)
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | | | | | | | + | - | End | PgD | Dow | | | | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
-
- |---+---+---+---+---|
- | | | | | |
- |---+---+---+---+---|
- */
-
- [HHKB] = LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* Layer LGUI: All keys with RGUI modifier
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LAlt | LGUI | Space | RGUI | RAlt |
- |------+------+-------+------+------|
- */
-
- [RGUILEV] = LAYOUT( // Right GUI layer by KC_L
-
- RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV),
- RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC),
- RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), MT(MOD_RCTL, KC_ENT),
- RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS,
- KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT),
-
- /* Layer LGUI: All keys with LGUI modifier
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LAlt | LGUI | Space | LGUI | RAlt |
- |------+------+-------+------+------|
- */
-
- [LGUILEV] = LAYOUT( // Right GUI layer by KC_L
-
- LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV),
- LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC),
- LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), MT(MOD_RCTL, KC_ENT),
- KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS,
- KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT),
-
- /* Layer LALT: All keys with RALT modifier
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LAlt | LGUI | Space | RGUI | RAlt |
- |------+------+-------+------+------|
- */
-
- [RALTLEV] = LAYOUT( // Right ALT layer by KC_L
-
- RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV),
- RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC),
- RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), MT(MOD_RCTL, KC_ENT),
- RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS,
- KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT),
-
- /* Layer LALT: All keys with LALT modifier
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LAlt | LGUI | Space | LGUI | RAlt |
- |------+------+-------+------+------|
- */
-
- [LALTLEV] = LAYOUT( // Right ALT layer by KC_L
-
- LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV),
- LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC),
- LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), MT(MOD_RCTL, KC_ENT),
- KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS,
- KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT),
-
- /* Layer WIN: Win layer
- |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
- | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
- | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
-
- |------+------+-------+------+------|
- | LGui | LAlt | Space | RGui | Ralt |
- |------+------+-------+------+------|
- */
-
- [WIN] = LAYOUT( // BASE level with swapped GUI/ALT
-
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, LT(LGUILEV, KC_A), LT(LALTLEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV, KC_L), LT(RGUILEV, KC_SCLN), KC_QUOT, MT(MOD_RCTL, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
- KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)};
diff --git a/keyboards/hhkb/ansi/keymaps/schaeferdev/README.md b/keyboards/hhkb/ansi/keymaps/schaeferdev/README.md
deleted file mode 100644
index 15b87c498d..0000000000
--- a/keyboards/hhkb/ansi/keymaps/schaeferdev/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
- # QMK HHKB Keymap: schaeferdev
-
-This is my QMK keymap for the Happy Hacking Keyboard Pro 2 alternate controller made by Hasu.
-
-
-## Movement Layer
-
-The main difference from the Default layer is the introduction of a Movement layer than can be used by holding the right command button. This layer enables to move the mouse and scroll using Page up and Page down. Additionally it allows to use Arrow-keys in VIM-like fashion on hjkl.
-
-I prefer this movement to the default HHKB FN layer as it allows all my fingers to remain on the home row.
-
-## Minor Changes
-
-- swapped Y and Z (as I am German and used to the different order).
-- changed position of Delete Key
-- both ` and ~
-
-
-## Setup (for macOS)
-```bash
-brew tap osx-cross/avr
-brew install avr-gcc
-brew install dfu-programmer
-```
-
-
-## Flashing
-
-```bash
-make clean
-make hhkb:schaeferdev:dfu
-```
-
-
-## Troubleshooting
-For some reason I ran into the issue that my CMD key no longer recognized. I am not entirely sure what caused this but the problem occured regardless of the layout I flashed (was also broken for the default hhkb layout). I was able to fix this issue by resetting EEPROM of the keyboard. The easiest way to do this is probably to use the QMK Toolbox.
diff --git a/keyboards/hhkb/ansi/keymaps/schaeferdev/config.h b/keyboards/hhkb/ansi/keymaps/schaeferdev/config.h
deleted file mode 100644
index b3c799bb82..0000000000
--- a/keyboards/hhkb/ansi/keymaps/schaeferdev/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Based off of this section:
-// https://github.com/qmk/qmk_firmware/blob/master/doc/BUILD_GUIDE.md#the-configh-file
-#pragma once
-
-// Define mousekey settings
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_INTERVAL 4
-#define MOUSEKEY_MAX_SPEED 1
-#define MOUSEKEY_TIME_TO_MAX 70 \ No newline at end of file
diff --git a/keyboards/hhkb/ansi/keymaps/schaeferdev/keymap.c b/keyboards/hhkb/ansi/keymaps/schaeferdev/keymap.c
deleted file mode 100644
index d1f56e0362..0000000000
--- a/keyboards/hhkb/ansi/keymaps/schaeferdev/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- eval: (turn-on-orgtbl); -*-
- * default HHKB Layout
- */
-#include QMK_KEYBOARD_H
-
-#define BASE 0
-#define HHKB 1
-#define MOVEMENT 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* BASE Level: Default Layer
- |--------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+-----|
- | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backs |Backs|
- |--------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+-----|
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+-----|
- |Ctrl/ESC| A | S | D | F | G | H | J | K | L | ; | ' | Ent | | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+-----|
- | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
- |--------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+-----|
- |------+------+-----------------------+------+------|
- | LAlt | LGUI | ******* Space ******* | MOUSE| RAlt |
- |------+------+-----------------------+------+------|
- */
-
- [BASE] = LAYOUT( // default layer
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
- KC_LALT, KC_LCMD, /* */ KC_SPC, /* */ MO(MOVEMENT), KC_RALT),
-
- /* Layer HHKB: HHKB mode (HHKB Fn)
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | DEL |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- | | | | | | | + | - | End | PgD | Dow | | | | |
- |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
- |------+------+----------------------+------+------+
- | **** | **** | ******************** | **** | **** |
- |------+------+----------------------+------+------+
- */
-
- [HHKB] = LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* Layer MOUSE: MOUSE mode (MOUSE Fn)
- |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
- | `~ |ACC1 |ACC2 |ACC3 | | | | | | | | | | DEL | DEL |
- |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
- | |MBTN2| | up | | PgU| | | | | | | | | |
- |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
- | |MBTN1|right|down |left| PgD| <- | down arrow | up arrow | -> | | | | | |
- |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
- | |MBTN3| | | | | | ~ (N) | | | | | | | |
- |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
- |------+------+----------------------+------+------+
- | **** | **** | ******************** | **** | **** |
- |------+------+----------------------+------+------+
- */
-
- [MOVEMENT] = LAYOUT(
- KC_GRV, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN2, KC_TRNS, KC_MS_U, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; \ No newline at end of file
diff --git a/keyboards/hhkb/ansi/keymaps/schaeferdev/rules.mk b/keyboards/hhkb/ansi/keymaps/schaeferdev/rules.mk
deleted file mode 100644
index 35591533cc..0000000000
--- a/keyboards/hhkb/ansi/keymaps/schaeferdev/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.c b/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.c
deleted file mode 100644
index 9c2b6e8ca5..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-#include "command.h"
-#include "action_pseudo.h"
-
-static uint8_t send_key_shift_bit[SHIFT_BIT_SIZE];
-
-/*
- * Action Pseudo Process.
- * Gets the keycode in the same position of the specified layer.
- * The keycode is sent after conversion according to the conversion keymap.
- */
-void action_pseudo_process(keyrecord_t *record, uint8_t base_layer, const uint16_t (*keymap)[2]) {
- uint8_t prev_shift;
- uint16_t keycode;
- uint16_t pseudo_keycode;
-
- /* Get keycode from specified layer */
- keycode = keymap_key_to_keycode(base_layer, record->event.key);
-
- prev_shift = get_mods() & MOD_MASK_SHIFT;
-
- if (record->event.pressed) {
- /* If magic commands entered, keycode is not converted */
- if (IS_COMMAND()) {
- if (prev_shift) {
- add_shift_bit(keycode);
- }
- register_code(keycode);
- return;
- }
-
- if (prev_shift) {
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
- add_shift_bit(keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- register_code(QK_LSFT ^ pseudo_keycode);
- } else {
- /* Delete shift mod temporarily */
- unregister_mods(prev_shift);
- register_code(pseudo_keycode);
- register_mods(prev_shift);
- }
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- register_weak_mods(MOD_LSFT);
- register_code(QK_LSFT ^ pseudo_keycode);
- /* Prevent key repeat to avoid unintended output on Windows */
- unregister_code(QK_LSFT ^ pseudo_keycode);
- unregister_weak_mods(MOD_LSFT);
- } else {
- register_code(pseudo_keycode);
- }
- }
- } else {
- if (get_shift_bit(keycode)) {
- del_shift_bit(keycode);
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- }
- dprintf("released: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- unregister_code(QK_LSFT ^ pseudo_keycode);
- } else {
- unregister_code(pseudo_keycode);
- }
- }
-}
-
-/* Convert keycode according to the keymap */
-uint16_t convert_keycode(const uint16_t (*keymap)[2], uint16_t keycode, bool shift_modded) {
- uint16_t pseudo_keycode = 0x00; /* default value */
-
- switch (keycode) {
- case KC_A ... KC_CAPS_LOCK:
-#if defined(__AVR__)
- if (shift_modded) {
- pseudo_keycode = pgm_read_word(&keymap[keycode][1]);
- } else {
- pseudo_keycode = pgm_read_word(&keymap[keycode][0]);
- }
-#else
- if (shift_modded) {
- pseudo_keycode = keymap[keycode][1];
- } else {
- pseudo_keycode = keymap[keycode][0];
- }
-#endif
- break;
- }
-
- /* If pseudo keycode is the default value, use the keycode as it is */
- if (pseudo_keycode == 0x00) {
- if (shift_modded) {
- pseudo_keycode = S(keycode);
- } else {
- pseudo_keycode = keycode;
- }
- }
-
- return pseudo_keycode;
-}
-
-uint8_t get_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- return send_key_shift_bit[keycode >> 3] & (1 << (keycode & 7));
- } else {
- dprintf("get_shift_bit: Can't get shift bit. keycode: %02X\n", keycode);
- return 0;
- }
-}
-
-void add_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] |= (1 << (keycode & 7));
- } else {
- dprintf("add_shift_bit: Can't add shift bit. keycode: %02X\n", keycode);
- }
-}
-
-void del_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] &= ~(1 << (keycode & 7));
- } else {
- dprintf("del_shift_bit: Can't delete shift bit. keycode: %02X\n", keycode);
- }
-}
diff --git a/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.h b/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.h
deleted file mode 100644
index 7c3d38fa07..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/action_pseudo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 SHIFT_BIT_SIZE (0xE7 / 8 + 1) /* 1bit per 1key */
-#define IS_LSFT(kc) ((QK_LSFT & (kc)) == QK_LSFT)
-
-void action_pseudo_process(keyrecord_t *, uint8_t, const uint16_t (*)[2]);
-uint16_t convert_keycode(const uint16_t (*)[2], uint16_t, bool);
-
-uint8_t get_shift_bit(uint16_t);
-void add_shift_bit(uint16_t);
-void del_shift_bit(uint16_t);
diff --git a/keyboards/hhkb/ansi/keymaps/shela/config.h b/keyboards/hhkb/ansi/keymaps/shela/config.h
deleted file mode 100644
index db66659165..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* USB Device descriptor parameter */
-#undef VENDOR_ID
-#define VENDOR_ID 0x0853
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0100
-#undef DEVICE_VER
-#define DEVICE_VER 0x0102
-#undef MANUFACTURER
-#define MANUFACTURER "Topre Corporation"
-#undef PRODUCT
-#define PRODUCT "HHKB Professional"
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 210
-#define SPFN_TAPPING_TERM 190 /* SpaceFN tapping term */
-
-#define ONESHOT_TAP_TOGGLE 3
-#define ONESHOT_TIMEOUT 2000
diff --git a/keyboards/hhkb/ansi/keymaps/shela/keymap.c b/keyboards/hhkb/ansi/keymaps/shela/keymap.c
deleted file mode 100644
index 922ec02c41..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/keymap.c
+++ /dev/null
@@ -1,443 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_jis2us.h"
-#include "action_pseudo.h"
-
-// clang-format off
-enum keyboard_layers {
- _QWERTY = 0,
- _DVORAK,
- _COLEMAK,
- _PSEUDO,
- _TENKEY,
- _MOUSE,
- _HHKB,
- _SPACE_FN
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- DVORAK,
- COLEMAK,
- PSEUDO,
- TENKEY,
- MOUSE,
- L_INNER,
- R_INNER,
- L_OUTER,
- R_OUTER,
- PSE_FN,
- MACMODE,
- DYNAMIC_MACRO_RANGE
-};
-// clang-format on
-
-/* Additional custom keycodes */
-#define MO_HHKB MO(_HHKB)
-#define LT_SPFN LT(_SPACE_FN, KC_SPC)
-#define DM_STA1 DM_REC1
-#define DM_PLY1 DM_PLY1
-
-/* User settings structure for the EEPROM */
-typedef union {
- uint32_t raw;
- struct {
- uint8_t base_layer : 8;
- bool mac_mode : 1;
- };
-} user_config_t;
-
-user_config_t user_config;
-static uint8_t base_layer = _QWERTY;
-static bool mac_mode = false;
-static bool l_long_pressed = false;
-static bool l_pressed = false;
-static uint16_t l_time = 0;
-static bool r_long_pressed = false;
-static bool r_pressed = false;
-static uint16_t r_time = 0;
-
-static uint16_t l_inner = KC_NO;
-static uint16_t l_outer = KC_NO;
-static uint16_t r_inner = KC_NO;
-static uint16_t r_outer = KC_NO;
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty Layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- * |-----------------------------------------------------------------------------------------|
- * | LControl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | LShift | Z | X | C | V | B | N | M | , | . | / | RShift |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | SpaceFN | RInner |ROutr|
- * `-----------------------------------------------------------------'
- */
- [_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_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO_HHKB,
- L_OUTER, L_INNER, LT_SPFN, R_INNER, R_OUTER
- ),
-
- /* Dvorak Layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | ` | BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | / | = | \ |
- * |-----------------------------------------------------------------------------------------|
- * | LControl | A | O | E | U | I | D | H | T | N | S | - | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | LShift | ; | Q | J | K | X | B | M | W | V | Z | RShift |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | SpaceFN | RInner |ROutr|
- * `-----------------------------------------------------------------'
- */
- [_DVORAK] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO_HHKB,
- L_OUTER, L_INNER, LT_SPFN, R_INNER, R_OUTER
- ),
-
- /* Colemak Layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ |
- * |-----------------------------------------------------------------------------------------|
- * | LControl | A | R | S | T | D | H | N | E | I | O | ' | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | LShift | Z | X | C | V | B | K | M | , | . | / | RShift |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | SpaceFN | RInner |ROutr|
- * `-----------------------------------------------------------------'
- */
- [_COLEMAK] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO_HHKB,
- L_OUTER, L_INNER, LT_SPFN, R_INNER, R_OUTER
- ),
-
- /* Pseudo Layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc |PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn| BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab |PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn| PseFn |
- * |-----------------------------------------------------------------------------------------|
- * | Control |PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn| Enter |
- * |-----------------------------------------------------------------------------------------|
- * | Shift |PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn|PseFn| Shift |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | SpaceFN | RInner |ROutr|
- * `-----------------------------------------------------------------'
- */
- [_PSEUDO] = LAYOUT(
- KC_ESC, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, KC_BSPC,
- KC_TAB, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN,
- KC_LCTL, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, KC_ENT,
- KC_LSFT, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, PSE_FN, KC_RSFT, MO_HHKB,
- L_OUTER, L_INNER, LT_SPFN, R_INNER, R_OUTER
- ),
-
- /* Tenkey layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | | | | | | | | | | / | * | - | | BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | | | | | | | | | 7 | 8 | 9 | + | |
- * |-----------------------------------------------------------------------------------------|
- * | LControl | | | | | | | | | 4 | 5 | 6 | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | LShift | | | | | | | | 1 | 2 | 3 | + |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | SpaceFN | 0 | . |
- * `-----------------------------------------------------------------'
- */
- [_TENKEY] = LAYOUT(
- KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, KC_BSPC,
- KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX,
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PENT,
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, MO_HHKB,
- L_OUTER, L_INNER, LT_SPFN, KC_P0, KC_PDOT
- ),
-
- /* Mouse layer
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | BS |
- * |-----------------------------------------------------------------------------------------|
- * | Tab | | | | | | WhL | WhD | WhU | WhR | | | | |
- * |-----------------------------------------------------------------------------------------|
- * | LControl | | | | | | MsL | MsD | MsU | MsR | | | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | LShift | | | | | | Mb1 | Mb2 | Mb3 | | | RShift |HHKB |
- * `-----------------------------------------------------------------------------------------'
- * |LOutr| LInner | Mb1 | RInner |ROutr|
- * `-----------------------------------------------------------------'
- */
- [_MOUSE] = 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, XXXXXXX, KC_BSPC,
- KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, XXXXXXX, KC_ENT,
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN3, XXXXXXX, XXXXXXX, KC_RSFT, MO_HHKB,
- L_OUTER, L_INNER, KC_BTN1, R_INNER, R_OUTER
- ),
-
- /* HHKB Layer
- * ,-----------------------------------------------------------------------------------------.
- * |Power| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------|
- * | Caps |Qwert|Dvork|Colmk|Psedo|Tenky|Mouse| |PScr |SLck |Paus | Up | | Clear |
- * |-----------------------------------------------------------------------------------------|
- * | |VolD |VolU |Mute |Ejct | | * | / |Home |PgUp |Left |Rght | Enter |
- * |-----------------------------------------------------------------------------------------|
- * | |Sta1 |Ply1 | | Mac | | + | - | End |PgDn |Down | | |
- * `-----------------------------------------------------------------------------------------'
- * | | | Space | | |
- * `-----------------------------------------------------------------'
- */
- [_HHKB] = LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, QWERTY, DVORAK, COLEMAK, PSEUDO, TENKEY, MOUSE, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, XXXXXXX, KC_NUM,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, XXXXXXX, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, DM_STA1, DM_PLY1, XXXXXXX, MACMODE, XXXXXXX, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, KC_SPC, _______, _______
- ),
-
- /* SpaceFN Layer
- * ,-----------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | Del |
- * |-----------------------------------------------------------------------------------------|
- * | |Home | Up | End | | | |Home | End | |PScr |SLck |Paus | Ins |
- * |-----------------------------------------------------------------------------------------|
- * | |Left |Down |Rght |PgUp | |Left |Down | Up |Rght | | | |
- * |-----------------------------------------------------------------------------------------|
- * | | | |PgDn | | Spc | |PgDn |PgUp | | | | |
- * `-----------------------------------------------------------------------------------------'
- * | | | | | |
- * `-----------------------------------------------------------------'
- */
- [_SPACE_FN] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______,
- _______, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, KC_SPC, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______, XXXXXXX,
- _______, _______, _______, _______, _______
- ),
-};
-// clang-format on
-
-void set_mac_mode_keys(bool mac_mode) {
- if (mac_mode) {
- l_inner = KC_LCMD;
- l_outer = KC_LOPT;
- r_inner = KC_RCMD;
- r_outer = KC_ROPT;
- } else {
- l_inner = KC_LALT;
- l_outer = KC_LGUI;
- r_inner = KC_RALT;
- r_outer = KC_RGUI;
- }
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
- mac_mode = user_config.mac_mode;
- base_layer = user_config.base_layer;
- set_mac_mode_keys(mac_mode);
-}
-
-/* Set default values for the EEPROM */
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- user_config.base_layer = _QWERTY;
- user_config.mac_mode = false;
- eeconfig_update_user(user_config.raw);
- base_layer = _QWERTY;
- mac_mode = false;
- set_mac_mode_keys(mac_mode);
-}
-
-void persistent_default_layer_set(uint8_t layer) {
- set_single_persistent_default_layer(layer);
- user_config.base_layer = layer;
- eeconfig_update_user(user_config.raw);
- base_layer = layer;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(_QWERTY);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(_DVORAK);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- persistent_default_layer_set(_COLEMAK);
- }
- return false;
- case PSEUDO:
- if (record->event.pressed) {
- if (l_pressed && !l_long_pressed) {
- register_code(l_inner);
- l_long_pressed = true;
- }
- if (r_pressed && !r_long_pressed) {
- register_code(r_inner);
- r_long_pressed = true;
- }
- // set_single_persistent_default_layer(_PSEUDO);
- }
- return false;
- case TENKEY:
- if (record->event.pressed) {
- default_layer_set(1U << _TENKEY);
- }
- return false;
- case MOUSE:
- if (record->event.pressed) {
- default_layer_set(1U << _MOUSE);
- }
- return false;
- case L_INNER:
- if (record->event.pressed) {
- l_pressed = true;
- l_time = record->event.time;
- } else {
- if (l_pressed) {
- if (l_long_pressed) {
- unregister_code(l_inner);
- l_long_pressed = false;
- } else {
- if (TIMER_DIFF_16(record->event.time, l_time) < TAPPING_TERM) {
- if (mac_mode) {
- register_code(KC_LNG2);
- unregister_code(KC_LNG2);
- } else {
- register_code(KC_INT5);
- unregister_code(KC_INT5);
- }
- } else {
- register_code(l_inner);
- unregister_code(l_inner);
- }
- }
- l_pressed = false;
- }
- }
- return false;
- case R_INNER:
- if (record->event.pressed) {
- r_pressed = true;
- r_time = record->event.time;
- } else {
- if (r_pressed) {
- if (r_long_pressed) {
- unregister_code(r_inner);
- r_long_pressed = false;
- } else {
- if (TIMER_DIFF_16(record->event.time, r_time) < TAPPING_TERM) {
- if (mac_mode) {
- register_code(KC_LNG1);
- unregister_code(KC_LNG1);
- } else {
- register_code(KC_INT2);
- unregister_code(KC_INT2);
- }
- } else {
- register_code(r_inner);
- unregister_code(r_inner);
- }
- }
- r_pressed = false;
- }
- }
- return false;
- case L_OUTER:
- if (record->event.pressed) {
- register_code(l_outer);
- } else {
- unregister_code(l_outer);
- }
- return false;
- case R_OUTER:
- if (record->event.pressed) {
- register_code(r_outer);
- } else {
- unregister_code(r_outer);
- }
- return false;
- case MACMODE:
- if (record->event.pressed) {
- /* Toggle Mac mode value */
- mac_mode = !mac_mode;
- user_config.mac_mode = mac_mode;
- eeconfig_update_user(user_config.raw);
- set_mac_mode_keys(mac_mode);
- }
- return false;
- case PSE_FN:
- if (record->event.pressed) {
- if (l_pressed && !l_long_pressed) {
- register_code(l_inner);
- l_long_pressed = true;
- }
- if (r_pressed && !r_long_pressed) {
- register_code(r_inner);
- r_long_pressed = true;
- }
- }
- action_pseudo_process(record, base_layer, keymap_jis2us);
- return false;
- default:
- if (record->event.pressed) {
- if (l_pressed && !l_long_pressed) {
- register_code(l_inner);
- l_long_pressed = true;
- }
- if (r_pressed && !r_long_pressed) {
- register_code(r_inner);
- r_long_pressed = true;
- }
- }
- }
- return true;
-}
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LT_SPFN:
- return SPFN_TAPPING_TERM;
- default:
- return TAPPING_TERM;
- }
-}
diff --git a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h
deleted file mode 100644
index 163ae84fb4..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "keymap_japanese.h"
-
-// clang-format off
-/* Keymap for converting JIS to US */
-const uint16_t PROGMEM keymap_jis2us[][2] = {
- [KC_A ... KC_CAPS] = { 0x00, 0x00 }, /* default value */
-
- [KC_1] = { KC_1, JP_EXLM }, /* 1 and ! -> 1 and ! */
- [KC_2] = { KC_2, JP_AT }, /* 2 and " -> 2 and @ */
- [KC_3] = { KC_3, JP_HASH }, /* 3 and # -> 3 and # */
- [KC_4] = { KC_4, JP_DLR }, /* 4 and $ -> 4 and $ */
- [KC_5] = { KC_5, JP_PERC }, /* 5 and % -> 5 and % */
- [KC_6] = { KC_6, JP_CIRC }, /* 6 and & -> 6 and ^ */
- [KC_7] = { KC_7, JP_AMPR }, /* 7 and ' -> 7 and & */
- [KC_8] = { KC_8, JP_ASTR }, /* 8 and ( -> 8 and * */
- [KC_9] = { KC_9, JP_LPRN }, /* 9 and ) -> 9 and ( */
- [KC_0] = { KC_0, JP_RPRN }, /* 0 -> 0 and ) */
- [KC_MINS] = { JP_MINS, JP_UNDS }, /* - and = -> - and _ */
- [KC_EQL] = { JP_EQL, JP_PLUS }, /* ^ and ~ -> = and + */
- [KC_LBRC] = { JP_LBRC, JP_LCBR }, /* @ and ` -> [ and { */
- [KC_RBRC] = { JP_RBRC, JP_RCBR }, /* [ and { -> ] and } */
- [KC_BSLS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
- [KC_NUHS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
- [KC_SCLN] = { JP_SCLN, JP_COLN }, /* ; and + -> ; and : */
- [KC_QUOT] = { JP_QUOT, JP_DQUO }, /* : and * -> ' and " */
- [KC_GRV] = { JP_GRV, JP_TILD }, /* Han/Zen -> ` and ~ */
- [KC_COMM] = { JP_COMM, JP_LABK }, /* , and < -> , and < */
- [KC_DOT] = { JP_DOT, JP_RABK }, /* . and > -> . and > */
- [KC_SLSH] = { JP_SLSH, JP_QUES }, /* / and ? -> / and ? */
-};
-// clang-format on
diff --git a/keyboards/hhkb/ansi/keymaps/shela/readme.md b/keyboards/hhkb/ansi/keymaps/shela/readme.md
deleted file mode 100644
index 36e15c2c48..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/readme.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Shela's keymap for HHKB Pro 2 US Layout with Alternate Controller
-
-## Layers
-
-Layer 1: Qwerty Layer
-Layer 2: Dvorak Layer
-Layer 3: Colemak Layer
-Layer 4: Pseudo US Layer
-Layer 5: Tenkey Layer
-Layer 6: Mouse Layer
-Layer 7: HHKB Fn Layer
-Layer 8: SpaceFN Layer
-
-### Qwerty/Dvorak/Colemak Layer
-
-Basic keymap layer for each keyboard layout.
-
-### Pseudo US Layer
-
-A layer that can be used with the same physical layout as the previously activated basic (Qwerty/Dvorak/Colemak) keymap layer, with the keyboard still configured as a Japanese keyboard on the OS.
-
-This is useful when using virtual environments and remote desktops, because you can use Japanese Windows with the same keyboard without changing the OS keyboard settings. Also, when using the keyboard as a US keyboard on Windows OS, all keys existing only on Japanese keyboards are ignored and it is not possible to assign these keys to the desired function of any application. You can avoid such problems.
-
-### Tenkey/Mouse Layer
-
-Tenkey (numeric keypad) and mouse layers. For the Tenkey to work, Numlock must be turned on in the OS.
-
-### HHKB Fn Layer
-
-A layer that is equivalent to Fn key of Happy Hacking Keyboard. There are also some layer switching keys and special function keys.
-
-### SpaceFN Layer
-
-Customized [SpaceFN](https://geekhack.org/index.php?topic=51069.0) layer. There are left-hand and right-hand Arrows/Home/End/PageUp/PageDown keys. Frequently used keys in HHKB Fn layer are configured to this layer and can be used as an alternative layer to the HHKB Fn layer.
-
-## Special function keycodes
-
-### Pseudo US keycode
-
-A special keycode that implements Pseudo US Layout.
-
-### Mac mode keycode
-
-A special keycode that toggles Mac mode. When Mac mode is enabled, the keymap of the Left Inner/Outer and Right Inner/Outer keys are changed for macOS. See _Left Inner/Outer, Right Inner/Outer keys_ for details.
-
-### Left Inner/Outer, Right Inner/Outer keycodes
-
-If you tap a Mod-Tap key and another key within the time specified by TAPPING_TERM, QMK interprets these keys as if they were pressed at the same time even if they were not pressed simultaneously. Therefore, for fast typists, Mod-Tap can accidentally send a keycode with modifier. These special keycodes allow you to work around this issue and change the keymap in Mac mode.
-
-These keys work as follows:
-
-Mac mode: Disabled
-
-| Key | Keycode | Tap | Hold |
-| ----------- | ------- | ------- | ------- |
-| Left Inner | L_INNER | KC_INT5 | KC_LALT |
-| Left Outer | L_OUTER | KC_LGUI | KC_LGUI |
-| Right Inner | R_INNER | KC_INT2 | KC_RALT |
-| Right Outer | R_OUTER | KC_RGUI | KC_RGUI |
-
-Mac mode: Enabled
-
-| Key | Keycode | Tap | Hold |
-| ----------- | ------- | ------- | ------- |
-| Left Inner | L_INNER | KC_LNG2 | KC_LCMD |
-| Left Outer | L_OUTER | KC_LOPT | KC_LOPT |
-| Right Inner | R_INNER | KC_LNG1 | KC_RCMD |
-| Right Outer | R_OUTER | KC_ROPT | KC_ROPT |
diff --git a/keyboards/hhkb/ansi/keymaps/shela/rules.mk b/keyboards/hhkb/ansi/keymaps/shela/rules.mk
deleted file mode 100644
index 84f6395a48..0000000000
--- a/keyboards/hhkb/ansi/keymaps/shela/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-DYNAMIC_MACRO_ENABLE = yes
-
-SRC += action_pseudo.c
diff --git a/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/keymap.c b/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/keymap.c
deleted file mode 100644
index 4f0451f7a9..0000000000
--- a/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/keymap.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define SPACE_FN LT(1, KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT( // default layer
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_RBRC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_NUHS, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NUBS,
- KC_LALT, KC_LGUI, SPACE_FN, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/readme.md b/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/readme.md
deleted file mode 100644
index 0da9d96ee4..0000000000
--- a/keyboards/hhkb/ansi/keymaps/tobiasvl_iso/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# tobiasvl's ISO layout for HHKB
-
-This is my attempt to adapt my regular 60% Norwegian ISO layout to the physical HHKB layout, on the Happy Hacking Keyboard Pro 2 keyboard with the alternate QMK-compatible Hasu controller.
-
-## Base layer
-
-![HHKB ISO](https://i.imgur.com/8n4Kixw.png)
-
-The following changes have been made from standard HHKB:
-
-* The ] and \ keys are swapped so they're in the ISO locations, but a row higher. Whether or not this is a good idea depends heavily on what specific language layout you're using, but it makes sense for Norwegian, I think.
-* The Fn key is replaced with the ISO key (ie. "non-US backslash"). It's gotta go somewhere!
-* The spacebar doubles as space when tapped and Fn when held (ie. SpaceFN). This is a personal preference, but my second and more traditional choice would probably be to replace right GUI/Super with Fn.
-* Grave Escape has been added (shift + Esc produces ~).
-
-## Function layer
-
-This is just how I personally prefer to set up my function layer, and doesn't have anything to do with ISO. You probably want to swap out this wholesale for your own function layer.
-
-* Navigation is moved: Arrow keys on WASD, Page Up and Page Down on QE, Home and End on the right (I have them to the left of the vertical Enter on ISO layouts).
-* Grave Escape has been added (Fn + Esc produces \`).
-* No media keys or anything. I don't use them.
diff --git a/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c b/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c
deleted file mode 100644
index cfcd571405..0000000000
--- a/keyboards/hhkb/jp/keymaps/bakingpy/keymap.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_jp(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
- KC_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_BSLS,
- MO(1), KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_BSPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_jp(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______)};
diff --git a/keyboards/hhkb/jp/keymaps/bakingpy/rules.mk b/keyboards/hhkb/jp/keymaps/bakingpy/rules.mk
deleted file mode 100644
index a7f700f019..0000000000
--- a/keyboards/hhkb/jp/keymaps/bakingpy/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c b/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c
deleted file mode 100644
index 1852920345..0000000000
--- a/keyboards/hhkb/jp/keymaps/enoch_jp/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include QMK_KEYBOARD_H
-
-/* Layer 0: HHKB JP
-* ,-----------------------------------------------------------.
-* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
-* |-----------------------------------------------------------|
-* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
-* |------------------------------------------------------` Ent|
-* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| |
-* |-----------------------------------------------------------|
-* |Shft | Z| X| C| V| B| N| M| ,| .| /| \| Up|Sft|
-* |-----------------------------------------------------------|
-* | ||Ctl|Alt|Cmd| | Spc |Bsp| | | ||Lft|Dwn|Rgh|
-* `-----------------------------------------------------------'
-*/
-
-/* Layer 1: HHKB mode (HHKB Fn)
-* ,-----------------------------------------------------------.
-* |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
-* |-----------------------------------------------------------|
-* |Caps |MPrev|MPlay|MNext| | | | |Psc|Slk|Pus|Up | |
-* |------------------------------------------------------` |
-* | |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig| | |
-* |-----------------------------------------------------------|
-* | | | | | | | +| -|End|PgD|Dow| | | |
-* |-----------------------------------------------------------|
-* | || | | | | | | | | || | | |
-* `-----------------------------------------------------------'
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_jp(
- 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_GRAVE, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_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_BSLS,
- KC_BSPC, KC_GRV, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_BSPC, KC_RSFT, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_jp(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
diff --git a/keyboards/hhkb/jp/keymaps/enoch_jp/rules.mk b/keyboards/hhkb/jp/keymaps/enoch_jp/rules.mk
deleted file mode 100644
index d35c58b777..0000000000
--- a/keyboards/hhkb/jp/keymaps/enoch_jp/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-NKRO_ENABLE = yes
-
-OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/README.md b/keyboards/hhkb/jp/keymaps/halfqwerty_jp/README.md
deleted file mode 100644
index 222ad898ef..0000000000
--- a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/README.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# harfqwerty_jp
-
-half-QWERTY is a keyboard layout for one-handed typing on QWERTY keyboard.
-
-* When hold space bar, the keyboard enters mirror mode.
-* To type a space, just tap the space bar.
-
-## BASE
-
- ,-----------------------------------------------------------.
- |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
- |-----------------------------------------------------------|
- |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
- |------------------------------------------------------` Ent|
- |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| |
- |-----------------------------------------------------------|
- |Shft | Z| X| C| V| B| N| M| ,| .| /| \| Up|Sft|
- |-----------------------------------------------------------|
- | ||Ctl|Alt|Cmd| | Spc | | | | ||Lft|Dwn|Rgh|
- `-----------------------------------------------------------'
-
-## HHKB mode (HHKB Fn)
-
- ,-----------------------------------------------------------.
- |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
- |-----------------------------------------------------------|
- |Caps | | | | | | | |Psc|Slk|Pus|Up | | |
- |------------------------------------------------------` |
- | |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig| | |
- |-----------------------------------------------------------|
- | | | | | | | +| -|End|PgD|Dow| | | |
- |-----------------------------------------------------------|
- | || | | | | | | | | || | | |
- `-----------------------------------------------------------'
-
-
-## Mirror mode
-
- ,-----------------------------------------------------------.
- | | 0| 9| 8| 7| 6| 5| 4| 3| 2| 1| | | | |
- |-----------------------------------------------------------|
- | | P| O| I| U| Y| T| R| E| W| Q| | | |
- |------------------------------------------------------` |
- | | ;| L| K| J| H| G| F| D| S| A| | | |
- |-----------------------------------------------------------|
- | | .| ,| M| N| B| V| C| X| Z| | | | |
- |-----------------------------------------------------------|
- | || | | | | | | | | || | | |
- `-----------------------------------------------------------'
diff --git a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c b/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c
deleted file mode 100644
index 7fc59c84c6..0000000000
--- a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- eval: (turn-on-orgtbl); -*-
- * default HHKB Layout
- */
-#include QMK_KEYBOARD_H
-
-enum
-{
- BASE,
- HHKB,
- MIRROR,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* BASE Level: Default Layer
- ,-----------------------------------------------------------.
- |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
- |-----------------------------------------------------------|
- |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
- |------------------------------------------------------` Ent|
- |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| |
- |-----------------------------------------------------------|
- |Shft | Z| X| C| V| B| N| M| ,| .| /| \| Up|Sft|
- |-----------------------------------------------------------|
- | ||Ctl|Alt|Cmd| | Spc | | | | ||Lft|Dwn|Rgh|
- `-----------------------------------------------------------'
- */
- [BASE] = LAYOUT_jp(
- 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_INT3, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_UP, KC_RSFT,
- MO(HHKB), KC_GRV, KC_LGUI, KC_LALT, KC_INT5, LT(MIRROR, KC_SPC), KC_INT4, KC_INT2, KC_RALT, MO(HHKB), KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Layer HHKB: HHKB mode (HHKB Fn)
- ,-----------------------------------------------------------.
- |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
- |-----------------------------------------------------------|
- |Caps | | | | | | | |Psc|Slk|Pus|Up | | |
- |------------------------------------------------------` |
- | |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig| | |
- |-----------------------------------------------------------|
- | | | | | | | +| -|End|PgD|Dow| | | |
- |-----------------------------------------------------------|
- | || | | | | | | | | || | | |
- `-----------------------------------------------------------'
- */
-
- [HHKB] = LAYOUT_jp(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- /* Mirror Level: when hold space bar
- ,-----------------------------------------------------------.
- | | 0| 9| 8| 7| 6| 5| 4| 3| 2| 1| | | | |
- |-----------------------------------------------------------|
- | | P| O| I| U| Y| T| R| E| W| Q| | | |
- |------------------------------------------------------` |
- | | ;| L| K| J| H| G| F| D| S| A| | | |
- |-----------------------------------------------------------|
- | | .| ,| M| N| B| V| C| X| Z| | | | |
- |-----------------------------------------------------------|
- | || | | | | | | | | || | | |
- `-----------------------------------------------------------'
- */
- [MIRROR] = LAYOUT_jp(
- _______, KC_0, KC_9, KC_8, KC_7, KC_6, KC_5, KC_4, KC_3, KC_2, KC_1, _______, _______, _______, _______,
- _______, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, _______, _______,
- _______, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, _______, _______, _______,
- _______, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______, _______)};
-
diff --git a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/rules.mk b/keyboards/hhkb/jp/keymaps/halfqwerty_jp/rules.mk
deleted file mode 100644
index a7f700f019..0000000000
--- a/keyboards/hhkb/jp/keymaps/halfqwerty_jp/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c b/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c
deleted file mode 100644
index b4eec44547..0000000000
--- a/keyboards/hhkb/jp/keymaps/rdg_jp/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum
-{
- ZER,
- HDN,
- OSY
-};
-
-#define CTL_ESC CTL_T(KC_ESC)
-#define SFT_BSP SFT_T(KC_BSPC)
-
-#define SCRNS3 LGUI(LCTL(LSFT(KC_3)))
-#define SCRNS4 LGUI(LCTL(LSFT(KC_4)))
-
-/* hhkb jp ~ layout
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
- * |------------------------------------------------------` Ent|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| |
- * |-----------------------------------------------------------|
- * |Shft | Z| X| C| V| B| N| M| ,| .| /| \| Up|Sft|
- * |-----------------------------------------------------------|
- * | ||Ctl|Alt|Cmd| | Spc |Bsp| | | ||Lft|Dwn|Rgh|
- * `-----------------------------------------------------------'
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [ZER] = LAYOUT_jp(
- 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_INS, 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,
- 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_GRV, 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_BSLS, KC_UP, KC_RSFT,
- MO(HDN), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC, SFT_BSP, MO(HDN), MO(OSY), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [HDN] = LAYOUT_jp(
- KC_GRV, KC_F1, 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, KC_ENT, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, KC_UNDS, KC_DEL, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
-
- [OSY] = LAYOUT_jp(
- _______, _______, _______, SCRNS3, SCRNS4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
diff --git a/keyboards/hhkb/jp/keymaps/rdg_jp/rules.mk b/keyboards/hhkb/jp/keymaps/rdg_jp/rules.mk
deleted file mode 100644
index a7f700f019..0000000000
--- a/keyboards/hhkb/jp/keymaps/rdg_jp/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hhkb/jp/keymaps/sh_jp/README.md b/keyboards/hhkb/jp/keymaps/sh_jp/README.md
deleted file mode 100644
index 4f82f2f4e9..0000000000
--- a/keyboards/hhkb/jp/keymaps/sh_jp/README.md
+++ /dev/null
@@ -1,86 +0,0 @@
-###Keymaps with both Dvorak layout and QWER layout for HHKB JP.
-
-1. The default layout is Dvorak.
-2. Use `Tog` to toggle between Dvorak and QWER
-3. Holding `NewCmd`, the original `LftCmd`, will activate the `NewCmd` layer which means `NewCmd+key` is the same as `Cmd+key` in normal QWER layout.<sup>[1](#cmdTab)</sup>
- - For example, no matter you are in Dvorak layout or QWER layout, you can use `Cmd+s` to save a currently editing file.
-4. `Symb` makes type symbols easier
- - for example: `Symb+a` is `!`.
-5. `Spc+key` equals to `Shft+key` while using `Spc` alone will yield a space as usual.
-6. There's an extra `Tab` in the last line.
-
-```
-Layer DVOR:
-,-----------------------------------------------------------.
-|Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| |Bsp|
-|-----------------------------------------------------------|
-|Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| |
-|------------------------------------------------------` Ent|
-|Ctrl | A| O| E| U| I| D| H| T| N| S| -| \| |
-|-----------------------------------------------------------|
-|Shft | ;| Q| J| K| X| B| M| W| V| Z| | Up| |
-|-----------------------------------------------------------|
-|FN| `| Alt|NewCmd|Symb| Spc |Symb|Tab|RCmd|Tog|Lft|Dwn|Rgh|
-`-----------------------------------------------------------'
-```
-
-```
-Layer QWER:
-,-----------------------------------------------------------.
-|Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =| |Bsp|
-|-----------------------------------------------------------|
-|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
-|------------------------------------------------------` Ent|
-|Ctrl | A| S| D| F| G| H| J| K| L| ;| '| \| |
-|-----------------------------------------------------------|
-|Shft | Z| X| C| V| B| N| M| ,| .| /| | Up| |
-|-----------------------------------------------------------|
-|FN| `| Alt|NewCmd|Symb| Spc |Symb|Tab|Cmd|Tog|Lft|Dwn|Rgh|
-`-----------------------------------------------------------'
-```
-
-```
-Layer Symb:
-,-----------------------------------------------------------.
-| | | | | | | | | | | | | | | |
-|-----------------------------------------------------------|
-| | | | [| ]| | | {| }| | | | | |
-|------------------------------------------------------` |
-| | !| @| #| $| %| ^| &| *| (| )| '| \| |
-|-----------------------------------------------------------|
-| | | | | | | | | | | | | | |
-|-----------------------------------------------------------|
-| | | | | | | | | | | | | |
-`-----------------------------------------------------------'
-```
-
-```
-Layer FUNC: HHKB mode (HHKB Fn)
-,-----------------------------------------------------------.
-|Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
-|-----------------------------------------------------------|
-|Caps | | | | | | | |Psc|Slk|Pus|Up | | |
-|------------------------------------------------------` |
-| |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig| | |
-|-----------------------------------------------------------|
-| | | | | | | +| -|End|PgD|Dow| | | |
-|-----------------------------------------------------------|
-| || | | | | | | | | || | | |
-`-----------------------------------------------------------'
-```
-
-```
-Empty Layer:
-,-----------------------------------------------------------.
-| | | | | | | | | | | | | | | |
-|-----------------------------------------------------------|
-| | | | | | | | | | | | | | |
-|------------------------------------------------------` |
-| | | | | | | | | | | | | | |
-|-----------------------------------------------------------|
-| | | | | | | | | | | | | | |
-|-----------------------------------------------------------|
-| | | | | | | | | | | | | |
-`-----------------------------------------------------------'
-```
-<a name="cmdTab">1</a>: `NewCmd + Tab` does not work, you can use `RCmd+Tab` to switch among applications.
diff --git a/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c b/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c
deleted file mode 100644
index 3ba9ac5d90..0000000000
--- a/keyboards/hhkb/jp/keymaps/sh_jp/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum
-{
- DVOR,
- QWER,
- NEW_CMD,
- SYMB,
- FUNC
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DVOR] = LAYOUT_jp(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_INT3, KC_BSPC,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_INT1, KC_UP, KC_RSFT,
- MO(FUNC), KC_GRV, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, TG(QWER), KC_LEFT, KC_DOWN, KC_RGHT),
- [QWER] = LAYOUT_jp(
- 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_INT3, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_UP, KC_RSFT,
- MO(FUNC), KC_GRV, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [NEW_CMD] = LAYOUT_jp(
- _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), _______, _______, _______, LGUI(KC_BSPC),
- _______, LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC),
- _______, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), _______, _______, _______, _______,
- LGUI(KC_LSFT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), _______, _______, _______,
- _______, _______, _______, _______, _______, LGUI(KC_SPC), _______, _______, _______, _______, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT)),
-
- [SYMB] = LAYOUT_jp(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, LSFT(KC_LBRC), LSFT(KC_RBRC), _______, _______, _______, _______,
- _______, 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), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [FUNC] = LAYOUT_jp(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
diff --git a/keyboards/hhkb/jp/keymaps/sh_jp/rules.mk b/keyboards/hhkb/jp/keymaps/sh_jp/rules.mk
deleted file mode 100644
index a7f700f019..0000000000
--- a/keyboards/hhkb/jp/keymaps/sh_jp/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h
index 20c4deca40..136be2f581 100644
--- a/keyboards/hillside/46/0_1/config.h
+++ b/keyboards/hillside/46/0_1/config.h
@@ -6,6 +6,7 @@
/* Split */
#define SPLIT_HAND_MATRIX_GRID B5, F6
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
#define MATRIX_MASKED
/* Haptic hardware */
diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h
index 20c4deca40..136be2f581 100644
--- a/keyboards/hillside/52/0_1/config.h
+++ b/keyboards/hillside/52/0_1/config.h
@@ -6,6 +6,7 @@
/* Split */
#define SPLIT_HAND_MATRIX_GRID B5, F6
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
#define MATRIX_MASKED
/* Haptic hardware */
diff --git a/keyboards/hineybush/h87_g2/config.h b/keyboards/hineybush/h87_g2/config.h
new file mode 100644
index 0000000000..f37f589f0a
--- /dev/null
+++ b/keyboards/hineybush/h87_g2/config.h
@@ -0,0 +1,19 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should 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 BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 1 \ No newline at end of file
diff --git a/keyboards/hineybush/h87_g2/halconf.h b/keyboards/hineybush/h87_g2/halconf.h
new file mode 100644
index 0000000000..976d17d891
--- /dev/null
+++ b/keyboards/hineybush/h87_g2/halconf.h
@@ -0,0 +1,20 @@
+/* Copyright 2024 Josh Hinnebusch
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/hineybush/h87_g2/info.json b/keyboards/hineybush/h87_g2/info.json
index ea360f01ee..13c17caa98 100644
--- a/keyboards/hineybush/h87_g2/info.json
+++ b/keyboards/hineybush/h87_g2/info.json
@@ -2,9 +2,13 @@
"manufacturer": "Hiney LLC",
"keyboard_name": "h87_g2",
"maintainer": "hineybush",
+ "backlight": {
+ "pin": "A6"
+ },
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"features": {
+ "backlight": true,
"bootmagic": true,
"command": false,
"console": false,
@@ -12,6 +16,10 @@
"mousekey": true,
"nkro": true
},
+ "indicators": {
+ "caps_lock": "B12",
+ "scroll_lock": "B14"
+ },
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A5", "A4", "A3", "F1", "C15", "C14", "F0", "C13", "B9", "B8", "B5"],
"rows": ["A15", "B3", "B4", "A0", "B6", "B7"]
@@ -23,95 +31,554 @@
"pid": "0x0001",
"vid": "0x4069"
},
+ "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift"],
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_tkl_ansi_split_bs_rshift",
+ "LAYOUT": "LAYOUT_tkl_ansi_tsangan"
+ },
"layouts": {
- "LAYOUT": {
+ "LAYOUT_tkl_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_wkl": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_wkl_split_bs_rshift": {
"layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
- {"label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0},
- {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
- {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
- {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 14], "w": 2, "x": 13, "y": 1.25},
- {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.25},
- {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.25},
- {"label": "PgUp", "matrix": [2, 16], "x": 17.25, "y": 1.25},
- {"label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25},
- {"label": "|", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25},
- {"label": "Del", "matrix": [2, 14], "x": 15.25, "y": 2.25},
- {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25},
- {"label": "PgDn", "matrix": [4, 16], "x": 17.25, "y": 2.25},
- {"label": "Caps", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "Apos", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25},
- {"label": "Shift", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25},
- {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25},
- {"label": "Ctrl", "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25},
- {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25},
- {"matrix": [5, 6], "w": 7, "x": 4, "y": 5.25},
- {"label": "Alt", "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.25},
- {"label": "Win", "matrix": [5, 11], "x": 12.5, "y": 5.25},
- {"label": "Ctrl", "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25},
- {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
- {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25},
- {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 2, "y": 0},
+ {"matrix": [0, 2], "x": 3, "y": 0},
+ {"matrix": [0, 3], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+ {"matrix": [0, 5], "x": 6.5, "y": 0},
+ {"matrix": [0, 6], "x": 7.5, "y": 0},
+ {"matrix": [0, 7], "x": 8.5, "y": 0},
+ {"matrix": [0, 8], "x": 9.5, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0},
+ {"matrix": [0, 10], "x": 12, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [3, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [3, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [4, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
]
}
}
diff --git a/keyboards/hineybush/h87_g2/keymaps/default/keymap.c b/keyboards/hineybush/h87_g2/keymaps/default/keymap.c
index b34ebaff82..d1432afc79 100644
--- a/keyboards/hineybush/h87_g2/keymaps/default/keymap.c
+++ b/keyboards/hineybush/h87_g2/keymaps/default/keymap.c
@@ -1,5 +1,6 @@
// Copyright 2023 Josh Hinnebusch
// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -19,23 +20,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Ctrl│GUI │Alt │ │ Fn │ GUI│Ctrl│ │ ↠│ ↓ │ → │
* └────┴────┴────┴─────────────────────────────┴────┴────┴────┘ └───┴───┴───┘
*/
- [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_SCRL, KC_PAUS,
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ 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_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_MENU, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+ [1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
};
diff --git a/keyboards/hineybush/h87_g2/keymaps/via/keymap.c b/keyboards/hineybush/h87_g2/keymaps/via/keymap.c
index 840b2f30a6..d1432afc79 100644
--- a/keyboards/hineybush/h87_g2/keymaps/via/keymap.c
+++ b/keyboards/hineybush/h87_g2/keymaps/via/keymap.c
@@ -20,23 +20,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Ctrl│GUI │Alt │ │ Fn │ GUI│Ctrl│ │ ↠│ ↓ │ → │
* └────┴────┴────┴─────────────────────────────┴────┴────┴────┘ └───┴───┴───┘
*/
- [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_SCRL, KC_PAUS,
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ 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_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_MENU, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+ [1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
};
diff --git a/keyboards/hineybush/h87_g2/mcuconf.h b/keyboards/hineybush/h87_g2/mcuconf.h
new file mode 100644
index 0000000000..7e226e4371
--- /dev/null
+++ b/keyboards/hineybush/h87_g2/mcuconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2024 Josh Hinnebusch
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/config.h b/keyboards/hineybush/h87a/keymaps/gam3cat/config.h
deleted file mode 100644
index 334beb0ac2..0000000000
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-//Force NKRO to be enabled.
-#define FORCE_NKRO
-
-//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
-//#define GRAVE_ESC_CTRL_OVERRIDE
-
-//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
-//#define TAPPING_TERM 200
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
deleted file mode 100644
index 6d064455b3..0000000000
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
+++ /dev/null
@@ -1,293 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layers {
- _BL = 0, // Base Layer
- _WL, // Workman Layer
- _NL, // Norman Layer
- _DL, // Dvorak Layer
- _CL, // Base Layer
- _FL, // Function Layer
- _AL, // Adjust Layer
-};
-
-enum custom_keycodes {
- QMK_REV = SAFE_RANGE,
- KC_WEB,
- KC_SP4,
- DYNAMIC_MACRO_RANGE
-};
-
-extern backlight_config_t backlight_config;
-
-#include "dynamic_macro.h"
-#define FN_CAPS LT(_FL, KC_CAPS)
-#define KC_DMR1 DM_REC1
-#define KC_DMR2 DM_REC2
-#define KC_DMP1 DM_PLY1
-#define KC_DMP2 DM_PLY2
-#define KC_DMRS DM_RSTP
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*#### _BL: Base Layer - Standard TKL QWERTY layout.
- * .-----------------------------------------------------------------------.
- * |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
- * |-----------------------------------------------------------|-----------|
- * |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
- * |-----------------------------------------------------------|-----------|
- * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
- * |-----------------------------------------------------------|-----------|
- * |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
- * |-----------------------------------------------------------|-----------|
- * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
- * |-----------------------------------------------------------|-----------|
- * |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
- * *-----------------------------------------------------------------------*
- */
- [_BL] = 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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT,
- KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*#### _WL: Workman Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |S |H |T |G |Y |N |E |O |I |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_WL] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _NL: Norman Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |S |E |T |G |Y |N |I |O |H |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_NL] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, 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, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _DL: Dvorak Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |[ |] | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |' |, |. |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 | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_DL] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______,
- _______, 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_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______,
- _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _CL: Colmak Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | |- |= | | | | |
- * |-----------------------------------------------------------|-----------|
- * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
- * |-----------------------------------------------------------|-----------|
- * | |A |R |S |T |D |H |N |E |I |O |' | | |
- * |-----------------------------------------------------------|-----------|
- * | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_CL] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _FL: Function Layer.
- * .-----------------------------------------------------------------------.
- * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
- * .-----------------------------------------------------------|-----------|
- * |Web| | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * |Fn_AL| | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | |Lft|Dwn|Up |Rgt| | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | | | | | | | | |Fn | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | SP4 | |Fn | |WBk| |WFw|
- * *-----------------------------------------------------------------------*
- */
- [_FL] = LAYOUT_all(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD
- ),
- /*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
- * .-----------------------------------------------------------------------.
- * |Rst||||| | | | ||| | | | ||| | | | | | | |
- * .-----------------------------------------------------------|-----------|
- * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
- * |-----------------------------------------------------------|-----------|
- * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
- * |-----------------------------------------------------------|-----------|
- * | | | |_DL| | | | | | | | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
- * |-----------------------------------------------------------|-----------|
- * | | | | | |Fn | | | | |
- * *-----------------------------------------------------------------------*
- */
- [_AL] = LAYOUT_all(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DOWN, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1,
- _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2,
- XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMK_REV:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
- }
- return false;
- break;
- case KC_WEB:
- if (record->event.pressed) {
- SEND_STRING(SS_LGUI("r"));
- wait_ms(100);
- SEND_STRING("chrome.exe\n");
- }
- return false;
- break;
- case KC_SP4:
- if (record->event.pressed) {
- SEND_STRING (" ");
- }
- return false;
- break;
- }
- // Dynamic Macros.
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
-
-void custom_backlight_level(uint8_t level) {
- if (level > BACKLIGHT_LEVELS)
- level = BACKLIGHT_LEVELS;
- backlight_config.level = level;
- backlight_config.enable = !!backlight_config.level;
- backlight_set(backlight_config.level);
-}
-
-void matrix_init_user(void) {
- #ifdef BACKLIGHT_ENABLE
- custom_backlight_level(0);
- #endif
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- rgblight_sethsv_noeeprom(180,100,100);
- #endif
-}
-
-void matrix_scan_user(void) {
-
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _BL:
- custom_backlight_level(0);
- rgblight_sethsv_noeeprom(180,100,255);
- break;
- case _WL:
- case _NL:
- case _DL:
- case _CL:
- custom_backlight_level(1);
- rgblight_sethsv_noeeprom(230,255,255);
- break;
- case _FL:
- custom_backlight_level(2);
- rgblight_sethsv_noeeprom(240,255,255);
- break;
- case _AL:
- custom_backlight_level(3);
- rgblight_sethsv_noeeprom(255,255,255);
- break;
- default:
- custom_backlight_level(0);
- rgblight_sethsv_noeeprom(180,100,100);
- break;
- }
- return state;
-}
-
-void led_init_ports(void) {
- DDRD |= (1<<5); // OUT
- DDRE |= (1<<6); // OUT
-}
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- DDRD |= (1 << 5); PORTD &= ~(1 << 5);
- } else {
- DDRD &= ~(1 << 5); PORTD &= ~(1 << 5);
- }
- if (led_state.scroll_lock) {
- DDRE |= (1 << 6); PORTE &= ~(1 << 6);
- } else {
- DDRE &= ~(1 << 6); PORTE &= ~(1 << 6);
- }
- return false;
-}
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/readme.md b/keyboards/hineybush/h87a/keymaps/gam3cat/readme.md
deleted file mode 100644
index 5eb4c7d611..0000000000
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/readme.md
+++ /dev/null
@@ -1,114 +0,0 @@
-# Keymap Maintainer: Gam3cat
-make h87a:gam3cat
-## Layout Config:
-2u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
-[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
-
-## Base Layer Selection:
-(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
-
-### Base Layer Options:
-#### _BL: Base Layer - Standard TKL QWERTY layout.
- .-----------------------------------------------------------------------.
- |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
- |-----------------------------------------------------------|-----------|
- |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
- |-----------------------------------------------------------|-----------|
- |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
- |-----------------------------------------------------------|-----------|
- |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
- |-----------------------------------------------------------|-----------|
- |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
- |-----------------------------------------------------------|-----------|
- |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
- *-----------------------------------------------------------------------*
-
-#### _WL: Workman Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |S |H |T |G |Y |N |E |O |I |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _NL: Norman Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |S |E |T |G |Y |N |I |O |H |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _DL: Dvorak Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |[ |] | | | | |
- |-----------------------------------------------------------|-----------|
- | |' |, |. |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 | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _CL: Colmak Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- | | | | | | | | | | | |- |= | | | | |
- |-----------------------------------------------------------|-----------|
- | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
- |-----------------------------------------------------------|-----------|
- | |A |R |S |T |D |H |N |E |I |O |' | | |
- |-----------------------------------------------------------|-----------|
- | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | |
- *-----------------------------------------------------------------------*
-
-#### _FL: Function Layer.
- .-----------------------------------------------------------------------.
- | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
- .-----------------------------------------------------------|-----------|
- |Web| | | | | | | | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- |Fn_AL| | | | | | | | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | |Lft|Dwn|Up |Rgt| | | |
- |-----------------------------------------------------------|-----------|
- | | | | | | | | | | | | |Fn | | | |
- |-----------------------------------------------------------|-----------|
- | | | | SP4 | |Fn | |WBk| |WFw|
- *-----------------------------------------------------------------------*
-
-#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
- .-----------------------------------------------------------------------.
- |Rst||||| | | | ||| | | | ||| | | | | | | |
- .-----------------------------------------------------------|-----------|
- |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
- |-----------------------------------------------------------|-----------|
- |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
- |-----------------------------------------------------------|-----------|
- | | | |_DL| | | | | | | | | | |
- |-----------------------------------------------------------|-----------|
- | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
- |-----------------------------------------------------------|-----------|
- | | | | | |Fn | | | | |
- *-----------------------------------------------------------------------*
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk b/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk
deleted file mode 100644
index 7b35b90178..0000000000
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk
+++ /dev/null
@@ -1,22 +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
-#
-TAP_DANCE_ENABLE = no # Enable TapDance functionality
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+1500)
-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 # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = no # Enable extended unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-#VARIABLE_TRACE = no # Use this to debug changes to variable values
-KEY_LOCK_ENABLE = no # This enables key lock(+260)
-SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c
index df17650f27..754b63b200 100644
--- a/keyboards/hineybush/hbcp/hbcp.c
+++ b/keyboards/hineybush/hbcp/hbcp.c
@@ -70,7 +70,7 @@ bool led_update_kb(led_t led_state) {
__attribute__ ((weak))
void keyboard_post_init_user(void) {
- rgblight_set_effect_range(3, RGBLED_NUM-3);
+ rgblight_set_effect_range(3, RGBLIGHT_LED_COUNT-3);
led_t led_state = {
.caps_lock = true,
.num_lock = true,
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
deleted file mode 100644
index 04f132f4a4..0000000000
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 86
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
index 7f8a448d07..6146bd517a 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
@@ -10,7 +10,53 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B1", "B0", "B5", "B6", "C6", "C7", "E2", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h
index f957465cd0..bc7924165d 100644
--- a/keyboards/horrortroll/handwired_k552/config.h
+++ b/keyboards/horrortroll/handwired_k552/config.h
@@ -40,27 +40,4 @@
#define OLED_FONT_H "lib/glcdfont.c"
#endif
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 24
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#endif
+#define RGB_MATRIX_LED_COUNT 24
diff --git a/keyboards/horrortroll/handwired_k552/info.json b/keyboards/horrortroll/handwired_k552/info.json
index b064df38c2..6eb5cbd80e 100644
--- a/keyboards/horrortroll/handwired_k552/info.json
+++ b/keyboards/horrortroll/handwired_k552/info.json
@@ -13,7 +13,28 @@
"pin": "C14"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"],
diff --git a/keyboards/horrortroll/lemon40/lemon40.c b/keyboards/horrortroll/lemon40/lemon40.c
index 75321f41b3..ad42e93e67 100644
--- a/keyboards/horrortroll/lemon40/lemon40.c
+++ b/keyboards/horrortroll/lemon40/lemon40.c
@@ -20,18 +20,21 @@
#include "lib/bongocat.h"
#ifdef OLED_ENABLE
- bool oled_task_kb(void) {
- led_t led_usb_state = host_keyboard_led_state();
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ led_t led_usb_state = host_keyboard_led_state();
- render_bongocat();
- oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
- oled_write_P(PSTR("WPM:"), false);
- oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
- oled_set_cursor(17, 2);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_set_cursor(17, 3);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
+ render_bongocat();
+ oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_write_P(PSTR("WPM:"), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
+ oled_set_cursor(17, 2);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_set_cursor(17, 3);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
- return true;
- }
+ return true;
+}
#endif
diff --git a/keyboards/horrortroll/nyx/rev1/config.h b/keyboards/horrortroll/nyx/rev1/config.h
deleted file mode 100644
index 9126bfe085..0000000000
--- a/keyboards/horrortroll/nyx/rev1/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB Matrix config */
-#define RGB_MATRIX_LED_COUNT 67
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/hotdox/keymaps/bliss/keymap.c b/keyboards/hotdox/keymaps/bliss/keymap.c
deleted file mode 100644
index b83114d024..0000000000
--- a/keyboards/hotdox/keymaps/bliss/keymap.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Copyright 2021 Benjamin Chausse
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layer_names {
- BASE, // default layer
- FUNC, // functions keys, numbpad, and arrows
-};
-
-enum custom_keycodes {
- VRSN = SAFE_RANGE,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: default layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | BkSp |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | \ |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | TUX | A | S | D | F | G |------| |------| H | J | K | L | ; | '/TUX |
- * |--------+------+------+------+------+------| ^ | | & |------+------+------+------+------+--------|
- * | Shft/( | Z | X | C | V | B | | | | N | M | , | . | / | Shft/) |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | Ctrl | Alt | Caps | MP1 | FUNC | | MR1 | MS1 | [ | ] | TFUNC |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,---------------.
- * | | Prnt | | INS | HOME |
- * ,------|------|------| |------+--------+------.
- * | | | Vol+ | | PgUp | | |
- * | Space|Backsp|------| |------| Enter | : |
- * | |ace | Vol- | | PgDn | | |
- * `--------------------' `----------------------'
- *
- * MR1: Record macro 1 Prnt: Print Screen
- * MS1: Stop recording macro 1 INS: INSERT
- * MP1: Play macro 1 TFUNC: Goto FUNC only while pressed
- * FUNC: Set FUNC as default layer
- *
- *
- */
-
-/* If it accepts an argument (i.e, is a function), it doesn't need KC_. */
-/* Otherwise, it needs KC_* */
- [BASE] = LAYOUT_ergodox( /* layer 0: default */
- /* Left hand */
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, LSFT(KC_LBRC),
- MT(MOD_LGUI, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, LSFT(KC_6),
- KC_LCTL, KC_LALT, KC_CAPS, DM_PLY1, DF(1),
-
- KC_NO, KC_PSCR,
- KC_VOLU,
- KC_SPC, KC_BSPC, KC_VOLD,
-
- /* right hand */
- KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- RSFT(KC_RBRC), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RGUI, KC_QUOT),
- RSFT(KC_7), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- DM_REC1, DM_RSTP, KC_LBRC, KC_RBRC, MO(1),
-
- KC_INS, KC_HOME,
- KC_PGUP,
- KC_PGDN, KC_ENT, RSFT(KC_SCLN)),
-
-/* Keymap 1: function keys, numpad, and arrows
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | UP | | | | | | / | 7 | 8 | 9 | - | \ |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | LEFT | DOWN |RIGHT | |------| |------| * | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | % | 1 | 2 | 3 | , | Shft/) |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | Ctrl | Alt | Caps | | MAIN | | 0 | . | [ | ] | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,---------------.
- * | | Prnt | | Ins | Home |
- * ,------|------|------| |------+--------+------.
- * | | | Vol+ | | PgUp | | |
- * | Space|Backsp|------| |------| Enter | Equal|
- * | |ace | Vol- | | PgDn | | |
- * `--------------------' `----------------------'
- */
-
- [FUNC] = LAYOUT_ergodox( /* layer 1: func */
- /* left hand */
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_LALT, KC_CAPS, KC_NO, DF(0),
-
- KC_NO, KC_PSCR,
- KC_VOLU,
- KC_SPC, KC_BSPC, KC_VOLD,
-
- /* right hand */
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO,
- KC_NO, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_BSLS,
- KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_NO,
- KC_NO, LSFT(KC_5), KC_P1, KC_P2, KC_P3, KC_PCMM, SC_RSPC,
- KC_P0, KC_PDOT, KC_LBRC, KC_RBRC, KC_NO,
-
- KC_INS, KC_HOME,
- KC_PGUP,
- KC_PGDN, KC_ENT, KC_PEQL)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- return false;
- break;
- }
- return true;
-}
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-};
diff --git a/keyboards/hotdox/keymaps/bliss/readme.md b/keyboards/hotdox/keymaps/bliss/readme.md
deleted file mode 100644
index a31ee2826e..0000000000
--- a/keyboards/hotdox/keymaps/bliss/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Bliss for Hotdox
-
-This keymap for the ergodox hotdox is a take on a development setup I quite
-enjoy. Developers constantly use brackets and they should therefore be
-accessible instead of hidden away behind a shift key. Also this setup aims to minimize hand travel with a layer containing a numpad as well as arrows. Finally,
-this setup incorporates a dynamic macro recorder for an easy, software agnostic way to program macros.
-
-All keybinding diagrams can be read in the `keymap.c` file. It is quite well documented.
diff --git a/keyboards/hotdox/keymaps/bliss/rules.mk b/keyboards/hotdox/keymaps/bliss/rules.mk
deleted file mode 100644
index ca616d75ee..0000000000
--- a/keyboards/hotdox/keymaps/bliss/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-EXTRAKEY_ENABLE = yes
-DYNAMIC_MACRO_ENABLE = yes
diff --git a/keyboards/hotdox/keymaps/eozaki/keymap.c b/keyboards/hotdox/keymaps/eozaki/keymap.c
deleted file mode 100644
index d30308fa28..0000000000
--- a/keyboards/hotdox/keymaps/eozaki/keymap.c
+++ /dev/null
@@ -1,192 +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, // can always be here
- VRSN,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | ' | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Del | Q | W | E | R | T | ~ | | " | Y | U | I | O | P | - |
- * |--------+------+------+------+------+------| ` | | |------+------+------+------+------+--------|
- * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; | \ |
- * |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
- * | LAlt | Z | X | C | V | B | [ | | ] | N | M | , | . | / | LShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LT-1 | F4 | F5 | F6 | F11 | | Left | Down | Up | Right| RAlt |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | L1 | Prev | | Vol+ | L2 |
- * ,------|------|------| |------+--------+------.
- * | | | Play | | Vol- | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | Next | | Mute | | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LSFT(KC_GRV),
- KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC,
- LT(SYMB, KC_F2), KC_F4, KC_F5, KC_F6, KC_F11,
- TG(SYMB), KC_MPRV,
- KC_MPLY,
- KC_SPC,KC_BSPC,KC_MNXT,
- // right hand
- KC_QUOT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- LSFT(KC_QUOT), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_BSLS,
- KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_LSFT,
- KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RALT,
- KC_VOLU, TG(MDIA),
- KC_VOLD,
- KC_MUTE,KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,---------------------------------------------------. ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | EE_CLR | | | | | | | . | 0 | = | |
- * `-----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |Animat| | |Toggle|Solid |
- * ,------|------|------| |------+------+------.
- * |Bright|Bright| | | |Hue- |Hue+ |
- * |ness- |ness+ |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
- KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
- KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
- EE_CLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- RGB_MOD,KC_TRNS,
- KC_TRNS,
- RGB_VAD,RGB_VAI,KC_TRNS,
- // right hand
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, 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_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
- RGB_TOG, RGB_SLD,
- KC_TRNS,
- KC_TRNS, RGB_HUD, RGB_HUI
-),
-/* 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_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, 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
-),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- 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) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/keyboards/hotdox/left.c b/keyboards/hotdox/left.c
index 970d36f1b5..f963ecdae7 100644
--- a/keyboards/hotdox/left.c
+++ b/keyboards/hotdox/left.c
@@ -5,8 +5,8 @@
bool i2c_initialized = false;
void left_config(void);
-uint8_t left_write(uint8_t reg, uint8_t data);
-uint8_t left_read(uint8_t reg, uint8_t *data);
+i2c_status_t left_write(uint8_t reg, uint8_t data);
+i2c_status_t left_read(uint8_t reg, uint8_t *data);
uint8_t init_mcp23017(void)
{
@@ -35,12 +35,11 @@ void left_init(void)
void left_scan(void)
{
- uint8_t ret = i2c_start(I2C_ADDR_WRITE, HOTDOX_I2C_TIMEOUT);
+
+ i2c_status_t ret = i2c_ping_address(I2C_ADDR, HOTDOX_I2C_TIMEOUT);
- if (ret == 0)
+ if (ret == I2C_STATUS_SUCCESS)
{
- i2c_stop();
-
if (!i2c_initialized)
{
i2c_initialized = true;
@@ -91,40 +90,29 @@ void left_config(void)
left_write(MCP23017_B0_GPIOB, 0xC0);
}
-uint8_t left_write(uint8_t reg, uint8_t data)
+i2c_status_t left_write(uint8_t reg, uint8_t data)
{
if (!i2c_initialized)
{
return 0;
}
- uint8_t ret;
+ i2c_status_t ret;
- ret = i2c_start(I2C_ADDR_WRITE, HOTDOX_I2C_TIMEOUT); if (ret) goto out;
- ret = i2c_write(reg, HOTDOX_I2C_TIMEOUT); if (ret) goto out;
- ret = i2c_write(data, HOTDOX_I2C_TIMEOUT);
+ ret = i2c_writeReg(I2C_ADDR, reg, &data, sizeof(data), HOTDOX_I2C_TIMEOUT);
-out:
- i2c_stop();
return ret;
}
-uint8_t left_read(uint8_t reg, uint8_t *data)
+i2c_status_t left_read(uint8_t reg, uint8_t *data)
{
if (!i2c_initialized)
{
return 0;
}
- uint8_t ret = 0;
-
- ret = i2c_start(I2C_ADDR_WRITE, HOTDOX_I2C_TIMEOUT); if (ret) goto out;
- ret = i2c_write(reg, HOTDOX_I2C_TIMEOUT); if (ret) goto out;
- ret = i2c_start(I2C_ADDR_READ, HOTDOX_I2C_TIMEOUT); if (ret) goto out;
-
- *data = i2c_read_nack(HOTDOX_I2C_TIMEOUT);
+ i2c_status_t ret = 0;
+ ret = i2c_readReg(I2C_ADDR, reg, data, 1, HOTDOX_I2C_TIMEOUT);
-out:
- i2c_stop();
return ret;
}
diff --git a/keyboards/hotdox/left.h b/keyboards/hotdox/left.h
index 3d8b5a6ead..32faadba21 100644
--- a/keyboards/hotdox/left.h
+++ b/keyboards/hotdox/left.h
@@ -10,10 +10,7 @@
#define MCP23017_A1 0
#define MCP23017_A2 0
-#define I2C_ADDR (0x20)
-#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE)
-#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ)
-
+#define I2C_ADDR ((0x20) << 1)
#define MCP23017_B0_IODIRA 0x00
#define MCP23017_B0_IODIRB 0x01
@@ -40,8 +37,6 @@
#define HOTDOX_I2C_TIMEOUT 100
-typedef int16_t i2c_status_t;
-
void left_init(void);
void left_scan(void);
diff --git a/keyboards/hotdox76v2/config.h b/keyboards/hotdox76v2/config.h
index 3d80775073..f3b95890b2 100644
--- a/keyboards/hotdox76v2/config.h
+++ b/keyboards/hotdox76v2/config.h
@@ -20,19 +20,4 @@
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-#define RGB_MATRIX_SPLIT \
- { 43, 43 }
-
-#define RGB_MATRIX_LED_COUNT 86
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_CENTER \
- { 112, 32 }
-
#define SPLIT_TRANSACTION_IDS_KB KEYBOARD_CURRENT_ALPA_SYNC
-
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
diff --git a/keyboards/hotdox76v2/info.json b/keyboards/hotdox76v2/info.json
index a42bdb3a79..30fd71f62a 100644
--- a/keyboards/hotdox76v2/info.json
+++ b/keyboards/hotdox76v2/info.json
@@ -11,7 +11,6 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "lto": true,
"oled": true,
"rgb_matrix": true
},
@@ -19,7 +18,17 @@
"lto": true
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "cycle_left_right": true,
+ "cycle_out_in_dual": true
+ },
+ "center_point": [112, 32],
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true,
+ "split_count": [43, 43]
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/config.h b/keyboards/hotdox76v2/keymaps/dancxjo/config.h
deleted file mode 100644
index fac328091d..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2023 Travis Reed (@dancxjo)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-#define EE_HANDS
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c b/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c
deleted file mode 100644
index 1f55685de0..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2023 Travis Reed (@dancxjo)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer {
- _ENGRAM = 0,
- _QWERTY,
- _ENGRAM_SHIFT,
- _FUNCTION,
- _MEDIA
-};
-
-/* Combines the compose key (right super) and the AltGr */
-#define KC_COMP MT(MOD_RALT, KC_RGUI)
-#define KC_SCMP MT(MOD_RSFT | MOD_RALT, KC_RGUI)
-
-#define KC_STAB MT(MOD_LSFT, KC_TAB)
-
-/* Use a fake shift layer since Engram switches level 2 assignments */
-#define KC_PSFT MO(_ENGRAM_SHIFT)
-
-#define KC_FUNC TT(_FUNCTION)
-#define KC_MEDI TT(_MEDIA)
-
-/* Easily switch between MacOS & other OSes*/
-#define KC_HLM1 LM(1, MOD_LCTL)
-#define KC_HLM2 LM(1, MOD_LGUI)
-#define KC_SHM1 LM(1, MOD_LCTL | MOD_LSFT)
-#define KC_SHM2 LM(1, MOD_LGUI | MOD_LSFT)
-#define KC_STRN RSFT(KC_TRNS)
-
-#define KC_FORW LGUI(KC_TAB)
-#define KC_BACK LGUI(LSFT(KC_TAB))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Differs slightly from official Engram in that {} are the level 1 and [] are the level 2 */
- [_ENGRAM] = LAYOUT_ergodox_pretty(
- KC_LCBR, KC_1, KC_2, KC_3, KC_4, KC_5, CG_NORM, KC_PAUSE, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RCBR,
- KC_TAB, KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_AT, KC_HASH, KC_DQUO, KC_L, KC_D, KC_W, KC_V, KC_Z,
- KC_CAPS, KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q,
- KC_PSFT, KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH, KC_PSCR, KC_QUES, KC_R, KC_M, KC_F, KC_P, KC_PSFT,
- KC_HLM1, KC_FUNC, KC_MEDI, KC_LALT, KC_HLM2, KC_RGUI, KC_RALT, KC_MEDI, KC_FUNC,KC_HLM1,
- KC_INS, KC_HOME, KC_END, KC_DEL,
- KC_PGUP, KC_PGDN,
- KC_ENT, KC_ESC, KC_LSFT, KC_RSFT, KC_BSPC, KC_SPC
- ),
- [_ENGRAM_SHIFT] = LAYOUT_ergodox_pretty(
- KC_LBRC, KC_PIPE, KC_EQL, KC_TILD, KC_PLUS, KC_LT, CG_SWAP, KC_STRN, KC_GT, KC_CIRC, KC_AMPR, KC_PERC, KC_ASTR, KC_RBRC,
- KC_STRN, RSFT(KC_B), RSFT(KC_Y), RSFT(KC_O), RSFT(KC_U), KC_LPRN, KC_GRV, KC_DLR, KC_RPRN, RSFT(KC_L), RSFT(KC_D), RSFT(KC_W), RSFT(KC_V), RSFT(KC_Z),
- KC_STRN, RSFT(KC_C), RSFT(KC_I), RSFT(KC_E), RSFT(KC_A), KC_SCLN, KC_COLN, RSFT(KC_H), RSFT(KC_T), RSFT(KC_S), RSFT(KC_N), RSFT(KC_Q),
- KC_TRNS, RSFT(KC_G), RSFT(KC_X), RSFT(KC_J), RSFT(KC_K), KC_UNDS, KC_BSLS, KC_STRN, KC_EXLM, RSFT(KC_R), RSFT(KC_M), RSFT(KC_F), RSFT(KC_P), KC_TRNS,
- KC_SHM1, KC_STRN, KC_STRN, KC_STRN, KC_SHM2, KC_STRN, KC_STRN, KC_STRN, KC_STRN, KC_SHM1,
- KC_STRN, KC_STRN, KC_HYPR, KC_STRN,
- KC_STRN, KC_STRN,
- KC_SHM1, KC_STRN, KC_STRN, KC_SHM2, KC_STRN, KC_STRN
- ),
- [_QWERTY] = LAYOUT_ergodox_pretty(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_TRNS, 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_EQL, KC_TRNS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_FUNCTION] = LAYOUT_ergodox_pretty(
- KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_BRID, KC_BRIU, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PWR,
- KC_APP, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, TG(1), TG(1), KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_SLEP,
- KC_SCRL, KC_F21, KC_F22, KC_F23, KC_F24, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WAKE,
- KC_PAUS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_NO, CG_SWAP, CG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_SAD, RGB_HUD, RGB_HUI, RGB_SAI,
- RGB_RMOD, RGB_MOD,
- RGB_SPD, RGB_VAD, KC_TRNS, KC_TRNS, RGB_VAI, RGB_SPI
- ),
- [_MEDIA] = LAYOUT_ergodox_pretty(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WREF, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_WREF, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_MSEL, KC_NO,
- KC_NO, KC_NO, KC_WSTP, KC_MYCM, KC_WSCH, KC_FIND, KC_WHOM, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_CALC, KC_NO, KC_WFAV, KC_NO, KC_NO, KC_NO, KC_HOME, KC_MAIL, KC_END, KC_NO, KC_NO,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_MUTE, KC_EJCT, KC_MSTP, KC_MPLY,
- KC_MPRV, KC_MNXT,
- KC_MRWD, KC_VOLD, KC_TRNS, KC_TRNS, KC_VOLU, KC_MFFD
- )
-};
-
-char* get_layer_name(uint8_t layer, bool capitalized) {
- char *layer_name = "Unknown ";
-
- switch (layer) {
- case _ENGRAM:
- case _ENGRAM_SHIFT:
- if (capitalized) {
- layer_name = "ENGRAM ";
- } else {
- layer_name = "engram ";
- }
- break;
- case _QWERTY:
- if (capitalized) {
- layer_name = "QWERTY ";
- } else {
- layer_name = "qwerty ";
- }
- break;
- case _MEDIA:
- layer_name = "Media+ ";
- break;
- case _FUNCTION:
- layer_name = "Function";
- break;
- }
- return layer_name;
-}
-
-void render_locks(led_t led_state) {
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
-}
-
-void render_mods(uint8_t modifiers, uint8_t layer) {
- oled_write_P(modifiers & MOD_MASK_GUI ? PSTR("Super") : PSTR(" "), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(modifiers & MOD_MASK_ALT ? PSTR("Alt") : PSTR(" "), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(modifiers & MOD_MASK_CTRL ? PSTR("Ctl") : PSTR(" "), false);
- oled_write_P(PSTR(" "), false);
-
- if (layer == _ENGRAM_SHIFT) {
- oled_write_P(PSTR("Pseudo"), false);
- } else {
- oled_write_P(modifiers & MOD_MASK_SHIFT ? PSTR("Shift ") : PSTR(" "), false);
- }
-}
-
-char* get_helm_key(void) {
- if (keymap_config.swap_lctl_lgui) {
- return "Super";
- } else {
- return "Control";
- }
-}
-
-bool oled_task_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
- uint8_t modifiers = get_mods()|get_oneshot_mods();
- led_t led_state = host_keyboard_led_state();
-
- bool real_shifted = modifiers & MOD_MASK_SHIFT;
- bool pseudo_shifted = layer == _ENGRAM_SHIFT;
- bool shifted = real_shifted || pseudo_shifted;
- bool caps = led_state.caps_lock;
- bool capitalized = (caps && !shifted) || (!caps && shifted);
-
- oled_write_P(PSTR("Layer: "), false);
- oled_write(get_layer_name(layer, capitalized), false);
- oled_write_P(PSTR("\n"), false);
-
- // Only the master knows if we've swapped the gui and ctl key
- if (is_keyboard_master()) {
- oled_write_P(PSTR(" Helm: "), false);
- oled_write(get_helm_key(), false);
- }
-
- oled_write_P(PSTR("\n"), false);
-
- render_mods(modifiers, layer);
- oled_write_P(PSTR("\n"), false);
-
- render_locks(led_state);
-
- return false;
-}
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk b/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk
deleted file mode 100644
index bc20eb20b7..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-COMMAND_ENABLE = yes
-VIA_ENABLE = yes
-EXTRAKEY_ENABLE = no
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h
index c864464390..95730e10e4 100644
--- a/keyboards/hs60/v1/config.h
+++ b/keyboards/hs60/v1/config.h
@@ -33,72 +33,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* disable print */
//#define NO_PRINT
-/* Backlight options */
-
-//This is experimental do not enable yet
-//#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
-
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215
-
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
-#define DRIVER_1_LED_TOTAL 30
-
#ifdef HS60_ANSI
-#define DRIVER_2_LED_TOTAL 31
+#define RGB_MATRIX_LED_COUNT 61
#else
-#define DRIVER_2_LED_TOTAL 32
+#define RGB_MATRIX_LED_COUNT 62
#endif
-
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json
index c87ca19e3b..f9d77c3513 100644
--- a/keyboards/hs60/v1/info.json
+++ b/keyboards/hs60/v1/info.json
@@ -9,7 +9,53 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3731",
+ "max_brightness": 215
},
"matrix_pins": {
"cols": ["F1", "F4", "F5", "E6", "F0", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c
index 50f6215a02..f68bcbdf9e 100644
--- a/keyboards/hs60/v1/v1.c
+++ b/keyboards/hs60/v1/v1.c
@@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length )
#ifdef HS60_ANSI
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -199,7 +199,7 @@ led_config_t g_led_config = { {
#else
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h
deleted file mode 100644
index 50c76489e6..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2018 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 overwrites for specific keymap */
-
-#undef RGB_BACKLIGHT_CAPS_LOCK_INDICATOR
-#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 255 }, .index = 3-1 } //red
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
deleted file mode 100644
index 374dc6ad4b..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2018 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
-
-//This is the HHKB version of the PCB
-
-enum macro_keys {
- KC_EML = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_60_hhkb( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ),
-
-[1] = LAYOUT_60_hhkb( /* FN */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-
-[2] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-
-[3] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-};
-
-void matrix_init_user(void) {
- //user initialization
-}
-
-void matrix_scan_user(void) {
- //user matrix
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_EML: //use "KC_EML" as keycode in layers above to call macro
- if (!record->event.pressed) {
- send_string_with_delay_P(PSTR("example@email.com"), 10); //change email value here
- }
- break;
- }
- return true;
-}
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md
deleted file mode 100644
index ea9803cc0b..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-The default keymap for HHKB HS60 V2. VIA support enabled.
-=========================================================
-
-![Layout image](https://imgur.com/usbrQWL.png)
-
-Default layer is normal HHKB with 7U space. Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
diff --git a/keyboards/hs60/v2/v2.c b/keyboards/hs60/v2/v2.c
index 45b1f54d5f..5cb6f79fc7 100644
--- a/keyboards/hs60/v2/v2.c
+++ b/keyboards/hs60/v2/v2.c
@@ -28,69 +28,69 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, B_1, A_1, C_1}, //LA1
- {0, E_1, D_1, F_1}, //LA2
- {0, H_1, G_1, I_1}, //LA3
- {0, K_1, J_1, L_1}, //LA4
- {0, B_2, A_2, C_2}, //LA5
- {0, E_2, D_2, F_2}, //LA6
- {0, H_2, G_2, I_2}, //LA7
- {0, K_2, J_2, L_2}, //LA8
- {0, B_3, A_3, C_3}, //LA9
- {0, E_3, D_3, F_3}, //LA10
- {0, H_3, G_3, I_3}, //LA11
- {0, K_3, J_3, L_3}, //LA12
- {0, B_4, A_4, C_4}, //LA13
- {0, E_4, D_4, F_4}, //LA14
- {0, H_4, G_4, I_4}, //LA15
- {0, K_4, J_4, L_4}, //LA16
- {0, B_5, A_5, C_5}, //LA17
- {0, E_5, D_5, F_5}, //LA18
- {0, H_5, G_5, I_5}, //LA19
- {0, K_5, J_5, L_5}, //LA20
- {0, B_6, A_6, C_6}, //LA21
- {0, E_6, D_6, F_6}, //LA22
- {0, H_6, G_6, I_6}, //LA23
- {0, K_6, J_6, L_6}, //LA24
- {0, B_7, A_7, C_7}, //LA25
- {0, E_7, D_7, F_7}, //LA26
- {0, H_7, G_7, I_7}, //LA27
- {0, K_7, J_7, L_7}, //LA28
- {0, B_8, A_8, C_8}, //LA29
- {0, E_8, D_8, F_8}, //LA30
- {0, H_8, G_8, I_8}, //LA31
- {0, K_8, J_8, L_8}, //LA32
- {0, B_9, A_9, C_9}, //LA33
- {0, E_9, D_9, F_9}, //LA34
- {0, H_9, G_9, I_9}, //LA35
- {0, K_9, J_9, L_9}, //LA36
- {0, B_10, A_10, C_10}, //LA37
- {0, E_10, D_10, F_10}, //LA38
- {0, H_10, G_10, I_10}, //LA39
- {0, K_10, J_10, L_10}, //LA40
- {0, B_11, A_11, C_11}, //LA41
- {0, E_11, D_11, F_11}, //LA42
- {0, H_11, G_11, I_11}, //LA43
- {0, K_11, J_11, L_11}, //LA44
- {0, B_12, A_12, C_12}, //LA45
- {0, E_12, D_12, F_12}, //LA46
- {0, H_12, G_12, I_12}, //LA47
- {0, K_12, J_12, L_12}, //LA48
- {0, B_13, A_13, C_13}, //LA49
- {0, E_13, D_13, F_13}, //LA50
- {0, H_13, G_13, I_13}, //LA51
- {0, K_13, J_13, L_13}, //LA52
- {0, B_14, A_14, C_14}, //LA53
- {0, E_14, D_14, F_14}, //LA54
- {0, H_14, G_14, I_14}, //LA55
- {0, K_14, J_14, L_14}, //LA56
- {0, B_15, A_15, C_15}, //LA57
- {0, E_15, D_15, F_15}, //LA58
- {0, H_15, G_15, I_15}, //LA59
- {0, K_15, J_15, L_15}, //LA60
- {0, B_16, A_16, C_16}, //LA61
- {0, E_16, D_16, F_16}, //LA62
- {0, H_16, G_16, I_16}, //LA63
- {0, K_16, J_16, L_16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
+ {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
};
#endif
diff --git a/keyboards/hub16/keymaps/peepeetee/config.h b/keyboards/hub16/keymaps/peepeetee/config.h
deleted file mode 100644
index 62b0df937b..0000000000
--- a/keyboards/hub16/keymaps/peepeetee/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2019 Josh Johnson
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 20
-
-// Time out one shot layers after 3 seconds
-#define ONESHOT_TIMEOUT 3000
-
-// Undef and redefine default brightness to half of 255
-#undef RGBLIGHT_LIMIT_VAL
-#define RGBLIGHT_LIMIT_VAL 255
-
-//Define a preview timeout for RGB reviews
-#define PREVIEW_TIMEOUT 5000
-
-// Enable Light Layers implementation
-#define RGBLIGHT_LAYERS
-// Allow Light Layers to override RGB off configuration
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/hub16/keymaps/peepeetee/keymap.c b/keyboards/hub16/keymaps/peepeetee/keymap.c
deleted file mode 100644
index dac88c8482..0000000000
--- a/keyboards/hub16/keymaps/peepeetee/keymap.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-Copyright 2019 Josh Johnson 2021 peepeetee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
-static uint32_t rgb_preview_timer = 0;
-#endif
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- // Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4)
- [0] = LAYOUT(
- KC_MPLY, KC_MUTE,
- TG(3), TG(2), TG(1), TG(0),
- KC_PSCR, KC_SCRL, KC_PAUS, A(KC_F4),
- KC_INS, KC_HOME, KC_PGUP, KC_F12, //Transparent to let you go between layers
- KC_DEL, A(KC_F4), KC_PGDN, KC_CALCULATOR
-
- ),
-
- [1] = LAYOUT(
- KC_MPLY, KC_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F7, KC_F8, KC_F9, KC_F10,
- KC_F4, KC_F5, KC_F6, KC_F11,
- KC_F1, KC_F2, KC_F3, KC_F12 //Transparent to let you go between layers
- ),
-
-
- //Layer 5 - Keyboard Lights, Programming and Special Functions
- [2] = LAYOUT(
- KC_MPLY, KC_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers
- RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EE_CLR, QK_BOOT, KC_TRNS
- ),
-
- [3] = LAYOUT(
- KC_MPLY, KC_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers
- RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EE_CLR, QK_BOOT, KC_TRNS
- )
-
-
- //Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4)
- // [0] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // KC_F13, KC_F14, KC_F15, KC_F16,
- // KC_F17, KC_F18, KC_F19, KC_F20,
- // KC_F21, KC_F22, KC_F23, KC_F24,
- // OSL(1), OSL(2), OSL(3), TG(4) //Transparent to let you go between layers
- // ),
-
- // [1] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16),
- // LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20),
- // LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24),
- // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
- // ),
-
- //Layer 2 - Shift + Function Key Layer
- // [2] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16),
- // LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20),
- // LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24),
- // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
- // ),
-
- // //Layer 3 - Control + Function Key
- // [3] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16),
- // LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20),
- // LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24),
- // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
- // ),
-
- // //Layer 4 - Multimedia
- // [4] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // KC_MPRV, KC_MPLY, KC_U, KC_K,
- // KC_NO, KC_NO, KC_ENT, KC_X,
- // KC_NO, QK_BOOT, LSFT(KC_HASH), KC_J,
- // TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
- // ),
-
- // //Layer 5 - Keyboard Lights, Programming and Special Functions
- // [5] = LAYOUT(
- // KC_MPLY, KC_MUTE,
- // RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
- // RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- // RGB_TOG, EE_CLR, QK_BOOT, KC_LSFT,
- // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
- // ),
-};
-
-const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0,16,HSV_WHITE}
- );
-const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0,16,HSV_ORANGE}
- );
- const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0,16,HSV_RED}
- );
- const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0,16,HSV_BLUE}
- );
-// const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS(
-// {0,16,HSV_WHITE}
-// );
-// const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS(
-// {0,16,HSV_TEAL}
-// );
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_layer0_layer,
- my_layer1_layer,
- my_layer2_layer,
- my_layer3_layer//,
- // my_layer4_layer,
- // my_layer5_layer
- );
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* Left Encoder */
- if (clockwise) {
- tap_code(KC_MPRV);
- } else {
- tap_code(KC_MNXT);
- }
- } else if (index == 1) { /* Right Encoder */
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- return true;
-}
-void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
- // Allow for a preview of changes when modifying RGB
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
- switch (keycode) {
- case RGB_TOG ... QK_VELOCIKEY_TOGGLE:
- for (uint8_t i = 0; i < RGBLIGHT_MAX_LAYERS; i++) {
- rgblight_set_layer_state(i, false);
- }
- rgb_preview_timer = timer_read32();
- break;
- }
-# endif
- return;
-}
-
-//Set the appropriate layer color
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, false);
- rgblight_set_layer_state(1, layer_state_cmp(state, 1));
- rgblight_set_layer_state(2, layer_state_cmp(state, 2));
- rgblight_set_layer_state(3, layer_state_cmp(state, 3));
- // rgblight_set_layer_state(4, layer_state_cmp(state, 4));
- // rgblight_set_layer_state(5, layer_state_cmp(state, 5));
- return state;
-}
-
-void keyboard_post_init_user(void) {
- //Enable the LED layers
- rgblight_layers = my_rgb_layers;
- layer_state_set_user(layer_state);
-}
-
-void matrix_scan_user(void) {
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
- // Allow preview for
- if (rgb_preview_timer && TIMER_DIFF_32(timer_read32(), rgb_preview_timer) > PREVIEW_TIMEOUT) {
- rgb_preview_timer = 0;
- default_layer_state_set_user(default_layer_state);
- layer_state_set_user(layer_state);
- led_update_user((led_t) host_keyboard_leds());
- }
-# endif
-}
-
-//EEPROM Reset Function
-void eeconfig_init_user(void) {
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(HSV_ORANGE); // Set it to orange by default
-}
diff --git a/keyboards/hub16/keymaps/peepeetee/rules.mk b/keyboards/hub16/keymaps/peepeetee/rules.mk
deleted file mode 100644
index f6737b8e4a..0000000000
--- a/keyboards/hub16/keymaps/peepeetee/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite \ No newline at end of file
diff --git a/keyboards/hub16/readme.md b/keyboards/hub16/readme.md
deleted file mode 100755
index f2bcf4b0a7..0000000000
--- a/keyboards/hub16/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Hub16
-
-Hub16 is a 16 Key Macro Pad with an inbuilt USB 2.0 hub and dual rotary encoders.
-
-For more information regarding the keyboard, please visit the [Hub16 Website](https://www.joshajohnson.com/hub16-keyboard/) or [GitHub Repo](https://github.com/joshajohnson/Hub16).
-
-* Keyboard Maintainer: [Josh Johnson](https://github.com/joshajohnson)
-* Hardware Supported: Hub16 PCB (atmega32u4)
-* Hardware Availability: [Josh Johnson](https://www.joshajohnson.com/hub16-keyboard/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make hub16:default
-
-Flashing example for this keyboard:
-
- make hub16:default:flash
-
-To reset the board into bootloader mode, do one of the following:
-
-* Press the reset switch between the center two USB-C ports while the board is plugged in
-* Hold the top left key while connecting the USB cable (also erases persistent settings)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h
deleted file mode 100644
index a72b1389ad..0000000000
--- a/keyboards/hub20/config.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 joshajohnson
-Copyright 2021 peepeetee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 27
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// #define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// #define ENABLE_RGB_MATRIX_DUAL_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-/* 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/hub20/info.json b/keyboards/hub20/info.json
deleted file mode 100644
index 92aa3605a9..0000000000
--- a/keyboards/hub20/info.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "keyboard_name": "Hub20",
- "manufacturer": "Josh Johnson",
- "url": "https://github.com/joshajohnson/hub20",
- "maintainer": "joshajohnson",
- "usb": {
- "vid": "0x6A6A",
- "pid": "0x4414",
- "device_version": "0.0.1"
- },
- "rgb_matrix": {
- "driver": "ws2812"
- },
- "matrix_pins": {
- "cols": ["A6", "A7", "B7", "B6"],
- "rows": ["A13", "B14", "A10", "A0", "A2", "A1"]
- },
- "diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "B12", "pin_b": "B13"},
- {"pin_a": "A8", "pin_b": "A9"}
- ]
- },
- "qmk": {
- "tap_keycode_delay": 10
- },
- "rgblight": {
- "led_count": 27
- },
- "ws2812": {
- "pin": "B15"
- },
- "processor": "STM32F072",
- "bootloader": "stm32-dfu",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"matrix": [0, 1], "x": 0.5, "y": 0},
-
- {"matrix": [0, 2], "x": 2.5, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1, "y": 4},
- {"matrix": [4, 2], "x": 2, "y": 4},
- {"matrix": [4, 3], "x": 3, "y": 4},
-
- {"matrix": [5, 0], "x": 0, "y": 5},
- {"matrix": [5, 1], "x": 1, "y": 5},
- {"matrix": [5, 2], "x": 2, "y": 5},
- {"matrix": [5, 3], "x": 3, "y": 5}
- ]
- },
- "LAYOUT_left_handed": {
- "layout": [
- {"matrix": [0, 1], "x": 0.5, "y": 0},
-
- {"matrix": [0, 2], "x": 2.5, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
-
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
-
- {"matrix": [2, 0], "x": 0, "y": 2, "h": 2},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
-
- {"matrix": [4, 1], "x": 0, "y": 4, "h": 2},
- {"matrix": [4, 2], "x": 1, "y": 4},
- {"matrix": [4, 3], "x": 2, "y": 4},
- {"matrix": [4, 0], "x": 3, "y": 4},
-
- {"matrix": [5, 1], "x": 1, "y": 5},
- {"matrix": [5, 2], "x": 2, "y": 5, "w": 2}
- ]
- },
- "LAYOUT_right_handed": {
- "layout": [
- {"matrix": [0, 1], "x": 0.5, "y": 0},
-
- {"matrix": [0, 2], "x": 2.5, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1, "y": 4},
- {"matrix": [4, 2], "x": 2, "y": 4},
-
- {"matrix": [5, 0], "x": 0, "y": 5, "w": 2},
- {"matrix": [5, 2], "x": 2, "y": 5},
- {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
- ]
- }
- }
-}
diff --git a/keyboards/hub20/readme.md b/keyboards/hub20/readme.md
deleted file mode 100755
index 1abfa0dea8..0000000000
--- a/keyboards/hub20/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Hub20
-
-Hub20 is a 20 key macro pad with an inbuilt USB 2.0 hub and dual rotary encoders. It can be configured to be a left / right hand numberpad, along with a 4x5 1u layout.
-
-For more information regarding the keyboard, please visit the [Hub20 Website](https://www.joshajohnson.com/hub20) or [GitHub Repo](https://github.com/joshajohnson/Hub20).
-
-* Keyboard Maintainer: [Josh Johnson](https://github.com/joshajohnson)
-* Hardware Supported: Hub20 PCB (STM32F072)
-* Hardware Availability: [Josh Johnson](https://www.joshajohnson.com/hub20)
-
-Make example for this keyboard (after setting up your build environment):
-
- make hub20:default
-
-Flashing example for this keyboard:
-
- make hub20:default:flash
-
-To reset the board into bootloader mode, do one of the following:
-
-* Press the reset switch between the center two USB-C ports while the board is plugged in
-* Hold the top left key while connecting the USB cable (also erases persistent settings)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h
deleted file mode 100644
index 59cec33010..0000000000
--- a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2019 ashpil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
-
-
-/* Add combos */
-#define COMBO_TERM 200
diff --git a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c
deleted file mode 100644
index e8df1f0c81..0000000000
--- a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2019 ashpil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_fullsize_ansi_wkl( /* Base layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MEDIA_PLAY_PAUSE, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- 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_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-};
-
-enum combo_events {
- CTRL_PAUS_RESET,
-};
-
-const uint16_t PROGMEM reset_combo[] = {KC_LCTL, KC_PAUS, COMBO_END};
-
-combo_t key_combos[] = {
- [CTRL_PAUS_RESET] = COMBO_ACTION(reset_combo),
-};
-
-void process_combo_event(uint16_t combo_index, bool pressed) {
- switch(combo_index) {
- case CTRL_PAUS_RESET:
- if (pressed) {
- reset_keyboard();
- }
- break;
- }
-}
diff --git a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk
deleted file mode 100644
index 23b7c173b8..0000000000
--- a/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMBO_ENABLE = yes # Reset combo \ No newline at end of file
diff --git a/keyboards/ibm/model_m/mschwingen/matrix.c b/keyboards/ibm/model_m/mschwingen/matrix.c
index 9997b65975..361803edec 100644
--- a/keyboards/ibm/model_m/mschwingen/matrix.c
+++ b/keyboards/ibm/model_m/mschwingen/matrix.c
@@ -60,8 +60,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
row_data = spi_read() << 8;
row_data |= spi_read();
- debug_hex8(~row_data);
- dprint(" ");
+ dprintf("%02X ", ~row_data);
// For each row...
for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) {
diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c
index 8e3810cd23..03dfcdc2f2 100644
--- a/keyboards/ibm/model_m/mschwingen/mschwingen.c
+++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c
@@ -36,10 +36,10 @@ static bool blink_state = false;
static uint8_t isRecording = 0;
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
-# if RGBLED_NUM < 3
+# if RGBLIGHT_LED_COUNT < 3
# error we need at least 3 RGB LEDs!
# endif
-static rgb_led_t led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}};
+static rgb_led_t led[RGBLIGHT_LED_COUNT] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}};
# define BRIGHT 32
# define DIM 6
@@ -84,13 +84,13 @@ void sleep_led_enable(void) {
led[0] = black;
led[1] = black;
led[2] = black;
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
#endif
}
void keyboard_pre_init_kb(void) {
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
#else
/* Set status LEDs pins to output and Low (on) */
setPinOutput(MODELM_LED_CAPSLOCK);
@@ -146,7 +146,7 @@ static void led_update_rgb(void) {
break;
}
if (!suspend_active) {
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
}
}
diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h
deleted file mode 100644
index 779e5a858f..0000000000
--- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 iw0rm3r
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c
deleted file mode 100644
index 4ec0a0cbc0..0000000000
--- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2019 iw0rm3r
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Base layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_CAPS,
- KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_APP, KC_PDOT
- ),
-};
diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md
deleted file mode 100644
index 17b0f40da2..0000000000
--- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# This is my personal keymap for modelm101
-
-Caps Lock is mapped as LGUI (Windows key).
-Num Enter is mapped as Caps Lock.
-Num0 is mapped as App key (context menu). \ No newline at end of file
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c
deleted file mode 100644
index a92c877814..0000000000
--- a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 keyboard_layers {
- _BL, // Base Layer
- _FN // Function Layer
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0: Default Layer
- * ,-------------------------------------------------------------------------------------------------.
- * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Cap| |
- * | |
- * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |BSp|Pse| |Ins|Hom|PgU| |Num|/ |* |= |
- * |-----------------------------------------------------------| |-----------| |---------------|
- * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |RCtrl| |Del|End|PgD| |7 |8 |9 |- |
- * |-----------------------------------------------------------| |---------------|
- * |LCtrl |A |S |D |F |G |H |J |K |L |; |' |# |Rtn | |4 |5 |6 |+ |
- * |-----------------------------------------------------------| |---------------|
- * |LShift|\ |Z |X |C |V |B |N |M |, |. |/ |RShift | |Up | |1 |2 |3 |Ent|
- * |-----------------------------------------------------------| |---| |-----------| |
- * |Esc/LAlt| |LGUI | Space |BS/Fn| |RAlt | |Lt |Dn |Rt | |0 |Fn | .| |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_BL] = 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_SCRL, KC_CAPS,
- 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_PAUS, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PEQL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_RCTL, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- LALT_T(KC_ESC), KC_LGUI, KC_SPC, LT(_FN, KC_BSPC), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, MO(_FN), KC_PDOT, KC_NO),
- [_FN] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, C(KC_BRK), _______, _______, _______, KC_F10, KC_F11, KC_F12, KC_PWR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_MPRV, KC_MNXT, KC_APP, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_SLEP,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_F4, KC_F5, KC_F6, KC_CALC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_EJCT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md
deleted file mode 100644
index 6d3a7ff5d9..0000000000
--- a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# an_achronism's custom 106-key layout (107-key if you stick the appropriate keys on RShift and JIS backslash, which are already mapped for convenience).
-
-# With the exception of a single extra matrix position between LAlt and Space which only appears on certain later membranes and is almost never actually used, the only unmapped key is the bottom right corner of the numpad (the unused lower half of the vertical 2u key most commonly used as either Enter or Field +). If you like, you can easily add that into the keymap by changing the appropriate KC_NO to whatever you want.
diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c
deleted file mode 100644
index 6d6d09a0a5..0000000000
--- a/keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2018 andresteare
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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] = {
- // 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, 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_NUM, 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
- ),
-};
diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h
deleted file mode 100644
index 0453a72580..0000000000
--- a/keyboards/ibm/model_m_122/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/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h
deleted file mode 100644
index 151118fdf6..0000000000
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 tiltowait
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 PERMISSIVE_HOLD
diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c
deleted file mode 100644
index 4836ad329e..0000000000
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2021 tiltowait
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _BASE,
- _SECOND,
- _NUMPAD,
-};
-
-enum custom_keycodes {
- NUM_SCRL = SAFE_RANGE /* Dual-purpose Scroll Lock / Numlock button as on original hardware */
-};
-
-void toggle_numlock_layer(int set_state);
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT( /* Base layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_MUTE, KC_F10, KC_VOLD, KC_VOLU, S(G(KC_4)), NUM_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_INS, KC_HOME, KC_PGUP,
- LT(_SECOND,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LALT, LGUI_T(KC_ENT), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_SECOND] = LAYOUT( /* Layer 1 */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(A(KC_MINS)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(KC_LEFT), C(KC_RGHT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, S(A(KC_M)), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, C(KC_SPC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_NUMPAD] = LAYOUT( /* Numpad Layer */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_7, KC_KP_8, KC_KP_9, KC_TRNS, KC_KP_MINUS, KC_KP_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ASTERISK, 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_TRNS, KC_KP_DOT, KC_KP_SLASH, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint16_t last_num_scroll = 0; /* For unregistering the proper key */
-
- switch (keycode) {
- case NUM_SCRL:
- if (record->event.pressed) {
- if (get_mods() & MOD_MASK_SHIFT) {
- /* Remove the shift modifiers */
- uint8_t shift_mods = get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT));
- set_mods(get_mods() & ~(MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) );
-
- last_num_scroll = KC_NUM_LOCK;
- register_code(last_num_scroll);
- toggle_numlock_layer(-1);
-
- /* Reset the shift modifiers */
- set_mods(shift_mods);
- } else {
- last_num_scroll = KC_SCROLL_LOCK;
- register_code(last_num_scroll);
- }
- } else {
- unregister_code(last_num_scroll);
- }
- break;
- }
- return true;
-}
-
-void toggle_numlock_layer(int set_state) {
- static uint8_t numlock_enabled = 0;
-
- /* set_state allows us to explicitly change the numlock state
- rather than merely toggling it. */
- if (set_state == -1) {
- numlock_enabled = !numlock_enabled;
- } else {
- numlock_enabled = set_state;
- }
-
- if (numlock_enabled) {
- layer_on(_NUMPAD);
- }
- else {
- layer_off(_NUMPAD);
- }
-}
-
-bool led_update_kb(led_t led_state) {
- static int8_t numlock_state = -1;
-
- if (led_state.num_lock != numlock_state) {
- numlock_state = led_state.num_lock;
- toggle_numlock_layer(led_state.num_lock);
- }
- return true;
-}
diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md
deleted file mode 100644
index aecdd89b82..0000000000
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# The maintainer's personal keymap for modelm_ssk
-
-This is a keymap suitable for macOS use.
-
-* Backspace and backslash have been swapped (HHKB style)
-* Capslock is LCTRL
-* LCTRL is LALT
-* LALT is LGUI
-* Tab shifts to layer 1 on hold
-* Layer 1 has a couple of Mac shortcuts, plus Vim-style arrow keys
-* Shift+Numlock enables numlock
diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h b/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h
deleted file mode 100644
index d4b4480810..0000000000
--- a/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 Ibnu D. Aji
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 COMBO_TERM 50
-#define PERMISSIVE_HOLD
-#define TAPPING_TERM 175
-#define TAPPING_TERM 175
diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c
deleted file mode 100644
index 9c1f0cb63e..0000000000
--- a/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* Copyright 2021 Ibnu D. Aji
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#ifdef CONSOLE_ENABLE
-#include "print.h"
-#endif
-
-// enum for combos.
-enum combos {
- // left hand combinations.
- L_U_PINKY_RING,
- L_U_RING_MIDDLE,
- L_U_RING_INDEX,
- L_U_MIDDLE_INDEX,
- L_U_MIDDLE_INNER_INDEX,
- L_U_INDEX_INNER_INDEX,
- L_L_PINKY_RING,
- L_L_RING_MIDDLE,
- L_L_RING_INDEX,
- L_L_MIDDLE_INDEX,
- L_L_INDEX_INNER_INDEX,
-
- L_U_RING_MIDDLE_INDEX,
- L_L_RING_MIDDLE_INDEX,
-
- // right hand combinations.
- R_U_PINKY_RING,
- R_U_RING_MIDDLE,
- R_U_RING_INDEX,
- R_U_MIDDLE_INDEX,
- R_U_MIDDLE_INNER_INDEX,
- R_U_INNER_INNER_INDEX,
- R_L_PINKY_RING,
- R_L_RING_MIDDLE,
- R_L_MIDDLE_INDEX,
- R_L_RING_INDEX,
- R_L_INDEX_INNER_INDEX,
-
- R_U_RING_MIDDLE_INDEX,
- R_L_RING_MIDDLE_INDEX,
-
- // both hands combinations.
- B_L_MIDDLE_MIDDLE,
-};
-
-enum {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- BASE = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// keycode abstraction
-#define LUP KC_Q
-#define LUR KC_V
-#define LUM KC_C
-#define LUI KC_P
-#define LUII KC_B
-#define LMP KC_R
-#define LMR KC_S
-#define LMM KC_T
-#define LMI KC_H
-#define LMII KC_D
-#define LLP KC_QUOT
-#define LLR KC_J
-#define LLM KC_G
-#define LLI KC_K
-#define LLII KC_X
-
-#define RUP KC_Z
-#define RUR KC_Y
-#define RUM KC_U
-#define RUI KC_L
-#define RUII KC_DOT
-#define RMP KC_O
-#define RMR KC_I
-#define RMM KC_A
-#define RMI KC_N
-#define RMII KC_F
-#define RLP KC_SLSH
-#define RLR KC_COMM
-#define RLM KC_W
-#define RLI KC_M
-#define RLII KC_SCLN
-
-// thumb keys.
-#define TRAISE TG(_RAISE)
-#define AL_ENT ALT_T(KC_ENT)
-#define SF_BSPC SFT_T(KC_BSPC)
-#define CT_ESC CTL_T(KC_ESC)
-
-// home row mods.
-#define CTLR LCTL_T(LMR)
-#define CTRR RCTL_T(RMR)
-#define CT_LEFT LCTL_T(KC_LEFT)
-#define CT_SIX RCTL_T(KC_6)
-
-#define SHLP LSFT_T(LMP)
-#define SHRP RSFT_T(RMP)
-#define SH_HASH LSFT_T(KC_HASH)
-#define SH_ZERO RSFT_T(KC_0)
-
-#define ALLM LALT_T(LMM)
-#define ALRM RALT_T(RMM)
-#define AL_DOWN LALT_T(KC_DOWN)
-#define AL_FIVE RALT_T(KC_5)
-
-#define GULII RGUI_T(LMII)
-#define GURII LGUI_T(RMII)
-#define GU_DLR RGUI_T(KC_DLR)
-#define GU_EQL LGUI_T(KC_EQL)
-
-// layer toggle.
-#define LW_E LT(_LOWER, KC_E)
-#define RS_SPC LT(_RAISE, KC_SPC)
-#define LW_RMI LT(_LOWER, RMI)
-#define RS_LMI LT(_RAISE, LMI)
-
-// idk, man. not used, i guess.
-#define ADDDD MO(_ADJUST)
-
-// common shortcuts for windows and linux that i use.
-#define NXTTAB LCTL(KC_PGDN)
-#define PRVTAB LCTL(KC_PGUP)
-#define UPTAB LCTL(LSFT(KC_PGUP))
-#define DNTAB LCTL(LSFT(KC_PGDN))
-#define NXTWIN LALT(KC_TAB)
-#define PRVWIN LALT(LSFT(KC_TAB))
-#define CALDL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-#define EXPLR LGUI(KC_E)
-#define LCKGUI LGUI(KC_L)
-#define CONPST LSFT(KC_INS)
-#define CLSGUI LALT(KC_F4)
-
-// left hand combinations.
-const uint16_t PROGMEM lu_p_r_combo[] = {LUP, LUR, COMBO_END};
-const uint16_t PROGMEM lu_r_m_combo[] = {LUR, LUM, COMBO_END};
-const uint16_t PROGMEM lu_r_i_combo[] = {LUR, LUI, COMBO_END};
-const uint16_t PROGMEM lu_m_i_combo[] = {LUM, LUI, COMBO_END};
-const uint16_t PROGMEM lu_m_ii_combo[] = {LUM, LUII, COMBO_END};
-const uint16_t PROGMEM lu_i_ii_combo[] = {LUI, LUII, COMBO_END};
-const uint16_t PROGMEM ll_p_r_combo[] = {LLP, LLR, COMBO_END};
-const uint16_t PROGMEM ll_r_m_combo[] = {LLR, LLM, COMBO_END};
-const uint16_t PROGMEM ll_r_i_combo[] = {LLR, LLI, COMBO_END};
-const uint16_t PROGMEM ll_m_i_combo[] = {LLM, LLI, COMBO_END};
-const uint16_t PROGMEM ll_i_ii_combo[] = {LLI, LLII, COMBO_END};
-
-const uint16_t PROGMEM lu_r_m_i_combo[] = {LUR, LUM, LUI, COMBO_END};
-const uint16_t PROGMEM ll_r_m_i_combo[] = {LLR, LLM, LLI, COMBO_END};
-
-// right hand combinations.
-const uint16_t PROGMEM ru_p_r_combo[] = {RUP, RUR, COMBO_END};
-const uint16_t PROGMEM ru_r_m_combo[] = {RUR, RUM, COMBO_END};
-const uint16_t PROGMEM ru_r_i_combo[] = {RUR, RUI, COMBO_END};
-const uint16_t PROGMEM ru_m_i_combo[] = {RUM, RUI, COMBO_END};
-const uint16_t PROGMEM ru_m_ii_combo[] = {RUM, RUII, COMBO_END};
-const uint16_t PROGMEM ru_i_ii_combo[] = {RUI, RUII, COMBO_END};
-const uint16_t PROGMEM rl_p_r_combo[] = {RLP, RLR, COMBO_END};
-const uint16_t PROGMEM rl_r_m_combo[] = {RLR, RLM, COMBO_END};
-const uint16_t PROGMEM rl_r_i_combo[] = {RLR, RLI, COMBO_END};
-const uint16_t PROGMEM rl_m_i_combo[] = {RLM, RLI, COMBO_END};
-const uint16_t PROGMEM rl_i_ii_combo[] = {RLI, RLII, COMBO_END};
-
-const uint16_t PROGMEM ru_r_m_i_combo[] = {RUR, RUM, RUI, COMBO_END};
-const uint16_t PROGMEM rl_r_m_i_combo[] = {RLR, RLM, RLI, COMBO_END};
-
-// both hand combinations.
-const uint16_t PROGMEM bl_m_m_combo[] = {LLM, RLM, COMBO_END};
-
-combo_t key_combos[] = {
- // left hand combinations.
- [L_U_PINKY_RING] = COMBO(lu_p_r_combo, KC_TAB),
- [L_U_RING_MIDDLE] = COMBO(lu_r_m_combo, KC_QUES),
- [L_U_RING_INDEX] = COMBO(lu_r_i_combo, PRVTAB),
- [L_U_MIDDLE_INDEX] = COMBO(lu_m_i_combo, KC_UNDS),
- [L_U_MIDDLE_INNER_INDEX] = COMBO(lu_m_ii_combo, KC_ENT),
- [L_U_INDEX_INNER_INDEX] = COMBO(lu_i_ii_combo, KC_PIPE),
- [L_L_PINKY_RING] = COMBO(ll_p_r_combo, KC_ENT),
- [L_L_RING_MIDDLE] = COMBO(ll_r_m_combo, LCTL(KC_W)),
- [L_L_RING_INDEX] = COMBO(ll_r_i_combo, KC_TAB),
- [L_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DEL),
- [L_L_INDEX_INNER_INDEX] = COMBO(ll_i_ii_combo, KC_TILD),
-
- [L_U_RING_MIDDLE_INDEX] = COMBO(lu_r_m_i_combo, KC_PIPE),
- [L_L_RING_MIDDLE_INDEX] = COMBO(ll_r_m_i_combo, KC_TILD),
-
- // right hand combinations.
- [R_U_PINKY_RING] = COMBO(ru_p_r_combo, KC_BSPC),
- [R_U_RING_MIDDLE] = COMBO(ru_r_m_combo, KC_SLSH),
- [R_U_RING_INDEX] = COMBO(ru_r_i_combo, NXTTAB),
- [R_U_MIDDLE_INDEX] = COMBO(ru_m_i_combo, KC_MINS),
- [R_U_MIDDLE_INNER_INDEX] = COMBO(ru_m_ii_combo, KC_ENT),
- [R_U_INNER_INNER_INDEX] = COMBO(ru_i_ii_combo, KC_BSLS),
- [R_L_PINKY_RING] = COMBO(rl_p_r_combo, KC_BSLS),
- [R_L_RING_MIDDLE] = COMBO(rl_r_m_combo, KC_APP),
- [R_L_RING_INDEX] = COMBO(rl_r_i_combo, LSFT(KC_TAB)),
- [R_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DEL),
- [R_L_INDEX_INNER_INDEX] = COMBO(rl_i_ii_combo, KC_GRV),
-
- [R_U_RING_MIDDLE_INDEX] = COMBO(ru_r_m_i_combo, KC_BSLS),
- [R_L_RING_MIDDLE_INDEX] = COMBO(rl_r_m_i_combo, KC_GRV),
-
- // both hand combinations.
- [B_L_MIDDLE_MIDDLE] = COMBO(bl_m_m_combo, KC_ENT),
-};
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, LUP, LUR, LUM, LUI, LUII, RUII, RUI, RUM, RUR, RUP, KC_BSPC, KC_BSPC,
- KC_LCTL,SHLP, CTLR, ALLM, RS_LMI, GULII, GURII, LW_RMI, ALRM, CTRR, SHRP, KC_ENT,
- KC_LSFT,LLP, LLR, LLM, LLI, LLII, RLII, RLI, RLM, RLR, RLP, KC_RSFT,MO(1),
- KC_LGUI,KC_LALT, KC_LGUI,LW_E, SF_BSPC, AL_ENT, RS_SPC, KC_LALT, KC_RGUI,KC_RCTL
- ),
- [1] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC,
- KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(2),
- KC_LGUI,KC_LALT, KC_LGUI,LW_E, SF_BSPC, AL_ENT, RS_SPC, KC_LALT, KC_RGUI,KC_RCTL
- ),
- [2] = LAYOUT_all(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13,
- KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, QK_BOOT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1),
- KC_LGUI,KC_LALT, KC_LGUI,LW_E, SF_BSPC, AL_ENT, RS_SPC, KC_LALT, KC_RGUI,KC_RCTL
- ),
-};
diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md b/keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md
deleted file mode 100644
index 2bfb2a96fa..0000000000
--- a/keyboards/ibnuda/alicia_cook/keymaps/rick/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Rick's Keymap for Alicia Cook
diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk b/keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk
deleted file mode 100644
index 6ecc620954..0000000000
--- a/keyboards/ibnuda/alicia_cook/keymaps/rick/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-COMBO_ENABLE = yes
-CONSOLE_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h
deleted file mode 100644
index 2392b46be6..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-#define COMBO_TERM 100
-#define PERMISSIVE_HOLD
-
-#define LEADER_TIMEOUT 300
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c
deleted file mode 100644
index b28fc84499..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/* Copyright 2020 Ibnu D. Aji
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 for combos.
-enum combos {
- // left hand combinations.
- COLON_COMMA,
- COMMA_DOT,
- DOT_P,
- P_Y,
- COMMA_P,
- QUOT_Q,
- Q_J,
- J_K,
- Q_K,
- K_X,
-
- // right hand combinations.
- L_R,
- R_C,
- C_G,
- R_G,
- G_F,
- V_W,
- W_M,
- V_M,
- M_B,
-
- // both hands combinations.
- J_W,
-};
-
-enum {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- BASE = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// thumb keys.
-#define ALT_ENT ALT_T(KC_ENT)
-#define SFT_ESC SFT_T(KC_ESC)
-
-// home row mods.
-#define CT_O LCTL_T(KC_O)
-#define CT_N RCTL_T(KC_N)
-#define SH_A LSFT_T(KC_A)
-#define SH_S RSFT_T(KC_S)
-#define AL_E LALT_T(KC_E)
-#define AL_T RALT_T(KC_T)
-#define GU_I LGUI_T(KC_I)
-#define GU_D RGUI_T(KC_D)
-
-// layer toggle.
-#define LW_BSPC LT(_LOWER, KC_BSPC)
-#define RS_SPC LT(_RAISE, KC_SPC)
-#define RS_D LT(_RAISE, KC_D)
-#define LW_I LT(_LOWER, KC_I)
-
-// idk, man. not used, i guess.
-#define ADDDD MO(_ADJUST)
-
-// common shortcuts for windows and linux that i use.
-#define NXTTAB LCTL(KC_PGDN)
-#define PRVTAB LCTL(KC_PGUP)
-#define UPTAB LCTL(LSFT(KC_PGUP))
-#define DNTAB LCTL(LSFT(KC_PGDN))
-#define NXTWIN LALT(KC_TAB)
-#define PRVWIN LALT(LSFT(KC_TAB))
-#define CALDL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-#define EXPLR LGUI(KC_E)
-#define LCKGUI LGUI(KC_L)
-#define CONPST LSFT(KC_INS)
-#define CLSGUI LALT(KC_F4)
-
-// left hand combinations.
-const uint16_t PROGMEM colon_comma_combo[] = {KC_SCLN, KC_COMM, COMBO_END};
-const uint16_t PROGMEM comma_dot_combo[] = {KC_COMM, KC_DOT, COMBO_END};
-const uint16_t PROGMEM dot_p_combo[] = {KC_DOT, KC_P, COMBO_END};
-const uint16_t PROGMEM p_y_combo[] = {KC_P, KC_Y, COMBO_END};
-const uint16_t PROGMEM comma_p_combo[] = {KC_COMM, KC_P, COMBO_END};
-const uint16_t PROGMEM quot_q_combo[] = {KC_QUOT, KC_Q, COMBO_END};
-const uint16_t PROGMEM q_j_combo[] = {KC_Q, KC_J, COMBO_END};
-const uint16_t PROGMEM j_k_combo[] = {KC_J, KC_K, COMBO_END};
-const uint16_t PROGMEM q_k_combo[] = {KC_Q, KC_K, COMBO_END};
-const uint16_t PROGMEM k_x_combo[] = {KC_K, KC_X, COMBO_END};
-
-// right hand combinations.
-const uint16_t PROGMEM l_r_combo[] = {KC_L, KC_R, COMBO_END};
-const uint16_t PROGMEM r_c_combo[] = {KC_R, KC_C, COMBO_END};
-const uint16_t PROGMEM c_g_combo[] = {KC_C, KC_G, COMBO_END};
-const uint16_t PROGMEM r_g_combo[] = {KC_R, KC_G, COMBO_END};
-const uint16_t PROGMEM g_f_combo[] = {KC_G, KC_F, COMBO_END};
-const uint16_t PROGMEM v_w_combo[] = {KC_V, KC_W, COMBO_END};
-const uint16_t PROGMEM w_m_combo[] = {KC_W, KC_M, COMBO_END};
-const uint16_t PROGMEM v_m_combo[] = {KC_V, KC_M, COMBO_END};
-const uint16_t PROGMEM m_b_combo[] = {KC_M, KC_B, COMBO_END};
-
-// both hand combinations.
-const uint16_t PROGMEM j_w_combo[] = {KC_J, KC_W, COMBO_END};
-
-combo_t key_combos[] = {
- // left hand combinations.
- [COLON_COMMA] = COMBO(colon_comma_combo, KC_TAB),
- [COMMA_DOT] = COMBO(comma_dot_combo, KC_QUES),
- [DOT_P] = COMBO(dot_p_combo, KC_UNDS),
- [P_Y] = COMBO(p_y_combo, KC_PIPE),
- [COMMA_P] = COMBO(comma_p_combo, PRVTAB),
- [QUOT_Q] = COMBO(quot_q_combo, KC_ENT),
- [Q_J] = COMBO(q_j_combo, LCTL(KC_W)),
- [J_K] = COMBO(j_k_combo, KC_DEL),
- [Q_K] = COMBO(q_k_combo, KC_TAB),
- [K_X] = COMBO(k_x_combo, KC_TILD),
-
- // right hand combinations.
- [L_R] = COMBO(l_r_combo, KC_BSPC),
- [R_C] = COMBO(r_c_combo, KC_SLSH),
- [C_G] = COMBO(c_g_combo, KC_MINS),
- [R_G] = COMBO(r_g_combo, NXTTAB),
- [G_F] = COMBO(g_f_combo, KC_BSLS),
- [V_W] = COMBO(v_w_combo, KC_APP),
- [W_M] = COMBO(w_m_combo, KC_DEL),
- [V_M] = COMBO(v_m_combo, LSFT(KC_TAB)),
- [M_B] = COMBO(m_b_combo, KC_GRV),
-
- // both hand combinations.
- [J_W] = COMBO(j_w_combo, KC_ENT),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = LAYOUT_complicated(
- KC_SCLN,KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L,
- SH_A, CT_O, AL_E, KC_U, GU_I, GU_D, KC_H, AL_T, CT_N, SH_S,
- KC_QUOT,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
- LW_BSPC,QK_LEAD, ALT_ENT,RS_SPC,
- LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC
-),
-
-[_RAISE] = LAYOUT_complicated(
- KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR, KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR ,
- KC_HASH,KC_LEFT,KC_DOWN,KC_RGHT,KC_DLR, KC_EQL, KC_4, KC_5, KC_6, KC_0 ,
- KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS ,
- ADDDD ,_______, _______,_______,
- ADDDD ,_______, _______,_______
-),
-[_LOWER] = LAYOUT_complicated(
- _______,_______,_______,KC_F1, KC_F2, KC_F3, KC_F4, _______,_______,_______ ,
- KC_LSFT,KC_TAB, KC_PGUP,KC_F5, KC_F6, KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT ,
- KC_CAPS,KC_SCRL,KC_PGDN,KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_INS, _______ ,
- _______,_______, _______,ADDDD,
- _______,_______, _______,ADDDD
-),
-[_ADJUST] = LAYOUT_complicated(
- _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
- TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
- _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-),
-};
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_U)) {
- SEND_STRING(":luvu:\n");
- }
-}
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md
deleted file mode 100644
index d14eb193c0..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# goldberg keymap
-
-ricky rick's keymap on squiggle goldberg. ayyy.
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk
deleted file mode 100644
index 00c78275d9..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-COMBO_ENABLE = yes
-LEADER_ENABLE = yes
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick/config.h b/keyboards/ibnuda/squiggle/keymaps/rick/config.h
deleted file mode 100644
index 22ceb2f996..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define COMBO_TERM 100
-#define PERMISSIVE_HOLD
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c
deleted file mode 100644
index 75ea54c548..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright 2020 Ibnu D. Aji
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 for combos.
-enum combos {
- // left hand combinations.
- COLON_COMMA,
- COMMA_DOT,
- DOT_P,
- P_Y,
- COMMA_P,
- QUOT_Q,
- Q_J,
- J_K,
- Q_K,
- K_X,
-
- // right hand combinations.
- L_R,
- R_C,
- C_G,
- R_G,
- G_F,
- V_W,
- W_M,
- V_M,
- M_B,
-
- // both hands combinations.
- J_W,
-};
-
-enum {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- BASE = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// thumb keys.
-#define ALT_ENT ALT_T(KC_ENT)
-#define SFT_ESC SFT_T(KC_ESC)
-
-// home row mods.
-#define CT_O LCTL_T(KC_O)
-#define CT_N RCTL_T(KC_N)
-#define SH_A LSFT_T(KC_A)
-#define SH_S RSFT_T(KC_S)
-#define AL_E LALT_T(KC_E)
-#define AL_T RALT_T(KC_T)
-#define GU_I LGUI_T(KC_I)
-#define GU_D RGUI_T(KC_D)
-
-// layer toggle.
-#define LW_BSPC LT(_LOWER, KC_BSPC)
-#define RS_SPC LT(_RAISE, KC_SPC)
-#define RS_D LT(_RAISE, KC_D)
-#define LW_I LT(_LOWER, KC_I)
-
-// idk, man. not used, i guess.
-#define ADDDD MO(_ADJUST)
-
-// common shortcuts for windows and linux that i use.
-#define NXTTAB LCTL(KC_PGDN)
-#define PRVTAB LCTL(KC_PGUP)
-#define UPTAB LCTL(LSFT(KC_PGUP))
-#define DNTAB LCTL(LSFT(KC_PGDN))
-#define NXTWIN LALT(KC_TAB)
-#define PRVWIN LALT(LSFT(KC_TAB))
-#define CALDL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-#define EXPLR LGUI(KC_E)
-#define LCKGUI LGUI(KC_L)
-#define CONPST LSFT(KC_INS)
-#define CLSGUI LALT(KC_F4)
-
-// left hand combinations.
-const uint16_t PROGMEM colon_comma_combo[] = {KC_SCLN, KC_COMM, COMBO_END};
-const uint16_t PROGMEM comma_dot_combo[] = {KC_COMM, KC_DOT, COMBO_END};
-const uint16_t PROGMEM dot_p_combo[] = {KC_DOT, KC_P, COMBO_END};
-const uint16_t PROGMEM p_y_combo[] = {KC_P, KC_Y, COMBO_END};
-const uint16_t PROGMEM comma_p_combo[] = {KC_COMM, KC_P, COMBO_END};
-const uint16_t PROGMEM quot_q_combo[] = {KC_QUOT, KC_Q, COMBO_END};
-const uint16_t PROGMEM q_j_combo[] = {KC_Q, KC_J, COMBO_END};
-const uint16_t PROGMEM j_k_combo[] = {KC_J, KC_K, COMBO_END};
-const uint16_t PROGMEM q_k_combo[] = {KC_Q, KC_K, COMBO_END};
-const uint16_t PROGMEM k_x_combo[] = {KC_K, KC_X, COMBO_END};
-
-// right hand combinations.
-const uint16_t PROGMEM l_r_combo[] = {KC_L, KC_R, COMBO_END};
-const uint16_t PROGMEM r_c_combo[] = {KC_R, KC_C, COMBO_END};
-const uint16_t PROGMEM c_g_combo[] = {KC_C, KC_G, COMBO_END};
-const uint16_t PROGMEM r_g_combo[] = {KC_R, KC_G, COMBO_END};
-const uint16_t PROGMEM g_f_combo[] = {KC_G, KC_F, COMBO_END};
-const uint16_t PROGMEM v_w_combo[] = {KC_V, KC_W, COMBO_END};
-const uint16_t PROGMEM w_m_combo[] = {KC_W, KC_M, COMBO_END};
-const uint16_t PROGMEM v_m_combo[] = {KC_V, KC_M, COMBO_END};
-const uint16_t PROGMEM m_b_combo[] = {KC_M, KC_B, COMBO_END};
-
-// both hand combinations.
-const uint16_t PROGMEM j_w_combo[] = {KC_J, KC_W, COMBO_END};
-
-combo_t key_combos[] = {
- // left hand combinations.
- [COLON_COMMA] = COMBO(colon_comma_combo, KC_TAB),
- [COMMA_DOT] = COMBO(comma_dot_combo, KC_QUES),
- [DOT_P] = COMBO(dot_p_combo, KC_UNDS),
- [P_Y] = COMBO(p_y_combo, KC_PIPE),
- [COMMA_P] = COMBO(comma_p_combo, PRVTAB),
- [QUOT_Q] = COMBO(quot_q_combo, KC_ENT),
- [Q_J] = COMBO(q_j_combo, LCTL(KC_W)),
- [J_K] = COMBO(j_k_combo, KC_DEL),
- [Q_K] = COMBO(q_k_combo, KC_TAB),
- [K_X] = COMBO(k_x_combo, KC_TILD),
-
- // right hand combinations.
- [L_R] = COMBO(l_r_combo, KC_BSPC),
- [R_C] = COMBO(r_c_combo, KC_SLSH),
- [C_G] = COMBO(c_g_combo, KC_MINS),
- [R_G] = COMBO(r_g_combo, NXTTAB),
- [G_F] = COMBO(g_f_combo, KC_BSLS),
- [V_W] = COMBO(v_w_combo, KC_APP),
- [W_M] = COMBO(w_m_combo, KC_DEL),
- [V_M] = COMBO(v_m_combo, LSFT(KC_TAB)),
- [M_B] = COMBO(m_b_combo, KC_GRV),
-
- // both hand combinations.
- [J_W] = COMBO(j_w_combo, KC_ENT),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = LAYOUT(
- KC_SCLN,KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L,
- SH_A, CT_O, AL_E, KC_U, GU_I, GU_D, KC_H, AL_T, CT_N, SH_S,
- KC_QUOT,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
- LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC
-),
-
-[_RAISE] = LAYOUT(
- KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR, KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR ,
- KC_HASH,KC_LEFT,KC_DOWN,KC_RGHT,KC_DLR, KC_EQL, KC_4, KC_5, KC_6, KC_0 ,
- KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS ,
- ADDDD ,_______, _______,_______
-),
-[_LOWER] = LAYOUT(
- KC_ESC, KC_QUES,KC_UNDS,KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS,KC_SLSH,KC_BSPC ,
- KC_LSFT,KC_TAB, KC_PGUP,KC_F5, KC_F6, KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT ,
- KC_CAPS,KC_SCRL,KC_PGDN,KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_INS, KC_SLSH ,
- _______,_______, _______,ADDDD
-),
-[_ADJUST] = LAYOUT(
- _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
- TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
- _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______,
- _______,_______, _______,_______
-),
-};
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick/readme.md b/keyboards/ibnuda/squiggle/keymaps/rick/readme.md
deleted file mode 100644
index aaff442b90..0000000000
--- a/keyboards/ibnuda/squiggle/keymaps/rick/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# water
-
-ricky rick's keymap. ayyy.
diff --git a/keyboards/idb/idb_60/keymaps/pngu/keymap.c b/keyboards/idb/idb_60/keymaps/pngu/keymap.c
deleted file mode 100644
index 23649e791b..0000000000
--- a/keyboards/idb/idb_60/keymaps/pngu/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(2, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_MENU, KC_RGUI
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h
deleted file mode 100755
index bac9dbf1bd..0000000000
--- a/keyboards/idobao/id42/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2022 Vino Rodrigues (@vinorodrigues)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* LED Matrix & Animations */
-#ifdef RGB_MATRIX_ENABLE
-
- #define RGB_MATRIX_LED_COUNT 42
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES // enable key press effects
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
- /* #endif // RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id42/info.json b/keyboards/idobao/id42/info.json
index b874f51806..b0702aaa94 100644
--- a/keyboards/idobao/id42/info.json
+++ b/keyboards/idobao/id42/info.json
@@ -18,7 +18,49 @@
"pin": "B3"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"],
diff --git a/keyboards/idobao/id61/config.h b/keyboards/idobao/id61/config.h
index 5513787c4e..3766a8ef1d 100644
--- a/keyboards/idobao/id61/config.h
+++ b/keyboards/idobao/id61/config.h
@@ -3,70 +3,12 @@
#pragma once
-
-/* ----------------
- * RGB Matrix stuff
- * ---------------- */
-
-// RGB Matrix config
#if defined(RGB_MATRIX_ENABLE)
-
#ifndef ID61_DISABLE_UNDERGLOW
#define RGB_MATRIX_LED_COUNT 71
#else
#define RGB_MATRIX_LED_COUNT 61 // = 71 - 10
#endif
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to {x} out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* RGB_MATRIX_KEYPRESSES) | defined(RGB_MATRIX_KEYRELEASES) */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
#endif // RGB_MATRIX_ENABLE
/* -----------------------
diff --git a/keyboards/idobao/id61/info.json b/keyboards/idobao/id61/info.json
index cf7892ec9f..255e88fc05 100644
--- a/keyboards/idobao/id61/info.json
+++ b/keyboards/idobao/id61/info.json
@@ -18,7 +18,49 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 170,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7"],
diff --git a/keyboards/idobao/id63/config.h b/keyboards/idobao/id63/config.h
index 214fb6ba6d..5a7df9028e 100644
--- a/keyboards/idobao/id63/config.h
+++ b/keyboards/idobao/id63/config.h
@@ -3,83 +3,12 @@
#pragma once
-
-/* NB: Most configuration information resides in `info.json` */
-
-/* ----------------
- * RGB Matrix stuff
- * ---------------- */
-
-// RGB Matrix config
#if defined(RGB_MATRIX_ENABLE)
-
- /* Denwir case is solid back. Please disable underglow at compile with compile command line:
- *
- * `make idobao/id63:default UNDERGLOW=off`
- *
- * */
#ifndef ID63_DISABLE_UNDERGLOW
#define RGB_MATRIX_LED_COUNT 75
#else
#define RGB_MATRIX_LED_COUNT (75 - 12)
#endif
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES
- // do not enable RGB_MATRIX_FRAMEBUFFER_EFFECTS as these effects don't work will with this LED placement
-
- // changes to this list will break the sequence set in the VIA `json` file.
- /* Standard animation set */
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // ** do not enable
- // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // ** do not enable
- // #define ENABLE_RGB_MATRIX_PIXEL_RAIN // ** do not enable
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // ** do not enable
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // ** do not enable
-
- /* RGB_MATRIX_KEYPRESSES */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
#endif // RGB_MATRIX_ENABLE
/* -----------------------
diff --git a/keyboards/idobao/id63/info.json b/keyboards/idobao/id63/info.json
index 32651f918f..02c4d41bf4 100644
--- a/keyboards/idobao/id63/info.json
+++ b/keyboards/idobao/id63/info.json
@@ -18,7 +18,49 @@
"pin": "B7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"],
diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h
index 7834bd33bb..8f454d1ff4 100644
--- a/keyboards/idobao/id67/config.h
+++ b/keyboards/idobao/id67/config.h
@@ -5,64 +5,12 @@
#pragma once
-// RGB Matrix config
#if defined(RGB_MATRIX_ENABLE)
#ifndef ID67_DISABLE_UNDERGLOW
#define RGB_MATRIX_LED_COUNT 77
#else
#define RGB_MATRIX_LED_COUNT (77 - 10)
#endif
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS -- don't enable */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* RGB_MATRIX_KEYPRESSES || RGB_MATRIX_KEYRELEASES */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
#endif // RGB_MATRIX_ENABLE
/* -----------------------
diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json
index eff8333a80..5618311141 100644
--- a/keyboards/idobao/id67/info.json
+++ b/keyboards/idobao/id67/info.json
@@ -18,7 +18,49 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"],
diff --git a/keyboards/idobao/id67/keymaps/thewerther/config.h b/keyboards/idobao/id67/keymaps/thewerther/config.h
deleted file mode 100644
index 4cd526feea..0000000000
--- a/keyboards/idobao/id67/keymaps/thewerther/config.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2021 Werther (@thewerther)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define DRIVER_LED_UNDERGLOW 10
-#define TAPPING_TERM 500
-#define PERMISSIVE_HOLD
-
-#if defined(RGB_MATRIX_ENABLE)
- #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-
- // change saturation and hue step size
- #undef RGBLIGHT_HUE_STEP
- #undef RGBLIGHT_SAT_STEP
- #define RGBLIGHT_SAT_STEP 5
- #define RGBLIGHT_HUE_STEP 5
-
- #define RGB_MATRIX_KEYPRESSES
-
- // disable effects from keyboard level config.h
- #undef ENABLE_RGB_MATRIX_ALPHAS_MODS
- #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #undef ENABLE_RGB_MATRIX_BREATHING
- #undef ENABLE_RGB_MATRIX_BAND_SAT
- #undef ENABLE_RGB_MATRIX_BAND_VAL
- #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #undef ENABLE_RGB_MATRIX_CYCLE_ALL
- #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #undef ENABLE_RGB_MATRIX_DUAL_BEACON
- #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #undef ENABLE_RGB_MATRIX_RAINDROPS
- #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #undef ENABLE_RGB_MATRIX_HUE_BREATHING
- #undef ENABLE_RGB_MATRIX_HUE_PENDULUM
- #undef ENABLE_RGB_MATRIX_HUE_WAVE
- #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
- #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #undef ENABLE_RGB_MATRIX_SPLASH
- #undef ENABLE_RGB_MATRIX_MULTISPLASH
- #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
- #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
- // only enable a few
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-
- // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE// Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
- // #endif // # if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
-#endif // # if defined(RGB_MATRIX_ENABLE)
-
diff --git a/keyboards/idobao/id67/keymaps/thewerther/keymap.c b/keyboards/idobao/id67/keymaps/thewerther/keymap.c
deleted file mode 100644
index a47a54db37..0000000000
--- a/keyboards/idobao/id67/keymaps/thewerther/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2021 Werther (@thewerther)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_RALT, KC_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, LT(1, KC_SPC), MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi_blocker(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_PGDN, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
-
-void matrix_scan_user(void) {
- #if defined(RGB_MATRIX_ENABLE)
- int current_effect = rgb_matrix_get_mode();
- if (current_effect >= RGB_MATRIX_SOLID_REACTIVE_SIMPLE && current_effect <= RGB_MATRIX_SOLID_MULTISPLASH) {
- // set all underglow leds to current color
- RGB current_color = hsv_to_rgb(rgb_matrix_get_hsv());
- for (int i = RGB_MATRIX_LED_COUNT - DRIVER_LED_UNDERGLOW; i < RGB_MATRIX_LED_COUNT; i++) {
- rgb_matrix_set_color(i, current_color.r, current_color.g, current_color.b);
- }
- }
- #endif
-}
diff --git a/keyboards/idobao/id67/keymaps/thewerther/rules.mk b/keyboards/idobao/id67/keymaps/thewerther/rules.mk
deleted file mode 100644
index acd3adaa9a..0000000000
--- a/keyboards/idobao/id67/keymaps/thewerther/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h
deleted file mode 100644
index f7ada65953..0000000000
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2022 Vino Rodrigues (@vinorodrigues)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-/*
- * IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define ID67_DISABLE_UNDERGLOW
-
- #ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
- #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
- #endif
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to x out of 255
-
- //// #define RGB_MATRIX_KEYPRESSES
-
- // RGB Matrix config, nit-pick a few animations. "////" = already defined in base `config.h`, `#undef` disables it
-
- //// #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- //// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- //// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- //// #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- //// #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- //// #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- //// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- //// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- //// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- //// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- //// #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- //// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- //// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- //// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- //// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- //// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- //// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- //// #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- //// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- //// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- //// #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- //// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- //// #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- //// #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- //// #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
- #undef ENABLE_RGB_MATRIX_PIXEL_FLOW
- //// #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- // don't need `#if`, animation modes themselves check defines
- // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- //// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- //// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // #endif
-
- // don't need `#if`, animation modes themselves check defines
- // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- //// #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- //// #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- //// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
- // #endif
-#endif
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
deleted file mode 100644
index d34c70fa63..0000000000
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright 2022 Vino Rodrigues (@vinorodrigues)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-/*
- * IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum {
- _BASE = 0,
- _FN1,
- _FN2,
- _FN3
-};
-
-enum {
- KB_VRSN = SAFE_RANGE
-};
-
-#define LT1_C_L LT(_FN1, KC_CAPS)
-
-#ifndef MIN
- #define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ ~ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │*Caps*│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PUp│ *Caps* => `LT(1, KC_CAPS)`
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shft │Up │PDn│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│Opt │Comm│ │Fn1 │Fn2 │ │Lf │Dn │Rt │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [_BASE] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DELETE,
- LT1_C_L, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FN_MO13, FN_MO23, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │ ~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ ERASE │F13│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │Up │ │ │ │ │ │ │ │PSc│Hom│End│Eject│Ins│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ Caps │Lf │Dn │Rt │ │ │ │ │ │ │PUp│PDn│ enter │Hom│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ Shft │ │ │ │ │ │ │ │ │Ins│Del│Shift │ │End│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ctrl│opt │comm│ │ │Fn3 │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [_FN1] = LAYOUT_65_ansi_blocker(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ERAS, KC_F13,
- _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_END, KC_EJCT, KC_INS,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, KC_PENT, KC_HOME,
- KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DELETE, KC_LSFT, _______, KC_END,
- KC_RCTL, KC_RALT, KC_RGUI, _______, _______, _______, _______, _______, _______),
-
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│SB-│SB+│mMC│mLP│Br-│Br+│Prv│Ply│Nxt│Mut│Vl-│Vl+│ out │F14│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tog │Mod│ │ │ │ │ │ │ │ │ │ │ │ │PSc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │mod│ │ │ │ │ │ │ │ │Hu+│Sa+│ │SLk│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │Hu-│Sa-│ │Br+│Pau│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ │Fn3 │ │ │Sp-│Br-│Sp+│
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [_FN2] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_OUT, KC_F14,
- RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
- XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, XXXXXXX, KC_SCRL,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, XXXXXXX, RGB_VAI, KC_PAUS,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI),
-
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │RST│M01│M02│M03│M04│M05│M06│M07│M08│M09│M10│M11│M12│ Power │F15│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │Sleep│ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ Debug │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │Ver│ │ │ │ │ │ │ │M00│ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ Wake │ │ │ │M13│M14│M15│
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [_FN3] = LAYOUT_65_ansi_blocker(
- QK_BOOT, MC_1, MC_2, MC_3, MC_4, MC_5, MC_6, MC_7, MC_8, MC_9, MC_10, MC_11, MC_12, KC_PWR, KC_F15,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KB_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MC_0, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, KC_WAKE, XXXXXXX, XXXXXXX, MC_13, MC_14, MC_15)
-};
-
-#ifdef RGB_MATRIX_ENABLE
-
-/*
- * RGB Stuff
- */
-
-#ifdef RGBLIGHT_VAL_STEP
- #define RGB_BRIGHTER_BY RGBLIGHT_VAL_STEP
-#else
- #define RGB_BRIGHTER_BY 26 // about 10%
-#endif
-
-#define LED_FLAG_ALPHA_KEY 0x10 // Alpha keys (for Caps Lock)
-#define LED_FLAG_LAYER_IND 0x20 // Layer indicator
-
-const uint8_t g_led_config_new_flags[RGB_MATRIX_LED_COUNT] = {
- // Extended LED Index to Flag
- // ** Remember: on ID67 this is in reverse order
- 0x21, 0x01, 0x01, 0x01, 0x01, 0x04, 0x01, 0x01, 0x21, // Spc row
- 0x21, 0x01, 0x01, 0x04, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x21, // ZXC row
- 0x21, 0x01, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x29, // ASD row
- 0x21, 0x04, 0x04, 0x04, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x21, // QWE row
- 0x21, 0x01, 0x04, 0x04, 0x04, 0x04, 0x24, 0x24, 0x24, 0x24, 0x04, 0x04, 0x04, 0x04, 0x21 // 123 row
-};
-
-#define ID67_CAPS_LOCK_KEY_INDEX 36 // position of Caps Lock key
-
-bool isRGBOff = false;
-bool isCapsBlink = false;
-static uint16_t recording_timer;
-
-void keyboard_pre_init_user(void) {
- // override `config.h` flags with new values
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) g_led_config.flags[i] = g_led_config_new_flags[i];
-}
-
-void keyboard_post_init_user(void) {
- isRGBOff = false;
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
-
- uint8_t v = MIN( rgblight_get_val() + RGB_BRIGHTER_BY, 0xFF );
- uint8_t current_layer = get_highest_layer(layer_state);
-
- // Caps Lock key stuff
-
- if (host_keyboard_led_state().caps_lock) {
- if (isRGBOff) {
- rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white
- } else {
- // Caps Lock key/LED
- if (timer_elapsed(recording_timer) > 500) {
- isCapsBlink = !isCapsBlink;
- recording_timer = timer_read();
- }
- if (isCapsBlink) {
- rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white
- }
-
- // Alpha keys/LEDs
- for (uint8_t i = led_min; i <= led_max; i++) {
- if ((g_led_config.flags[i] & LED_FLAG_ALPHA_KEY) != 0) {
- rgb_matrix_set_color(i, v, 0, 0); //red
- }
- }
- }
- } else if (isRGBOff) {
- uint8_t r = 0;
- uint8_t g = 0;
- uint8_t b = 0;
-
- if ((g_led_config.flags[ID67_CAPS_LOCK_KEY_INDEX] & LED_FLAG_LAYER_IND) != 0) {
- switch (current_layer) {
- case _FN1: b = v; break; // blue
- case _FN2: g = v; break; // green
- case _FN3: r = v; break; // red
- }
- }
-
- rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, r, g, b); // off
- }
-
- // Layer indicator stuff
-
- switch (current_layer) {
- case _FN1:
- for (uint8_t i = led_min; i <= led_max; i++) {
- if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) {
- rgb_matrix_set_color(i, 0, 0, v); // blue
- }
- }
- break;
-
- case _FN2:
- for (uint8_t i = led_min; i <= led_max; i++) {
- if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) {
- rgb_matrix_set_color(i, 0, v, 0); // green
- }
- }
- break;
-
- case _FN3:
- for (uint8_t i = led_min; i <= led_max; i++) {
- if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) {
- rgb_matrix_set_color(i, v, 0, 0); // red
- }
- }
- break;
-
- default:
- if (isRGBOff) {
- // switch layer indicators off only if in OFF mode
- for (uint8_t i = led_min; i <= led_max; i++) {
- if ((g_led_config.flags[i] & LED_FLAG_LAYER_IND) != 0) {
- rgb_matrix_set_color(i, 0, 0, 0); // red
- }
- }
- }
- break;
- }
- return false;
-}
-
-#endif
-
-/*
- * Mac Fn-key stuff
- */
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
- // handle RGB toggle key
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL:
- isRGBOff = true;
- rgb_matrix_set_flags(LED_FLAG_INDICATOR | LED_FLAG_LAYER_IND);
- rgb_matrix_set_color_all(0, 0, 0);
- break;
- default:
- isRGBOff = false;
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom(); // turn the lights back on
- }
- }
- return false;
-
- // print firmware version
- case KB_VRSN:
- if (!get_mods()) {
- if (!record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
- }
- }
- return false;
-
- default:
- return true; /* Process all other keycodes normally */
- }
-}
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk b/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk
deleted file mode 100644
index cf6371fda0..0000000000
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
-NKRO_ENABLE = no # N-Key Rollover must be OFF for mac keys to work
diff --git a/keyboards/idobao/id75/keymaps/drewdobo/config.h b/keyboards/idobao/id75/keymaps/drewdobo/config.h
deleted file mode 100644
index 58787ce12b..0000000000
--- a/keyboards/idobao/id75/keymaps/drewdobo/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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_TOGGLE 5
diff --git a/keyboards/idobao/id75/keymaps/drewdobo/keymap.c b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c
deleted file mode 100644
index c27aa3bf74..0000000000
--- a/keyboards/idobao/id75/keymaps/drewdobo/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2020 Drew Smathers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Keyboard Layers
-enum layer_names {
- _QW,
- _QW_MAC,
- _FN,
- _MOUSE,
-};
-
-// Some short-cut aliases
-#define Z_LALT LALT_T(KC_ESC)
-#define Z_MAC DF(_QW_MAC)
-#define Z_PC DF(_QW)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QW] = LAYOUT_ortho_5x15( /* QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- Z_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RALT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, XXXXXXX, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- TT(_FN), XXXXXXX, XXXXXXX, TT(_MOUSE), KC_EQL, KC_BSPC, KC_DEL, XXXXXXX, KC_ENT, KC_SPC, KC_MINUS, KC_GRAVE, KC_LBRC, KC_RBRC, XXXXXXX
- ),
-
- [_QW_MAC] = LAYOUT_ortho_5x15( /* QWERTY MAC */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BRMU, KC_MUTE, KC_VOLU, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BRMD, XXXXXXX, KC_VOLD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- Z_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RALT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCMD, XXXXXXX, KC_RCMD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- TT(_FN), KC_LCTL, XXXXXXX, TT(_MOUSE), KC_EQL, KC_BSPC, KC_DEL, XXXXXXX, KC_ENT, KC_SPC, KC_MINUS, KC_GRAVE, KC_LBRC, KC_RBRC, KC_RCTL
- ),
-
- [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, QK_BOOT, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, Z_MAC, _______, XXXXXXX, KC_HOME, KC_END, XXXXXXX, XXXXXXX, XXXXXXX,
- TT(_FN), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, Z_PC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [_MOUSE] = LAYOUT_ortho_5x15( /* MOUSE */
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- TT(_FN), XXXXXXX, XXXXXXX, TT(_MOUSE), XXXXXXX, KC_ACL1, KC_ACL2, XXXXXXX, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
diff --git a/keyboards/idobao/id75/keymaps/drewdobo/readme.md b/keyboards/idobao/id75/keymaps/drewdobo/readme.md
deleted file mode 100644
index 209808ca87..0000000000
--- a/keyboards/idobao/id75/keymaps/drewdobo/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Drew's thumb-friendly keymap for idobo boards
diff --git a/keyboards/idobao/id75/keymaps/drewdobo/rules.mk b/keyboards/idobao/id75/keymaps/drewdobo/rules.mk
deleted file mode 100644
index f9bbfd4948..0000000000
--- a/keyboards/idobao/id75/keymaps/drewdobo/rules.mk
+++ /dev/null
@@ -1,17 +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/>.
-
-
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/idobao/id75/keymaps/gkbd/config.h b/keyboards/idobao/id75/keymaps/gkbd/config.h
deleted file mode 100644
index 35e479fdf6..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
-
-/* Selected Unicode input method relies on WinCompose
- * https://docs.qmk.fm/#/feature_unicode?id=input-modes
- * Linux users are better served by xkb configuration
- * https://gitlab.com/lykt/geotype/-/blob/master/xkb/dsae
- */
diff --git a/keyboards/idobao/id75/keymaps/gkbd/keymap.c b/keyboards/idobao/id75/keymaps/gkbd/keymap.c
deleted file mode 100644
index 3b59e8ee2b..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_5x15(/* Latin base */
- KC_ESC, KC_PSLS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PSCR, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL,
- KC_TAB, KC_SCLN, KC_P, KC_Y, KC_T, KC_U, KC_G, KC_PGUP, KC_H, KC_N, KC_V, KC_K, KC_X, KC_MINS, KC_INS,
- KC_CAPS, KC_W, KC_D, KC_S, KC_A, KC_E, KC_O, KC_PGDN, KC_L, KC_R, KC_I, KC_M, KC_B, KC_C, KC_ENT,
- KC_LSFT, KC_BSLS, KC_J, KC_LBRC, KC_RBRC, KC_COMM, KC_DOT, KC_UP, KC_QUOT, KC_Z, KC_Q, KC_F, KC_SLSH, KC_GRV, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(2), KC_HOME, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_END, MO(2), KC_RALT, RGUI_T(KC_APP), KC_RCTL
- ),
- [1] = LAYOUT_ortho_5x15(/* Unicode layer */
- KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, UC(0x10EB), UC(0x10DE), UC(0x10E8), UC(0x10E2), UC(0x10E3), UC(0x10D2), KC_TRNS, UC(0x10EE), UC(0x10DC), UC(0x10D5), UC(0x10D9), UC(0x10E9), KC_TRNS, KC_TRNS,
- KC_SCLN, UC(0x10D7), UC(0x10D3), UC(0x10E1), UC(0x10D0), UC(0x10D4), UC(0x10DD), KC_TRNS, UC(0x10DA), UC(0x10E0), UC(0x10D8), UC(0x10DB), UC(0x10D1), UC(0x10EA), KC_TRNS,
- KC_TRNS, UC(0x10DF), UC(0x10EF), UC(0x10E7), UC(0x10EC), KC_TRNS, KC_TRNS, KC_TRNS, UC(0x10E6), UC(0x10D6), UC(0x10E5), UC(0x10E4), UC(0x10F0), UC(0x10ED), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_ortho_5x15(/* Function keys */
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_SCRL, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_PAUS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_F11, KC_NO, KC_NO, KC_NO, KC_F12, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/idobao/id75/keymaps/gkbd/readme.md b/keyboards/idobao/id75/keymaps/gkbd/readme.md
deleted file mode 100644
index 3951f3e564..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-![Georgian linear layout](https://lykt.xyz/kbd/linear/dsae.svg)
-
-# Georgian linear layout configuration for idobo
-
-Based on Georgian Carpalx optimized linear layout from [https://gitlab.com/lykt](https://gitlab.com/lykt)
-
-Some documentation (in Georgian) and resources (xkb, klc, json configurations) are available at [https://lykt.xyz/kbd/linear/](https://lykt.xyz/kbd/linear/)
diff --git a/keyboards/idobao/id75/keymaps/gkbd/rules.mk b/keyboards/idobao/id75/keymaps/gkbd/rules.mk
deleted file mode 100644
index 039f07c8e3..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-UNICODE_ENABLE = yes
diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/config.h b/keyboards/idobao/id75/keymaps/gkbd_75/config.h
deleted file mode 100644
index d969bd88a2..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_75/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 200
-#define PERMISSIVE_HOLD
diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c
deleted file mode 100644
index 33df46a947..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_5x15(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_F7,
- KC_TAB, KC_K, KC_P, KC_L, KC_R, KC_C, KC_F2, KC_F5, KC_M, KC_U, KC_O, KC_W, KC_X, KC_SLSH, KC_F8,
- KC_CAPS, KC_D, KC_S, KC_T, KC_F, KC_N, KC_F3, KC_F6, KC_I, RSFT_T(KC_J), KC_E, KC_A, KC_H, KC_ENT, KC_F9,
- KC_PGUP, KC_Q, KC_B, KC_G, KC_COMM, KC_DOT, KC_LGUI, KC_RALT, KC_MINS, KC_V, KC_Y, KC_QUOT, KC_Z, KC_UP, KC_F10,
- KC_PGDN, KC_PSCR, KC_INS, KC_DEL, LT(1,KC_F11), KC_BSPC, KC_LSFT, KC_RCTL, KC_SPC, LT(1,KC_F12), KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_ortho_5x15(
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_SCRL, KC_NO, KC_NO, KC_PAUS, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_WAKE, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_GRV, KC_TRNS, KC_TRNS, KC_TILD, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_APP
- )
-};
-
diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/readme.md b/keyboards/idobao/id75/keymaps/gkbd_75/readme.md
deleted file mode 100644
index aa14049420..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_75/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-![Orthocarpus layout](https://lykt.xyz/jnsf/ortho/ortho.jpg)
-
-# Orthocarpus layout configuration for idobo
-
-Based on ortholinear carpalx optimized layout from [https://gitlab.com/lykt](https://gitlab.com/lykt)
-
-Some documentation and resources (carpalx report, json configuration) are available at [https://lykt.xyz/jnsf/ortho/](https://lykt.xyz/jnsf/ortho/)
diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h b/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h
deleted file mode 100644
index 3e8dcc7570..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 200
diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c
deleted file mode 100644
index 462bb3feee..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright 2021 Giorgi Chavchanidze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 MIN_PROXIMITY 8000
-
-uint16_t predecessor_key = KC_NO;
-uint16_t adaptive_key = KC_NO;
-
-static uint16_t vowel_proximity;
-
-enum custom_keycodes {
- ON = SAFE_RANGE,
-};
-
-bool promote_consonants(void) {
- return predecessor_key == KC_O && timer_elapsed(vowel_proximity) < MIN_PROXIMITY && !(get_mods() & ~MOD_MASK_SHIFT & MOD_MASK_CAG);
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- if (keycode == ON) {
-
- if (record->event.pressed) {
-
- keycode = promote_consonants()?KC_N:KC_O;
- register_code(keycode);
- adaptive_key = keycode;
-
- }
- else {
- unregister_code(adaptive_key);
- }
- }
-
- if (!IS_MODIFIER_KEYCODE(keycode) && record->event.pressed) {
- if(keycode == KC_E || keycode == KC_A || keycode == KC_O || keycode == KC_I || keycode == KC_U) {
- predecessor_key = KC_O;
- vowel_proximity = timer_read();
- }
- else {
- predecessor_key = keycode;
- }
- }
-
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_5x15(/* Base */
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_APP, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_QUOT, KC_Z, KC_Y, KC_U, KC_F, KC_W, KC_LCBR, KC_PSCR, KC_RCBR, KC_G, KC_M, KC_P, KC_N, KC_J, KC_MINS,
- KC_ESC, KC_H, KC_I, KC_E, KC_A, KC_C, KC_LPRN, MO(1), KC_RPRN, KC_L, KC_R, KC_T, KC_S, KC_D, KC_ENT,
- KC_TAB, KC_SCLN, KC_X, KC_O, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI, KC_BSLS, KC_K, KC_V, KC_B, RSFT_T(KC_Q), KC_UP, KC_INS,
- KC_CAPS, KC_HOME, KC_END, KC_DEL, KC_BSPC, ON, KC_LSFT, KC_RCTL, KC_RALT, KC_SPC, KC_PGDN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_ortho_5x15(/* Function keys */
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_SCRL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PAUS,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG
- )
-};
diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md b/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md
deleted file mode 100644
index 36479ff9ba..0000000000
--- a/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-![Orthon layout](https://lykt.xyz/rtsd/orthon.svg)
-
-# Orthon layout
-
-Ortholinear carpalx optimized layout with adaptive thumb key.
-
-Adaptive key is
- * **n** after **eaoiu** vowels
- * **o** otherwise
-
-Some documentation and resources (carpalx report, json configuration) are available at [https://lykt.xyz/rtsd/#orthon](https://lykt.xyz/rtsd/#orthon)
diff --git a/keyboards/idobao/id75/keymaps/paryz/config.h b/keyboards/idobao/id75/keymaps/paryz/config.h
deleted file mode 100644
index 625ce7a257..0000000000
--- a/keyboards/idobao/id75/keymaps/paryz/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2022 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#define RGBLIGHT_SLEEP
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/idobao/id75/keymaps/paryz/keymap.c b/keyboards/idobao/id75/keymaps/paryz/keymap.c
deleted file mode 100644
index 2d03c205ae..0000000000
--- a/keyboards/idobao/id75/keymaps/paryz/keymap.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* ht 2018 Milton Griffin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Keyboard Layers
-enum layers {
- _QWERTY,
- _FN,
- _LOWER,
- _RAISE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ENTER |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | CAPS | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ' RAISE|
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | UP |? RSHIFT|
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | CTRL | ADJUST | ALT | GUI | SPACE | SPACE | LEFT | DOWN | RIGHT | BSPACE | BSPACE | ALT | LEFT | DOWN | RIGHT |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_QWERTY] = LAYOUT_ortho_5x15( /* QWERTY */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
- LT(_LOWER,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_RAISE, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, RSFT_T(KC_SLSH),
- KC_LCTL, MO(_FN),KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_BSPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN] = LAYOUT_ortho_5x15(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NUM, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_MPRV, KC_MPLY, KC_MNXT, RGB_HUI, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_TRNS,
- KC_VOLD, KC_MUTE, KC_VOLU, RGB_SAI, RGB_SPD, RGB_RMOD,KC_P1, KC_P2, KC_P3, KC_PENT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_NO, RGB_TOG, RGB_VAI, RGB_SPI, RGB_MOD, KC_P0, KC_NO, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_LOWER] = LAYOUT_ortho_5x15(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_NUHS, KC_NUBS, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_NO, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-[_RAISE] = LAYOUT_ortho_5x15(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_NUHS, KC_NUBS, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_NO, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
-
-#ifdef RGB_MATRIX_ENABLE
-void keyboard_post_init_user(void) {
- g_led_config = (led_config_t){{
- // Key Matrix to LED Index
- { 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70 },
- { 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55 },
- { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40 },
- { 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25 },
- { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10 }
- }, {
- // LED Index to Physical Position
- {8, 12},{60, 12},{112, 12},{164, 12},{216, 12},
- {216, 60},{164, 60},{112, 60},{60, 60},{8, 60},
- {224, 64}, {208, 64}, {192, 64}, {176, 64}, {160, 64}, {144, 64}, {128, 64}, {112, 64}, {96, 64}, {80, 64}, {64, 64}, {48, 64}, {32, 64}, {16, 64}, {0, 64},
- {224, 48}, {208, 48}, {192, 48}, {176, 48}, {160, 48}, {144, 48}, {128, 48}, {112, 48}, {96, 48}, {80, 48}, {64, 48}, {48, 48}, {32, 48}, {16, 48}, {0, 48},
- {224, 32}, {208, 32}, {192, 32}, {176, 32}, {160, 32}, {144, 32}, {128, 32}, {112, 32}, {96, 32}, {80, 32}, {64, 32}, {48, 32}, {32, 32}, {16, 32}, {0, 32},
- {224, 16}, {208, 16}, {192, 16}, {176, 16}, {160, 16}, {144, 16}, {128, 16}, {112, 16}, {96, 16}, {80, 16}, {64, 16}, {48, 16}, {32, 16}, {16, 16}, {0, 16},
- {224, 0}, {208, 0}, {192, 0}, {176, 0}, {160, 0}, {144, 0}, {128, 0}, {112, 0}, {96, 0}, {80, 0}, {64, 0}, {48, 0}, {32, 0}, {16, 0}, {0, 0}
- }, {
- // LED Index to Flag
- 2,2,2,2,2,2,2,2,2,2,
- 1,1,1,1,4,4,9,9,9,4,4,1,1,1,1,
- 1,4,4,4,4,4,9,9,9,4,4,4,4,4,1,
- 1,4,4,4,4,4,9,9,9,4,4,4,4,4,1,
- 1,4,4,4,4,4,9,9,9,4,4,4,4,4,1,
- 1,4,4,4,4,4,9,9,9,4,4,4,4,4,1
- }
- };
-};
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- if (host_keyboard_led_state().caps_lock) {
- for (int i = 10; i <= 84; i++) {
- if (g_led_config.flags[i] & LED_FLAG_MODIFIER) {
- rgb_matrix_set_color(i, RGB_RED);
- }
- }
- }
-
- if ( get_highest_layer(layer_state) > _QWERTY) {
- HSV hsv = {0, 255, 255};
-
- switch (get_highest_layer(layer_state)) {
- case _FN:
- hsv.h = 32;
- break;
- case _LOWER:
- hsv.h = 116;
- break;
- case _RAISE:
- hsv.h = 200;
- break;
- default:
- break;
- };
-
- if (hsv.v > rgb_matrix_get_val()) {
- hsv.v = RGB_MATRIX_MAXIMUM_BRIGHTNESS;
- }
- RGB rgb = hsv_to_rgb(hsv);
-
- for (int i = 10; i <= 84; i++) {
- if ( g_led_config.flags[i] & LED_FLAG_INDICATOR) {
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- }
- };
- }
- return false;
-};
-#endif
diff --git a/keyboards/idobao/id75/keymaps/paryz/rules.mk b/keyboards/idobao/id75/keymaps/paryz/rules.mk
deleted file mode 100644
index 8ce8a7d06e..0000000000
--- a/keyboards/idobao/id75/keymaps/paryz/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-NKRO_ENABLE = yes
diff --git a/keyboards/idobao/id75/keymaps/pathnirvana/config.h b/keyboards/idobao/id75/keymaps/pathnirvana/config.h
deleted file mode 100644
index dd95794254..0000000000
--- a/keyboards/idobao/id75/keymaps/pathnirvana/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 PathNirvana
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#undef DEBOUNCE
-#define DEBOUNCE 40
-
-#undef BACKLIGHT_LEVELS
-#define BACKLIGHT_LEVELS 6
diff --git a/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c b/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c
deleted file mode 100644
index 1ba1e071ec..0000000000
--- a/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2021 pathnirvana (pathnirvana@gmail.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_5x15(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F5,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_QUOT,
- KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_PGUP, KC_DEL, KC_PGDN, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_HOME, KC_UP, KC_END, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_NO,
- KC_LCTL, KC_MS_BTN3, KC_LALT, LT(2,KC_F2), KC_SPC, LSFT_T(KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT, LT(3,KC_DEL), RSFT_T(KC_BSPC), LALT(KC_LSFT), KC_NO, DF(1), KC_ENT),
- [1] = LAYOUT_ortho_5x15(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F5,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_PGUP, KC_DEL, KC_PGDN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_UP, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, LT(2,KC_F2), KC_SPC, LSFT_T(KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT, LT(3,KC_DEL), RSFT_T(KC_BSPC), LALT(KC_LSFT), KC_NO, DF(0), KC_ENT),
- [2] = LAYOUT_ortho_5x15(
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MUTE, KC_VOLD, KC_VOLU, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_MSEL, BL_BRTG, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RGHT), KC_NO, KC_NO,
- KC_SLEP, BL_STEP, RGB_SAD, RGB_SAI, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, QK_BOOT,
- KC_NO, BL_TOGG, RGB_VAD, RGB_VAI, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, LCTL(KC_LEFT), LCTL(KC_DOWN), LCTL(KC_UP), LCTL(KC_RGHT), KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, KC_NO, KC_WBAK, KC_NO, KC_WFWD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
- [3] = LAYOUT_ortho_5x15(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TILD, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO,
- KC_NO, KC_QUOT, KC_BSLS, KC_LCBR, KC_LBRC, KC_LT, KC_NO, KC_NO, KC_NO, KC_GT, KC_RBRC, KC_RCBR, KC_PIPE, KC_DQUO, KC_NO,
- KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
- KC_NO, KC_NO, KC_NO, 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/idobao/id75/keymaps/pathnirvana/rules.mk b/keyboards/idobao/id75/keymaps/pathnirvana/rules.mk
deleted file mode 100644
index 6bfd2bac6a..0000000000
--- a/keyboards/idobao/id75/keymaps/pathnirvana/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = yes
-DEBOUNCE_TYPE = sym_eager_pk
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h b/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c b/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c
deleted file mode 100644
index cd2d294c00..0000000000
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2018 xAceOfSpaidsx
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Layer shorthand
-#define _QW 0
-#define _FN 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY - based off xd75 default map with a couple modifications for my preference
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | F2 | ` | F5 | 6 | 7 | 8 | 9 | 0 | BACKSP |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | TAB | Q | W | E | R | T | - | \ | = | Y | U | I | O | P | ' |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | [ | ] | FN | RALT | RGUI | RCTRL |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_QW] = LAYOUT_ortho_5x15( /* QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F2, KC_GRV, KC_F5, 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_MINS, KC_BSLS, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL
- ),
-
-/* FUNCTION Layer - removed the rgb hue saturation and vibrance for audio controls and added some functionality I use from other boards.
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | SELECT | CALC | UP | | | NEXT | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PREV | LEFT | DOWN | RIGHT | DEL | PLAY | P4 | P5 | P6 | + | | QK_BOOT | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | VOL- | MUTE | VOL+ | APP | | STOP | P1 | P2 | P3 | PENT | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NUM, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_MSEL, KC_CALC, KC_UP , _______, _______, KC_MNXT, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_MPRV, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______,
- KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, _______, KC_MSTP, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
- _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
- ),
-};
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md b/keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md
deleted file mode 100644
index ac6e74702c..0000000000
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Updated the keymap, based off XD75 default, to meet my needs. Refer to rules.mk to enable or disable rgb and other features.
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk b/keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk
deleted file mode 100644
index b973e9d8b3..0000000000
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk
+++ /dev/null
@@ -1,19 +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/>.
-
-#Had to disable the first 2 to get the firmware size down enough after enabling the rgb controls.
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-COMMAND_ENABLE = no # Commands for debug and configuration
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json
deleted file mode 100644
index 19c0780463..0000000000
--- a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json
+++ /dev/null
@@ -1,190 +0,0 @@
-[
- {
- "name": "gsm-idobo",
- "notes": "Massdrop xd75\n\nFront Legend = \"Adust\" layer (both lower and Raise)"
- },
- [
- {
- "a": 3
- },
- "Esc\n\n\n\nreset",
- {
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "\nF1\n\n\n\n\n\n\n\n1 !",
- "\nF2\n\n\n\n\n\n\n\n2 @",
- "\nF3\n\n\n\n\n\n\n\n3 #",
- "\nF4\n\n\n\n\n\n\n\n4 $",
- "\nF5\n\n\n\n\n\n\n\n5 %",
- {
- "t": "#000000",
- "a": 7
- },
- "= +",
- "",
- "- _",
- {
- "t": "#0000ff\n#ff0000",
- "a": 0
- },
- "\nF6\n\n\nrgbplain\n\n\n\n\n6 ^",
- "\nF7\n\n\nrgbtest\n\n\n\n\n7 &",
- "\nF8\n\n\nrgbmode\n\n\n\n\n8 *",
- {
- "a": 4
- },
- "\nF9\n\n\n\n\n\n\n\n9 (",
- "\nF10\n\n\n\n\n\n\n\n0 )",
- {
- "t": "#000000",
- "a": 7
- },
- "Bksp"
- ],
- [
- "Tab",
- "Q",
- {
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "PgUp\nUP\n\n\n\n\n\n\n\nW",
- {
- "t": "#000000",
- "a": 7
- },
- "E",
- {
- "a": 3
- },
- "R\n\n\n\nrgb_tog",
- "T\n\n\n\nbl_tog",
- {
- "a": 7
- },
- "",
- "",
- "[ {",
- "T",
- "Y",
- "I",
- "O",
- "P",
- "]"
- ],
- [
- {
- "c": "#0000ff",
- "t": "#ffffff"
- },
- "Raise",
- {
- "c": "#cccccc",
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "Home\nLEFT\n\n\n\n\n\n\n\nA",
- {
- "a": 0
- },
- "PgDwn\nDOWN\n\n\nrgb_hai\n\n\n\n\nS",
- "End\nRIGHT\n\n\nrgb_sai\n\n\n\n\nD",
- {
- "t": "#000000",
- "a": 3
- },
- "F\n\n\n\nrgb_vai",
- "G\n\n\n\nbl_inc",
- {
- "a": 7
- },
- "",
- "UP",
- "PrtScr",
- "H",
- "J",
- "K",
- "L",
- "; :",
- "' \""
- ],
- [
- {
- "a": 3
- },
- "Shift\n\n\n\neep_rst",
- {
- "a": 7
- },
- "Z",
- {
- "a": 3
- },
- "X\n\n\n\nrgb_hud",
- "C\n\n\n\nrgb_sad",
- "V\n\n\n\nrgb_vad",
- "B\n\n\n\nbl_dec",
- {
- "a": 7
- },
- "LEFT",
- "DOWN",
- "RIGHT",
- "N",
- "M",
- ", <",
- ". >",
- "/ ?",
- {
- "a": 6
- },
- "Shift"
- ],
- [
- {
- "a": 7
- },
- "` ~",
- "\\ |",
- "Alt",
- "Ctrl",
- {
- "c": "#ff0000"
- },
- "Lower",
- {
- "c": "#eb7c15"
- },
- "Space",
- {
- "c": "#cccccc",
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "\nApp\n\n\n\n\n\n\n\nOS",
- {
- "t": "#000000",
- "a": 7
- },
- "Del",
- "Enter",
- {
- "c": "#eb7c15"
- },
- "Space",
- {
- "c": "#0000ff",
- "t": "#ffffff"
- },
- "Raise",
- {
- "c": "#cccccc",
- "t": "#000000"
- },
- "Left",
- "Down",
- "Up",
- "Right"
- ]
-] \ No newline at end of file
diff --git a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c
deleted file mode 100644
index 84830e47c6..0000000000
--- a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- LOWER = SAFE_RANGE,
- RAISE,
-};
-
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 | BACKSP |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | TAB | Q | W | E | R | T | | | [ | Y | U | I | O | P | ] |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | RAISE | A | S | D | F | G | | UP | PrtScr | H | J | K | L | ; | ' |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | LSHIFT | Z | X | C | V | B | LEFT | DOWN | RIGHT | N | M | , | . | / | RSHIFT |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | ` | \ | LALT | LCTRL | LOWER | SPACE | LGUI | DEL | ENTER | SPACE | RAISE | LEFT | DOWN | UP | RIGHT |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_5x15(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, XXXXXXX, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
- RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_UP, KC_PSCR, 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_LEFT, KC_DOWN, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_GRAVE, KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC, KC_LGUI, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-
-/* LOWER
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | UP | | | | | | | | | | PR SCR | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RAISE | LEFT | DOWN | RIGHT | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | LOWER | | APP | | | | RAISE | | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_5x15(
- XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
- /* RAISE
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | pgup | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RAISE | home | pgdn | end | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | LOWER | | | | | | RAISE | | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_5x15(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-
- /* ADJUST
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | QK_BOOT | | | | | | | | |rgbplain|rgbtest | rgbmode| | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | |rgb tog | bl_tog | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RAISE | | rgb hi | rgb sai|rgb vai | bl inc | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | EEP Rst| | rgb hd | rgb sad|rgb vad | bl dec | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | LOWER | | | | | | RAISE | | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_5x15(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_M_T, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- EE_CLR, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DOWN,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- 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;
- }
- return true;
-}
diff --git a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md
deleted file mode 100644
index 7b6f654c71..0000000000
--- a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# GreenShadowMaker keymap for idobo
-
-make idobo:greenshadowmaker:dfu
-
-Note: keyboard-layout-editor-gsm-idobo.json shoudl be the matching layout for http://www.keyboard-layout-editor.com
diff --git a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk
deleted file mode 100644
index f6587a835e..0000000000
--- a/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-COMMAND_ENABLE = no # Commands for debug and configuration
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h
index 54d74c8da5..51d84749a5 100644
--- a/keyboards/idobao/id75/v2/config.h
+++ b/keyboards/idobao/id75/v2/config.h
@@ -16,48 +16,6 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 85 /* 10 Bottom 75 top*/
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/idobao/id75/v2/info.json b/keyboards/idobao/id75/v2/info.json
index 4cb46c2564..f24145b918 100644
--- a/keyboards/idobao/id75/v2/info.json
+++ b/keyboards/idobao/id75/v2/info.json
@@ -12,6 +12,39 @@
"pin": "F0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h b/keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h
deleted file mode 100644
index 2a432a5b2e..0000000000
--- a/keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 msf@github
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- Set any config.h overrides for your specific keymap here.
- See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
-*/
-#pragma once
-
-#define COMBO_TERM 200
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c
deleted file mode 100644
index bdcb153413..0000000000
--- a/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2021 Miguel Filipe <miguel.filipe@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_VOLD, KC_VOLU, KC_F8, KC_F9, KC_F10, KC_PSTE, KC_PSCR, KC_DEL, MO(1),
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_ansi(
- QK_BOOT, KC_CALC, _______, _______, _______, KC_MUTE, KC_F6, KC_F7, KC_MPLY, KC_MSTP, KC_BRID, KC_BRIU, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, NK_TOGG, _______, _______, _______, _______, _______, BL_UP,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DOWN, BL_STEP
- ),
- [2] = LAYOUT_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-enum combos {
- SLSHDN_PGDN,
- SLSHUP_PGUP,
- RALTBKSPC_DELETE,
-};
-
-const uint16_t PROGMEM slashDown_combo[] = {KC_SLSH, KC_DOWN, COMBO_END};
-const uint16_t PROGMEM slashUp_combo[] = {KC_SLSH, KC_UP, COMBO_END};
-const uint16_t PROGMEM raltBackspace_combo[] = {KC_RALT, KC_BSPC, COMBO_END};
-
-combo_t key_combos[] = {
- [SLSHDN_PGDN] = COMBO(slashDown_combo, KC_PGDN),
- [SLSHUP_PGUP] = COMBO(slashUp_combo, KC_PGUP),
- [RALTBKSPC_DELETE] = COMBO(raltBackspace_combo, KC_DEL),
-};
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md b/keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md
deleted file mode 100644
index 7ab300f672..0000000000
--- a/keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# slightly modified:
-- some key combos
-- don't use f-keys,
-- pgup/down, home/end tweaks
diff --git a/keyboards/idobao/id80/v3/ansi/config.h b/keyboards/idobao/id80/v3/ansi/config.h
deleted file mode 100644
index afe880fa8a..0000000000
--- a/keyboards/idobao/id80/v3/ansi/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2022 Vino Rodrigues (@vinorodrigues)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* ----------------
- * RGB Matrix stuff
- * ---------------- */
-
-// RGB Matrix config
-#if defined(RGB_MATRIX_ENABLE)
-
- #define RGB_MATRIX_LED_COUNT 94
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* don't need `#if`, animation modes themselves check defines
- * #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- /* #endif // RGB_MATRIX_FRAMEBUFFER_EFFECTS */
-
- /* don't need `#if`, animation modes themselves check defines
- * #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
- /* #endif // RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
-#endif // RGB_MATRIX_ENABLE
-
-/* -----------------------
- * Feature disable options
- * These options are also useful to firmware size reduction.
- * ----------------------- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id80/v3/ansi/info.json b/keyboards/idobao/id80/v3/ansi/info.json
index cf21d3abb1..5cca0260ea 100644
--- a/keyboards/idobao/id80/v3/ansi/info.json
+++ b/keyboards/idobao/id80/v3/ansi/info.json
@@ -15,7 +15,49 @@
"rgblight": false
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F1", "F4", "F5", "F6", "F7"],
diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h
deleted file mode 100644
index 17b63471fa..0000000000
--- a/keyboards/idobao/id87/v2/config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2022 vinorodrigues (@vinorodrigues)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-
-/* ----------------
- * RGB Matrix stuff
- * ---------------- */
-
-// RGB Matrix config
-#if defined(RGB_MATRIX_ENABLE)
-
- #define RGB_MATRIX_LED_COUNT 103
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
-
- #define RGB_MATRIX_KEYPRESSES
-
- #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-
- /* RGB_MATRIX_FRAMEBUFFER_EFFECTS -- do not enable */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-#endif // RGB_MATRIX_ENABLE
-
-
-/* -----------------------
- * Feature disable options
- * These options are also useful to firmware size reduction.
- * ----------------------- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id87/v2/info.json b/keyboards/idobao/id87/v2/info.json
index 783cd04a03..cb94ee763e 100644
--- a/keyboards/idobao/id87/v2/info.json
+++ b/keyboards/idobao/id87/v2/info.json
@@ -18,7 +18,49 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/idobao/montex/v1rgb/config.h b/keyboards/idobao/montex/v1rgb/config.h
deleted file mode 100755
index 789479de05..0000000000
--- a/keyboards/idobao/montex/v1rgb/config.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#if defined(RGB_MATRIX_ENABLE)
-
- // The number of LEDs connected
- #define RGB_MATRIX_LED_COUNT 31
-
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- /* *** Items disabled are visually unappealing in a 5x6 key matrix *** */
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- // #define ENABLE_RGB_MATRIX_BAND_SAT
- // #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- // #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/info.json
index 31c06d0809..08c62297ac 100755
--- a/keyboards/idobao/montex/v1rgb/info.json
+++ b/keyboards/idobao/montex/v1rgb/info.json
@@ -7,7 +7,33 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 170
},
"matrix_pins": {
"cols": ["D5", "D3", "D2", "D1", "D0"],
diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h
index a7cd0d6114..548f3f62e7 100755
--- a/keyboards/idobao/montex/v2/config.h
+++ b/keyboards/idobao/montex/v2/config.h
@@ -9,65 +9,6 @@
#else
#define RGB_MATRIX_LED_COUNT 27 // -4 disabled underglow LEDs
#endif
-
- // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good
- #define RGB_MATRIX_KEYPRESSES
-
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- /* *** Items disabled are visually unappealing in a 5x6 key matrix *** */
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- // #define ENABLE_RGB_MATRIX_BAND_SAT
- // #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- /* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
- // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- /* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- // #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif // RGB_MATRIX_ENABLE
/* -----------------------
diff --git a/keyboards/idobao/montex/v2/info.json b/keyboards/idobao/montex/v2/info.json
index 74a69d60fe..774cde114f 100755
--- a/keyboards/idobao/montex/v2/info.json
+++ b/keyboards/idobao/montex/v2/info.json
@@ -18,7 +18,34 @@
"pin": "B1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D5", "D3", "D2", "D1", "D0"],
diff --git a/keyboards/idyllic/tinny50_rgb/config.h b/keyboards/idyllic/tinny50_rgb/config.h
deleted file mode 100644
index 0cb5eac432..0000000000
--- a/keyboards/idyllic/tinny50_rgb/config.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright 2022 Zykrah
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS * 7/8
-
-/* The number of LEDs connected */
-#define RGB_MATRIX_LED_COUNT 30
-
-/* Enable RGB MATRIX effects */
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#endif
diff --git a/keyboards/idyllic/tinny50_rgb/info.json b/keyboards/idyllic/tinny50_rgb/info.json
index 7e68b960f5..5407bd9c26 100644
--- a/keyboards/idyllic/tinny50_rgb/info.json
+++ b/keyboards/idyllic/tinny50_rgb/info.json
@@ -30,6 +30,40 @@
"cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP20", "GP19", "GP1", "GP6", "GP5"]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "default": {
+ "val": 223
+ },
"driver": "ws2812"
},
"ws2812": {
diff --git a/keyboards/illuminati/is0/keymaps/ctrlaltdel/keymap.c b/keyboards/illuminati/is0/keymaps/ctrlaltdel/keymap.c
deleted file mode 100644
index 4ba60a9959..0000000000
--- a/keyboards/illuminati/is0/keymaps/ctrlaltdel/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Base */
- LCTL(LALT(KC_DEL))
- ),
-};
diff --git a/keyboards/illuminati/is0/keymaps/ctrlaltdel/readme.md b/keyboards/illuminati/is0/keymaps/ctrlaltdel/readme.md
deleted file mode 100644
index 5d9e162c1c..0000000000
--- a/keyboards/illuminati/is0/keymaps/ctrlaltdel/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The ctrlaltdel keymap for is0
-
-A simple keymap to send Ctrl + Alt + Del on keypress. \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/oggi/keymap.c b/keyboards/illusion/rosa/keymaps/oggi/keymap.c
deleted file mode 100644
index 3ddf9b8d2c..0000000000
--- a/keyboards/illusion/rosa/keymaps/oggi/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2021 Brandon Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_ansi_tsangan_split_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_TRNS, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_RCTL
- ),
- [_FN] = LAYOUT_60_ansi_tsangan_split_rshift(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RIGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/oggi/readme.md b/keyboards/illusion/rosa/keymaps/oggi/readme.md
deleted file mode 100644
index 54db9b5630..0000000000
--- a/keyboards/illusion/rosa/keymaps/oggi/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Oggi's custom Rosa keymap \ No newline at end of file
diff --git a/keyboards/ilumkb/simpler61/config.h b/keyboards/ilumkb/simpler61/config.h
index 7978b495de..6bff92d3ea 100644
--- a/keyboards/ilumkb/simpler61/config.h
+++ b/keyboards/ilumkb/simpler61/config.h
@@ -16,60 +16,4 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 61
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-#define DRIVER_INDICATOR_LED_TOTAL 0
-
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/ilumkb/simpler61/info.json b/keyboards/ilumkb/simpler61/info.json
index 80a738f4cf..9f8f5f014a 100644
--- a/keyboards/ilumkb/simpler61/info.json
+++ b/keyboards/ilumkb/simpler61/info.json
@@ -9,7 +9,44 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/ilumkb/simpler61/simpler61.c b/keyboards/ilumkb/simpler61/simpler61.c
index f29f05defe..99cefc7844 100644
--- a/keyboards/ilumkb/simpler61/simpler61.c
+++ b/keyboards/ilumkb/simpler61/simpler61.c
@@ -17,72 +17,72 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW4, CS2_SW4, CS1_SW4},
- {0, CS3_SW5, CS2_SW5, CS1_SW5},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS3_SW7, CS2_SW7, CS1_SW7},
- {0, CS3_SW8, CS2_SW8, CS1_SW8},
- {0, CS3_SW9, CS2_SW9, CS1_SW9},
- {0, CS18_SW9, CS17_SW9, CS16_SW9},
- {0, CS18_SW8, CS17_SW8, CS16_SW8},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW4_CS3, SW4_CS2, SW4_CS1},
+ {0, SW5_CS3, SW5_CS2, SW5_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW7_CS3, SW7_CS2, SW7_CS1},
+ {0, SW8_CS3, SW8_CS2, SW8_CS1},
+ {0, SW9_CS3, SW9_CS2, SW9_CS1},
+ {0, SW9_CS18, SW9_CS17, SW9_CS16},
+ {0, SW8_CS18, SW8_CS17, SW8_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW2, CS5_SW2, CS4_SW2},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS6_SW9, CS5_SW9, CS4_SW9},
- {0, CS21_SW9, CS20_SW9, CS19_SW9},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW2_CS6, SW2_CS5, SW2_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW9_CS6, SW9_CS5, SW9_CS4},
+ {0, SW9_CS21, SW9_CS20, SW9_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS9_SW9, CS8_SW9, CS7_SW9},
- {0, CS24_SW9, CS23_SW9, CS22_SW9},
- {0, CS24_SW8, CS23_SW8, CS22_SW8},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW9_CS9, SW9_CS8, SW9_CS7},
+ {0, SW9_CS24, SW9_CS23, SW9_CS22},
+ {0, SW8_CS24, SW8_CS23, SW8_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS12_SW9, CS11_SW9, CS10_SW9},
- {0, CS27_SW9, CS26_SW9, CS25_SW9},
- {0, CS27_SW8, CS26_SW8, CS25_SW8},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW9_CS12, SW9_CS11, SW9_CS10},
+ {0, SW9_CS27, SW9_CS26, SW9_CS25},
+ {0, SW8_CS27, SW8_CS26, SW8_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS30_SW8, CS29_SW8, CS28_SW8},
- {0, CS30_SW7, CS29_SW7, CS28_SW7},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW8_CS30, SW8_CS29, SW8_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
};
led_config_t g_led_config = {
diff --git a/keyboards/ilumkb/simpler64/config.h b/keyboards/ilumkb/simpler64/config.h
index 09dc7dc80f..6bff92d3ea 100644
--- a/keyboards/ilumkb/simpler64/config.h
+++ b/keyboards/ilumkb/simpler64/config.h
@@ -16,61 +16,4 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 64
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-#define DRIVER_INDICATOR_LED_TOTAL 0
-
-
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/ilumkb/simpler64/info.json b/keyboards/ilumkb/simpler64/info.json
index a793907148..af617da861 100644
--- a/keyboards/ilumkb/simpler64/info.json
+++ b/keyboards/ilumkb/simpler64/info.json
@@ -9,7 +9,44 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/ilumkb/simpler64/simpler64.c b/keyboards/ilumkb/simpler64/simpler64.c
index a562fa5c8b..21892a55f4 100644
--- a/keyboards/ilumkb/simpler64/simpler64.c
+++ b/keyboards/ilumkb/simpler64/simpler64.c
@@ -17,75 +17,75 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW4, CS2_SW4, CS1_SW4},
- {0, CS3_SW5, CS2_SW5, CS1_SW5},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS3_SW7, CS2_SW7, CS1_SW7},
- {0, CS3_SW8, CS2_SW8, CS1_SW8},
- {0, CS3_SW9, CS2_SW9, CS1_SW9},
- {0, CS18_SW9, CS17_SW9, CS16_SW9},
- {0, CS18_SW8, CS17_SW8, CS16_SW8},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW4_CS3, SW4_CS2, SW4_CS1},
+ {0, SW5_CS3, SW5_CS2, SW5_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW7_CS3, SW7_CS2, SW7_CS1},
+ {0, SW8_CS3, SW8_CS2, SW8_CS1},
+ {0, SW9_CS3, SW9_CS2, SW9_CS1},
+ {0, SW9_CS18, SW9_CS17, SW9_CS16},
+ {0, SW8_CS18, SW8_CS17, SW8_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW2, CS5_SW2, CS4_SW2},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS6_SW9, CS5_SW9, CS4_SW9},
- {0, CS21_SW9, CS20_SW9, CS19_SW9},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW2_CS6, SW2_CS5, SW2_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW9_CS6, SW9_CS5, SW9_CS4},
+ {0, SW9_CS21, SW9_CS20, SW9_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS9_SW9, CS8_SW9, CS7_SW9},
- {0, CS24_SW9, CS23_SW9, CS22_SW9},
- {0, CS24_SW8, CS23_SW8, CS22_SW8},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW9_CS9, SW9_CS8, SW9_CS7},
+ {0, SW9_CS24, SW9_CS23, SW9_CS22},
+ {0, SW8_CS24, SW8_CS23, SW8_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS12_SW9, CS11_SW9, CS10_SW9},
- {0, CS27_SW9, CS26_SW9, CS25_SW9},
- {0, CS27_SW8, CS26_SW8, CS25_SW8},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW9_CS12, SW9_CS11, SW9_CS10},
+ {0, SW9_CS27, SW9_CS26, SW9_CS25},
+ {0, SW8_CS27, SW8_CS26, SW8_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS30_SW9, CS29_SW9, CS28_SW9},
- {0, CS30_SW8, CS29_SW8, CS28_SW8},
- {0, CS30_SW7, CS29_SW7, CS28_SW7},
- {0, CS30_SW6, CS29_SW6, CS28_SW6},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW9_CS30, SW9_CS29, SW9_CS28},
+ {0, SW8_CS30, SW8_CS29, SW8_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28},
+ {0, SW6_CS30, SW6_CS29, SW6_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
};
led_config_t g_led_config = {
diff --git a/keyboards/inett_studio/sq80/hotswap_layout_i/info.json b/keyboards/inett_studio/sq80/hotswap_layout_i/info.json
index 3d18b0fc94..f9e61e716a 100644
--- a/keyboards/inett_studio/sq80/hotswap_layout_i/info.json
+++ b/keyboards/inett_studio/sq80/hotswap_layout_i/info.json
@@ -23,8 +23,6 @@
},
"features": {
"bootmagic": true,
- "command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/inett_studio/sq80/hotswap_layout_i/keymaps/via/keymap.json b/keyboards/inett_studio/sq80/hotswap_layout_i/keymaps/via/keymap.json
index d3d432ab1b..da50359f64 100644
--- a/keyboards/inett_studio/sq80/hotswap_layout_i/keymaps/via/keymap.json
+++ b/keyboards/inett_studio/sq80/hotswap_layout_i/keymaps/via/keymap.json
@@ -4,8 +4,7 @@
"layout": "LAYOUT_tkl_ansi",
"config": {
"features": {
- "via": true,
- "lto": true
+ "via": true
}
},
"layers": [
diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h
index a53a2132fa..0759616004 100644
--- a/keyboards/inett_studio/sqx/hotswap/config.h
+++ b/keyboards/inett_studio/sqx/hotswap/config.h
@@ -29,63 +29,9 @@
/* disable print */
//#define NO_PRINT
-//rgb matrix setting
-#define DRIVER_1_LED_TOTAL 33
-#define DRIVER_2_LED_TOTAL 31
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#define RGB_MATRIX_DISABLE_KEYCODES
#endif
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c
index 4d77a4829e..079889e727 100644
--- a/keyboards/inett_studio/sqx/hotswap/hotswap.c
+++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c
@@ -20,7 +20,7 @@
#include "hotswap.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/inett_studio/sqx/hotswap/info.json b/keyboards/inett_studio/sqx/hotswap/info.json
index 90fe00d167..f1526594f9 100644
--- a/keyboards/inett_studio/sqx/hotswap/info.json
+++ b/keyboards/inett_studio/sqx/hotswap/info.json
@@ -12,7 +12,36 @@
"pin": "D7"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "driver": "is31fl3731",
+ "max_brightness": 170
},
"rgblight": {
"saturation_steps": 8,
diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h
index dd123bd7a9..737addf725 100644
--- a/keyboards/inett_studio/sqx/universal/config.h
+++ b/keyboards/inett_studio/sqx/universal/config.h
@@ -29,63 +29,9 @@
/* disable print */
//#define NO_PRINT
-//rgb matrix setting
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 36
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
# define RGB_MATRIX_DISABLE_KEYCODES
#endif
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/inett_studio/sqx/universal/info.json b/keyboards/inett_studio/sqx/universal/info.json
index 15744fbbbc..d84ad5fc63 100644
--- a/keyboards/inett_studio/sqx/universal/info.json
+++ b/keyboards/inett_studio/sqx/universal/info.json
@@ -12,7 +12,36 @@
"pin": "D7"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "driver": "is31fl3731",
+ "max_brightness": 170
},
"rgblight": {
"saturation_steps": 8,
diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c
index 3ba42e9995..519df57505 100644
--- a/keyboards/inett_studio/sqx/universal/universal.c
+++ b/keyboards/inett_studio/sqx/universal/universal.c
@@ -20,7 +20,7 @@
#include "universal.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/ingrained/matrix.c b/keyboards/ingrained/matrix.c
index 154a275d7a..3ba9d8dcf3 100644
--- a/keyboards/ingrained/matrix.c
+++ b/keyboards/ingrained/matrix.c
@@ -41,9 +41,7 @@ extern i2c_status_t mcp23017_status;
// All address pins of the mcp23017 are connected to the ground on the ferris
// | 0 | 1 | 0 | 0 | A2 | A1 | A0 |
// | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE)
-#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ)
+#define I2C_ADDR (0b0100000<<1)
// Register addresses
// See https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/Adafruit_MCP23017.h
@@ -77,7 +75,7 @@ uint8_t init_mcp23017(void) {
// This means: we will read all the bits on GPIOA
// This means: we will write to the pins 0-4 on GPIOB (in select_rows)
uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ mcp23017_status = i2c_transmit(I2C_ADDR, buf, sizeof(buf), I2C_TIMEOUT);
if (!mcp23017_status) {
// set pull-up
// - unused : on : 1
@@ -86,7 +84,7 @@ uint8_t init_mcp23017(void) {
// This means: we will read all the bits on GPIOA
// This means: we will write to the pins 0-4 on GPIOB (in select_rows)
uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), I2C_TIMEOUT);
+ mcp23017_status = i2c_transmit(I2C_ADDR, pullup_buf, sizeof(pullup_buf), I2C_TIMEOUT);
}
return mcp23017_status;
}
@@ -205,14 +203,14 @@ static matrix_row_t read_cols(uint8_t row) {
return 0;
} else {
uint8_t buf[] = {GPIOA};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ mcp23017_status = i2c_transmit(I2C_ADDR, buf, sizeof(buf), I2C_TIMEOUT);
// We read all the pins on GPIOA.
// The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero.
// The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys.
// Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones.
uint8_t data[] = {0};
if (!mcp23017_status) {
- mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), I2C_TIMEOUT);
+ mcp23017_status = i2c_receive(I2C_ADDR, data, sizeof(data), I2C_TIMEOUT);
data[0] = ~(data[0]);
}
return data[0];
@@ -249,7 +247,7 @@ static void select_row(uint8_t row) {
// Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one.
// Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus.
uint8_t buf[] = {GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))};
- mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ mcp23017_status = i2c_transmit(I2C_ADDR, buf, sizeof(buf), I2C_TIMEOUT);
}
}
}
diff --git a/keyboards/inland/kb83/config.h b/keyboards/inland/kb83/config.h
index be26cf869c..c003d218c2 100644
--- a/keyboards/inland/kb83/config.h
+++ b/keyboards/inland/kb83/config.h
@@ -40,36 +40,3 @@
#define I2C1_SCL_PAL_MODE 4
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-
-#define DRIVER_1_LED_TOTAL 61
-#define DRIVER_2_LED_TOTAL 21
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 10)
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 /* The maximum brightness level */
diff --git a/keyboards/inland/kb83/info.json b/keyboards/inland/kb83/info.json
index d8e029c5fa..b4396fb630 100644
--- a/keyboards/inland/kb83/info.json
+++ b/keyboards/inland/kb83/info.json
@@ -9,7 +9,28 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "snled27351"
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "multisplash": true
+ },
+ "driver": "snled27351",
+ "max_brightness": 200,
+ "react_on_keyup": true,
+ "sleep": true
},
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c
index 49604b93be..65093a3c38 100644
--- a/keyboards/inland/kb83/kb83.c
+++ b/keyboards/inland/kb83/kb83.c
@@ -18,114 +18,114 @@
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
-
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, D_2, E_2, F_2},
-
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
- {1, D_3, E_3, F_3},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, D_7, E_7, F_7},
- {1, D_4, E_4, F_4},
-
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
-
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
-
- {0, D_15, E_15, F_15},
- {1, D_6, E_6, F_6},
- {1, D_5, E_5, F_5},
-
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
+
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
+
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_4, K_4, L_4},
- {1, J_5, K_5, L_5},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
};
led_config_t g_led_config = {
diff --git a/keyboards/inland/mk47/config.h b/keyboards/inland/mk47/config.h
index e5026bd0e7..13ebb83ba6 100644
--- a/keyboards/inland/mk47/config.h
+++ b/keyboards/inland/mk47/config.h
@@ -30,10 +30,3 @@
/* WB32 MCU has no default definition */
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000
-
-#define RGB_MATRIX_LED_COUNT 47
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
diff --git a/keyboards/inland/mk47/info.json b/keyboards/inland/mk47/info.json
index e647723ed8..b6404f58b2 100644
--- a/keyboards/inland/mk47/info.json
+++ b/keyboards/inland/mk47/info.json
@@ -105,7 +105,8 @@
{ "flags": 4, "matrix": [3, 9], "x": 183, "y": 64},
{ "flags": 4, "matrix": [3, 10], "x": 204, "y": 64},
{ "flags": 4, "matrix": [3, 11], "x": 224, "y": 64}
- ]
+ ],
+ "sleep": true
},
"layout_aliases": {
"LAYOUT": "LAYOUT_planck_mit"
diff --git a/keyboards/inland/mk47/mk47.c b/keyboards/inland/mk47/mk47.c
index 5a34527c6c..ca417af19f 100644
--- a/keyboards/inland/mk47/mk47.c
+++ b/keyboards/inland/mk47/mk47.c
@@ -16,63 +16,63 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {0, D_15, E_15, F_15},
- {0, G_13, H_13, I_13},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
};
#endif
diff --git a/keyboards/inland/v83p/config.h b/keyboards/inland/v83p/config.h
index c39cb6421f..a636a7891e 100644
--- a/keyboards/inland/v83p/config.h
+++ b/keyboards/inland/v83p/config.h
@@ -13,9 +13,6 @@
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000
-#define RGB_MATRIX_LED_COUNT 92
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
@@ -24,7 +21,3 @@
#define SPI_MOSI_PAL_MODE 5
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/inland/v83p/info.json b/keyboards/inland/v83p/info.json
index 69df93e6d0..139cfb693b 100644
--- a/keyboards/inland/v83p/info.json
+++ b/keyboards/inland/v83p/info.json
@@ -46,7 +46,6 @@
"driver": "snled27351",
"max_brightness": 180,
"animations": {
- "solid_color": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
@@ -164,7 +163,9 @@
{ "flags": 2, "x": 224, "y": 32},
{ "flags": 2, "x": 224, "y": 48},
{ "flags": 2, "x": 224, "y": 64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT_ansi": {
diff --git a/keyboards/inland/v83p/v83p.c b/keyboards/inland/v83p/v83p.c
index 3cb9c06cb0..e14b082ceb 100644
--- a/keyboards/inland/v83p/v83p.c
+++ b/keyboards/inland/v83p/v83p.c
@@ -5,114 +5,114 @@
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, D_2, E_2, F_2},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
- {1, D_3, E_3, F_3},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, D_7, E_7, F_7},
- {1, D_4, E_4, F_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
- {0, D_15, E_15, F_15},
- {1, D_6, E_6, F_6},
- {1, D_5, E_5, F_5},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_4, K_4, L_4},
- {1, J_5, K_5, L_5},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
};
#endif
diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h
index 3757ca3d60..bf9ebc980f 100644
--- a/keyboards/input_club/ergodox_infinity/config.h
+++ b/keyboards/input_club/ergodox_infinity/config.h
@@ -44,35 +44,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* LED matrix driver */
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define LED_MATRIX_LED_COUNT 76
-#define LED_MATRIX_SPLIT { 38, 38 }
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-#define ENABLE_LED_MATRIX_ALPHAS_MODS
-#define ENABLE_LED_MATRIX_BREATHING
-#define ENABLE_LED_MATRIX_BAND
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL
-#define ENABLE_LED_MATRIX_BAND_SPIRAL
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
-#define ENABLE_LED_MATRIX_DUAL_BEACON
-#if defined(LED_MATRIX_KEYREACTIVE_ENABLED)
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_LED_MATRIX_SPLASH
-# define ENABLE_LED_MATRIX_MULTISPLASH
-#endif
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_WAVE_UP_DOWN
+#define IS31FL3731_SDB_PIN B16
/* i2c (for LED matrix) */
#define I2C1_CLOCK_SPEED 400000
diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
index 8f245d9fa3..7660a41f56 100644
--- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
+++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
@@ -95,11 +95,6 @@ __attribute__ ((weak)) void matrix_scan_user(void) {}
void keyboard_pre_init_kb(void) {
-#ifdef LED_MATRIX_ENABLE
- // Turn on LED controller
- setPinOutput(B16);
- writePinHigh(B16);
-#endif
// The backlight always has to be initialized, otherwise it will stay lit
lcd_backlight_hal_init();
#ifdef ST7565_ENABLE
@@ -171,7 +166,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef LED_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
// The numbers in the comments are the led numbers DXX on the PCB
/* Refer to IS31 manual for these locations
* driver
diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json
index d69aeb5d0c..d2d1e73943 100644
--- a/keyboards/input_club/ergodox_infinity/info.json
+++ b/keyboards/input_club/ergodox_infinity/info.json
@@ -7,7 +7,31 @@
"device_version": "0.0.1"
},
"led_matrix": {
- "driver": "is31fl3731"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "is31fl3731",
+ "sleep": true,
+ "split_count": [38, 38]
},
"matrix_pins": {
"cols": ["D1", "D4", "D5", "D6", "D7"],
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
deleted file mode 100644
index ec3972c0ae..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
+++ /dev/null
@@ -1,243 +0,0 @@
-// Nordic layout for Ergodox infinity
-#include QMK_KEYBOARD_H
-#include "version.h"
-#include "keymap_nordic.h"
-#include "keymap_german.h"
-
-enum layer_names {
- BASE,
- FUNCL,
- SYMB,
- MDIA
-};
-
-enum custom_keycodes {
- VRSN = SAFE_RANGE,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- *
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | §½ | | PRSC | 6 | 7 | 8 | 9 | 0 | - |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | Ã… |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Caps | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä |
- * |--------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | | | | N | M | , | . | - | RShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | Ctrl | ¨^ | <|> | LGui | Alt | | Ctrl | Alt | ´` | + | RGui |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | LEFT |RIGHT | | DOWN | UP |
- * ,------+------+------| |------+--------+------.
- * | | | Home | | PgUp | | |
- * | Space|Del |------| |------| Enter | Bkspc|
- * | | | End | | PgDn | | |
- * `--------------------' `----------------------'
- */
-
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2),
- KC_LCTL, MO(3), KC_EQL, KC_LGUI, KC_LALT,
- KC_NUM, KC_SCRL,
- KC_HOME,
- KC_SPC, KC_DEL, KC_END,
-
- // right hand
- KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- MO(2), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_NUBS,
- KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RBRC,
- KC_RGUI, KC_RALT,
- KC_PGUP,
- KC_PGDN, KC_ENT, KC_BSPC
-),
-/* Keymap 1: Basic layer with functions
- *
- *
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | 0 | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | |------| |------| | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | ¨ | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------+------+------| |------+--------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `----------------------'
- */
-
-[FUNCL] = LAYOUT_ergodox( // layer 1 : functions
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- _______, _______,
- _______,
- _______, _______, _______,
- // right hand
- KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- _______, _______,
- _______,
- _______, _______, _______
-),
-
-/* Keymap 2: Symbol Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |Animat| BLTOG| |Toggle|Solid |
- * ,------|------|------| |------+------+------.
- * |Bright|Bright| BL+ | | |Hue- |Hue+ |
- * |ness- |ness+ |------| |------| | |
- * | | | BL- | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
- _______, DE_EXLM, DE_AT, DE_LCBR, DE_RCBR, DE_PIPE, _______,
- _______, DE_HASH, DE_DLR, DE_LPRN, DE_RPRN, DE_GRV,
- _______, DE_PERC, DE_CIRC, DE_LBRC, DE_RBRC, DE_TILD, _______,
- _______, _______, _______, _______, _______,
- RGB_MOD, BL_TOGG,
- BL_UP,
- RGB_VAD, RGB_VAI, BL_DOWN,
- // right hand
- KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_UP, KC_7, KC_8, KC_9, DE_ASTR, _______,
- KC_DOWN, KC_4, KC_5, KC_6, DE_PLUS, _______,
- _______, DE_AMPR, KC_1, KC_2, KC_3, DE_BSLS, _______,
- _______, KC_DOT, KC_0, DE_EQL, _______,
- RGB_TOG, RGB_SLD,
- _______,
- _______, RGB_HUD, RGB_HUI
-),
-
-/* Keymap 3: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | QK_BOOT | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | Lclk | MsUp | Rclk | | | | | |VolDwn| Mute |VolUp | | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | Btn4 |MsLeft|MsDown|MsRght| Btn5 |------| |------| | Prev | Stop | Play | Next | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | |WhRght|WhDown| WhUp |WhLeft|WhClk | | | |BwSrch|BwBack|BwHome|BwRefr|BwFwd | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | |MsAcl0|MsAcl1|MsAcl2| | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | |Brwser|Brwser|
- * | Lclk | Rclk |------| |------|Back |Forwd |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
- _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______,
- _______, KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5,
- _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, _______,
- _______, _______, KC_ACL0, KC_ACL1, KC_ACL2,
- _______, _______,
- _______,
- KC_BTN1, KC_BTN2, _______,
- // right hand
- KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______,
- _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______,
- _______, KC_WSCH, KC_WBAK, KC_WHOM, KC_WREF, KC_WFWD, _______,
- _______, _______, _______, _______, _______,
- _______, _______,
- _______,
- _______, KC_WBAK, KC_WFWD
-),
-};
-
-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;
- case RGB_SLD:
- if (record->event.pressed) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
-#endif
- }
- 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) {
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- case 3:
- ergodox_right_led_3_on();
- break;
- default:
- break;
- }
-};
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md
deleted file mode 100644
index 2ed5268649..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Nordic Ergodox Infinity layout
-
-QWERTY Nordic layout for ergodox infinity.
-
-Features:
-
-- Basic ISO Nordic qwerty layout.
-- Backlight control.
-- Still work in progress. \ No newline at end of file
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rask/README.md b/keyboards/input_club/ergodox_infinity/keymaps/rask/README.md
deleted file mode 100644
index 8a13994301..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/rask/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# rask's Infinity ErgoDox Layout
-
-A basic ErgoDox layout that follows regular-ish QWERTY where it
-makes sense.
-
-![ErgoDox Layout](https://i.imgur.com/jYDInaY.png)
-
-## Features
-
-- Regular QWERTY alphas and symbols (apart from `[]{}\|` and shifted `/?`)
-- Regular numrow to make Fn-F-row simpler
-- CapsLock Fn1 with F-row behind it
-- Media controls and mouse controls on Fn2
-- Dedicated arrows
-
-## Building and flashing
-
-Follow the main Infinity ErgoDox guide but use the following layout:
-
- $ sudo make ergodox_infinity:rask
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
deleted file mode 100644
index e8df522bee..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
+++ /dev/null
@@ -1,201 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-
-#define BASE 0 // default layer
-#define FL1 1 // symbols
-#define FL2 2 // media keys
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- EPRM,
- VRSN,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | Del |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | Bsp |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Fn1 | A | S | D | F | G |------| |------| H | J | K | L | ; | Enter |
- * |--------+------+------+------+------+------| \ | | Meh |------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | | | | N | M | , | . | Up | ' |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | Ctrl | Home | LGui | End | LAlt | | RAlt | Fn2 | Le | Do | Ri |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Ins | PtSc | | Calc | Esc |
- * ,------|------|------| |------+--------+------.
- * | | | Del | | PgUp | | |
- * | Space| Bsp |------| |------| Enter |Space |
- * | | | Tab | | PgDn | | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_GRV, 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,
- MO(FL1),KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSLS,
- KC_LCTL,KC_HOME,KC_LGUI,KC_END,KC_LALT,
- KC_INS, KC_PSCR,
- KC_DEL,
- KC_SPC, KC_BSPC,KC_TAB,
- // right hand
- KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL,
- KC_RBRC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_UP, KC_SLSH,
- KC_RALT,MO(FL2),KC_LEFT,KC_DOWN,KC_RIGHT,
- KC_CALC, KC_ESC,
- KC_PGUP,
- KC_PGDN,KC_ENT, KC_SPC
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,---------------------------------------------------. ,--------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
- * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
- * | Version | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | |------| |------| | | | | | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | PgUp | |
- * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | Home | PgDn | End |
- * `-----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[FL1] = LAYOUT_ergodox(
- // left hand
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- VRSN, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- EPRM,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,
- KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,
- // right hand
- 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_PGUP, KC_TRNS,
- KC_TRNS,KC_TRNS, KC_HOME, KC_PGDN, KC_END,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* Keymap 2: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | | Prev | Play | Next | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | CapsLk | |MsLeft|MsDown|MsRght| |------| |------| | VolD | Mute | VolU | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | Stop | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |EEPROM| Menu | | Lclk | Rclk | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | Reset| |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[FL2] = LAYOUT_ergodox(
- KC_TRNS, 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_CAPS, 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,
- EPRM, KC_APP, 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_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- QK_BOOT, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
- eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- 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) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md
deleted file mode 100644
index 1e248742ee..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Truly Ergonomic like layout
-
-A basic ErgoDox layout that imitates the Truly Ergonomic keyboard layout.
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
deleted file mode 100644
index bbc24ea27f..0000000000
--- a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
+++ /dev/null
@@ -1,159 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-
-#define BASE 0 // default layer
-#define EXTRA 1 // extra
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- EPRM,
- VRSN,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | LGui | | LGui | 6 | 7 | 8 | 9 | 0 | - |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | Del | | Tab | Y | U | I | O | P | = |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | RShift |
- * |--------+------+------+------+------+------| Back | | Back |------+------+------+------+------+--------|
- * | LCtrl | Z | X | C | V | B | space| | space| N | M | , | . | ' | RCtrl |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LAlt | Home | PgUp | PgDn | End | | Left | Up | Down | Rigth| RAlt |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | ~ | | | | [ | ] |
- * ,------|------|------| |------+------+------.
- * | | | L1 | | Grv | | |
- * | Space|Enter |------| |------| Enter|Space |
- * | | | / | | \ | | |
- * `--------------------' `--------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LGUI,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DEL,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC,
- KC_LALT, KC_HOME, KC_PGUP, KC_PGDN, KC_END,
- KC_TILD, KC_PIPE,
- TG(EXTRA),
- KC_SPC, KC_ENT, KC_SLSH,
- // right hand
- KC_LGUI, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RSFT,
- KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, KC_RCTL,
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_RALT,
- KC_LBRC, KC_RBRC,
- KC_GRV,
- KC_BSLS, KC_ENT, KC_SPC
- ),
-/* Keymap 1: Extra Layer
- *
- * ,---------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | PSCR | F6 | F7 | F8 | F9 | F10 | F11 |
- * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Caps | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | 0 | , | . | = | |
- * `-----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |VolUp |VolDn | | Prev | Next |
- * ,------|------|------| |------+------+------.
- * | | | | | Stop |Bright|Bright|
- * | Mute |Pause |------| |------|ness- |ness+ |
- * | | | | | Play | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[EXTRA] = LAYOUT_ergodox(
- // left hand
- KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
- KC_CAPS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
- KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_VOLU,KC_VOLD,
- KC_TRNS,
- KC_MUTE,KC_PAUS,KC_TRNS,
- // right hand
- KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, 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_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_0, KC_COMM, KC_DOT, KC_EQL, KC_TRNS,
- KC_MPRV, KC_MNXT,
- KC_STOP,
- KC_MPLY, RGB_VAD, RGB_VAI
-),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
- eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- 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) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/keyboards/input_club/infinity60/keymaps/depariel/keymap.c b/keyboards/input_club/infinity60/keymaps/depariel/keymap.c
deleted file mode 100755
index 22ac4fa5fa..0000000000
--- a/keyboards/input_club/infinity60/keymaps/depariel/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0: Default Layer
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Bksp|
- * |-----------------------------------------------------------|
- * |Contro| A| S| D| F| G| H| J| K| L| ;| '|Enter |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2|
- * |-----------------------------------------------------------'
- * |Fn2 |Gui |Alt | Space |RAlt|Prv|PlPs|Next|
- * `-----------------------------------------------------------'
- */
- [0] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LT(5, KC_ENT),
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, MO(4),
- MO(4), KC_LGUI, KC_LALT, LT(3, KC_SPC), KC_RALT, KC_MPRV, KC_MPLY, KC_MNXT),
-
- /* Layer 1: "Toggle" off SpaceFn for League of Legends
- */
- [1] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(4),
- MO(4), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_MPRV, KC_MPLY, KC_MNXT),
-
- /* Layer 2: "Toggle" off SpaceFn for MapleRoyals
- */
- [2] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_LSFT,
- MO(4), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Layer 3: FN layer 1
- */
- [3] = LAYOUT_60_ansi_split_bs_rshift(
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
- KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, LALT(KC_F4), KC_HOME, KC_PGUP, KC_PSCR, KC_SCRL, KC_UP, KC_NO, KC_LPRN, KC_RPRN, KC_DEL,
- MO(6), KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_END, KC_PGDN, KC_TILD, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO,
- LGUI(KC_SPC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_CALC, KC_MENU, KC_TRNS, TG(4),
- KC_TRNS, KC_TRNS, KC_TRNS, LT(3, KC_SPC), KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU),
-
- /* Layer 4: FN layer 2
- */
- [4] = LAYOUT_60_ansi_split_bs_rshift(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_PSLS, TG(2),
- KC_CAPS, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC,
- KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PENT,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_RSFT, MO(4),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PDOT, KC_NO, TG(1)),
-
- /* Layer 5: FN layer 3
- */
- [5] = LAYOUT_60_ansi_split_bs_rshift(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TAB , KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, KC_F16, KC_NO, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F17, KC_F18, KC_F19, KC_F20, LT(5, KC_ENT),
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F21, KC_F22, KC_F23, KC_F24, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_NO, KC_NO, KC_NO),
-
- /* Layer 6: FN layer 4
- */
- [6] = LAYOUT_60_ansi_split_bs_rshift(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- LCTL(LSFT(KC_TAB)), KC_NO, LGUI(KC_UP), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- MO(6), LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO),
-};
-
-// 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/input_club/infinity60/led/config.h b/keyboards/input_club/infinity60/led/config.h
index 293b192d60..b6f28a017e 100644
--- a/keyboards/input_club/infinity60/led/config.h
+++ b/keyboards/input_club/infinity60/led/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define LED_MATRIX_LED_COUNT 63
-
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define I2C1_CLOCK_SPEED 400000
diff --git a/keyboards/input_club/infinity60/led/led.c b/keyboards/input_club/infinity60/led/led.c
index a6a63e202d..e54f30d7b4 100644
--- a/keyboards/input_club/infinity60/led/led.c
+++ b/keyboards/input_club/infinity60/led/led.c
@@ -4,7 +4,7 @@
#include "quantum.h"
#ifdef LED_MATRIX_ENABLE
-const is31fl3731_led_t g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
diff --git a/keyboards/input_club/k_type/config.h b/keyboards/input_club/k_type/config.h
index c188038a82..e46ede7b7b 100644
--- a/keyboards/input_club/k_type/config.h
+++ b/keyboards/input_club/k_type/config.h
@@ -33,80 +33,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-#ifdef RGB_MATRIX_ENABLE
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-
// i2c_master defines
-# define I2C_COUNT 2
-# define I2C1_CLOCK_SPEED 400000
-
-# define I2C1_SCL_PIN B0 // A2 on pinout = B0
-# define I2C1_SDA_PIN B1 // A2 on pinout = B1
-# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define USE_I2C2
-# define I2C2_SCL_PIN C10 // A2 on pinout = C10
-# define I2C2_SDA_PIN C11 // A2 on pinout = C11
-# define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_GND
-# define IS31FL3733_DRIVER_COUNT 2
-# define IS31FL3733_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-# define DRIVER_1_LED_TOTAL 64
-# define DRIVER_2_LED_TOTAL 55
-# define RGB_MATRIX_LED_COUNT IS31FL3733_LED_COUNT
-#endif
+#define I2C_COUNT 2
+#define I2C1_CLOCK_SPEED 400000
+
+#define I2C1_SCL_PIN B0 // A2 on pinout = B0
+#define I2C1_SDA_PIN B1 // A2 on pinout = B1
+#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
+
+#define USE_I2C2
+#define I2C2_SCL_PIN C10 // A2 on pinout = C10
+#define I2C2_SDA_PIN C11 // A2 on pinout = C11
+#define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
+
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
+#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_GND
+#define IS31FL3733_SDB_PIN B16
diff --git a/keyboards/input_club/k_type/i2c_master.c b/keyboards/input_club/k_type/i2c_master.c
index af34d55ef6..e25ae2ef6f 100644
--- a/keyboards/input_club/k_type/i2c_master.c
+++ b/keyboards/input_club/k_type/i2c_master.c
@@ -114,7 +114,7 @@ i2c_status_t i2c_receive(uint8_t index, uint8_t address, uint8_t* data, uint16_t
return chibios_to_qmk(&status);
}
-i2c_status_t i2c_writeReg(uint8_t index, uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_write_register(uint8_t index, uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
if(index >= I2C_COUNT) {
return I2C_STATUS_ERROR;
}
@@ -131,7 +131,7 @@ i2c_status_t i2c_writeReg(uint8_t index, uint8_t devaddr, uint8_t regaddr, const
return chibios_to_qmk(&status);
}
-i2c_status_t i2c_readReg(uint8_t index, uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_read_register(uint8_t index, uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
if(index >= I2C_COUNT) {
return I2C_STATUS_ERROR;
}
diff --git a/keyboards/input_club/k_type/i2c_master.h b/keyboards/input_club/k_type/i2c_master.h
index db4f12e43c..aa6ffe48b2 100644
--- a/keyboards/input_club/k_type/i2c_master.h
+++ b/keyboards/input_club/k_type/i2c_master.h
@@ -123,6 +123,6 @@ void i2c_init(I2CDriver *driver, ioline_t scl_pin, ioline_t sda_pin);
i2c_status_t i2c_start(uint8_t index, uint8_t address);
i2c_status_t i2c_transmit(uint8_t index, uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout);
i2c_status_t i2c_receive(uint8_t index, uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_writeReg(uint8_t index, uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_readReg(uint8_t index, uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_write_register(uint8_t index, uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_read_register(uint8_t index, uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
void i2c_stop(uint8_t index);
diff --git a/keyboards/input_club/k_type/info.json b/keyboards/input_club/k_type/info.json
index 7279c8a933..17076a82d8 100644
--- a/keyboards/input_club/k_type/info.json
+++ b/keyboards/input_club/k_type/info.json
@@ -9,6 +9,51 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "custom"
},
"matrix_pins": {
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c
index e471cf0b71..9e1e6b57f7 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.c
+++ b/keyboards/input_club/k_type/is31fl3733-dual.c
@@ -18,6 +18,7 @@
#include "is31fl3733-dual.h"
#include "i2c_master.h"
+#include "gpio.h"
#include "wait.h"
#define IS31FL3733_PWM_REGISTER_COUNT 192
@@ -60,130 +61,128 @@
# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+const uint8_t i2c_addresses[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_I2C_ADDRESS_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_I2C_ADDRESS_2,
+#endif
+};
+
+const uint8_t driver_sync[IS31FL3733_DRIVER_COUNT] = {
+ IS31FL3733_SYNC_1,
+#ifdef IS31FL3733_I2C_ADDRESS_2
+ IS31FL3733_SYNC_2,
+#endif
+};
// These buffers match the IS31FL3733 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
+// The control buffers match the page 0 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
// probably not worth the extra complexity.
-uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][IS31FL3733_PWM_REGISTER_COUNT];
-bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0};
-bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false};
-
-bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) {
- // If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
-
+typedef struct is31fl3733_driver_t {
+ uint8_t pwm_buffer[IS31FL3733_PWM_REGISTER_COUNT];
+ bool pwm_buffer_dirty;
+ uint8_t led_control_buffer[IS31FL3733_LED_CONTROL_REGISTER_COUNT];
+ bool led_control_buffer_dirty;
+} PACKED is31fl3733_driver_t;
+
+is31fl3733_driver_t driver_buffers[IS31FL3733_DRIVER_COUNT] = {{
+ .pwm_buffer = {0},
+ .pwm_buffer_dirty = false,
+ .led_control_buffer = {0},
+ .led_control_buffer_dirty = false,
+}};
+
+void is31fl3733_write_register(uint8_t bus, uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3733_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ if (i2c_write_register(bus, i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(bus, i2c_addresses[index] << 1, reg, &data, 1, IS31FL3733_I2C_TIMEOUT);
#endif
- return true;
}
-bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) {
- // Assumes PG1 is already selected.
- // If any of the transactions fails function returns false.
+void is31fl3733_select_page(uint8_t bus, uint8_t index, uint8_t page) {
+ is31fl3733_write_register(bus, index, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_write_register(bus, index, IS31FL3733_REG_COMMAND, page);
+}
+
+void is31fl3733_write_pwm_buffer(uint8_t bus, uint8_t index) {
+ // Assumes page 1 is already selected.
// Transmit PWM registers in 12 transfers of 16 bytes.
- // g_twi_transfer_buffer[] is 20 bytes
// Iterate over the pwm_buffer contents at 16 byte intervals.
- for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
- // Copy the data from i to i+15.
- // Device will auto-increment register for data after the first byte
- // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
- for (int j = 0; j < 16; j++) {
- g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
- }
-
+ for (uint8_t i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
#if IS31FL3733_I2C_PERSISTENCE > 0
- for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ for (uint8_t j = 0; j < IS31FL3733_I2C_PERSISTENCE; j++) {
+ if (i2c_write_register(bus, i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
- return false;
- }
+ i2c_write_register(bus, i2c_addresses[index] << 1, i, driver_buffers[index].pwm_buffer + i, 16, IS31FL3733_I2C_TIMEOUT);
#endif
}
- return true;
}
void is31fl3733_init_drivers(void) {
+#if defined(IS31FL3733_SDB_PIN)
+ setPinOutput(IS31FL3733_SDB_PIN);
+ writePinHigh(IS31FL3733_SDB_PIN);
+#endif
+
i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN);
- is31fl3733_init(0, IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1);
+
+ is31fl3733_init(0, 0);
# ifdef USE_I2C2
i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN);
- is31fl3733_init(1, IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_2);
+ is31fl3733_init(1, 1);
# endif
for (int i = 0; i < IS31FL3733_LED_COUNT; i++) {
is31fl3733_set_led_control_register(i, true, true, true);
}
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_led_control_registers(0, 0);
# ifdef USE_I2C2
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_2, 1);
+ is31fl3733_update_led_control_registers(1, 1);
# endif
}
-void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
+void is31fl3733_init(uint8_t bus, uint8_t index) {
// In order to avoid the LEDs being driven with garbage data
// in the LED driver's PWM registers, shutdown is enabled last.
// Set up the mode and other settings, clear the PWM registers,
// then disable software shutdown.
- // Sync is passed so set it according to the datasheet.
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, index, IS31FL3733_COMMAND_LED_CONTROL);
- // Select PG0
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
// Turn off all LEDs.
for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(bus, addr, i, 0x00);
+ is31fl3733_write_register(bus, index, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, index, IS31FL3733_COMMAND_PWM);
- // Select PG1
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
// Set PWM on all LEDs to 0
// No need to setup Breath registers to PWM as that is the default.
for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
- is31fl3733_write_register(bus, addr, i, 0x00);
+ is31fl3733_write_register(bus, index, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, index, IS31FL3733_COMMAND_FUNCTION);
+
+ uint8_t sync = driver_sync[index];
- // Select PG3
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
- is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
+ is31fl3733_write_register(bus, index, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
- is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
+ is31fl3733_write_register(bus, index, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
// Set global current to maximum.
- is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
+ is31fl3733_write_register(bus, index, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT);
// Disable software shutdown.
- is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
+ is31fl3733_write_register(bus, index, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01);
// Wait 10ms to ensure the device has woken up.
wait_ms(10);
@@ -191,16 +190,18 @@ void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3733_led_t led;
+
if (index >= 0 && index < IS31FL3733_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led));
- if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) {
+ if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
- g_pwm_buffer[led.driver][led.r] = red;
- g_pwm_buffer[led.driver][led.g] = green;
- g_pwm_buffer[led.driver][led.b] = blue;
- g_pwm_buffer_update_required[led.driver] = true;
+
+ driver_buffers[led.driver].pwm_buffer[led.r] = red;
+ driver_buffers[led.driver].pwm_buffer[led.g] = green;
+ driver_buffers[led.driver].pwm_buffer[led.b] = blue;
+ driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
@@ -222,54 +223,49 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
uint8_t bit_b = led.b % 8;
if (red) {
- g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] |= (1 << bit_r);
} else {
- g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r);
+ driver_buffers[led.driver].led_control_buffer[control_register_r] &= ~(1 << bit_r);
}
if (green) {
- g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] |= (1 << bit_g);
} else {
- g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g);
+ driver_buffers[led.driver].led_control_buffer[control_register_g] &= ~(1 << bit_g);
}
if (blue) {
- g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] |= (1 << bit_b);
} else {
- g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
+ driver_buffers[led.driver].led_control_buffer[control_register_b] &= ~(1 << bit_b);
}
- g_led_control_registers_update_required[led.driver] = true;
+ driver_buffers[led.driver].led_control_buffer_dirty = true;
}
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
- if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1.
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
+void is31fl3733_update_pwm_buffers(uint8_t bus, uint8_t index) {
+ if (driver_buffers[index].pwm_buffer_dirty) {
+ is31fl3733_select_page(bus, index, IS31FL3733_COMMAND_PWM);
- // If any of the transactions fail we risk writing dirty PG0,
- // refresh page 0 just in case.
- if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) {
- g_led_control_registers_update_required[index] = true;
- }
+ is31fl3733_write_pwm_buffer(bus, index);
+
+ driver_buffers[index].pwm_buffer_dirty = false;
}
- g_pwm_buffer_update_required[index] = false;
}
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
- if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
+void is31fl3733_update_led_control_registers(uint8_t bus, uint8_t index) {
+ if (driver_buffers[index].led_control_buffer_dirty) {
+ is31fl3733_select_page(bus, index, IS31FL3733_COMMAND_LED_CONTROL);
+
for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
- is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]);
+ is31fl3733_write_register(bus, index, i, driver_buffers[index].led_control_buffer[i]);
}
+
+ driver_buffers[index].led_control_buffer_dirty = false;
}
- g_led_control_registers_update_required[index] = false;
}
void is31fl3733_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_pwm_buffers(0, 0);
# ifdef USE_I2C2
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
+ is31fl3733_update_pwm_buffers(1, 1);
# endif
}
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h
index 2f7d58f7e7..be6e4f9ce9 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.h
+++ b/keyboards/input_club/k_type/is31fl3733-dual.h
@@ -21,6 +21,7 @@
#include <stdint.h>
#include <stdbool.h>
#include "progmem.h"
+#include "util.h"
#define IS31FL3733_REG_INTERRUPT_MASK 0xF0
#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1
@@ -58,19 +59,33 @@
#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F
+#if !defined(IS31FL3733_LED_COUNT)
+# define IS31FL3733_LED_COUNT RGB_MATRIX_LED_COUNT
+#endif
+
+#if defined(IS31FL3733_I2C_ADDRESS_4)
+# define IS31FL3733_DRIVER_COUNT 4
+#elif defined(IS31FL3733_I2C_ADDRESS_3)
+# define IS31FL3733_DRIVER_COUNT 3
+#elif defined(IS31FL3733_I2C_ADDRESS_2)
+# define IS31FL3733_DRIVER_COUNT 2
+#elif defined(IS31FL3733_I2C_ADDRESS_1)
+# define IS31FL3733_DRIVER_COUNT 1
+#endif
+
typedef struct is31fl3733_led_t {
uint8_t driver : 2;
uint8_t r;
uint8_t g;
uint8_t b;
-} __attribute__((packed)) is31fl3733_led_t;
+} PACKED is31fl3733_led_t;
extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
void is31fl3733_init_drivers(void);
-void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
-bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
-bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer);
+void is31fl3733_init(uint8_t bus, uint8_t index);
+void is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
+void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page);
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
@@ -81,8 +96,8 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
-void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index
-void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
+void is31fl3733_update_pwm_buffers(uint8_t bus, uint8_t index);
+void is31fl3733_update_led_control_registers(uint8_t bus, uint8_t index);
void is31fl3733_flush(void);
@@ -114,206 +129,206 @@ void is31fl3733_flush(void);
#define IS31FL3733_SYNC_MASTER 0b01
#define IS31FL3733_SYNC_SLAVE 0b10
-#define A_1 0x00
-#define A_2 0x01
-#define A_3 0x02
-#define A_4 0x03
-#define A_5 0x04
-#define A_6 0x05
-#define A_7 0x06
-#define A_8 0x07
-#define A_9 0x08
-#define A_10 0x09
-#define A_11 0x0A
-#define A_12 0x0B
-#define A_13 0x0C
-#define A_14 0x0D
-#define A_15 0x0E
-#define A_16 0x0F
-
-#define B_1 0x10
-#define B_2 0x11
-#define B_3 0x12
-#define B_4 0x13
-#define B_5 0x14
-#define B_6 0x15
-#define B_7 0x16
-#define B_8 0x17
-#define B_9 0x18
-#define B_10 0x19
-#define B_11 0x1A
-#define B_12 0x1B
-#define B_13 0x1C
-#define B_14 0x1D
-#define B_15 0x1E
-#define B_16 0x1F
-
-#define C_1 0x20
-#define C_2 0x21
-#define C_3 0x22
-#define C_4 0x23
-#define C_5 0x24
-#define C_6 0x25
-#define C_7 0x26
-#define C_8 0x27
-#define C_9 0x28
-#define C_10 0x29
-#define C_11 0x2A
-#define C_12 0x2B
-#define C_13 0x2C
-#define C_14 0x2D
-#define C_15 0x2E
-#define C_16 0x2F
-
-#define D_1 0x30
-#define D_2 0x31
-#define D_3 0x32
-#define D_4 0x33
-#define D_5 0x34
-#define D_6 0x35
-#define D_7 0x36
-#define D_8 0x37
-#define D_9 0x38
-#define D_10 0x39
-#define D_11 0x3A
-#define D_12 0x3B
-#define D_13 0x3C
-#define D_14 0x3D
-#define D_15 0x3E
-#define D_16 0x3F
-
-#define E_1 0x40
-#define E_2 0x41
-#define E_3 0x42
-#define E_4 0x43
-#define E_5 0x44
-#define E_6 0x45
-#define E_7 0x46
-#define E_8 0x47
-#define E_9 0x48
-#define E_10 0x49
-#define E_11 0x4A
-#define E_12 0x4B
-#define E_13 0x4C
-#define E_14 0x4D
-#define E_15 0x4E
-#define E_16 0x4F
-
-#define F_1 0x50
-#define F_2 0x51
-#define F_3 0x52
-#define F_4 0x53
-#define F_5 0x54
-#define F_6 0x55
-#define F_7 0x56
-#define F_8 0x57
-#define F_9 0x58
-#define F_10 0x59
-#define F_11 0x5A
-#define F_12 0x5B
-#define F_13 0x5C
-#define F_14 0x5D
-#define F_15 0x5E
-#define F_16 0x5F
-
-#define G_1 0x60
-#define G_2 0x61
-#define G_3 0x62
-#define G_4 0x63
-#define G_5 0x64
-#define G_6 0x65
-#define G_7 0x66
-#define G_8 0x67
-#define G_9 0x68
-#define G_10 0x69
-#define G_11 0x6A
-#define G_12 0x6B
-#define G_13 0x6C
-#define G_14 0x6D
-#define G_15 0x6E
-#define G_16 0x6F
-
-#define H_1 0x70
-#define H_2 0x71
-#define H_3 0x72
-#define H_4 0x73
-#define H_5 0x74
-#define H_6 0x75
-#define H_7 0x76
-#define H_8 0x77
-#define H_9 0x78
-#define H_10 0x79
-#define H_11 0x7A
-#define H_12 0x7B
-#define H_13 0x7C
-#define H_14 0x7D
-#define H_15 0x7E
-#define H_16 0x7F
-
-#define I_1 0x80
-#define I_2 0x81
-#define I_3 0x82
-#define I_4 0x83
-#define I_5 0x84
-#define I_6 0x85
-#define I_7 0x86
-#define I_8 0x87
-#define I_9 0x88
-#define I_10 0x89
-#define I_11 0x8A
-#define I_12 0x8B
-#define I_13 0x8C
-#define I_14 0x8D
-#define I_15 0x8E
-#define I_16 0x8F
-
-#define J_1 0x90
-#define J_2 0x91
-#define J_3 0x92
-#define J_4 0x93
-#define J_5 0x94
-#define J_6 0x95
-#define J_7 0x96
-#define J_8 0x97
-#define J_9 0x98
-#define J_10 0x99
-#define J_11 0x9A
-#define J_12 0x9B
-#define J_13 0x9C
-#define J_14 0x9D
-#define J_15 0x9E
-#define J_16 0x9F
-
-#define K_1 0xA0
-#define K_2 0xA1
-#define K_3 0xA2
-#define K_4 0xA3
-#define K_5 0xA4
-#define K_6 0xA5
-#define K_7 0xA6
-#define K_8 0xA7
-#define K_9 0xA8
-#define K_10 0xA9
-#define K_11 0xAA
-#define K_12 0xAB
-#define K_13 0xAC
-#define K_14 0xAD
-#define K_15 0xAE
-#define K_16 0xAF
-
-#define L_1 0xB0
-#define L_2 0xB1
-#define L_3 0xB2
-#define L_4 0xB3
-#define L_5 0xB4
-#define L_6 0xB5
-#define L_7 0xB6
-#define L_8 0xB7
-#define L_9 0xB8
-#define L_10 0xB9
-#define L_11 0xBA
-#define L_12 0xBB
-#define L_13 0xBC
-#define L_14 0xBD
-#define L_15 0xBE
-#define L_16 0xBF
+#define SW1_CS1 0x00
+#define SW1_CS2 0x01
+#define SW1_CS3 0x02
+#define SW1_CS4 0x03
+#define SW1_CS5 0x04
+#define SW1_CS6 0x05
+#define SW1_CS7 0x06
+#define SW1_CS8 0x07
+#define SW1_CS9 0x08
+#define SW1_CS10 0x09
+#define SW1_CS11 0x0A
+#define SW1_CS12 0x0B
+#define SW1_CS13 0x0C
+#define SW1_CS14 0x0D
+#define SW1_CS15 0x0E
+#define SW1_CS16 0x0F
+
+#define SW2_CS1 0x10
+#define SW2_CS2 0x11
+#define SW2_CS3 0x12
+#define SW2_CS4 0x13
+#define SW2_CS5 0x14
+#define SW2_CS6 0x15
+#define SW2_CS7 0x16
+#define SW2_CS8 0x17
+#define SW2_CS9 0x18
+#define SW2_CS10 0x19
+#define SW2_CS11 0x1A
+#define SW2_CS12 0x1B
+#define SW2_CS13 0x1C
+#define SW2_CS14 0x1D
+#define SW2_CS15 0x1E
+#define SW2_CS16 0x1F
+
+#define SW3_CS1 0x20
+#define SW3_CS2 0x21
+#define SW3_CS3 0x22
+#define SW3_CS4 0x23
+#define SW3_CS5 0x24
+#define SW3_CS6 0x25
+#define SW3_CS7 0x26
+#define SW3_CS8 0x27
+#define SW3_CS9 0x28
+#define SW3_CS10 0x29
+#define SW3_CS11 0x2A
+#define SW3_CS12 0x2B
+#define SW3_CS13 0x2C
+#define SW3_CS14 0x2D
+#define SW3_CS15 0x2E
+#define SW3_CS16 0x2F
+
+#define SW4_CS1 0x30
+#define SW4_CS2 0x31
+#define SW4_CS3 0x32
+#define SW4_CS4 0x33
+#define SW4_CS5 0x34
+#define SW4_CS6 0x35
+#define SW4_CS7 0x36
+#define SW4_CS8 0x37
+#define SW4_CS9 0x38
+#define SW4_CS10 0x39
+#define SW4_CS11 0x3A
+#define SW4_CS12 0x3B
+#define SW4_CS13 0x3C
+#define SW4_CS14 0x3D
+#define SW4_CS15 0x3E
+#define SW4_CS16 0x3F
+
+#define SW5_CS1 0x40
+#define SW5_CS2 0x41
+#define SW5_CS3 0x42
+#define SW5_CS4 0x43
+#define SW5_CS5 0x44
+#define SW5_CS6 0x45
+#define SW5_CS7 0x46
+#define SW5_CS8 0x47
+#define SW5_CS9 0x48
+#define SW5_CS10 0x49
+#define SW5_CS11 0x4A
+#define SW5_CS12 0x4B
+#define SW5_CS13 0x4C
+#define SW5_CS14 0x4D
+#define SW5_CS15 0x4E
+#define SW5_CS16 0x4F
+
+#define SW6_CS1 0x50
+#define SW6_CS2 0x51
+#define SW6_CS3 0x52
+#define SW6_CS4 0x53
+#define SW6_CS5 0x54
+#define SW6_CS6 0x55
+#define SW6_CS7 0x56
+#define SW6_CS8 0x57
+#define SW6_CS9 0x58
+#define SW6_CS10 0x59
+#define SW6_CS11 0x5A
+#define SW6_CS12 0x5B
+#define SW6_CS13 0x5C
+#define SW6_CS14 0x5D
+#define SW6_CS15 0x5E
+#define SW6_CS16 0x5F
+
+#define SW7_CS1 0x60
+#define SW7_CS2 0x61
+#define SW7_CS3 0x62
+#define SW7_CS4 0x63
+#define SW7_CS5 0x64
+#define SW7_CS6 0x65
+#define SW7_CS7 0x66
+#define SW7_CS8 0x67
+#define SW7_CS9 0x68
+#define SW7_CS10 0x69
+#define SW7_CS11 0x6A
+#define SW7_CS12 0x6B
+#define SW7_CS13 0x6C
+#define SW7_CS14 0x6D
+#define SW7_CS15 0x6E
+#define SW7_CS16 0x6F
+
+#define SW8_CS1 0x70
+#define SW8_CS2 0x71
+#define SW8_CS3 0x72
+#define SW8_CS4 0x73
+#define SW8_CS5 0x74
+#define SW8_CS6 0x75
+#define SW8_CS7 0x76
+#define SW8_CS8 0x77
+#define SW8_CS9 0x78
+#define SW8_CS10 0x79
+#define SW8_CS11 0x7A
+#define SW8_CS12 0x7B
+#define SW8_CS13 0x7C
+#define SW8_CS14 0x7D
+#define SW8_CS15 0x7E
+#define SW8_CS16 0x7F
+
+#define SW9_CS1 0x80
+#define SW9_CS2 0x81
+#define SW9_CS3 0x82
+#define SW9_CS4 0x83
+#define SW9_CS5 0x84
+#define SW9_CS6 0x85
+#define SW9_CS7 0x86
+#define SW9_CS8 0x87
+#define SW9_CS9 0x88
+#define SW9_CS10 0x89
+#define SW9_CS11 0x8A
+#define SW9_CS12 0x8B
+#define SW9_CS13 0x8C
+#define SW9_CS14 0x8D
+#define SW9_CS15 0x8E
+#define SW9_CS16 0x8F
+
+#define SW10_CS1 0x90
+#define SW10_CS2 0x91
+#define SW10_CS3 0x92
+#define SW10_CS4 0x93
+#define SW10_CS5 0x94
+#define SW10_CS6 0x95
+#define SW10_CS7 0x96
+#define SW10_CS8 0x97
+#define SW10_CS9 0x98
+#define SW10_CS10 0x99
+#define SW10_CS11 0x9A
+#define SW10_CS12 0x9B
+#define SW10_CS13 0x9C
+#define SW10_CS14 0x9D
+#define SW10_CS15 0x9E
+#define SW10_CS16 0x9F
+
+#define SW11_CS1 0xA0
+#define SW11_CS2 0xA1
+#define SW11_CS3 0xA2
+#define SW11_CS4 0xA3
+#define SW11_CS5 0xA4
+#define SW11_CS6 0xA5
+#define SW11_CS7 0xA6
+#define SW11_CS8 0xA7
+#define SW11_CS9 0xA8
+#define SW11_CS10 0xA9
+#define SW11_CS11 0xAA
+#define SW11_CS12 0xAB
+#define SW11_CS13 0xAC
+#define SW11_CS14 0xAD
+#define SW11_CS15 0xAE
+#define SW11_CS16 0xAF
+
+#define SW12_CS1 0xB0
+#define SW12_CS2 0xB1
+#define SW12_CS3 0xB2
+#define SW12_CS4 0xB3
+#define SW12_CS5 0xB4
+#define SW12_CS6 0xB5
+#define SW12_CS7 0xB6
+#define SW12_CS8 0xB7
+#define SW12_CS9 0xB8
+#define SW12_CS10 0xB9
+#define SW12_CS11 0xBA
+#define SW12_CS12 0xBB
+#define SW12_CS13 0xBC
+#define SW12_CS14 0xBD
+#define SW12_CS15 0xBE
+#define SW12_CS16 0xBF
diff --git a/keyboards/input_club/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c
index e97007fc70..85bdc7ea73 100644
--- a/keyboards/input_club/k_type/k_type.c
+++ b/keyboards/input_club/k_type/k_type.c
@@ -21,133 +21,133 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include "is31fl3733-dual.h"
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
- { 0, B_15, A_15, C_15 },
- { 0, B_16, A_16, C_16 },
-
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
- { 0, E_15, D_15, F_15 },
- { 0, E_16, D_16, F_16 },
-
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_13, G_13, I_13 },
- { 0, H_14, G_14, I_14 },
- { 0, H_15, G_15, I_15 },
- { 0, H_16, G_16, I_16 },
-
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
- { 0, K_15, J_15, L_15 },
- { 0, K_16, J_16, L_16 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
// Driver 2 is on I2C2
- { 1, B_1, A_1, C_1 },
- { 1, B_2, A_2, C_2 },
- { 1, B_3, A_3, C_3 },
- { 1, B_4, A_4, C_4 },
- { 1, B_5, A_5, C_5 },
- { 1, B_6, A_6, C_6 },
- { 1, B_7, A_7, C_7 },
- { 1, B_8, A_8, C_8 },
- { 1, B_9, A_9, C_9 },
- { 1, B_10, A_10, C_10 },
- { 1, B_11, A_11, C_11 },
- { 1, B_12, A_12, C_12 },
- { 1, B_13, A_13, C_13 },
- { 1, B_14, A_14, C_14 },
- { 1, B_15, A_15, C_15 },
- { 1, B_16, A_16, C_16 },
-
- { 1, E_1, D_1, F_1 },
- { 1, E_2, D_2, F_2 },
- { 1, E_3, D_3, F_3 },
- { 1, E_4, D_4, F_4 },
- { 1, E_5, D_5, F_5 },
- { 1, E_6, D_6, F_6 },
- { 1, E_7, D_7, F_7 },
- { 1, E_8, D_8, F_8 },
- { 1, E_9, D_9, F_9 },
- { 1, E_10, D_10, F_10 },
- { 1, E_11, D_11, F_11 },
- { 1, E_12, D_12, F_12 },
- { 1, E_13, D_13, F_13 },
- { 1, E_14, D_14, F_14 },
- { 1, E_15, D_15, F_15 },
- { 1, E_16, D_16, F_16 },
-
- { 1, H_1, G_1, I_1 },
- { 1, H_2, G_2, I_2 },
- { 1, H_3, G_3, I_3 },
- { 1, H_4, G_4, I_4 },
- { 1, H_5, G_5, I_5 },
- { 1, H_6, G_6, I_6 },
- { 1, H_7, G_7, I_7 },
- { 1, H_8, G_8, I_8 },
- { 1, H_9, G_9, I_9 },
- { 1, H_10, G_10, I_10 },
- { 1, H_11, G_11, I_11 },
- { 1, H_12, G_12, I_12 },
- { 1, H_13, G_13, I_13 },
- { 1, H_14, G_14, I_14 },
- { 1, H_15, G_15, I_15 },
- { 1, H_16, G_16, I_16 },
-
- { 1, K_1, J_1, L_1 },
- { 1, K_2, J_2, L_2 },
- { 1, K_3, J_3, L_3 },
- { 1, K_4, J_4, L_4 },
- { 1, K_5, J_5, L_5 },
- { 1, K_6, J_6, L_6 },
- { 1, K_7, J_7, L_7 }
+ { 1, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 1, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 1, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 1, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 1, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 1, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 1, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 1, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 1, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 1, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 1, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 1, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 1, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 1, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 1, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 1, SW2_CS16, SW1_CS16, SW3_CS16 },
+
+ { 1, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 1, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 1, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 1, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 1, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 1, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 1, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 1, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 1, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 1, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 1, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 1, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 1, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 1, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 1, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 1, SW5_CS16, SW4_CS16, SW6_CS16 },
+
+ { 1, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 1, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 1, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 1, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 1, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 1, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 1, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 1, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 1, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 1, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 1, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 1, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 1, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 1, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 1, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 1, SW8_CS16, SW7_CS16, SW9_CS16 },
+
+ { 1, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 1, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 1, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 1, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 1, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 1, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 1, SW11_CS7, SW10_CS7, SW12_CS7 }
};
led_config_t g_led_config = {
@@ -201,14 +201,6 @@ led_config_t g_led_config = {
}
};
-void keyboard_pre_init_kb(void) {
- // Turn on LED controller
- setPinOutput(B16);
- writePinHigh(B16);
-
- keyboard_pre_init_user();
-}
-
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
deleted file mode 100644
index c40495c8de..0000000000
--- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2021 Andrew Fahmy
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#ifdef RGB_MATRIX_ENABLE
-// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINDROPS
-
-// # define DEBUG_MATRIX_SCAN_RATE
-
-# define RGB_MATRIX_LED_FLUSH_LIMIT 100
-// # define RGB_MATRIX_LED_PROCESS_LIMIT 2
-
-// i2c_master defines
-# define I2C_COUNT 2
-
-# define I2C1_BANK GPIOB
-# define I2C1_SCL 0 // A2 on pinout = B0
-# define I2C1_SDA 1 // A2 on pinout = B1
-# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define USE_I2C2
-# define I2C2_BANK GPIOC
-# define I2C2_SCL 10 // A2 on pinout = C10
-# define I2C2_SDA 11 // A2 on pinout = C11
-# define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define DRIVER_ADDR_1 0b1010000
-# define DRIVER_ADDR_2 0b1010000
-# define DRIVER_COUNT 2
-# define DRIVER_1_LED_TOTAL 64
-# define DRIVER_2_LED_TOTAL 55
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c b/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c
deleted file mode 100644
index 264c760414..0000000000
--- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 Andrew Fahmy
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAIN,
- _L1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, _______, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_L1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-void keyboard_post_init_user(void) {
- // Customise these values to desired behaviour
- // debug_enable=true;
- // debug_matrix=true;
- // debug_keyboard=true;
- // debug_mouse=true;
-}
-
-#ifdef RGB_MATRIX_ENABLE
-// Turn off SDB
-void keyboard_pre_init_user(void) {
- palSetPadMode(GPIOB, 16, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPad(GPIOB, 16);
-}
-
-#endif
diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk b/keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk
deleted file mode 100644
index aad92997d0..0000000000
--- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/input_club/k_type/keymaps/belak/keymap.c b/keyboards/input_club/k_type/keymaps/belak/keymap.c
deleted file mode 100644
index 1d47acb129..0000000000
--- a/keyboards/input_club/k_type/keymaps/belak/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QW,
- _L1
-};
-
-const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_L1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_L1] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- )
-};
diff --git a/keyboards/input_club/whitefox/config.h b/keyboards/input_club/whitefox/config.h
index 2d6affe84a..664fcf9dc1 100644
--- a/keyboards/input_club/whitefox/config.h
+++ b/keyboards/input_club/whitefox/config.h
@@ -22,8 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* LED matrix driver */
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define LED_MATRIX_LED_COUNT 71
-#define LED_DISABLE_WHEN_USB_SUSPENDED
+#define IS31FL3731_SDB_PIN B16
/* i2c (for LED matrix) */
#define I2C1_CLOCK_SPEED 400000
diff --git a/keyboards/input_club/whitefox/info.json b/keyboards/input_club/whitefox/info.json
index cb578e99b4..0428907fb8 100644
--- a/keyboards/input_club/whitefox/info.json
+++ b/keyboards/input_club/whitefox/info.json
@@ -8,7 +8,30 @@
"device_version": "0.0.1"
},
"led_matrix": {
- "driver": "is31fl3731"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "is31fl3731",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B2", "B3", "B18", "B19", "C0", "C8", "C9", "C10", "C11"],
diff --git a/keyboards/input_club/whitefox/keymaps/matt3o/keymap.c b/keyboards/input_club/whitefox/keymaps/matt3o/keymap.c
deleted file mode 100644
index 76237d4d30..0000000000
--- a/keyboards/input_club/whitefox/keymaps/matt3o/keymap.c
+++ /dev/null
@@ -1,95 +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/>.
-*/
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- AL_FILE = SAFE_RANGE,
- AL_WWW,
- AL_HELP,
- AL_CMD
-};
-
-const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0: Default Layer
- * ,---------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|Ins|
- * |---------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs|Del|
- * |---------------------------------------------------------------|
- * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Enter |PgU|
- * |---------------------------------------------------------------|
- * |Shif| | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD|
- * |---------------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Fn0 |Alt |Gui | |Lef|Dow|Rig|
- * `---------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_GRV, KC_MUTE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSPC, KC_DEL,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT, KC_PGUP,
- KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(2), KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT
- ),
- [1] = LAYOUT(
- KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_DEL , KC_INS ,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_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_PGUP,KC_VOLD,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN,KC_END
- ),
- [2] = LAYOUT(
- KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_NO,
- KC_TRNS,KC_TRNS,AL_WWW ,AL_HELP ,KC_TRNS,AL_CMD ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_NO,
- KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,AL_FILE ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_MAIL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case AL_FILE:
- if (record->event.pressed) {
- host_consumer_send(0x1B4); // AL File Browser
- } else {
- host_consumer_send(0);
- }
- return false;
- case AL_WWW:
- if (record->event.pressed) {
- host_consumer_send(0x196); // AL Internet Browser
- } else {
- host_consumer_send(0);
- }
- return false;
- case AL_HELP:
- if (record->event.pressed) {
- host_consumer_send(0x1A6); // AL Integrated Help Center
- } else {
- host_consumer_send(0);
- }
- return false;
- case AL_CMD:
- if (record->event.pressed) {
- host_consumer_send(0x1A0); // AL Command Line Processor/Run
- } else {
- host_consumer_send(0);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c b/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c
deleted file mode 100644
index 584719ed25..0000000000
--- a/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
-
- /*
- Copyright 2021 Mattia Righetti
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │LCtl│LAlt│LGUI│ Space │RAlt│Lay1│ │ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [0] = LAYOUT_truefox(
- 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_BSLS, _______,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Function layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────â”
- * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼─────┤
- * │ │ │ ↑ │ │ │ │ │ │ │ │ │ │ │Reset│ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼─────┤
- * │ │ ↠│ ↓ │ → │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼─────┤
- * │ │VoU│VoD│VoM│ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼─────┤
- * │ │ │ │ │Lay2│ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴─────┘
- */
- [1] = LAYOUT_truefox(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, MO(2), KC_TRNS, _______, _______, _______
- ),
- /* Third layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │ │1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [2] = LAYOUT_truefox(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk b/keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk
deleted file mode 100644
index 7a421cc9ae..0000000000
--- a/keyboards/input_club/whitefox/keymaps/mattrighetti/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-
-# Keyboard-specific features
-BACKLIGHT_ENABLE = no
-VISUALIZER_ENABLE = no
-
-# Firmware size reduction
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-SPACE_CADET_ENABLE = no
diff --git a/keyboards/input_club/whitefox/keymaps/truefox/keymap.c b/keyboards/input_club/whitefox/keymaps/truefox/keymap.c
deleted file mode 100644
index 2af5467311..0000000000
--- a/keyboards/input_club/whitefox/keymaps/truefox/keymap.c
+++ /dev/null
@@ -1,60 +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/>.
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ~ │ \ │PrS│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Backs│Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Enter │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│GUI │Alt │ │Alt │Fn │ │ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [0] = LAYOUT_65_ansi_blocker_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │Fla│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PrS│ \ │Mut│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Delet│Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Enter │Vl+│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │PgU│Vl-│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│GUI │Alt │ │Alt │Fn │ │Hom│PgD│End│
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [1] = LAYOUT_65_ansi_blocker_split_bs(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- )
-};
diff --git a/keyboards/input_club/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c
index 63c6a49240..773dbd3dc9 100644
--- a/keyboards/input_club/whitefox/whitefox.c
+++ b/keyboards/input_club/whitefox/whitefox.c
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#ifdef LED_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
// The numbers in the comments are the led numbers DXX on the PCB
/* Refer to IS31 manual for these locations
* driver
@@ -65,15 +65,6 @@ led_config_t g_led_config = {
};
#endif
-void keyboard_pre_init_kb(void) {
-#ifdef LED_MATRIX_ENABLE
- // Turn on LED controller
- setPinOutput(B16);
- writePinHigh(B16);
-#endif
- keyboard_pre_init_user();
-}
-
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
diff --git a/keyboards/itstleo/itstleo40/info.json b/keyboards/itstleo/itstleo40/info.json
index 8748072f4f..637f8e5d7e 100644
--- a/keyboards/itstleo/itstleo40/info.json
+++ b/keyboards/itstleo/itstleo40/info.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "combo": false,
"console": false,
"leader": true,
"extrakey": true,
diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h
index 17cd8ea9ab..805f9ad054 100644
--- a/keyboards/jacky_studio/bear_65/config.h
+++ b/keyboards/jacky_studio/bear_65/config.h
@@ -8,5 +8,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define RGBLIGHT_DEFAULT_VAL 50
diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json
index 325bc3c6d7..098817dedb 100644
--- a/keyboards/jacky_studio/bear_65/rev1/info.json
+++ b/keyboards/jacky_studio/bear_65/rev1/info.json
@@ -41,6 +41,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 50
}
},
"indicators": {
diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json
index d853b3a320..52e8354fab 100644
--- a/keyboards/jacky_studio/bear_65/rev2/info.json
+++ b/keyboards/jacky_studio/bear_65/rev2/info.json
@@ -41,6 +41,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 50
}
},
"indicators": {
diff --git a/keyboards/jacky_studio/piggy60/rev2/config.h b/keyboards/jacky_studio/piggy60/rev2/config.h
index fa884d5f18..2747834991 100644
--- a/keyboards/jacky_studio/piggy60/rev2/config.h
+++ b/keyboards/jacky_studio/piggy60/rev2/config.h
@@ -16,12 +16,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 14
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_PWM_PAL_MODE 2
diff --git a/keyboards/jacky_studio/piggy60/rev2/info.json b/keyboards/jacky_studio/piggy60/rev2/info.json
index 6d5db8874f..2a3c7e3313 100644
--- a/keyboards/jacky_studio/piggy60/rev2/info.json
+++ b/keyboards/jacky_studio/piggy60/rev2/info.json
@@ -72,7 +72,8 @@
{"flags": 2, "x": 45, "y": 0},
{"flags": 2, "x": 0, "y": 0},
{"flags": 2, "x": 32, "y": 32}
- ]
+ ],
+ "sleep": true
},
"usb": {
"device_version": "2.0.0",
diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h
index 8e0534fa2c..4d138814be 100644
--- a/keyboards/jadookb/jkb65/config.h
+++ b/keyboards/jadookb/jkb65/config.h
@@ -18,61 +18,5 @@
#define RGB_MATRIX_LED_COUNT 67
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index e097b47ce5..1f5d79032e 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -10,7 +10,58 @@
"pin": "F0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true,
"timeout": 90000
},
"processor": "atmega32u4",
diff --git a/keyboards/jc65/v32u4/keymaps/coth/config.h b/keyboards/jc65/v32u4/keymaps/coth/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/coth/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/coth/keymap.c b/keyboards/jc65/v32u4/keymaps/coth/keymap.c
deleted file mode 100644
index 025c585852..0000000000
--- a/keyboards/jc65/v32u4/keymaps/coth/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LALT, KC_LCTL, KC_LGUI, KC_SPACE, KC_SPACE, KC_SPACE, MO(1), KC_NO, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN2, KC_MS_U, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_HOME, KC_END, KC_DEL, KC_TRNS,
- KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_TRNS, KC_PGUP, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
- ),
- [2] = LAYOUT(
- RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_MOD, RGB_RMOD, BL_STEP, BL_TOGG, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, RGB_HUD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/jc65/v32u4/keymaps/coth/readme.md b/keyboards/jc65/v32u4/keymaps/coth/readme.md
deleted file mode 100644
index 3d621859e7..0000000000
--- a/keyboards/jc65/v32u4/keymaps/coth/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-ChildoftheHorn's Keymap
-===
-
-Layer 1: "HHKB Mac" Split backspace, 6.25u space, caps is cntl
-
-Layer 2: V60++ with mouse controls on WASD
-
-Layer 3: RGB control on number row, LED controls, and Reset
-
-Keymap Maintainer: [Stacy Devino](https://github.com/childofthehorn)
-
-Difference from base layout: Primarily the HHKB-ness
-
-Intended usage: Daily driver for programming
diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h b/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c b/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c
deleted file mode 100644
index 0fca214f77..0000000000
--- a/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include QMK_KEYBOARD_H
-// How long (in ms) to wait between animation steps for the breathing mode
-const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
-
-// How long (in ms) to wait between animation steps for the rainbow mode
-const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {120, 60, 30};
-
-// How long (in ms) to wait between animation steps for the swirl mode
-const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {30, 20, 3};
-
-// How long (in ms) to wait between animation steps for the snake mode
-const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 50, 20};
-
-// How long (in ms) to wait between animation steps for the knight modes
-const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63, 31};
-
-// These control which colors are selected for the gradient mode
-const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_SPACE, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_MOD, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_DOWN, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_TOGG, BL_STEP, BL_UP, BL_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MPLY, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/readme.md b/keyboards/jc65/v32u4/keymaps/dead_encryption/readme.md
deleted file mode 100644
index b48075db9f..0000000000
--- a/keyboards/jc65/v32u4/keymaps/dead_encryption/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-Dead's Keymap
-===
-
-Split backspace, 6.25u space, 2 Function Layers, reset + rgb controls on layer(2)
-
-Intended usage: This is my daily driver keymap
-
-===
-
-Encryption Complete \ No newline at end of file
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/config.h b/keyboards/jc65/v32u4/keymaps/gam3cat/config.h
deleted file mode 100644
index e4df94be70..0000000000
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-//Force NKRO to be enabled.
-#define FORCE_NKRO
-
-//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
-#define GRAVE_ESC_CTRL_OVERRIDE
-
-//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
-//#define TAPPING_TERM 200
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
deleted file mode 100644
index e0046073c6..0000000000
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
+++ /dev/null
@@ -1,258 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layers {
- _BL = 0, // Base Layer
- _WL, // Workman Layer
- _NL, // Norman Layer
- _DL, // Dvorak Layer
- _CL, // Base Layer
- _FL, // Function Layer
- _AL, // Adjust Layer
-};
-
-enum custom_keycodes {
- QMK_REV = SAFE_RANGE,
- KC_WEB,
- KC_SP4,
- DYNAMIC_MACRO_RANGE
-};
-
-extern backlight_config_t backlight_config;
-
-#include "dynamic_macro.h"
-#define FN_CAPS LT(_FL, KC_CAPS)
-#define KC_DMR1 DM_REC1
-#define KC_DMR2 DM_REC2
-#define KC_DMP1 DM_PLY1
-#define KC_DMP2 DM_PLY2
-#define KC_DMRS DM_RSTP
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*#### _BL: Base Layer - Mostly standard 65% QWERTY layout.
- * .---------------------------------------------------------------.
- * |GrE|1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|
- * |---------------------------------------------------------------|
- * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|
- * |---------------------------------------------------------------|
- * |FnCaps|A |S |D |F |G |H |J |K |L |; |' |Return |PgU|
- * |---------------------------------------------------------------|
- * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Up |PgD|
- * |---------------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt|
- * *---------------------------------------------------------------*
- */
- [_BL] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*#### _WL: Workman Layer.
- * .---------------------------------------------------------------.
- * | | | | | | | | | | | |- |= | | |
- * |---------------------------------------------------------------|
- * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | |
- * |---------------------------------------------------------------|
- * | |A |S |H |T |G |Y |N |E |O |I |' | | |
- * |---------------------------------------------------------------|
- * | |Z |X |M |C |V |K |L |, |. |/ | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | |
- * *---------------------------------------------------------------*
- */
- [_WL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______,
- _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _NL: Norman Layer.
- * .---------------------------------------------------------------.
- * | | | | | | | | | | | |- |= | | |
- * |---------------------------------------------------------------|
- * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | |
- * |---------------------------------------------------------------|
- * | |A |S |E |T |G |Y |N |I |O |H |' | | |
- * |---------------------------------------------------------------|
- * | |Z |X |C |V |B |P |M |, |. |/ | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | |
- * *---------------------------------------------------------------*
- */
- [_NL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______,
- _______, 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, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _DL: Dvorak Layer.
- * .---------------------------------------------------------------.
- * | | | | | | | | | | | |[ |] | | |
- * |---------------------------------------------------------------|
- * | |' |, |. |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 | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | |
- * *---------------------------------------------------------------*
- */
- [_DL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______,
- _______, 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_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______,
- _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _CL: Colmak Layer.
- * .---------------------------------------------------------------.
- * | | | | | | | | | | | |- |= | | |
- * |---------------------------------------------------------------|
- * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | |
- * |---------------------------------------------------------------|
- * | |A |R |S |T |D |H |N |E |I |O |' | | |
- * |---------------------------------------------------------------|
- * | |Z |X |C |V |B |K |M |, |. |/ | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | |
- * *---------------------------------------------------------------*
- */
- [_CL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______,
- _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______,
- _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*#### _FL: Function Layer.
- * .---------------------------------------------------------------.
- * |Web|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|SLock |PSc|
- * |---------------------------------------------------------------|
- * |Fn_AL| | | | | | | | | | | | | |Pau|
- * |---------------------------------------------------------------|
- * |FnCaps| | | | | |Lft|Dwn|Up |Rgt| | | |Hme|
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | |VlMute|VlU|End|
- * |---------------------------------------------------------------|
- * | | |Menu| SP4 | | |WBk|VlD|WFw|
- * *---------------------------------------------------------------*
- */
- [_FL] = LAYOUT(
- KC_WEB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SCRL, KC_PSCR,
- MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_END,
- XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, KC_SP4, KC_SP4, XXXXXXX, XXXXXXX, XXXXXXX, KC_WBAK, KC_VOLD, KC_WFWD
- ),
- /*#### _AL: Adjust Layer - Keymap select, RGB Underglow, LED backlight, and Dynamic Macro settings.
- * .---------------------------------------------------------------.
- * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1|
- * |---------------------------------------------------------------|
- * |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1|
- * |---------------------------------------------------------------|
- * |FnCaps| | |_DL| | | | | | | | | |MS |
- * |---------------------------------------------------------------|
- * | | | |_CL| |_BL|_NL| | | | | | |MR2|
- * |---------------------------------------------------------------|
- * |Rst | | | | | | | |MP2|
- * *---------------------------------------------------------------*
- */
- [_AL] = LAYOUT(
- QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DOWN, BL_UP, XXXXXXX, XXXXXXX, KC_DMP1,
- _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1,
- _______, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR2,
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMP2
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMK_REV:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
- }
- return false;
- break;
- case KC_WEB:
- if (record->event.pressed) {
- SEND_STRING(SS_LGUI("r"));
- wait_ms(100);
- SEND_STRING("chrome.exe https://geekhack.org/index.php?topic=86756.new;topicseen#new\n");
- }
- return false;
- break;
- case KC_SP4:
- if (record->event.pressed) {
- SEND_STRING (" ");
- }
- return false;
- break;
- }
- // Dynamic Macros.
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
-
-void custom_backlight_level(uint8_t level) {
- if (level > BACKLIGHT_LEVELS)
- level = BACKLIGHT_LEVELS;
- backlight_config.level = level;
- backlight_config.enable = !!backlight_config.level;
- backlight_set(backlight_config.level);
-}
-
-void matrix_init_user(void) {
- #ifdef BACKLIGHT_ENABLE
- custom_backlight_level(0);
- #endif
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- rgblight_sethsv_noeeprom(180,100,100);
- #endif
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _BL:
- custom_backlight_level(0);
- rgblight_sethsv_noeeprom(180,100,255);
- break;
- case _WL:
- custom_backlight_level(1);
- rgblight_sethsv_noeeprom(180,95,240);
- break;
- case _NL:
- custom_backlight_level(1);
- rgblight_sethsv_noeeprom(180,90,225);
- break;
- case _DL:
- custom_backlight_level(1);
- rgblight_sethsv_noeeprom(180,85,210);
- break;
- case _CL:
- custom_backlight_level(1);
- rgblight_sethsv_noeeprom(180,80,195);
- break;
- case _FL:
- custom_backlight_level(2);
- rgblight_sethsv_noeeprom(230,255,255);
- break;
- case _AL:
- custom_backlight_level(3);
- rgblight_sethsv_noeeprom(250,255,255);
- break;
- default:
- custom_backlight_level(0);
- rgblight_sethsv_noeeprom(180,100,100);
- break;
- }
- return state;
-}
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md b/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md
deleted file mode 100644
index e79ce4ff7f..0000000000
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/readme.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# Keymap Maintainer: Gam3cat
-make jc65/v32u4:gam3cat
-## Layout Config:
-2u backspace, 2.25u left shift/enter, 1.75u right shift.
-(2x1.5u, 1x7.0u, 2x1.5u, 3x1u), (3x1.25u, 1x6.25u, 2x1.5u, 3x1u), or
-(3x1.25u, 1x6.25u, 6x1u) bottom row.
-
- FN_CAPS = MO(_FL) when held, CAPS when tapped.
- GRAVE_ESC + GUI = `
- GRAVE_ESC + SHIFT = ~
-
-## Base Layer Selection:
-(Caps+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
-
-### Base Layer Options:
-#### _BL: Base Layer - Mostly standard 65% QWERTY layout.
- .---------------------------------------------------------------.
- |GrE|1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|
- |---------------------------------------------------------------|
- |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|
- |---------------------------------------------------------------|
- |FnCaps|A |S |D |F |G |H |J |K |L |; |' |Return |PgU|
- |---------------------------------------------------------------|
- |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Up |PgD|
- |---------------------------------------------------------------|
- |Ctrl|Gui |Alt | Space |RAlt |Ctrl |Lft|Dwn|Rgt|
- *---------------------------------------------------------------*
-
-#### _WL: Workman Layer.
- .---------------------------------------------------------------.
- | | | | | | | | | | | |- |= | | |
- |---------------------------------------------------------------|
- | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | |
- |---------------------------------------------------------------|
- | |A |S |H |T |G |Y |N |E |O |I |' | | |
- |---------------------------------------------------------------|
- | |Z |X |M |C |V |K |L |, |. |/ | | | |
- |---------------------------------------------------------------|
- | | | | | | | | | |
- *---------------------------------------------------------------*
-
-#### _NL: Norman Layer.
- .---------------------------------------------------------------.
- | | | | | | | | | | | |- |= | | |
- |---------------------------------------------------------------|
- | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | |
- |---------------------------------------------------------------|
- | |A |S |E |T |G |Y |N |I |O |H |' | | |
- |---------------------------------------------------------------|
- | |Z |X |C |V |B |P |M |, |. |/ | | | |
- |---------------------------------------------------------------|
- | | | | | | | | | |
- *---------------------------------------------------------------*
-
-#### _DL: Dvorak Layer.
- .---------------------------------------------------------------.
- | | | | | | | | | | | |[ |] | | |
- |---------------------------------------------------------------|
- | |' |, |. |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 | | | |
- |---------------------------------------------------------------|
- | | | | | | | | | |
- *---------------------------------------------------------------*
-
-#### _CL: Colmak Layer.
- .---------------------------------------------------------------.
- | | | | | | | | | | | |- |= | | |
- |---------------------------------------------------------------|
- | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | |
- |---------------------------------------------------------------|
- | |A |R |S |T |D |H |N |E |I |O |' | | |
- |---------------------------------------------------------------|
- | |Z |X |C |V |B |K |M |, |. |/ | | | |
- |---------------------------------------------------------------|
- | | | | | | | | | |
- *---------------------------------------------------------------*
-
-#### _FL: Function Layer.
- .---------------------------------------------------------------.
- |Web|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|SLock |PSc|
- |---------------------------------------------------------------|
- |Fn_AL| | | | | | | | | | | | | |Pau|
- |---------------------------------------------------------------|
- |FnCaps| | | | | |Lft|Dwn|Up |Rgt| | | |Hme|
- |---------------------------------------------------------------|
- | | | | | | | | | | | |VlMute|VlU|End|
- |---------------------------------------------------------------|
- | | |Menu| SP4 | | |WBk|VlD|WFw|
- *---------------------------------------------------------------*
-
-#### _AL: Adjust Layer - Keymap select, RGB Underglow, LED backlight, and Dynamic Macro settings.
- .---------------------------------------------------------------.
- |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| |MP1|
- |---------------------------------------------------------------|
- |Fn_AL|_BL|_WL| | | | | | | | | | | |MR1|
- |---------------------------------------------------------------|
- |FnCaps| | |_DL| | | | | | | | | |MS |
- |---------------------------------------------------------------|
- | | | |_CL| |_BL|_NL| | | | | | |MR2|
- |---------------------------------------------------------------|
- |Rst | | | | | | | |MP2|
- *---------------------------------------------------------------*
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk b/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
deleted file mode 100644
index 5ff16d4710..0000000000
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/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
-#
-TAP_DANCE_ENABLE = no # Enable TapDance functionality
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+1500)
-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 # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = no # Enable extended unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6#VARIABLE_TRACE = no # Use this to debug changes to variable values
-KEY_LOCK_ENABLE = no # This enables key lock(+260)
-SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/config.h b/keyboards/jc65/v32u4/keymaps/na7thana/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/na7thana/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c b/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c
deleted file mode 100644
index 70ae80044d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSLS, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
- KC_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_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LALT, KC_LALT, KC_SPACE, KC_SPACE, KC_SPACE, KC_SPACE, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_DEL, KC_TRNS,
- KC_CAPS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_VOLU, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_VOLD, KC_TRNS
- ),
-};
diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/readme.md b/keyboards/jc65/v32u4/keymaps/na7thana/readme.md
deleted file mode 100644
index 13430a630b..0000000000
--- a/keyboards/jc65/v32u4/keymaps/na7thana/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-Default Keymap
-===
-
-Super simple default keymap with only a base layer.
-
-Keymap Maintainer: [Ethan Madden](https://github.com/jetpacktuxedo)
-
-Difference from base layout: This is (as close as I can tell) the same as the layout that ships on the boards other than default underglow color.
-
-Intended usage: This is mostly provided for testing before you build your own keymap and as a reference to a stock(ish) configuration
diff --git a/keyboards/jd40/keymaps/vanagon/README.md b/keyboards/jd40/keymaps/vanagon/README.md
deleted file mode 100644
index 09a4e23a6e..0000000000
--- a/keyboards/jd40/keymaps/vanagon/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-Vanagon
-===
-Port of [evangs'](https://thevankeyboards.com) [MiniVan layout](https://www.massdrop.com/talk/115/where-did-all-my-keys-go-a-look-into-the-function-layers-of-the-mini-van) to the JD40. Includes colon/semicolon support, which is missing from the MiniVan layout.
-
-This layout uses a 44 key configuration similar to the following:
-
-```
-,------+------+------+------+------+------+------+------+------+------+------+------.
-| | | | | | | | | | | | |
-|------`------`------`------`------`------`------`------`------`------`------`------|
-| | | | | | | | | | | |
-|-------`------`------`------`------`------`------`------`------`------`------------|
-| | | | | | | | | | | |
-|---------`------`------`------`------`------'-------`------`------`------`---------|
-| | | | | | | | | | |
-`------+------+------+-------+----^^^-----+----^^^-----+-------+------+------+------'
-```
diff --git a/keyboards/jd40/keymaps/vanagon/config.h b/keyboards/jd40/keymaps/vanagon/config.h
deleted file mode 100644
index ed09b50ee4..0000000000
--- a/keyboards/jd40/keymaps/vanagon/config.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "../../config.h"
-
-#define LAYOUT_VANAGON(\
- 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 \
-) { \
- { 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, KC_NO, K40, K41, K42, K43, K44 } \
-}
diff --git a/keyboards/jd40/keymaps/vanagon/keymap.c b/keyboards/jd40/keymaps/vanagon/keymap.c
deleted file mode 100644
index 5f1cfc3579..0000000000
--- a/keyboards/jd40/keymaps/vanagon/keymap.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-enum
-{
- _BL = 0,
- _AL1,
- _AL2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL] = LAYOUT_VANAGON(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(_AL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MO(_AL1),
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- MO(_AL2), KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, KC_RALT, SC_RSPC, MO(_AL2)),
- [_AL1] = LAYOUT_VANAGON(
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_TRNS,
- KC_TRNS, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_COLN, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_ESC, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_AL2] = LAYOUT_VANAGON(
- KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_TRNS, KC_PIPE, KC_DQT, KC_UNDS, KC_PLUS, KC_SCLN, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
diff --git a/keyboards/jd45/keymaps/mjt6u/config.h b/keyboards/jd45/keymaps/mjt6u/config.h
deleted file mode 100644
index 41d1557c6f..0000000000
--- a/keyboards/jd45/keymaps/mjt6u/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define USB_MAX_POWER_CONSUMPTION 50
diff --git a/keyboards/jd45/keymaps/mjt6u/keymap.c b/keyboards/jd45/keymaps/mjt6u/keymap.c
deleted file mode 100644
index 30c6daaf39..0000000000
--- a/keyboards/jd45/keymaps/mjt6u/keymap.c
+++ /dev/null
@@ -1,153 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum jd45_layers
-{
- _QWERTY,
- _QWERTYNUMMODS,
- _NUMSYM,
- _FUNCTION,
- _NUMPAD,
- _FKEYNUMPAD,
- _ADJUST
-};
-
-enum jd45_keycodes
-{
- NUMSYM = SAFE_RANGE,
- MACSLEEP,
- USEFNMODS,
- USENUMMODS,
- DYNAMIC_MACRO_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-#define LONGPRESS_DELAY 150
-#define LAYER_TOGGLE_DELAY 900
-
-#define __MOD__ KC_TRNS
-#define F_FNSPC LT(_NUMSYM, KC_SPC)
-#define F_NUMSPC LT(_NUMPAD, KC_SPC)
-#define F_FNTAB LT(_FUNCTION, KC_TAB)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT),
- XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, F_FNSPC, XXXXXXX, MO(_FUNCTION), MO(_ADJUST), XXXXXXX
- ),
-
- [_QWERTYNUMMODS] = LAYOUT(
- F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT),
- XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, F_NUMSPC, XXXXXXX, MO(_FKEYNUMPAD), MO(_ADJUST), XXXXXXX
- ),
-
- [_NUMSYM] = 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,
- __MOD__, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, KC_SPC, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
- XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX
- ),
-
- [_FUNCTION] = LAYOUT(
- __MOD__, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- __MOD__, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX
- ),
-
- [_NUMPAD] = LAYOUT(
- KC_GRV, _______, KC_UP, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_PSCR, KC_LBRC, KC_RBRC,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_4, KC_5, KC_6, KC_INS, KC_HOME, KC_PGUP, _______, _______,
- _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_DEL, KC_END, KC_PGDN, _______, _______,
- XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX
- ),
-
- [_FKEYNUMPAD] = LAYOUT(
- _______, _______, KC_VOLU, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, _______,
- _______, KC_MPRV, KC_VOLD, KC_MNXT, KC_F4, KC_F5, KC_F6, KC_J, KC_K, KC_L, KC_SCLN, _______,
- _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_MUTE, KC_MPRV, KC_MNXT, KC_MSTP, _______,
- XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX
- ),
-
- [_ADJUST] = LAYOUT(
- _______, QK_BOOT, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, USEFNMODS, _______, _______, DM_PLY1, DM_PLY2, MACSLEEP, _______, _______,
- _______, _______, _______, _______, _______, _______, USENUMMODS, _______, _______, _______, _______, _______,
- XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX
- )
-};
-
-void persistent_default_layer_set(uint16_t default_layer)
-{
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-static bool singular_key = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
- uint16_t macro_kc = (keycode == MO(_ADJUST) ? DM_RSTP : keycode);
- if (!process_record_dynamic_macro(macro_kc, record))
- {
- return false;
- }
- println(" ");
- print("process record");
-
- switch (keycode)
- {
- case MACSLEEP:
- if (record->event.pressed)
- {
- // ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_PWR);
- register_code(KC_RSFT);
- register_code(KC_RCTL);
- register_code(KC_PWR);
- unregister_code(KC_PWR);
- unregister_code(KC_RCTL);
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- case USEFNMODS:
- if (record->event.pressed)
- {
- persistent_default_layer_set(1UL << _QWERTY);
-#ifdef AUDIO_ENABLE
- PLAY_SONG(tone_fnpc);
-#endif
- print("Space-FN");
- }
- return false;
- break;
- case USENUMMODS:
- if (record->event.pressed)
- {
- persistent_default_layer_set(1UL << _QWERTYNUMMODS);
-#ifdef AUDIO_ENABLE
- PLAY_SONG(tone_fnmac);
-#endif
- print("Space-Numpad");
- }
- return false;
- break;
- default:
- singular_key = false;
- break;
- }
-
- return true;
-};
-
-void matrix_init_user(void)
-{
-#ifdef AUDIO_ENABLE
- startup_user();
-#endif
- // debug_enable = true;
-}
diff --git a/keyboards/jd45/keymaps/mjt6u/readme.md b/keyboards/jd45/keymaps/mjt6u/readme.md
deleted file mode 100644
index a43ddf5fca..0000000000
--- a/keyboards/jd45/keymaps/mjt6u/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Mike's JD45 with 6u Spacebar
-
-- Early draft of numsym that misses a lot of symbols
-- Numpad layer available for evaluation
-- Works with iPhone Camera Adapter
-- Dynamic macros
-
-## Layers
-
-Qwerty for letters and mods.
-
-Qwertymods layer switches some Modifiers around
-
-Numsym puts the number keys across the top row like a Planck. Arrows are on hjkl
-which makes the other NumSym dynamic from my other boards fall apart
-
-Function layer replaces the top row numbers with Fkeys.
-
-Numpad layer makes a number pad in the center.
-
-Fkeynumpad replaces the numpad numbers with Fkeys.
-
-Adjust layer has macros and configuration.
diff --git a/keyboards/jd45/keymaps/mjt6u/rules.mk b/keyboards/jd45/keymaps/mjt6u/rules.mk
deleted file mode 100644
index 1d2e0f09e1..0000000000
--- a/keyboards/jd45/keymaps/mjt6u/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 # Enable Bootmagic Lite
-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 = 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
-
-DEBUG_ENABLE = yes
-
diff --git a/keyboards/jels/jels60/v2/config.h b/keyboards/jels/jels60/v2/config.h
index 02d9619a30..274e7fcf62 100644
--- a/keyboards/jels/jels60/v2/config.h
+++ b/keyboards/jels/jels60/v2/config.h
@@ -16,9 +16,6 @@
#pragma once
-#define WS2812_PIO_USE_PIO1
-#define RGBLIGHT_DEFAULT_VAL 0
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/jels/jels60/v2/info.json b/keyboards/jels/jels60/v2/info.json
index 1945b101cf..69ec00193a 100644
--- a/keyboards/jels/jels60/v2/info.json
+++ b/keyboards/jels/jels60/v2/info.json
@@ -31,6 +31,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "val": 0
}
},
"indicators": {
diff --git a/keyboards/jels/jels88/config.h b/keyboards/jels/jels88/config.h
index 0b1d115495..2d5641fa69 100644
--- a/keyboards/jels/jels88/config.h
+++ b/keyboards/jels/jels88/config.h
@@ -16,8 +16,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_VAL 0 // start off
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/jels/jels88/info.json b/keyboards/jels/jels88/info.json
index cc8e525525..598075fd42 100644
--- a/keyboards/jels/jels88/info.json
+++ b/keyboards/jels/jels88/info.json
@@ -34,6 +34,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 0
}
},
"processor": "atmega32u4",
diff --git a/keyboards/jian/keymaps/default/config.h b/keyboards/jian/keymaps/default/config.h
deleted file mode 100644
index 314836a54d..0000000000
--- a/keyboards/jian/keymaps/default/config.h
+++ /dev/null
@@ -1,20 +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
diff --git a/keyboards/jian/keymaps/left_hand/config.h b/keyboards/jian/keymaps/left_hand/config.h
deleted file mode 100644
index cae66a5c3a..0000000000
--- a/keyboards/jian/keymaps/left_hand/config.h
+++ /dev/null
@@ -1,21 +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
-
diff --git a/keyboards/jian/keymaps/via/config.h b/keyboards/jian/keymaps/via/config.h
deleted file mode 100644
index cae66a5c3a..0000000000
--- a/keyboards/jian/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +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
-
diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h
index 5025847259..7df400367f 100644
--- a/keyboards/jian/nsrev2/config.h
+++ b/keyboards/jian/nsrev2/config.h
@@ -22,14 +22,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_TIMER
#ifndef IOS_DEVICE_ENABLE
-#if RGBLED_NUM <= 6
+#if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 130
#endif
#define RGBLIGHT_VAL_STEP 8
#else
-#if RGBLED_NUM <= 6
+#if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/jian/rev1/post_config.h b/keyboards/jian/rev1/post_config.h
index fade065e19..935d0d1f01 100644
--- a/keyboards/jian/rev1/post_config.h
+++ b/keyboards/jian/rev1/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 8
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/jian/rev2/post_config.h b/keyboards/jian/rev2/post_config.h
index fade065e19..935d0d1f01 100644
--- a/keyboards/jian/rev2/post_config.h
+++ b/keyboards/jian/rev2/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 8
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c b/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c
deleted file mode 100644
index e10df7ce08..0000000000
--- a/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
- * Copyright 2021 Jaehee <ljh34210329@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 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
-
-char ascii = 0;
-
-enum custom_keycodes {
- BIN_0 = SAFE_RANGE,
- BIN_1,
- BIN_RETURN
-};
-
-enum layers {
- _BASE = 0
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- BIN_0, BIN_1,
- BIN_RETURN
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case BIN_0:
- if (record->event.pressed) {
- ascii = ascii << 1;
- }
-
- return true;
- case BIN_1:
- if (record->event.pressed) {
- ascii = ascii << 1;
- ++ascii;
- }
-
- return true;
- case BIN_RETURN:
- if (record->event.pressed) {
- char str[2] = { ascii & 127, '\0' };
-
- send_string(str);
-
- ascii = 0;
- }
-
- return true;
- default:
- return true;
- }
-
- return true;
-}
diff --git a/keyboards/jkeys_design/gentleman65/config.h b/keyboards/jkeys_design/gentleman65/config.h
deleted file mode 100644
index 70ddb0cf5a..0000000000
--- a/keyboards/jkeys_design/gentleman65/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Omar Afzal
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 14
diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/info.json
index bd929c6faa..734916fb40 100644
--- a/keyboards/jkeys_design/gentleman65/info.json
+++ b/keyboards/jkeys_design/gentleman65/info.json
@@ -26,9 +26,6 @@
"ws2812": {
"pin": "F4"
},
- "rgb_matrix": {
- "driver": "ws2812"
- },
"matrix_pins": {
"cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "D5", "C7", "F0", "B2", "B1", "B3", "B0", "B7", "D0"],
"rows": ["D3", "D2", "D1", "F7", "F1"]
diff --git a/keyboards/jkeys_design/gentleman65_se_s/config.h b/keyboards/jkeys_design/gentleman65_se_s/config.h
deleted file mode 100644
index 70ddb0cf5a..0000000000
--- a/keyboards/jkeys_design/gentleman65_se_s/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Omar Afzal
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 14
diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/info.json
index 76d6b445dc..b19e5ef9a3 100644
--- a/keyboards/jkeys_design/gentleman65_se_s/info.json
+++ b/keyboards/jkeys_design/gentleman65_se_s/info.json
@@ -26,9 +26,6 @@
"ws2812": {
"pin": "F7"
},
- "rgb_matrix": {
- "driver": "ws2812"
- },
"matrix_pins": {
"cols": ["D5", "D3", "D2", "D1", "D0", "B7", "B2", "B3", "D4", "D6", "D7", "C7", "C6", "B6", "B5", "B4"],
"rows": ["F0", "F1", "F4", "F5", "F6"]
diff --git a/keyboards/jm60/keymaps/default/keymap.c b/keyboards/jm60/keymaps/default/keymap.c
deleted file mode 100644
index 2bb26fccf6..0000000000
--- a/keyboards/jm60/keymaps/default/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BL,
- _FL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
- * `-----------------------------------------------------------'
- */
- [_BL] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_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, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL
- ),
-
- /* Keymap _FL: Function Layer
- */
- [_FL] = LAYOUT_60_ansi(
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/jm60/readme.md b/keyboards/jm60/readme.md
deleted file mode 100644
index bb790d6d07..0000000000
--- a/keyboards/jm60/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# JM60
-
-A compact 60% keyboard with full RGB led support.
-
-* Keyboard Maintainer: QMK Community
-* Hardware Supported: JM60
-* Hardware Availability: https://kbdfans.myshopify.com/ (is no longer sold)
-
-Make example for this keyboard (after setting up your build environment):
-
- make jm60: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).
-
-## Flashing Instructions
-
-1) rename 'jm60_default.bin' to 'jm60_default.firmware'
-
-2) Press 'R' and reconnect the keyboard.
-
-3) Start the original Configuration Tool and flash 'jm60_default.bin'
diff --git a/keyboards/jorne/post_config.h b/keyboards/jorne/post_config.h
index 8da923087e..7d159c0de2 100644
--- a/keyboards/jorne/post_config.h
+++ b/keyboards/jorne/post_config.h
@@ -2,18 +2,18 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#ifndef BOOTMAGIC_LITE_ROW
-# define BOOTMAGIC_LITE_ROW 0
+#ifndef BOOTMAGIC_ROW
+# define BOOTMAGIC_ROW 0
#endif
-#ifndef BOOTMAGIC_LITE_COLUMN
-# define BOOTMAGIC_LITE_COLUMN 1
+#ifndef BOOTMAGIC_COLUMN
+# define BOOTMAGIC_COLUMN 1
#endif
-#ifndef BOOTMAGIC_LITE_ROW_RIGHT
-# define BOOTMAGIC_LITE_ROW_RIGHT 4
+#ifndef BOOTMAGIC_ROW_RIGHT
+# define BOOTMAGIC_ROW_RIGHT 4
#endif
-#ifndef BOOTMAGIC_LITE_COLUMN_RIGHT
-# define BOOTMAGIC_LITE_COLUMN_RIGHT 1
+#ifndef BOOTMAGIC_COLUMN_RIGHT
+# define BOOTMAGIC_COLUMN_RIGHT 1
#endif
#ifdef RGBLIGHT_ENABLE
@@ -21,9 +21,3 @@
# define RGBLIGHT_LIMIT_VAL 120
# endif
#endif
-
-#ifdef RGB_MATRIX_ENABLE
-# ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-# endif
-#endif
diff --git a/keyboards/hub16/config.h b/keyboards/joshajohnson/hub16/config.h
index 68576635a8..68576635a8 100755
--- a/keyboards/hub16/config.h
+++ b/keyboards/joshajohnson/hub16/config.h
diff --git a/keyboards/hub16/info.json b/keyboards/joshajohnson/hub16/info.json
index 920b42feec..920b42feec 100644
--- a/keyboards/hub16/info.json
+++ b/keyboards/joshajohnson/hub16/info.json
diff --git a/keyboards/hub16/keymaps/default/keymap.c b/keyboards/joshajohnson/hub16/keymaps/default/keymap.c
index efe10d3743..efe10d3743 100755
--- a/keyboards/hub16/keymaps/default/keymap.c
+++ b/keyboards/joshajohnson/hub16/keymaps/default/keymap.c
diff --git a/keyboards/hub16/keymaps/via/keymap.c b/keyboards/joshajohnson/hub16/keymaps/via/keymap.c
index 1f5a4d4b12..1f5a4d4b12 100755
--- a/keyboards/hub16/keymaps/via/keymap.c
+++ b/keyboards/joshajohnson/hub16/keymaps/via/keymap.c
diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/rules.mk b/keyboards/joshajohnson/hub16/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/rules.mk
+++ b/keyboards/joshajohnson/hub16/keymaps/via/rules.mk
diff --git a/keyboards/hub16/matrix.c b/keyboards/joshajohnson/hub16/matrix.c
index 4f32070e66..4f32070e66 100644
--- a/keyboards/hub16/matrix.c
+++ b/keyboards/joshajohnson/hub16/matrix.c
diff --git a/keyboards/joshajohnson/hub16/readme.md b/keyboards/joshajohnson/hub16/readme.md
new file mode 100755
index 0000000000..9735079e24
--- /dev/null
+++ b/keyboards/joshajohnson/hub16/readme.md
@@ -0,0 +1,24 @@
+# Hub16
+
+Hub16 is a 16 Key Macro Pad with an inbuilt USB 2.0 hub and dual rotary encoders.
+
+For more information regarding the keyboard, please visit the [Hub16 Website](https://www.joshajohnson.com/hub16-keyboard/) or [GitHub Repo](https://github.com/joshajohnson/Hub16).
+
+* Keyboard Maintainer: [Josh Johnson](https://github.com/joshajohnson)
+* Hardware Supported: Hub16 PCB (atmega32u4)
+* Hardware Availability: [Josh Johnson](https://www.joshajohnson.com/hub16-keyboard/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make joshajohnson/hub16:default
+
+Flashing example for this keyboard:
+
+ make joshajohnson/hub16:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Press the reset switch between the center two USB-C ports while the board is plugged in
+* Hold the top left key while connecting the USB cable (also erases persistent settings)
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/hub16/rules.mk b/keyboards/joshajohnson/hub16/rules.mk
index 51fa8f6ee6..51fa8f6ee6 100755
--- a/keyboards/hub16/rules.mk
+++ b/keyboards/joshajohnson/hub16/rules.mk
diff --git a/keyboards/hub20/chconf.h b/keyboards/joshajohnson/hub20/chconf.h
index 3ac1345068..3ac1345068 100644
--- a/keyboards/hub20/chconf.h
+++ b/keyboards/joshajohnson/hub20/chconf.h
diff --git a/keyboards/joshajohnson/hub20/config.h b/keyboards/joshajohnson/hub20/config.h
new file mode 100644
index 0000000000..29471149d1
--- /dev/null
+++ b/keyboards/joshajohnson/hub20/config.h
@@ -0,0 +1,24 @@
+/*
+Copyright 2020 joshajohnson
+Copyright 2021 peepeetee
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* 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/hub20/halconf.h b/keyboards/joshajohnson/hub20/halconf.h
index 80669d6dc6..80669d6dc6 100644
--- a/keyboards/hub20/halconf.h
+++ b/keyboards/joshajohnson/hub20/halconf.h
diff --git a/keyboards/hub20/hub20.c b/keyboards/joshajohnson/hub20/hub20.c
index 8b1c58e1f7..8b1c58e1f7 100644
--- a/keyboards/hub20/hub20.c
+++ b/keyboards/joshajohnson/hub20/hub20.c
diff --git a/keyboards/joshajohnson/hub20/info.json b/keyboards/joshajohnson/hub20/info.json
new file mode 100644
index 0000000000..b1b25dc1d4
--- /dev/null
+++ b/keyboards/joshajohnson/hub20/info.json
@@ -0,0 +1,147 @@
+{
+ "keyboard_name": "Hub20",
+ "manufacturer": "Josh Johnson",
+ "url": "https://github.com/joshajohnson/hub20",
+ "maintainer": "joshajohnson",
+ "usb": {
+ "vid": "0x6A6A",
+ "pid": "0x4414",
+ "device_version": "0.0.1"
+ },
+ "rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "ws2812"
+ },
+ "matrix_pins": {
+ "cols": ["A6", "A7", "B7", "B6"],
+ "rows": ["A13", "B14", "A10", "A0", "A2", "A1"]
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "A8", "pin_b": "A9"}
+ ]
+ },
+ "qmk": {
+ "tap_keycode_delay": 10
+ },
+ "rgblight": {
+ "led_count": 27
+ },
+ "ws2812": {
+ "pin": "B15"
+ },
+ "processor": "STM32F072",
+ "bootloader": "stm32-dfu",
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0.5, "y": 0},
+
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [5, 3], "x": 3, "y": 5}
+ ]
+ },
+ "LAYOUT_left_handed": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0.5, "y": 0},
+
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "h": 2},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+
+ {"matrix": [4, 1], "x": 0, "y": 4, "h": 2},
+ {"matrix": [4, 2], "x": 1, "y": 4},
+ {"matrix": [4, 3], "x": 2, "y": 4},
+ {"matrix": [4, 0], "x": 3, "y": 4},
+
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5, "w": 2}
+ ]
+ },
+ "LAYOUT_right_handed": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0.5, "y": 0},
+
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 2},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/hub20/keymaps/default/keymap.c b/keyboards/joshajohnson/hub20/keymaps/default/keymap.c
index e943780258..e943780258 100644
--- a/keyboards/hub20/keymaps/default/keymap.c
+++ b/keyboards/joshajohnson/hub20/keymaps/default/keymap.c
diff --git a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c b/keyboards/joshajohnson/hub20/keymaps/left_hand_numpad/keymap.c
index fe848d7c33..fe848d7c33 100644
--- a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
+++ b/keyboards/joshajohnson/hub20/keymaps/left_hand_numpad/keymap.c
diff --git a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c b/keyboards/joshajohnson/hub20/keymaps/right_hand_numpad/keymap.c
index 71168069fb..71168069fb 100644
--- a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
+++ b/keyboards/joshajohnson/hub20/keymaps/right_hand_numpad/keymap.c
diff --git a/keyboards/hub20/keymaps/via/keymap.c b/keyboards/joshajohnson/hub20/keymaps/via/keymap.c
index b8d7e6fdc8..b8d7e6fdc8 100644
--- a/keyboards/hub20/keymaps/via/keymap.c
+++ b/keyboards/joshajohnson/hub20/keymaps/via/keymap.c
diff --git a/keyboards/kprepublic/bm80v2/keymaps/smooted/rules.mk b/keyboards/joshajohnson/hub20/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/kprepublic/bm80v2/keymaps/smooted/rules.mk
+++ b/keyboards/joshajohnson/hub20/keymaps/via/rules.mk
diff --git a/keyboards/hub20/mcuconf.h b/keyboards/joshajohnson/hub20/mcuconf.h
index f783c39b1d..f783c39b1d 100644
--- a/keyboards/hub20/mcuconf.h
+++ b/keyboards/joshajohnson/hub20/mcuconf.h
diff --git a/keyboards/joshajohnson/hub20/readme.md b/keyboards/joshajohnson/hub20/readme.md
new file mode 100755
index 0000000000..a3b5aba641
--- /dev/null
+++ b/keyboards/joshajohnson/hub20/readme.md
@@ -0,0 +1,24 @@
+# Hub20
+
+Hub20 is a 20 key macro pad with an inbuilt USB 2.0 hub and dual rotary encoders. It can be configured to be a left / right hand numberpad, along with a 4x5 1u layout.
+
+For more information regarding the keyboard, please visit the [Hub20 Website](https://www.joshajohnson.com/hub20) or [GitHub Repo](https://github.com/joshajohnson/Hub20).
+
+* Keyboard Maintainer: [Josh Johnson](https://github.com/joshajohnson)
+* Hardware Supported: Hub20 PCB (STM32F072)
+* Hardware Availability: [Josh Johnson](https://www.joshajohnson.com/hub20)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make joshajohnson/hub20:default
+
+Flashing example for this keyboard:
+
+ make joshajohnson/hub20:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Press the reset switch between the center two USB-C ports while the board is plugged in
+* Hold the top left key while connecting the USB cable (also erases persistent settings)
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/hub20/rules.mk b/keyboards/joshajohnson/hub20/rules.mk
index f559246b9e..f559246b9e 100644
--- a/keyboards/hub20/rules.mk
+++ b/keyboards/joshajohnson/hub20/rules.mk
diff --git a/keyboards/jpe230/big_knob/config.h b/keyboards/jpe230/big_knob/config.h
index a7d6b2382c..c4001447d2 100644
--- a/keyboards/jpe230/big_knob/config.h
+++ b/keyboards/jpe230/big_knob/config.h
@@ -30,7 +30,6 @@
// Backlight configuration
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 2
-#define BACKLIGHT_DEFAULT_LEVEL 6
// Timeout configuration
#define QUANTUM_PAINTER_DISPLAY_TIMEOUT 10000
diff --git a/keyboards/jpe230/big_knob/info.json b/keyboards/jpe230/big_knob/info.json
index 4f72cfca48..083a1ae690 100644
--- a/keyboards/jpe230/big_knob/info.json
+++ b/keyboards/jpe230/big_knob/info.json
@@ -31,7 +31,9 @@
"backlight": {
"pin": "GP7",
"levels": 7,
- "breathing": false
+ "default": {
+ "brightness": 6
+ }
},
"rgblight": {
"driver": "ws2812",
diff --git a/keyboards/jukaie/jk01/config.h b/keyboards/jukaie/jk01/config.h
index 62c709a917..e66f922779 100644
--- a/keyboards/jukaie/jk01/config.h
+++ b/keyboards/jukaie/jk01/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
@@ -32,11 +30,6 @@
#define SPI_MOSI_PIN A7
#define SPI_MISO_PIN A6
-#define DRIVER_1_CS A15
-#define DRIVER_2_CS B15
-#define DRIVER_1_EN C13
-#define DRIVER_2_EN C13
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 19
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+#define AW20216S_CS_PIN_1 A15
+#define AW20216S_CS_PIN_2 B15
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/jukaie/jk01/info.json b/keyboards/jukaie/jk01/info.json
index c53a59a5a3..c713fe2749 100644
--- a/keyboards/jukaie/jk01/info.json
+++ b/keyboards/jukaie/jk01/info.json
@@ -87,7 +87,7 @@
"solid_multisplash": true
},
"center_point": [76, 25],
- "driver": "aw20216",
+ "driver": "aw20216s",
"layout": [
{ "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [2, 6], "x": 20, "y": 0 },
@@ -174,7 +174,8 @@
{ "flags": 4, "matrix": [0, 5], "x": 150, "y": 50 },
{ "flags": 4, "matrix": [11, 0], "x": 0, "y": 1 },
{ "flags": 4, "matrix": [11, 1], "x": 0, "y": 2 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/jukaie/jk01/jk01.c b/keyboards/jukaie/jk01/jk01.c
index 8f69419476..913e77a55e 100644
--- a/keyboards/jukaie/jk01/jk01.c
+++ b/keyboards/jukaie/jk01/jk01.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, k00, Esc
-
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 1, k13, Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 2, k26, F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 3, k36, F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 4, k31, F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 5, k33, F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 6, k07, F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 7, k63, F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 8, k71, F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 9, k76, F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 10, ka6, F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 11, ka7, F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 12, ka3, F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 13, ka5, F12
- {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 14, k97, Printscreen
- {1, CS4_SW5, CS5_SW5, CS6_SW5}, // 15, k02, Del
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 16, k16, `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 17, k17, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 18, k27, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, k37, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 20, k47, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 21, k46, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 22, k56, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 23, k57, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 24, k67, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 25, k77, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 26, k87, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 27, k86, -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 28, k66, =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 29, ka1, Backspace
- {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 30, kc6, Home
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 31, k11, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 32, k10, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 33, k20, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 34, k30, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 35, k40, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 36, k41, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 37, k51, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 38, k50, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 39, k60, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 40, k70, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 41, k80, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 42, k81, [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 43, k61, ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, ka2, "\\"
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 45, k65, End
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 46, k21, Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 47, k12, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 48, k22, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 49, k32, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 50, k42, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 51, k43, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 52, k53, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 53, k52, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 54, k62, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 55, k72, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 56, k82, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 57, k83, '
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 58, ka4, Enter
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 59, k15, PgUp
-
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 60, k00, Shift_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 61, k14, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 62, k24, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 63, k34, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 64, k44, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 65, k45, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 66, k55, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 67, k54, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 68, k64, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 69, k74, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 70, k85, /
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 71, k91, Shift_R
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 72, k35, Up
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 73, k25, PgDn
-
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 74, k06, Ctrl_L
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 75, k90, Win_L
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 76, k93, Alt_L
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 77, k94, Space
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 78, k95, Alt_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 79, k92, FN
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 80, k04, Ctrl_R
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 81, k03, Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 82, k73, Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 83, k05, Right
-
- {1, CS10_SW10, CS11_SW10, CS12_SW10}, // 84, kb0, Z1
- {1, CS10_SW11, CS11_SW11, CS12_SW11}, // 85, kb1, Z2
+ //{0, SW4_CS1, SW4_CS2, SW4_CS3}, // 0, k00, Esc
+
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 1, k13, Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 2, k26, F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 3, k36, F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 4, k31, F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 5, k33, F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 6, k07, F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 7, k63, F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 8, k71, F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 9, k76, F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 10, ka6, F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 11, ka7, F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 12, ka3, F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // 13, ka5, F12
+ {1, SW2_CS4, SW2_CS5, SW2_CS6}, // 14, k97, Printscreen
+ {1, SW5_CS4, SW5_CS5, SW5_CS6}, // 15, k02, Del
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 16, k16, `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 17, k17, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 18, k27, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 19, k37, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 20, k47, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 21, k46, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 22, k56, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 23, k57, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 24, k67, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 25, k77, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 26, k87, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 27, k86, -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // 28, k66, =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // 29, ka1, Backspace
+ {1, SW2_CS1, SW2_CS2, SW2_CS3}, // 30, kc6, Home
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 31, k11, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 32, k10, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 33, k20, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 34, k30, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 35, k40, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 36, k41, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 37, k51, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 38, k50, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 39, k60, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 40, k70, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 41, k80, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 42, k81, [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // 43, k61, ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // 44, ka2, "\\"
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // 45, k65, End
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 46, k21, Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 47, k12, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 48, k22, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 49, k32, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 50, k42, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 51, k43, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 52, k53, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 53, k52, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 54, k62, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 55, k72, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 56, k82, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 57, k83, '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // 58, ka4, Enter
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // 59, k15, PgUp
+
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // 60, k00, Shift_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 61, k14, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 62, k24, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 63, k34, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 64, k44, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 65, k45, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 66, k55, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 67, k54, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 68, k64, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 69, k74, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 70, k85, /
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // 71, k91, Shift_R
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // 72, k35, Up
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // 73, k25, PgDn
+
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 74, k06, Ctrl_L
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 75, k90, Win_L
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 76, k93, Alt_L
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 77, k94, Space
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 78, k95, Alt_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 79, k92, FN
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 80, k04, Ctrl_R
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // 81, k03, Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // 82, k73, Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // 83, k05, Right
+
+ {1, SW10_CS10, SW10_CS11, SW10_CS12}, // 84, kb0, Z1
+ {1, SW11_CS10, SW11_CS11, SW11_CS12}, // 85, kb1, Z2
};
#endif
diff --git a/keyboards/junco/info.json b/keyboards/junco/info.json
index 4c9b3ae6ba..6956ab4834 100644
--- a/keyboards/junco/info.json
+++ b/keyboards/junco/info.json
@@ -18,7 +18,8 @@
"driver": "vendor"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "split_count": [37, 37]
},
"encoder": {
"rotary": [
diff --git a/keyboards/junco/keymaps/default/config.h b/keyboards/junco/keymaps/default/config.h
index 43c47b9122..8a1acc5fd3 100644
--- a/keyboards/junco/keymaps/default/config.h
+++ b/keyboards/junco/keymaps/default/config.h
@@ -23,7 +23,7 @@
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON
// Turns off RGB effects when there is no longer a USB connection
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_SLEEP
// Key press reactive animations
# define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations
diff --git a/keyboards/junco/keymaps/deluxe/config.h b/keyboards/junco/keymaps/deluxe/config.h
deleted file mode 100644
index bec55fbd4c..0000000000
--- a/keyboards/junco/keymaps/deluxe/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2022 Dane Skalski (@Daneski13)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Indicator LEDs */
-// LED index for caps lock key on the extension layer
-#define CAPS_LOCK_LED_INDEX 25
-// LED index for num lock key on the symbol layer
-#define NUM_LOCK_LED_INDEX 62
-// LED index for key that sticks the adjust layer
-#define ADJST_LED_INDEX 19
-
-// Number of Layers that can be used by VIA.
-// Change this if you want more layers
-#define DYNAMIC_KEYMAP_LAYER_COUNT 6
-
-/* - Encoder settings - */
-#ifdef ENCODER_ENABLE
-# define ENCODER_RESOLUTION 4
-#endif
-#ifdef ENCODER_MAP_ENABLE
-// Key delay for encoders (necessary for some keycodes)
-# define ENCODER_MAP_KEY_DELAY 10
-#endif
-
-/*
- - RGB Stuff -
- All effects can be found in the QMK docs:
- https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-*/
-#ifdef RGB_MATRIX_ENABLE
-
-// Allows the indicator LEDs to work
-# define SPLIT_LED_STATE_ENABLE
-# define SPLIT_LAYER_STATE_ENABLE
-
-// Default effect when EEPROM cleared
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-
-// Turns off RGB effects when there is no longer a USB connection
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// Throttling of RGB to increase keyboard responsiveness, set to 1.5x the default limits
-# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 6 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-# define RGB_MATRIX_LED_FLUSH_LIMIT 24 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms), the default, is equivalent to limiting to 60fps
-
-// Key press reactive animations
-# define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations
-# define RGB_MATRIX_KEYPRESSES // Enables key press effects
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-
-// Normal effects
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#endif
diff --git a/keyboards/junco/keymaps/deluxe/keymap.c b/keyboards/junco/keymaps/deluxe/keymap.c
deleted file mode 100644
index 42b6429b97..0000000000
--- a/keyboards/junco/keymaps/deluxe/keymap.c
+++ /dev/null
@@ -1,329 +0,0 @@
-// Copyright 2022 Dane Skalski (@Daneski13)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Layers enum
-enum junco_layers { _QWERTY, _COLEMAK_DH, _SYMB, _EXT, _ADJUST };
-
-// Custom keycodes
-enum custom_keycodes {
- // Keycode for toggling between macOS and Windows key mappings
- // Actually just an alias to the GUI and Alt swap Magic keycode
- KC_OS = MAGIC_TOGGLE_ALT_GUI,
- // Keycode for swapping the base layer between QWERTY and Colemak-DH
- KC_TOGGLE_BASE = SAFE_RANGE,
- // Keycode for redo action (Ctrl + Y on windows, Ctrl + Shift + Z on macOS)
- KC_REDO,
- // Keycodes for next/previous word
- KC_WNXT,
- KC_WPRV,
- // Keycode for sticking/unsticking the adjust layer
- KC_ADJST
-};
-
-/* LED indicators */
-bool is_caps_lock_enabled(void) { // Caps lock
- return (host_keyboard_led_state().caps_lock);
-}
-bool is_num_lock_enabled(void) { // Num lock
- return (host_keyboard_led_state().num_lock);
-}
-bool is_adjust_layer_sticky(layer_state_t state) { // Adjust layer sticky
- // Checks if the state is equal to just the adjust layer being active.
- // Doing it this way can leverage SPLIT_LAYER_STATE_ENABLE
- return (state == (1UL << _ADJUST)) ? true : false;
-}
-// Indicator color based on the RGB Matrix mode
-RGB indicator_color(void) {
- RGB rgb;
- // Normally the indicator color is white to stand out in the RGB rainbow.
- // When using the custom RGB mode that already is white, the indicator color
- // is green to stand out.
- if (rgb_matrix_config.mode == RGB_MATRIX_CUSTOM_WHITE_UNDERGLOW_CYCLE) {
- // Green
- rgb.r = 0;
- rgb.g = 255;
- rgb.b = 0;
- } else {
- // White
- rgb.r = 255;
- rgb.g = 255;
- rgb.b = 255;
- }
- return rgb;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- /*
- Traditional QWERTY
- ┌───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───â”
- │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ - │
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Ent│
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │Esc│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │
- ├───┼───┼───┼───┼───┼───┼───┠┌───┼───┼───┼───┼───┼───┼───┤
- │Sft│ Z │ X │ C │ V │ B │Mut│ │▶⸠│ N │ M │ , │ . │ / │Sft│
- └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
- ┌───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───â”
- │Ctr│Win│Alt│Del│Spc│ │Sft│Bsp│Alt│Win│Ctr│
- └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
- For macOS - GUI (cmd) and Alt (opt) swapped
- */
- [_QWERTY] = LAYOUT_split4x6_r1(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, LT(_EXT, KC_DEL), KC_SPC, KC_RSFT, LT(_SYMB, KC_BSPC), KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- /*
- Colemak-DH
- ┌───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───â”
- │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ - │
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │Tab│ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │Ent│
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │Esc│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ ' │
- ├───┼───┼───┼───┼───┼───┼───┠┌───┼───┼───┼───┼───┼───┼───┤
- │Sft│ Z │ X │ C │ D │ V │Mut│ │▶⸠│ K │ H │ , │ . │ / │Sft│
- └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
- ┌───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───â”
- │Ctr│Win│Alt│Del│Spc│ │Sft│Bsp│Alt│Win│Ctr│
- └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
- For macOS - GUI/Win (cmd) and Alt (opt) swapped
- */
- [_COLEMAK_DH] = LAYOUT_split4x6_r1(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SEMICOLON, KC_ENTER,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOTE,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_MUTE, KC_MPLY, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, LT(_EXT, KC_DEL), KC_SPC, KC_RSFT, LT(_SYMB, KC_BSPC), KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- /*
- Symbols/Numpad Layer
- ┌───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───â”
- │F1 │F2 │F3 │F4 │F5 │F6 │ │F7 │F8 │F9 │F10│F11│F12│
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │Tab│ ! │ @ │ # │ $ │ % │ │ * │ 7 │ 8 │ 9 │ + │Ent│
- ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
- │ \ │ _ │ [ │ { │ ( │ ^ │ │ = │ 4 │ 5 │ 6 │ 0 │NUM│
- ├───┼───┼───┼───┼───┼───┼───┠┌───┼───┼───┼───┼───┼───┼───┤
- │___│ | │ ] │ } │ ) │ & │___│ │___│ / │ 1 │ 2 │ 3 │ - │___│
- └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
- ┌───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───â”
- │___│___│___│___│___│ │___│___│___│___│___│
- └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
- */
- [_SYMB] = LAYOUT_split4x6_r1(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PAST, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_ENTER,
- KC_BSLS, KC_UNDS, KC_LBRC, KC_LCBR, KC_LPRN, KC_CIRC, KC_PEQL, KC_P4, KC_P5, KC_P6, KC_P0, KC_NUM,
- _______, KC_PIPE, KC_RBRC, KC_RCBR, KC_RPRN, KC_AMPR, _______, _______, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /*
- Extension/Function Layer
- ┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10│ F11│ F12│
- ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- │ ⇤ │PGUP│End │ ↑ │Home│ │ │BRIU│ F7 │ F8 │ F9 │ F10│____│
- ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- │Cps │PGDN│ ↠│ ↓ │ → │ │ │BRID│ F4 │ F5 │ F6 │ F11│____│
- ├────┼────┼────┼────┼────┼────┼────┠┌────┼────┼────┼────┼────┼────┼────┤
- │____│ │ │ │ │ │____│ │____│ │ F1 │ F2 │ F3 │ F12│____│
- └────┴────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┴────┘
- ┌───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───â”
- │___│___│___│___│___│ │___│___│___│___│___│
- └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
- */
- [_EXT] = LAYOUT_split4x6_r1(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- S(KC_TAB), KC_PGUP, KC_END, KC_UP, KC_HOME, _______, KC_BRIU, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_BRID, KC_F4, KC_F5, KC_F6, KC_F11, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /*
- Adjust Layer, Keyboard Settings
- ┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- │ │ │ │ │ │ │ │ │ │ │ │ │ │
- ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- │SpdU│HueU│SatU│ValU│Rnxt│Stck│ │ │EClr│Rbt │DBUG│BOOT│ │
- ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- │SpdD│HueD│SatD│ValD│Rprv│RTgl│ │ │LOUT│ OS │ │ │ │
- ├────┼────┼────┼────┼────┼────┼────┠┌────┼────┼────┼────┼────┼────┼────┤
- │ │ │ │ │ │ │RTgl│ │ │ │ │ │ │ │ │
- └────┴────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┴────┘
- ┌───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───â”
- │___│___│___│___│___│ │___│___│___│___│___│
- └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
- */
- [_ADJUST] = LAYOUT_split4x6_r1(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_ADJST, KC_NO, EE_CLR, QK_RBT, DB_TOGG, QK_BOOT, KC_NO,
- RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, RGB_TOG, KC_NO, KC_TOGGLE_BASE, KC_OS, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- // clang-format on
-};
-
-/*
- --- Rotary Encoder Mappings ---
-
- Encoder mappings go from leftmost encoder to rightmost encoder on the physical board.
- index 0 is the the optional leftmost encoder on the left half, index 1 is the right encoder
- on the left half (by the thumb keys), index 2 is the left encoder on the right half (by the
- thumb keys), and index 3 is the optional rightmost encoder on the right half.
-
- If you are only using the 2 required encoders by the thumb keys, you only need to worry about
- index 1 and index 2.
-
- Note that the key to be sent for counter-clockwise rotation (CCW) goes first and then the key for
- clockwise (CW) within ENCODER_CCW_CW.
-*/
-#ifdef ENCODER_MAP_ENABLE
-// clang-format off
-
-// Base layer encoder mappings:
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- // Base layers
- // index 0: mouse wheel up (CCW)/down (CW) index 1: volume up/down index 2: media prev/next index 3: mouse wheel left/right
- [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) },
- [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-
- // Passes through to base layer
- [_SYMB] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- // undo/redo previous word/next word
- [_EXT] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_UNDO, KC_REDO), ENCODER_CCW_CW(KC_WPRV, KC_WNXT) },
- // RGB Speed down/up RGB previous mode/next mode RGB brightness down/up
- [_ADJUST] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- // clang-format on
-};
-
-#endif
-
-// Called whenever a layer is changed
-layer_state_t layer_state_set_user(layer_state_t state) {
- // Make sure the adjust layer isn't sticky
- if (is_adjust_layer_sticky(state)) return state;
-
- // When both the symbol and extension layer keys are held, the Adjust layer is active.
- return update_tri_layer_state(state, _SYMB, _EXT, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // Toggle base layer
- case KC_TOGGLE_BASE:
- if (record->event.pressed) {
- // Toggle swapping base layers between Colemak-DH and QWERTY.
- // When base layer is QWERTY, swap to Colemak-DH and vice-versa
- if (get_highest_layer(default_layer_state) == _QWERTY) {
- default_layer_set(1UL << _COLEMAK_DH);
- } else {
- default_layer_set(1UL << _QWERTY);
- }
- }
- return false;
-
- // Override undo in favor of the more modern undo action
- case KC_UNDO:
- if (record->event.pressed) {
- // Use the correct modifier for macOS or Windows
- uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LGUI : KC_LCTL;
- // Send Ctrl+Z/Cmd+Z
- register_code(mod);
- tap_code_delay(KC_Z, 10);
- unregister_code(mod);
- }
- return false;
-
- // Redo action
- case KC_REDO:
- if (record->event.pressed) {
- // Whether or not macOS mapping is enabled
- if (keymap_config.swap_lalt_lgui) {
- // macOS - Send Cmd+Shift+Z
- register_code(KC_LGUI);
- register_code(KC_LSFT);
- tap_code_delay(KC_Z, 10);
- unregister_code(KC_LSFT);
- unregister_code(KC_LGUI);
- } else {
- // Windows - Send Ctrl+Y
- register_code(KC_LCTL);
- tap_code_delay(KC_Y, 10);
- unregister_code(KC_LCTL);
- }
- }
- return false;
-
- // Next word
- case KC_WNXT:
- if (record->event.pressed) {
- // Use the correct modifier for macOS or Windows
- uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LALT : KC_LCTL;
- // Send Ctrl+Right/Option+Right
- register_code(mod);
- tap_code_delay(KC_RGHT, 10);
- unregister_code(mod);
- }
- return false;
-
- // Previous word
- case KC_WPRV:
- if (record->event.pressed) {
- // Use the correct modifier for macOS or Windows
- uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LALT : KC_LCTL;
- // Send Ctrl+Left/Option+Left
- register_code(mod);
- tap_code_delay(KC_LEFT, 10);
- unregister_code(mod);
- }
- return false;
-
- // Stick / Unstick the adjust layer
- case KC_ADJST:
- if (record->event.pressed) {
- // If currently not sticky, we want only the adjust layer to be active to make it stick.
- // Otherwise we want the default layer, un-stick.
- is_adjust_layer_sticky(layer_state) ? layer_state_set(default_layer_state) : layer_move(_ADJUST);
- dprintf("Adjust layer is now %s\n", is_adjust_layer_sticky(layer_state) ? "stuck" : "un-stuck");
- }
- return false;
- default:
- return true;
- }
-}
-
-/* Indicators (Caps Lock / Num Lock / Adjust Layer Sticky) */
-bool rgb_matrix_indicators_user(void) {
- layer_state_t curr_layer_state = layer_state;
- layer_state_t layer = get_highest_layer(curr_layer_state);
- RGB rgb = indicator_color();
-
- /* Only show the indicator on their respective layers */
- // Caps Lock is only on the extension layer
- if (is_caps_lock_enabled() && layer == _EXT) {
- rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, rgb.r, rgb.g, rgb.b);
- }
-
- // Num Lock is only on the symbol layer
- if (is_num_lock_enabled() && layer == _SYMB) {
- rgb_matrix_set_color(NUM_LOCK_LED_INDEX, rgb.r, rgb.g, rgb.b);
- }
-
- // If the adjust layer is stuck/sticky, light it up. Don't need to care about
- // checking the layer since it can only be active on the adjust layer anyway
- if (is_adjust_layer_sticky(curr_layer_state)) rgb_matrix_set_color(ADJST_LED_INDEX, rgb.r, rgb.g, rgb.b);
-
- return false;
-}
diff --git a/keyboards/junco/keymaps/deluxe/readme.md b/keyboards/junco/keymaps/deluxe/readme.md
deleted file mode 100644
index d52d315f7d..0000000000
--- a/keyboards/junco/keymaps/deluxe/readme.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Deluxe Junco Keymap
-
-This is my personal keymap for Junco at time of writing. It departs from the [default layout](../default/README.md) with the encoder mappings and some extra keycodes. This keymap also adds indicators when caps lock and num lock are enabled. When enabled, that key will become a static white (green on the white backlight mode) but only when the layer that respective key is on is active.
-
-I wanted that classic rainbow barf RGB effect for the underglow even if the per-key lighting is something else, so I added 2 custom RGB matrix animations: white per-key lighting with rainbow underglow and pixel rain with rainbow underglow.
-
-Here are some gifs of the animations:
-
-![White + Underglow Animation](https://i.imgur.com/2vCiZz0.gif)
-
-![Pixel Rain + Underglow Animation](https://i.imgur.com/f6t0OfD.gif)
-
-## Base Layers
-
-The base layers are the same as the default layout, except the right side's left encoder (by the thumb keys) is now media controls. Since I am using all 4 encoders it doesn't make sense to have 2 mouse scroll up/down, but for someone with just 2 encoders it may make sense to have media controls on a layer.
-
-QWERTY:
-
-![QWERTY Layer](https://i.imgur.com/vkS9Tceh.png)
-
-Colemak-DH:
-
-![Colemak-DH Layer](https://i.imgur.com/5YYgaUAh.png)
-
-## Symbol Layer
-
-Symbol layer is identical to the default layout.
-
-![Symbol Layer](https://i.imgur.com/6F35Z4Wh.png)
-
-## Extension Layer
-
-Encoders on the right side become undo/redo and scrolling horizontally by word.
-
-![Extension Layer](https://i.imgur.com/0VCStS8h.png)
-
-## Adjust Layer
-
-Pressing "Stick Adj Layer" will "stick" the adjust layer so you can use the rotary encoders for RGB settings rather than holding down both backspace and delete. To go back to the default layer, press that stick key again or press and release either Del or Backspace. When the adjust layer is currently "sticky" the sticky key will become the indicator color mentioned earlier.
-
-"Toggle Base" will toggle between QWERTY and Colemak-DH and toggle OS will toggle between macOS and Windows key-mappings (swapping WIN/Command with Alt/Option by the thumb keys and properly mapping redo/word scrolling).
-
-![Adjust layer](https://i.imgur.com/71ftNoNh.png)
diff --git a/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc b/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc
deleted file mode 100644
index 3efe506749..0000000000
--- a/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2022 Dane Skalski (@Daneski13)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-RGB_MATRIX_EFFECT(WHITE_UNDERGLOW_CYCLE)
-RGB_MATRIX_EFFECT(PIXEL_RAIN_UNDERGLOW_CYCLE)
-
-#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-
-// This is a modified version of the effect_runner_dx_dy_dist function from rgb_matrix
-// that only applies the effect to the underglow LEDs of this keyboard
-static bool underglow_effect_runner(effect_params_t* params, dx_dy_dist_f underglow_effect_func, bool backlight_white) {
- RGB_MATRIX_USE_LIMITS(led_min, led_max);
-
- HSV hsv = rgb_matrix_config.hsv;
- HSV white = {0, 0, hsv.v};
- RGB rgb = rgb_matrix_hsv_to_rgb(white);
- uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2);
- for (uint8_t i = led_min; i < led_max; i++) {
- // Underglow LEDs are indicies 0 - 7 and 37 - 44
- if ((i <= 7) || (37 <= i && i <= 44)) {
- // Apply the maths and colors to the underglow LEDs
- RGB_MATRIX_TEST_LED_FLAGS();
- int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x;
- int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y;
- uint8_t dist = sqrt16(dx * dx + dy * dy);
- RGB rgb = rgb_matrix_hsv_to_rgb(underglow_effect_func(hsv, dx, dy, dist, time));
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- } else {
- // Set the backlight to white if needed
- if (!backlight_white) continue;
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- }
- }
- return rgb_matrix_check_finished_leds(led_max);
-}
-
-// Solid white but the underglow is a rainbow spiral
-static bool WHITE_UNDERGLOW_CYCLE(effect_params_t* params) {
- return underglow_effect_runner(params, &CYCLE_SPIRAL_math, true);
-}
-
-// Pixel rain effect but the underglow is a rainbow spiral
-static bool PIXEL_RAIN_UNDERGLOW_CYCLE(effect_params_t* params) {
- PIXEL_RAIN(params);
- return underglow_effect_runner(params, &CYCLE_SPIRAL_math, false);
-}
-
-#endif
diff --git a/keyboards/junco/keymaps/deluxe/rules.mk b/keyboards/junco/keymaps/deluxe/rules.mk
deleted file mode 100644
index b788c6155b..0000000000
--- a/keyboards/junco/keymaps/deluxe/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-# Enables Audio control and System control Keycodes
-EXTRAKEY_ENABLE = yes
-# Enables Mousekeys
-MOUSEKEY_ENABLE = yes
-# Encoder Support
-ENCODER_ENABLE = yes
-# Use Enocoder Mapping
-ENCODER_MAP_ENABLE = yes
-
-# Enables RGB Lighting Effects
-RGB_MATRIX_ENABLE = yes
-
-# Allows use of `qmk console` for debugging
-CONSOLE_ENABLE = yes
-
-# Enables VIA
-VIA_ENABLE = yes
-
-# Custom RGB Matrix Effect
-RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/junco/keymaps/via/config.h b/keyboards/junco/keymaps/via/config.h
index c4ce821594..897313cd66 100644
--- a/keyboards/junco/keymaps/via/config.h
+++ b/keyboards/junco/keymaps/via/config.h
@@ -26,7 +26,7 @@
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON
// Turns off RGB effects when there is no longer a USB connection
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_SLEEP
// Allow keypress reactive animations
# define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations on a split
diff --git a/keyboards/junco/rev1/config.h b/keyboards/junco/rev1/config.h
index 713d651d47..17d9e33be0 100644
--- a/keyboards/junco/rev1/config.h
+++ b/keyboards/junco/rev1/config.h
@@ -8,12 +8,3 @@
#define SERIAL_USART_FULL_DUPLEX // Use full duplex communication (TRRS)
#define SERIAL_USART_TX_PIN GP0 // USART TX pin
#define SERIAL_USART_RX_PIN GP1 // USART RX pin
-
-/* RGB Stuff */
-#ifdef RGB_MATRIX_ENABLE
-
-# define RGB_MATRIX_LED_COUNT 74
-# define RGB_MATRIX_SPLIT \
- { 37, 37 } // 37 LEDs on each side
-
-#endif
diff --git a/keyboards/junco/rev1/post_config.h b/keyboards/junco/rev1/post_config.h
index bcc15a941a..d9fa5e4c60 100644
--- a/keyboards/junco/rev1/post_config.h
+++ b/keyboards/junco/rev1/post_config.h
@@ -7,9 +7,9 @@
// Top left for left side is default in core
// Top right for right side
-#ifndef BOOTMAGIC_LITE_ROW_RIGHT
-# define BOOTMAGIC_LITE_ROW_RIGHT 5
+#ifndef BOOTMAGIC_ROW_RIGHT
+# define BOOTMAGIC_ROW_RIGHT 5
#endif
-#ifndef BOOTMAGIC_LITE_COLUMN_RIGHT
-# define BOOTMAGIC_LITE_COLUMN_RIGHT 0
+#ifndef BOOTMAGIC_COLUMN_RIGHT
+# define BOOTMAGIC_COLUMN_RIGHT 0
#endif
diff --git a/keyboards/kabedon/kabedon98e/config.h b/keyboards/kabedon/kabedon98e/config.h
index 64013a3a7f..514a1121b3 100644
--- a/keyboards/kabedon/kabedon98e/config.h
+++ b/keyboards/kabedon/kabedon98e/config.h
@@ -24,5 +24,3 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json
index 42f0796a53..6f99aa6c30 100644
--- a/keyboards/kabedon/kabedon98e/info.json
+++ b/keyboards/kabedon/kabedon98e/info.json
@@ -33,6 +33,9 @@
"rows": ["A4", "B10", "B2", "B1", "B0", "B15", "B13", "B14", "B12", "A10", "A9", "A8"]
},
"diode_direction": "ROW2COL",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"encoder": {
"rotary": [
{"pin_a": "B3", "pin_b": "B5"},
diff --git a/keyboards/kagizaraya/chidori/board.c b/keyboards/kagizaraya/chidori/board.c
index e00156eb90..34e57a8874 100644
--- a/keyboards/kagizaraya/chidori/board.c
+++ b/keyboards/kagizaraya/chidori/board.c
@@ -69,8 +69,8 @@ static void board_set_slave_led(board_info_t* board, uint8_t led_index, bool sta
board->led_status[led_index] = status;
uint8_t iodir = board_merge_led_config(board, 0xff);
uint8_t data = board_merge_led_status(board, 0x00);
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&data, sizeof(data), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&data, sizeof(data), BOARD_I2C_TIMEOUT);
}
static uint8_t board_merge_led_config(board_info_t* board, uint8_t iodir) {
@@ -86,30 +86,30 @@ static bool board_slave_config(board_info_t* board) {
i2c_status_t res = 0;
// Set to input
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRA, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRA, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
// RESTRICTION: LEDs only on PORT B.
set = board_merge_led_config(board, set);
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
set = 0xff;
// Pull up for input - enable
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPPUA, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPPUA, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPPUB, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPPUB, (const uint8_t*)&set, sizeof(set), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
// Disable interrupt
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPINTENA, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPINTENA, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPINTENB, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPINTENB, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
// Polarity - same logic
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IPOLA, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IPOLA, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
- res = i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IPOLB, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
+ res = i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IPOLB, (const uint8_t*)&clear, sizeof(clear), BOARD_I2C_TIMEOUT);
if (res < 0) return false;
return true;
@@ -124,10 +124,9 @@ static void board_slave_init(void) {
if (board_is_master(board)) {
continue;
}
- if (i2c_start(EXPANDER_ADDR(board->i2c_address), BOARD_I2C_TIMEOUT) != I2C_STATUS_SUCCESS) {
+ if (i2c_ping_address(EXPANDER_ADDR(board->i2c_address), BOARD_I2C_TIMEOUT) != I2C_STATUS_SUCCESS) {
continue;
}
- i2c_stop();
if (board_slave_config(board)) {
board->initialized = true;
}
@@ -203,7 +202,7 @@ static uint8_t board_read_slave_cols(board_info_t* board) {
return 0xff;
}
uint8_t data = 0xff;
- i2c_status_t res = i2c_readReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPIOA, &data, sizeof(data), BOARD_I2C_TIMEOUT);
+ i2c_status_t res = i2c_read_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_GPIOA, &data, sizeof(data), BOARD_I2C_TIMEOUT);
return (res < 0) ? 0xff : data;
}
@@ -214,8 +213,8 @@ static void board_select_slave_row(board_info_t* board, uint8_t board_row) {
uint8_t pin = board->row_pins[board_row];
uint8_t iodir = board_merge_led_config(board, PIN2MASK(pin));
uint8_t status = board_merge_led_status(board, PIN2MASK(pin));
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&status, sizeof(status), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&status, sizeof(status), BOARD_I2C_TIMEOUT);
}
static void board_unselect_slave_rows(board_info_t* board) {
@@ -224,8 +223,8 @@ static void board_unselect_slave_rows(board_info_t* board) {
}
uint8_t iodir = board_merge_led_config(board, 0xff);
uint8_t data = board_merge_led_status(board, 0x00);
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
- i2c_writeReg(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&data, sizeof(data), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_IODIRB, (const uint8_t*)&iodir, sizeof(iodir), BOARD_I2C_TIMEOUT);
+ i2c_write_register(EXPANDER_ADDR(board->i2c_address), EXPANDER_OLATB, (const uint8_t*)&data, sizeof(data), BOARD_I2C_TIMEOUT);
}
static void board_unselect_slave_row(board_info_t* board, uint8_t board_row) { board_unselect_slave_rows(board); }
diff --git a/keyboards/miniaxe/config.h b/keyboards/kagizaraya/miniaxe/config.h
index 716fdf387a..716fdf387a 100644
--- a/keyboards/miniaxe/config.h
+++ b/keyboards/kagizaraya/miniaxe/config.h
diff --git a/keyboards/miniaxe/info.json b/keyboards/kagizaraya/miniaxe/info.json
index 9b7f3104a0..9b7f3104a0 100644
--- a/keyboards/miniaxe/info.json
+++ b/keyboards/kagizaraya/miniaxe/info.json
diff --git a/keyboards/miniaxe/keymaps/default/keymap.c b/keyboards/kagizaraya/miniaxe/keymaps/default/keymap.c
index 81f8004e69..81f8004e69 100644
--- a/keyboards/miniaxe/keymaps/default/keymap.c
+++ b/keyboards/kagizaraya/miniaxe/keymaps/default/keymap.c
diff --git a/keyboards/miniaxe/keymaps/underglow/keymap.c b/keyboards/kagizaraya/miniaxe/keymaps/underglow/keymap.c
index 8b4417f62d..8b4417f62d 100644
--- a/keyboards/miniaxe/keymaps/underglow/keymap.c
+++ b/keyboards/kagizaraya/miniaxe/keymaps/underglow/keymap.c
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/rules.mk b/keyboards/kagizaraya/miniaxe/keymaps/underglow/rules.mk
index 1e3cebb145..1e3cebb145 100644
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/rules.mk
+++ b/keyboards/kagizaraya/miniaxe/keymaps/underglow/rules.mk
diff --git a/keyboards/kagizaraya/miniaxe/readme.md b/keyboards/kagizaraya/miniaxe/readme.md
new file mode 100644
index 0000000000..bf2a4b0e98
--- /dev/null
+++ b/keyboards/kagizaraya/miniaxe/readme.md
@@ -0,0 +1,16 @@
+MiniAxe
+===
+
+![MiniAxe](https://i.imgur.com/1ApzrCz.jpg)
+
+Yet another split ortholinear keyboard with 3x5+3 keys.
+
+Keyboard Maintainer: [ka2hiro](https://github.com/ka2hiro) [@ka2hiro](https://twitter.com/ka2hiro)
+Hardware Supported: MiniAxe PCB, ATMEGA32U4
+Hardware Availability: [@ka2hiro](https://twitter.com/ka2hiro)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kagizaraya/miniaxe: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/miniaxe/rules.mk b/keyboards/kagizaraya/miniaxe/rules.mk
index ee687e87af..ee687e87af 100644
--- a/keyboards/miniaxe/rules.mk
+++ b/keyboards/kagizaraya/miniaxe/rules.mk
diff --git a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c
deleted file mode 100644
index 024bc9d952..0000000000
--- a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/* Copyright 2019 ENDO Katsuhiro <ka2hiro@kagizaraya.jp>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 layer_names {
- _QWERTY,
- _HAPPY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- HAPPY,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-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 | BkSp |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | ` | | ' | H | J | K | L | ; |Enter |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------.
- * |Shift | Z | X | C | V | B | Caps | | Del | N | M | , | . | / |Shift | Fn |
- * `--------------------+------+------+------+------| |------+------+------+------+------+------+------+------'
- * | LAlt | LGUI | LOWER|Ctr/Esc| |Spc/Sft | RAISE| LGUI | LAlt |
- * `---------------------------' `---------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_GRV, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_CAPS, KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, HAPPY,
- KC_LALT, KC_LGUI, LOWER, MT(MOD_LCTL, KC_ESC), MT(MOD_LSFT, KC_SPC), RAISE, KC_RGUI, KC_RALT
-),
-
-/* Happy
- *
- * ,------------------------------------------------. ,------------------------------------------------.
- * | Pwr | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F0 | Del |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | Caps | F11 | F12 |BLTOGG| |BL INC|BL DEC| | | | Psc | Slk | Pus | Up | Ins |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | Vol- | Vol+ | Mute |RGBHUI|RGBSAI|RGBVAI| | * | / | Home | PgUp | Left | Right| |
- * |------+------+------+------+------+------+------| +------+------+------+------+------+------+------+------.
- * | |RGBTOG|RGBMOD|RGBRMD|RGBHUD|RGBSAD|RGBVAD| | + | - | End | PgDn | Down | | | |
- * `--------------------+------+------+------+------| |------+------+------+------+------+------+------+------'
- * | | | | | | | | | |
- * `---------------------------' `---------------------------'
- */
-[_HAPPY] = LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- KC_CAPS, KC_F10, KC_F12, BL_TOGG, _______, BL_UP , BL_DOWN, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_INS,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, RGB_HUI, RGB_SAI, RGB_VAI, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-
-/* Raise
- *
- * ,------------------------------------------------. ,------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | _ | + | | | ~ | | | | : | " | > | { | } | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------.
- * | | | - | = | \ | ` | | | | ; | ' | < | [ | ] | | |
- * `--------------------+------+------+------+------| |------+------+------+------+------+------+------+------'
- * | | | | | | | | | |
- * `---------------------------' `---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, KC_UNDS, KC_PLUS, KC_PIPE, KC_TILD, _______, _______, KC_COLN, KC_DQUO, KC_GT, KC_LCBR, KC_RCBR, _______,
- _______, _______, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, _______, _______, KC_SCLN, KC_QUOT, KC_LT, KC_LBRC, KC_RBRC, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-
-/* Lower
- *
- * ,------------------------------------------------. ,------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | | | Enter| | | Left | Down | Up | Right| | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------.
- * | | | | | | | Del | | BkSp | | PgUp | PgDn | | | | |
- * `--------------------+------+------+------+------| |------+------+------+------+------+------+------+------'
- * | | | | | | | | | |
- * `---------------------------' `---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, KC_ENT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_DEL, KC_BSPC, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-
-/* Adjust
- *
- * ,------------------------------------------------. ,------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F0 | Del |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | F11 | F12 |BLTOGG| |BL INC|BL DEC| | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | |RGBMOD|RGBHUI|RGBSAI|RGBVAI| | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------.
- * | | Reset| |RGBTOG|RGBHUD|RGBSAD|RGBVAD| | | Prev | Next | Vol- | Vol+ | Play | | |
- * `--------------------+------+------+------+------| |------+------+------+------+------+------+------+------'
- * | | | | | | | | | |
- * `---------------------------' `---------------------------'
- */
-[_ADJUST] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, KC_F10, KC_F12, BL_TOGG, _______, BL_UP , BL_DOWN, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
- _______, QK_BOOT, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- // persistant_default_layer_set(1UL<<_QWERTY);
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case HAPPY:
- if (record->event.pressed) {
- layer_on(_HAPPY);
- } else {
- layer_off(_HAPPY);
- }
- 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 ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/kagizaraya/scythe/keymaps/forties/readme.md b/keyboards/kagizaraya/scythe/keymaps/forties/readme.md
deleted file mode 100644
index 162792dc37..0000000000
--- a/keyboards/kagizaraya/scythe/keymaps/forties/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The forty percent compatible keymap for scythe
-
diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h
deleted file mode 100644
index bf1149ebc6..0000000000
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 kakunpc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
deleted file mode 100644
index 31bc5aaebe..0000000000
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Copyright 2019 kakunpc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#define USE_LED_RIPPLE_EFFECT
-// #define RANDOM_RIPPLE_EFFECT
-
-#include QMK_KEYBOARD_H
-#include "lufa.h"
-
-#ifdef USE_LED_RIPPLE_EFFECT
-struct keybuf {
- char col, row;
- char frame;
-};
-struct keybuf keybufs[256];
-unsigned char keybuf_begin, keybuf_end;
-
-unsigned char r = 0;
-unsigned char g = 112;
-unsigned char b = 255;
-int col, row;
-#endif
-
-
-enum layers{
- BASE = 0,
- COMMAND
-};
-
-#define KC_COMMAND_NUM LT(COMMAND,KC_F13)
-#define KC_COMMAND_KANA LT(COMMAND,KC_F14)
-#define KC_COMMAND LT(COMMAND,KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_COMMAND_NUM, KC_SPC, KC_SPC, KC_SPC, KC_COMMAND_KANA, KC_RALT, MO(COMMAND),KC_RCTL),
- [COMMAND] = 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_BSPC,
- KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_NO, KC_NO, _______, KC_NO, RGB_MOD, KC_NO, _______, KC_NO, _______, KC_NO),
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-#ifdef USE_LED_RIPPLE_EFFECT
- col = record->event.key.col;
- row = record->event.key.row;
- if (record->event.pressed) {
- int end = keybuf_end;
- keybufs[end].col = col;
- keybufs[end].row = row;
- keybufs[end].frame = 0;
- keybuf_end ++;
- }
-#endif
- return true;
-}
-
-void keyboard_post_init_user(void) {
-#ifdef USE_LED_RIPPLE_EFFECT
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
-#endif
-}
-
-#ifdef USE_LED_RIPPLE_EFFECT
-int scan_count = -10;
-int keys[] = { 14, 14, 13, 12, 11 };
-int keys_sum[] = { 0, 14, 28, 41, 53 };
-unsigned char rgb[14][5][3];
-int row_max = 12;
-int ToIndex(char _col, char _row) {
- return (_col * row_max) + _row;
-}
-
-void led_ripple_effect(void){
- if (scan_count == -1) {
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- } else if (scan_count >= 0 && scan_count < 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- // FIXME:
-
- int index = ToIndex(keybufs[i].col,keybufs[i].row);
- int coll = 0;
- for(int s = 4; s >= 0; --s){
- if( index >= keys_sum[s]){
- coll = s;
- break;
- }
- }
- int roww = MAX(0,index - keys_sum[coll]);
-
- int y = scan_count;
- int dist_y = abs(y - coll);
- for (int x=0; x<keys[y]; x++) {
- int dist = abs(x - roww) + dist_y;
- if (dist <= keybufs[i].frame) {
- int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2;
- if (elevation) {
- if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); }
- if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); }
- if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); }
- }
- }
- }
- }
- } else if (scan_count == 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- if (keybufs[i].frame < 64) {
- keybufs[i].frame ++;
- } else {
- keybuf_begin ++;
- }
- }
- } else if (scan_count >= 6 && scan_count <= 10) {
- int y = scan_count - 6;
- for (int x=0; x<keys[y]; x++) {
- int at = keys_sum[y] + x;
- led[at].r = rgb[x][y][0];
- led[at].g = rgb[x][y][1];
- led[at].b = rgb[x][y][2];
- }
- rgblight_set();
- } else if (scan_count == 11) {
- memset(rgb, 0, sizeof(rgb));
- }
- scan_count++;
- if (scan_count >= 12) { scan_count = 0; }
-}
-
-#endif
-
-void matrix_scan_user(void) {
-#ifdef USE_LED_RIPPLE_EFFECT
-#ifdef RANDOM_RIPPLE_EFFECT
- static int timer = 0;
- static int timeout = 300;
- timer++;
- if(timer > timeout){
- int end = keybuf_end;
- col = rand() % 6;
- row = rand() % 12;
- keybufs[end].col = col;
- keybufs[end].row = row;
- keybufs[end].frame = 0;
- keybuf_end ++;
- timer = rand() % timeout;
- }
-#endif
- led_ripple_effect();
-#endif
-}
-
-#ifdef OLED_ENABLE
-bool oled_task_user(void) {
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case BASE:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case COMMAND:
- oled_write_P(PSTR("COMMAND\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding 'n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- return false;
-}
-#endif
diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md
deleted file mode 100644
index ca7d7961fc..0000000000
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The kakunpc keymap for angel64
diff --git a/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c
deleted file mode 100644
index 6c0f83240d..0000000000
--- a/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019 kakunpc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers
-{
- BASE = 0,
- COMMAND
-};
-
-#define KC_COMMAND LT(COMMAND, KC_F13)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_all( /* BASE */
- KC_ESC, KC_F1,KC_F2,KC_F3,KC_F4, KC_F5,KC_F6,KC_F7,KC_F8, KC_F9,KC_F10,KC_F11,KC_F12, KC_PSCR,KC_SCRL,KC_PAUSE,
-
- KC_GRV,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- 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_P4, KC_P5, KC_P6, KC_NO,
- KC_LSFT, KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL,KC_LGUI,KC_LALT,KC_COMMAND,KC_SPC,KC_SPC,KC_SPC,KC_F14,KC_RALT,KC_NO,KC_NO,KC_COMMAND, KC_LEFT,KC_DOWN,KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_NO ),
- [COMMAND] = LAYOUT_all( /* COMMAND */
- KC_ESC, KC_F1,KC_F2,KC_F3,KC_F4, KC_F5,KC_F6,KC_F7,KC_F8, KC_F9,KC_F10,KC_F11,KC_F12, KC_PSCR,KC_SCRL,KC_PAUSE,
-
- KC_GRV,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_LCAP, KC_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_NO,
- KC_LSFT, KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL,KC_LGUI,KC_LALT,_______,KC_SPC,KC_SPC,KC_SPC,KC_F14,KC_RALT,KC_NO,KC_NO,_______, KC_LEFT,KC_DOWN,KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_NO ),
-};
diff --git a/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md b/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md
deleted file mode 100644
index 66eab07b94..0000000000
--- a/keyboards/kakunpc/thedogkeyboard/keymaps/kakunpc/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The kakunpc keymap for thedogkeyboard
diff --git a/keyboards/kapcave/arya/config.h b/keyboards/kapcave/arya/config.h
index 9422076315..6cd3657227 100644
--- a/keyboards/kapcave/arya/config.h
+++ b/keyboards/kapcave/arya/config.h
@@ -22,8 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
index 64135cabcd..40a7c6ec47 100644
--- a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 12
diff --git a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
deleted file mode 100755
index 9b17187d05..0000000000
--- a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY */
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LCTL),
-
- /* DVORAK */
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS,
- 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_BSPC,
- MO(3), 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_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, MO(3),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
-
- /* COLEMAK */
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
- MO(3), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
-
- /* FUNCTION */
- LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_BSPC,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG)
-
-};
diff --git a/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c b/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
deleted file mode 100644
index 26168f7d2b..0000000000
--- a/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2021 KapCave
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* DEFAULT */
- LAYOUT_numpad_aek(
- MO(1), KC_PEQL, KC_PSLS, KC_PAST,
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT),
-
- /* FUNCTION */
- LAYOUT_numpad_aek(
- KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS,
- RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
- RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, QK_BOOT, KC_NUM)
-};
-
diff --git a/keyboards/kapcave/paladinpad/keymaps/aek/readme.md b/keyboards/kapcave/paladinpad/keymaps/aek/readme.md
deleted file mode 100644
index 44b106fa6b..0000000000
--- a/keyboards/kapcave/paladinpad/keymaps/aek/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-The keymap for PaladinPad which resembles the AEK Numpad \ No newline at end of file
diff --git a/keyboards/kapl/keymaps/default/config.h b/keyboards/kapl/keymaps/default/config.h
deleted file mode 100644
index cc82705192..0000000000
--- a/keyboards/kapl/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-// Copyright 2022 Alexander Lozyuk (@keyzog)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
diff --git a/keyboards/kapl/keymaps/via/config.h b/keyboards/kapl/keymaps/via/config.h
deleted file mode 100644
index cc82705192..0000000000
--- a/keyboards/kapl/keymaps/via/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-// Copyright 2022 Alexander Lozyuk (@keyzog)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h
index db7eaaee49..8b9c2f14ee 100644
--- a/keyboards/kapl/rev1/config.h
+++ b/keyboards/kapl/rev1/config.h
@@ -5,37 +5,6 @@
/* Select hand configuration */
#define MASTER_LEFT
-#define RGB_MATRIX_LED_COUNT 88
-#define RGB_MATRIX_SPLIT { 44, 44 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-
-#ifdef RGB_MATRIX_ENABLE
-// EFFECTS
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-// KEYPRESSES EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/kapl/rev1/info.json b/keyboards/kapl/rev1/info.json
index b649c055ac..0d95b99e29 100644
--- a/keyboards/kapl/rev1/info.json
+++ b/keyboards/kapl/rev1/info.json
@@ -12,8 +12,32 @@
"pin": "D4"
},
"rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_spiral": true,
+ "hue_breathing": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "multisplash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
- "speed_steps": 10
+ "max_brightness": 120,
+ "speed_steps": 10,
+ "split_count": [44, 44]
},
"rgblight": {
"saturation_steps": 16,
diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json
index c15801da35..b088f61425 100644
--- a/keyboards/karn/info.json
+++ b/keyboards/karn/info.json
@@ -23,52 +23,54 @@
"split": {
"enabled": true
},
- "community_layouts": ["split_3x6_3"],
"layouts": {
- "LAYOUT_split_3x6_3": {
+ "LAYOUT": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [4, 0], "x": 8, "y": 0},
- {"matrix": [4, 1], "x": 9, "y": 0},
- {"matrix": [4, 2], "x": 10, "y": 0},
- {"matrix": [4, 3], "x": 11, "y": 0},
- {"matrix": [4, 4], "x": 12, "y": 0},
- {"matrix": [4, 5], "x": 13, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
+
+ {"matrix": [4, 0], "x": 9, "y": 0},
+ {"matrix": [4, 1], "x": 10, "y": 0},
+ {"matrix": [4, 2], "x": 11, "y": 0},
+ {"matrix": [4, 3], "x": 12, "y": 0},
+ {"matrix": [4, 4], "x": 13, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 0.75, "h": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
- {"matrix": [5, 0], "x": 8, "y": 1},
- {"matrix": [5, 1], "x": 9, "y": 1},
- {"matrix": [5, 2], "x": 10, "y": 1},
- {"matrix": [5, 3], "x": 11, "y": 1},
- {"matrix": [5, 4], "x": 12, "y": 1},
- {"matrix": [5, 5], "x": 13, "y": 1},
- {"matrix": [2, 0], "x": 0, "y": 2},
+
+ {"matrix": [5, 0], "x": 9, "y": 1},
+ {"matrix": [5, 1], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1},
+ {"matrix": [5, 3], "x": 12, "y": 1},
+ {"matrix": [5, 4], "x": 13, "y": 1},
+ {"matrix": [5, 5], "x": 14, "y": 0.75, "h": 1.5},
+
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
- {"matrix": [6, 0], "x": 8, "y": 2},
- {"matrix": [6, 1], "x": 9, "y": 2},
- {"matrix": [6, 2], "x": 10, "y": 2},
- {"matrix": [6, 3], "x": 11, "y": 2},
- {"matrix": [6, 4], "x": 12, "y": 2},
- {"matrix": [6, 5], "x": 13, "y": 2},
- {"matrix": [3, 0], "x": 3.5, "y": 3.25},
- {"matrix": [3, 1], "x": 4.5, "y": 3.5},
- {"matrix": [3, 2], "x": 5.5, "y": 3.75},
- {"matrix": [7, 0], "x": 7.5, "y": 3.75},
- {"matrix": [7, 1], "x": 8.5, "y": 3.5},
- {"matrix": [7, 2], "x": 9.5, "y": 3.25}
+
+ {"matrix": [6, 0], "x": 9, "y": 2},
+ {"matrix": [6, 1], "x": 10, "y": 2},
+ {"matrix": [6, 2], "x": 11, "y": 2},
+ {"matrix": [6, 3], "x": 12, "y": 2},
+ {"matrix": [6, 4], "x": 13, "y": 2},
+
+ {"matrix": [3, 0], "x": 4, "y": 3, "h": 1.5},
+ {"matrix": [3, 1], "x": 5, "y": 3.25, "h": 1.5},
+ {"matrix": [3, 2], "x": 6, "y": 3.5, "h": 1.5},
+
+ {"matrix": [7, 0], "x": 8, "y": 3.5, "h": 1.5},
+ {"matrix": [7, 1], "x": 9, "y": 3.25, "h": 1.5},
+ {"matrix": [7, 2], "x": 10, "y": 3, "h": 1.5}
]
}
}
diff --git a/keyboards/karn/keymaps/colemak/keymap.c b/keyboards/karn/keymaps/colemak/keymap.c
index 585798e8a1..13f23170e1 100644
--- a/keyboards/karn/keymaps/colemak/keymap.c
+++ b/keyboards/karn/keymaps/colemak/keymap.c
@@ -31,34 +31,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// default (colemak)
- [0] = LAYOUT_split_3x6_3(
- KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_NO,
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
HYPR_T(KC_TAB),KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, HYPR_T(KC_ENT),
- KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO,
+ SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),
MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2)
),
// symbols
- [1] = LAYOUT_split_3x6_3(
- _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ [1] = LAYOUT(
+ KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______, _______
),
// nav
- [2] = LAYOUT_split_3x6_3(
- _______, _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______, _______,
+ [2] = LAYOUT(
+ _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______,
_______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______,
- _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
// numbers
- [3] = LAYOUT_split_3x6_3(
- _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ [3] = LAYOUT(
+ TD(TD_F1_F11), TD(TD_F2_F12), 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, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/karn/keymaps/default/keymap.c b/keyboards/karn/keymaps/default/keymap.c
index 5f679552d9..b39fe99d5d 100644
--- a/keyboards/karn/keymaps/default/keymap.c
+++ b/keyboards/karn/keymaps/default/keymap.c
@@ -7,34 +7,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// default (qwerty)
- [0] = LAYOUT_split_3x6_3(
- KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO,
- HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT),
- KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO,
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT),
+ SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),
MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2)
),
// symbols
- [1] = LAYOUT_split_3x6_3(
- _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ [1] = LAYOUT(
+ KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______, _______
),
// nav
- [2] = LAYOUT_split_3x6_3(
- _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______,
+ [2] = LAYOUT(
+ _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______,
_______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______,
- _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
// numbers
- [3] = LAYOUT_split_3x6_3(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ [3] = 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, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/kb_elmo/aek2_usb/config.h b/keyboards/kb_elmo/aek2_usb/config.h
index 92630de5b4..085db9791c 100644
--- a/keyboards/kb_elmo/aek2_usb/config.h
+++ b/keyboards/kb_elmo/aek2_usb/config.h
@@ -22,6 +22,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* reduce EEPROM usage */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
#define LAYER_STATE_8BIT
diff --git a/keyboards/kb_elmo/aek2_usb/info.json b/keyboards/kb_elmo/aek2_usb/info.json
index 693f452f20..8a091a494c 100644
--- a/keyboards/kb_elmo/aek2_usb/info.json
+++ b/keyboards/kb_elmo/aek2_usb/info.json
@@ -13,6 +13,9 @@
"rows": ["D5", "C1", "C4", "D0", "C3", "C2", "B3", "B4"]
},
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "B1",
"num_lock": "B2",
diff --git a/keyboards/kbdcraft/adam64/adam64.c b/keyboards/kbdcraft/adam64/adam64.c
index b0712aec39..db32d2856e 100644
--- a/keyboards/kbdcraft/adam64/adam64.c
+++ b/keyboards/kbdcraft/adam64/adam64.c
@@ -19,80 +19,80 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS14_SW1, CS13_SW1, CS15_SW1},
- {0, CS14_SW2, CS13_SW2, CS15_SW2},
- {0, CS14_SW3, CS13_SW3, CS15_SW3},
- {0, CS14_SW4, CS13_SW4, CS15_SW4},
- {0, CS14_SW5, CS13_SW5, CS15_SW5},
- {0, CS14_SW6, CS13_SW6, CS15_SW6},
- {0, CS14_SW7, CS13_SW7, CS15_SW7},
- {0, CS32_SW1, CS31_SW1, CS33_SW1},
- {0, CS32_SW2, CS31_SW2, CS33_SW2},
- {0, CS32_SW3, CS31_SW3, CS33_SW3},
- {0, CS32_SW4, CS31_SW4, CS33_SW4},
- {0, CS32_SW5, CS31_SW5, CS33_SW5},
- {0, CS32_SW6, CS31_SW6, CS33_SW6},
- {0, CS32_SW7, CS31_SW7, CS33_SW7},
+ {0, SW1_CS14, SW1_CS13, SW1_CS15},
+ {0, SW2_CS14, SW2_CS13, SW2_CS15},
+ {0, SW3_CS14, SW3_CS13, SW3_CS15},
+ {0, SW4_CS14, SW4_CS13, SW4_CS15},
+ {0, SW5_CS14, SW5_CS13, SW5_CS15},
+ {0, SW6_CS14, SW6_CS13, SW6_CS15},
+ {0, SW7_CS14, SW7_CS13, SW7_CS15},
+ {0, SW1_CS32, SW1_CS31, SW1_CS33},
+ {0, SW2_CS32, SW2_CS31, SW2_CS33},
+ {0, SW3_CS32, SW3_CS31, SW3_CS33},
+ {0, SW4_CS32, SW4_CS31, SW4_CS33},
+ {0, SW5_CS32, SW5_CS31, SW5_CS33},
+ {0, SW6_CS32, SW6_CS31, SW6_CS33},
+ {0, SW7_CS32, SW7_CS31, SW7_CS33},
- {0, CS23_SW1, CS24_SW1, CS22_SW1},
- {0, CS23_SW2, CS24_SW2, CS22_SW2},
- {0, CS23_SW3, CS24_SW3, CS22_SW3},
- {0, CS23_SW4, CS24_SW4, CS22_SW4},
- {0, CS23_SW5, CS24_SW5, CS22_SW5},
- {0, CS23_SW6, CS24_SW6, CS22_SW6},
- {0, CS23_SW7, CS24_SW7, CS22_SW7},
- {0, CS35_SW1, CS34_SW1, CS36_SW1},
- {0, CS35_SW2, CS34_SW2, CS36_SW2},
- {0, CS35_SW3, CS34_SW3, CS36_SW3},
- {0, CS35_SW4, CS34_SW4, CS36_SW4},
- {0, CS35_SW5, CS34_SW5, CS36_SW5},
- {0, CS35_SW6, CS34_SW6, CS36_SW6},
- {0, CS35_SW7, CS34_SW7, CS36_SW7},
+ {0, SW1_CS23, SW1_CS24, SW1_CS22},
+ {0, SW2_CS23, SW2_CS24, SW2_CS22},
+ {0, SW3_CS23, SW3_CS24, SW3_CS22},
+ {0, SW4_CS23, SW4_CS24, SW4_CS22},
+ {0, SW5_CS23, SW5_CS24, SW5_CS22},
+ {0, SW6_CS23, SW6_CS24, SW6_CS22},
+ {0, SW7_CS23, SW7_CS24, SW7_CS22},
+ {0, SW1_CS35, SW1_CS34, SW1_CS36},
+ {0, SW2_CS35, SW2_CS34, SW2_CS36},
+ {0, SW3_CS35, SW3_CS34, SW3_CS36},
+ {0, SW4_CS35, SW4_CS34, SW4_CS36},
+ {0, SW5_CS35, SW5_CS34, SW5_CS36},
+ {0, SW6_CS35, SW6_CS34, SW6_CS36},
+ {0, SW7_CS35, SW7_CS34, SW7_CS36},
- {0, CS17_SW1, CS16_SW1, CS18_SW1},
- {0, CS17_SW2, CS16_SW2, CS18_SW2},
- {0, CS17_SW3, CS16_SW3, CS18_SW3},
- {0, CS17_SW4, CS16_SW4, CS18_SW4},
- {0, CS17_SW5, CS16_SW5, CS18_SW5},
- {0, CS17_SW6, CS16_SW6, CS18_SW6},
- {0, CS17_SW7, CS16_SW7, CS18_SW7},
- {0, CS26_SW1, CS25_SW1, CS27_SW1},
- {0, CS26_SW2, CS25_SW2, CS27_SW2},
- {0, CS26_SW3, CS25_SW3, CS27_SW3},
- {0, CS26_SW4, CS25_SW4, CS27_SW4},
- {0, CS26_SW5, CS25_SW5, CS27_SW5},
- {0, CS26_SW7, CS25_SW7, CS27_SW7},
+ {0, SW1_CS17, SW1_CS16, SW1_CS18},
+ {0, SW2_CS17, SW2_CS16, SW2_CS18},
+ {0, SW3_CS17, SW3_CS16, SW3_CS18},
+ {0, SW4_CS17, SW4_CS16, SW4_CS18},
+ {0, SW5_CS17, SW5_CS16, SW5_CS18},
+ {0, SW6_CS17, SW6_CS16, SW6_CS18},
+ {0, SW7_CS17, SW7_CS16, SW7_CS18},
+ {0, SW1_CS26, SW1_CS25, SW1_CS27},
+ {0, SW2_CS26, SW2_CS25, SW2_CS27},
+ {0, SW3_CS26, SW3_CS25, SW3_CS27},
+ {0, SW4_CS26, SW4_CS25, SW4_CS27},
+ {0, SW5_CS26, SW5_CS25, SW5_CS27},
+ {0, SW7_CS26, SW7_CS25, SW7_CS27},
- {0, CS20_SW1, CS19_SW1, CS21_SW1},
- {0, CS20_SW2, CS19_SW2, CS21_SW2},
- {0, CS20_SW3, CS19_SW3, CS21_SW3},
- {0, CS20_SW4, CS19_SW4, CS21_SW4},
- {0, CS20_SW5, CS19_SW5, CS21_SW5},
- {0, CS20_SW6, CS19_SW6, CS21_SW6},
- {0, CS20_SW7, CS19_SW7, CS21_SW7},
- {0, CS29_SW1, CS28_SW1, CS30_SW1},
- {0, CS29_SW2, CS28_SW2, CS30_SW2},
- {0, CS29_SW3, CS28_SW3, CS30_SW3},
- {0, CS29_SW4, CS28_SW4, CS30_SW4},
- {0, CS29_SW5, CS28_SW5, CS30_SW5},
- {0, CS29_SW6, CS28_SW6, CS30_SW6},
- {0, CS29_SW7, CS28_SW7, CS30_SW7},
+ {0, SW1_CS20, SW1_CS19, SW1_CS21},
+ {0, SW2_CS20, SW2_CS19, SW2_CS21},
+ {0, SW3_CS20, SW3_CS19, SW3_CS21},
+ {0, SW4_CS20, SW4_CS19, SW4_CS21},
+ {0, SW5_CS20, SW5_CS19, SW5_CS21},
+ {0, SW6_CS20, SW6_CS19, SW6_CS21},
+ {0, SW7_CS20, SW7_CS19, SW7_CS21},
+ {0, SW1_CS29, SW1_CS28, SW1_CS30},
+ {0, SW2_CS29, SW2_CS28, SW2_CS30},
+ {0, SW3_CS29, SW3_CS28, SW3_CS30},
+ {0, SW4_CS29, SW4_CS28, SW4_CS30},
+ {0, SW5_CS29, SW5_CS28, SW5_CS30},
+ {0, SW6_CS29, SW6_CS28, SW6_CS30},
+ {0, SW7_CS29, SW7_CS28, SW7_CS30},
- {0, CS9_SW1, CS10_SW1, CS8_SW1},
- {0, CS9_SW2, CS10_SW2, CS8_SW2},
- {0, CS9_SW3, CS10_SW3, CS8_SW3},
- {0, CS9_SW6, CS10_SW6, CS8_SW6},
- {0, CS2_SW3, CS1_SW3, CS3_SW3},
- {0, CS2_SW4, CS1_SW4, CS3_SW4},
- {0, CS2_SW5, CS1_SW5, CS3_SW5},
- {0, CS2_SW6, CS1_SW6, CS3_SW6},
- {0, CS2_SW7, CS1_SW7, CS3_SW7}
+ {0, SW1_CS9, SW1_CS10, SW1_CS8},
+ {0, SW2_CS9, SW2_CS10, SW2_CS8},
+ {0, SW3_CS9, SW3_CS10, SW3_CS8},
+ {0, SW6_CS9, SW6_CS10, SW6_CS8},
+ {0, SW3_CS2, SW3_CS1, SW3_CS3},
+ {0, SW4_CS2, SW4_CS1, SW4_CS3},
+ {0, SW5_CS2, SW5_CS1, SW5_CS3},
+ {0, SW6_CS2, SW6_CS1, SW6_CS3},
+ {0, SW7_CS2, SW7_CS1, SW7_CS3}
};
#endif
diff --git a/keyboards/kbdcraft/adam64/config.h b/keyboards/kbdcraft/adam64/config.h
index 511eb7f8ab..5e1cc30cf9 100644
--- a/keyboards/kbdcraft/adam64/config.h
+++ b/keyboards/kbdcraft/adam64/config.h
@@ -24,10 +24,3 @@
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 64
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES \ No newline at end of file
diff --git a/keyboards/kbdcraft/adam64/info.json b/keyboards/kbdcraft/adam64/info.json
index be24ef4c19..d7a96fa577 100644
--- a/keyboards/kbdcraft/adam64/info.json
+++ b/keyboards/kbdcraft/adam64/info.json
@@ -133,7 +133,8 @@
{"flags": 4, "matrix": [4, 11], "x": 176, "y": 40},
{"flags": 4, "matrix": [4, 12], "x": 192, "y": 40},
{"flags": 4, "matrix": [4, 13], "x": 208, "y": 40}
- ]
+ ],
+ "sleep": true
},
"layouts": {
"LAYOUT_64_ansi": {
diff --git a/keyboards/kbdfans/baguette66/rgb/config.h b/keyboards/kbdfans/baguette66/rgb/config.h
index c989f1b121..d309ba55ee 100644
--- a/keyboards/kbdfans/baguette66/rgb/config.h
+++ b/keyboards/kbdfans/baguette66/rgb/config.h
@@ -17,37 +17,5 @@
#pragma once
#define USB_SUSPEND_WAKEUP_DELAY 5000
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
-#define RGB_MATRIX_LED_COUNT 66
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspendedz
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/info.json
index c5ed4717a5..70f0098d40 100644
--- a/keyboards/kbdfans/baguette66/rgb/info.json
+++ b/keyboards/kbdfans/baguette66/rgb/info.json
@@ -26,8 +26,41 @@
"pin": "E6"
},
"rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
+ "sleep": true,
"val_steps": 8,
"speed_steps": 10
},
diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h
index 754f4e1eb8..39e9cce080 100644
--- a/keyboards/kbdfans/bella/rgb/config.h
+++ b/keyboards/kbdfans/bella/rgb/config.h
@@ -15,64 +15,4 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 108
-#define DRIVER_INDICATOR_LED_TOTAL 0
-#endif
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/kbdfans/bella/rgb/info.json b/keyboards/kbdfans/bella/rgb/info.json
index b3b4e385f1..c6486e0b39 100644
--- a/keyboards/kbdfans/bella/rgb/info.json
+++ b/keyboards/kbdfans/bella/rgb/info.json
@@ -9,7 +9,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c
index 8bdc1d8fdf..4818c99005 100644
--- a/keyboards/kbdfans/bella/rgb/rgb.c
+++ b/keyboards/kbdfans/bella/rgb/rgb.c
@@ -15,107 +15,107 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB58 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB71 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB84 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB97 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB7 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB20 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB33 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB46 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB59 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB72 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB85 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB6 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB32 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB45 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB58 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB71 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB84 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB97 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB7 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB20 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB33 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB46 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB59 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB72 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB85 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB5 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB18 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB31 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB44 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB57 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB70 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB83 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB96 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB8 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB21 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB34 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB47 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB60 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB73 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB86 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB5 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB18 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB31 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB44 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB57 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB70 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB83 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB96 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB8 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB21 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB34 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB47 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB60 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB73 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB86 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB4 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB17 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB30 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB43 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB56 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB69 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB82 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB95 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB9 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB22 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB35 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB48 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB61 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB74 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB87 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB4 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB17 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB30 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB43 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB56 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB69 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB82 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB95 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB9 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB22 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB35 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB48 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB61 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB74 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB87 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB3 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB16 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB29*/
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB42 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB55 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB68 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB81 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB94 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB10 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB23 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB36 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB49 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB62 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB88 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB3 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB16 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB29*/
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB42 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB55 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB68 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB81 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB94 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB10 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB23 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB36 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB49 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB62 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB88 */
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB2 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB28 */
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB41 */
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB54 */
- {0, CS6_SW6, CS5_SW6, CS4_SW6}, /* RGB67 */
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB80 */
- {0, CS6_SW8, CS5_SW8, CS4_SW8}, /* RGB93 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB11 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB24 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB37 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB50 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB63 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB76 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB2 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB28 */
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* RGB41 */
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* RGB54 */
+ {0, SW6_CS6, SW6_CS5, SW6_CS4}, /* RGB67 */
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, /* RGB80 */
+ {0, SW8_CS6, SW8_CS5, SW8_CS4}, /* RGB93 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB11 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB24 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB37 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB50 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB63 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB76 */
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB1 */
- {0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB14 */
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB27 */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB103 */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB38 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB51 */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB64 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB77 */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB90 */
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, /* RGB1 */
+ {0, SW2_CS3, SW2_CS2, SW2_CS1}, /* RGB14 */
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, /* RGB27 */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB103 */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB38 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB51 */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB64 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB77 */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB90 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB110 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB19 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB108 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB98 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB112 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB99 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB107 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB100 */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB89 */
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB115 */
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB116 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB25 */
- {0, CS3_SW9, CS2_SW9, CS1_SW9}, /* RGB105 */
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB40 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB110 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB19 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB108 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB98 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB112 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB99 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB107 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB100 */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB89 */
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, /* RGB115 */
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB116 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB25 */
+ {0, SW9_CS3, SW9_CS2, SW9_CS1}, /* RGB105 */
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB40 */
};
led_config_t g_led_config = {
diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h
index 48284a5160..39e9cce080 100644
--- a/keyboards/kbdfans/bella/rgb_iso/config.h
+++ b/keyboards/kbdfans/bella/rgb_iso/config.h
@@ -15,64 +15,4 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 109
-#define DRIVER_INDICATOR_LED_TOTAL 0
-#endif
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/kbdfans/bella/rgb_iso/info.json b/keyboards/kbdfans/bella/rgb_iso/info.json
index d407cb0f7b..17ca4333fd 100644
--- a/keyboards/kbdfans/bella/rgb_iso/info.json
+++ b/keyboards/kbdfans/bella/rgb_iso/info.json
@@ -9,7 +9,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
index e36b811bbc..8d9349e295 100644
--- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
+++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
@@ -15,108 +15,108 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB58 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB71 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB84 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB97 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB7 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB20 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB33 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB46 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB59 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB72 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB85 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB6 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB32 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB45 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB58 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB71 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB84 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB97 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB7 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB20 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB33 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB46 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB59 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB72 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB85 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB5 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB18 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB31 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB44 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB57 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB70 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB83 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB96 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB8 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB21 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB34 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB47 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB60 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB73 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB86 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB5 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB18 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB31 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB44 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB57 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB70 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB83 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB96 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB8 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB21 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB34 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB47 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB60 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB73 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB86 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB4 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB17 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB30 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB43 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB56 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB69 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB82 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB95 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB9 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB22 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB35 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB48 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB61 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB74 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB87 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB4 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB17 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB30 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB43 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB56 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB69 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB82 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB95 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB9 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB22 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB35 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB48 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB61 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB74 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB87 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB3 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB16 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB29*/
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB42 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB55 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB68 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB81 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB94 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB10 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB23 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB36 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB49 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB62 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB88 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB3 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB16 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB29*/
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB42 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB55 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB68 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB81 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB94 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB10 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB23 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB36 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB49 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB62 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB88 */
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB2 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB15 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB28 */
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB41 */
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB54 */
- {0, CS6_SW6, CS5_SW6, CS4_SW6}, /* RGB67 */
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB80 */
- {0, CS6_SW8, CS5_SW8, CS4_SW8}, /* RGB93 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB11 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB24 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB37 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB50 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB63 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB76 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB2 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB15 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB28 */
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* RGB41 */
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* RGB54 */
+ {0, SW6_CS6, SW6_CS5, SW6_CS4}, /* RGB67 */
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, /* RGB80 */
+ {0, SW8_CS6, SW8_CS5, SW8_CS4}, /* RGB93 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB11 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB24 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB37 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB50 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB63 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB76 */
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB1 */
- {0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB14 */
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB27 */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB103 */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB38 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB51 */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB64 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB77 */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB90 */
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, /* RGB1 */
+ {0, SW2_CS3, SW2_CS2, SW2_CS1}, /* RGB14 */
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, /* RGB27 */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB103 */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB38 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB51 */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB64 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB77 */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB90 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB110 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB19 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB108 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB98 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB112 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB99 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB107 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB100 */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB89 */
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB115 */
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB116 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB25 */
- {0, CS3_SW9, CS2_SW9, CS1_SW9}, /* RGB105 */
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB40 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB110 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB19 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB108 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB98 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB112 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB99 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB107 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB100 */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB89 */
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, /* RGB115 */
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB116 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB25 */
+ {0, SW9_CS3, SW9_CS2, SW9_CS1}, /* RGB105 */
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB40 */
};
led_config_t g_led_config = {
diff --git a/keyboards/kbdfans/boop65/rgb/config.h b/keyboards/kbdfans/boop65/rgb/config.h
index e37e2d1763..daf5985996 100644
--- a/keyboards/kbdfans/boop65/rgb/config.h
+++ b/keyboards/kbdfans/boop65/rgb/config.h
@@ -18,61 +18,6 @@
#define USB_SUSPEND_WAKEUP_DELAY 5000
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-# define RGB_MATRIX_LED_COUNT 83
-# define DRIVER_INDICATOR_LED_TOTAL 0
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/boop65/rgb/info.json b/keyboards/kbdfans/boop65/rgb/info.json
index cc780177dc..fc7196bec0 100644
--- a/keyboards/kbdfans/boop65/rgb/info.json
+++ b/keyboards/kbdfans/boop65/rgb/info.json
@@ -9,7 +9,58 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/boop65/rgb/rgb.c b/keyboards/kbdfans/boop65/rgb/rgb.c
index f2b5858966..f70c92812f 100644
--- a/keyboards/kbdfans/boop65/rgb/rgb.c
+++ b/keyboards/kbdfans/boop65/rgb/rgb.c
@@ -18,98 +18,98 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
- {0, CS24_SW1, CS23_SW1, CS22_SW1},
- {0, CS24_SW2, CS23_SW2, CS22_SW2},
- {0, CS24_SW3, CS23_SW3, CS22_SW3},
- {0, CS24_SW4, CS23_SW4, CS22_SW4},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
- {0, CS24_SW6, CS23_SW6, CS22_SW6},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
+ {0, SW1_CS24, SW1_CS23, SW1_CS22},
+ {0, SW2_CS24, SW2_CS23, SW2_CS22},
+ {0, SW3_CS24, SW3_CS23, SW3_CS22},
+ {0, SW4_CS24, SW4_CS23, SW4_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
+ {0, SW6_CS24, SW6_CS23, SW6_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
- {0, CS30_SW6, CS29_SW6, CS28_SW6},
- {0, CS30_SW7, CS29_SW7, CS28_SW7},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
+ {0, SW6_CS30, SW6_CS29, SW6_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
- {0, CS33_SW5, CS32_SW5, CS31_SW5},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+ {0, SW5_CS33, SW5_CS32, SW5_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS36_SW1, CS35_SW1, CS34_SW1},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW1_CS36, SW1_CS35, SW1_CS34},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS39_SW2, CS38_SW2, CS37_SW2},
- {0, CS39_SW3, CS38_SW3, CS37_SW3},
- {0, CS39_SW4, CS38_SW4, CS37_SW4},
- {0, CS39_SW5, CS38_SW5, CS37_SW5},
- {0, CS39_SW7, CS38_SW7, CS37_SW7},
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW2_CS39, SW2_CS38, SW2_CS37},
+ {0, SW3_CS39, SW3_CS38, SW3_CS37},
+ {0, SW4_CS39, SW4_CS38, SW4_CS37},
+ {0, SW5_CS39, SW5_CS38, SW5_CS37},
+ {0, SW7_CS39, SW7_CS38, SW7_CS37},
/* underglow */
- {0, CS18_SW1, CS17_SW1, CS16_SW1},
- {0, CS18_SW3, CS17_SW3, CS16_SW3},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS27_SW2, CS26_SW2, CS25_SW2},
- {0, CS27_SW4, CS26_SW4, CS25_SW4},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
+ {0, SW1_CS18, SW1_CS17, SW1_CS16},
+ {0, SW3_CS18, SW3_CS17, SW3_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW2_CS27, SW2_CS26, SW2_CS25},
+ {0, SW4_CS27, SW4_CS26, SW4_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS39_SW1, CS38_SW1, CS37_SW1},
- {0, CS33_SW6, CS32_SW6, CS31_SW6},
- {0, CS36_SW6, CS35_SW6, CS34_SW6},
- {0, CS39_SW6, CS38_SW6, CS37_SW6}
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW1_CS39, SW1_CS38, SW1_CS37},
+ {0, SW6_CS33, SW6_CS32, SW6_CS31},
+ {0, SW6_CS36, SW6_CS35, SW6_CS34},
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}
};
led_config_t g_led_config = { {
diff --git a/keyboards/kbdfans/bounce/75/hotswap/config.h b/keyboards/kbdfans/bounce/75/hotswap/config.h
index 79f79fdf50..56a23d8321 100644
--- a/keyboards/kbdfans/bounce/75/hotswap/config.h
+++ b/keyboards/kbdfans/bounce/75/hotswap/config.h
@@ -17,6 +17,5 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 )
-#define RGBLIGHT_DEFAULT_SPD 15
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/hotswap/info.json b/keyboards/kbdfans/bounce/75/hotswap/info.json
index ee6f380e4e..f467e2a909 100644
--- a/keyboards/kbdfans/bounce/75/hotswap/info.json
+++ b/keyboards/kbdfans/bounce/75/hotswap/info.json
@@ -33,6 +33,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/kbdfans/bounce/75/soldered/config.h b/keyboards/kbdfans/bounce/75/soldered/config.h
index 79f79fdf50..56a23d8321 100644
--- a/keyboards/kbdfans/bounce/75/soldered/config.h
+++ b/keyboards/kbdfans/bounce/75/soldered/config.h
@@ -17,6 +17,5 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 )
-#define RGBLIGHT_DEFAULT_SPD 15
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/soldered/info.json b/keyboards/kbdfans/bounce/75/soldered/info.json
index 8dd809d5c8..5fc246655d 100644
--- a/keyboards/kbdfans/bounce/75/soldered/info.json
+++ b/keyboards/kbdfans/bounce/75/soldered/info.json
@@ -34,6 +34,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/epoch80/info.json b/keyboards/kbdfans/epoch80/info.json
index 7a67933c2f..7a67933c2f 100644
--- a/keyboards/epoch80/info.json
+++ b/keyboards/kbdfans/epoch80/info.json
diff --git a/keyboards/epoch80/keymaps/default/keymap.c b/keyboards/kbdfans/epoch80/keymaps/default/keymap.c
index 8fa715e675..8fa715e675 100644
--- a/keyboards/epoch80/keymaps/default/keymap.c
+++ b/keyboards/kbdfans/epoch80/keymaps/default/keymap.c
diff --git a/keyboards/epoch80/keymaps/iso/keymap.c b/keyboards/kbdfans/epoch80/keymaps/iso/keymap.c
index 5e6eec8eca..5e6eec8eca 100644
--- a/keyboards/epoch80/keymaps/iso/keymap.c
+++ b/keyboards/kbdfans/epoch80/keymaps/iso/keymap.c
diff --git a/keyboards/epoch80/keymaps/tsangan/keymap.c b/keyboards/kbdfans/epoch80/keymaps/tsangan/keymap.c
index 9b74a7fdcf..9b74a7fdcf 100644
--- a/keyboards/epoch80/keymaps/tsangan/keymap.c
+++ b/keyboards/kbdfans/epoch80/keymaps/tsangan/keymap.c
diff --git a/keyboards/epoch80/keymaps/via/keymap.c b/keyboards/kbdfans/epoch80/keymaps/via/keymap.c
index 032ee3aaac..032ee3aaac 100644
--- a/keyboards/epoch80/keymaps/via/keymap.c
+++ b/keyboards/kbdfans/epoch80/keymaps/via/keymap.c
diff --git a/keyboards/kudox/columner/keymaps/via/rules.mk b/keyboards/kbdfans/epoch80/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/kudox/columner/keymaps/via/rules.mk
+++ b/keyboards/kbdfans/epoch80/keymaps/via/rules.mk
diff --git a/keyboards/epoch80/keymaps/wkl/keymap.c b/keyboards/kbdfans/epoch80/keymaps/wkl/keymap.c
index e673ee248b..e673ee248b 100644
--- a/keyboards/epoch80/keymaps/wkl/keymap.c
+++ b/keyboards/kbdfans/epoch80/keymaps/wkl/keymap.c
diff --git a/keyboards/kbdfans/epoch80/readme.md b/keyboards/kbdfans/epoch80/readme.md
new file mode 100644
index 0000000000..b029b5bd99
--- /dev/null
+++ b/keyboards/kbdfans/epoch80/readme.md
@@ -0,0 +1,20 @@
+# Epoch 80 / Dolch.CR 80
+
+![epoch80](https://i.imgur.com/xNvEKBOl.png)
+
+Dolch PAC inspired TKL keyboard designed by Cary Works and made by KBDFans.
+The board was also sold in a zFrontier groupbuy under the name Dolch.CR 80.
+
+* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo)
+* Hardware Supported: Epoch 80 / Dolch.CR 80 PCB
+* Hardware Availability: https://kbdfans.com/collections/80-diy-kit/products/coming-soon-epoch-80-mechanical-keyboard
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/epoch80:default
+
+Flashing example for this keyboard:
+
+ make kbdfans/epoch80:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/epoch80/rules.mk b/keyboards/kbdfans/epoch80/rules.mk
index 6fe874e748..6fe874e748 100644
--- a/keyboards/epoch80/rules.mk
+++ b/keyboards/kbdfans/epoch80/rules.mk
diff --git a/keyboards/jm60/board.h b/keyboards/kbdfans/jm60/board.h
index c1c37c0659..c1c37c0659 100644
--- a/keyboards/jm60/board.h
+++ b/keyboards/kbdfans/jm60/board.h
diff --git a/keyboards/jm60/chconf.h b/keyboards/kbdfans/jm60/chconf.h
index 5bceae30ab..5bceae30ab 100644
--- a/keyboards/jm60/chconf.h
+++ b/keyboards/kbdfans/jm60/chconf.h
diff --git a/keyboards/jm60/config.h b/keyboards/kbdfans/jm60/config.h
index 4b007cf387..4b007cf387 100644
--- a/keyboards/jm60/config.h
+++ b/keyboards/kbdfans/jm60/config.h
diff --git a/keyboards/jm60/info.json b/keyboards/kbdfans/jm60/info.json
index 496637383f..496637383f 100644
--- a/keyboards/jm60/info.json
+++ b/keyboards/kbdfans/jm60/info.json
diff --git a/keyboards/jm60/jm60.c b/keyboards/kbdfans/jm60/jm60.c
index cffb33d695..cffb33d695 100644
--- a/keyboards/jm60/jm60.c
+++ b/keyboards/kbdfans/jm60/jm60.c
diff --git a/keyboards/kbdfans/jm60/keymaps/default/keymap.c b/keyboards/kbdfans/jm60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d063afa0fd
--- /dev/null
+++ b/keyboards/kbdfans/jm60/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+// Copyright QMK
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BL,
+ _FL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: (Base Layer) Default Layer
+ * ,-----------------------------------------------------------.
+ * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
+ * |-----------------------------------------------------------|
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
+ * |-----------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
+ * |-----------------------------------------------------------|
+ * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
+ * `-----------------------------------------------------------'
+ */
+ [_BL] = LAYOUT_60_ansi(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_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, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL
+ ),
+
+ /* Keymap _FL: Function Layer
+ */
+ [_FL] = LAYOUT_60_ansi(
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/jm60/keymaps/poker3/keymap.c b/keyboards/kbdfans/jm60/keymaps/poker3/keymap.c
index ee1583eab7..ee1583eab7 100644
--- a/keyboards/jm60/keymaps/poker3/keymap.c
+++ b/keyboards/kbdfans/jm60/keymaps/poker3/keymap.c
diff --git a/keyboards/jm60/ld/jm60_bootloader.ld b/keyboards/kbdfans/jm60/ld/jm60_bootloader.ld
index 2a0ab2e8e7..2a0ab2e8e7 100644
--- a/keyboards/jm60/ld/jm60_bootloader.ld
+++ b/keyboards/kbdfans/jm60/ld/jm60_bootloader.ld
diff --git a/keyboards/jm60/mcuconf.h b/keyboards/kbdfans/jm60/mcuconf.h
index 276829216e..276829216e 100644
--- a/keyboards/jm60/mcuconf.h
+++ b/keyboards/kbdfans/jm60/mcuconf.h
diff --git a/keyboards/kbdfans/jm60/readme.md b/keyboards/kbdfans/jm60/readme.md
new file mode 100644
index 0000000000..545124f3aa
--- /dev/null
+++ b/keyboards/kbdfans/jm60/readme.md
@@ -0,0 +1,21 @@
+# JM60
+
+A compact 60% keyboard with full RGB led support.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: JM60
+* Hardware Availability: https://kbdfans.myshopify.com/ (is no longer sold)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/jm60: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).
+
+## Flashing Instructions
+
+1) rename 'jm60_default.bin' to 'jm60_default.firmware'
+
+2) Press 'R' and reconnect the keyboard.
+
+3) Start the original Configuration Tool and flash 'jm60_default.bin'
diff --git a/keyboards/jm60/rules.mk b/keyboards/kbdfans/jm60/rules.mk
index 5dbf13f5e7..5dbf13f5e7 100644
--- a/keyboards/jm60/rules.mk
+++ b/keyboards/kbdfans/jm60/rules.mk
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/config.h b/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/config.h
deleted file mode 100644
index 16497ddf0f..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#define FORCE_NKRO
-
-#define MOUSEKEY_DELAY 50
-#define MOUSEKEY_INTERVAL 15
-#define MOUSEKEY_MAX_SPEED 4
-#define MOUSEKEY_TIME_TO_MAX 50
-#define MOUSEKEY_WHEEL_MAX_SPEED 1
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 50
-
-#define NO_ACTION_FUNCTION
-#define NO_ACTION_MACRO
-#define NO_ACTION_ONESHOT
-
-#define PERMISSIVE_HOLD
-#define TAPPING_TERM 200
-#define TAPPING_TOGGLE 2
-#define TAP_HOLD_CAPS_DELAY 50
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/keymap.c
deleted file mode 100644
index 4b00cc63ff..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define FN MO(L_FN)
-#define FN_CAPS LT(L_FN, KC_CAPS)
-#define FN_ESC LT(L_FN, KC_ESC)
-#define FN_FNLK TT(L_FN)
-
-#define MV_UP LCTL(KC_UP)
-#define MV_DOWN LCTL(KC_DOWN)
-#define MV_LEFT LCTL(KC_LEFT)
-#define MV_RGHT LCTL(KC_RGHT)
-#define TOP LCTL(KC_HOME)
-#define BOTTOM LCTL(KC_END)
-
-enum keycodes {
- CLEAR = SAFE_RANGE,
-};
-
-enum layers {
- L_BASE,
- L_FN,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CLEAR:
- if (record->event.pressed) {
- SEND_STRING(SS_LCTL("a") SS_TAP(X_DELETE));
- }
- return false;
-
- default:
- return true;
- }
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │PSc│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │FnEsc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │LCtl│LGui│LAlt│ Space │RAlt│FnLk│ │ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [L_BASE] = 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_BSLS, KC_GRV, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- FN_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_FNLK, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Function layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│NLk│SLk│Pau│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
- * │ │M2 │M↑ │M1 │M3 │ │ │ │ │Stp│Ply│Prv│Nxt│Clear│Ins│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │M↠│M↓ │M→ │MW↑│ │ │Mvâ†â”‚ ↓ │ ↑ │Mv→│ │ │Top│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │MA0│MA2│MWâ†â”‚MW→│ │ │App│Vo-│Vo+│Mut│ │PgU│Btm│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │DtPR│DtNA│ MW↓ │ │ │ │Hom│PgD│End│
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
- [L_FN] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUM, KC_SCRL, KC_PAUS,
- _______, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, KC_INS,
- _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, MV_LEFT, KC_DOWN, KC_UP, MV_RGHT, _______, _______, _______, TOP,
- _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, BOTTOM,
- _______, _______, _______, KC_WH_D, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-};
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/rules.mk b/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/rules.mk
deleted file mode 100644
index 0bef91295e..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/stevanmilic/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-COMMAND_ENABLE = yes
-CONSOLE_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-NKRO_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/config.h b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/config.h
deleted file mode 100644
index cc06440e0d..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// Enable cmd-option-escape on mac.
-#define GRAVE_ESC_ALT_OVERRIDE
-
-// place overrides here
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
deleted file mode 100644
index 33245acc51..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright 2019 Yonatan Zunger
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- // Use this instead of RALT, so we can use it to switch layers but not trigger other alt-related
- // behavior (like GRAVE_ESC_ALT_OVERRIDE).
- MAGIC = SAFE_RANGE,
-};
-
-enum layers_keymap {
- _QWERTY = 0,
- _FUNCTION,
-
- _MAGIC,
- _SHIFTMAGIC,
-};
-
-// This is so that H(xxxx) has the same width as _______, which makes the grids more legible.
-#define H(x) UC(0x##x)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Del|Brk|Home|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |End |
- * |----------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
- * |----------------------------------------------------------------|
- * |Ctrl|Alt |Win | Space |Alt| FN |||||Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BRK, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MAGIC, MO(_FUNCTION), KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer. Blank keys are deliberately NO, not TRNS.
- * ,----------------------------------------------------------------.
- * |Rst |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|F13|PSc|PAUS|
- * |----------------------------------------------------------------|
- * |Debug| | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * |Ctrl | |Vo+| | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * |Shift |REV|Vo-|FWD| | | | | | | | McL|MsU|McR |
- * |----------------------------------------------------------------|
- * |Ctrl|Alt |Win | |Alt| |||||MsL|MsD|MsR |
- * `----------------------------------------------------------------'
- */
-[_FUNCTION] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_MPLY,
- DB_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
- _______, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- _______, KC_MRWD, KC_VOLD, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2,
- _______, _______, _______, KC_NO, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R),
-
- /* Mathematical lower layer. Blank keys are TRNS.
- * Note that escape turns into grave here. This doesn't just generalize GRAVE_ESC; it means that
- * magic+esc is a way to create backticks without a dedicated key.
- * ,----------------------------------------------------------------.
- * | ` | ¹| ² | ³ | ⴠ| ⵠ| ⶠ| ⷠ| ⸠| ⹠| Ⱐ| ⻠| ⺠| ⊕ | ≠ | √ |
- * |----------------------------------------------------------------|
- * | | ± | ω | ε | Ï | Ï„ | θ | Ï… | ι | ο | Ï€ | ∃ | ∀ | â„š | â„ |
- * |----------------------------------------------------------------|
- * | | α | σ | δ | φ | γ | η | ∅ | κ | λ | ∨ | ∧ | | ℕ |
- * |----------------------------------------------------------------|
- * | | ζ | ξ | χ | ψ | β | ν | μ | ≲ | ≳ | ∈ | | ↑ | ↔ |
- * |----------------------------------------------------------------|
- * | | | | | | ||||| ↠| ↓ | → |
- * `----------------------------------------------------------------'
- */
-[_MAGIC] = LAYOUT(
- KC_GRV, H(00b9), H(00b2), H(00b3), H(2074), H(2075), H(2076), H(2077), H(2078), H(2079), H(2070), H(207b), H(207a), H(2295), H(2260), H(221a),
- _______, H(00b1), H(03c9), H(03b5), H(03c1), H(03c4), H(03b8), H(03c5), H(03b9), H(03bf), H(03c0), H(2203), H(2200), H(211a), H(211d),
- _______, H(03b1), H(03c3), H(03b4), H(03c6), H(03b3), H(03b7), H(2205), H(03ba), H(03bb), H(2228), H(2227), _______, H(2115),
- _______, H(03b6), H(03be), H(03c7), H(03c8), H(03b2), H(03bd), H(03bc), H(2272), H(2273), H(2208), _______, H(2191), H(2194),
- _______, _______, _______, _______, _______, _______, H(2190), H(2193), H(2192)),
-
- /* Mathematical upper layer. Blank keys are TRNS.
- * ,----------------------------------------------------------------.
- * | ` | â‚| â‚‚ | ₃ | â‚„ | â‚… | ₆ | ₇ | ₈ | ₉ | â‚€ | â‚‹ | â‚Š | ⊗ | ≈ | ∂ |
- * |----------------------------------------------------------------|
- * | | ∓ | Ω | Ε | Ρ | Τ | Θ | Υ | Ι | Ο | Π | ∄ | ∞ | ⊙ | ℂ |
- * |----------------------------------------------------------------|
- * | | Α | Σ | Δ | Φ | Γ | Η | ¬ | Κ | Λ | ∪ | ∩ | | ℤ |
- * |----------------------------------------------------------------|
- * | | Ζ | Ξ | Χ | Ψ | Β | Π| Μ | ⊆ | ⊇ | ∉ | | ⇑ | ⇔ |
- * |----------------------------------------------------------------|
- * | | | | | | ||||| ⇠| ⇓ | ⇒ |
- * `----------------------------------------------------------------'
- */
-[_SHIFTMAGIC] = LAYOUT(
- KC_GRV, H(2081), H(2082), H(2083), H(2084), H(2085), H(2086), H(2087), H(2088), H(2089), H(2080), H(208b), H(208a), H(2297), H(2248), H(2202),
- _______, H(2213), H(03a9), H(0395), H(03a1), H(03a4), H(0398), H(03a5), H(0399), H(039f), H(03a0), H(2204), H(221e), H(2299), H(2102),
- _______, H(0391), H(03a3), H(0394), H(03a6), H(0393), H(0397), H(00ac), H(039a), H(039b), H(222a), H(2229), _______, H(2124),
- _______, H(0396), H(039e), H(03a7), H(03a8), H(0392), H(039d), H(039c), H(2286), H(2287), H(2209), _______, H(21d1), H(21d4),
- _______, _______, _______, _______, _______, _______, H(21d0), H(21d3), H(21d2)),
-};
-
-// Layer bitfields.
-#define MAGIC_LAYER (1UL << _MAGIC)
-#define SHIFTMAGIC_LAYER (1UL << _SHIFTMAGIC)
-// The layers we don't touch.
-#define LAYER_MASK ~(MAGIC_LAYER|SHIFTMAGIC_LAYER)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // Activate the appropriate magic layer:
- // User is holding AltGr+Shift => _SHIFTMAGIC
- // User is holding AltGr => _MAGIC
- // Not holding AltGr => None
- // We do this the efficient way, by grabbing the non-magic bits from the current layer bitmap,
- // setting the appropriate magic or shiftmagic bit, and doing an absolute layer set. (Layer
- // sets are nontrivial, so we don't want to do extras!)
-
- // We track shift and AltGr state on our own, because this function is called before get_mods is
- // updated!
- static bool shifted = false;
- static bool magic = false;
-
- if (keycode == KC_LSFT || keycode == KC_RSFT) {
- shifted = record->event.pressed;
- } else if (keycode == MAGIC) {
- magic = record->event.pressed;
- } else if (keycode == QK_BOOT) {
- // Safe reset: Only actually let this keycode through if shift is held as well. Since there's no
- // right-shift in the function layer, this means that reset is Fn+LShift+Esc, something you're
- // not likely to hit by accident. (Especially since AltGr+Esc is backtick!)
- return (record->event.pressed && shifted);
- }
-
- // Update the layer.
- uint32_t new_layer_state = layer_state & LAYER_MASK;
- if (magic) {
- new_layer_state |= (shifted ? SHIFTMAGIC_LAYER : MAGIC_LAYER);
- }
- if (layer_state != new_layer_state) {
- layer_state_set(new_layer_state);
- }
-
- return true;
-}
-
-void eeconfig_init_user(void) {
- set_unicode_input_mode(UNICODE_MODE_MACOS);
-}
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/readme.md b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/readme.md
deleted file mode 100644
index 923a4824a5..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-* Custom keymap for kbd67, for those who need to both code and type math.
-* Author: Yonatan Zunger (zunger@gmail.com)
-
-This keymap is presently rather Mac-centric, as it uses Mac media keys in its function layer and the
-OS X Unicode input mode for the "magic" layers.
-
-*Layer 0 (Base QWERTY):* The layout has a few minor quirks: grave escape, Home/End/PgUp/PgDn in the
-right-hand column (rather than the more common Home/PgUp/PgDn/End), and a pause key between
-backspace and home -- this being something I use for screen lock, a necessity when one works with
-and sits next to security engineers. (Using a heavier switch on the pause key greatly reduces the
-risk of accidental triggering) In OS X style, alt and win are swapped on the left-hand side.
-
-The right-hand alt and gui keys take on a different meaning: right-alt lives up to its old name of
-AltGr by invoking Greek (the "magic" layers, 2 and 3), and right-gui invokes the function layer.
-
-*Layer 1 (Functions):* This layer deliberately sets KC_NO for the keys it doesn't use. I realize
-this isn't common, but I like to keep my functions quite distinct from all other layers.
-
-RESET can be accessed at Fn+Left Shift+Escape.
-
-*Layers 2 and 3*: These are invoked by the "magic" key (AltGr) and by magic+shift. The
-letters mostly produce Greek; the numbers, superscripts (magic) and subscripts (magic+shift); and
-the various other keys, mathematical symbols. There unfortunately aren't nearly enough keys for all
-the symbols I'd like, so magic+alt and magic+alt+shift may end up existing as well, giving this a
-proper Space Cadet effect; but that said, it's going to be hard to remember where all these symbols
-are without some extremely custom keycaps. In the limit of arbitrarily complex layers, the keyboard
-will probably start running LISP and turn into EMACS.
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/rules.mk b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/rules.mk
deleted file mode 100644
index a61cfa33fa..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# You need Unicode for this map.
-UNICODE_ENABLE = yes # Unicode
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/config.h b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/config.h
deleted file mode 100644
index 4fcd773552..0000000000
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 200
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
deleted file mode 100644
index 637ea3e2c8..0000000000
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Compile from qmk_firmware folder with the following command:
-// $ make kbdfans/kbd67/mkii-soldered:adamdehaven
-
-// Each layer gets a name for readability. The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, and you can also skip them entirely and just use numbers.
-#define _QWERTY 0
-#define _FN1 1
-
-// Tap Dance Definitions
-enum tapdance {
- TD_HOME = 0,
- TD_END
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for Home, twice for PageUp
- [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_PGUP),
- // Tap once for End, twice for PageDown
- [TD_END] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_PGDN)
-};
-
-/*
- * You can use _______ in place for KC_TRNS (transparent)
- * Or you can use XXXXXXX for KC_NO (NOOP)
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* 0: _QWERTY
- * ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────â”
- * │ QK_GESC │ KC_1 │ KC_2 │ KC_3 │ KC_4 │ KC_5 │ KC_6 │ KC_7 │ KC_8 │ KC_9 │ KC_0 │ KC_MINS │ KC_EQL │ KC_BSPC (2) │ 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 │ TD_HOME │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────────┼─────────┤
- * │ KC_CAPS │ KC_A │ KC_S │ KC_D │ KC_F │ KC_G │ KC_H │ KC_J │ KC_K │ KC_L │ KC_SCLN │ KC_QUOT │ KC_ENT │ TD_END │
- * ├────────────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────────────┬─────────┼─────────┤
- * │ KC_LSFT (2) │ KC_Z │ KC_X │ KC_C │ KC_V │ KC_B │ KC_N │ KC_M │ KC_COMM │ KC_DOT │ KC_SLSH │ KC_RSFT │ KC_UP │ MO(_FN1)│
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬┴────────┬─┴───────┬─────────┼─────────┼─────────┤
- * │ KC_LCTL │ KC_LGUI │ KC_LALT │ KC_SPC │ KC_RALT │ KC_RCTL │ │ KC_LEFT │ KC_DOWN │ KC_RGHT │
- * └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
- */
- [_QWERTY] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, TD(TD_HOME),
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, TD(TD_END),
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* 1: _FN1
- * ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────────────────┬─────────â”
- * │ QK_BOOT │ KC_F1 │ KC_F2 │ KC_F3 │ KC_F4 │ KC_F5 │ KC_F6 │ KC_F7 │ KC_F8 │ KC_F9 │ KC_F10 │ KC_F11 │ KC_F12 │ _______ (2) │ KC_MUTE │
- * ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_PSCR │ _______ │ _______ │ _______ │ KC_VOLU │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_VOLD │
- * ├────────────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────────────┬─────────┼─────────┤
- * │ _______ (2) │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_MPLY │ _______ │
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ │ KC_MPRV │ KC_MPLY │ KC_MNXT │
- * └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
- */
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
- )
-};
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/rules.mk b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c
deleted file mode 100644
index 2158d6d126..0000000000
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
- /* Copyright 2020 King Wang Wong
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* 0: _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_GRV│ KC_INS│ KC_DEL │
- * ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──┴───────┼─────────┤
- * │ KC_TAB │ KC_Q │ KC_W │ KC_E │ KC_R │ KC_T │ KC_Y │ KC_U │ KC_I │ KC_O │ KC_P │ KC_LBRC │ KC_RBRC │ KC_BSLS │ KC_PGUP │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────┼─────────┤
- * │ CTRL │ KC_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 │ MO(1) │
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴───────┬─┴─────────┼─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───┬─────────┼─────────┼─────────┤
- * │ KC_LCTL │ KC_LGUI │ KC_LALT │ KC_SPC │ MO(1) │ KC_BSPC │ KC_RALT │ KC_RCTL │ │ KC_LEFT │ KC_DOWN │ KC_RGHT │
- * └───────────┴───────────┴───────────┴───────────────────────┴───────────┴───────────────────────────┴─────────┴─────────┴─────┴─────────┴─────────┴─────────┘
- */
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_INS, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_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_PGDN,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* 1: _FN1
- * ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────┬───────┬─────────â”
- * │ GRAVE │ KC_F1 │ KC_F2 │ KC_F3 │ KC_F4 │ KC_F5 │ KC_F6 │ KC_F7 │ KC_F8 │ KC_F9 │ KC_F10 │ KC_F11 │ KC_F12 │ ____│__ (2) │ QK_BOOT │
- * ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──┴───────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_VOLU │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────┼─────────┤
- * │ CAPS │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_VOLD │
- * ├────────────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────────┬─────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───┬─────────┼─────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ │ _______ │ _______ │ _______ │
- * └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────┴─────────┴─────────┴─────────┘
- */
- [1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE,
- _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-}; \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
deleted file mode 100644
index bb3409256c..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2019 dnsnrk
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 */
-#undef DEBOUNCE
-#define DEBOUNCE 8
-#undef TAPPING_TOGGLE
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c
deleted file mode 100644
index 826977fbf5..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright 2019 dnsnrk
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 RC_ENT RCTL_T(KC_ENT)
-#define LC_CPS LCTL_T(KC_CAPS)
-
-enum {
- _LAYER0 = 0,
- _LAYER1,
- _LAYER2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_LAYER0] = LAYOUT_65_ansi_blocker( /* Base 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_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- LC_CPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, RC_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, TT(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TT(1), KC_LEFT, KC_DOWN, KC_RIGHT),
- [_LAYER1] = LAYOUT_65_ansi_blocker( /* FN, RGB Controls */
- KC_GRV, KC_F1, 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_PWR,
- _______, RGB_TOG, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME,
- _______, RGB_RMOD, RGB_SPD, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, RGB_VAI, _______,
- _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI),
- [_LAYER2] = LAYOUT_65_ansi_blocker( /* Media, Programming */
- _______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_EJCT, _______,
- _______, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
-
-void set_hsv_at(HSV hsv, uint8_t index);
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (rgb_matrix_config.enable) {
- HSV hsv = rgb_matrix_config.hsv;
- if (host_keyboard_led_state().caps_lock) {
- HSV hsv_inv_hue = {hsv.h + 128, hsv.s, hsv.v};
- set_hsv_at(hsv_inv_hue, 30);
- }
- // indicate which higher layer is currently active on which key
- HSV hsv1 = {hsv.h - 64, hsv.s, hsv.v};
- HSV hsv2 = {hsv.h + 64, hsv.s, hsv.v};
- // except when we are in any animated LED mode
- if (rgb_matrix_config.mode < RGB_MATRIX_BREATHING || rgb_matrix_config.mode > RGB_MATRIX_JELLYBEAN_RAINDROPS) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- keypos_t pos = {col, row};
- uint8_t key_layer = layer_switch_get_layer(pos);
- uint8_t key_led = g_led_config.matrix_co[row][col];
- if (key_led != NO_LED) {
- switch(key_layer) {
- case _LAYER2:
- set_hsv_at(hsv2, key_led);
- break;
- case _LAYER1:
- set_hsv_at(hsv1, key_led);
- break;
- default:
- break;
- }
- }
- }
- }
- }
- // sticky layer indicators regardless of RGB mode. Hardcoded for lack of better idea.
- set_hsv_at(hsv1, 63);
- set_hsv_at(hsv2, 57);
- }
- return false;
-}
-
-void set_hsv_at(HSV hsv, uint8_t index) {
- RGB rgb = hsv_to_rgb(hsv);
- rgb_matrix_set_color(index, rgb.r, rgb.g, rgb.b);
-}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/readme.md
deleted file mode 100644
index 5554b03e5d..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/readme.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# dnsnrk's KDB67 MKII Layout
-
-* This is a three layer layout wih some consolidated functionality in the second and third layer.
-* The keyboard is mostly used on macOS, but also on Linux and therefore it can swap ALT/CMD.
-* There are additional CTRL keys for left and right when caps lock or enter key is held.
-* Layers can be toggled (tap twice) or actived momentarily (hold).
-* There are 2 seperate FN keys to activate layer 1 and 2 separately, indicated by different RGB colors.
-* The main custom feature is using RGB to indicate the current active layer for each key. This is best achieved in solid color RGB modes.
-
-## Layer 0
-
-This is the base QUERTY layer.
-
-* Grave is provided in the top right corner.
-* Caps lock is tapped once on and off and indicated by hue inverted LED when on.
-* Caps lock and enter become CTRL when held.
-* Primary Fn in the last row activates layer 1, indicated by hue shifted LED color.
-* Secondary Fn right to the up arrow key activates layer 2, indicated by 2nd hue shifted LED color.
-* Toggle layers by tapping Fn twice or switch on by holding Fn.
-
-## Layer 1
-
-This layer activates function keys and provides RGB controls. Keys acting on this layer are indicated by an LED color matching the current Fn key's LED color.
-
-* Number keys become equivalent function keys.
-* ESC becomes Grave.
-* Grave becomes POWER (very useful on macOS only).
-* Q toggles RGB.
-* WASD for navigating through RGB modes and adjusting speed.
-* <> control RGB saturation.
-* Arrow keys shift hue and adjust brightness.
-* PgUp, PgDown become HOME and END respectively.
-* Backspace acts as delete, pipe as insert.
-
-## Layer 2
-
-This layer comprises most macOS media keys at the top row and some additional programming options. Keys acting on this layer are indicated by an LED color matching the current Fn key's LED color.
-
-* N, M swap ALT/CMD for (N)ormal or (M)acOS.
-* E resets (E)EPROM.
-* R (R)esets keyboard.
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json
deleted file mode 100644
index c15ab8c85a..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json
+++ /dev/null
@@ -1 +0,0 @@
-{"keyboard":"kbdfans/kbd67/mkiirgb","keymap":"default_37b6a2a","layout":"LAYOUT_65_ansi_blocker","layers":[["QK_GESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_BSPC","KC_CALC","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGUP","MO(1)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["KC_GRV","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SCRL","KC_PAUS","QK_BOOT","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EE_CLR","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(2)","KC_MPRV","KC_VOLD","KC_MNXT"],["QK_GESC","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_BSPC","KC_CALC","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGUP","MO(3)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_TRNS","KC_LEFT","KC_DOWN","KC_RGHT"],["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SCRL","KC_PAUS","QK_BOOT","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EE_CLR","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(0)","KC_MPRV","KC_VOLD","KC_MNXT"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c
deleted file mode 100644
index 10ccb4ca46..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_CALC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EE_CLR, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(2), KC_MPRV, KC_VOLD, KC_MNXT),
- [2] = LAYOUT_65_ansi_blocker(QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_CALC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT),
- [3] = LAYOUT_65_ansi_blocker(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EE_CLR, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(0), KC_MPRV, KC_VOLD, KC_MNXT)
-};
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json
deleted file mode 100644
index 4fe0b20d9b..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json
+++ /dev/null
@@ -1 +0,0 @@
-[["QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_CALC", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_PGUP", "MO(1)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SCRL", "KC_PAUS", "QK_BOOT", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EE_CLR", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(2)", "KC_MPRV", "KC_VOLD", "KC_MNXT"], ["QK_GESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_BSPC", "KC_CALC", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_PGUP", "MO(3)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SCRL", "KC_PAUS", "QK_BOOT", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EE_CLR", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(0)", "KC_MPRV", "KC_VOLD", "KC_MNXT"]] \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/readme.md
deleted file mode 100644
index 8a7b230dbf..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/readme.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Layout description
-
-* This layout features 4 layers. The caps lock key has been replaced by the FN key.
-* The first layer features ESC/~ and numbers and symbols on the top row of the keyboard.
-* The top right key launches calculator.
-* Pressing the FN key activates a temporary second layer. This layer contains:
- * ESC/~ is now `/~
- * WASD to move your mouse up, left, down, right respectively.
- * Q and E click left and right mouse respectively.
- * R and F scroll mousewheel up and down respectively.
- * IJKL act as up, left, down, right arrows respectively.
- * UP/DOWN keys act as volume UP/DOWN
- * LEFT/RIGHT keys act as previous/next track.
- * The key below the calculator key launches 'This PC'
- * RGB Controls
- * Z toggles ON/OFF
- * X toggles RGB_MODE
- * C and V increase/decrease brightness
- * B and N increase/decrease effect
- * M and , increase/decrease hue
- * H and J increase/decrease saturation
-* Pressing RIGHT CTRL whilst holding the FN key allows you to swap to the third layer.
- * This layer can switch to the fourth layer by holding the FN key.
-* The third and fourth layer are essentially copies of the first and second layer and offer the same functionalities, however the third and fourth layer have the F-keys and Num/Symbol keys swapped.
-
-## Layer 0
-
-![](https://i.imgur.com/9U9PaTw.png)
-
-## Layer 1
-
-![](https://i.imgur.com/rqqjiyn.png)
-
-## Layer 2
-
-![](https://i.imgur.com/A7YkrTF.png)
-
-## Layer 3
-
-![](https://i.imgur.com/sxJ1ocF.png)
-
-# Generated Keymap Layout
-
-This layout was generated by the QMK API. You can find the JSON data used to
-generate this keymap in the file layers.json.
-
-To make use of this file you will need follow the following steps:
-
-* Download or Clone QMK Firmware: <https://github.com/qmk/qmk_firmware/>
-* Extract QMK Firmware to a location on your hard drive
-* Copy this folder into %s
-* You are now ready to compile or use your keymap with the source
-
-More information can be found in the QMK docs: <https://docs.qmk.fm> \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
deleted file mode 100644
index dcc998f035..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2021 Pascal Pfeil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* 1000Hz USB polling */
-#define USB_POLLING_INTERVAL_MS 1
-
-/* Force NKRO on boot up */
-#define FORCE_NKRO
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# undef RGB_MATRIX_TIMEOUT
-# define RGB_MATRIX_TIMEOUT 900000
-#endif
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/keymap.c
deleted file mode 100644
index df4bceed3f..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 Pascal Pfeil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, BS_NORM, RGB_VAI,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BS_SWAP, RGB_HUI,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_SPI,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
- KC_TRNS, AG_NORM, AG_SWAP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_65_ansi_blocker(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_65_ansi_blocker(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h
deleted file mode 100644
index c66f49213a..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2022 spx01 (@spx01)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* --- custom defines only used in my own code --- */
-
-/* easily switch on debugging features */
-#define CUSTOM_DEBUG false
-
-/* hexrgb mode special keys, these shouldn't be KC_A to KC_F or KC_0 to KC_9 */
-/* keycode that triggers saving the current rgb_static color into eeprom */
-#define HEXRGB_SAVE_KC KC_S
-/* keycode that triggers resetting rgb_static to the color saved in the eeprom */
-#define HEXRGB_RESET_KC KC_R
-
-/* --- keyboard configuration macros --- */
-
-#if CUSTOM_DEBUG
-# define NO_DEBUG
-# define NO_PRINT
-#endif
-
-#define RETRO_TAPPING
-#define PERMISSIVE_HOLD
-
-#undef RGB_MATRIX_DEFAULT_MODE
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_RGB_STATIC
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c
deleted file mode 100644
index 8c814b86bb..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Copyright 2022 spx01 (@spx01)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "print.h"
-
-enum CustomKeycodes {
- CK_HEXRGB = SAFE_RANGE,
- /* esc when shift is held, grave otherwise; particularly useful for windows' task manager shortcut */
- CK_ESCG,
-};
-
-enum Layers {
- _LAYER1,
- _LAYER2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [_LAYER1] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- LT(_LAYER2, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
- [_LAYER2] = LAYOUT_65_ansi_blocker(
- CK_ESCG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, CK_HEXRGB, KC_MPLY, KC_VOLU, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
- /* [] = LAYOUT_65_ansi_blocker(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), */
- // clang-format on
-};
-
-/* exported by the rgb_static effect */
-void RGB_STATIC_save_eeprom(void);
-void RGB_STATIC_reset(void);
-extern uint8_t g_rgb_static_color[3];
-
-/* returns number corresponding to hex digit represented by keycode or -1 if keycode isn't a valid hex digit */
-static int8_t key_hexdigit(uint16_t keycode) {
- if (keycode >= KC_A && keycode <= KC_F) {
- return keycode - KC_A + 10;
- }
- if (keycode >= KC_1 && keycode <= KC_0) {
- int8_t res = keycode - KC_1 + 1;
- /* mod 10 considering res is between 1 and 10 */
- res *= res != 10;
- return res;
- }
- return -1;
-}
-
-typedef struct {
- bool active;
- uint8_t color[3];
- uint8_t count;
-} RGBHexState;
-static RGBHexState hexrgb;
-
-/* handles input mode for an rgb value */
-static void hexrgb_input(uint16_t keycode) {
- /* only check for special keys when input mode has just been triggered */
- if (hexrgb.count == 0) {
- switch (keycode) {
- case HEXRGB_SAVE_KC:
- RGB_STATIC_save_eeprom();
- hexrgb.active = false;
- return;
- case HEXRGB_RESET_KC:
- RGB_STATIC_reset();
- hexrgb.active = false;
- return;
- default:
- }
- }
-
- int8_t digit = key_hexdigit(keycode);
- /* exit input mode if an invalid key has been pressed */
- if (digit == -1) {
- hexrgb.count = 0;
- hexrgb.active = false;
- return;
- }
-
- /* append digit to current color */
- uint8_t idx = hexrgb.count / 2;
- hexrgb.color[idx] <<= 4;
- hexrgb.color[idx] |= digit;
-
- ++hexrgb.count;
- /* done with input */
- if (hexrgb.count == 6) {
- hexrgb.active = false;
- hexrgb.count = 0;
- /* copy color to rgb_static's buffer */
- for (int8_t i = 0; i < 3; ++i) {
- g_rgb_static_color[i] = hexrgb.color[i];
- hexrgb.color[i] = 0;
- }
- }
-}
-
-void keyboard_post_init_user(void) {
-#if CUSTOM_DEBUG
- debug_enable = true;
- debug_matrix = true;
-#endif
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- /* shift status last time ck_escg was pressed so that the correct key can be released */
- static bool ck_escg_last_shifted;
-
- if (hexrgb.active && record->event.pressed) {
- hexrgb_input(keycode);
- /* while in input mode nothing passes through */
- return false;
- }
-
- switch (keycode) {
- case CK_HEXRGB:
- hexrgb.active = record->event.pressed;
- return false;
- case CK_ESCG:
- /* if pressed, inject key, otherwise delete it */
- if (record->event.pressed) {
- bool shifted = get_mods() & MOD_BIT(KC_LSFT);
- add_key(shifted ? KC_ESC : KC_GRV);
- ck_escg_last_shifted = shifted;
- } else {
- del_key(ck_escg_last_shifted ? KC_ESC : KC_GRV);
- }
- send_keyboard_report();
- return false;
- default:
- }
- return true;
-}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md
deleted file mode 100644
index 86b90772b0..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# spx01's KBD67 MKIIRGB Layout
-
-This is a fairly simple QWERTY 2 layer layout, full list of particularities below:
-
-* Besides Fn acting like a standard layer switch, CapsLock is set to switch to layer 2 while held and activate CapsLock when tapped.
-* The Esc key/grave key (top left) is set to QMK's "Grave Escape" (sends Esc when tapped alone, Grave when tapped together with Shift/Ctrl/GUI), but on the 2nd layer it's set to the CK_ESCG custom keycode, acting like grave when tapped alone and as Esc when Shift is also held down. This means that there is easy access to both the characters (grave and tilde) and the Esc key while also allowing for shortcuts such as Ctrl+Shift+Esc with Ctrl+Shift+Caps+Esc (the Windows Task Manager shortcut).
-* The default RGB Matrix effect is set to a custom one, RGB_STATIC, which sets a solid RGB color based on a global variable, featuring EEPROM saving and automatic loading independent on the HSV EEPROM memory that the standard effects use. This was done in order to accomodate the next feature.
-* The HexRGB mode is triggered by pressing the '/' key in the second layer (CK_HEXRGB) and enables the user to type a 6 digit hexadecimal color code that is then stored as the color for the RGB_STATIC effect. If any invalid key is pressed during color input, the keymap will go back to its normal behavior without any changes to RGB.
-* Besides keys representing hexadecimal digits (0-9 and a-f), there are also 2 more keys that provide functionality in the HexRGB input mode (only as a first keypress). HEXRGB_SAVE_KC (set by default to S) triggers the RGB_STATIC effect to save the currently set RGB color to EEPROM and the HEXRGB_RESET_KC (set by default to R) resets the RGB color to the one currently saved in EEPROM. These 2 keys can be reassigned in config.h.
-
-Various 2nd layer keys:
-* 1 to '+' for F1-12
-* P for PrtSc/Print
-* Backspace for Delete
-* Home (top right key) for Insert
-* E for resetting EEPROM
-* '\\' for bootloader mode
-* Space for toggling RGB on or off
-* Right Shift for pausing media
-* Left/Right for previous track/next track
-* Up/Down for volume up/down
-
-**Note: I disabled VIA in rules.mk because I don't use it, but there is enough memory space for it to be enabled.**
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc
deleted file mode 100644
index 85c4dc2cad..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2022 spx01 (@spx01)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-RGB_MATRIX_EFFECT(RGB_STATIC)
-
-#define UNWRAP_RGB_PARAMS(x) x[0], x[1], x[2]
-#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-
-/* eeprom saved data structure */
-typedef struct {
- union {
- uint32_t whole;
- uint8_t rgb[3];
- };
-} UserData;
-
-uint8_t g_rgb_static_color[3];
-
-/* save current colors to eeprom */
-void RGB_STATIC_save_eeprom(void) {
- UserData data = {0};
- for (int8_t i = 0; i < 3; ++i) {
- data.rgb[i] = g_rgb_static_color[i];
- }
- eeconfig_update_user(data.whole);
-}
-
-/* initialize by loading the eeprom colors */
-static void RGB_STATIC_init(void) {
- UserData data;
- data.whole = eeconfig_read_user();
- for (int8_t i = 0; i < 3; ++i) {
- g_rgb_static_color[i] = data.rgb[i];
- }
-}
-
-/* reset colors to eeprom values */
-void RGB_STATIC_reset(void) {
- RGB_STATIC_init();
-}
-
-static bool RGB_STATIC(effect_params_t *params) {
- if (params->init) {
- RGB_STATIC_init();
- }
- RGB_MATRIX_USE_LIMITS(led_min, led_max);
- for (uint8_t i = led_min; i < led_max; i++) {
- RGB_MATRIX_TEST_LED_FLAGS();
- rgb_matrix_set_color(i, UNWRAP_RGB_PARAMS(g_rgb_static_color));
- }
- return rgb_matrix_check_finished_leds(led_max);
-}
-
-#endif
-#undef UNWRAP_RGB_PARAMS
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk
deleted file mode 100644
index 2700c035cc..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = no
-LTO_ENABLE = yes
-CONSOLE_ENABLE = no
-RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
index 51b88510e5..5577883401 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
@@ -1,62 +1,4 @@
#pragma once
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
index 7b6795f07f..adac32cc74 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
@@ -5,7 +5,42 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
index c70622dd56..210be85d3f 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C8_8, C7_8, C6_8}, // LA17
{0, C9_8, C7_7, C6_7}, // LA16
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
index bba655107d..5577883401 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
@@ -1,63 +1,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 35
-# define DRIVER_2_LED_TOTAL 32
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
index e0fe90b6f3..9285255f36 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
@@ -5,7 +5,39 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
index 7de8060d7a..50958017a2 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C8_8, C7_8, C6_8}, // LA17
{0, C9_8, C7_7, C6_7}, // LA16
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
index 8dd12678ee..1d924ae1ea 100755
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
@@ -16,63 +16,6 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define USB_SUSPEND_WAKEUP_DELAY 5000
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 67
-#define DRIVER_INDICATOR_LED_TOTAL 0
-#endif
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
index 284461c2a7..1fd3448de4 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
@@ -5,8 +5,42 @@
"device_version": "0.0.3"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "is31fl3741",
- "val_steps": 8
+ "val_steps": 8,
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
index 7347a365bc..0b40afadf9 100755
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
@@ -18,79 +18,79 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
- {0, CS24_SW1, CS23_SW1, CS22_SW1},
- {0, CS24_SW2, CS23_SW2, CS22_SW2},
- {0, CS24_SW3, CS23_SW3, CS22_SW3},
- {0, CS24_SW4, CS23_SW4, CS22_SW4},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
- {0, CS24_SW6, CS23_SW6, CS22_SW6},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
-
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
- {0, CS30_SW6, CS29_SW6, CS28_SW6},
- {0, CS30_SW7, CS29_SW7, CS28_SW7},
-
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
- {0, CS33_SW5, CS32_SW5, CS31_SW5},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
-
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS36_SW1, CS35_SW1, CS34_SW1},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
-
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
-// {0, CS39_SW1, CS38_SW1, CS37_SW1},
- {0, CS39_SW2, CS38_SW2, CS37_SW2},
- {0, CS39_SW3, CS38_SW3, CS37_SW3},
- {0, CS39_SW4, CS38_SW4, CS37_SW4},
- {0, CS39_SW5, CS38_SW5, CS37_SW5},
- {0, CS39_SW7, CS38_SW7, CS37_SW7}
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
+ {0, SW1_CS24, SW1_CS23, SW1_CS22},
+ {0, SW2_CS24, SW2_CS23, SW2_CS22},
+ {0, SW3_CS24, SW3_CS23, SW3_CS22},
+ {0, SW4_CS24, SW4_CS23, SW4_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
+ {0, SW6_CS24, SW6_CS23, SW6_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
+
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
+ {0, SW6_CS30, SW6_CS29, SW6_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28},
+
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+ {0, SW5_CS33, SW5_CS32, SW5_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
+
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW1_CS36, SW1_CS35, SW1_CS34},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
+
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+// {0, SW1_CS39, SW1_CS38, SW1_CS37},
+ {0, SW2_CS39, SW2_CS38, SW2_CS37},
+ {0, SW3_CS39, SW3_CS38, SW3_CS37},
+ {0, SW4_CS39, SW4_CS38, SW4_CS37},
+ {0, SW5_CS39, SW5_CS38, SW5_CS37},
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}
};
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
index 10f0bc0ec2..8ed4d909cb 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
@@ -18,59 +18,4 @@
#define USB_SUSPEND_WAKEUP_DELAY 5000
-#define RGB_MATRIX_LED_COUNT 68
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
index a1ec2a1833..0f05bd24d0 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
@@ -23,10 +23,40 @@
"pin": "C7"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
index 10f0bc0ec2..f20015619b 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
@@ -17,60 +17,4 @@
#pragma once
#define USB_SUSPEND_WAKEUP_DELAY 5000
-
-#define RGB_MATRIX_LED_COUNT 68
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
index cb8912f9a4..8bbfc9a150 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
@@ -12,10 +12,40 @@
"pin": "C7"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 150,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/kbdfans/kbd67/rev1/info.json b/keyboards/kbdfans/kbd67/rev1/info.json
index f279c5a2c9..ba91317906 100644
--- a/keyboards/kbdfans/kbd67/rev1/info.json
+++ b/keyboards/kbdfans/kbd67/rev1/info.json
@@ -8,10 +8,24 @@
"pid": "0x6066",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "backlight": true,
+ "rgblight": true
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4", "F5"],
"rows": ["D0", "D1", "D2", "D3", "D5"]
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"diode_direction": "COL2ROW",
"backlight": {
"pin": "B6",
@@ -38,7 +52,6 @@
"knight": true,
"christmas": true,
"static_gradient": true,
- "alternating": true,
"twinkle": true
}
},
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h
deleted file mode 100644
index 90fb10ebbe..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define LAYER_STATE_8BIT
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
index 21ff6843b3..50a8bdfee0 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
@@ -15,12 +15,6 @@
*/
#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] = {
/* Keymap (Base Layer) Default Layer
* ,----------------------------------------------------------------.
@@ -63,25 +57,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______,_______,_______,KC_HOME,KC_PGDN, KC_END),
};
-
-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;
-}
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c
deleted file mode 100644
index 228f648319..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2018 'mechmerlin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// 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] = {
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | ~|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Del|
- * |----------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-[0] = LAYOUT_65_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DELETE,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
- * |----------------------------------------------------------------|
- * |Caps | |Up | | | | | |PSc|SLk|Pau|Up | | | |
- * |----------------------------------------------------------------|
- * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| | |
- * |----------------------------------------------------------------|
- * | | | | | | | | |End|PDn|Dow| |PUp| |
- * |----------------------------------------------------------------|
- * | | | | | | | |Hom|PDn|End |
- * `----------------------------------------------------------------'
- */
-[1] = LAYOUT_65_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,KC_INS,
- KC_CAPS,_______, KC_UP,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS, KC_UP,_______, _______,_______,
- _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_DOWN, _______,KC_PGUP,_______,
- _______, _______, _______, _______, _______,_______,_______,KC_HOME,KC_PGDN, KC_END),
-
-};
-
-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;
-}
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/readme.md b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/readme.md
deleted file mode 100644
index dfa800d17c..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/readme.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# The default keymap for kbd67
-
-```
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | ~|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Del|
- * |----------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-```
-
-```
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
- * |----------------------------------------------------------------|
- * |Caps | |Up | | | | | |PSc|SLk|Pau|Up | | | |
- * |----------------------------------------------------------------|
- * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| | |
- * |----------------------------------------------------------------|
- * | | | | | | | | |End|PDn|Dow| |PUp| |
- * |----------------------------------------------------------------|
- * | | | | | | | |Hom|PDn|End |
- * `----------------------------------------------------------------'
- */
-```
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/via/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/via/keymap.c
index 755da6e5cf..a25c524732 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/via/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/via/keymap.c
@@ -29,12 +29,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
* `----------------------------------------------------------------'
*/
-[0] = LAYOUT_65_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_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_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [0] = LAYOUT_65_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_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_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
/* Keymap Fn Layer
* ,----------------------------------------------------------------.
@@ -49,27 +50,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |Hom|PDn|End |
* `----------------------------------------------------------------'
*/
-[1] = LAYOUT_65_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,KC_INS,
- KC_CAPS,_______, KC_UP,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS, KC_UP,_______, _______,_______,
- _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_DOWN, _______,KC_PGUP,_______,
- _______, _______, _______, _______, _______,_______,_______,KC_HOME,KC_PGDN, KC_END),
-
-
-[2] = LAYOUT_65_ansi(
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
- _______, _______, _______, _______, _______,_______,_______,_______,_______,_______),
-
-
-[3] = LAYOUT_65_ansi(
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
- _______, _______, _______, _______, _______,_______,_______,_______,_______,_______),
-
+ [1] = LAYOUT_65_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,KC_INS,
+ KC_CAPS,_______, KC_UP,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS, KC_UP,_______, _______,_______,
+ _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT, _______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_DOWN, _______,KC_PGUP,_______,
+ _______, _______, _______, _______, _______,_______,_______,KC_HOME,KC_PGDN, KC_END
+ )
};
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/via/readme.md b/keyboards/kbdfans/kbd67/rev1/keymaps/via/readme.md
deleted file mode 100644
index f32cf23932..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for kbd67
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/via/rules.mk b/keyboards/kbdfans/kbd67/rev1/keymaps/via/rules.mk
index 36b7ba9cbc..1e5b99807c 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/via/rules.mk
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/via/rules.mk
@@ -1,2 +1 @@
VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd67/rev1/readme.md b/keyboards/kbdfans/kbd67/rev1/readme.md
index 0e9c66b244..9c9e35202c 100644
--- a/keyboards/kbdfans/kbd67/rev1/readme.md
+++ b/keyboards/kbdfans/kbd67/rev1/readme.md
@@ -10,4 +10,16 @@ Make example for this keyboard (after setting up your build environment):
make kbdfans/kbd67/rev1:default
+Flashing example for this keyboard:
+
+ make kbdfans/kbd67/rev1:default:flash
+
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kbdfans/kbd67/rev1/rules.mk b/keyboards/kbdfans/kbd67/rev1/rules.mk
index 99067f7d6a..6e7633bfe0 100644
--- a/keyboards/kbdfans/kbd67/rev1/rules.mk
+++ b/keyboards/kbdfans/kbd67/rev1/rules.mk
@@ -1,12 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
+# This file intentionally left blank
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/config.h
deleted file mode 100644
index 2498b480c9..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 ONESHOT_TIMEOUT 5000
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/keymap.c
deleted file mode 100644
index e993f93fb5..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_65_ansi(
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL ,KC_BSPC,KC_HOME,
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC,KC_BSLS,KC_PGUP,
- KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT ,KC_ENT ,KC_PGDN,
- OSM(MOD_LSFT),KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,OSM(MOD_RSFT) ,KC_UP ,KC_END ,
- OSM(MOD_LCTL),OSM(MOD_LGUI),OSM(MOD_LALT),KC_SPC ,OSM(MOD_RALT),OSL(1) ,OSM(MOD_RCTL),KC_LEFT,KC_DOWN,KC_RGHT),
-
-[1] = LAYOUT_65_ansi(
- KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,KC_INS ,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_TILDE,_______ ,_______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,KC_PGUP,_______,
- _______,_______,_______,_______ ,_______,_______,_______,KC_HOME,KC_PGDN,KC_END ),
-
-};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/readme.md
deleted file mode 100644
index 2e3d2a171b..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# A keymap for kbd67 with some improvements for accessibility
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/rules.mk b/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/rules.mk
deleted file mode 100644
index 72bbe7ddb2..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/catrielmuller_camilad/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONSOLE_ENABLE = no
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h
deleted file mode 100644
index f6aa35176a..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2022 Alex K
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* USB Device descriptor parameter */
-#undef VENDOR_ID
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define VENDOR_ID 0xAF88
-#define MANUFACTURER "Droxx-FurFuzz"
-#define PRODUCT "Carbon v2 4rk"
-
-/* force N key rollover even on startup regardless of EEPROM setting */
-#define FORCE_NKRO
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c
deleted file mode 100644
index de845d163c..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-// KBD67 Rev 2 ANSI Layout
-
-/* Copyright 2022 Alex K
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "droxx.h"
-
-// make keycodes easier to change for the future
-#define DRXX KC_TRNS
-
-// enumerate custom layer names for the keymap
-enum keymap_layers {
- _DRXXMAIN = 0,
- _DRXXFN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap Base Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BackSp│Hom│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ BkSl│PgU│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ ↑ │End│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │Ctrl│ Win│ Alt│ Space │Alt│Fn │Ctl│ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- */
-[_DRXXMAIN] = LAYOUT_65_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_DRXXFN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │~ `│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Del│Ins│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │RM-│RB+│RM+│ │RTg│ │ │ │ │ │ │ │ │Pau│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │RS-│RB-│RS+│ │ │ │ │ │ │ │ │ │SLk│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │DGu│EGu│ │ │ │ │ │ │ │ │ │PSr│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- */
-[_DRXXFN] = LAYOUT_65_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- DRXX , RGB_RMOD, RGB_VAI, RGB_MOD, DRXX, RGB_TOG, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_PAUS,
- DRXX, RGB_SPD, RGB_VAD, RGB_SPI, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_SCRL,
- DRXX, DRXX, GUI_OFF, GUI_ON, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, KC_PSCR,
- DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX, DRXX),
-};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md
deleted file mode 100644
index 26d686c977..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
-## Droxx's ANSI style keymap for the KBD67 REV 2 PCB
-
-* An ANSI keymap layout made by Alex for the KBD67 Rev 2
-* This keymap features two layers using basic Fn alternate keys on the second layer as well as lighting control
-
-![KBD67Rev2 Layout](https://i.imgur.com/DPSMhIX.png)
-
-### Layer 0 (_DRXXMAIN)
-
-The base QWERTY layer
-
-* Basic qwerty key layout with nothing other than an Fn key
-* Fn on the bottom row activates layer 1
-
-### Layer 1 (_DRXXFN)
-
-The function layer
-
-* Backspace will trigger KC_DEL until I find the KC_HOME key less useful.
-* Pressing T will toggle the keyboard underglow feature on and off.
-* Keys Q and E are used to change the underglow style of the keyboard.
-* Keys W and S modify the brightness of the underglow.
-* Keys A and D change the speed of the LED RGB animation.
-
-~~When Fn is held on layer 0, the arrow keys become a control surface for the LED baclighting~~
-~~The up arrow is used to cycle backlight modes, down arrow for toggling the backlight on or off,~~
-~~and the right and left for increasing and decreasing the brightness respectively.~~[^note]
-* X is used to disable the GUI key and C is used to enable the GUI key.
-
-[^note]: I don't have in-switch LEDs installed?
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk
deleted file mode 100644
index c9b5587d59..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-MOUSEKEY_ENABLE = no
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c
deleted file mode 100644
index 56c554ae5b..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright 2018 jscatena88
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | `~ |
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |Del |
- * |----------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-[0] = LAYOUT_65_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
- * |----------------------------------------------------------------|
- * |Caps | |Up | | | | | |PSc|SLk|Pau|Up | | | |
- * |----------------------------------------------------------------|
- * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| | |
- * |----------------------------------------------------------------|
- * | | | | | | | | |End|PDn|Dow| |PUp| |
- * |----------------------------------------------------------------|
- * | | | | | | | |Hom|PDn|End |
- * `----------------------------------------------------------------'
- */
-
-[1] = LAYOUT_65_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_VOLU,
- KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_VOLD,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_MUTE,
- KC_TRNS, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_PGUP, KC_MPLY,
- LCTL(KC_LALT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
-};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/readme.md
deleted file mode 100644
index 21b28de90d..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Jscatena88's KBD67 Layout
-![Layout Visual](https://i.imgur.com/7IsPDjR.png)
-
-This modifies the far right column on layer 1, adds RGB control to the second layer, and creates a CTRL+ALT button on the second layer for switching between Linux TTYs (this is the key labelled LCTL(LC_L), it is actually LCTL(KC_LALT) but the visualization software didn't support that) \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c
deleted file mode 100644
index 27fbf0be53..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright 2018 'mechmerlin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |GESC| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp| Del|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ent |PgUp|
- * |-------------------------------------------------------. |----|
- * |Caps | A| S| D| F| G| H| J| K| L| ;| '| | |PgDn|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|End |
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |MS3| Space |Alt |MO1|Ctrl|Lef|Dow|Rig|
- * `----------------------------------------------------------------'
- */
-[0] = LAYOUT_65_iso_split_space(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DELETE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_MS_BTN3, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Mute|
- * |----------------------------------------------------------------|
- * | | |Up | | | | | | | | | | | |Vol+|
- * |----------------------------------------------------------------|
- * | |Lef|Dow|Rig| | | | | | | | | |Vol-|
- * |----------------------------------------------------------------|
- * | | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * | | | | Space |Space| Space | | | | | | |
- * `----------------------------------------------------------------'
- */
-[1] = LAYOUT_65_iso_split_space(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_SPC, KC_SPC, KC_SPC, _______, _______, _______, _______, _______, _______),
-};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md
deleted file mode 100644
index d7b9c29e38..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Not the default keymap for kbd67
-
- - this is my personnal layout, but is meant to be used as a base for the new layout LAYOUT_65_iso_split_space
- - 3 splitted space bar. (Space - Mouse click 3 - Space)
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/keymap.c
deleted file mode 100644
index 70e6e55006..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 Andy Freeland
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| - | = | ` | \ |Home|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [ | ] | Bsp |Del |
- * |----------------------------------------------------------------|
- * |Ctrl | A| S| D| F| G| H| J| K| L| ; | ' |Return |PgUp|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| , | . | / |Shift | ↑ |PgDn|
- * |----------------------------------------------------------------|
- * |Ctrl|Alt |GUI | Space |GUI |FN | â†Â | ↓ | →  |
- * `----------------------------------------------------------------'
- */
-[0] = LAYOUT_65_ansi_split_bs_2_right_mods(
- 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_BSLS, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
-),
-
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |Del|Ins |
- * |----------------------------------------------------------------|
- * | | |Up | | | | | |PSc|SLk|Pau|Up | | | |
- * |----------------------------------------------------------------|
- * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| |Vol+|
- * |----------------------------------------------------------------|
- * | | | | | | | | |End|PDn|Dow| | |Vol-|
- * |----------------------------------------------------------------|
- * | | | | | | |Prv|Ply|Nxt |
- * `----------------------------------------------------------------'
- */
-[1] = LAYOUT_65_ansi_split_bs_2_right_mods(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______, KC_DEL,KC_INS,
- _______,_______, KC_UP,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS, KC_UP,_______, _______,_______,
- _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT, _______,KC_VOLU,
- _______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_DOWN, _______,_______,KC_VOLD,
- _______, _______, _______, _______, _______,_______,KC_MPRV,KC_MPLY,KC_MNXT),
-
-};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/readme.md
deleted file mode 100644
index 2cb43c5e1a..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for kbd67
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h
deleted file mode 100644
index 9a72f85030..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define MANUFACTURER "Potato Inc."
-#define PRODUCT "Qt3.14"
-
-/* send tap key if no layer key was used even after tap delay */
-#define TAPPING_TERM 50
-#define RETRO_TAPPING
-
-/* turn off RGB when computer sleeps */
-#define RGBLIGHT_SLEEP
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c
deleted file mode 100644
index 88fe681f14..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _FUNC,
- _NUM
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Keymap (Base Layer) Default Layer
- * ,----------------------------------------------------------------.
- * |ENu| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |Del |
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| {| }| Ent |PgUp|
- * |------------------------------------------------------. |----|
- * |CapsFn| A| S| D| F| G| H| J| K| L| ;| '| #| |PgDn|
- * |----------------------------------------------------------------|
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift |Up |Fn |
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt |Ctrl| |Lef|Dow|Rig |
- * `------------------------------------------------' `------------'
- */
- [_QWERTY] = LAYOUT_all(
- LT(_NUM,KC_ESC),KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- LT(_FUNC,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FUNC),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Keymap Fn Layer
- * ,----------------------------------------------------------------.
- * | ` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins |
- * |----------------------------------------------------------------|
- * | |TOG|M+ |H+ |S+ |V+ |Sp+| |Prt|SLk|Pau| | | |Home|
- * |------------------------------------------------------. |----|
- * | |VLK|M- |H- |S- |V+ |Sp-| | | | | | | |End |
- * |----------------------------------------------------------------|
- * | |BL |BL-|BL+|BRTG| | | | | | | |PUp| |
- * |----------------------------------------------------------------|
- * |Sleep|Reset| | C+A+D |C+A+I|Menu| |Hom|PDn|End |
- * `------------------------------------------------' `------------'
- */
- [_FUNC] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,KC_INS,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______,_______,_______, KC_HOME,
- _______, VK_TOGG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD,_______,_______,_______,_______,_______, _______, KC_END,
- _______,_______,BL_TOGG, BL_DOWN,BL_UP, BL_BRTG,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,_______,
- KC_SLEP,QK_BOOT,_______, LCA(KC_DEL), LCA(KC_DEL), LCA(KC_DEL), LCA(KC_INS),KC_APP, _______,KC_HOME,KC_PGDN,KC_END),
-
- /* Keymap Numpad Layer
- * ,----------------------------------------------------------------.
- * | | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| /| | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | 4| 5| 6| *| | | | |
- * |------------------------------------------------------. |----|
- * | | | | | | | | 1| 2| 3| -| | | | |
- * |----------------------------------------------------------------|
- * | | |NLk| | | | | | 0| | | +| | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------------------------------------------------' `------------'
- */
- [_NUM] = LAYOUT_all(
- _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_KP_SLASH, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, _______, _______, _______,
- _______, _______, KC_NUM, _______, _______, _______, _______, _______, KC_KP_0, _______, _______, KC_KP_PLUS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______),
- };
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- rgblight_enable_noeeprom();
- } else {
- rgblight_disable_noeeprom();
- }
- return false;
-}
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/readme.md
deleted file mode 100644
index 1404ceed5f..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# TuCZnak's modified layout
-
-This layout is made for the ISO configuration of KBD67 (KBD65 v2 PCB).
-It has a base layer, numpad on LT and a combined
-configuration / macro / media layer.
-
-Since the plate and PCB leak some underglow and the KBD67 case has no use
-for it otherwise, containing no translucent parts, I've used the RGB OLEDs
-as a capslock indicator.
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/rules.mk b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/rules.mk
deleted file mode 100644
index 3635874b4e..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # 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 on B7 by default
-RGBLIGHT_ENABLE = yes # 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
-
-# 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/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/keymap.c
deleted file mode 100644
index 4aa8b940b2..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2019 Devinceble AKA Vimwarrior
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RCTL, MO(2), KC_RGUI
- ),
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS,
- KC_CAPS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN,BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
-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/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/readme.md b/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/readme.md
deleted file mode 100644
index ebd416aea5..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Devinceble AKA Vimwarrior HHKB Tofu Keymap
-
-Build Hex File:
-
- make kbdfans/kbd6x:devinceble_hhkb_tofu
-
-Flash Keyboard
-
- make kbdfans/kbd6x:devinceble_hhkb_tofu:flash
diff --git a/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/rules.mk b/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/rules.mk
deleted file mode 100644
index 23f4c56744..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/devinceble_hhkb_tofu/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-BOOTLOADER = atmel-dfu
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/config.h b/keyboards/kbdfans/kbd6x/keymaps/othi/config.h
deleted file mode 100644
index d5bc8ab7ec..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-#define ONESHOT_TAP_TOOGLE 2
-#define ONESHOT_TIMEOUT 2000
-// tap dance configurations
-#define TAPPING_TERM 200
-#define TAPPING_TOGGLE 2
-#define PERMISSIVE_HOLD
-// Fix QK_GESC conflict with Cmd+Alt+Esc on macros
-#define GRAVE_ESC_GUI_OVERRIDE
-
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
deleted file mode 100644
index d748a2f736..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* Copyright 2018 Othi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// read README.md for rundown of what does what
-
-// #define BL 0
-#define CL 0
-#define NM_MODE 2
-#define VI_MODE 3
-#define FN3 4
-#define ACCENT 5
-#define ACCENT_CAP 6
-
-//Unicode keymaps
-void eeconfig_init_user(void) {
- set_unicode_input_mode(UNICODE_MODE_LINUX);
-}
-#define DE_ADIA UC(0x00E4)
-#define DE_SS UC(0x00DF)
-#define DE_ODIA UC(0x00F6)
-#define DE_UDIA UC(0x00FC)
-#define DE_ADIA_CAP UC(0x00C4)
-#define DE_ODIA_CAP UC(0x00D6)
-#define DE_UDIA_CAP UC(0x00DC)
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case NM_MODE:
- rgblight_setrgb (0x00, 0x66, 0x00);
- break;
- case VI_MODE:
- rgblight_setrgb (0x66, 0x66, 0x00);
- break;
- case ACCENT:
- rgblight_setrgb (0x7A, 0x00, 0xFF);
- break;
- case ACCENT_CAP:
- rgblight_setrgb (0x7A, 0xFF, 0xFF);
- break;
- default: // for any other layers, or the default layer
- rgblight_setrgb (0xFF, 0x00, 0x00);
- break;
- }
- return state;
-}
-
-//Tap Dance Declarations
-enum {
- CTL_NM = 0,
- ALT_NM = 1,
- SFT_NM = 2,
- GUI_NM = 3
-};
-
-void dance_CTL_NM_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- set_oneshot_mods(MOD_LCTL);
- } else {
- register_code (KC_LCTL);
- layer_on(NM_MODE);
- }
-}
-
-void dance_CTL_NM_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_LCTL);
- } else {
- unregister_code (KC_LCTL);
- layer_off(NM_MODE);
- }
-}
-
-void dance_GUI_NM_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_LGUI);
- } else {
- register_code (KC_LGUI);
- layer_on(NM_MODE);
- }
-}
-
-void dance_GUI_NM_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_LGUI);
- } else {
- unregister_code (KC_LGUI);
- layer_off(NM_MODE);
- }
-}
-
-void dance_ALT_NM_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_LALT);
- } else {
- register_code (KC_LALT);
- layer_on(NM_MODE);
- }
-}
-
-void dance_ALT_NM_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_LALT);
- } else {
- unregister_code (KC_LALT);
- layer_off(NM_MODE);
- }
-}
-
-void dance_SFT_NM_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_LSFT);
- set_oneshot_mods(MOD_LSFT);
- } else {
- register_code (KC_LSFT);
- layer_on(NM_MODE);
- }
-}
-
-void dance_SFT_NM_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_LSFT);
- } else {
- unregister_code (KC_LSFT);
- layer_off(NM_MODE);
- }
-}
-
-
-tap_dance_action_t tap_dance_actions[] = {
- [CTL_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_CTL_NM_finished, dance_CTL_NM_reset),
- [GUI_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_GUI_NM_finished, dance_GUI_NM_reset),
- [ALT_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_ALT_NM_finished, dance_ALT_NM_reset),
- [SFT_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_SFT_NM_finished, dance_SFT_NM_reset)
-};
-
-// backup
-// old R3 capslock, LT(NM_MODE,KC_BSPC),
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [CL] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- MT(MOD_LGUI,KC_TAB), LT(NM_MODE,KC_Q), KC_W, LT(ACCENT,KC_F), KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
- MT(MOD_LCTL,KC_BSPC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
- TD(SFT_NM), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, MT(MOD_LCTL,KC_COMM), MT(MOD_LSFT,KC_DOT), MT(MOD_LALT,KC_SLSH), LM(CL,MOD_LGUI|MOD_LSFT), TT(NM_MODE),
- _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT) , _______
- ),
- [NM_MODE] = LAYOUT(
- KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, KC_END, _______, _______, _______, _______, _______, KC_HOME, _______, _______, QK_BOOT, KC_INS,
- LGUI(KC_TAB), _______, LCTL(KC_RGHT), _______, _______, _______, _______, KC_UP, KC_PGUP, _______, _______, _______, TG(CL), KC_DEL,
- _______, KC_LEFT, _______, KC_RGHT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_ENT, KC_QUOT, KC_LGUI,
- KC_LSFT, _______, _______, _______, _______, LCTL(KC_LEFT), _______, _______, _______, _______, _______, TG(VI_MODE), TO(CL),
- _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT), _______
- ),
-
- [VI_MODE] = LAYOUT(
- KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, LSFT(KC_END), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, LSFT(KC_HOME), KC_F11, KC_F12, QK_BOOT, KC_INS,
- LGUI(KC_TAB), _______, LSFT(LCTL(KC_RGHT)), _______, _______, _______, _______, LSFT(KC_UP), _______, _______, _______, _______, TG(CL), KC_BSPC,
- _______, _______, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), LSFT(KC_DOWN), LSFT(KC_RGHT), _______, KC_SCLN, KC_QUOT, KC_LGUI,
- KC_LSFT, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), _______, _______, _______, _______, KC_SLSH, OSM(MOD_LSFT), TO(CL),
- _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT), _______
- ),
- [ACCENT] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, RGB_TOG, RGB_MODE_PLAIN, _______, _______, _______, _______, _______, DE_UDIA, _______, _______, _______, _______, _______,
- _______, DE_ADIA, UC_Z, DE_SS, _______, _______, _______, _______, _______, _______, DE_ODIA, _______, _______,
- OSL(ACCENT_CAP), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(CL),
- _______, _______, _______, _______, _______, _______, _______
- ),
- [ACCENT_CAP] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, DE_UDIA_CAP, _______, _______, _______, _______, _______,
- _______, DE_ADIA_CAP, _______, DE_SS, _______, _______, _______, _______, _______, _______, DE_ODIA_CAP, _______, TO(CL),
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/readme.md b/keyboards/kbdfans/kbd6x/keymaps/othi/readme.md
deleted file mode 100644
index 95be36d057..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-## Othi's Universal HHKB keymap
-
-### Goals
-- Colemak layout. If you don't use Colemak then you'll need to also change the arrow key bindigns in other layers
-
-- Vim-like navigation layer so you can use vim binding arrowkeys in non-vim environment
-
-- Good modifier support so you don't have to hold 14 modifier keys at the same time
-
-- RGB indicating layer change(only work with plain colors so far, don't put your rgb to pulsing or any non static animation)
-
-### Layers
-- **CL:**
-
- The base layer, default is Colemak
-
-- **NM_MODE:**
-
- Vim-like arrowkeys in the home row, it's `LHNE` for *JENK Colemak* and `HJKL` for *QWERTY*
-
- Also `HOME`, `END` and next/prev word (`Ctrl + Left/Right`) in `0, 4, w, b` like in vim
-
-- **VI_MODE:**
-
- The same as `NM_MODE` but with `KC_LSFT` held down for mostly highlighting
-
-- **ACCENT + ACCENT_CAP:**
-
- Function row and Unicode characters
-
-### Modifiers and Tap Dance keys
-**LHS:**
-
-- Any Tap Dance key with the format of `TD(XXX_NM)` act as normal XXX modifier upon hold, but will hold **and** put you to `NM_MODE` when double click hold(a tap before the hold)(eg you can produce `Alt + PgUp` by pressing `Alt + Alt + U`)
-
-- `KC_TAB` acts as both `KC_TAB` on tap and `KC_LGUI` on hold
-
-- R3 CapsLock acts as both `KC_BSPC` on tap and `KC_LCTL` on hold
-
-- Holding `KC_Q` also puts you into `NM_MODE`
-
-- Holding `KC_F` puts you into `VI_MODE` for fast function keys
-
-**RHS:**
-
-- 3 keys `KC_SCLN`, `KC_DOT` and `KC_SLSH` in `CL` layer can also be held down for respectively `KC_LCTL`, `KC_LSFT`, `KC_LALT` for easier 2-hand modifier holding
-
-- Right modifiers hold the selected modifier with `KC_LGUI` at the same time, mainly for i3wm, you can change this to whatever combination you want
-
-### Misc. functionalities
-
-**Unicode:**
-
-- In case the keyboard output the 4-digit codepoint instead of the actual unicode, you need to change the rewrite input mode of the keyboard into the EEPROM(you only have to do this if the EEPROM was cleared or your current machine use another unicode compose method other than IBus/Linux's `Ctrl + Shift + U`). Change the corresponding Input `void eeconfig_init_user(void)`. See [this](https://docs.qmk.fm/#/feature_unicode) for availble input modes.
-
-- **NOTE:** make sure to keep your qmk env up to date with upstream
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/rules.mk b/keyboards/kbdfans/kbd6x/keymaps/othi/rules.mk
deleted file mode 100644
index 9a4459c289..0000000000
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-# 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 = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no # Audio output on port C6
-TAP_DANCE_ENABLE=yes
diff --git a/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c b/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
deleted file mode 100644
index 2c3464c941..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/* Copyright 2021 Aaron Ireland
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// KBD75 layer indices
-enum custom_layers {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _FL,
-};
-
-enum kbd75_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK
-};
-
-// Mac OS Custom Macros
-#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
-#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
-#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
-#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
-
-// Aaron's shell macros
-#define KC_CTLC LCTL(KC_C)
-#define KC_SNU LCTL(KC_B) // Used by vim
-#define KC_SND LCTL(KC_D) // Used by vim
-
-/* ***************** Aaron's KBD75 v2 Layout ********************
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ 2U │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- * ************************************************************/
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* ******************** 0: QWERTY Base Layer ********************
- * PSN: Print Screen
- * PUP: Page Up
- * PDN: Page Down
- * BRK: CTRL + C
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │BKSPACE│HOM│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ ` │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PUP│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ TAB │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │PDN│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ SHIFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT │UP │END│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- * ************************************************************/
-
- [_QWERTY] = LAYOUT_ansi_1u(
- 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_CAPW, KC_CTLC, KC_DEL ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_HOME,
- KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_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_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* ******************** 1: COLEMAK Base Layer ********************
- * PSN: Print Screen
- * PUP: Page Up
- * PDN: Page Down
- * BRK: CTRL + C
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │BKSPACE│HOM│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ ` │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │PUP│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ TAB │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ ENTER │PDN│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ SHIFT │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │SHIFT │UP │END│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- * ************************************************************/
-
- [_COLEMAK] = LAYOUT_ansi_1u(
- 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_CAPW, KC_CTLC, KC_DEL ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_HOME,
- KC_GRV , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT , KC_PGDN,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
- KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* ******************** 2: DVORAK Base Layer ********************
- * PSN: Print Screen
- * PUP: Page Up
- * PDN: Page Down
- * BRK: CTRL + C
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │BKSPACE│HOM│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ ` │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │PUP│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ TAB │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ ENTER │PDN│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ SHIFT │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │SHIFT │UP │END│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- * ************************************************************/
-
- [_DVORAK] = LAYOUT_ansi_1u(
- 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_CAPW, KC_CTLC, KC_DEL ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
- KC_GRV , KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , KC_BSLS, KC_PGUP,
- KC_TAB , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, KC_ENT , KC_PGDN,
- KC_LSFT, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT, KC_UP , KC_END ,
- KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* ******************** 3: FN Momentary Layer ********************
- * F13 - Launchpad
- * SNU - CTRL + B = Neovim Screen Up
- * SND - CTRL + D = Neovim Screen Down
- * TOG - Toggle RGB Underglow
- * MOD - RGB Underglow Mode
- * NXT - FF/Skip
- * PLY - Play/Stop
- * VL - Volume Down/Up
- * SN - Screen Brightness Up/Down
- * QRT - QWERTY Layout
- * CLK - COLEMAK Layout
- * DVK - DVORAK Layout
- * QK_BOOT - Put PCB into Bootstrap mode
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │PSN│ │ │
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ │TOG│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ QK_BOOT │F13│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ TAB │QRT│ │ │ │ │ │ │ │ │ │ │ │ │SNU│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ CAPS │ │ │DVK│ │ │ │ │ │ │ │ │ │SND│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │CLK│DEC│TOG│INC│STP│ │ │ │ │SN+│VL0│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ OS │ ALT│CTRL│ SPACE │NXT│PLY│XXX│VL-│SN-│VL+│
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- * ************************************************************/
-
- [_FL] = LAYOUT_ansi_1u(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPP, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, KC_F13 ,
- KC_TAB , QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SNU ,
- KC_CAPS, _______, _______, DVORAK , _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SND ,
- _______, _______, _______, COLEMAK, BL_DOWN, BL_TOGG, BL_UP , BL_STEP, _______, _______, _______, _______, KC_PAUS, KC_MUTE,
- KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_MNXT, KC_MPLY, _______, KC_VOLD, KC_SCRL, KC_VOLU
- ),
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kbdfans/kbd75/keymaps/aaronireland/readme.md b/keyboards/kbdfans/kbd75/keymaps/aaronireland/readme.md
deleted file mode 100644
index aac4d17968..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/aaronireland/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Aaron's KBD75v2 Mac-friendly ANSI 1u Layout
-
-This layout mimics the default KBD 75% ANSI 1u layout with a few mac-friendly tweaks. Because Mac OS uses a unique keycode
-for the Function key and only recognizes that keycode from keyboards registered with an Apple vendor ID ([see here for more info](https://beta.docs.qmk.fm/faqs/faq_keymap#fn-key-on-macos)),
-this layout uses custom macros and F-keycodes (F12, F13, etc) to provide Mac hotbar functionality (Print Screen, Launchpad, etc...) and maps the
-**Fn** key to the QMK momentary layer `_FN` (layer index 3) so it is listed as `MO(3)`.
-
-| Mac OS Keystroke | Description | User-defined Macro | Layout Mapping |
-| ---------------- | ------------------------ | ------------------ | ---------------- |
-| ⌘ + Shift + 3 | Print Screen | `KC_CAPW` | `Prt Scn` |
-| ⌘ + Shift + 4 | Print Screen (selection) | `KC_CAPP` | `fn` + `Prt Scn` |
-| F13 | Launchpad | | `fn` + `Home` |
-| | Colemak | `COLEMAK` | `fn` + `C` |
-| | Dvorak | `DVORAK` | `fn` + `D` |
-| | Qwerty | `QWERTY` | `fn` + `Q` |
-| `Ctrl` + `C` | Quit/Break | `KC_CTLC` | `Pse Brk` |
-| `Ctrl` + `B` | vim page up | `KC_SPU` | `fn` + `Pg Up` |
-| `Ctrl` + `D` | vim page down | `KC_SPD` | `fn` + `Pg Dn` |
-
-<br>
-<hr>
-
-### QWERTY - Layer 0
-
-![Layer 0: QWERTY](https://i.imgur.com/haydhHS.png)
-
-### FUNCTION - Layer 3
-
-![Layer 3: FUNCTION](https://i.imgur.com/XHUvgLd.png)
-
-<br><br><hr>
-
-### COLEMAK - Layer 1
-
-![Layer 1: COLEMAK](https://i.imgur.com/sBfHH8K.png)
-
-### DVORAK - Layer 2
-
-![Layer 2: DVORAK](https://i.imgur.com/AaypaN4.png)
diff --git a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/config.h b/keyboards/kbdfans/kbd75/keymaps/adamdehaven/config.h
deleted file mode 100644
index 4fcd773552..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 200
diff --git a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c b/keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c
deleted file mode 100644
index 398f90c6d7..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Compile from qmk_firmware folder with the following command:
-// $ make kbdfans/kbd75/rev2:adamdehaven
-
-// Each layer gets a name for readability. The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, and you can also skip them entirely and just use numbers.
-#define _QWERTY 0
-#define _FN1 1
-
-extern rgblight_config_t rgblight_config;
-static bool RGB_user_wants_enabled;
-uint16_t RGB_current_mode;
-uint16_t RGB_current_hue;
-uint16_t RGB_current_sat;
-uint16_t RGB_current_val;
-
-// Setup RGB
-void keyboard_post_init_user(void) {
- RGB_user_wants_enabled = rgblight_config.enable;
- RGB_current_mode = rgblight_config.mode;
- RGB_current_hue = rgblight_config.hue;
- RGB_current_sat = rgblight_config.sat;
- RGB_current_val = rgblight_config.val;
-};
-
-// Restore user settings
-void restore_user_rgb_settings(void) {
- // First, enable RGB
- if (RGB_user_wants_enabled && !rgblight_config.enable) {
- rgblight_enable();
- } else if (!RGB_user_wants_enabled && rgblight_config.enable) {
- rgblight_disable();
- }
-
- // Restore settings
- rgblight_sethsv(RGB_current_hue, RGB_current_sat, RGB_current_val); // Restore underglow RGB color
- rgblight_mode(RGB_current_mode); // Restore RGB mode
-};
-
-// Tap Dance Definitions
-enum tapdance {
- TD_PGUP = 0,
- TD_PGDN
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for PageUp, twice for Home
- [TD_PGUP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME),
- // Tap once for PageDown, twice for End
- [TD_PGDN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_END)
-};
-
-// Fire on keypress
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case RGB_TOG:
- if (!record->event.pressed) {
- // on keyup
- RGB_user_wants_enabled = rgblight_config.enable;
- }
- break;
- case RGB_MOD:
- if (!record->event.pressed) {
- // on keyup
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_HUI:
- case RGB_HUD:
- if (!record->event.pressed) {
- // on keyup
- RGB_current_hue = rgblight_config.hue;
- }
- break;
- case RGB_SAI:
- case RGB_SAD:
- if (!record->event.pressed) {
- // on keyup
- RGB_current_sat = rgblight_config.sat;
- }
- break;
- case RGB_VAI:
- case RGB_VAD:
- if (!record->event.pressed) {
- // on keyup
- RGB_current_val = rgblight_config.val;
- }
- break;
- }
- return true;
-};
-
-
-/*
- * You can use _______ in place for KC_TRNS (transparent)
- * Or you can use XXXXXXX for KC_NO (NOOP)
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* 0: _QWERTY
- * ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────â”
- * │ 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_INSERT│ KC_DEL │
- * ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤
- * │ KC_GRV │ KC_1 │ KC_2 │ KC_3 │ KC_4 │ KC_5 │ KC_6 │ KC_7 │ KC_8 │ KC_9 │ KC_0 │ KC_MINS │ KC_EQL │ KC_BSPC │ KC_HOME │
- * ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤
- * │ KC_TAB │ KC_Q │ KC_W │ KC_E │ KC_R │ KC_T │ KC_Y │ KC_U │ KC_I │ KC_O │ KC_P │ KC_LBRC │ KC_RBRC │ KC_BSLS │ KC_END │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────────┼─────────┤
- * │ KC_CAPS │ KC_A │ KC_S │ KC_D │ KC_F │ KC_G │ KC_H │ KC_J │ KC_K │ KC_L │ KC_SCLN │ KC_QUOT │ KC_ENT │ TD_PGUP │
- * ├────────────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────────────┬─────────┼─────────┤
- * │ KC_LSFT (2) │ KC_Z │ KC_X │ KC_C │ KC_V │ KC_B │ KC_N │ KC_M │ KC_COMM │ KC_DOT │ KC_SLSH │ KC_RSFT │ KC_UP │ TD_PGDN │
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬┴────────┬─┴───────┬─────────┼─────────┼─────────┤
- * │ KC_LCTL │ KC_LGUI │ KC_LALT │ KC_SPC │ KC_RALT │MO(_FN1) │ KC_RCTL │ KC_LEFT │ KC_DOWN │ KC_RGHT │
- * └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
- */
- [_QWERTY] = 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_INSERT, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, TD(TD_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, TD(TD_PGDN),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* 1: _FN1
- * ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────â”
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_MUTE │
- * ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │
- * ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤
- * │ _______ │ RGB_TOG │ RGB_MOD │ RGB_HUI │ RGB_HUD │ RGB_SAI │ RGB_SAD │ RGB_VAI │ RGB_VAD │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │
- * ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_VOLU │
- * ├────────────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────────────┬─────────┼─────────┤
- * │ _______ (2) │ _______ │ _______ │ BL_DOWN │ BL_TOGG │ BL_UP │ BL_STEP │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_MPLY │ KC_VOLD │
- * ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┼─────────┤
- * │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_MPRV │ KC_MPLY │ KC_MNXT │
- * └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
- */
- [_FN1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, _______, _______, _______, BL_DOWN,BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
- )
-};
-
-void toggle_rgb_caps_lock(bool isActive) {
- if (isActive) {
- if (!rgblight_config.enable) {
- rgblight_enable();
- }
-
- // Set underglow color if CAPS_LOCK enabled
- rgblight_sethsv(HSV_RED);
- // Set to breathe
- rgblight_mode(5);
- } else {
- restore_user_rgb_settings();
- }
-};
-
-bool led_update_user(led_t led_state) {
- toggle_rgb_caps_lock(led_state.caps_lock);
- return true;
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/rules.mk b/keyboards/kbdfans/kbd75/keymaps/adamdehaven/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/adamdehaven/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c b/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
deleted file mode 100644
index 80b6c6bfe3..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
+++ /dev/null
@@ -1,23 +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_SCRL, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- 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_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, LT(1,KC_END),
- KC_CAPS, KC_LALT, _______, _______, KC_SPC, _______, KC_RGUI, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/broswen/README.md b/keyboards/kbdfans/kbd75/keymaps/broswen/README.md
deleted file mode 100644
index d95b3f2805..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/broswen/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# KBD75 broswen keymap
-
-Almost default keymap for KBD75.
-
-- Top right extra keys are media keys.
-
-- Vim style motion keys on layer 1
diff --git a/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c b/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c
deleted file mode 100644
index 3f79a13077..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c
+++ /dev/null
@@ -1,22 +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_VOLD, KC_VOLU, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, MO(1), KC_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_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c b/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c
deleted file mode 100644
index 975246f487..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c
+++ /dev/null
@@ -1,22 +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_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_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_INS,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_UP, BL_DOWN, _______, _______, _______
- )
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/digital/readme.md b/keyboards/kbdfans/kbd75/keymaps/digital/readme.md
deleted file mode 100644
index 99c95a00ff..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/digital/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# digital KBD75 Keymap
-
-ISO KBD75 keymap.
-
-![KBD75 digital keymap](https://i.imgur.com/IMb7eML.png)
diff --git a/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c b/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c
deleted file mode 100644
index 075fa78f09..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2020 @ethan605
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: Qwerty layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ ESC │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ INS │ DEL │ FN │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ BSPC │HOME │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬────────┼─────┤
- * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ BSLS │END │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │ LCTRL │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │PGUP │
- * ├─────────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │ LSHFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ RSHFT │ UP │PGDN │
- * ├──────┬─────┴─┬───┴──┬──┴─────┴─────┴─────┴─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │ CAPS │ LALT │ LCMD │ SPC │RCMD │RALT │RCTL │LEFT │DOWN │RIGHT│
- * └──────┴───────┴──────┴─────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, MO(1),
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, MO(1), KC_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_CAPS, KC_LALT, KC_LCMD, KC_SPC, KC_SPC, KC_SPC, KC_RCMD, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* 1: Function layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ FN │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ QK_BOOT │ │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬────────┼─────┤
- * │ │ TOG │ MOD │ HU+ │ HU- │ SA+ │ SA- │ VA+ │ VA- │ │ │ │ │ │ │ // RGB controls
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │ │ │ │ │ DEC │ TOG │ INC │STEP │ │ │ │ │ │ │ // Backlight controls
- * ├──────┬─────┴─┬───┴──┬──┴─────┴─────┴─────┴─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └──────┴───────┴──────┴─────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c b/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c
deleted file mode 100644
index b171d25577..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c
+++ /dev/null
@@ -1,145 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QW,
- _FO,
- _FL,
- _CL,
- _DL
-};
-
-
-
-
-// Custom macros
-#define SPC_FUN LT(_FL, KC_SPC)
-#define BSC_CON LT(_CL, KC_BSPC)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: Qwerty layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ ESC │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │PRSCR│ INS │HOME │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │BSLS │ DEL │ END │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
- * │TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BSPC │PGUP │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │CAPS │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ENTER │PGDN │
- * ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │LSHFT │LSHFT│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSHFT │ UP │MO_CL│
- * ├──────┼─────┴─┬───┴──┬──┴─────┴────┬┴─────┼─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │LCTRL │L_GUI │L_ALT │SPC │MO(_FL│BSPC │R_ALT│R_GUI│R_CTR│LEFT │DOWN │RIGHT│
- * └──────┴───────┴──────┴─────────────┴──────┴────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 0: QWERTY */
- [_QW] = 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_INS, KC_HOME,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_END,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_CL),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FL), KC_BSPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* 1: forty: this layer emulates a forty percent keyboard so I can transition to a forty percent :)
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
- * │ESC │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ENT │ │ │ │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │TAB │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │ │
- * ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │LSHFT │LSHFT│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSHFT │ │MO_CL│
- * ├──────┼─────┴─┬───┴──┬──┴─────┴────┬┴─────┼─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │LCTRL │L_ALT │MO(DL)│SPCFUN │BSPC │MO(_CL) │R_ALT│R_GUI│R_CTR│ │ │ │
- * └──────┴───────┴──────┴─────────────┴──────┴────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 1: FORTY */
- [_FO] = 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,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, XXXXXXX,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, MO(_CL),
- KC_LCTL, KC_LALT, MO(_DL), SPC_FUN, KC_BSPC, MO(_CL), KC_RALT, KC_RGUI, KC_RCTL, XXXXXXX, XXXXXXX, XXXXXXX),
-
-
- /* 2: Function layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
- * │ │ │HOME │ UP │END │ │ │ │ │ │ │ │ │ │VOLUP│
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │ │ │LEFT │DOWN │RIGHT│ │ │ │ │ │ │ │ │VOLDN│
- * ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │ │ │ │ │PGDN │PGUP │ │ │ │ │ │ │ │ │ │
- * ├──────┼─────┴─┬───┴──┬──┴─────┴────┬┴─────┼─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │ │ │ │ │ │ │VOLDN│VOLUP│ │ │ │ │
- * └──────┴───────┴──────┴─────────────┴──────┴────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 2: ANSI Fn layer */
- [_FL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
- _______, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______),
-
- /* 3: Control layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │QK_BOOT│QWERT│FORTY│ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
- * │ ` │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ DEL │ │ │ │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ \ │ │ │
- * ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┼─────┴─┬───┴──┬──┴─────┴────┬┴─────┼─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └──────┴───────┴──────┴─────────────┴──────┴────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 3: Control layer */
- [_CL] = LAYOUT(
- QK_BOOT, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, _______, _______, KC_VOLU,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, RGB_HUD, RGB_SAD, RGB_HUI),
-
- /* 4: Another layer for ease
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
- * │ │ │ │ │ │ │ │ _ │ + │ { │ } │ | │ │ │ │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
- * │ │ │ │ │ │ │ │ - │ = │ [ │ ] │ \ │ │ │
- * ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┼─────┴─┬───┴──┬──┴─────┴────┬┴─────┼─────┴─────┴────┬┴────┬┴────┬┴────┬─────┼─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └──────┴───────┴──────┴─────────────┴──────┴────────────────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 3: D control layer */
- [_DL] = LAYOUT(
- QK_BOOT, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD,
- _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, RGB_HUD, RGB_SAD, RGB_HUI)
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c b/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c
deleted file mode 100644
index 6816c3302d..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-#define _BL 0 // Base Layer
-#define _FN 1 // Function Layer
-#define _CL 2 // Control+ Layer
-
-// Add names for complex momentary keys, to keep the keymap matrix aligned better.
-#define CTL_ESC MT(MOD_LCTL,KC_ESC)
-#define GUI_ENT MT(MOD_RGUI, KC_ENT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BL] = 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_F13, MO(_FN), KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- 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_PGDN,
- KC_LSFT, MO(_FN), KC_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,
- MO(_CL), KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, GUI_ENT, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_CL] = LAYOUT(
- LCTL(KC_ESC), LCTL(KC_F1), LCTL(KC_F2), LCTL(KC_F3), LCTL(KC_F4), LCTL(KC_F5), LCTL(KC_F6), LCTL(KC_F7), LCTL(KC_F8), LCTL(KC_F9), LCTL(KC_F10), LCTL(KC_F11), LCTL(KC_F12), LCTL(KC_PSCR), _______, LCTL(KC_DEL),
- KC_ESC, LCTL(KC_1), LCTL(KC_2), LCTL(KC_3), LCTL(KC_4), LCTL(KC_5), LCTL(KC_6), LCTL(KC_7), LCTL(KC_8), LCTL(KC_9), LCTL(KC_0), LCTL(KC_MINS), LCTL(KC_EQL), LCTL(KC_DEL), KC_DEL, LCTL(KC_HOME),
- LCTL(KC_TAB), LCTL(KC_Q), LCTL(KC_W), LCTL(KC_E), LCTL(KC_R), LCTL(KC_T), LCTL(KC_Y), LCTL(KC_U), LCTL(KC_I), LCTL(KC_O), KC_PGUP, LCTL(KC_LBRC), LCTL(KC_RBRC), LCTL(KC_BSLS), LCTL(KC_PGUP),
- CTL_ESC, LCTL(KC_A), LCTL(KC_S), LCTL(KC_D), LCTL(KC_F), LCTL(KC_G), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, LCTL(KC_SCLN), LCTL(KC_QUOT), LCTL(KC_ENT), LCTL(KC_PGDN),
- LCTL(KC_LSFT), _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_B), KC_PGDN, LCTL(KC_M), LCTL(KC_COMM), LCTL(KC_DOT), LCTL(KC_SLSH), LCTL(KC_RSFT), LCTL(KC_UP), LCTL(KC_END),
- _______, LCTL(KC_LALT), LCTL(KC_LGUI), LCTL(KC_SPC), LCTL(KC_SPC), LCTL(KC_SPC), LCTL(KC_RGUI), LCTL(KC_RALT), LCTL(KC_RCTL), LCTL(KC_LEFT), LCTL(KC_DOWN), LCTL(KC_RGHT)
- ),
-
-};
diff --git a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/readme.md b/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/readme.md
deleted file mode 100644
index 6a78140a3d..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Spaceman Spiff Layout for KBD75
-
-![Keyboard Layout](https://i.imgur.com/tQLYDvu.png)
-
-<!-- http://www.keyboard-layout-editor.com/#/gists/c1e8a15c68e4c52eed84653f21ae2d29 -->
-
-Designed specifically to make switching back-n-forth with the Apple's MacBook Pro keyboard intuitive. Has a slight tendency toward readline/vim keybindings.
-
-Caps locks becomes an `Esc` when pressed alone, or a `Ctrl` when pressed with another key.
-
-# Base Layer
-
-As simalar to the Apple keyboard as possible. Notiable exception is `Caps Lock`:
-- `Esc` when pressed alone
-- `Ctrl` when pressed with another key
-
-# Control+ Layer
-
-Left Ctrl key switches to the "Control+ Layer". This layer mostly acts like a control key in most cases, with a few exceptions:
-
-- `Ctl+` + `hjkl` are vim-style motion keys
-- `Ctl+` + `p` and `Ctl+` + `n` are page up and down
-- `Ctl+` + `Backspace` is forward delete
-
-# Fn Layer
-
-Audio Controls:
-- `Fn` + `a` Volume Down
-- `Fn` + `s` Volume Up
-- `Fn` + `d` Mute
-
-To flash this layout you need to press `Fn+Backspace`
-
-
-
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h
deleted file mode 100644
index e42b60811c..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define MANUFACTURER "Potato Inc."
-#define PRODUCT "Qt3.14"
-
-/* send tap key if no layer key was used even after tap delay */
-#define TAPPING_TERM 250
-#define RETRO_TAPPING
-
-/* turn off RGB when computer sleeps */
-#define RGBLIGHT_SLEEP
-
-#ifdef BACKLIGHT_LEVELS
-#undef BACKLIGHT_LEVELS
-#endif
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 8
-#endif
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c
deleted file mode 100644
index c7f05a4e94..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _FUNC,
- _NUMPAD
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- FUNC,
- NUMPAD,
- MACRO1,
- MACRO2,
- MACROTAB,
- DYNAMIC_MACRO_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_ansi_1u(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_PSCR,
- LT(_NUMPAD, KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FUNC] = LAYOUT_ansi_1u(
- QK_BOOT, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCRL, KC_PAUS,
- KC_TRNS, MACRO1, MACRO2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- MACROTAB, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, KC_TRNS,
- KC_TRNS, VK_TOGG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, DM_REC2, DM_PLY2, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_TOGG, BL_DOWN,BL_UP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, DM_RSTP, DM_REC1, DM_PLY1, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, LCA(KC_DEL), KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_NUMPAD] = LAYOUT_ansi_1u(
- KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_KP_SLASH, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, KC_TRNS, KC_KP_ENTER, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_COMM, KC_DOT, KC_KP_PLUS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
-
- switch (keycode) {
- case MACRO1:
- if (record->event.pressed) {
- SEND_STRING(SS_LCTL("c") SS_DOWN(X_LALT) SS_TAP(X_TAB) SS_UP(X_LALT) SS_LCTL("v") SS_TAP(X_TAB));
- _delay_ms(50);
- SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_TAB) SS_UP(X_LALT) SS_TAP(X_TAB));
- } else {
-
- }
- break;
- case MACRO2:
- if (record->event.pressed) {
- SEND_STRING("GGWP");
- } else {
-
- }
- break;
- case MACROTAB:
- if (record->event.pressed) {
- SEND_STRING(" ");
- } else {
-
- }
- break;
- }
-
- return true;
-}
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- setPinOutput(B2);
- writePinLow(B2);
- } else {
- setPinInput(B2);
- }
- return false;
-}
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/readme.md b/keyboards/kbdfans/kbd75/keymaps/tucznak/readme.md
deleted file mode 100644
index 9621258446..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# TuCZnak's modified layout
-
-This layout is made for the ANSI configuration of KBD75.
-It has a base layer, numpad on LT and a combined
-configuration / macro / media layer.
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/rules.mk b/keyboards/kbdfans/kbd75/keymaps/tucznak/rules.mk
deleted file mode 100644
index 71b25fcb12..0000000000
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-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 = yes # Enable keyboard backlight functionality
-VELOCIKEY_ENABLE = yes # RGB memes for quickscoping teens
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd75hs/config.h b/keyboards/kbdfans/kbd75hs/config.h
index 6a5b35b5b6..05ad34d3f5 100644
--- a/keyboards/kbdfans/kbd75hs/config.h
+++ b/keyboards/kbdfans/kbd75hs/config.h
@@ -17,6 +17,5 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-#define RGBLIGHT_DEFAULT_SPD 15
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/kbd75hs/info.json b/keyboards/kbdfans/kbd75hs/info.json
index fc2310993c..097bb6003a 100644
--- a/keyboards/kbdfans/kbd75hs/info.json
+++ b/keyboards/kbdfans/kbd75hs/info.json
@@ -33,6 +33,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h
index a8b20051ec..d7040d4172 100644
--- a/keyboards/kbdfans/kbd75rgb/config.h
+++ b/keyboards/kbdfans/kbd75rgb/config.h
@@ -18,36 +18,3 @@
#define USB_SUSPEND_WAKEUP_DELAY 5000
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
-
-#define RGB_MATRIX_LED_COUNT 84
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspendedz
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json
index f501965348..ee8d20a90f 100644
--- a/keyboards/kbdfans/kbd75rgb/info.json
+++ b/keyboards/kbdfans/kbd75rgb/info.json
@@ -27,10 +27,43 @@
"pin": "C7"
},
"rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 150,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "E6", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"],
diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h
index be985880d0..130f99d7b7 100644
--- a/keyboards/kbdfans/kbdmini/config.h
+++ b/keyboards/kbdfans/kbdmini/config.h
@@ -1,58 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define RGB_MATRIX_LED_COUNT 52
-#endif
diff --git a/keyboards/kbdfans/kbdmini/info.json b/keyboards/kbdfans/kbdmini/info.json
index 99aa4a4113..3b16188b32 100644
--- a/keyboards/kbdfans/kbdmini/info.json
+++ b/keyboards/kbdfans/kbdmini/info.json
@@ -9,7 +9,36 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B3", "B2", "B1", "B0", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c
index d46283b973..7aec00cbdc 100644
--- a/keyboards/kbdfans/kbdmini/kbdmini.c
+++ b/keyboards/kbdfans/kbdmini/kbdmini.c
@@ -1,61 +1,61 @@
#include "quantum.h"
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, B_9, A_9, C_9 }, //LA33
- { 0, B_10, A_10, C_10 }, //LA37
- { 0, B_11, A_11, C_11 }, //LA41
- { 0, B_12, A_12, C_12 }, //LA45
- { 0, B_13, A_13, C_13 }, //LA49
- { 0, B_14, A_14, C_14 }, //LA53
- { 0, B_15, A_15, C_15 }, //LA57
- { 0, B_6, A_6, C_6 }, //LA21
- { 0, B_5, A_5, C_5 }, //LA17
- { 0, B_4, A_4, C_4 }, //LA13
- { 0, B_3, A_3, C_3 }, //LA9
- { 0, B_2, A_2, C_2 }, //LA5
- { 0, B_1, A_1, C_1 }, //LA1
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, //LA33
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, //LA37
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, //LA41
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, //LA45
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, //LA49
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, //LA53
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 }, //LA57
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, //LA21
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 }, //LA17
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, //LA13
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, //LA9
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, //LA5
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, //LA1
- { 0, E_9, D_9, F_9 }, //LA34
- { 0, E_10, D_10, F_10 }, //LA38
- { 0, E_11, D_11, F_11 }, //LA42
- { 0, E_12, D_12, F_12 }, //LA46
- { 0, E_13, D_13, F_13 }, //LA50
- { 0, E_14, D_14, F_14 }, //LA54
- { 0, E_15, D_15, F_15 }, //LA58
- { 0, E_6, D_6, F_6 }, //LA22
- { 0, E_5, D_5, F_5 }, //LA18
- { 0, E_4, D_4, F_4 }, //LA14
- { 0, E_3, D_3, F_3 }, //LA10
- { 0, E_2, D_2, F_2 }, //LA6
- { 0, E_1, D_1, F_1 }, //LA2
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, //LA34
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, //LA38
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, //LA42
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, //LA46
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, //LA50
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, //LA54
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, //LA58
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, //LA22
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, //LA18
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, //LA14
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, //LA10
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, //LA6
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, //LA2
- { 0, H_9, G_9, I_9 }, //LA35
- { 0, H_10, G_10, I_10 }, //LA39
- { 0, H_11, G_11, I_11 }, //LA43
- { 0, H_12, G_12, I_12 }, //LA47
- { 0, H_13, G_13, I_13 }, //LA51
- { 0, H_14, G_14, I_14 }, //LA55
- { 0, H_15, G_15, I_15 }, //LA59
- { 0, H_6, G_6, I_6 }, //LA23
- { 0, H_5, G_5, I_5 }, //LA19
- { 0, H_4, G_4, I_4 }, //LA15
- { 0, H_3, G_3, I_3 }, //LA11
- { 0, H_2, G_2, I_2 }, //LA7
- { 0, H_1, G_1, I_1 }, //LA3
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, //LA35
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, //LA39
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, //LA43
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, //LA47
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, //LA51
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, //LA55
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, //LA59
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, //LA23
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, //LA19
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, //LA15
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, //LA11
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, //LA7
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, //LA3
- { 0, K_9, J_9, L_9 }, //LA36
- { 0, K_10, J_10, L_10 }, //LA40
- { 0, K_11, J_11, L_11 }, //LA44
- { 0, K_12, J_12, L_12 }, //LA48
- { 0, K_13, J_13, L_13 }, //LA52
- { 0, K_14, J_14, L_14 }, //LA56
- { 0, K_15, J_15, L_15 }, //LA60
- { 0, K_6, J_6, L_6 }, //LA24
- { 0, K_5, J_5, L_5 }, //LA20
- { 0, K_4, J_4, L_4 }, //LA16
- { 0, K_3, J_3, L_3 }, //LA12
- { 0, K_2, J_2, L_2 }, //LA8
- { 0, K_1, J_1, L_1 } //LA4
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, //LA36
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, //LA40
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, //LA44
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, //LA48
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, //LA52
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 }, //LA56
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 }, //LA60
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, //LA24
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, //LA20
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, //LA16
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, //LA12
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, //LA8
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 } //LA4
};
led_config_t g_led_config = {
diff --git a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c b/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c
deleted file mode 100644
index 5bbd8666ae..0000000000
--- a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright 2021 Aaron VerDow
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Layer declarations
-enum {
- DEF_LAYER,
- MOD_LAYER,
-};
-
-// Tap Dance declarations
-enum {
- TD_CAR,
- TD_PRINT,
- TD_CAM_UP,
- TD_CAM_DN
-};
-
-void camera_number(uint16_t tens, uint16_t ones) {
-/* Switch to a specific camera number
- *
- * I haven't been able to find official docs for this.
- *
- * To determine the number click the dropdown in UI and
- * count from the top. The list can change with updates.
- *
- * Shift must be held between both * presses or the combo
- * won't be recognized.
- */
-
- register_code16(KC_LSFT);
- tap_code(KC_8);
- tap_code(KC_8);
- unregister_code16(KC_LSFT);
- tap_code(tens);
- tap_code(ones);
- tap_code(KC_ENT);
-}
-
-void cam_up(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- tap_code(KC_C); // tap once for next cam
- break;
- case 2:
- camera_number(KC_2,KC_0); // tap twice for reverse chase cam
- break;
- }
-}
-
-void cam_down(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- tap_code16(LSFT(KC_C)); // tap once for prev cam
- break;
- case 2:
- camera_number(KC_1,KC_8); // tap twice for chase cam
- break;
- }
-}
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_CAR] = ACTION_TAP_DANCE_DOUBLE(
- LSFT(KC_V), // tap once for prev car
- LCTL(KC_V) // tap twice for my car
- ),
- [TD_PRINT] = ACTION_TAP_DANCE_DOUBLE(
- LCTL(LALT(LSFT(KC_S))), // tap once for iRacing screenshot (must be enabled in options)
- LGUI(KC_PSCR) // tap twice for Windows print screen and save to file
- ),
- [TD_CAM_UP] = ACTION_TAP_DANCE_FN(cam_up),
- [TD_CAM_DN] = ACTION_TAP_DANCE_FN(cam_down)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEF_LAYER] = LAYOUT_ortho_6x4( /* Base */
-
- TD(TD_CAM_UP), // next cam, double tap for reverse chase cam
- KC_V, // next car
- LSFT(KC_P3), // next lap
- LCTL(KC_P3), // next inc
-
- TD(TD_CAM_DN), // prev cam, double tap for chase cam
- TD(TD_CAR), // prev car, double tap for my car
- LSFT(KC_P1), // prev lap
- LCTL(KC_P1), // prev inc
-
- LSFT(KC_P4), // rewind
- KC_P5, // play/pause
- LSFT(KC_P6), // fast forward
- KC_P8, // slow mo
-
- KC_P4, // prev frame
- KC_W, // up
- KC_P6, // next frame
- TD(TD_PRINT), // print screen
-
- KC_A, // left
- KC_S, // down
- KC_D, // right
- LALT(KC_K), // toggle click and drag ui elements (in car)
-
- KC_LCTL, // ctrl
- KC_LALT, // alt
- LCTL(KC_F12), // camera tool
- LT(MOD_LAYER, KC_SPACE) // press once for UI, hold for MOD layer
- ),
-
- [MOD_LAYER] = LAYOUT_ortho_6x4( /* Base */
-
- KC_B, // next sub cam
- KC_PGUP, // next driver cam
- LCTL(KC_P6), // next session
- KC_P7, // start
-
- LSFT(KC_B), // prev sub cam
- KC_PGDN, // prev driver cam
- LCTL(KC_P4), // prev session
- KC_P1, // end
-
- KC_RBRC, // FOV up
- KC_EQL, // step factor up
- _______,
- _______,
-
- KC_LBRC, // FOV down
- KC_MINS, // step factor down
- _______,
- _______,
-
- _______,
- _______,
- _______,
- _______,
-
- _______,
- LALT(KC_M), // cycle aim
- RALT(KC_ENTER), // fullscreen (unreliable)
- _______
- ),
-};
diff --git a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/readme.md b/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/readme.md
deleted file mode 100644
index a574499c6b..0000000000
--- a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# iRacing Replay Tool
-
-![](https://imgur.com/0948eBGh.jpg)
-
-Replay/camera tool for iRacing. This uses the default keybindings for the game so nothing should need to be mapped. This makes replays much easier to view in VR and makes waiting through heats a lot more enjoyable.
-
-To make full use of the arrow keys open the camera tool (you can close the UI after) and optionally switch the AIM to static.
-
-The code to generate stl files for the keycap set are ![available here.](https://github.com/AaronVerDow/KeyV2/blob/numpad/src/layouts/numpad/iracing.scad)
-
-Other notes:
-* Hold MOD (UI key) to access features on the front of
-* Double tap car down is a shortcut for your car
-* Double tap cam down is a shortcut for chase cam
-* Double tap cam up is a shortcut for reverse chase cam
-* The record button takes a screenshot using iRacing. Double tap record button to auto save a screenshot using Windows.
-* The key above UI is unassigned
diff --git a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/rules.mk b/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/kbdfans/kbdpad/mk3/config.h b/keyboards/kbdfans/kbdpad/mk3/config.h
deleted file mode 100644
index 16eb12d1f5..0000000000
--- a/keyboards/kbdfans/kbdpad/mk3/config.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2022 DZTECH <moyi4681@Live.cn>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 21
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
diff --git a/keyboards/kbdfans/kbdpad/mk3/info.json b/keyboards/kbdfans/kbdpad/mk3/info.json
index 8ba02f8fa1..735dd3e4ef 100644
--- a/keyboards/kbdfans/kbdpad/mk3/info.json
+++ b/keyboards/kbdfans/kbdpad/mk3/info.json
@@ -9,7 +9,6 @@
"command": false,
"console": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
@@ -23,6 +22,43 @@
},
"processor": "atmega32u4",
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_pinwheel_sat": true,
+ "band_spiral_sat": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
@@ -47,7 +83,8 @@
{"flags": 4, "matrix": [5, 2], "x": 150, "y": 64},
{"flags": 4, "matrix": [5, 0], "x": 37.5, "y": 64}
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "sleep": true
},
"ws2812": {
"pin": "F5"
diff --git a/keyboards/kbdfans/maja/config.h b/keyboards/kbdfans/maja/config.h
index e07c5adf93..82b582bfe1 100755
--- a/keyboards/kbdfans/maja/config.h
+++ b/keyboards/kbdfans/maja/config.h
@@ -1,61 +1,4 @@
#pragma once
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 31
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/kbdfans/maja/info.json b/keyboards/kbdfans/maja/info.json
index 8ee6118452..7b64cae893 100644
--- a/keyboards/kbdfans/maja/info.json
+++ b/keyboards/kbdfans/maja/info.json
@@ -9,7 +9,41 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/kbdfans/maja/maja.c b/keyboards/kbdfans/maja/maja.c
index d30d327113..cc073930bc 100755
--- a/keyboards/kbdfans/maja/maja.c
+++ b/keyboards/kbdfans/maja/maja.c
@@ -1,6 +1,6 @@
#include "quantum.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C2_1, C3_1, C4_1}, // LA0
{0, C1_1, C3_2, C4_2}, // LA1
{0, C1_2, C2_2, C4_3}, // LA2
diff --git a/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c
deleted file mode 100644
index 752aa519c8..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c
+++ /dev/null
@@ -1,74 +0,0 @@
- /* Copyright 2020 Chus Jara Peinado
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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] = {
-
- /* Layer 0
- * ,-----------------------------------------------------------------------------------.
- * | 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 | , | . | Up | ? |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | " |Layer1| Space |Layer2| - | Left | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
- KC_LCTL, KC_LGUI, KC_LALT, KC_QUOT, MO(1), KC_SPC, MO(2), KC_MINS, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Layer 1
- * ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F11 | F12 | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |Reset |
- * `-----------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_planck_mit(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- /* Layer 2 (r_ Indicates RGB Controls)
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | [ | ] | \ | " | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | - | = | | | Vol+ |PrtScr|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | Vol- | Mute |
- * `-----------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_planck_mit(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, KC_QUOT, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, KC_VOLU, KC_PSCR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE
- )
-};
diff --git a/keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md b/keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md
deleted file mode 100644
index e276c4d060..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/dyesub/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Dye sub layout
-
-Simple layout based on the keycaps [DYE SUB](https://kbdfans.com/collections/oem-profile/products/40-layou-dye-sub-keycaps) from KDBFans.
-
-## Notes
-- There is a different ESC key position in this layout.
-- The mouse key, backlight and console for debug are disabled (Enable them by just modifying the `rules.mk` file).
diff --git a/keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk
deleted file mode 100644
index c5f09480a3..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/dyesub/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-MOUSEKEY_ENABLE = no
-BACKLIGHT_ENABLE = no
diff --git a/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c
deleted file mode 100644
index fe276bac20..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* Copyright 2021 Edvard Sire
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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,
- _NUMPAD,
- _ARROWS,
- _SPECIAL,
- _FPS,
- _FIGHTING,
- _MOBA,
- _MOBA2,
- _MOUSE
-};
-
-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 | ; | " |
- * |------+------+------+------+-------+------+------+--------+------+--------------------|
- * |Numpad| Z | X | C | V | B | N | M | , | . | / |Arrows|
- * |------+------+------+------+-------+------+---------------+------+--------------------|
- * | Ctrl | GUI | | Alt |Special| Space |RS/Enter|Mouse | | Fps | Del |
- * `--------------------------------------------------------------------------------------`
- */
-[_QWERTY] = LAYOUT_planck_mit(
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- MO(1), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2),
- KC_LCTL, KC_LGUI, KC_TRNS, KC_LALT, MO(3), KC_SPC, SC_SENT, MO(8), KC_TRNS, TO(4), KC_DEL
-),
-
-/* NUMPAD
- * ,-----------------------------------------------------------------------------------.
- * | | |Power | |RGBmoG| | | 7 | 8 | 9 | | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | Prev | Play | Next | | | 4 | 5 | 6 | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Trns | |RGBmo-|RBGmd+|RGBtog| | | 1 | 2 | 3 | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | Space | 0 | , | . | |Reset |
- * `-----------------------------------------------------------------------------------'
- */
-[_NUMPAD] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_PWR, KC_NO, RGB_M_G, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_BSPC,
- KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO, KC_NO,
- KC_TRNS, KC_NO, RGB_RMOD, RGB_MOD, RGB_TOG, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_NO, QK_BOOT
-),
-
-/* ARROWS
- * ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | | | | Up | | | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F5 | F6 | F7 | F8 | | | Left | Down |Right | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 | | | | | | | Trns |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |LCtrl | F13 | F14 | F15 | F16 | Left Alt | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ARROWS] = LAYOUT_planck_mit(
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_BSPC,
- KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO,
- KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_LCTL, KC_F13, KC_F14, KC_F15, KC_F16, KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
-),
-
-/* SPECIAL
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | * | ( | ) | \ | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | [ | | | | & | | - | [ | ] | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | = | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | Trns | Space |LShift| | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_SPECIAL] = LAYOUT_planck_mit(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS, KC_BSPC,
- KC_NO, KC_LBRC, KC_NO, KC_NO, KC_NO, KC_AMPR, KC_NO, KC_MINS, KC_LBRC, KC_RBRC, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_SPC, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO
-),
-
-/* FPS
- * ,-----------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |QWERTY|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |RShift| Q | W | E | R | T | Y |QWERTY| | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Tab | A | S | D | G | B | ` | | | | MOBA | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |LCtrl | Z | X | LAlt |LShift| Space |Enter | | | Trns |FIGHTI|
- * `-----------------------------------------------------------------------------------'
- */
-[_FPS] = LAYOUT_planck_mit(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, TO(0),
- KC_RSFT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, TO(0), KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TAB, KC_A, KC_S, KC_D, KC_G, KC_B, KC_GRV, KC_NO, KC_NO, KC_NO, TO(6), KC_NO,
- KC_LCTL, KC_Z, KC_X, KC_LALT, KC_LSFT, KC_SPC, KC_ENT, KC_NO, KC_NO, KC_TRNS, TO(5)
-),
-
-/* FIGHTING
- * ,-----------------------------------------------------------------------------------.
- * | Esc | | W | | | | | | | | |QWERTY|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | | | | J | K | L | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |LCtrl | | | | H | Space | | | | | Trns |
- * `-----------------------------------------------------------------------------------'
- */
-[_FIGHTING] = LAYOUT_planck_mit(
- KC_ESC, KC_NO, KC_W, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0),
- KC_TAB, KC_A, KC_S, KC_D, KC_NO, KC_NO, KC_NO, KC_J, KC_K, KC_L, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_H, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
-),
-
-/* MOBA
- * ,-----------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | | | | |QWERTY|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |RShift| Q | W | E | R | T | Y |QWERTY| | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | B | | | | Trns | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |LCtrl | Z | X | LAlt |MOBA2 | Space |Enter | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_MOBA] = LAYOUT_planck_mit(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_NO, KC_NO, KC_NO, KC_NO, TO(0),
- KC_RSFT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, TO(0), KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_B, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO,
- KC_LCTL, KC_Z, KC_X, KC_LALT, MO(7), KC_SPC, KC_ENT, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-
-/* MOBA2
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | Trns | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_MOBA2] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
-),
-
-/* MOBA2
- * ,-----------------------------------------------------------------------------------.
- * | | | | MUp | | | | MWUp |MWDown| | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | |MLeft |MDown |MRight| | |Mouse1|Mouse2| | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Trns | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_MOUSE] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_MS_U, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_D, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO
- )
-};
diff --git a/keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md b/keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md
deleted file mode 100644
index 32846b4a55..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/edvard/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Edvard's layout
-
-An efficient 40% keyboard layout
-
-[Writeup](https://github.com/EdvardSire/keyboard)
diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/config.h b/keyboards/kbdfans/niu_mini/keymaps/framtava/config.h
deleted file mode 100644
index 0c42bb5060..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/framtava/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define MUSIC_MASK (keycode != KC_NO)
-
-/*
- * MIDI options
- */
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-
-#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 2
-
-#endif
diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c
deleted file mode 100644
index 3735744368..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c
+++ /dev/null
@@ -1,279 +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
-
-extern keymap_config_t keymap_config;
-
-enum layers {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _PLOVER,
- _ADJUST,
- _BACKLIT
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- PLOVER,
- LOWER,
- RAISE,
- BACKLIT,
- EXT_PLV
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Brite |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_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_LGUI, KC_LALT, BACKLIT, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Brite |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LGUI, KC_LALT, BACKLIT, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Brite |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_planck_mit(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- KC_LCTL, KC_LGUI, KC_LALT, BACKLIT, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_planck_mit(
- _______, 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_TILD,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_PIPE, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | 4 | 5 | 6 | | | | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | 7 | 8 | 9 | | | |ISO # |ISO / |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | 0 | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_planck_mit(
- KC_NUM, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_4, KC_5, KC_6, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
- _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_PSCR, _______, KC_BSLS, _______,
- _______, _______, _______, KC_0, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Plover layer (http://opensteno.org)
- * ,-----------------------------------------------------------------------------------.
- * | # | # | # | # | # | # | # | # | # | # | # | # |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | S | T | P | H | * | * | F | P | L | T | D |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | S | K | W | R | * | * | R | B | G | S | Z |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Exit | | | A | O | | E | U | | | |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_PLOVER] = LAYOUT_planck_mit(
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
- XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_planck_mit(
- _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
- _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | TOG | | | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | MOD | HUI | HUD |
- * `-----------------------------------------------------------------------------------'
- */
-[_BACKLIT] = LAYOUT_planck_mit(
- _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD,
- _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD
-)
-
-
-};
-
-#ifdef AUDIO_ENABLE
- float plover_song[][2] = SONG(PLOVER_SOUND);
- float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- print("mode just switched to qwerty and this is a huge string\n");
- 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;
- case BACKLIT:
- if (record->event.pressed) {
- layer_on(_BACKLIT);
- // update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_BACKLIT);
- // update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case PLOVER:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- stop_all_notes();
- PLAY_SONG(plover_song);
- #endif
- layer_off(_RAISE);
- layer_off(_LOWER);
- layer_off(_ADJUST);
- layer_on(_PLOVER);
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
- keymap_config.raw = eeconfig_read_keymap();
- keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
- }
- return false;
- break;
- case EXT_PLV:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(plover_gb_song);
- #endif
- layer_off(_PLOVER);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md b/keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md
deleted file mode 100644
index de9680b498..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/framtava/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The Default Planck Layout
-
diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk
deleted file mode 100644
index 8cf6f7d5cb..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/framtava/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-CONSOLE_ENABLE = no # Console for debug(+400)
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md
deleted file mode 100644
index 9d57ceb5f7..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Kbdfans Niu Mini
-
-Here `keymap.c` is generated by [qmk configurator](https://config.qmk.fm) and
-it corresponds to the colemak-dh layout.
-
-To customize, upload the json file to qmk configurator
-
-- `keymap_colemak_dh.json`: colemak-dh layout
-- `keymap_qwerty.json`: qwerty layout
-
-Make the modification via the web interface, "compile" and download "keymap only".
-Then place the generated `keymap.c` in this folder.
-
-To flush the firmware, connect your keyboard and run
-
-```
-make niu_mini:nosarthur:dtu
-```
-in the `qmk_firmware` source folder.
-There will be some prompts saying no device is found. Click the reset button in
-the back of your keyboard and it should work.
-
-# notes from qmk configurator
-
-This layout was generated by the QMK API. You can find the JSON data used to
-generate this keymap in the file layers.json.
-
-To make use of this file you will need follow the following steps:
-
-* Download or Clone QMK Firmware: <https://github.com/qmk/qmk_firmware/>
-* Extract QMK Firmware to a location on your hard drive
-* Copy this folder into %s
-* You are now ready to compile or use your keymap with the source
-
-More information can be found in the QMK docs: <https://docs.qmk.fm>
diff --git a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c
deleted file mode 100644
index fe719fc821..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_planck_mit(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LGUI, TT(3), KC_LALT, KC_LCTL, LT(2,KC_BSPC), KC_SPC, LT(1,KC_ENT), KC_COLN, KC_2, KC_1, KC_0),
- [1] = LAYOUT_planck_mit(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_COLN, KC_PIPE, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCBR, KC_RCBR, KC_DOT, KC_SLSH, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_PLUS),
- [2] = LAYOUT_planck_mit(KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_MUTE, KC_NO, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_NO, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP),
- [3] = LAYOUT_planck_mit(KC_F1, KC_F2, KC_MS_U, KC_F3, KC_F4, KC_7, KC_8, KC_9, KC_MINS, KC_F10, KC_F11, KC_F12, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, KC_F5, KC_4, KC_5, KC_6, KC_PLUS, RGB_HUI, RGB_HUD, RGB_TOG, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_1, KC_2, KC_3, KC_ENT, KC_ASTR, KC_SLSH, RGB_MOD, KC_TRNS, TO(0), KC_TRNS, KC_BTN1, KC_TRNS, KC_0, KC_DOT, KC_NO, KC_NO, KC_NO, KC_NO)
-};
diff --git a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json
deleted file mode 100644
index 8dc43350c8..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_colemak_dh.json
+++ /dev/null
@@ -1 +0,0 @@
-{"keyboard":"niu_mini","keymap":"22","layout":"LAYOUT_planck_mit","layers":[["KC_TAB","KC_Q","KC_W","KC_F","KC_P","KC_B","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_MINS","KC_ESC","KC_A","KC_R","KC_S","KC_T","KC_G","KC_K","KC_N","KC_E","KC_I","KC_O","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_C","KC_D","KC_V","KC_M","KC_H","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_LGUI","TT(3)","KC_LALT","KC_LCTL","LT(2,KC_BSPC)","KC_SPC","LT(1,KC_ENT)","KC_COLN","KC_2","KC_1","KC_0"],["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_EQL","KC_TILD","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_CIRC","KC_AMPR","KC_ASTR","KC_MINS","KC_COLN","KC_PIPE","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_LCBR","KC_RCBR","KC_DOT","KC_SLSH","KC_BSLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_CAPS","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_PLUS"],["KC_TILD","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_PGUP","KC_HOME","KC_UP","KC_END","KC_VOLU","KC_MUTE","KC_NO","KC_LT","KC_GT","KC_LPRN","KC_RPRN","KC_NO","KC_PGDN","KC_LEFT","KC_DOWN","KC_RGHT","KC_VOLD","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_LBRC","KC_RBRC","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_MPRV","KC_MNXT","KC_MPLY","KC_MSTP"],["KC_F1","KC_F2","KC_MS_U","KC_F3","KC_F4","KC_7","KC_8","KC_9","KC_MINS","KC_F10","KC_F11","KC_F12","KC_BTN2","KC_MS_L","KC_MS_D","KC_MS_R","KC_F5","KC_4","KC_5","KC_6","KC_PLUS","RGB_HUI","RGB_HUD","RGB_TOG","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_1","KC_2","KC_3","KC_ENT","KC_ASTR","KC_SLSH","RGB_MOD","KC_TRNS","TO(0)","KC_TRNS","KC_BTN1","KC_TRNS","KC_0","KC_DOT","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Dong Zhou","notes":"My awesome keymap"} \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json
deleted file mode 100644
index ec9b945f4f..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/keymap_qwerty.json
+++ /dev/null
@@ -1 +0,0 @@
-{"keyboard":"niu_mini","keymap":"14","layout":"LAYOUT_planck_mit","layers":[["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_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_RSFT","KC_LGUI","TT(3)","KC_LALT","KC_LCTL","LT(2,KC_BSPC)","KC_SPC","LT(1,KC_ENT)","KC_3","KC_2","KC_1","KC_0"],["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_EQL","KC_TILD","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_CIRC","KC_AMPR","KC_ASTR","KC_NO","KC_COLN","KC_PIPE","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_LCBR","KC_RCBR","KC_DOT","KC_SLSH","KC_BSLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_CAPS","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_PLUS"],["KC_TILD","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_NO","KC_NO","KC_UP","KC_VOLD","KC_VOLU","KC_MUTE","KC_NO","KC_LT","KC_GT","KC_LPRN","KC_RPRN","KC_NO","KC_NO","KC_LEFT","KC_DOWN","KC_RGHT","KC_PGDN","KC_PGUP","KC_NO","KC_NO","KC_NO","KC_LBRC","KC_RBRC","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_TRNS","KC_MPRV","KC_MNXT","KC_MPLY","KC_MSTP"],["KC_F1","KC_F2","KC_MS_U","KC_F3","KC_F4","KC_7","KC_8","KC_9","KC_MINS","KC_F10","KC_F11","KC_F12","KC_BTN2","KC_MS_L","KC_MS_D","KC_MS_R","KC_NO","KC_4","KC_5","KC_6","KC_PLUS","RGB_HUI","RGB_HUD","RGB_TOG","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_1","KC_2","KC_3","KC_ENT","KC_ASTR","KC_SLSH","RGB_MOD","KC_TRNS","TO(0)","KC_TRNS","KC_BTN1","KC_TRNS","KC_0","KC_DOT","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Dong Zhou","notes":"My awesome keymap"} \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk
deleted file mode 100644
index 37ba40cdfe..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/nosarthur/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-MOUSEKEY_ENABLE = yes
-BACKLIGHT_ENABLE = no
-AUDIO_ENABLE = no
-CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/config.h b/keyboards/kbdfans/niu_mini/keymaps/planck/config.h
deleted file mode 100644
index 0c42bb5060..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define MUSIC_MASK (keycode != KC_NO)
-
-/*
- * MIDI options
- */
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-
-#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 2
-
-#endif
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c
deleted file mode 100644
index fb82d320a4..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c
+++ /dev/null
@@ -1,261 +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
-
-extern keymap_config_t keymap_config;
-
-enum layers {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _PLOVER,
- _ADJUST
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- PLOVER,
- LOWER,
- RAISE,
- BACKLIT,
- EXT_PLV
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_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 ,
- BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_planck_mit(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_planck_mit(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_planck_mit(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Plover layer (http://opensteno.org)
- * ,-----------------------------------------------------------------------------------.
- * | # | # | # | # | # | # | # | # | # | # | # | # |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | S | T | P | H | * | * | F | P | L | T | D |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | S | K | W | R | * | * | R | B | G | S | Z |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Exit | | | A | O | | E | U | | | |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_PLOVER] = LAYOUT_planck_mit(
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
- XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_planck_mit(
- _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
- _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-#ifdef AUDIO_ENABLE
- float plover_song[][2] = SONG(PLOVER_SOUND);
- float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- print("mode just switched to qwerty and this is a huge string\n");
- 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;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- case PLOVER:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- stop_all_notes();
- PLAY_SONG(plover_song);
- #endif
- layer_off(_RAISE);
- layer_off(_LOWER);
- layer_off(_ADJUST);
- layer_on(_PLOVER);
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
- keymap_config.raw = eeconfig_read_keymap();
- keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
- }
- return false;
- break;
- case EXT_PLV:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(plover_gb_song);
- #endif
- layer_off(_PLOVER);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/readme.md b/keyboards/kbdfans/niu_mini/keymaps/planck/readme.md
deleted file mode 100644
index de9680b498..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The Default Planck Layout
-
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/config.h b/keyboards/kbdfans/niu_mini/keymaps/tobias/config.h
deleted file mode 100644
index ad72b6b6c5..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#pragma once
-
-//#include "../../config.h"
-
-//#define MUSIC_MASK (keycode != KC_NO)
-
-/*
- * MIDI options
- */
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 2
-
-#define RGBLIGHT_SLEEP
-#define TAPPING_TOGGLE 2
-#define ALT_F4 LALT(KC_F4)
-#define CTALDEL LSFT(LCTL(KC_ESC))
-#define NO_DEBUG
-#define CTLZ LCTL(KC_Z)
-#define CTLX LCTL(KC_X)
-#define CTLC LCTL(KC_C)
-#define CTLV LCTL(KC_V)
-
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
deleted file mode 100644
index 8c7d3b8e0e..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
+++ /dev/null
@@ -1,383 +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
-
-// extern keymap_config_t keymap_config;
-
-enum layers {
- _QWERTY,
- _FNL1,
- _MOUSE,
- _LOWER,
- _RAISE,
- _FNL2,
- _ADJUST,
- _GAMEMODE,
- _FNL3, _LOWER2,
- _RAISE2
-};
-
-enum custom_keycodes {
- TBMACRO = SAFE_RANGE,
- DGRMCRO,
- WRKMOD
-};
-
-bool bnumlock = false;
-bool numlock_changed = false;
-bool workmode = true;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Bksp |Lower | Space |Raise | Bksp | AltGr| * | Esc |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- TT(_FNL1), 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_DEL, TT(_LOWER), KC_SPC, KC_SPC, TT(_RAISE), KC_BSPC, KC_RALT, KC_NUHS, KC_ESC
-),
-
-
-/* FNL1
- * ,-----------------------------------------------------------------------------------.
- * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | End | | | | ? | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | ! | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FNL1] = LAYOUT_ortho_4x12(
- TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
- TT(_FNL1), _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NUM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
- KC_LSFT, CTLZ, CTLX, CTLC, CTLV, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
- _______, _______, CTALDEL, _______, _______, _______, _______, TO(_MOUSE), _______, _______, LSFT(KC_1), _______
-),
-
-[_MOUSE] = {
- { KC_TAB, XXXXXXX, XXXXXXX, KC_MS_UP, XXXXXXX, KC_T, XXXXXXX, KC_MS_BTN3, KC_MS_WH_UP, KC_MS_BTN2, XXXXXXX, KC_MS_ACCEL0 },
- {TO(_QWERTY), XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, XXXXXXX, XXXXXXX, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, XXXXXXX, KC_MS_ACCEL1},
- {_______, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_ACCEL2},
- {KC_LCTL, TO(_QWERTY), KC_LALT, _______, TO(_QWERTY), KC_MS_BTN1, XXXXXXX, TO(_QWERTY), _______, _______, TO(_QWERTY), TO(_QWERTY)}
-},
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | AltGr| | | | | | | | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = 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_MINS,
- KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
- KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
- _______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY)
-),
-
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | Alt | | | | * | 0 | , | . | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
- _______, _______, KC_LALT, _______, TO(_QWERTY), _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_QWERTY)
-),
-
-/* FNL2
- * ,-----------------------------------------------------------------------------------.
- * |TbMacr| Prev | Play | Next | AltF4| CapsL| |PrScrn|Insert| Home | PgUp |ScrLck|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | Vol- | Vol+ | Mute | NumL | | | Del | End | PgDn | Pause|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | Up | | Enter|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Left | Down | Right| BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_FNL2] = LAYOUT_ortho_4x12(
- TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, _______, KC_PSCR, KC_INS, KC_HOME, KC_PGUP, KC_SCRL,
- _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NUM, _______, _______, KC_DEL, KC_END, KC_PGDN, KC_PAUS,
- _______, CTLZ, CTLX, CTLC, CTLV, _______, _______, _______, _______, KC_UP, _______, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, TO(_QWERTY)
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | GAME | Reset| | | | | | | | | |LIGHTS|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |BLtogg|BLstep| | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |RGBtog|RGBhui|RGBhud|RGBmod|RGBsai|RGBsad| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB4 | | | | | | | | | NKO | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- TO(_GAMEMODE), QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, WRKMOD,
- _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_MOD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_MODE_FORWARD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_R, TO(_QWERTY)
-),
-
-/* Game mode
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | 1 | Lower| Bksp | Alt | Space | Raise| Bksp | BAIL | * | Esc |
- * `-----------------------------------------------------------------------------------'
- */
-[_GAMEMODE] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- TT(_FNL3), 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_1, MO(_LOWER2), KC_DEL, KC_LALT, KC_SPC, KC_SPC, MO(_RAISE2), KC_BSPC, TO(_QWERTY), KC_NUHS, KC_ESC
-),
-
-/* FNL3
- * ,-----------------------------------------------------------------------------------.
- * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | End | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_FNL3] = LAYOUT_ortho_4x12(
- TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
- _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NUM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
- KC_LSFT, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LSFT(KC_1), _______
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | Alt | | | | * | 0 | , | . | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER2] = LAYOUT_ortho_4x12(
- KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
- _______, _______, _______, _______, _______, _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_GAMEMODE)
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | AltGr| | | | | | | | BAIL |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE2] = 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_MINS,
- KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
- KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
- _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMEMODE)
-)
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case TBMACRO:
- SEND_STRING(SS_TAP(X_TAB) SS_DOWN(X_LSFT) SS_TAP(X_HOME) SS_UP(X_LSFT) SS_TAP(X_DELETE));
- return false;
- case DGRMCRO:
- if(!bnumlock) {
- //register_code(KC_NUM);
- //unregister_code(KC_NUM);
- tap_code(KC_NUM);
- bnumlock = true;
- }
- //SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P6) SS_UP(X_LALT));
- SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_KP_0) SS_TAP(X_KP_1) SS_TAP(X_KP_7) SS_TAP(X_KP_6) SS_UP(X_LALT) );
- return false;
- case WRKMOD:
- if(!workmode) {
- workmode = true;
- return false;
- }
- else {
- workmode = false;
- return false;
- }
- }
-
- }
- return true;
-}
-
-void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
- for(int i = 0; i < RGBLED_NUM; i++){
- switch(i) {
- case 0 ... 13:
- // rgblight_setrgb_at(r,g,b,i);
- led[i].r = r;
- led[i].g = g;
- led[i].b = b;
- break;
- /* case 9 ... 11:
- // rgblight_setrgb_at(r,g,b,i);
- led[i].r = r;
- led[i].g = g;
- led[i].b = b;
- break; */
- default:
- // rgblight_setrgb_at(0,0,0,i);
- led[i].r = 0;
- led[i].g = 0;
- led[i].b = 0;
- break;
- }
- }
- rgblight_set();
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-// if(rgblight_get_mode() == 1) {
- switch (get_highest_layer(state)) {
- case _QWERTY:
- if(!workmode){
- rgblight_mode(9);
- }
- else if(workmode){
- rgblight_mode(1);
- rgbflag(0x00, 0x00, 0x00);
- }
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- break;
- case _LOWER:
- rgblight_mode(1);
- if(!bnumlock) {
- tap_code(KC_NUM);
- }
- rgbflag(0xFF, 0x00, 0x00);
-
- break;
- case _ADJUST:
- rgblight_mode(1);
- rgbflag(0xFF, 0xFF, 0xFF);
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- break;
- case _RAISE:
- rgblight_mode(1);
- rgbflag(0x00, 0xFF, 0x00);
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- break;
- case _FNL1:
- rgblight_mode(1);
- rgbflag(0x00, 0x00, 0xFF);
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- break;
- case _GAMEMODE:
- rgblight_mode(1);
- rgbflag(0xFF, 0x00, 0xFF);
- break;
- case _MOUSE:
- rgblight_mode(1);
- rgbflag(0x00, 0xFF, 0xFF);
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- break;
- default: // for any other layers, or the default layer
- rgblight_mode(1);
- if(bnumlock) {
- tap_code(KC_NUM);
- }
- rgbflag(0xFF, 0xFF, 0xFF);
- break;
- }
- // }
- return state;
-}
-
-/* void matrix_scan_user(void) {
-
- //Layer LED indicators
-
- uint32_t layer = layer_state;
-
-
- if (layer & (1<<2)) {
- if(!bnumlock) {
- numlock_changed = true;
- register_code(KC_NUM);
- unregister_code(KC_NUM);
- bnumlock = true;
- }
- }
-}
- */
-
-
-bool led_update_user(led_t led_state) {
- bnumlock = led_state.num_lock;
- return false;
-}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md b/keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md
deleted file mode 100644
index 0a8077884d..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Swedish 40% Layout
-
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk
deleted file mode 100644
index d75595602f..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-NKRO_ENABLE = YES
-MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h
deleted file mode 100644
index 437907759d..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define MANUFACTURER "Potato Inc."
-#define PRODUCT "Qt3.14"
-
-/* turn off RGB when computer sleeps */
-#define RGBLIGHT_SLEEP
-
-/* send tap key if no layer key was used even after tap delay */
-#define TAPPING_TERM 50
-#define RETRO_TAPPING \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c
deleted file mode 100644
index e4f2eb44cf..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c
+++ /dev/null
@@ -1,120 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _BASE,
- _LOWER,
- _RAISE,
- _NUM,
- _FN
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- DYNAMIC_MACRO_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base layer (0)
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |Esc/Fn| A | S | D | F | G | H | J | K | L | ; | Del |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | \| |Lower |Sp/Num|Space |Raise |AltGr | Left | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- LT(_FN, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, MO(_LOWER), LT(_NUM, KC_SPC), KC_SPC, MO(_RAISE), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Lower layer (1)
- * Function keys, navigation
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | Ins |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |CapsLk| |PrtSc |ScrLk |Pause | | | | | PgUp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | Menu | Home | PgDn | End |
- * `-----------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, KC_CAPS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, KC_HOME, KC_PGDN, KC_END
- ),
-
- /* Raise layer (2)
- * National characters, special characters
- * ,-----------------------------------------------------------------------------------.
- * | +1 | Ä›2 | Å¡3 | Ä4 | Å™5 | ž6 | ý7 | á8 | í9 | é0 | ´ | ˇ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ;° | | | | | | ( | ) | § | ! | ú | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | % | = | ¨ | ' | - | _ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, LSFT(KC_EQL),
- KC_GRV, _______, _______, _______, _______, _______, LSFT(KC_RBRC), KC_RBRC, KC_QUOT, LSFT(KC_QUOT), KC_LBRC, LSFT(KC_LBRC),
- _______, _______, _______, _______, _______, _______, LSFT(KC_MINS), KC_MINS, KC_BSLS, LSFT(KC_BSLS), KC_SLSH, LSFT(KC_SLSH),
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Numbers layer - numpad (3)
- * ,-----------------------------------------------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | 4 | 5 | 6 | / | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |NumLk | | | | | | 1 | 2 | 3 | * | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | . | 0 | + | - | |
- * `-----------------------------------------------------------------------------------'
- */
- [_NUM] = LAYOUT_ortho_4x12(
- _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PSLS, _______,
- _______, KC_NUM, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PAST, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_KP_0, KC_PPLS, KC_PMNS, _______
- ),
-
- /* Function layer (4)
- * Backlighting, keyboard controls, etc.
- * m_ - music, r_ - RGB + backlight, f_ - macro
- * ,-----------------------------------------------------------------------------------.
- * | | r_BL | |Sleep | | | |f_Rec1|f_Pla1|f_Stop| |m_Vol+|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |r_VLK |r_Mod+|r_Hue+|r_Sat+|r_Bri+| |f_Rec2|f_Pla2| | |m_Vol-|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |r_TOG |r_Mod-|r_Hue-|r_Sat-|r_Bri-| | | | |m_Stop|m_Mute|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Reset| | | | |C+A+D |C+A+I | | |m_Prev|m_Paus|m_Next|
- * `-----------------------------------------------------------------------------------'
- */
- [_FN] = LAYOUT_ortho_4x12(
- _______, BL_STEP, _______, KC_SLEP, _______, _______, _______, DM_REC1, DM_PLY1, DM_RSTP, _______, KC_VOLU,
- _______, VK_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, DM_REC2, DM_PLY2, _______, _______, KC_VOLD,
- _______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MSTP, KC_MUTE,
- QK_BOOT, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md b/keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md
deleted file mode 100644
index 95180bc392..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# TuCZnak's modified layout
-
-This layout is optimized for Czech national QWERTZ keymap.
-It includes separated layers for numbers, national characters,
-special characters and configuration.
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk
deleted file mode 100644
index 422c96962d..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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 = 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
-
-# Userspace defines
-VELOCIKEY_ENABLE = yes
-LAYOUTS_HAS_RGB = no \ No newline at end of file
diff --git a/keyboards/kbdfans/niu_mini/rules.mk b/keyboards/kbdfans/niu_mini/rules.mk
index d8d8866c48..dfaed88540 100644
--- a/keyboards/kbdfans/niu_mini/rules.mk
+++ b/keyboards/kbdfans/niu_mini/rules.mk
@@ -11,8 +11,6 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
diff --git a/keyboards/kbdfans/odin/rgb/config.h b/keyboards/kbdfans/odin/rgb/config.h
deleted file mode 100644
index 9cc883891a..0000000000
--- a/keyboards/kbdfans/odin/rgb/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2021 Dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 104
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
-#endif
diff --git a/keyboards/kbdfans/odin/rgb/info.json b/keyboards/kbdfans/odin/rgb/info.json
index 308e9870cc..064f755f42 100644
--- a/keyboards/kbdfans/odin/rgb/info.json
+++ b/keyboards/kbdfans/odin/rgb/info.json
@@ -12,7 +12,56 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"],
diff --git a/keyboards/kbdfans/odin/v2/config.h b/keyboards/kbdfans/odin/v2/config.h
deleted file mode 100644
index e47ec47523..0000000000
--- a/keyboards/kbdfans/odin/v2/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2022 lexbrugman
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
diff --git a/keyboards/kbdfans/odin/v2/info.json b/keyboards/kbdfans/odin/v2/info.json
index 7714d2407f..9425537125 100644
--- a/keyboards/kbdfans/odin/v2/info.json
+++ b/keyboards/kbdfans/odin/v2/info.json
@@ -34,6 +34,9 @@
"snake": true,
"christmas": true,
"static_gradient": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"processor": "STM32F072",
diff --git a/keyboards/kbdfans/phaseone/config.h b/keyboards/kbdfans/phaseone/config.h
index 2dba9f5d35..b090729a50 100644
--- a/keyboards/kbdfans/phaseone/config.h
+++ b/keyboards/kbdfans/phaseone/config.h
@@ -22,6 +22,5 @@
#define LOCKING_RESYNC_ENABLE
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-#define RGBLIGHT_DEFAULT_SPD 15
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file
diff --git a/keyboards/kbdfans/phaseone/info.json b/keyboards/kbdfans/phaseone/info.json
index 14150a1cdd..aea255aaf4 100644
--- a/keyboards/kbdfans/phaseone/info.json
+++ b/keyboards/kbdfans/phaseone/info.json
@@ -35,6 +35,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/kbdfans/tiger80/config.h b/keyboards/kbdfans/tiger80/config.h
index b2ffcbfd27..b58aa329ec 100644
--- a/keyboards/kbdfans/tiger80/config.h
+++ b/keyboards/kbdfans/tiger80/config.h
@@ -17,6 +17,5 @@
#pragma once
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-#define RGBLIGHT_DEFAULT_SPD 15
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/kbdfans/tiger80/info.json b/keyboards/kbdfans/tiger80/info.json
index 9bdccc5817..1a2258deea 100644
--- a/keyboards/kbdfans/tiger80/info.json
+++ b/keyboards/kbdfans/tiger80/info.json
@@ -42,6 +42,9 @@
"snake": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 15
}
},
"ws2812": {
diff --git a/keyboards/kbdfans/tiger80/keymaps/micros24/config.h b/keyboards/kbdfans/tiger80/keymaps/micros24/config.h
deleted file mode 100644
index adafb144e5..0000000000
--- a/keyboards/kbdfans/tiger80/keymaps/micros24/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2022 micros24 <jasperjano.ph@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
-
-/* Disable locking support */
-#ifdef LOCKING_SUPPORT_ENABLE
- #undef LOCKING_SUPPORT_ENABLE
-#endif
-
-/* Disable locking support */
-#ifdef LOCKING_RESYNC_ENABLE
- #undef LOCKING_RESYNC_ENABLE
-#endif
-
-/* Increasing performance */
-#define MATRIX_IO_DELAY 20
-#define FORCE_NKRO
-
-/* Disable unused features to save space */
-#define NO_ACTION_LAYER
-#define NO_ACTION_ONESHOT
-
-/* Tap-Hold configuration */
-#define TAPPING_TERM 200 \ No newline at end of file
diff --git a/keyboards/kbdfans/tiger80/keymaps/micros24/keymap.c b/keyboards/kbdfans/tiger80/keymaps/micros24/keymap.c
deleted file mode 100644
index 6b9b70a8a4..0000000000
--- a/keyboards/kbdfans/tiger80/keymaps/micros24/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2022 micros24 <jasperjano.ph@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- _LAYER0
-};
-
-enum custom_keycodes {
- M_CHARSELECT = SAFE_RANGE,
- TAPHOLD_RALT,
- TAPHOLD_RCTRL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_LAYER0] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_VOLD, KC_VOLU,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TAPHOLD_RALT, M_CHARSELECT, TAPHOLD_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
- )
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint16_t my_hash_timer;
- switch (keycode) {
- /* RWIN key */
- case M_CHARSELECT:
- tap_code(KC_F9);
- wait_ms(100);
- tap_code(KC_ENT);
- break;
- /* RALT key */
- case TAPHOLD_RALT:
- if(record->event.pressed) {
- my_hash_timer = timer_read();
- register_code(KC_RALT); // Change the key to be held here
- }
- else {
- unregister_code(KC_RALT); // Change this key to be the same as above
- if (timer_elapsed(my_hash_timer) < TAPPING_TERM) {
- tap_code(KC_MPRV); // The key to be pressed on tap
- }
- }
- return false; // We handled this keypress
- break;
- /* RCTRL key */
- case TAPHOLD_RCTRL:
- if(record->event.pressed) {
- my_hash_timer = timer_read();
- register_code(KC_RCTL); // Change the key to be held here
- }
- else {
- unregister_code(KC_RCTL); // Change this key to be the same as above
- if (timer_elapsed(my_hash_timer) < TAPPING_TERM) {
- tap_code(KC_MNXT); // The key to be pressed on tap
- }
- }
- break;
- return false; // We handled this keypress
- }
- return true;
-}; \ No newline at end of file
diff --git a/keyboards/kbdfans/tiger80/keymaps/micros24/readme.md b/keyboards/kbdfans/tiger80/keymaps/micros24/readme.md
deleted file mode 100644
index 30e28e5f07..0000000000
--- a/keyboards/kbdfans/tiger80/keymaps/micros24/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## KEYMAP BY MICROS24
-Keymap by Micros24 for optimized gaming performance and media controls. RGB underglow is disabled as I don't use it.
-* SCROLL LOCK and PAUSE BREAK keys have been replaced with VOL- and VOL+ respectively.
-* F13 have been replaced with PLAY/PAUSE MEDIA.
-* RWIN is configured as F9 + ENTER macro.
-
-RALT and RCTRL have tap and hold configured as follows:
-
-RALT:
-* TAP is configured as PREVIOUS MEDIA
-* HOLD is configured as normal RALT
-
-RCTRL:
-* TAP is configured as NEXT MEDIA
-* HOLD is configured as normal RCTRL \ No newline at end of file
diff --git a/keyboards/kbdfans/tiger80/keymaps/micros24/rules.mk b/keyboards/kbdfans/tiger80/keymaps/micros24/rules.mk
deleted file mode 100644
index 670e7c8907..0000000000
--- a/keyboards/kbdfans/tiger80/keymaps/micros24/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-RGBLIGHT_ENABLE = no
-MOUSEKEY_ENABLE = no
-DEBOUNCE_TYPE = sym_eager_pk
-VIA_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kmac/config.h b/keyboards/kbdmania/kmac/config.h
index dd12560fb6..dd12560fb6 100644
--- a/keyboards/kmac/config.h
+++ b/keyboards/kbdmania/kmac/config.h
diff --git a/keyboards/kmac/info.json b/keyboards/kbdmania/kmac/info.json
index 0ec6f0b2a9..0ec6f0b2a9 100644
--- a/keyboards/kmac/info.json
+++ b/keyboards/kbdmania/kmac/info.json
diff --git a/keyboards/kmac/keymaps/default/keymap.c b/keyboards/kbdmania/kmac/keymaps/default/keymap.c
index f3e4385052..f3e4385052 100644
--- a/keyboards/kmac/keymaps/default/keymap.c
+++ b/keyboards/kbdmania/kmac/keymaps/default/keymap.c
diff --git a/keyboards/kmac/keymaps/default/readme.md b/keyboards/kbdmania/kmac/keymaps/default/readme.md
index a608403753..a608403753 100644
--- a/keyboards/kmac/keymaps/default/readme.md
+++ b/keyboards/kbdmania/kmac/keymaps/default/readme.md
diff --git a/keyboards/kmac/keymaps/default_tkl_ansi/keymap.c b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/keymap.c
index f3e4385052..f3e4385052 100644
--- a/keyboards/kmac/keymaps/default_tkl_ansi/keymap.c
+++ b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/keymap.c
diff --git a/keyboards/kmac/keymaps/default_tkl_ansi/readme.md b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/readme.md
index a608403753..a608403753 100644
--- a/keyboards/kmac/keymaps/default_tkl_ansi/readme.md
+++ b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi/readme.md
diff --git a/keyboards/kmac/keymaps/default_tkl_ansi_wkl/keymap.c b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/keymap.c
index 8c018383b1..8c018383b1 100644
--- a/keyboards/kmac/keymaps/default_tkl_ansi_wkl/keymap.c
+++ b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/keymap.c
diff --git a/keyboards/kmac/keymaps/default_tkl_ansi_wkl/readme.md b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/readme.md
index a66ed10902..a66ed10902 100644
--- a/keyboards/kmac/keymaps/default_tkl_ansi_wkl/readme.md
+++ b/keyboards/kbdmania/kmac/keymaps/default_tkl_ansi_wkl/readme.md
diff --git a/keyboards/kmac/keymaps/via/keymap.c b/keyboards/kbdmania/kmac/keymaps/via/keymap.c
index 507840e462..507840e462 100644
--- a/keyboards/kmac/keymaps/via/keymap.c
+++ b/keyboards/kbdmania/kmac/keymaps/via/keymap.c
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/rules.mk b/keyboards/kbdmania/kmac/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/rules.mk
+++ b/keyboards/kbdmania/kmac/keymaps/via/rules.mk
diff --git a/keyboards/kmac/kmac.c b/keyboards/kbdmania/kmac/kmac.c
index 29f7091084..29f7091084 100644
--- a/keyboards/kmac/kmac.c
+++ b/keyboards/kbdmania/kmac/kmac.c
diff --git a/keyboards/kmac/matrix.c b/keyboards/kbdmania/kmac/matrix.c
index 6569867032..6569867032 100644
--- a/keyboards/kmac/matrix.c
+++ b/keyboards/kbdmania/kmac/matrix.c
diff --git a/keyboards/kbdmania/kmac/readme.md b/keyboards/kbdmania/kmac/readme.md
new file mode 100644
index 0000000000..c9f7746292
--- /dev/null
+++ b/keyboards/kbdmania/kmac/readme.md
@@ -0,0 +1,21 @@
+# KMAC
+
+A Korean custom keyboard designed by Byungho Kim and the KBDMania community.
+
+Keyboard Maintainer: [Mathias Andersson](https://github.com/wraul)
+Hardware Supported: KMAC & KMAC 2
+Hardware Availability: [KBDMania](http://www.kbdmania.net/xe/news/5232321)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdmania/kmac:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+The PCB is hardwired to run the bootloader if the key at the `Caps Lock` position is held down when connecting the keyboard.
+
+## PCB versions
+
+The KMAC are available with two different PCB layouts, a winkey version and a winkeyless version. A default keymap are provided for each versions of the PCB.
diff --git a/keyboards/kmac/rules.mk b/keyboards/kbdmania/kmac/rules.mk
index d9aa87a7dc..d9aa87a7dc 100644
--- a/keyboards/kmac/rules.mk
+++ b/keyboards/kbdmania/kmac/rules.mk
diff --git a/keyboards/kmac_pad/config.h b/keyboards/kbdmania/kmac_pad/config.h
index ee27565dce..ee27565dce 100644
--- a/keyboards/kmac_pad/config.h
+++ b/keyboards/kbdmania/kmac_pad/config.h
diff --git a/keyboards/kmac_pad/info.json b/keyboards/kbdmania/kmac_pad/info.json
index f41da8a452..f41da8a452 100644
--- a/keyboards/kmac_pad/info.json
+++ b/keyboards/kbdmania/kmac_pad/info.json
diff --git a/keyboards/kmac_pad/keymaps/default/keymap.c b/keyboards/kbdmania/kmac_pad/keymaps/default/keymap.c
index e6afa53346..e6afa53346 100644
--- a/keyboards/kmac_pad/keymaps/default/keymap.c
+++ b/keyboards/kbdmania/kmac_pad/keymaps/default/keymap.c
diff --git a/keyboards/kmac_pad/keymaps/default/readme.md b/keyboards/kbdmania/kmac_pad/keymaps/default/readme.md
index 3b9b739a2a..3b9b739a2a 100644
--- a/keyboards/kmac_pad/keymaps/default/readme.md
+++ b/keyboards/kbdmania/kmac_pad/keymaps/default/readme.md
diff --git a/keyboards/kmac_pad/kmac_pad.c b/keyboards/kbdmania/kmac_pad/kmac_pad.c
index 3de2cb711e..3de2cb711e 100644
--- a/keyboards/kmac_pad/kmac_pad.c
+++ b/keyboards/kbdmania/kmac_pad/kmac_pad.c
diff --git a/keyboards/kmac_pad/matrix.c b/keyboards/kbdmania/kmac_pad/matrix.c
index 476e40f514..476e40f514 100644
--- a/keyboards/kmac_pad/matrix.c
+++ b/keyboards/kbdmania/kmac_pad/matrix.c
diff --git a/keyboards/kbdmania/kmac_pad/readme.md b/keyboards/kbdmania/kmac_pad/readme.md
new file mode 100644
index 0000000000..59cc307073
--- /dev/null
+++ b/keyboards/kbdmania/kmac_pad/readme.md
@@ -0,0 +1,56 @@
+# KMAC PAD
+
+![kmac_pad](https://i.imgur.com/4P1ybgNl.jpg)
+
+KMAC PAD is a num pad keyboard.
+It can be used independently, but can also be used by connecting with KMAC keyboard case.
+
+* Keyboard Maintainer: [talsu](https://github.com/talsu)
+* Hardware Supported: KMAC PAD
+* Hardware Availability: [KBDMania](http://www.kbdmania.net/xe/news/5232321)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdmania/kmac_pad:default
+
+Flashing example for this keyboard:
+
+ make kbdmania/kmac_pad:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+The PCB is hardwired to run the bootloader if the key at the `FN` position (the only key in first row) is held down when connecting the keyboard.
+
+## PCB
+
+![Imgur](https://i.imgur.com/ML66cvfl.jpg)
+![Imgur](https://i.imgur.com/Kr2Wdtkl.jpg)
+
+### Switch Pins
+
+The FN key in the `Row 0` is directly connected to the E2 pin.
+The rest of the rows below that use MATRIX. (`Row 1 ~ Row 5`)
+| Row | Pin |
+|:-----:| ---------------------- |
+| 0 | x (Not in Matrix) |
+| 1 | D0 |
+| 2 | D1 |
+| 3 | D2 |
+| 4 | D3 |
+| 5 | D5 |
+
+| Column | Pin |
+|:------:| --------------------- |
+| 0 | C7 |
+| 1 | C6 |
+| 2 | B6 |
+| 3 | B5 |
+
+### Backlight Pins
+
+There are 2 pins for backlight.
+
+The LED of the FN key uses pin `B3`.
+All other keys are connected to the `B1` pin.
diff --git a/keyboards/kmac_pad/rules.mk b/keyboards/kbdmania/kmac_pad/rules.mk
index 1c42620aca..1c42620aca 100644
--- a/keyboards/kmac_pad/rules.mk
+++ b/keyboards/kbdmania/kmac_pad/rules.mk
diff --git a/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c b/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c
deleted file mode 100644
index 2189e5bc5c..0000000000
--- a/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _FN
-};
-
-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 | [ | ] | Bksp |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
- * |-----------------------------------------------------------------------------------------+
- * | LGUI | LAlt | Space | RAlt | RGUI |
- * `-----------------------------------------------------------------'
- */
- [0] = LAYOUT_all( /* Basic QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
- _______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, _______, _______
- ),
-
- /* Layer 1
- * ,-----------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
- * |-----------------------------------------------------------------------------------------+
- * | CAPS | Led | Led-| Led+| | | | | Psc | Slck| Paus| Up | | |
- * |-----------------------------------------------------------------------------------------+
- * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
- * |-----------------------------------------------------------------------------------------+
- * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | Stop | |
- * `-----------------------------------------------------------------'
- */
- [_FN] = LAYOUT_all( /* Layer 1 */
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, BL_TOGG, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, KC_MSTP, _______, _______, _______
- )
-};
diff --git a/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md b/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md
deleted file mode 100644
index be99a3bc7e..0000000000
--- a/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Dbroqua HHKB like Layout
-
-Like the HHKB but with a KC60 PCB :D.
-
-# Programming Instructions:
-Enter into programming mode and run the following command.
-```
-$ sudo KEYMAP=dbroqua_hhkb make dfu
-``` \ No newline at end of file
diff --git a/keyboards/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c
deleted file mode 100644
index 6a1503ce64..0000000000
--- a/keyboards/kc60/keymaps/stanleylai/keymap.c
+++ /dev/null
@@ -1,51 +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.
-enum layer_names {
- _BL,
- _FL,
- _RGBL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // See base_layer.png and rgb_layer.png for layout reference
-
- // Base Default Layer
- // Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
- [_BL] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS,
- LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, MO(_FL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT),
-
- // Function layer
- [_FL] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NO,
- KC_NO, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LT(_RGBL, KC_PGUP), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
-
- // RGB Layer
- [_RGBL] = LAYOUT_all(
- #ifdef RGBLIGHT_ENABLE
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, BL_TOGG, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- #else
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP, BL_TOGG, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- #endif
- ),
-};
diff --git a/keyboards/kc60/keymaps/stanleylai/readme.md b/keyboards/kc60/keymaps/stanleylai/readme.md
deleted file mode 100644
index 6f5953ded7..0000000000
--- a/keyboards/kc60/keymaps/stanleylai/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-Stanley Lai's Split Right Shift with Dedicated Arrow Keys
-======================
-
-## Quantum MK Firmware
-For the full Quantum feature list, see [the parent readme.md](/readme.md).
-
-## Keymap Notes
-- Keymap setup with split Right Shift in mind.
-- Right-side modifiers are setup as dedicated arrow keys
-
-### Base Layer Reference
-- Fn Layer indicated on keycap front legends.
-- Tapping Caps Lock key toggles Caps. Holding it down momentarily switches us to the Fn Layer.
-- Holding down "Fn" and "Page Down" momentarily switches us to the RGB Layer. Tapping "Page Down" behaves as expected.
-![Base Layer](http://imgur.com/aAi6lDe)
-
-### RGB Layer Reference
-![RGB Layer](http://imgur.com/ZWIfuPM)
-
-## WS2812 Support
-By default, it is now setup for 16 LEDs on the PF5 breakout pin.
-
-### Build
-To build this keymap, simply run `make KEYMAP=stanleylai`.
diff --git a/keyboards/kc60/keymaps/stanleylai/rules.mk b/keyboards/kc60/keymaps/stanleylai/rules.mk
deleted file mode 100644
index 9816b082fd..0000000000
--- a/keyboards/kc60/keymaps/stanleylai/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable WS2812 underglow RGB strip
-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
-# 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
diff --git a/keyboards/kc60/keymaps/wigguno/keymap.c b/keyboards/kc60/keymaps/wigguno/keymap.c
deleted file mode 100644
index ba4571c4e4..0000000000
--- a/keyboards/kc60/keymaps/wigguno/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-// This keymap was designed to close to the default kc60 layout, with some useful changes, such as adding media keys.
-// It also moves the reset key off the base layer, as in the default kc60 layout for this firmware.
-// I have swapped FN and RGUI as my rainbow keyset has them in the opposite order.
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Basic QWERTY
- * ,-----------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Alt |FN |Gui |Ctrl |
- * `-----------------------------------------------------------'
- */
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL
- ),
-
- /*
- * ,-----------------------------------------------------------.
- * | ` |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
- * |-----------------------------------------------------------|
- * | | | Up| | | | | | | | PS| | | |
- * |-----------------------------------------------------------|
- * | |Lft|Dwn|Rgt| |BL-|BL+| | | | | | |
- * |-----------------------------------------------------------|
- * | |Prv| PP|Nxt| | | | |Hom|End| | |
- * |-----------------------------------------------------------|
- * | Rst| | | BL | | | | |
- * `-----------------------------------------------------------'
- * PS = Print Screen
- * PP = Play/Pause
- */
- [1] = LAYOUT_all( /* Function 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, KC_NO,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, BL_DOWN, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS,
- QK_BOOT, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/kc60/keymaps/wigguno/readme.md b/keyboards/kc60/keymaps/wigguno/readme.md
deleted file mode 100644
index 55a9f60c7c..0000000000
--- a/keyboards/kc60/keymaps/wigguno/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Wigguno's KC60 Layout
-======================
-
-## Quantum MK Firmware
-For the full Quantum feature list, see [the parent readme.md](/readme.md).
-
-## Changes from default QMK layout
-The default QMK layout for KC60 does not have a function layer. It also has the bootloader-mode reset key bound. This keymap fixes both of these by adding a sensible function layer (including moving the reset key onto it, far away from the FN key).
-
-### Changes from the default KC60 layout
-The default KC60 layout is good, but it was missing media keys. I've added previous, play/pause and next. I've also removed some of the keys from the function layer I didn't use.
-
-### Build
-To enable NKRO you must be in the keymaps/wigguno directory when running make.
diff --git a/keyboards/kc60/keymaps/wigguno/rules.mk b/keyboards/kc60/keymaps/wigguno/rules.mk
deleted file mode 100644
index f9b4b86766..0000000000
--- a/keyboards/kc60/keymaps/wigguno/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-# 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
diff --git a/keyboards/kc60/mod_rgb_underglow.md b/keyboards/kc60/mod_rgb_underglow.md
index 6aab1e1d2e..22ade4fa1b 100644
--- a/keyboards/kc60/mod_rgb_underglow.md
+++ b/keyboards/kc60/mod_rgb_underglow.md
@@ -9,8 +9,8 @@ By default, the source is set up for 16 LEDs on the F5 breakout pin. See [includ
```c
#pragma once
-#undef RGBLED_NUM
-#define RGBLED_NUM <number of leds>
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT <number of leds>
```
To enable RGB Underglow, simply add a `rules.mk` file containing `RGBLIGHT_ENABLE = yes` alongside your `keymap.c` file, and compile as normal:
diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h
index eddc52e8aa..21ce4672bf 100644
--- a/keyboards/keebio/bamfk4/config.h
+++ b/keyboards/keebio/bamfk4/config.h
@@ -3,52 +3,7 @@
#pragma once
-# define RGBLIGHT_DEFAULT_VAL 120
-# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
-// RGB Matrix
-//# ifdef RGB_MATRIX_ENABLE
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
-# define RGB_MATRIX_LED_COUNT 32
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-//# endif
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json
index 8bb320c6c9..769f288c51 100644
--- a/keyboards/keebio/bamfk4/info.json
+++ b/keyboards/keebio/bamfk4/info.json
@@ -12,7 +12,46 @@
"pin": "D3"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 160,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -31,6 +70,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 120
}
},
"matrix_pins": {
diff --git a/keyboards/keebio/bdn9/keymaps/ghostseven/config.h b/keyboards/keebio/bdn9/keymaps/ghostseven/config.h
deleted file mode 100644
index 6df867d575..0000000000
--- a/keyboards/keebio/bdn9/keymaps/ghostseven/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 GhostSeven <work@ghost7.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c b/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
deleted file mode 100644
index 1a1df0d501..0000000000
--- a/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2020 GhostSeven <work@ghost7.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 encoder_names {
- _LEFT,
- _RIGHT,
- _MIDDLE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- | Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up |
- | Press: Mute | Home | Press: Play/Pause |
- | Hold: Layer 2 | Up | Enter |
- | Left | Down | Right |
- */
- [0] = LAYOUT(
- KC_MUTE, KC_HOME, KC_MPLY,
- MO(1) , KC_UP , KC_ENT,
- KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*
- | QK_BOOT | Shift+CMD+B (Build VS Code) | Media Stop |
- | Held: Layer 2 | Home | RGB Mode |
- | Media Previous | End | Media Next |
- */
- [1] = LAYOUT(
- QK_BOOT, S(G(KC_B)), KC_STOP,
- _______, KC_HOME, RGB_MOD,
- KC_MPRV, KC_END , KC_MNXT
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == _LEFT) {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- else if (index == _MIDDLE) {
- if (clockwise) {
- tap_code(KC_UP);
- } else {
- tap_code(KC_DOWN);
- }
- }
- else if (index == _RIGHT) {
- if (clockwise) {
- tap_code(KC_PGUP);
- } else {
- tap_code(KC_PGDN);
- }
- }
- return true;
-}
diff --git a/keyboards/keebio/bdn9/keymaps/lickel/keymap.c b/keyboards/keebio/bdn9/keymaps/lickel/keymap.c
deleted file mode 100644
index f62e38107e..0000000000
--- a/keyboards/keebio/bdn9/keymaps/lickel/keymap.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* Copyright 2022 @ Adam Lickel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 encoder_names {
- _LEFT,
- _RIGHT,
- _MIDDLE,
-};
-
-enum bdn9_layers {
- _MEDIA = 0,
- _XCODE,
- _CUST1,
- _CUST2,
-};
-
-#define KC_XCRUN LGUI(KC_R)
-#define KC_XCPAUSE LCTL(LGUI(KC_Y))
-#define KC_XCSTOP LGUI(KC_DOT)
-
-// clang-format off
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MEDIA] = LAYOUT(
- TO(_XCODE), RGB_SPD, RGB_SPI,
- RGB_MOD, KC_MPLY, KC_MSTP,
- RGB_RMOD, KC_MNXT, KC_MPRV
- ),
- [_XCODE] = LAYOUT(
- TG(_XCODE), KC_NO, KC_NO,
- KC_XCRUN, KC_XCPAUSE, KC_XCSTOP,
- KC_F6, KC_F7, KC_F8
- ),
- [_CUST1] = LAYOUT(
- TG(_CUST1), _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
- [_CUST2] = LAYOUT(
- TG(_CUST2), _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
-};
-
-// clang-format on
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
- uint8_t layer = get_highest_layer(state);
-
- switch (layer) {
- case _MEDIA: // Reset
- rgblight_reload_from_eeprom();
- break;
-
- case _XCODE:
- rgblight_sethsv_noeeprom(HSV_BLUE);
-# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
- rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
-# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
-# endif
- break;
-
- case _CUST1:
- rgblight_sethsv_noeeprom(HSV_GREEN);
-# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
- rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
-# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
-# endif
- break;
-
- case _CUST2:
- rgblight_sethsv_noeeprom(HSV_PURPLE);
-# if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
- rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
-# elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
-# endif
- break;
-
- default:
- break;
- }
-#endif
- return state;
-}
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
-#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
- [_MEDIA] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
- [_XCODE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
-#else
- [_MEDIA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
- [_XCODE] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
-#endif
- [_CUST1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
- [_CUST2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
-};
-#else
-bool encoder_update_user(uint8_t index, bool clockwise) {
- uint8_t layer = get_highest_layer(layer_state);
-
- switch (layer) {
-#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
- case 0: // Reset
- if (index == _LEFT) {
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- } else if (index == _MIDDLE) {
- if (clockwise) {
- rgblight_increase_sat();
- } else {
- rgblight_decrease_sat();
- }
- } else if (index == _RIGHT) {
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- }
- break;
-#endif
-
- default:
- if (index == _LEFT) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == _MIDDLE) {
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- } else if (index == _RIGHT) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- break;
- }
- return true;
-}
-#endif
diff --git a/keyboards/keebio/bdn9/keymaps/lickel/readme.md b/keyboards/keebio/bdn9/keymaps/lickel/readme.md
deleted file mode 100644
index 72170ce452..0000000000
--- a/keyboards/keebio/bdn9/keymaps/lickel/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# lickel's BDN9 keymap
-
-- Via support is enabled by default
-- Changing layers to non-zero changes the RGBs to breathing colors
-- Changing to layer 0 resets the RGBs to EEPROM settings
-- Layer 0 encoders are: Hue, Saturation, Value
-- Other layers are: Volume, Arrow, Pg up/down
-
-- Layer 0: Media Controls & RGB Effects
-- Layer 1: Xcode Debugging
-- Layers 2 and 3: Reserved for Via
-
-## Changelog
-
-### 2022-12-09 - 1.1
-
-- Add ENCODER_MAP_ENABLE from default VIA definition
-
-### 2022-01-17 - 1.0
-
-- Initial release
diff --git a/keyboards/keebio/bdn9/keymaps/lickel/rules.mk b/keyboards/keebio/bdn9/keymaps/lickel/rules.mk
deleted file mode 100644
index ec89cb662f..0000000000
--- a/keyboards/keebio/bdn9/keymaps/lickel/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/bdn9/keymaps/mousepad/config.h b/keyboards/keebio/bdn9/keymaps/mousepad/config.h
deleted file mode 100644
index a2eb1a95f0..0000000000
--- a/keyboards/keebio/bdn9/keymaps/mousepad/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#define MK_3_SPEED
-#define TERMINAL_HELP
-
diff --git a/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c b/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c
deleted file mode 100644
index 268dd8002a..0000000000
--- a/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright 2019 Danny Nguyen <danny@keeb.io>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-bool is_alt_tab_active = false; // ADD this near the begining of keymap.c
-uint16_t alt_tab_timer = 0; // we will be using them soon.
-
-enum custom_keycodes { // Make sure have the awesome keycode ready
- ALT_TAB = SAFE_RANGE,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3,
- KC_WH_U, ALT_TAB, KC_WH_L,
- KC_WH_D, TT(1), KC_WH_R
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_ACL0, KC_ACL1,
- KC_VOLU, KC_ACL2, KC_BRIU,
- KC_VOLD, TO(1), KC_BRID
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MS_LEFT);
- } else {
- tap_code(KC_MS_RIGHT);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_MS_U);
- } else {
- tap_code(KC_MS_D);
- }
- }
- return true;
-}
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) { // This will do most of the grunt work with the keycodes.
- case ALT_TAB:
- if (record->event.pressed) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- register_code(KC_TAB);
- } else {
- unregister_code(KC_TAB);
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) { // The very important timer.
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1000) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
- }
- }
-}
diff --git a/keyboards/keebio/bdn9/keymaps/mousepad/readme.md b/keyboards/keebio/bdn9/keymaps/mousepad/readme.md
deleted file mode 100644
index fc843929db..0000000000
--- a/keyboards/keebio/bdn9/keymaps/mousepad/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Mousepad layout for BDN9
-##### 2 encoders required
-Why use a movable mouse when you can "Etech-a-sketch" style mousepad.
-The left encoder will move the X axis; leaving the right to handle the Y axis
-
-| | | |
-|:-:|:-:|:-:|
-| Left Click | Middle Click | Right Click |
-| Scroll Up | Super ALT↯TAB | Scroll Left |
-| Scroll Down | ADJUSTMENT Layer | Scroll Right|
-
-| | | |
-|:-:|:-:|:-:|
-| RESET | Mouse ACL0 | Mouse ACL1 |
-| VOL UP | Mouse ACL2 | Brightness UP |
-| VOL Down | Adjustment Layer OFF | Brightness Down |
diff --git a/keyboards/keebio/bdn9/keymaps/mousepad/rules.mk b/keyboards/keebio/bdn9/keymaps/mousepad/rules.mk
deleted file mode 100644
index ff752ab42c..0000000000
--- a/keyboards/keebio/bdn9/keymaps/mousepad/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-MOUSEKEY_ENABLE = yes
-TAPDANCE_ENABLE = yes
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c
deleted file mode 100644
index 4b0fb147ec..0000000000
--- a/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Macro keys for some apps
-#define SLACKUP LALT(LSFT(KC_UP))
-#define SLACKDN LALT(LSFT(KC_DOWN))
-#define RELOAD LGUI(KC_R)
-
-enum custom_keycodes {
- PAWFIVE = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_BOOT, PAWFIVE, RELOAD ,
- SLACKUP, KC_UP , KC_PGUP,
- SLACKDN, KC_DOWN, KC_PGDN
- ),
-};
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
- rgblight_enable_noeeprom(); // enables Rgb, without saving settings
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL); // sets mode to Slow breathing without saving
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case PAWFIVE:
- if (record->event.pressed) {
- SEND_STRING("+:pawfive:\n");
- return false;
- }
- }
-
- return true;
-}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- // Tab right
- tap_code16(LSFT(LGUI(KC_RBRC)));
- } else {
- // Tab left
- tap_code16(LSFT(LGUI(KC_LBRC)));
- }
- }
- else if (index == 1) {
- if (clockwise) {
- // History forward
- tap_code16(LGUI(KC_RBRC));
- } else {
- // History back
- tap_code16(LGUI(KC_LBRC));
- }
- }
- return true;
-}
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
deleted file mode 100644
index 66483b51de..0000000000
--- a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Copyright 2019 Chuck Lauer Vose <vosechu@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
-
-// // Debugging
-// #include <print.h>
-
-#define BASE TO(_BASE)
-#define PANIC TO(_PANIC)
-#define FLIGHT TO(_FLIGHT)
-#define RCS TO(_RCS)
-
-enum my_layers {
- _BASE = 0,
- _PANIC,
- _FLIGHT,
- _RCS
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_MUTE, PANIC , XXXXXXX,
- FLIGHT , XXXXXXX, RCS ,
- XXXXXXX, XXXXXXX, XXXXXXX
- ),
- [_PANIC] = LAYOUT(
- QK_BOOT, BASE , XXXXXXX,
- _______, XXXXXXX, _______,
- KC_F2 , KC_F5 , KC_F9
- ),
- [_FLIGHT] = LAYOUT(
- XXXXXXX, _______, KC_M ,
- BASE , KC_W , _______,
- KC_A , KC_S , KC_D
- ),
- [_RCS] = LAYOUT(
- XXXXXXX, _______, XXXXXXX,
- _______, KC_I , BASE ,
- KC_J , KC_K , KC_L
- )
-};
-
-bool base_mode = false;
-bool panic_mode = false;
-bool flight_mode = false;
-bool rcs_mode = false;
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- base_mode = false;
- panic_mode = false;
- flight_mode = false;
- rcs_mode = false;
-
- switch (get_highest_layer(state)) {
- case _PANIC:
- panic_mode = true; // For use in encoder evaluation
- rgblight_sethsv_noeeprom(HSV_RED);
- break;
- case _FLIGHT:
- flight_mode = true; // For use in encoder evaluation
- rgblight_sethsv_noeeprom(HSV_CYAN);
- break;
- case _RCS:
- rcs_mode = true; // For use in encoder evaluation
- rgblight_sethsv_noeeprom(HSV_BLUE);
- break;
- default: // for any other layers, or the default layer
- base_mode = true;
- rgblight_sethsv_noeeprom(HSV_SPRINGGREEN);
- break;
- }
- return state;
-}
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
- rgblight_enable_noeeprom(); // enables Rgb, without saving settings
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1); // sets mode to Slow breathing without saving
- rgblight_sethsv_noeeprom(HSV_SPRINGGREEN);
-}
-
-// bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-// switch (keycode) {
-// uprintf("Keycode: %s\n", keycode);
-// if (record->event.pressed) {
-// print("pressed");
-// // Do something when pressed
-// } else {
-// print("unpressed");
-// // Do something else when release
-// }
-// }
-// return true;
-// }
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if(base_mode == true) {
- if (index == 0) {
- if (clockwise) {
- // Volume up
- tap_code(KC_VOLU);
- } else {
- // Volume down
- tap_code(KC_VOLD);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- // Time warp faster
- tap_code(KC_DOT);
- } else {
- // Time warp slower
- tap_code(KC_COMM);
- }
- }
- }
-
- if(rcs_mode == true) {
- if (index == 0) {
- if (clockwise) {
- // RCS Forward
- tap_code(KC_H);
- } else {
- // RCS Backward
- tap_code(KC_N);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- // RCS Rotate Left
- tap_code(KC_Q);
- } else {
- // RCS Rotate Right
- tap_code(KC_E);
- }
- }
- }
-
- if(flight_mode == true) {
- if (index == 0) {
- if (clockwise) {
- // Throttle up
- tap_code(KC_LSFT);
- } else {
- // Throttle down
- tap_code(KC_LCTL);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- // Trim left
- tap_code16(LALT(KC_A));
- } else {
- // Trim right
- tap_code16(LALT(KC_D));
- }
- }
- }
- return true;
-}
diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h
index 1974d81f75..5cfd269d50 100644
--- a/keyboards/keebio/bdn9/rev2/config.h
+++ b/keyboards/keebio/bdn9/rev2/config.h
@@ -17,61 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// RGB Matrix
-# ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 11
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json
index 324a400041..74d6dac85b 100644
--- a/keyboards/keebio/bdn9/rev2/info.json
+++ b/keyboards/keebio/bdn9/rev2/info.json
@@ -26,6 +26,51 @@
"pin": "B15"
},
"rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"encoder": {
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h
deleted file mode 100644
index 9538405eb2..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h
+++ /dev/null
@@ -1,37 +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
-
-/* Select hand configuration */
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define TAPPING_TERM 150
-#define TAPPING_TOGGLE 2
-
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
deleted file mode 100644
index d2f957e4f8..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
+++ /dev/null
@@ -1,381 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum bfo9000_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // Qwerty
- _COLEMAKGM, // Colemak gaming/vanilla (limited dual-role keys with layer access)
- _QWERTYGM, // QWERTY gaming/vanilla (limited dual-role keys with layer access)
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Symbols 2 (identical as _NUMBERS; basically used for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer (accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer (accessed outside of tri-layer feature)
-};
-
-enum bfo9000_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- COLEMAKGM,
- QWERTYGM,
- NUMPAD = TG(_NUMPAD),
- ADJUST = MO(_ADJUST2),
- SPCFN = LT(_FUNCTION, KC_SPC),
- BSPCFN = LT(_FUNCTION2, KC_BSPC),
- ENTNS = LT(_NUMBERS, KC_ENT),
- DELNS = LT(_NUMBERS2, KC_DEL),
- CTLESC = CTL_T(KC_ESC),
- ALTAPP = ALT_T(KC_APP),
- NKROTG = MAGIC_TOGGLE_NKRO
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPLEQ,
- PMNUN,
- PSLPAS
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMNUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSLPAS] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak
- (Default layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Tab | Q | W | F | P | G | | | Home | | Pause | | | J | L | U | Y | ; | \ |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- |Esc/Ctl| A | R | S | T | D | | | PgUp | | ScrLck| | | H | N | E | I | O | ' |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- |SCShift| Z | X | C | V | B |Esc/Ctl|App/Alt| PgDn | | PrtScr| RAlt | RCtl | K | M | , | . | / |SCShift|
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Ins | ` | [ | ] |App/Alt| Spc/Fn| Ent/NS| Bspc | End | | | Enter |Del/NS2|Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_COLEMAK] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* QWERTY
- (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Tab | Q | W | E | R | T | | | Home | | Pause | | | Y | U | I | O | P | \ |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- |Esc/Ctl| A | S | D | F | G | | | PgUp | | ScrLck| | | H | J | K | L | ; | ' |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- |SCShift| Z | X | C | V | B |Esc/Ctl|App/Alt| PgDn | | PrtScr| RAlt | RCtl | N | M | , | . | / |SCShift|
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Ins | ` | [ | ] |App/Alt| Spc/Fn| Ent/NS| Bspc | End | | | Enter |Del/NS2|Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Numbers/Symbols layer
- (Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | 6 | 7 | 8 | 9 | 0 | | | | | | | | ^ | & | * | ( | ) | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | 1 | 2 | 3 | 4 | 5 | | | | | | | | ! | @ | # | $ | % | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | . | / * | - _ | + = | | | | | | | | ` ~ | [ { | ] } | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | ( | ) | [ { | ] } | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), _______, _______, _______, _______, _______, _______, TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_NUMBERS2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), _______, _______, _______, _______, _______, _______, TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Function layer
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | Up | | | | | | | | | | | | Up | Ctrl+Y| | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | Ctrl+A| Left | Down | Right | C+A+Tb| | | | | | | | PgUp | Right | Down | Left | Home | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | Ctrl+Z| Ctrl+X| Ctrl+C| Ctrl+V| Bspc | | | | | | | | PgDn | Mute | Vol- | Vol+ | End | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | | | | | | | | | | | | | Prev | Play | Next | Stop |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), _______, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), _______, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
-),
-
-/* Numpad layer
- (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | NumLk | | | | | | | | | | | Tab | NumLk | KP / | KP * | KP - | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | | | | | | KP 4 | KP 5 | KP 6 | = | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | KP . |KP/ KP*| KP- _ | KP+ = | | | | | | | | KP 1 | KP 2 | KP 3 | KP Ent| | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | ( | ) | [ { | ] } | | | | | | | | | | | KP 0 | KP . | KP Ent| | |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_NUM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TAB, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______,
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
- _______, _______, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ), _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______
-),
-
-/* Colemak gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Del/NS2 on right side to access Adjust layer)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Tab | Q | W | F | P | G | J | L | Home | | Pause | | | J | L | U | Y | ; | \ |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | LCtl | A | R | S | T | D | H | N | PgUp | | ScrLck| | | H | N | E | I | O | ' |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Shift | Z | X | C | V | B | Esc | LAlt | PgDn | | PrtScr| RAlt | RCtl | K | M | , | . | / | Shift |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Ins | ` | [ | ] | LAlt | Space | Enter | Bspc | End | | | Ent/NS|Del/NS2|Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_COLEMAKGM] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* QWERTY gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Del/NS2 on right side to access Adjust layer)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Tab | Q | W | E | T | Y | U | I | Home | | Pause | | | Y | U | I | O | P | \ |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | LCtl | A | S | D | F | G | H | J | PgUp | | ScrLck| | | H | J | K | L | ; | ' |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Shift | Z | X | C | V | B | Esc | LAlt | PgDn | | PrtScr| RAlt | RCtl | N | M | , | . | / | Shift |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | Ins | ` | [ | ] | LAlt | Space | Enter | Bspc | End | | | Ent/NS|Del/NS2|Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_QWERTYGM] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Adjust layer
- (Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | |Colemak| Qwerty| |ColmkGM| QWGM | | | | | | | | Numpad| | | | | QK_BOOT |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | | | | | | | | | | | | NKROTG| | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | | | | | | | | | | | | | | | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------' `-----------------------------------------------------------------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAK);
-// persistent_default_layer_set(1UL << _COLEMAK);
- layer_off ( _QWERTY);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTY);
-// persistent_default_layer_set(1UL << _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case COLEMAKGM:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAKGM);
- layer_off ( _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case QWERTYGM:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTYGM);
- layer_off ( _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/readme.md b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/readme.md
deleted file mode 100644
index 0a3bdc45fd..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-## I've changed my folder name to match my GitHub username. Please see https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/bfo9000/keymaps/tuesdayjohn for my current keymap files.
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/rules.mk b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/rules.mk
deleted file mode 100644
index 390cb3fd60..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
diff --git a/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c b/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c
deleted file mode 100644
index 8cdf12545b..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2022 rogthefrog
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _BASE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_BASE] = LAYOUT(
- KC_ESC, KC_CALC, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_VOLU, KC_MUTE,
- KC_NUM, KC_INS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_VOLD, KC_HOME,
- KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_P4, KC_P5, KC_P6, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_INS, KC_PGUP,
- KC_P1, KC_P2, KC_P3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_APP, KC_UP, KC_PGDN,
- KC_P0, KC_PDOT, KC_ENT, KC_LCTL, KC_LGUI, KC_LALT, KC_CAPS, KC_ENT, KC_BSPC, KC_SPC, KC_BSPC, KC_RGUI, KC_CUT, KC_COPY, KC_PSTE, KC_LEFT, KC_DOWN, KC_RGHT
-)
-};
diff --git a/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c b/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c
deleted file mode 100644
index 77c91612fc..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2021 Chrisopher S Martin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 bfo900_layers {
- _QWERTY,
- _FUNC,
-};
-
-enum bfo9000_keycodes {
- QWERTY = SAFE_RANGE,
- GAMING
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
-QWERTY
-(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | ESC | QK_BOOT | F1 | F2 | F3 | F4 | F5 | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | 1 | 2 | 3 | 4 | 5 | | | | | | 6 | 7 | 8 | 9 | 0 | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | ` | Q | W | E | R | T | | [ | | ] | | Y | U | I | O | P | + | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | A | S | D | F | G | Tab | Fn | | Fn | Enter | H | J | K | L | ; | ' | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | Z | X | C | V | B | ESC | | | | | N | M | , | . | / | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | |PrntScrn| Ctrl | Bkspc |Meta/OS | Shift | | Shift | Alt | Space | Ctrl | | | - | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_QWERTY] = LAYOUT(
- KC_ESC, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______,
- _______, KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, KC_LBRC, KC_RBRC, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, _______,
- _______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, MO(_FUNC), MO(_FUNC), KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, // TODO: use OSL instead of MO
- _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, _______, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______,
- _______, _______, _______, _______, KC_PSCR, KC_LCTL, KC_BSPC, KC_LGUI, KC_LSFT, KC_RSFT, KC_RALT, KC_SPC, KC_RCTL, _______, _______, KC_MINS, _______, _______ //KC_CTL shoudl be double tap for capslock
-),
-
-/*
-Function layer
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | \ | { | } | [ | ] | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | LEFT | DOWN | UP | RIGHT | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | \ | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | | | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_FUNC] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, _______, _______
-),
-
-};
diff --git a/keyboards/keebio/bfo9000/keymaps/shadyproject/readme.md b/keyboards/keebio/bfo9000/keymaps/shadyproject/readme.md
deleted file mode 100644
index 231d13d49b..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/shadyproject/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-![Shadyproject BFO-9000 layout image](http://shadyproject.net/images/bfo9000-layout.png)
-
-# Shadyproject BFO-9000 layout
-
-This is a keymap for the [Keebio BFO-9000](https://keeb.io/products/bfo-9000-keyboard-customizable-full-size-split-ortholinear?variant=8116065271914).
-It is a dual layer (currently) that is inspired by the [Keyboardio Model 01](https://shop.keyboard.io/products/model-01-keyboard?variant=30996744405065) layout.
-
-## Layers
-
-- Qwerty
-- Functions
diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h
deleted file mode 100644
index 9538405eb2..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h
+++ /dev/null
@@ -1,37 +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
-
-/* Select hand configuration */
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define TAPPING_TERM 150
-#define TAPPING_TOGGLE 2
-
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
deleted file mode 100644
index 76570912a1..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
+++ /dev/null
@@ -1,341 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum bfo9000_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // Qwerty
- _GAMING, // Gaming/vanilla toggle layer (limited dual-role keys and layer access)
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Symbols 2 (identical as _NUMBERS; basically used for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer (accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer (accessed outside of tri-layer feature)
-};
-
-enum bfo9000_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- GAMING
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPEQ,
- PMUN,
- PSPA
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSPA] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-//Aliases for longer keycodes
-#define NUMPAD TG(_NUMPAD)
-#define ADJUST MO(_ADJUST2)
-#define SPCFN LT(_FUNCTION, KC_SPC)
-#define BSPCFN LT(_FUNCTION2, KC_BSPC)
-#define ENTNS LT(_NUMBERS, KC_ENT)
-#define DELNS LT(_NUMBERS2, KC_DEL)
-#define CTLESC CTL_T(KC_ESC)
-#define ALTAPP ALT_T(KC_APP)
-#define CTL_A LCTL(KC_A)
-#define CTL_C LCTL(KC_C)
-#define CTL_V LCTL(KC_V)
-#define CTL_X LCTL(KC_X)
-#define CTL_Z LCTL(KC_Z)
-#define CTL_Y LCTL(KC_Y)
-#define CA_TAB LCA(KC_TAB)
-#define HYPER ALL_T(KC_NO)
-#define TD_ADJ TD(ADJ)
-#define TD_LBCB TD(LBCB)
-#define TD_RBCB TD(RBCB)
-#define TD_EQPL TD(EQPL)
-#define TD_PLEQ TD(PLEQ)
-#define TD_MNUN TD(MNUN)
-#define TD_SLAS TD(SLAS)
-#define TD_GVTL TD(GVTL)
-#define TD_PPEQ TD(PPEQ)
-#define TD_PMUN TD(PMUN)
-#define TD_PSPA TD(PSPA)
-#define NKROTG MAGIC_TOGGLE_NKRO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
-Colemak
-(Default layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust | | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad | | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Tab | Q | W | F | P | G | | | Home | | Pause | | | J | L | U | Y | ; | \ |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Esc/Ctl| A | R | S | T | D | | | PgUp | | ScrLck | | | H | N | E | I | O | ' |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | SCShift| Z | X | C | V | B | Esc/Ctl| App/Alt| PgDn | | PrtScr | RAlt | RCtl | K | M | , | . | / | SCShift|
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Ins | ` | [ | ] | App/Alt| Spc/Fn | Ent/NS | Bspc | End | | | Enter | Del/NS2| Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_COLEMAK] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/*
-QWERTY
-(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust | | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad | | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Tab | Q | W | E | R | T | | | Home | | Pause | | | Y | U | I | O | P | \ |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Esc/Ctl| A | S | D | F | G | | | PgUp | | ScrLck | | | H | J | K | L | ; | ' |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | SCShift| Z | X | C | V | B | Esc/Ctl| App/Alt| PgDn | | PrtScr | RAlt | RCtl | N | M | , | . | / | SCShift|
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Ins | ` | [ | ] | App/Alt| Spc/Fn | Ent/NS | Bspc | End | | | Enter | Del/NS2| Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SCRL, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/*
-Numbers/Symbols layer
-(Multiple characters: single-tap for first, double-tap for second)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | 6 | 7 | 8 | 9 | 0 | | | | | | | | ^ | & | * | ( | ) | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | 1 | 2 | 3 | 4 | 5 | | | | | | | | ! | @ | # | $ | % | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | . | / * | - _ | + = | | | | | | | | ` ~ | [ { | ] } | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | ( | ) | [ { | ] } | | | | | | | | | | | | | | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, _______, _______, _______, _______, _______, _______, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_NUMBERS2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, _______, _______, _______, _______, _______, _______, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/*
-Function layer
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | Up | | | | | | | | | | | | Up | Ctrl+Y | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | Ctrl+A | Left | Down | Right | C+A+Tb | | | | | | | | PgUp | Right | Down | Left | Home | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | Ctrl+Z | Ctrl+X | Ctrl+C | Ctrl+V | Bspc | | | | | | | | PgDn | Mute | Vol- | Vol+ | End | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | Prev | Play | Next | Stop |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
-),
-
-/*
-Numpad layer
-(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | NumLk | | | | | | | | | | | Tab | NumLk | KP / | KP * | KP - | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | | | | | | KP 4 | KP 5 | KP 6 | = | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | KP . | KP/ KP*| KP- _ | KP+ = | | | | | | | | KP 1 | KP 2 | KP 3 | KP Ent | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | ( | ) | [ { | ] } | | | | | | | | | | | KP 0 | KP . | KP Ent | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_NUM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TAB, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______,
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
- _______, _______, KC_PDOT, TD_PSPA, TD_PMUN, TD_PPEQ, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______
-),
-
-/*
-Gaming
-(Toggle gaming layer with limited dual-role keys and layer access; NKRO turned on by default; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | F6 | F7 | F8 | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | 6 | 7 | 8 | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | J | L | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | LCtl | | | | | | H | N | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | Shift | | | | | | Esc | LAlt | | | | RAlt | RCtl | | | | | | Shift |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | LAlt | Space | Enter | Bspc | | | | Ent/NS | Del/NS2| Bsp/Fn2| RGUI | | | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_GAMING] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_6, KC_7, KC_8, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_J, KC_L, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LCTL, _______, _______, _______, _______, _______, KC_H, KC_N, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, _______, _______, _______, _______, KC_ESC, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
- _______, _______, _______, _______, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, _______, _______, ENTNS, _______, _______, _______, _______, _______, _______, _______
-),
-
-/*
-Adjust layer
-(Press and hold Adjust key on the function row or Enter/Number + Delete/Number2 to access; Numpad and NKRO are on toggle)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | Colemak| Qwerty | | Gaming | | | | | | | | | Numpad | | | | | QK_BOOT |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | NKROTG | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | | | | | | | |
- `--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
-// persistent_default_layer_set(1UL << _COLEMAK);
- default_layer_set(1UL << _COLEMAK);
- layer_move (_COLEMAK);
- keymap_config.nkro = 0;
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
-// persistent_default_layer_set(1UL << _QWERTY);
- default_layer_set(1UL << _QWERTY);
- layer_move (_QWERTY);
- keymap_config.nkro = 0;
- }
- return false;
- break;
- case GAMING:
- if (record->event.pressed) {
- layer_invert (_GAMING);
- layer_off (_NUMPAD);
- keymap_config.nkro = 1;
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/rules.mk b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/rules.mk
deleted file mode 100644
index 390cb3fd60..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
diff --git a/keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c b/keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c
deleted file mode 100644
index 4409f39549..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2020 vladkvit
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_NO, KC_NO, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO,
- KC_NO, KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_NO, KC_NO, KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_NO,
- KC_NO, KC_NO, KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_NO,
- KC_NO, KC_NO, KC_LCTL, KC_LGUI,KC_LALT,KC_NO,KC_NO,KC_SPC,MO(1), KC_NO, KC_SPC,KC_NO, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/keebio/bfo9000/keymaps/vladkvit/readme.md b/keyboards/keebio/bfo9000/keymaps/vladkvit/readme.md
deleted file mode 100644
index eeb79855c3..0000000000
--- a/keyboards/keebio/bfo9000/keymaps/vladkvit/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# vladkvit's keymap layout for BFO9000
-
-This is pretty much a stock tenkeyless layout, with only a single difference - a function key to access a second layer with 6 "navigation" keys on the home row.
-There's space on the left for extra macro keys. \ No newline at end of file
diff --git a/keyboards/keebio/cepstrum/rev1/config.h b/keyboards/keebio/cepstrum/rev1/config.h
index 72f182b156..7c3bb16bad 100644
--- a/keyboards/keebio/cepstrum/rev1/config.h
+++ b/keyboards/keebio/cepstrum/rev1/config.h
@@ -4,59 +4,17 @@
#pragma once
#define SPLIT_HAND_PIN GP4
+
#define USB_VBUS_PIN GP12
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
#define SERIAL_USART_PIN_SWAP
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN GP22
#define I2C1_SDA_PIN GP23
-
-// RGB Matrix
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-#define RGB_MATRIX_LED_COUNT 96
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define SPLIT_TRANSPORT_MIRROR
diff --git a/keyboards/keebio/cepstrum/rev1/info.json b/keyboards/keebio/cepstrum/rev1/info.json
index b4b764c889..0b53d12792 100644
--- a/keyboards/keebio/cepstrum/rev1/info.json
+++ b/keyboards/keebio/cepstrum/rev1/info.json
@@ -14,6 +14,11 @@
"cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP21", "GP15", "GP9", "GP10"],
"rows": ["GP2", "GP3", "GP5", "GP8", "GP19"]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"matrix_pins": {
@@ -125,6 +130,43 @@
"pin": "GP18"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"split_count": [48, 48],
"layout": [
@@ -225,6 +267,8 @@
{"matrix": [9,2], "flags":4, "x":158, "y":60},
{"matrix": [9,1], "flags":4, "x":137, "y":60},
{"flags":2, "x":126, "y":64}
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
}
}
diff --git a/keyboards/keebio/chocopad/rev2/config.h b/keyboards/keebio/chocopad/rev2/config.h
index 366d639bf0..8b36fb4f3a 100644
--- a/keyboards/keebio/chocopad/rev2/config.h
+++ b/keyboards/keebio/chocopad/rev2/config.h
@@ -5,9 +5,3 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
-
-// RGB Matrix
-#define RGB_MATRIX_LED_COUNT 20
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keebio/chocopad/rev2/info.json b/keyboards/keebio/chocopad/rev2/info.json
index a615aac7ad..7cc5ef518f 100644
--- a/keyboards/keebio/chocopad/rev2/info.json
+++ b/keyboards/keebio/chocopad/rev2/info.json
@@ -88,6 +88,7 @@
{"matrix": [3, 1], "flags": 4, "x": 75, "y": 64},
{"flags": 2, "x": 37, "y": 64},
{"matrix": [3, 0], "flags": 4, "x": 0, "y": 64}
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keebio/convolution/rev1/config.h b/keyboards/keebio/convolution/rev1/config.h
index b46ba583d7..29191b6054 100644
--- a/keyboards/keebio/convolution/rev1/config.h
+++ b/keyboards/keebio/convolution/rev1/config.h
@@ -16,30 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// RGB Matrix
-#define RGB_MATRIX_LED_COUNT 16
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/keebio/convolution/rev1/info.json b/keyboards/keebio/convolution/rev1/info.json
index 5255f00ab9..5ff7c1f8f0 100644
--- a/keyboards/keebio/convolution/rev1/info.json
+++ b/keyboards/keebio/convolution/rev1/info.json
@@ -29,6 +29,29 @@
"driver": "vendor"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 2, "x": 12, "y": 13},
@@ -47,7 +70,8 @@
{"flags": 2, "x": 75, "y": 51},
{"flags": 2, "x": 43, "y": 51},
{"flags": 2, "x": 12, "y": 51}
- ]
+ ],
+ "sleep": true
},
"layouts": {
"LAYOUT_65xt": {
diff --git a/keyboards/keebio/dilly/keymaps/default/config.h b/keyboards/keebio/dilly/keymaps/default/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/keebio/dilly/keymaps/default/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/keebio/dsp40/keymaps/bakingpy/config.h b/keyboards/keebio/dsp40/keymaps/bakingpy/config.h
deleted file mode 100644
index 21bdbf97e3..0000000000
--- a/keyboards/keebio/dsp40/keymaps/bakingpy/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_TERM 150
diff --git a/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c b/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c
deleted file mode 100644
index 29414c0976..0000000000
--- a/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/* Copyright 2021 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAC,
- _WINDOWS,
- _TESTMODE,
- _LOWER,
- _RAISE,
- _FKEYS,
- _ADJUST,
-};
-
-enum custom_keycodes {
- MAC = SAFE_RANGE,
- WINDOWS,
- TESTMODE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-#define KC_ KC_TRNS
-
-#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
-#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
-#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
-#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
-#define KC_ESCC MT(MOD_LCTL, KC_ESC)
-#define KC_LOWR LOWER
-#define KC_RASE RAISE
-#define KC_GRVF LT(_FKEYS, KC_GRV)
-#define KC_ENTS MT(MOD_LSFT, KC_ENT)
-#define KC_BL_S BL_STEP
-#define KC_BL_T BL_TOGG
-#define KC_RMOD RGB_MOD
-
-#ifndef LAYOUT_kc_ortho_4x12
-#define LAYOUT_kc_ortho_4x12( \
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
- ) \
- LAYOUT_ortho_4x12( \
- KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
- KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
- KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
- KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
- )
-
-#endif
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAC] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
- [_WINDOWS] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
- [_TESTMODE] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- RMOD,BL_S, S , D , F , G , RMOD,BL_S, K , L ,SCLN,QUOT,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
- [_LOWER] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- ,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- BL_S,BL_T, , , ,DEL , DEL , , P0 ,PDOT, ,
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
- [_RAISE] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- , , , , , , , , , , ,
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
- [_FKEYS] = LAYOUT_kc_ortho_4x12(
- //┌────┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬────┬────â”
- F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- , , , , , , , , , , , ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- , , , , , , , , , , , ,
- //├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
- , , , , , , , , , , ,
- //└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
- ),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MAC, WINDOWS, TESTMODE,_______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MAC:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_MAC);
- }
- return false;
- break;
- case WINDOWS:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WINDOWS);
- }
- return false;
- break;
- case TESTMODE:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_TESTMODE);
- }
- 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c b/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c
deleted file mode 100644
index 024a9aad2e..0000000000
--- a/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/* Copyright 2022 Forrest Cahoon <forrest.cahoon@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/>.
-*/
-
-
-// Milliseconds the backlight is off (or on) when blinking to show
-// caps lock is on. In other words, half the time of a full blink cycle.
-#define CAPS_LOCK_BLINK_MS 350
-
-#include QMK_KEYBOARD_H
-
-enum layer {
- _QWERTY,
- _PG, // for "programming"
- _MS, // for "mouse"
-};
-
-enum custom_keycodes {
- PG_ARRO = SAFE_RANGE,
- PG_BANG,
- PG_ENDC,
- PG_EQEQ,
- PG_EQL,
- PG_LBRK,
- PG_LPAR,
- PG_MINS,
- PG_NEEQ,
- PG_RBRK,
- PG_RPAR,
- PG_SLAS,
- PG_VBAR,
- MS_BTN,
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- MS_BTN, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
-// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- MO(_PG), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
-// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
- MO(_MS), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
-// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
- TG(_PG), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(_MS),
-// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
- TG(_MS), KC_LGUI, KC_LCTL, KC_LALT, MO(_PG), KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(_PG), KC_RALT, KC_RCTL, KC_RGUI
-// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
- ),
- [_PG] = LAYOUT(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_MUTE, QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
-// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, PG_SLAS, PG_LPAR, PG_RPAR, PG_NEEQ, _______, KC_HOME, KC_UP, KC_PGUP, KC_INS, _______, _______, _______,
-// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
- _______, _______, PG_ENDC, PG_VBAR, PG_LBRK, PG_RBRK, PG_EQEQ, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_BSPC,
-// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
- _______, _______, _______, PG_MINS, PG_EQL, PG_BANG, PG_ARRO, _______, KC_END, KC_DOWN, KC_PGDN, KC_DEL, _______, _______,
-// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
- ),
- [_MS] = LAYOUT(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______,
-// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3, _______, _______,
-// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_D, _______, _______, _______, _______,
-// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
- ),
-};
-// clang-format on
-
-const key_override_t pg_lbrk_none = ko_make_with_layers_and_negmods(0, PG_LBRK, KC_LEFT_CURLY_BRACE, ~0, ~0);
-const key_override_t pg_lbrk_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_LBRK, KC_LEFT_BRACKET, ~0, ~MOD_MASK_SHIFT);
-
-const key_override_t pg_lpar_none = ko_make_with_layers_and_negmods(0, PG_LPAR, KC_LEFT_PAREN, ~0, ~0);
-const key_override_t pg_lpar_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_LPAR, KC_LEFT_ANGLE_BRACKET, ~0, ~MOD_MASK_SHIFT);
-
-const key_override_t pg_rbrk_none = ko_make_with_layers_and_negmods(0, PG_RBRK, KC_RIGHT_CURLY_BRACE, ~0, ~0);
-const key_override_t pg_rbrk_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_RBRK, KC_RIGHT_BRACKET, ~0, ~MOD_MASK_SHIFT);
-
-const key_override_t pg_rpar_none = ko_make_with_layers_and_negmods(0, PG_RPAR, KC_RIGHT_PAREN, ~0, ~0);
-const key_override_t pg_rpar_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_RPAR, KC_RIGHT_ANGLE_BRACKET, ~0, ~MOD_MASK_SHIFT);
-
-const key_override_t pg_slas_none = ko_make_with_layers_and_negmods(0, PG_SLAS, KC_SLASH, ~0, ~0);
-const key_override_t pg_slas_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_SLAS, KC_BACKSLASH, ~0, ~MOD_MASK_SHIFT);
-
-const key_override_t ms_btn_none = ko_make_with_layers_and_negmods(0, MS_BTN, KC_MS_BTN1, ~0, ~0);
-const key_override_t ms_btn_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, MS_BTN, KC_MS_BTN2, ~0, ~MOD_MASK_SHIFT);
-
-// clang-format off
-const key_override_t **key_overrides = (const key_override_t *[]){
- &pg_lbrk_none, &pg_lbrk_shift,
- &pg_lpar_none, &pg_lpar_shift,
- &pg_rbrk_none, &pg_rbrk_shift,
- &pg_rpar_none, &pg_rpar_shift,
- &pg_slas_none, &pg_slas_shift,
- &ms_btn_none, &ms_btn_shift,
- NULL};
-// clang-format on
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- uint8_t std_mods = get_mods();
- uint8_t oneshot_mods = get_oneshot_mods();
- uint8_t all_mods = std_mods | oneshot_mods;
- bool shift_on = all_mods & MOD_MASK_SHIFT;
- bool ctrl_on = all_mods & MOD_MASK_CTRL;
-
- // None of our special keycodes use ALT or GUI mods (so far), so we
- // check once here at the top and let other code handle it if any of
- // these are set.
- if (all_mods & (MOD_MASK_ALT | MOD_MASK_GUI)) return true;
-
- switch (keycode) {
- case KC_CAPS:
- // On caps lock release, if caps lock just got turned off, ensure that
- // backlight is enabled when it stops blinking.
- if (!record->event.pressed) {
- if (!host_keyboard_led_state().caps_lock) {
- backlight_enable();
- // In this case, we want to continue processing
- return true;
- }
- }
- break;
- case PG_ARRO:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (shift_on) {
- if (!ctrl_on) SEND_STRING(" ");
- SEND_STRING("=>");
- if (!ctrl_on) SEND_STRING(" ");
- } else {
- if (ctrl_on) SEND_STRING(" ");
- SEND_STRING("->");
- if (ctrl_on) SEND_STRING(" ");
- }
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_BANG:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (shift_on) {
- if (!ctrl_on) SEND_STRING(" ");
- SEND_STRING("*");
- if (!ctrl_on) SEND_STRING(" ");
- } else {
- if (ctrl_on) SEND_STRING(" ");
- SEND_STRING("!");
- if (!ctrl_on) SEND_STRING(" ");
- }
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_ENDC:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- SEND_STRING(SS_TAP(X_END));
- if (!shift_on) SEND_STRING(";");
- if (!ctrl_on) SEND_STRING(SS_TAP(X_ENTER));
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_EQEQ:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (!ctrl_on) SEND_STRING(" ");
- shift_on ? SEND_STRING("==") : SEND_STRING("===");
- if (!ctrl_on) SEND_STRING(" ");
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_EQL:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (!ctrl_on) SEND_STRING(" ");
- shift_on ? SEND_STRING("+") : SEND_STRING("=");
- if (!ctrl_on) SEND_STRING(" ");
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_MINS:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (shift_on) {
- if (ctrl_on) SEND_STRING(" ");
- SEND_STRING("_");
- if (ctrl_on) SEND_STRING(" ");
- } else {
- if (!ctrl_on) SEND_STRING(" ");
- SEND_STRING("-");
- if (!ctrl_on) SEND_STRING(" ");
- }
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_NEEQ:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (!ctrl_on) SEND_STRING(" ");
- shift_on ? SEND_STRING("!=") : SEND_STRING("!==");
- if (!ctrl_on) SEND_STRING(" ");
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- case PG_VBAR:
- if (record->event.pressed) {
- clear_mods();
- clear_oneshot_mods();
- if (!ctrl_on) SEND_STRING(" ");
- shift_on ? SEND_STRING("&") : SEND_STRING("|");
- if (!ctrl_on) SEND_STRING(" ");
- set_mods(std_mods);
- set_oneshot_mods(oneshot_mods);
- return false;
- }
- break;
- }
- return true;
-}
-
-// I have only one encoder on my FoldKB and I want it to always be a scroll wheel.
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_MS_WH_DOWN);
- } else {
- tap_code(KC_MS_WH_UP);
- }
- return false;
-}
-
-static uint16_t caps_lock_blink_timer = 0;
-
-// This is called after every matrix scan. We make the backlight blink
-// when caps lock is on here. To ensure the backlight is in the on state
-// when caps lock is turned off, we also watch for the relase of the caps
-// lock key in process_record_user().
-void housekeeping_task_user(void) {
- if (host_keyboard_led_state().caps_lock) {
- if (timer_elapsed(caps_lock_blink_timer) >= CAPS_LOCK_BLINK_MS) {
- backlight_toggle();
- caps_lock_blink_timer = timer_read();
- }
- }
-}
-
-// The backlight level shows which layer we are in:
-// Mouse layer: dim | QWERTY layer: medium | Programming layer: bright
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _MS:
- backlight_level(1);
- break;
- case _PG:
- backlight_level(3);
- break;
- default:
- backlight_level(2);
- break;
- }
- return state;
-}
-
-void keyboard_post_init(void) {
- backlight_level(2);
-}
diff --git a/keyboards/keebio/foldkb/keymaps/forrcaho/readme.md b/keyboards/keebio/foldkb/keymaps/forrcaho/readme.md
deleted file mode 100644
index 74ac4507b8..0000000000
--- a/keyboards/keebio/foldkb/keymaps/forrcaho/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Keebio FoldKB rev1
-
-My layout for the FoldKB has three layers:
-
-* A default standard QWERTY layer,
-
-* a second "programming" layer with
- * function keys for the corresponding numbers
- * arrow and other navigation keys (such as home) on the right half, and
- * various alternate keymappings and macros useful for programming on the
- left half.
-
-* a third "mouse" layer with mouse keys on the right half. No special functions
-have been added to the left half for this layer (yet).
-
-This was written for a FoldKB with one encoder, and that is made to function as
-a mouse scroll wheel on all layers. Pressing it is a mouse left click and
-shift-pressing it is a mouse right click. (Presumably both encoders would do the
-same thing on a FoldKB with two.)
-
-The backgound lighting levels indicate the layer: dimmest for the default
-QWERTY layer, middle brightness for the mouse layer, and brightest for the
-programming layer.
diff --git a/keyboards/keebio/foldkb/keymaps/forrcaho/rules.mk b/keyboards/keebio/foldkb/keymaps/forrcaho/rules.mk
deleted file mode 100644
index 959e428661..0000000000
--- a/keyboards/keebio/foldkb/keymaps/forrcaho/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-KEY_OVERRIDE_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-ENCODER_ENABLE = yes
diff --git a/keyboards/keebio/fourier/keymaps/maxim/config.h b/keyboards/keebio/fourier/keymaps/maxim/config.h
deleted file mode 100644
index 4f0ea3dc32..0000000000
--- a/keyboards/keebio/fourier/keymaps/maxim/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
-
-
diff --git a/keyboards/keebio/fourier/keymaps/maxim/keymap.c b/keyboards/keebio/fourier/keymaps/maxim/keymap.c
deleted file mode 100644
index 23e65be477..0000000000
--- a/keyboards/keebio/fourier/keymaps/maxim/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-#define _FN2 2
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-
-#define FN1 MO(_FN1)
-#define FN2 MO(_FN2)
-#define SPFN1 LT(_FN1, KC_SPACE)
-#define BSFN2 LT(_FN2, KC_BSPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_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_DEL, KC_BSPC,
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- XXXXXXX, KC_LCTL, KC_LALT, XXXXXXX, KC_SPC, FN1, KC_RCTL, KC_RGUI, FN2, XXXXXXX
- ),
-
- [_FN1] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______,
- RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN2] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS,
- _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______,
- _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/keebio/iris/keymaps/dvorak/config.h b/keyboards/keebio/iris/keymaps/dvorak/config.h
index 1fe0765647..0776d7e179 100644
--- a/keyboards/keebio/iris/keymaps/dvorak/config.h
+++ b/keyboards/keebio/iris/keymaps/dvorak/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MASTER_LEFT
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
+#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h
index 63610ecac5..4b67b6632f 100644
--- a/keyboards/keebio/iris/rev5/config.h
+++ b/keyboards/keebio/iris/rev5/config.h
@@ -19,7 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SPLIT_HAND_PIN D5
-#define BACKLIGHT_DEFAULT_LEVEL 3
-
-#define RGBLIGHT_DEFAULT_VAL 128
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev5/info.json b/keyboards/keebio/iris/rev5/info.json
index 72b8da80d0..4bb4554f7c 100644
--- a/keyboards/keebio/iris/rev5/info.json
+++ b/keyboards/keebio/iris/rev5/info.json
@@ -16,7 +16,10 @@
},
"backlight": {
"pin": "B5",
- "levels": 5
+ "levels": 5,
+ "default": {
+ "brightness": 3
+ }
},
"rgblight": {
"led_count": 12,
@@ -32,6 +35,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 128
}
},
"ws2812": {
diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h
index 80e85052de..f52c020dee 100644
--- a/keyboards/keebio/iris/rev6/config.h
+++ b/keyboards/keebio/iris/rev6/config.h
@@ -19,50 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SPLIT_HAND_PIN D5
-# define RGBLIGHT_DEFAULT_VAL 120
-# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
-// RGB Matrix
-# ifdef RGB_MATRIX_ENABLE
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
-# define RGB_MATRIX_LED_COUNT 68
-# define RGB_MATRIX_SPLIT { 34, 34 }
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-# endif
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json
index 94c30211a1..8563ba64ab 100644
--- a/keyboards/keebio/iris/rev6/info.json
+++ b/keyboards/keebio/iris/rev6/info.json
@@ -5,7 +5,47 @@
"device_version": "6.2.0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 160,
+ "sleep": true,
+ "split_count": [34, 34]
},
"matrix_pins": {
"cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
@@ -38,6 +78,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 120
}
},
"split": {
diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h
index 37769d67e7..eec56a2620 100644
--- a/keyboards/keebio/iris/rev7/config.h
+++ b/keyboards/keebio/iris/rev7/config.h
@@ -19,50 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SPLIT_HAND_PIN D5
-# define RGBLIGHT_DEFAULT_VAL 120
-# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
-// RGB Matrix
-//# ifdef RGB_MATRIX_ENABLE
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-# define RGB_MATRIX_LED_COUNT 68
-# define RGB_MATRIX_SPLIT { 34, 34 }
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-//# endif
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json
index 08d6c8cd19..a7b81f9224 100644
--- a/keyboards/keebio/iris/rev7/info.json
+++ b/keyboards/keebio/iris/rev7/info.json
@@ -5,7 +5,45 @@
"device_version": "7.0.0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true,
+ "split_count": [34, 34]
},
"matrix_pins": {
"cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
@@ -39,6 +77,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 120
}
},
"split": {
diff --git a/keyboards/keebio/iris/rev8/config.h b/keyboards/keebio/iris/rev8/config.h
index 96eb75c97a..3ea59ffcf6 100644
--- a/keyboards/keebio/iris/rev8/config.h
+++ b/keyboards/keebio/iris/rev8/config.h
@@ -4,19 +4,17 @@
#pragma once
#define SPLIT_HAND_PIN GP4
+
#define USB_VBUS_PIN GP8
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP12
#define SERIAL_USART_RX_PIN GP13
#define SERIAL_USART_PIN_SWAP
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+
#define I2C_DRIVER I2CD2
#define I2C1_SDA_PIN GP10
#define I2C1_SCL_PIN GP11
-
-// RGB Matrix
-#define RGB_MATRIX_LED_COUNT 68
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keebio/iris/rev8/info.json b/keyboards/keebio/iris/rev8/info.json
index d425e8d019..85676067c0 100644
--- a/keyboards/keebio/iris/rev8/info.json
+++ b/keyboards/keebio/iris/rev8/info.json
@@ -239,6 +239,7 @@
{"flags":2, "x":144, "y":58},
{"matrix": [9,4], "flags":4, "x":134, "y":64},
{"matrix": [9,5], "flags":4, "x":126, "y":52}
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/config.h b/keyboards/keebio/levinson/keymaps/drogglbecher/config.h
deleted file mode 100644
index fda48a463b..0000000000
--- a/keyboards/keebio/levinson/keymaps/drogglbecher/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-/* #define _MASTER_RIGHT */
-/* #define EE_HANDS */
-
-#endif
diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c b/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c
deleted file mode 100644
index 6355c14203..0000000000
--- a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _FN0 0
-#define _FN1 1
-#define _FN2 2
-
-#define KC_X1 MO(_FN1)
-#define KC_X2 MO(_FN2)
-
-#define KC_LPRN LSFT(KC_9) // (
-#define KC_RPRN LSFT(KC_0) // )
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* ┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
- * │ ESC │ q │ w │ e │ r │ t │ │ y │ u │ i │ o │ p │ BS │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ CTRL │ a │ s │ d │ f │ g │ │ h │ j │ k │ l │ " ' │ RET │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ SHFT │ z │ x │ c │ v │ b │ │ n │ m │ [ { │ ] } │ ; : │ SHFT │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ L1 │ ALT │ L2 │ TAB | SPC │ SPC │ │ SPC │ SPC │ , < │ . > │ - _ │ / ? │
- * └──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
- */
-
- [_FN0] = 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_LBRC, KC_RBRC, KC_SCLN, KC_RSFT,
- KC_X1, KC_LALT, KC_X2, KC_TAB, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_COMM, KC_DOT, KC_MINS, KC_SLSH
- ),
-
- /* ┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ DEL │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ │ ä │ ö │ ü │ ß │ │ │ LEFT │ DOWN │ UP │ RGT │ │ │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ │ Ä │ Ö │ Ü │ € │ │ │ │ │ ( │ ) │ │ │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ | │ │ | SPC │ SPC │ │ SPC │ SPC │ │ │ │ \ | │
- * └──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
- */
-
- [_FN1] = LAYOUT_ortho_4x12(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, UC(L'ä'), UC(L'ö'), UC(L'ü'), UC(L'ß'), _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PIPE,
- _______, UC(L'Ä'), UC(L'Ö'), UC(L'Ü'), UC(L'€'), _______, _______, _______, KC_LPRN, KC_RPRN, _______, _______,
- _______, _______, _______, KC_TAB, KC_SPC, KC_SPC, KC_SPC, KC_SPC, _______, _______, _______, KC_BSLS
- ),
-
- /* ┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
- * │ ` │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ~ │ + │ = │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ │ │ │ │ │ │ │ HOME │ PGDN │ PGUP │ END │ │ │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │
- * ├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
- * │ │ │ │ │ SPC │ SPC │ │ SPC │ SPC │ │ VOL+ │ VOL- │ MUTE │
- * └──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
- */
-
- [_FN2] = LAYOUT_ortho_4x12(
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_TILD, KC_PLUS, KC_PEQL,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, KC_SPC, KC_SPC, KC_SPC, KC_SPC, _______, KC_VOLD, KC_VOLU, KC_MUTE
- )
-
-};
-
-void matrix_init_user(void) {
- set_unicode_input_mode(UNICODE_MODE_LINUX);
-};
diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/rules.mk b/keyboards/keebio/levinson/keymaps/drogglbecher/rules.mk
deleted file mode 100644
index a22dc3d2a9..0000000000
--- a/keyboards/keebio/levinson/keymaps/drogglbecher/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-AUTO_SHIFT_ENABLE = no
-RGBLIGHT_ENABLE = no
-BACKLIGHT_ENABLE = no
-UNICODE_ENABLE = yes
-DEFAULT_FOLDER = levinson/rev2
-
diff --git a/keyboards/keebio/levinson/keymaps/jyh/keymap.c b/keyboards/keebio/levinson/keymaps/jyh/keymap.c
deleted file mode 100644
index 15a9b489a2..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh/keymap.c
+++ /dev/null
@@ -1,202 +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 3 /* Symbols, Media */
-#define _RAISE 4 /* Numbers, Arrows */
-#define _FUNC 5 /* Function Keys */
-#define _NUMS 6 /* Numpad */
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// tap toggle numpad on
-#define NUMPAD TT(_NUMS)
-
-// Mod Tap Definitions
-// -------------------
- // Tap Hold
- // ------------------
-#define CTL_ESC MT(MOD_LCTL, KC_ESC) // Esc Left Control
-#define SFT_ENT MT(MOD_RSFT, KC_ENT) // Enter Right Shift
-#define CTL_SPC MT(MOD_LCTL, KC_SPC) // Space Left Control
-#define ALT_SPC MT(MOD_LALT, KC_SPC) // Space Left Alt
-#define ALT_BSP MT(MOD_LALT, KC_BSPC) // Bkspace Left Alt
-#define HPR_TAB MT(MOD_HYPR, KC_TAB) // Tab Hyper (Super+Ctrl+Alt+Shift)
-#define HPR_GRV MT(MOD_HYPR, KC_GRV) // ` Hyper
-#define HPR_TIL MT(MOD_HYPR, KC_TILD) // ~ Hyper
-#define MEH_TIL MT(MOD_MEH, KC_GRV) // ` Meh (Ctrl+Alt+Shift)
-#define SFT_MIN MT(MOD_LSFT, KC_MINS) // - Left Shift
-#define NPD_UND LT(_NUMS, KC_UNDS) // _ Layer Numpad
-#define FNC_PIP LT(_FUNC, KC_PIPE) // | Layer Function Keys
-
-#define CTL_DEL MT(MOD_LCTL, KC_DEL) // Del Left Control
-#define CTL_QOT MT(MOD_RCTL, KC_QUOT) // ' Right Control
-#define CTL_BSL MT(MOD_RCTL, KC_BSLS) // \ Right Control
-#define CTL_PIP MT(MOD_RCTL, KC_PIPE) // | Right Control
-
-
-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 | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | - | Z | X | C | V | B | | N | M | , | . | / | Enter|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Numpd| Meh | Meta | Alt | Lower| Space| | Space| Raise| Alt | Meta | Hyper| Func |
- * `-----------------------------------------' `-----------------------------------------'
- *
- * with Hold (Emacs-oriented)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Hyper| | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | | | | | | | | | | | | Ctrl |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| | | | | | | | | | | | Shift|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_QWERTY] = LAYOUT_ortho_4x12(
- HPR_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- CTL_ESC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, CTL_QOT,
- SFT_MIN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SFT_ENT,
- NUMPAD , KC_MEH , KC_LGUI, KC_LALT, LOWER, CTL_SPC, KC_SPC, RAISE, KC_RALT, KC_RGUI, KC_HYPR, MO(_FUNC)
- ),
-
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Left | Up | Down | Right| ( | | ) | - | = | [ | ] | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ; | ' | * | , | { | | } | _ | + | . | / | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_RAISE] = LAYOUT_ortho_4x12(
- HPR_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
- _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, CTL_PIP,
- _______, KC_COLN, KC_QUOT, KC_ASTR, KC_COMM, KC_LCBR, KC_RCBR, KC_UNDS, KC_PLUS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | Vol+ | Mute | Play | PgUp | : | | ' | - | = | [ | ] | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Vol- | < M | M > | PgDn | ; | | " | | | , | . | / | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_LOWER] = LAYOUT_ortho_4x12(
- HPR_TIL, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- CTL_DEL, KC_VOLU, KC_MUTE, KC_MPLY, KC_PGUP, KC_COLN, KC_QUOT, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, CTL_BSL,
- _______, KC_VOLD, KC_MPRV, KC_MNXT, KC_PGDN, KC_SCLN, KC_DQUO, KC_PIPE, KC_COMM, KC_DOT , KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FUNC] = LAYOUT_ortho_4x12(
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______,
- _______, KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , _______,
- _______, KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_NUMS] = LAYOUT_ortho_4x12(
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_SLSH, _______,
- _______, KC_CAPS, KC_INS , KC_HOME, KC_PGUP, KC_LPRN, KC_RPRN, KC_4 , KC_5 , KC_6 , KC_ASTR, _______,
- _______, KC_NUM , KC_DEL , KC_END , KC_PGDN, KC_SCLN, KC_COMM, KC_1 , KC_2 , KC_3 , KC_MINS, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_0 , KC_DOT , KC_EQL , KC_PLUS, _______
- ),
-
- [_ADJUST] = LAYOUT_ortho_4x12(
- QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL ,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-/* Template
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Hyper| | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | | | | | | | | | | | | Ctrl |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| | | | | | | | | | | | Shift|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- *
- *
- */
-// ,-------+--------+--------+--------+--------+--------. ,-------+--------+--------+--------+--------+--------.
-// | | | | | | | | | | | | | |
-// ,-------+--------+--------+--------+--------+--------. ,-------+--------+--------+--------+--------+--------.
-// | | | | | | | | | | | | | |
-// ,-------+--------+--------+--------+--------+--------. ,-------+--------+--------+--------+--------+--------.
-// | | | | | | | | | | | | | |
-// ,-------+--------+--------+--------+--------+--------. ,-------+--------+--------+--------+--------+--------.
-// | | | | | | | | | | | | | |
-// `-------+--------+--------+--------+--------+--------' `-------+--------+--------+--------+--------+--------,
-
-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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/levinson/keymaps/jyh/readme.md b/keyboards/keebio/levinson/keymaps/jyh/readme.md
deleted file mode 100644
index e20424e518..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# jyh's levinson layout
-
-[Levinson](https://keeb.io/products/levinson-lets-split-w-led-backlight)
-built on rev2 PCBs. A split 4x12 keyboard with LED backlights.
-
-The layout is oriented towards needs for programming, Emacs, XMonad,
-and experience with 60% keyboards with no base layer arrow keys
-(Poker). It makes heavy use of modifiers and layers.
-
-## Layout features
-
- * Extensive use of _Mod Tap_, e.g.
- * Tap sends Esc, Hold sends Left Control
- * Tap sends Enter, Hold sends Right Shift
- * ... and many more
- * Hyper and Meh keys
- * Right modifier keys in place of arrow keys
- * Arrows are instead available in two alternate locations:
- * WASD arrows on _Adjust_
- * Arrow cluster on _Raise_ (inspired by hexwire)
- * Centered symbol/bracket cluster on _Lower/Raise_
- * Inspired by hexwire layout
- * Programming-oriented
- * Spacebar sends modifier keys on hold (_this is finicky in practice. may shut off completely_)
- * Control ~~and Alt/Meta~~ on left ~~and right~~ space, respectively
- * Strict space available on _Function_ and _Numpad_ layers
- * For Emacs keychords
- * Extra dedicated layers
- * Numpad (available with tap toggle)
- * Function key (F01-24)
- * Redunant keys where it is convenient to have characters together
- on one layer
diff --git a/keyboards/keebio/levinson/keymaps/jyh/rules.mk b/keyboards/keebio/levinson/keymaps/jyh/rules.mk
deleted file mode 100644
index 66110cfcc0..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BACKLIGHT_ENABLE=yes
diff --git a/keyboards/keebio/levinson/keymaps/jyh2/config.h b/keyboards/keebio/levinson/keymaps/jyh2/config.h
deleted file mode 100644
index d4974fe0cf..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh2/config.h
+++ /dev/null
@@ -1,41 +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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-
-/* Tap Dance timing */
-#define TAPPING_TERM 150
-
-/* Toggling layer requires # taps */
-#define TAPPING_TOGGLE 3
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
diff --git a/keyboards/keebio/levinson/keymaps/jyh2/keymap.c b/keyboards/keebio/levinson/keymaps/jyh2/keymap.c
deleted file mode 100644
index 87c02c5a44..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh2/keymap.c
+++ /dev/null
@@ -1,222 +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 3 /* Symbols, Media */
-#define _RAISE 4 /* Numbers, Arrows */
-#define _FUNC 5 /* Function Keys */
-#define _NUMS 6 /* Numpad */
-#define _ADJUST 16
-
-/* short layer aliases */
-#define _QW _QWERTY
-#define _LW _LOWER
-#define _RS _RAISE
-#define _NM _NUMS
-#define _AD _ADJUST
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
- MKITPNK,
- DYNAMIC_MACRO_RANGE
-};
-
-#include "dynamic_macro.h"
-
-#define DREC_1 DM_REC1
-#define DREC_2 DM_REC2
-#define DPLAY_1 DM_PLY1
-#define DPLAY_2 DM_PLY2
-#define DSTOP DM_RSTP
-
-
-// Mod Tap Definitions
-// -------------------
- // Tap Hold
- // ------------------
-#define GUI_GRV MT(MOD_LGUI, KC_GRV) // ` Meta
-#define CTL_ESC MT(MOD_LCTL, KC_ESC) // Esc Left Control
-#define SFT_MIN MT(MOD_LSFT, KC_MINS) // - Left Shift
-#define MEH_LBC MT(MOD_MEH, KC_LBRC) // [ Meh
-#define CTL_BSP MT(MOD_LCTL, KC_BSPC) // Bkspce Left Control
-#define HPR_RBC MT(MOD_HYPR, KC_RBRC) // ] Hyper
-#define SFT_EQL MT(MOD_RSFT, KC_EQL) // = Right Shift
-#define GUI_BSL MT(MOD_RGUI, KC_BSLS) // \ Meta
-
-#define NUM_TAB LT(_NUMS, KC_TAB) // Tab Layer Numpad
-
-#define CTL_DEL MT(MOD_LCTL, KC_DEL) // Del Left Control
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | - | Z | X | C | V | B | | N | M | , | . | / | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | [ | Meta | Alt | Lower| Bksp | | Space| Raise| Alt | Meta | ] | Enter|
- * `-----------------------------------------' `-----------------------------------------'
- * with Hold (Emacs-oriented)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Meta | | | | | | | | | | | | Meta |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| | | | | | | | | | | | Shift|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Numpd| Meh | | | | Ctrl | | | | | | Hyper| |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_QW] = LAYOUT_ortho_4x12(
- GUI_GRV, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , GUI_BSL,
- CTL_ESC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- SFT_MIN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SFT_EQL,
- NUM_TAB, MEH_LBC, KC_LGUI, KC_LALT, LOWER , CTL_BSP, KC_SPC , RAISE , KC_RALT, KC_RGUI, HPR_RBC, KC_ENT
- ),
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Left | Up | Down | Right| ; | | ' | 4 | 5 | 6 | * | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | { | } | ( | ) | , | | - | 1 | 2 | 3 | / | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | |Adjust| | | | RAISE| . | 0 | + | Enter|
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_RS] = LAYOUT_ortho_4x12(
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
- _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_4 , KC_5 , KC_6 , KC_ASTR, _______,
- _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_COMM, KC_MINS, KC_1 , KC_2 , KC_3 , KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_DOT , KC_0 , KC_PLUS, _______
- ),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | Vol+ | Mute | Play | PgUp | Home | | F1 | F2 | F3 | F4 | F5 | F6 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Vol- | < M | M > | PgDn | End | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | |LOWER | | | |Adjust| | | | Enter|
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_LW] = LAYOUT_ortho_4x12(
- _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- CTL_DEL, KC_VOLU, KC_MUTE, KC_MPLY, KC_PGUP, KC_HOME, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 ,
- _______, KC_VOLD, KC_MPRV, KC_MNXT, KC_PGDN, KC_END , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* Numpad
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | PrSc | ScrLk| Pause| | | | 7 | 8 | 9 | 0 | Lock |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | Ins | Home | PgUp | | | | 4 | 5 | 6 | / | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | Del | End | PgDn | | | | 1 | 2 | 3 | * | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |NUMPAD| | | | | | | | 0 | . | + | - | Enter|
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_NM] = LAYOUT_ortho_4x12(
- XXXXXXX, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, XXXXXXX, KC_7 , KC_8 , KC_9 , KC_0 , TO(_NM),
- XXXXXXX, XXXXXXX, KC_INS , KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , KC_SLSH, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_DEL , KC_END , KC_PGDN, XXXXXXX, XXXXXXX, KC_1 , KC_2 , KC_3 , KC_ASTR, KC_EQL ,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, KC_0 , KC_DOT , KC_PLUS, KC_MINS, _______
- ),
-
-/* Adjust
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Reset| | Up | | | Rec1 | | Rec2 | Plain| Snake|Gradnt| | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Caps | Left | Down | Right|MkItPk| Play1| | Play2| RGB | HUE+ | SAT+ | BRI+ | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | Stop1| | Stop2| MODE | HUE- | SAT- | BRI- | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_ADJUST] = LAYOUT_ortho_4x12(
- QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DREC_1 , DREC_2 , RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, MKITPNK, DPLAY_1, DPLAY_2, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DSTOP , DSTOP , RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-void make_it_pink_blue(void) {
- uint16_t blue_hue = 210;
- uint16_t pink_hue = 315;
-
- /* key is pressed */
- uint16_t hue = rgblight_get_hue();
- uint8_t sat = rgblight_get_sat();
- uint8_t val = rgblight_get_val();
-
- if (hue != blue_hue)
- rgblight_sethsv(blue_hue, sat, val);
- else
- rgblight_sethsv(pink_hue, sat, val);
-}
-
-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) {
- 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- case MKITPNK:
- if (record->event.pressed)
- make_it_pink_blue();
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/levinson/keymaps/jyh2/readme.md b/keyboards/keebio/levinson/keymaps/jyh2/readme.md
deleted file mode 100644
index 45ca956922..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh2/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# jyh's levinson layout
-
-[Levinson](https://keeb.io/products/levinson-lets-split-w-led-backlight)
-built on rev2 PCBs. A split 4x12 keyboard with LED backlights.
-
-The layout is oriented towards needs for programming, Emacs, XMonad,
-and experience with 60% keyboards with no base layer arrow keys
-(Poker). It makes heavy use of modifiers and layers. It is influenced
-by good ideas from the Atreus keyboard layout.
-
-## Layout features
-
- * Extensive use of _Mod Tap_, e.g.
- * Tap sends Esc, Hold sends Left Control
- * Tap sends Tab, Hold activates Numpad layer
- * Tap sends - , Hold sends Shift
- * ... and many more
- * Places Tab and Enter on bottom corners, for hitting with palm
- * Meta is available on top corners, for controlling XMonad
- * Control on center key, for Emacs (among other things)
- * Backspace (Control Hold) and Space on center keys
- * All 60% keys available on base layer, except for numbers
- * Hyper and Meh keys
- * Right modifier keys in place of arrow keys
- * Arrows are instead available in two alternate locations:
- * WASD arrows on _Adjust_
- * Arrow cluster on _Raise_ (inspired by hexwire)
- * Numpad and Numrow on _Raise_ layer. Each is faster in some contexts
- * Function keys on _Lower_
- * Dynamic macros from QMK firmware on _Adjust_
- * Redunant keys where it is convenient to have characters together
- on one layer
diff --git a/keyboards/keebio/levinson/keymaps/jyh2/rules.mk b/keyboards/keebio/levinson/keymaps/jyh2/rules.mk
deleted file mode 100644
index fb670123ed..0000000000
--- a/keyboards/keebio/levinson/keymaps/jyh2/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE=yes
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/config.h b/keyboards/keebio/levinson/keymaps/ksamborski/config.h
deleted file mode 100644
index 2b3c433206..0000000000
--- a/keyboards/keebio/levinson/keymaps/ksamborski/config.h
+++ /dev/null
@@ -1,35 +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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c b/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
deleted file mode 100644
index 3833b6a223..0000000000
--- a/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
+++ /dev/null
@@ -1,151 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QW,
- _LW,
- _RS,
- _AD,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
- MKITPNK
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ; | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | \ | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | | Meta | Alt | Lower| Enter| | Space| Raise| Alt | Meta | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_QW] = 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_DEL ,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_BSPC,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_BSLS, KC_EQL ,
- KC_LCTL , _______, KC_LGUI, KC_LALT, LOWER , KC_ENT , KC_SPC , RAISE , KC_RALT, KC_LGUI, _______, _______
- ),
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | , | 1 | 2 | 3 | + | - | | { | } | ( | ) | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | 4 | 5 | 6 | # | * | | F1 | F2 | F3 | F4 | F5 | F6 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| 7 | 8 | 9 | / | = | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | 0 | |Adjust| | | | RAISE| | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_RS] = LAYOUT_ortho_4x12(
- KC_COMM , KC_1 , KC_2 , KC_3 , KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, _______, _______,
- KC_DOT , KC_4 , KC_5 , KC_6 , KC_HASH, KC_ASTR, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 ,
- KC_LSFT , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_EQL , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______ , _______, KC_0 , _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | ! | @ | # | $ | % | | Home| PgDn| PgUp| End | ( | ) |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Vol+ | Mute | Play | | Ins | | Left| Down| Up | Right| { | } |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Vol- | < M | M > | | | | ^ | & | * | ' | [ | ] |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | |LOWER | | | Shift|Adjust| | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_LW] = LAYOUT_ortho_4x12(
- KC_GRV , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_HOME , KC_PGDN, KC_PGUP, KC_END , KC_LPRN, KC_RPRN,
- _______ , KC_VOLU, KC_MUTE, KC_MPLY, _______, KC_INS , KC_LEFT , KC_DOWN, KC_UP , KC_RIGHT, KC_LCBR, KC_RCBR,
- _______ , KC_VOLD, KC_MPRV, KC_MNXT, _______, _______, KC_CIRC , KC_AMPR, KC_ASTR, KC_QUOT , KC_LBRC, KC_RBRC ,
- _______ , _______, _______, _______, _______, _______, KC_LSFT , _______, _______, _______ , _______, _______
- ),
-
-/* Adjust
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Reset| | Up | | | Rec1 | | Rec2 | Plain| Snake|Gradnt| | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Caps | Left | Down | Right|MkItPk| Play1| | Play2| RGB | HUE+ | SAT+ | BRI+ | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | Stop1| | Stop2| MODE | HUE- | SAT- | BRI- | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_AD] = LAYOUT_ortho_4x12(
- QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DM_REC1, DM_REC2, RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, MKITPNK, DM_PLY1, DM_PLY2, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_RSTP, DM_RSTP, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-void make_it_pink_blue(void) {
- uint16_t blue_hue = 210;
- uint16_t pink_hue = 315;
-
- /* key is pressed */
- uint16_t hue = rgblight_get_hue();
- uint8_t sat = rgblight_get_sat();
- uint8_t val = rgblight_get_val();
-
- if (hue != blue_hue)
- rgblight_sethsv(blue_hue, sat, val);
- else
- rgblight_sethsv(pink_hue, sat, val);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QW);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LW);
- update_tri_layer(_LW, _RS, _AD);
- } else {
- layer_off(_LW);
- update_tri_layer(_LW, _RS, _AD);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RS);
- update_tri_layer(_LW, _RS, _AD);
- } else {
- layer_off(_RS);
- update_tri_layer(_LW, _RS, _AD);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_AD);
- } else {
- layer_off(_AD);
- }
- return false;
- break;
- case MKITPNK:
- if (record->event.pressed)
- make_it_pink_blue();
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk b/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk
deleted file mode 100644
index d9c186d427..0000000000
--- a/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE=yes
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-DYNAMIC_MACRO_ENABLE=yes
diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/README.md b/keyboards/keebio/levinson/keymaps/mmacdougall/README.md
deleted file mode 100644
index bae8c8a4b8..0000000000
--- a/keyboards/keebio/levinson/keymaps/mmacdougall/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-mmacdougall's Levinson Layout
-============================
-
-Similar to default layout, however RGB & backlight controls are mapped to adjust layer
-
-## Layouts
-
-### Adjust (Lower + Raise)
-
-```
-/* Adjust (Lower + Raise)
- ,-----------------------------------------------------------------------------------.
- | | Reset| | | | | | | | | | Del |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- |B Step|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------'
-```
diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/config.h b/keyboards/keebio/levinson/keymaps/mmacdougall/config.h
deleted file mode 100644
index 3cfb5587bd..0000000000
--- a/keyboards/keebio/levinson/keymaps/mmacdougall/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c b/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c
deleted file mode 100644
index eb4fc10674..0000000000
--- a/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c
+++ /dev/null
@@ -1,197 +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 _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * |B Step|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- BL_STEP, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-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
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- 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;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/rules.mk b/keyboards/keebio/levinson/keymaps/mmacdougall/rules.mk
deleted file mode 100644
index d7463419b4..0000000000
--- a/keyboards/keebio/levinson/keymaps/mmacdougall/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-BACKLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/levinson/keymaps/treadwell/config.h b/keyboards/keebio/levinson/keymaps/treadwell/config.h
deleted file mode 100644
index 6965a1251b..0000000000
--- a/keyboards/keebio/levinson/keymaps/treadwell/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define TAPPING_TERM 150
-
-/* default layer sounds */
-#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(GAME_SOUND), \
- SONG(COLEMAK_SOUND) \
- }
-
-//#undef RGBLED_NUM
-//#define RGBLED_NUM 12
-//#define RGBLIGHT_HUE_STEP 8
-//#define RGBLIGHT_SAT_STEP 8
-//#define RGBLIGHT_VAL_STEP 8
-
-#endif
diff --git a/keyboards/keebio/levinson/keymaps/treadwell/keymap.c b/keyboards/keebio/levinson/keymaps/treadwell/keymap.c
deleted file mode 100644
index 85db1696cd..0000000000
--- a/keyboards/keebio/levinson/keymaps/treadwell/keymap.c
+++ /dev/null
@@ -1,175 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _GAME 2
-#define _NUMB 3
-#define _CODE 4
-#define _SYS 5
-#define _FN4 6
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- GAME,
- NUMB,
- CODE,
- SYS,
- FN4,
- ADJUST,
-};
-
-#define KC_X1 CODE
-#define KC_X2 NUMB
-#define KC_X3 MO(_SYS)
-#define KC_X4 MT(MOD_LSFT, KC_ENT)
-
-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,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_X4 ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_X3 ,KC_LCTL,KC_LALT,KC_LGUI, KC_X1 ,KC_LALT, KC_SPC , KC_X2 ,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,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- 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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_X4 ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_X3 ,KC_LCTL,KC_LALT,KC_LGUI, KC_X1 ,KC_LALT, KC_SPC , KC_X2 ,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT
- //`----+----+----+----+----+----' `----+----+----+----+----+----'
- ),
-
- [_GAME] = 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,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- 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_UP ,KC_ENT ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_LCTL, KC_X3 ,KC_LGUI,KC_LALT,KC_SPC , KC_X2 , KC_BSPC, KC_X1 ,KC_SLSH,KC_LEFT,KC_DOWN,KC_RGHT
- //`----+----+----+----+----+----' `----+----+----+----+----+----'
- ),
-
- [_NUMB] = 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_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_UNDS,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- _______,_______,KC_MPRV,KC_MNXT,KC_MPLY,_______, _______,KC_VOLD,KC_VOLU,KC_MUTE,_______,_______,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- _______,_______,_______,_______,_______,KC_LALT, _______,_______,_______,_______,_______,_______
- //`----+----+----+----+----+----' `----+----+----+----+----+----'
- ),
-
- [_CODE] = LAYOUT(
- //,----+------+----+----+----+----. ,----+----+----+----+----+----.
- KC_ESC , _______,_______, KC_UP ,_______,_______, KC_PGUP,KC_HOME,KC_LPRN,KC_RPRN,KC_BSLS,KC_PIPE,
- //|----+------+----+----+----+----| |----+----+----+----+----+----|
- KC_CAPS,KC_SELECT,KC_LEFT,KC_DOWN,KC_RGHT,KC_DEL , KC_PGDN, KC_END,KC_LBRC,KC_RBRC,KC_MINS,KC_UNDS,
- //|----+------+----+----+----+----| |----+----+----+----+----+----|
- KC_LSFT, KC_UNDO ,KC_CUT ,KC_COPY,KC_PASTE, _______, KC_LEFT,KC_RGHT,KC_LCBR,KC_RCBR,KC_PLUS, KC_EQL,
- //|----+------+----+----+----+----| |----+----+----+----+----+----|
- _______, _______,_______,_______,_______,KC_LALT, _______,_______,_______,_______,_______,_______
- //`----+------+----+----+----+----' `----+----+----+----+----+----'
- ),
-
- [_SYS] = LAYOUT(
- //,----+----+----+----+----+----. ,----+----+----+----+----+----.
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______
- //`----+----+----+----+----+----' `----+----+----+----+----+----'
- ),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, GAME , _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-
-};
-
-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 GAME:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_GAME);
- }
- return false;
- break;
- case NUMB:
- if (record->event.pressed) {
- layer_on(_NUMB);
- update_tri_layer(_NUMB, _CODE, _ADJUST);
- } else {
- layer_off(_NUMB);
- update_tri_layer(_NUMB, _CODE, _ADJUST);
- }
- return false;
- break;
- case CODE:
- if (record->event.pressed) {
- layer_on(_CODE);
- update_tri_layer(_NUMB, _CODE, _ADJUST);
- } else {
- layer_off(_CODE);
- update_tri_layer(_NUMB, _CODE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/levinson/keymaps/treadwell/rules.mk b/keyboards/keebio/levinson/keymaps/treadwell/rules.mk
deleted file mode 100644
index 1d2d9e5a9c..0000000000
--- a/keyboards/keebio/levinson/keymaps/treadwell/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = no
-BACKLIGHT_ENABLE = no
diff --git a/keyboards/keebio/nyquist/keymaps/bwprobably/config.h b/keyboards/keebio/nyquist/keymaps/bwprobably/config.h
deleted file mode 100644
index 51befaac14..0000000000
--- a/keyboards/keebio/nyquist/keymaps/bwprobably/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USE_I2C
-
-/* Select hand configuration */
-#define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/nyquist/keymaps/bwprobably/keymap.c b/keyboards/keebio/nyquist/keymaps/bwprobably/keymap.c
deleted file mode 100644
index 29f711dd7c..0000000000
--- a/keyboards/keebio/nyquist/keymaps/bwprobably/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2022 bwprobably
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-
-enum custom_layer {
- _LAYER0,
- _LAYER1,
- _LAYER2,
- _LAYER3,
-};
-
-enum custom_keycodes {
- LAYER0 = SAFE_RANGE,
- LAYER1,
- LAYER2,
- LAYER3,
-};
-
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_LAYER0] = LAYOUT(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, LT(3,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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, KC_DEL, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
-
-[_LAYER1] = LAYOUT(KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TAB, KC_Q, KC_UP, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_CALC, KC_HOME, KC_ESC, KC_LEFT, KC_DOWN, KC_RGHT, KC_T, KC_D, KC_H, KC_N, KC_TRNS, KC_I, KC_MUTE, KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_MNXT, KC_MPLY, KC_VOLU, KC_PGDN, MO(3), KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_MPRV, KC_MSTP, KC_VOLD, KC_END),
-
-[_LAYER2] = 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_TRNS, KC_RCBR, KC_PIPE, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LSFT(KC_NUHS), LSFT(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_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
-
-[_LAYER3] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_NO, KC_TRNS, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, KC_NO, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_DEL, KC_TRNS, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP, AG_NORM, KC_NO, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_PEQL, 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_TRNS)
-
-};
diff --git a/keyboards/keebio/nyquist/keymaps/bwprobably/rules.mk b/keyboards/keebio/nyquist/keymaps/bwprobably/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/keebio/nyquist/keymaps/bwprobably/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri/config.h b/keyboards/keebio/nyquist/keymaps/georgepetri/config.h
deleted file mode 100644
index 3274bb60fd..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#undef RGBLED_NUM
-#define RGBLED_NUM 12
-#define RGBLIGHT_LAYERS
-
-#define TAPPING_TOGGLE 2
-#define TAPPING_TERM 150
-#undef RGBLED_SPLIT
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri/keymap.c b/keyboards/keebio/nyquist/keymaps/georgepetri/keymap.c
deleted file mode 100644
index bd11a5ec81..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri/keymap.c
+++ /dev/null
@@ -1,106 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BASE 0
-#define _L 1
-#define _R 2
-
-#define KC_TL LCTL(KC_PGUP)
-#define KC_TR LCTL(KC_PGDN)
-#define KC_TC LCTL(KC_W)
-#define KC_TRO LCTL(LSFT(KC_T))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = 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_CAPS, KC_LCTL, KC_LGUI, KC_LALT, MO(_L) , KC_SPC , KC_RSFT, TT(_R) , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_L] = 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_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_R] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_TL , KC_TR , KC_TC , KC_TRO , _______, _______, KC_TL , KC_TR , KC_TC , KC_TRO , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______, _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
-
-const rgblight_segment_t PROGMEM left[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 12, HSV_MAGENTA}
-);
-
-const rgblight_segment_t PROGMEM right[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 12, HSV_RED}
-);
-
-const rgblight_segment_t PROGMEM capslock[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_GOLD},
- {6, 3, HSV_GOLD}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(left, right, capslock);
-
-void keyboard_post_init_user(void) {
- rgblight_sethsv_noeeprom(HSV_SPRINGGREEN);
- rgblight_layers = rgb_layers;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _L));
- rgblight_set_layer_state(1, layer_state_cmp(state, _R));
- return state;
-}
-
-void suspend_power_down_user(void) {
- rgblight_disable();
-}
-
-void suspend_wakeup_init_user(void) {
- rgblight_enable();
-}
-
-bool is_shift_pressed = false;
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(2, is_shift_pressed != led_state.caps_lock);
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case KC_LSFT:
- case KC_RSFT:
- is_shift_pressed = record->event.pressed;
- rgblight_set_layer_state(2, is_shift_pressed != host_keyboard_led_state().caps_lock);
- default:
- return true;
- }
-}
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri/readme.md b/keyboards/keebio/nyquist/keymaps/georgepetri/readme.md
deleted file mode 100644
index 5d1855e933..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri/readme.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# George Petri's Nyquist layout
-
-```
-sudo make keebio/nyquist/rev2:georgepetri:dfu
-```
-
-Features a dedicated navigation layer on rise and current layer status on rgb underglow.
-
-### Base Layer
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ BSPC │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ DEL │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ ESC │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ SCLN│ QUOT │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ LSFT│ Z │ X │ C │ V │ B │ │ N │ M │ COMM│ DOT │ SLSH│ ENT │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ CAPS│ LCTL│ LGUI │ LALT │MO(_L)│ SPC │ │ RSFT│MO(_R)│ LEFT│ DOWN│ UP │ RGHT │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Lower
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ F11 │ F12 │ │ │ │ │ │ MINS│ EQL │ LBRC│ RBRC│ BSLS │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ LEFT│ DOWN│ UP │ RGHT│ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ PGDN│ PGUP │ HOME│ END │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Rise
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ TAB_L│ TAB_R│ TAB_C│ TAB_R│ │ │ │ TAB_L│ TAB_R│ TAB_C│ TAB_R│ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ LEFT│ DOWN│ UP │ RGHT│ │ │ LEFT│ DOWN│ UP │ RGHT│ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ PGDN│ PGUP│ HOME│ END │ │ │ │ PGDN│ PGUP│ HOME│ END │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri/rules.mk b/keyboards/keebio/nyquist/keymaps/georgepetri/rules.mk
deleted file mode 100644
index 072f9b2edc..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-MOUSEKEY_ENABLE = no
-COMMAND_ENABLE = no
-RGBLIGHT_ENABLE = yes
-LTO_ENABLE = yes
-DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri3/config.h b/keyboards/keebio/nyquist/keymaps/georgepetri3/config.h
deleted file mode 100644
index 2e84fa0d53..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri3/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGBLIGHT_LAYERS
-
-#define TAPPING_TOGGLE 2
-#define TAPPING_TERM 150
-
-#define USE_I2C
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c b/keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c
deleted file mode 100644
index a20c0d9351..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c
+++ /dev/null
@@ -1,106 +0,0 @@
-#include QMK_KEYBOARD_H
-#define _BASE 0
-#define _L 1
-#define _R 2
-
-#define KC_TL LCTL(KC_PGUP)
-#define KC_TR LCTL(KC_PGDN)
-#define KC_TC LCTL(KC_W)
-#define KC_TRO LCTL(LSFT(KC_T))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = 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_CAPS, KC_LCTL, KC_LGUI, KC_LALT, MO(_L) , KC_SPC , KC_RSFT, TT(_R) , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_L] = 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_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_R] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_TL , KC_TR , KC_TC , KC_TRO , _______, _______, KC_TL , KC_TR , KC_TC , KC_TRO , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______, _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
-//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
-
-const rgblight_segment_t PROGMEM left[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 12, HSV_SPRINGGREEN}
-);
-
-const rgblight_segment_t PROGMEM right[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 12, HSV_RED}
-);
-
-const rgblight_segment_t PROGMEM capslock[] = RGBLIGHT_LAYER_SEGMENTS(
- {2, 3, HSV_GOLD},
- {6, 1, HSV_GOLD},
- {11, 1, HSV_GOLD}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(left, right, capslock);
-
-void keyboard_post_init_user(void) {
- rgblight_sethsv_noeeprom(HSV_BLUE);
- rgblight_layers = rgb_layers;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _L));
- rgblight_set_layer_state(1, layer_state_cmp(state, _R));
- return state;
-}
-
-void suspend_power_down_user(void) {
- rgblight_disable();
-}
-
-void suspend_wakeup_init_user(void) {
- rgblight_enable();
-}
-
-bool is_shift_pressed = false;
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(2, is_shift_pressed != led_state.caps_lock);
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case KC_LSFT:
- case KC_RSFT:
- is_shift_pressed = record->event.pressed;
- rgblight_set_layer_state(2, is_shift_pressed != host_keyboard_led_state().caps_lock);
- default:
- return true;
- }
-}
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri3/readme.md b/keyboards/keebio/nyquist/keymaps/georgepetri3/readme.md
deleted file mode 100644
index db4af6b314..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri3/readme.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# George Petri's Nyquist rev3 layout
-
-```
-sudo make keebio/nyquist/rev3:georgepetri3:dfu
-```
-
-Features a dedicated navigation layer on rise and current layer status on rgb underglow.
-
-### Base Layer
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ BSPC │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ DEL │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ ESC │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ SCLN│ QUOT │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ LSFT│ Z │ X │ C │ V │ B │ │ N │ M │ COMM│ DOT │ SLSH│ ENT │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ CAPS│ LCTL│ LGUI │ LALT │MO(_L)│ SPC │ │ RSFT│MO(_R)│ LEFT│ DOWN│ UP │ RGHT │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Lower
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ F11 │ F12 │ │ │ │ │ │ MINS│ EQL │ LBRC│ RBRC│ BSLS │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ LEFT│ DOWN│ UP │ RGHT│ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ PGDN│ PGUP │ HOME│ END │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Rise
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ TAB_L│ TAB_R│ TAB_C│ TAB_R│ │ │ │ TAB_L│ TAB_R│ TAB_C│ TAB_R│ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ LEFT│ DOWN│ UP │ RGHT│ │ │ LEFT│ DOWN│ UP │ RGHT│ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ PGDN│ PGUP│ HOME│ END │ │ │ │ PGDN│ PGUP│ HOME│ END │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
diff --git a/keyboards/keebio/nyquist/keymaps/georgepetri3/rules.mk b/keyboards/keebio/nyquist/keymaps/georgepetri3/rules.mk
deleted file mode 100644
index 072f9b2edc..0000000000
--- a/keyboards/keebio/nyquist/keymaps/georgepetri3/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-MOUSEKEY_ENABLE = no
-COMMAND_ENABLE = no
-RGBLIGHT_ENABLE = yes
-LTO_ENABLE = yes
-DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/keebio/nyquist/keymaps/jojiichan/config.h b/keyboards/keebio/nyquist/keymaps/jojiichan/config.h
deleted file mode 100644
index f5922f93bc..0000000000
--- a/keyboards/keebio/nyquist/keymaps/jojiichan/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-#endif
diff --git a/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c b/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c
deleted file mode 100644
index 537d5cf2e4..0000000000
--- a/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- 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_CAPS, 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, TG(4), MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN),
-
- 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_PAUS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN),
-
- 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_TILD, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PIPE,
- KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, 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),
-
- LAYOUT(
- LALT(KC_F4), LSFT(KC_EXLM), LSFT(KC_AT), LSFT(KC_HASH), LSFT(KC_DLR), LSFT(KC_PERC), LSFT(KC_CIRC), LSFT(KC_AMPR), LSFT(KC_ASTR), LSFT(KC_LPRN), LSFT(KC_RPRN), LSFT(KC_DEL),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_COLN), LSFT(KC_DQUO),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LABK), LSFT(KC_RABK), LSFT(KC_QUES), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- LAYOUT(
- KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_PGDN, KC_SLSH, KC_ASTR, KC_MINS,
- KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_O, KC_7, KC_8, KC_9, KC_PLUS,
- KC_TRNS, KC_A, KC_S, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_PLUS,
- KC_LSFT, KC_TRNS, KC_X, KC_C, KC_TRNS, KC_TRNS, KC_N, KC_TRNS, KC_1, KC_2, KC_3, KC_ENT,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_0, KC_0, KC_DOT, KC_ENT)
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
diff --git a/keyboards/keebio/nyquist/keymaps/jojiichan/rules.mk b/keyboards/keebio/nyquist/keymaps/jojiichan/rules.mk
deleted file mode 100644
index a81250cdf6..0000000000
--- a/keyboards/keebio/nyquist/keymaps/jojiichan/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/keebio/nyquist/keymaps/pipicanim/README.md b/keyboards/keebio/nyquist/keymaps/pipicanim/README.md
deleted file mode 100644
index 8104213913..0000000000
--- a/keyboards/keebio/nyquist/keymaps/pipicanim/README.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# pipicanim's Nyquist layout
-
-```
-make keebio/nyquist/rev3:pipicanim
-```
-
-## Layers
-+ Lower -> Layer 2
-+ Raise -> Layer 1
-+ Code -> Layer 3
-
-### Base
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│TAB │Q │W │E │R │T │ │Y │U │I │O │P │BCKPC │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ESC │A │S │D │F │G │ │H │J │K │L │; │' │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│SHIFT │Z │X │C │V │B │ │N │M │, │. │/ │ENTER │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│CTRL |SUPER │MO(3) │ALT │MO(2) │SPACE │ │SPACE │MO(1) │ALT │MO(3) │SUPER │CTRL │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Lower, Numbers/Special Characters and Navigation
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│` │1 │2 │3 │4 │ │ │ │PGUP │UP │PGDOWN│( │) │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │5 │6 │7 │8 │ │ │HOME │LEFT │DOWN │RIGHT │[ │] │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │9 │0 │- │= │ │ │END │ │ │ │\ │| │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Raise, F buttons
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│CAPS │ │PRSRC │SCLOCK│PAUSE │ │ │ │F1 │F2 │F3 │F4 │DEL │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │INSERT│HOME │PGUP │ │ │ │F5 │F6 │F7 │F8 │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │DEL │END │PGDOWN│ │ │ │F9 │F10 │F11 │F12 │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
-
-### Code, RGB and media controls.
-
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┠┌──────┬──────┬──────┬──────┬──────┬──────â”
-│RGBTOG│RGBM+ │RGBM- │ │ │ │ | │ │ │ │ │RESET │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│HUE+ │SAT+ │BRGHT+│EFCT+ │ │ │ │ │PREV │PLAY │NEXT │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│HUE- │SAT- │BRGHT-│EFCT │ │ │ | │MUTE │VOL- │VOL+ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-```
diff --git a/keyboards/keebio/nyquist/keymaps/pipicanim/config.h b/keyboards/keebio/nyquist/keymaps/pipicanim/config.h
deleted file mode 100644
index 81fc2cf5fe..0000000000
--- a/keyboards/keebio/nyquist/keymaps/pipicanim/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define USE_I2C
-
-/* Select hand configuration */
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c b/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c
deleted file mode 100644
index 813fde36ce..0000000000
--- a/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x12(
- KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSPC,
- KC_ESC,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,
- KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_ENT,
- KC_LCTL,KC_LGUI,MO(3),KC_LALT,MO(2),KC_SPC,KC_SPC,MO(1),KC_LALT,MO(3),KC_RGUI,KC_RCTL
- ),
- [1] = LAYOUT_ortho_4x12(
- KC_GRV,KC_1,KC_2,KC_3,KC_4,KC_TRNS,KC_TRNS,KC_PGUP,KC_UP,KC_PGDN,KC_LPRN,KC_RPRN,
- KC_TRNS,KC_5,KC_6,KC_7,KC_8,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_LBRC,KC_RBRC,
- KC_TRNS,KC_9,KC_0,KC_MINS,KC_EQL,KC_TRNS,KC_END,KC_TRNS,KC_TRNS,KC_TRNS,KC_BSLS,KC_PIPE,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
- ),
- [2] = LAYOUT_ortho_4x12(
- KC_CAPS,KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS,KC_F1,KC_F2,KC_F3,KC_F4,KC_DEL,
- KC_TRNS,KC_TRNS,KC_INS,KC_HOME,KC_PGUP,KC_TRNS,KC_TRNS,KC_F5,KC_F6,KC_F7,KC_F8,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_DEL,KC_END,KC_PGDN,KC_TRNS,KC_TRNS,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
- ),
- [3] = LAYOUT_ortho_4x12(
- RGB_TOG,RGB_MOD,RGB_RMOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,QK_BOOT,
- RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MPLY,KC_MNXT,KC_TRNS,KC_TRNS,
- RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
- )
-};
-
diff --git a/keyboards/keebio/nyquist/keymaps/pipicanim/rules.mk b/keyboards/keebio/nyquist/keymaps/pipicanim/rules.mk
deleted file mode 100644
index 7ad666d1a3..0000000000
--- a/keyboards/keebio/nyquist/keymaps/pipicanim/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h b/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h
deleted file mode 100644
index 45494b60d2..0000000000
--- a/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-// Mouse specific settings
-#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 6
-#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c b/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
deleted file mode 100644
index 28b6b58114..0000000000
--- a/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
+++ /dev/null
@@ -1,156 +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 _MIDI 3
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- MIDI,
- ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------| |-------------------------------------------.
- * | GEsc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del |
- * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / | Enter |
- * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
- * | Ctrl |Adjust| GUI | Alt |Lower |Space | | Space |Raise | Left | Up | Down | Right |
- * `-----------------------------------------| |-------------------------------------------|
- */
-
-[_QWERTY] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, MO(_ADJUST), KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------| |------------------------------------------.
- * | ` | F1 | F2 | F3 | | | | - | = | ( | ) | | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+-------|
- * | ~ | F4 | F5 | F6 | | | | & | * | { | } | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+-------|
- * | Del | F7 | F8 | F9 | | | | _ | + | [ | ] | | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+-------|
- * | | F10 | F11 | F12 | | | | | | | F5 | Up | Enter |
- * |------+------+------+------+------+------| |------+------+------+------+------+-------|
- * | | | | | | Home | | End | | | Left | Down | Right |
- * `-----------------------------------------| |------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, _______, _______, KC_MINS, KC_EQL, _______, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_F4, KC_F5, KC_F6, _______, _______, KC_AMPR, KC_ASTR, _______, KC_LCBR, KC_RCBR, KC_DEL,
- KC_DEL, KC_F7, KC_F8, KC_F9, _______, _______, KC_UNDS, KC_PLUS, _______, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_F5, KC_UP, _______,
- _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT
-),
-
-/* Raise
- * ,-----------------------------------------| |-----------------------------------------.
- * | Back | m0 | m1 | m2 | | | | | 7 | 8 | 9 | - | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | For | sD | mU | sU | | | | | 4 | 5 | 6 | + | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | mL | mD | mR | | | | | 1 | 2 | 3 | * | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | 0 | mB1 | mB1 | mB2 | | | | 0 | . | = | / |Enter |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | MIDI | | | | | | | | | Mute | Vol- | Vol+ | Play |
- * `-----------------------------------------| |-----------------------------------------'
- */
-[_RAISE] = LAYOUT(
- LALT(KC_LEFT), KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, KC_7, KC_8, KC_9, KC_MINS, KC_BSPC,
- LALT(KC_RIGHT), KC_MS_WH_DOWN, KC_MS_UP, KC_MS_WH_UP, _______, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_DEL,
- KC_DEL, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, _______, KC_1, KC_2, KC_3, KC_ASTR, KC_BSLS,
- _______, KC_P0, KC_MS_BTN1, KC_MS_BTN1, KC_MS_BTN2, _______, _______, KC_0, KC_DOT, KC_EQL, KC_SLSH, _______,
- MO(_MIDI), _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/*
- * MIDI
- */
-
-[_MIDI] = LAYOUT(
- QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_C2, MI_C3, QWERTY,
- MI_A3, MI_As3, MI_B3, MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3,
- MI_A2, MI_As2, MI_B2, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2,
- MI_A1, MI_As1, MI_B1, MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1,
- MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs
-),
-
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------| |-----------------------------------------.
- * |QWERTY| F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn| |Sat Up| 7 | 8 | 9 | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm| |AGswap| 6 | 5 | 4 | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | [ | | ] | 1 | 2 | 3 | | |
- * |------+------+------+------+------+------+ |------+------+------+------+------+------|
- * | | | | | | { | | } | 0 | . | | | |
- * `-----------------------------------------| |-----------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- QWERTY, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, KC_7, KC_8, KC_9, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_6, KC_5, KC_4, _______, _______,
- _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, _______, _______,
- _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_0, KC_DOT, _______, _______, _______
-)
-
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(1UL<<_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;
- }
- return true;
-}
diff --git a/keyboards/keebio/nyquist/keymaps/shovelpaw/rules.mk b/keyboards/keebio/nyquist/keymaps/shovelpaw/rules.mk
deleted file mode 100644
index 44ca075c34..0000000000
--- a/keyboards/keebio/nyquist/keymaps/shovelpaw/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = yes
-MIDI_ENABLE = yes # MIDI support (+2400 to 4200, depending on config)
-
diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h
index 501e4edaf7..37b015f821 100644
--- a/keyboards/keebio/nyquist/rev4/config.h
+++ b/keyboards/keebio/nyquist/rev4/config.h
@@ -4,19 +4,17 @@
#pragma once
#define SPLIT_HAND_PIN GP23
+
#define USB_VBUS_PIN GP18
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP8
#define SERIAL_USART_RX_PIN GP9
#define SERIAL_USART_PIN_SWAP
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+
#define I2C_DRIVER I2CD0
#define I2C0_SDA_PIN GP4
#define I2C0_SCL_PIN GP5
-
-// RGB Matrix
-#define RGB_MATRIX_LED_COUNT 72
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keebio/nyquist/rev4/info.json b/keyboards/keebio/nyquist/rev4/info.json
index 043bb02f01..804d1aa5d4 100644
--- a/keyboards/keebio/nyquist/rev4/info.json
+++ b/keyboards/keebio/nyquist/rev4/info.json
@@ -312,6 +312,7 @@
{ "flags": 4, "matrix": [9, 3], "x": 177, "y": 57 },
{ "flags": 4, "matrix": [9, 4], "x": 196, "y": 57 },
{ "flags": 4, "matrix": [9, 5], "x": 214, "y": 57 }
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keebio/nyquistpad/config.h b/keyboards/keebio/nyquistpad/config.h
index 82a64e39bf..8b36fb4f3a 100644
--- a/keyboards/keebio/nyquistpad/config.h
+++ b/keyboards/keebio/nyquistpad/config.h
@@ -5,9 +5,3 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
-
-// RGB Matrix
-#define RGB_MATRIX_LED_COUNT 36
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keebio/nyquistpad/info.json b/keyboards/keebio/nyquistpad/info.json
index d999482ef0..1999e9eaa8 100644
--- a/keyboards/keebio/nyquistpad/info.json
+++ b/keyboards/keebio/nyquistpad/info.json
@@ -196,6 +196,7 @@
{ "flags": 4, "matrix": [4, 3], "x": 130, "y": 57 },
{ "flags": 4, "matrix": [4, 4], "x": 192, "y": 57 },
{ "flags": 4, "matrix": [4, 5], "x": 210, "y": 57 }
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keebio/quefrency/keymaps/bfiedler/config.h b/keyboards/keebio/quefrency/keymaps/bfiedler/config.h
deleted file mode 100644
index 1751a65b2e..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bfiedler/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-Copyright 2021 Ben Fiedler <me@bfiedler.ch>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// https://docs.qmk.fm/#/tap_hold?id=tap-hold-configuration-options
-#define TAPPING_TERM 120
-//#define PERMISSIVE_HOLD
diff --git a/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c b/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c
deleted file mode 100644
index b2d51eb408..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2021 Ben Fiedler
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-#define KC_RST QK_BOOT
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum custom_layers {
- _BASE,
- _FN1,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- LGUI_T(KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LGUI_T(KC_ENT), KC_PGUP,
- KC_LSFT, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LCTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_LALT, KC_SPC, LT(_FN1, KC_ENT), KC_RALT, _______, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
- RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST
- )
-};
-// clang-format on
-
-// TODO: I don't even have a rotary encoder, do I need this?
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
diff --git a/keyboards/keebio/quefrency/keymaps/bfiedler/rules.mk b/keyboards/keebio/quefrency/keymaps/bfiedler/rules.mk
deleted file mode 100644
index f69cb0dfea..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bfiedler/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-# Saves a bit of space, and currently (04.03.2021) the
-# case is not see-through.
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/keebio/quefrency/keymaps/bjohnson/config.h b/keyboards/keebio/quefrency/keymaps/bjohnson/config.h
deleted file mode 100644
index 3e2c097853..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bjohnson/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_TERM 500
-
-#define PERMISSIVE_HOLD
-#define FORCE_NKRO
-#define RETRO_TAPPING
-
-#define TAPPING_TOGGLE 1
-
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-#define RGBLIGHT_SLEEP
diff --git a/keyboards/keebio/quefrency/keymaps/bjohnson/keymap.c b/keyboards/keebio/quefrency/keymaps/bjohnson/keymap.c
deleted file mode 100644
index 28bb0c66b7..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bjohnson/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65(
- 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, XXXXXXX, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_INS,
- KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1,KC_SPC),KC_SPC, KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, XXXXXXX, KC_APP, KC_RCTL, TT(_FN1)
- ),
-
- [_FN1] = LAYOUT_65(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_BSPC, KC_PGUP,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, KC_PGDN,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_P0, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______
- )
-};
diff --git a/keyboards/keebio/quefrency/keymaps/bjohnson/rules.mk b/keyboards/keebio/quefrency/keymaps/bjohnson/rules.mk
deleted file mode 100644
index 63121acd6b..0000000000
--- a/keyboards/keebio/quefrency/keymaps/bjohnson/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = 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 = yes # 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/keebio/quefrency/keymaps/default60/config.h b/keyboards/keebio/quefrency/keymaps/default60/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/default60/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/default65/config.h b/keyboards/keebio/quefrency/keymaps/default65/config.h
deleted file mode 100644
index 9aae0fdfc2..0000000000
--- a/keyboards/keebio/quefrency/keymaps/default65/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
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h b/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h
deleted file mode 100644
index 80a3cb877e..0000000000
--- a/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define USE_I2C
-#define EE_HANDS
-
-
-#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_SPLIT
- #undef RGBLED_NUM
- #define RGBLED_NUM 17
- #undef RGBLED_SPLIT
- #define RGBLED_SPLIT { 9, 8 }
- #define RGBLIGHT_SLEEP
-#endif
-
-#ifdef AUDIO_ENABLE
- #define AUDIO_PIN B7
- #define AUDIO_CLICKY
-#endif
diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c b/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c
deleted file mode 100644
index e0859e4f62..0000000000
--- a/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layers {
- _BASE,
- _FN1,
-};
-
-enum custom_keycodes {
- KC_MAKE = SAFE_RANGE,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65_with_macro(
- KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, KC_HOME,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65_with_macro(
- _______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, QK_BOOT,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
- if (!record->event.pressed)
- send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP ":dfu" SS_TAP(X_ENTER)), 10);
-
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk b/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk
deleted file mode 100644
index fb7f940c93..0000000000
--- a/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-LTO_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-AUDIO_ENABLE = yes
-BOOTLOADER = qmk-dfu
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/config.h b/keyboards/keebio/quefrency/keymaps/georgepetri/config.h
deleted file mode 100644
index fac62b97d6..0000000000
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#undef RGBLIGHT_EFFECT_BREATHING
-#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
-#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#undef RGBLIGHT_EFFECT_SNAKE
-#undef RGBLIGHT_EFFECT_KNIGHT
-#undef RGBLIGHT_EFFECT_CHRISTMAS
-#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
-#undef RGBLIGHT_EFFECT_RGB_TEST
-#undef RGBLIGHT_EFFECT_ALTERNATING
-#undef RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
deleted file mode 100644
index faa5a480e6..0000000000
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _BASE 0
-#define _L 1
-#define _R 2
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-#define KC_TL LCTL(KC_PGUP)
-#define KC_TR LCTL(KC_PGDN)
-#define KC_TC LCTL(KC_W)
-#define KC_TRO LCTL(LSFT(KC_T))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,KC_DEL ,KC_MINS ,KC_EQL ,KC_HOME,
-// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,KC_BSLS ,KC_END ,
-// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┠└─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,KC_ENT ,KC_PGUP ,
-// ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┠└─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT, _______ ,KC_PGDN ,
-// ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤ ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
- KC_CAPS ,KC_LCTL ,KC_LALT ,MO(_L) ,KC_SPC , KC_SPC ,_______ ,KC_LGUI ,TG(_R) ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
-// └──────────┴───────────┴──────────┴───────────┴────────────────────┘ └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_L] = LAYOUT_65(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,_______ ,_______ ,_______ ,KC_INS ,
-// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
- _______ ,KC_F11 ,KC_F12 ,_______ ,_______ ,_______ , _______ ,KC_MINS ,KC_EQL ,_______ ,_______ ,_______ ,_______ ,_______, KC_PAUS ,
-// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┠└─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,_______ ,_______ ,_______ ,_______ ,
-// ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┠└─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END ,_______ ,_______ ,_______ ,
-// ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤ ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
-// └──────────┴───────────┴──────────┴───────────┴────────────────────┘ └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_R] = LAYOUT_65(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
-// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
- _______ ,KC_TL ,KC_TR ,KC_TC ,KC_TRO ,_______ , _______ ,KC_TL , KC_TR , KC_TC , KC_TRO ,_______ ,_______ ,_______, _______ ,
-// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┠└─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
- _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,_______ , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,_______ ,_______ ,_______ ,_______ ,
-// ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┠└─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
- _______ ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END ,_______ , _______ ,KC_PGDN ,KC_PGUP ,KC_HOME ,KC_END ,_______ ,_______ ,_______ ,
-// ├──────────┬──────────┴┬───────┴──┬─────┴─────┬──┴────────┴────────┤ ├────────┴────────┴────┬───┴────┬───┴────┬───┴────┬────────┬────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
-// └──────────┴───────────┴──────────┴───────────┴────────────────────┘ └──────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
-
-void keyboard_post_init_user(void) {
- rgblight_sethsv_noeeprom(HSV_BLUE);
-}
-
-void update_led(void) {
- switch (get_highest_layer(layer_state)) {
- case _BASE:
- rgblight_sethsv_noeeprom(HSV_BLUE);
- break;
- case _L:
- rgblight_sethsv_noeeprom(HSV_CORAL);
- break;
- case _R:
- rgblight_sethsv_noeeprom(HSV_MAGENTA);
- break;
- }
- if (host_keyboard_led_state().caps_lock) {
- rgblight_sethsv_range(HSV_WHITE,0,4);
- rgblight_sethsv_range(HSV_WHITE,12,16);
- }
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- update_led();
- return state;
-}
-
-void led_set_user(uint8_t usb_led) {
- update_led();
-}
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/readme.md b/keyboards/keebio/quefrency/keymaps/georgepetri/readme.md
deleted file mode 100644
index bb4e75c27b..0000000000
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/readme.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# George Petri's Quefrency 65 layout
-
-```
-make keebio/quefrency/rev1:georgepetri
-```
-
-Querty layout with minor changes and dedicated navigation layer.
-
-### Base Layer
-```
-┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ GRV ││ 1 ││ 2 ││ 3 ││ 4 ││ 5 ││ 6 │ │ 7 ││ 8 ││ 9 ││ 0 ││ BSPC││ DEL ││ MINS││ EQL ││ HOME│
-└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-┌──────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────────â”┌──────â”
-│ TAB ││ Q ││ W ││ E ││ R ││ T │ │ Y ││ U ││ I ││ O ││ P ││ LBRC││ RBRC││ BSLS ││ END │
-└──────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────────┘└──────┘
-┌────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────â”┌──────â”
-│ ESC ││ A ││ S ││ D ││ F ││ G │ │ H ││ J ││ K ││ L ││ SCLN││ QUOT││ ENT ││ PGUP│
-└────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└────────────────┘└──────┘
-┌────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────────â”┌──────â”
-│ LSFT ││ Z ││ X ││ C ││ V ││ B │ │ N ││ M ││ COMM││ DOT ││ SLSH││ RSFT ││ PGDN│
-└────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└────────────────────┘└──────┘
-┌────────â”┌────────â”┌────────â”┌────────â”┌────────────────┠┌────────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ CAPS ││ LCTL ││ LALT ││MO(_L) ││ SPC │ │ SPC ││ LGUI││TG(_R)││ LEFT││ DOWN││ UP ││ RGHT│
-└────────┘└────────┘└────────┘└────────┘└────────────────┘ └────────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-```
-
-### Raise
-```
-┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ ││ F1 ││ F2 ││ F3 ││ F4 ││ F5 ││ F6 │ │ F7 ││ F8 ││ F9 ││ F10 ││ F11 ││ F12 ││ BSPC││ DEL ││ INS │
-└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-┌──────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────────â”┌──────â”
-│ ││ F1 ││ F12 ││ ││ ││ │ │ ││ MINS││ EQL ││ ││ ││ ││ ││ ││ PAUS│
-└──────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────────┘└──────┘
-┌────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────â”┌──────â”
-│ ││ ││ ││ ││ ││ │ │ LEFT││ DOWN││ UP ││ RGHT││ ││ ││ ││ │
-└────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└────────────────┘└──────┘
-┌────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────────â”┌──────â”
-│ ││ ││ ││ ││ ││ │ │ ││ PGDN││ PGUP││ HOME││ END ││ ││ │
-└────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└────────────────────┘└──────┘
-┌────────â”┌────────â”┌────────â”┌────────â”┌────────────────┠┌────────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ ││ ││ ││ ││ │ │ ││ ││ ││ ││ ││ ││ │
-└────────┘└────────┘└────────┘└────────┘└────────────────┘ └────────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-```
-
-### Lower
-```
-┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ ││ ││ ││ ││ ││ ││ │ │ ││ ││ ││ ││ ││ ││ ││ ││ │
-└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-┌──────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────────â”┌──────â”
-│ ││ TAB_L││ TAB_R││ TAB_C││ TAB_R││ │ │ ││ TAB_L││ TAB_R││ TAB_C││ TAB_R││ ││ ││ ││ │
-└──────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────────┘└──────┘
-┌────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────â”┌──────â”
-│ ││ LEFT││ DOWN││ UP ││ RGHT││ │ │ LEFT││ DOWN││ UP ││ RGHT││ ││ ││ ││ │
-└────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└──────┘└────────────────┘└──────┘
-┌────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────┠┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌────────────────────â”┌──────â”
-│ ││ PGDN││ PGUP││ HOME││ END ││ │ │ ││ PGDN││ PGUP││ HOME││ END ││ ││ │
-└────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘ └──────┘└──────┘└──────┘└──────┘└──────┘└────────────────────┘└──────┘
-┌────────â”┌────────â”┌────────â”┌────────â”┌────────────────┠┌────────────────────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”┌──────â”
-│ ││ ││ ││ ││ │ │ ││ ││ ││ ││ ││ ││ │
-└────────┘└────────┘└────────┘└────────┘└────────────────┘ └────────────────────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────┘
-```
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/rules.mk b/keyboards/keebio/quefrency/keymaps/georgepetri/rules.mk
deleted file mode 100644
index 5bc0b70454..0000000000
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-EXTRAKEY_ENABLE = no
diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/README.md b/keyboards/keebio/quefrency/keymaps/joestrong/README.md
deleted file mode 100644
index 717b9ecd54..0000000000
--- a/keyboards/keebio/quefrency/keymaps/joestrong/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# JoeStrong's Quefrency layout - 60% ISO
-
-* Standard UK ISO qwerty layout
-* Function key in place of Caps Lock
-* Function layer provides vim-like arrows and various function keys
-
-## Default layer
-
-![Default layer layout](https://i.imgur.com/HXeKSGN.png)
-
-([KLE](http://www.keyboard-layout-editor.com/#/gists/f606625fbc4b84a0e9f82fff308aad29))
-
-## Function layer
-
-![Function layer layout](https://i.imgur.com/cVKl9tB.png)
-
-([KLE](http://www.keyboard-layout-editor.com/#/gists/b75402b2838f36e319f1c0a7fef07dd6))
diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/config.h b/keyboards/keebio/quefrency/keymaps/joestrong/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/joestrong/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/keymap.c b/keyboards/keebio/quefrency/keymaps/joestrong/keymap.c
deleted file mode 100644
index 3ed4718c30..0000000000
--- a/keyboards/keebio/quefrency/keymaps/joestrong/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2020 Joseph Strong
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap_uk.h"
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_iso(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC,
- KC_TAB, 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(_FN1),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, UK_BSLS, 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, MO(_FN1), KC_LALT, KC_SPC, _______, KC_SPC, KC_RALT, MO(_FN1), _______, KC_LGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_60_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______,
- _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h b/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h
deleted file mode 100644
index f636c95454..0000000000
--- a/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USB_MAX_POWER_CONSUMPTION 50
-
-
-// #define USB_MAX_POWER_CONSUMPTION 100
diff --git a/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c b/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c
deleted file mode 100644
index 72197c0956..0000000000
--- a/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1
-};
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┠┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │BSLS │ DEL │
- * ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┘ ┌──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┤
- * │TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │BSPC │
- * ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┠└┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┤
- * │CAPS │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ENTER │
- * ├─────────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┠└──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴───────┬─────┤
- * │LSHFT │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │RSHFT │ UP │
- * ├──────┬─────┴─┬───┴──┬──┴─────┴────┬┴─────┤ ├─────┴┬────┴────┬┴────┬┴────┬┴────┬─────┼─────┤
- * │LCTRL │L_GUI │L_ALT │SPC │FN1 │ │SPC │BSPC │R_ALT│R_CTR│LEFT │DOWN │RIGHT│
- * └──────┴───────┴──────┴─────────────┴──────┘ └──────┴─────────┴─────┴─────┴─────┴─────┴─────┘
- */
- [_BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_CAPS, KC_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, MO(_FN1), KC_BSPC, KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_RGHT, KC_DOWN
- ),
-
- [_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_DEL, KC_BSPC,
- _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-
- )
-};
diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h
deleted file mode 100644
index 0eefd14dfe..0000000000
--- a/keyboards/keebio/quefrency/keymaps/rogthefrog/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
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-Copyright 2021 Roger Billerey-Mosier
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c b/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c
deleted file mode 100644
index 0cc0cfe2b4..0000000000
--- a/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright 2021 Roger Billerey-Mosier
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum layers {
- _BASE,
- _FN1,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65(
- KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN1), KC_SPC, KC_NO, LCTL(KC_C), LCTL(KC_V), KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT_65(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MUTE, KC_MPRV, KC_VOLD, KC_MNXT
- )
-};
diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/keymap.c b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/keymap.c
deleted file mode 100644
index 33148927a1..0000000000
--- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/keymap.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Keymap _BL: (Base Layer) Default Layer
- * +-------------------------------------------------------------------------+
- * | 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 |
- * +-------------------------------------------------------------------------+
- * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | SHIFT | FN |
- * +-------------------------------------------------------------------------+
- * |LALT|LMETA|RCTRL| SPACE | FN | SPACE | RALT| MENU| RWIN|RCTRL|
- * +-------------------------------------------------------------------------+
- */
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(_FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LALT, KC_LGUI, KC_LCTL, KC_SPC, MO(_FN1), KC_SPC, _______, KC_RALT, KC_APP, _______, KC_RGUI, KC_RCTL
- ),
-
- /* Keymap _FL: Function Layer
- * ,-----------------------------------------------------------.
- * | ~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| DEL |
- * |-----------------------------------------------------------|
- * | | | UP| | MSL|MSD|MSU|MSR| | |PRT|PGD|PGU|PAUS |
- * |-----------------------------------------------------------|
- * | | LE| DN| RE| | | LE| DN| UP| RE| | | |
- * |-----------------------------------------------------------|
- * | |HOM|END| | |PRE|NXT|MUT|VOD|VOU| /|Shift | FN|
- * |-----------------------------------------------------------|
- * | | | | | PLAY | PLAY | | | | |
- * `-----------------------------------------------------------'
- */
-
- [_FN1] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, KC_UP, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, KC_PSCR, KC_PGUP, KC_PGDN, KC_PAUS,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
- _______, KC_HOME, KC_END, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
- _______, _______, _______, KC_MPLY, _______, KC_MPLY, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/readme.md b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/readme.md
deleted file mode 100644
index a8d0efed0c..0000000000
--- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## UNAUSGESCHLAFEN'S QUEFRENCY
-
-This is the keymap that goes with [unausgeschlafen's Quefrency](https://www.reddit.com/r/MechanicalKeyboards/comments/aquefb/my_daily_driver_quefrency/)
-
-If you are using Ardoinos, comment this line in `rules.mk`:
-```make
-BOOTLOADER = atmel-dfu # comment this line if you use arduinos
-```
-
-Although QMK offers one-shot build and flash, I personally build and flash separately (for the Elite C).
-I used the QMK default for the Arduino Pro Micros.
-However, I do not own them anymore.
-Hence, only the instructions for the Elite C are provided.
-
-Build with:
-```sh
-make keebio/quefrency:unausgeschlafen
-```
-
-Flash with:
-
-```sh
-sudo dfu-programmer atmega32u4 erase
-sudo dfu-programmer atmega32u4 flash keebio_quefrency_rev1_unausgeschlafen.hex
-sudo dfu-programmer atmega32u4 reset
-```
diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/rules.mk b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/rules.mk
deleted file mode 100644
index 98956243cd..0000000000
--- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BOOTLOADER = atmel-dfu # comment this line if you use arduinos
diff --git a/keyboards/keebio/quefrency/keymaps/yoryer/config.h b/keyboards/keebio/quefrency/keymaps/yoryer/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/yoryer/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/yoryer/keymap.c b/keyboards/keebio/quefrency/keymaps/yoryer/keymap.c
deleted file mode 100644
index 47775ff175..0000000000
--- a/keyboards/keebio/quefrency/keymaps/yoryer/keymap.c
+++ /dev/null
@@ -1,42 +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.
-
-enum layer {
- _BASE,
- _FN1,
- _RGB2,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(_FN1), KC_SPC, _______, KC_RALT, KC_RCTL, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE, KC_BRMU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRMD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, TG(_RGB2), _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- ),
-
- [_RGB2] = LAYOUT_65(
- QK_GESC, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, _______, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_MOD
- )
-};
diff --git a/keyboards/keebio/quefrency/rev2/keymaps/xeal/config.h b/keyboards/keebio/quefrency/rev2/keymaps/xeal/config.h
deleted file mode 100644
index c87e45d053..0000000000
--- a/keyboards/keebio/quefrency/rev2/keymaps/xeal/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-Copyright 2021 Roger Billerey-Mosier
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should 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 DEBUG_MATRIX_SCAN_RATE
-
-#define FORCE_NKRO
-
-#undef RGBLIGHT_EFFECT_SNAKE
-#undef RGBLIGHT_EFFECT_KNIGHT
-#undef RGBLIGHT_EFFECT_CHRISTMAS
-#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
-#undef RGBLIGHT_EFFECT_RGB_TEST
-#undef RGBLIGHT_EFFECT_ALTERNATING
-#undef RGBLIGHT_EFFECT_TWINKLE
-
-#define LAYER_STATE_8BIT
-#define MAX_LAYER 3
diff --git a/keyboards/keebio/quefrency/rev2/keymaps/xeal/keymap.c b/keyboards/keebio/quefrency/rev2/keymaps/xeal/keymap.c
deleted file mode 100644
index 530ea8527f..0000000000
--- a/keyboards/keebio/quefrency/rev2/keymaps/xeal/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2022 Danny Nguyen (@nooges)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum custom_layer {
- _BASE,
- _FN1,
- _FN2,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60(
- 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,
- MO(_FN1), KC_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, MO(_FN2),KC_SPC, _______, KC_SPC, KC_RALT, MO(_FN1), _______, KC_MENU, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_60(
- KC_GRV, KC_F1, 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_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_HOME, 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_END, 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_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_60(
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, KC_TRNS,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/keebio/quefrency/rev2/keymaps/xeal/rules.mk b/keyboards/keebio/quefrency/rev2/keymaps/xeal/rules.mk
deleted file mode 100644
index 3d5257b7b4..0000000000
--- a/keyboards/keebio/quefrency/rev2/keymaps/xeal/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-NKRO_ENABLE = yes # Enable N-Key Rollover
-DEBOUNCE_TYPE = sym_eager_pk # Eager; per key
-CONSOLE_ENABLE = no # debug console
-ENCODER_ENABLE = no \ No newline at end of file
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h
deleted file mode 100644
index c02549e477..0000000000
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define TAPPING_TERM 150
-#define TAPPING_TOGGLE 2
-
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
deleted file mode 100644
index c2aa0c60fa..0000000000
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
+++ /dev/null
@@ -1,281 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum rorschach_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // Qwerty
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Function Keys (similar to _NUMBERS; used with _NUMBERS for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer, accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer, accessed outside of tri-layer feature)
-};
-
-enum rorschach_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- NUMPAD = TG(_NUMPAD),
- ADJUST = MO(_ADJUST2),
- SPCFN = LT(_FUNCTION, KC_SPC),
- BSPCFN = LT(_FUNCTION2, KC_BSPC),
- ENTNS = LT(_NUMBERS, KC_ENT),
- DELNS = LT(_NUMBERS2, KC_DEL),
- CTLESC = CTL_T(KC_ESC),
- ALTAPP = ALT_T(KC_APP),
- NKROTG = MAGIC_TOGGLE_NKRO,
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPLEQ,
- PMNUN,
- PSLPAS
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMNUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSLPAS] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak
-* (Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* |Esc/Ctl| A | R | S | T | D | | H | N | E | I | O | ' |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | SC Sft| Z | X | C | V | B | | K | M | , | . | / | SC Sft|
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | Ins | ` | [ | ] |App/Alt| Spc/FN| |Bsp/Fn2| RGUI | Left | Down | Up | Right |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | Ent/NS| Bspc | | Enter |Del/NS2|
-* `---------------' `---------------'
-*/
-[_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_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- ENTNS, KC_BSPC, KC_ENT, DELNS
-),
-
-/* QWERTY
-* (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* |Esc/Ctl| A | S | D | F | G | | H | J | K | L | ; | ' |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | SC Sft| Z | X | C | V | B | | N | M | , | . | / | SC Sft|
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | Ins | ` | [ | ] |App/Alt| Spc/FN| |Bsp/Fn2| RGUI | Left | Down | Up | Right |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | Ent/NS| Bspc | | Enter |Del/NS2|
-* `---------------' `---------------'
-*/
-[_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- ENTNS, KC_BSPC, KC_ENT, DELNS
-),
-
-/* Number/symbol layer
-* (Multiple characters: single-tap for first, double-tap for second)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | ( | ) | [ { | ] } | | | | | | | | | |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | | | | | |
-* `---------------' `---------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-/* Number/Function Key layer
-* (Multiple characters: single-tap for first, double-tap for second)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | | 6 | 7 | 8 | 9 | 0 | | F7 | F8 | F9 | F10 | F11 | F12 |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | 1 | 2 | 3 | 4 | 5 | | F1 | F2 | F3 | F4 | F5 | F6 |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | ( | ) | [ { | ] } | | | | | | | | | |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | | | | | |
-* `---------------' `---------------'
-*/
-[_NUMBERS2] = LAYOUT(
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-/* Function layer
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | | | | Up | | | | | | Up | Ctrl+Y| | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | Ctrl+A| Left | Down | Right |C+A+Tab| | PgUp | Right | Down | Left | Home | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | Ctrl+Z| Ctrl+X| Ctrl+C| Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | | | | | | | | | | Prev | Play | Next | Stop |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | | | | | |
-* `---------------' `---------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______
-),
-
-/* Numpad layer
-* (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | NumLk | KP 7 | KP 8 | KP 9 | KP / | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | Tab | KP 4 | KP 5 | KP 6 | KP * | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | NumLk | KP . |KP/ KP*| KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP - | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | ( | ) | [ { | ] } | | | | | KP 0 | = | KP . | KP + | |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | | | | KP Ent| |
-* `---------------' `---------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_NUM, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ), _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, KC_P0, KC_EQL, KC_PDOT, KC_PPLS, _______,
- _______, _______, KC_PENT, _______
-),
-
-/* Adjust layer
-* (Enter/Number + Delete/Number2 to access; Numpad is a toggle)
-* ,-----------------------------------------------. ,-----------------------------------------------.
-* | |Colemak| Qwerty| | | | | Numpad| | | Ctrl+Y| | QK_BOOT |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | | | | | | | |NKROTog| | | | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
-* | | | | | | | | | | | | | |
-* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
-* | | | | | | | | | | | | | |
-* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
-* | | | | | |
-* `---------------' `---------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAK);
- layer_off ( _QWERTY);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/readme.md b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/readme.md
deleted file mode 100644
index 152c8ba01a..0000000000
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-## I've changed my folder name to match my GitHub username. Please see https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/rorschach/keymaps/tuesdayjohn for my current keymap files.
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/rules.mk b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/rules.mk
deleted file mode 100644
index 390cb3fd60..0000000000
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h
deleted file mode 100644
index 9d65e8da70..0000000000
--- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define TAPPING_TERM 175
-#define TAPPING_TOGGLE 2
-
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
deleted file mode 100644
index db5677e3b6..0000000000
--- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
+++ /dev/null
@@ -1,296 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum rorschach_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // Qwerty
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Function Keys (similar to _NUMBERS; used with _NUMBERS for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer, accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer, accessed outside of tri-layer feature)
-};
-
-enum rorschach_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPEQ,
- PMUN,
- PSPA
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSPA] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-//Aliases for longer keycodes
-#define NUMPAD TG(_NUMPAD)
-#define ADJUST MO(_ADJUST2)
-#define SPCFN LT(_FUNCTION, KC_SPC)
-#define BSPCFN LT(_FUNCTION2, KC_BSPC)
-#define ENTNS LT(_NUMBERS, KC_ENT)
-#define DELNS LT(_NUMBERS2, KC_DEL)
-#define CTLESC CTL_T(KC_ESC)
-#define ALTAPP ALT_T(KC_APP)
-#define CTL_A LCTL(KC_A)
-#define CTL_C LCTL(KC_C)
-#define CTL_V LCTL(KC_V)
-#define CTL_X LCTL(KC_X)
-#define CTL_Z LCTL(KC_Z)
-#define CTL_Y LCTL(KC_Y)
-#define CA_TAB LCA(KC_TAB)
-#define HYPER ALL_T(KC_NO)
-#define TD_ADJ TD(ADJ)
-#define TD_LBCB TD(LBCB)
-#define TD_RBCB TD(RBCB)
-#define TD_EQPL TD(EQPL)
-#define TD_PLEQ TD(PLEQ)
-#define TD_MNUN TD(MNUN)
-#define TD_SLAS TD(SLAS)
-#define TD_GVTL TD(GVTL)
-#define TD_PPEQ TD(PPEQ)
-#define TD_PMUN TD(PMUN)
-#define TD_PSPA TD(PSPA)
-#define NKROTG MAGIC_TOGGLE_NKRO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
-Colemak
-(Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | Esc/Ctl| A | R | S | T | D | | H | N | E | I | O | ' |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- |SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------'
- | Ins | ` | [ | ] | App/Alt| Spc/FN | | Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | Ent/NS | Bspc | | Enter | Del/NS2|
- `-----------------' `-----------------'
-*/
-[_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_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- ENTNS, KC_BSPC, KC_ENT, DELNS
-),
-
-/*
-QWERTY
-(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | Esc/Ctl| A | S | D | F | G | | H | J | K | L | ; | ' |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- |SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------'
- | Ins | ` | [ | ] | App/Alt| Spc/FN | | Bsp/Fn2| RGUI | Left | Down | Up | Right |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | Ent/NS | Bspc | | Enter | Del/NS2|
- `-----------------' `-----------------'
-*/
-[_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- ENTNS, KC_BSPC, KC_ENT, DELNS
-),
-
-/*
-Number/symbol layer
-(Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | ( | ) | [ { | ] } | | | | | | | | | |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | | | | | |
- `-----------------' `-----------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-/*
-Number/Function Key layer
-(Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | | 6 | 7 | 8 | 9 | 0 | | F7 | F8 | F9 | F10 | F11 | F12 |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | 1 | 2 | 3 | 4 | 5 | | F1 | F2 | F3 | F4 | F5 | F6 |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | ( | ) | [ { | ] } | | | | | | | | | |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | | | | | |
- `-----------------' `-----------------'
-*/
-[_NUMBERS2] = LAYOUT(
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-/*
-Function layer
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | | | | Up | | | | | | Up | Ctrl+Y | | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | Ctrl+A | Left | Down | Right | C+A+Tab| | PgUp | Right | Down | Left | Home | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | Ctrl+Z | Ctrl+X | Ctrl+C | Ctrl+V | Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | Prev | Play | Next | Stop |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | | | | | |
- `-----------------' `-----------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______
-),
-
-/*
-Numpad layer
-(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | NumLk | KP 7 | KP 8 | KP 9 | KP / | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | Tab | KP 4 | KP 5 | KP 6 | KP * | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | NumLk | KP . | KP/ KP*| KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP - | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | ( | ) | [ { | ] } | | | | | KP 0 | = | KP . | KP + | |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | | | | KP Ent | |
- `-----------------' `-----------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_NUM, KC_PDOT, TD_PSPA, TD_PMUN, TD_PPEQ, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, KC_P0, KC_EQL, KC_PDOT, KC_PPLS, _______,
- _______, _______, KC_PENT, _______
-),
-
-/*
-Adjust layer
-(Enter/Number + Delete/Number2 to access; Numpad is a toggle)
- ,-----------------------------------------------------. ,-----------------------------------------------------.
- | | Colemak| Qwerty | | | | | Numpad | | | | | QK_BOOT |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | | | | | | |NKRO Tog| | | | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | |
- |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- | | | | | | | | | | | | | |
- `--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
- | | | | | |
- `-----------------' `-----------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAK);
- layer_move (_COLEMAK);
-
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTY);
- layer_move (_QWERTY);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/rules.mk b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/rules.mk
deleted file mode 100644
index 390cb3fd60..0000000000
--- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
diff --git a/keyboards/keebio/sinc/keymaps/lickel/keymap.c b/keyboards/keebio/sinc/keymaps/lickel/keymap.c
deleted file mode 100644
index 97111e9dda..0000000000
--- a/keyboards/keebio/sinc/keymaps/lickel/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2021 @ Adam Lickel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_80_with_macro(
- KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MPLY,
- KC_F1, KC_F2, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(1), KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_80_with_macro(
- _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_80_with_macro(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_80_with_macro(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-// clang-format on
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
- [1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
- [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
- [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/keebio/sinc/keymaps/lickel/readme.md b/keyboards/keebio/sinc/keymaps/lickel/readme.md
deleted file mode 100644
index faf130dec5..0000000000
--- a/keyboards/keebio/sinc/keymaps/lickel/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# lickel's Sinc keymap
-
-- Via support is enabled by default
-- Function Row is optimized for macOS
-- RGB controls mimic the stock Keychron Q1 layout
-- F3 opens Mission Control and F4 opens Launchpad
-- Left macros are: F1->F10
-- Right macros are: Play, Home, Pg Up, Pg Dn, End, Right
-
-![Layout](https://i.imgur.com/0uXXrJY.png)
-
-([KLE](http://www.keyboard-layout-editor.com/#/gists/e0350d8914cac3166abcca6abfd093b7))
-
-## Changelog
-
-### 2022-12-09 - 1.2
-
-- Add ENCODER_MAP_ENABLE from default VIA definition
-
-### 2022-03-04 - 1.1
-
-- Correct function row to change LED backlights, not underglow
-
-### 2021-11-27 - 1.0
-
-- Initial release
diff --git a/keyboards/keebio/sinc/keymaps/lickel/rules.mk b/keyboards/keebio/sinc/keymaps/lickel/rules.mk
deleted file mode 100644
index 1189f4ad19..0000000000
--- a/keyboards/keebio/sinc/keymaps/lickel/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h
index 2d2c772422..e8024190b4 100644
--- a/keyboards/keebio/sinc/rev1/config.h
+++ b/keyboards/keebio/sinc/rev1/config.h
@@ -27,4 +27,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/keebio/sinc/rev1/info.json b/keyboards/keebio/sinc/rev1/info.json
index 0829cae6e7..b7774fa0ed 100644
--- a/keyboards/keebio/sinc/rev1/info.json
+++ b/keyboards/keebio/sinc/rev1/info.json
@@ -7,6 +7,9 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"features": {
"rgblight": true,
"backlight": true
diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h
index 2d2c772422..e8024190b4 100644
--- a/keyboards/keebio/sinc/rev2/config.h
+++ b/keyboards/keebio/sinc/rev2/config.h
@@ -27,4 +27,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/keebio/sinc/rev2/info.json b/keyboards/keebio/sinc/rev2/info.json
index 5b74d17b1a..ff5ef2667a 100644
--- a/keyboards/keebio/sinc/rev2/info.json
+++ b/keyboards/keebio/sinc/rev2/info.json
@@ -7,6 +7,9 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"features": {
"rgblight": true,
"backlight": true
diff --git a/keyboards/keebio/sinc/rev3/config.h b/keyboards/keebio/sinc/rev3/config.h
index 66cfe454c4..89c8c0f3d8 100644
--- a/keyboards/keebio/sinc/rev3/config.h
+++ b/keyboards/keebio/sinc/rev3/config.h
@@ -17,58 +17,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SPLIT_HAND_PIN GP4
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
#define SERIAL_USART_PIN_SWAP
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+
#define I2C_DRIVER I2CD1
#define I2C1_SCL_PIN GP22
#define I2C1_SDA_PIN GP23
-
-// RGB Matrix
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-#define RGB_MATRIX_LED_COUNT 113
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define SPLIT_TRANSPORT_MIRROR
diff --git a/keyboards/keebio/sinc/rev3/info.json b/keyboards/keebio/sinc/rev3/info.json
index 8ba35fd158..e20cd24f19 100644
--- a/keyboards/keebio/sinc/rev3/info.json
+++ b/keyboards/keebio/sinc/rev3/info.json
@@ -27,6 +27,11 @@
"cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"],
"rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"matrix_pins": {
@@ -44,6 +49,43 @@
"driver": "vendor"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"split_count": [56, 57],
"layout": [
@@ -173,7 +215,9 @@
{"flags": 4, "matrix": [10, 7], "x": 212, "y": 64},
{"flags": 4, "matrix": [10, 8], "x": 224, "y": 64},
{"flags": 2, "x": 224, "y": 55}
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
},
"layouts": {
"LAYOUT_75": {
diff --git a/keyboards/keebio/sinc/rev4/config.h b/keyboards/keebio/sinc/rev4/config.h
index bed0f11243..0a9b9846eb 100644
--- a/keyboards/keebio/sinc/rev4/config.h
+++ b/keyboards/keebio/sinc/rev4/config.h
@@ -4,68 +4,17 @@
#pragma once
#define SPLIT_HAND_PIN GP4
+
#define USB_VBUS_PIN GP14
+
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
#define SERIAL_USART_PIN_SWAP
+
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+
#define I2C_DRIVER I2CD1
#define I2C1_SDA_PIN GP22
#define I2C1_SCL_PIN GP23
-
-// RGB Matrix
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-#define RGB_MATRIX_LED_COUNT 117
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define SPLIT_TRANSPORT_MIRROR
diff --git a/keyboards/keebio/sinc/rev4/info.json b/keyboards/keebio/sinc/rev4/info.json
index 31d402c42e..15b28fb012 100644
--- a/keyboards/keebio/sinc/rev4/info.json
+++ b/keyboards/keebio/sinc/rev4/info.json
@@ -25,6 +25,11 @@
"cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"],
"rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"matrix_pins": {
@@ -42,6 +47,52 @@
"driver": "vendor"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"split_count": [58, 59],
"layout": [
@@ -175,7 +226,9 @@
{"flags": 4, "matrix": [10, 7], "x": 212, "y": 64},
{"flags": 4, "matrix": [10, 8], "x": 224, "y": 64},
{"flags": 2, "x": 224, "y": 55}
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
},
"layouts": {
"LAYOUT_75": {
diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h
deleted file mode 100644
index b7df7925ab..0000000000
--- a/keyboards/keebio/stick/config.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-Copyright 2021 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// RGB Matrix
-# ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 12
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# endif
diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json
index cc151647a0..b24d4d6430 100644
--- a/keyboards/keebio/stick/info.json
+++ b/keyboards/keebio/stick/info.json
@@ -9,6 +9,51 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"encoder": {
diff --git a/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c b/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c
deleted file mode 100644
index 6e5afacff8..0000000000
--- a/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _FN1 2
-
-#define WORD_L LALT(KC_LEFT)
-#define WORD_R LALT(KC_RGHT)
-#define LINE_L LGUI(KC_LEFT)
-#define LINE_R LGUI(KC_RGHT)
-
-#define DESK_L LCTL(KC_LEFT)
-#define DESK_R LCTL(KC_RGHT)
-#define MSN_CTL LCTL(KC_UP)
-
-#define LT_FN LT(_FN1, KC_ESC)
-
-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,
- //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
- LT_FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────â”
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
- //├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────â”
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_CAPS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
- ),
-
- [_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
- LT_FN, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENTER,
- //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────â”
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
- //├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────â”
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_CAPS, 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, _______, QK_BOOT, KC_HOME,
- //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
- //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
- _______, DESK_L, MSN_CTL, DESK_R, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
- //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────â”
- _______, _______, _______, _______, _______, _______, LINE_L, WORD_L, WORD_R, LINE_R, _______, _______, BL_UP,
- //├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────â”
- _______, _______, _______, KC_BSPC, _______, _______, KC_MENU, BL_BRTG, BL_DOWN, BL_TOGG
- //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
- )
-}; \ No newline at end of file
diff --git a/keyboards/keebio/viterbi/keymaps/default/config.h b/keyboards/keebio/viterbi/keymaps/default/config.h
index 38c399ff2c..acc5970dcb 100644
--- a/keyboards/keebio/viterbi/keymaps/default/config.h
+++ b/keyboards/keebio/viterbi/keymaps/default/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
+#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/viterbi/keymaps/met/keymap.c b/keyboards/keebio/viterbi/keymaps/met/keymap.c
deleted file mode 100644
index 4848038bef..0000000000
--- a/keyboards/keebio/viterbi/keymaps/met/keymap.c
+++ /dev/null
@@ -1,321 +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 CANCEL LCTL(KC_C)
-#define TERM LCTL(LALT(KC_T))
-#define ALPHAMOD LT(_ALPHA, KC_VOLD)
-#define CTLBSP MT(MOD_LCTL, KC_BSPC)
-#define GUIDEL MT(MOD_LGUI, KC_DEL)
-#define ALTSPC MT(MOD_LALT, KC_SPACE)
-#define SPCMOD LT(_MOD, KC_SPACE)
-#define JUMPBACK LSFT(KC_TAB)
-#define NTAB LCTL(KC_T)
-#define CTAB LCTL(KC_W)
-#define TAB1 LCTL(KC_1)
-#define TAB2 LCTL(KC_2)
-#define TAB3 LCTL(KC_3)
-#define TAB4 LCTL(KC_4)
-#define BWORD LCTL(KC_BSPC)
-#define LWORD LCTL(KC_LEFT)
-#define RWORD LCTL(KC_RIGHT)
-#define TABMOD LT(_MOD, KC_TAB)
-#define ENTMOD LT(_ENT, KC_ENTER)
-
-enum layer_names {
- _BASE,
- _PLAYING,
- _PLAYED,
- _NUMS,
- _FN,
- _TEST,
- _ALPHA,
- _QWERTY,
- _REV,
- _DEL,
- _MOD,
- _ENT
-};
-
-enum custom_keycodes {
- MET = SAFE_RANGE,
- SET,
- GO,
- STOP,
- RESUME,
- NEWRESUME,
- SYNC,
- SHUTDOWN,
- REBOOT,
- SOURCE,
- PUSH,
- TEST,
- TST,
- ENAME,
- SNAME,
- LNAME,
- BUS,
- PMERGE,
- CSPEAK
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case SET:
- if (record->event.pressed) {
- layer_on(_NUMS);
- SEND_STRING("met ");
-}
- break;
- case GO:
- if (record->event.pressed) {
- layer_off(_NUMS);
- layer_off(_ALPHA);
- layer_off(_PLAYED);
- layer_on(_PLAYING);
- SEND_STRING(SS_TAP(X_ENTER));
-}
- break;
- case STOP:
- if (record->event.pressed) {
- layer_off(_PLAYING);
- layer_on(_PLAYED);
- layer_off(_NUMS);
- layer_off(_ALPHA);
- SEND_STRING(SS_TAP(X_N));
- SEND_STRING(SS_TAP(X_N));
- SEND_STRING(SS_LCTL(SS_TAP(X_C)));
-}
- break;
- case RESUME:
- if (record->event.pressed) {
- layer_off(_PLAYED);
- layer_on(_PLAYING);
- SEND_STRING(SS_LCTL(SS_TAP(X_C)));
- SEND_STRING(SS_TAP(X_UP));
- SEND_STRING(SS_TAP(X_ENTER));
-}
- break;
- case NEWRESUME:
- if (record->event.pressed) {
- layer_off(_NUMS);
- layer_off(_ALPHA);
- layer_off(_PLAYED);
- layer_on(_PLAYING);
- SEND_STRING(SS_TAP(X_R));
- SEND_STRING(SS_TAP(X_ENTER));
-}
- break;
- case SYNC:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_N));
-}
- break;
- case SHUTDOWN:
- if (record->event.pressed) {
- SEND_STRING(SS_LCTL(SS_TAP(X_C)));
- SEND_STRING("shutdown now");
- SEND_STRING(SS_TAP(X_ENTER));
-}
- break;
- case REBOOT:
- if (record->event.pressed) {
- SEND_STRING(SS_LCTL(SS_TAP(X_C)));
- SEND_STRING("reboot");
- SEND_STRING(SS_TAP(X_ENTER));
- }
- break;
- case SOURCE:
- if (record->event.pressed) {
- SEND_STRING("source .bashrc");
- SEND_STRING(SS_TAP(X_ENTER));
- }
- break;
- case PUSH:
- if (record->event.pressed) {
- SEND_STRING("ftp rossmontsinger.net");
- _delay_ms(250);
- SEND_STRING(SS_TAP(X_ENTER));
- _delay_ms(2250);
- SEND_STRING("met@rossmontsinger.net");
- _delay_ms(250);
- SEND_STRING(SS_TAP(X_ENTER));
- _delay_ms(2500);
- SEND_STRING("metboard");
- _delay_ms(250);
- SEND_STRING(SS_TAP(X_ENTER));
- }
- break;
- case TEST:
- if (record->event.pressed) {
- layer_off(_NUMS);
- layer_off(_ALPHA);
- layer_off(_PLAYED);
- layer_on(_PLAYING);
- SEND_STRING(SS_LCTL(SS_TAP(X_C)));
- _delay_ms(250);
- SEND_STRING("play Desktop/met/a_lazoom.mp3");
- SEND_STRING(SS_TAP(X_ENTER));
- }
- case TST:
- if (record->event.pressed) {
- SEND_STRING("tst");
- SEND_STRING(SS_TAP(X_ENTER));
- }
- break;
- case ENAME:
- if (record->event.pressed) {
- SEND_STRING("sname ");
- layer_on(_NUMS);
- layer_on(_ALPHA);
- }
- break;
- case SNAME:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_ENTER));
- layer_off(_NUMS);
- layer_off(_ALPHA);
- }
- break;
- case LNAME:
- if (record->event.pressed) {
- SEND_STRING("met $");
- layer_off(_NUMS);
- layer_on(_ALPHA);
- }
- break;
- case BUS:
- if (record->event.pressed) {
- SEND_STRING("met $bus");
- layer_off(_NUMS);
- layer_off(_ALPHA);
- layer_off(_PLAYED);
- layer_on(_PLAYING);
- SEND_STRING(SS_TAP(X_ENTER));
- }
- break;
- case PMERGE:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_HOME));
- SEND_STRING(SS_TAP(X_BACKSPACE));
- SEND_STRING(SS_TAP(X_SPACE));
- SEND_STRING(SS_LCTL(SS_TAP(X_BACKSPACE)));
- SEND_STRING(SS_TAP(X_SPACE));
- }
-break;
-case CSPEAK:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_PAGE_DOWN));
- SEND_STRING(SS_TAP(X_ENTER));
- SEND_STRING(SS_TAP(X_ENTER));
- SEND_STRING(SS_TAP(X_PAGE_DOWN));
-}
- break;
-};
-
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_ortho_5x14(
- KC_NO, STOP , TST , _______, _______, _______, BUS , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, LNAME , SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, MO(_FN), _______, SET , _______, _______, _______, TG(_QWERTY),KC_B, _______, _______, _______, _______, _______
- ),
-
- [_PLAYING] = LAYOUT_ortho_5x14(
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, STOP , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_PLAYED] = LAYOUT_ortho_5x14(
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______,_______, _______, _______, _______,NEWRESUME, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_NUMS] = LAYOUT_ortho_5x14(
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, KC_7 , KC_8 , KC_9 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, KC_4 , KC_5 , KC_6 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, KC_1 , KC_2 , KC_3 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, KC_0 , _______, _______, GO , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN] = LAYOUT_ortho_5x14(
- KC_NO, SHUTDOWN,_______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, REBOOT , _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, ENAME , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, SOURCE , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_TEST] = LAYOUT_ortho_5x14(
- KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_ALPHA] = LAYOUT_ortho_5x14(
- KC_NO, _______, KC_Y , KC_U , KC_I , KC_O , KC_P , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, KC_N , KC_Q , KC_W , KC_E , KC_R , KC_T , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, KC_M , KC_A , KC_S , KC_D , KC_F , KC_G , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, KC_H , KC_J , KC_K , KC_L , GO , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_QWERTY] = LAYOUT_ortho_5x14(
- 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_MINS, KC_EQL ,
- KC_NO, KC_CAPS, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC ,
- 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_PGUP ,
- KC_NO, 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_PGDN ,
- KC_NO, CTLBSP , GUIDEL , KC_ENTER, ALTSPC, TABMOD , KC_BSPC, ENTMOD , SPCMOD ,MO(_DEL), KC_BSLS, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-
- [_REV] = LAYOUT_ortho_5x14(
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, KC_TAB , KC_PGDN, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
- [_DEL] = LAYOUT_ortho_5x14(
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_MOD] = LAYOUT_ortho_5x14(
- KC_NO , KC_GRAVE,KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , NTAB ,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB,
- KC_NO , _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP ,KC_RIGHT, KC_END , _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, LWORD , RWORD , TG(_QWERTY),_______,_______,_______,_______, _______, _______
- ),
-
- [_ENT] = LAYOUT_ortho_5x14(
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO , _______, _______, _______, _______, _______, CSPEAK , _______, _______, _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/keebio/viterbi/keymaps/met/rules.mk b/keyboards/keebio/viterbi/keymaps/met/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/keebio/viterbi/keymaps/met/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keebwerk/mega/ansi/ansi.c b/keyboards/keebwerk/mega/ansi/ansi.c
index 4b10cdde66..5218fdd0e1 100755
--- a/keyboards/keebwerk/mega/ansi/ansi.c
+++ b/keyboards/keebwerk/mega/ansi/ansi.c
@@ -28,135 +28,135 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, B_1, A_1, C_1}, //LA1
- {0, E_1, D_1, F_1}, //LA2
- {0, H_1, G_1, I_1}, //LA3
- {0, K_1, J_1, L_1}, //LA4
- {0, B_2, A_2, C_2}, //LA5
- {0, E_2, D_2, F_2}, //LA6
- {0, H_2, G_2, I_2}, //LA7
- {0, K_2, J_2, L_2}, //LA8
- {0, B_3, A_3, C_3}, //LA9
- {0, E_3, D_3, F_3}, //LA10
- {0, H_3, G_3, I_3}, //LA11
- {0, K_3, J_3, L_3}, //LA12
- {0, B_4, A_4, C_4}, //LA13
- {0, E_4, D_4, F_4}, //LA14
- {0, H_4, G_4, I_4}, //LA15
- {0, K_4, J_4, L_4}, //LA16
- {0, B_5, A_5, C_5}, //LA17
- {0, E_5, D_5, F_5}, //LA18
- {0, H_5, G_5, I_5}, //LA19
- {0, K_5, J_5, L_5}, //LA20
- {0, B_6, A_6, C_6}, //LA21
- {0, E_6, D_6, F_6}, //LA22
- {0, H_6, G_6, I_6}, //LA23
- {0, K_6, J_6, L_6}, //LA24
- {0, B_7, A_7, C_7}, //LA25
- {0, E_7, D_7, F_7}, //LA26
- {0, H_7, G_7, I_7}, //LA27
- {0, K_7, J_7, L_7}, //LA28
- {0, B_8, A_8, C_8}, //LA29
- {0, E_8, D_8, F_8}, //LA30
- {0, H_8, G_8, I_8}, //LA31
- {0, K_8, J_8, L_8}, //LA32
- {0, B_9, A_9, C_9}, //LA33
- {0, E_9, D_9, F_9}, //LA34
- {0, H_9, G_9, I_9}, //LA35
- {0, K_9, J_9, L_9}, //LA36
- {0, B_10, A_10, C_10}, //LA37
- {0, E_10, D_10, F_10}, //LA38
- {0, H_10, G_10, I_10}, //LA39
- {0, K_10, J_10, L_10}, //LA40
- {0, B_11, A_11, C_11}, //LA41
- {0, E_11, D_11, F_11}, //LA42
- {0, H_11, G_11, I_11}, //LA43
- {0, K_11, J_11, L_11}, //LA44
- {0, B_12, A_12, C_12}, //LA45
- {0, E_12, D_12, F_12}, //LA46
- {0, H_12, G_12, I_12}, //LA47
- {0, K_12, J_12, L_12}, //LA48
- {0, B_13, A_13, C_13}, //LA49
- {0, E_13, D_13, F_13}, //LA50
- {0, H_13, G_13, I_13}, //LA51
- {0, K_13, J_13, L_13}, //LA52
- {0, B_14, A_14, C_14}, //LA53
- {0, E_14, D_14, F_14}, //LA54
- {0, H_14, G_14, I_14}, //LA55
- {0, K_14, J_14, L_14}, //LA56
- {0, B_15, A_15, C_15}, //LA57
- {0, E_15, D_15, F_15}, //LA58
- {0, H_15, G_15, I_15}, //LA59
- {0, K_15, J_15, L_15}, //LA60
- {0, B_16, A_16, C_16}, //LA61
- {0, E_16, D_16, F_16}, //LA62
- {0, H_16, G_16, I_16}, //LA63
- {0, K_16, J_16, L_16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
+ {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
- {1, B_1, A_1, C_1}, //LB1
- {1, E_1, D_1, F_1}, //LB2
- {1, H_1, G_1, I_1}, //LB3
- {1, K_1, J_1, L_1}, //LB4
- {1, B_2, A_2, C_2}, //LB5
- {1, E_2, D_2, F_2}, //LB6
- {1, H_2, G_2, I_2}, //LB7
- {1, K_2, J_2, L_2}, //LB8
- {1, B_3, A_3, C_3}, //LB9
- {1, E_3, D_3, F_3}, //LB10
- {1, H_3, G_3, I_3}, //LB11
- {1, K_3, J_3, L_3}, //LB12
- {1, B_4, A_4, C_4}, //LB13
- {1, E_4, D_4, F_4}, //LB14
- {1, H_4, G_4, I_4}, //LB15
- {1, K_4, J_4, L_4}, //LB16
- {1, B_5, A_5, C_5}, //LB17
- {1, E_5, D_5, F_5}, //LB18
- {1, H_5, G_5, I_5}, //LB19
- {1, K_5, J_5, L_5}, //LB20
- {1, B_6, A_6, C_6}, //LB21
- {1, E_6, D_6, F_6}, //LB22
- {1, H_6, G_6, I_6}, //LB23
- {1, K_6, J_6, L_6}, //LB24
- {1, B_7, A_7, C_7}, //LB25
- {1, E_7, D_7, F_7}, //LB26
- {1, H_7, G_7, I_7}, //LB27
- {1, K_7, J_7, L_7}, //LB28
- {1, B_8, A_8, C_8}, //LB29
- {1, E_8, D_8, F_8}, //LB30
- {1, H_8, G_8, I_8}, //LB31
- {1, K_8, J_8, L_8}, //LB32
- {1, B_9, A_9, C_9}, //LB33
- {1, E_9, D_9, F_9}, //LB34
- {1, H_9, G_9, I_9}, //LB35
- {1, K_9, J_9, L_9}, //LB36
- {1, B_10, A_10, C_10}, //LB37
- {1, E_10, D_10, F_10}, //LB38
- {1, H_10, G_10, I_10}, //LB39
- {1, K_10, J_10, L_10}, //LB40
- {1, B_11, A_11, C_11}, //LB41
- {1, E_11, D_11, F_11}, //LB42
- {1, H_11, G_11, I_11}, //LB43
- {1, K_11, J_11, L_11}, //LB44
- {1, B_12, A_12, C_12}, //LB45
- {1, E_12, D_12, F_12}, //LB46
- {1, H_12, G_12, I_12}, //LB47
- {1, K_12, J_12, L_12}, //LB48
- {1, B_13, A_13, C_13}, //LB49
- {1, E_13, D_13, F_13}, //LB50
- {1, H_13, G_13, I_13}, //LB51
- {1, K_13, J_13, L_13}, //LB52
- {1, B_14, A_14, C_14}, //LB53
- {1, E_14, D_14, F_14}, //LB54
- {1, H_14, G_14, I_14}, //LB55
- {1, K_14, J_14, L_14}, //LB56
- {1, B_15, A_15, C_15}, //LB57
- {1, E_15, D_15, F_15}, //LB58
- {1, H_15, G_15, I_15}, //LB59
- {1, K_15, J_15, L_15}, //LB60
- {1, B_16, A_16, C_16}, //LB61
- {1, E_16, D_16, F_16}, //LB62
- {1, H_16, G_16, I_16}, //LB63
- {1, K_16, J_16, L_16}, //LB64
+ {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1
+ {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2
+ {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3
+ {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4
+ {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5
+ {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6
+ {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7
+ {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8
+ {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9
+ {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10
+ {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11
+ {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12
+ {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13
+ {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14
+ {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15
+ {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16
+ {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17
+ {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18
+ {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19
+ {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20
+ {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21
+ {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22
+ {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23
+ {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24
+ {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25
+ {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26
+ {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27
+ {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28
+ {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29
+ {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30
+ {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31
+ {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32
+ {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33
+ {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34
+ {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35
+ {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36
+ {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37
+ {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38
+ {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39
+ {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40
+ {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41
+ {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42
+ {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43
+ {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44
+ {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45
+ {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46
+ {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47
+ {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48
+ {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49
+ {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50
+ {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51
+ {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52
+ {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53
+ {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54
+ {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55
+ {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56
+ {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57
+ {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58
+ {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59
+ {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60
+ {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61
+ {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62
+ {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63
+ {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64
};
#endif
diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
deleted file mode 100644
index 307eac90e1..0000000000
--- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "drivers/led/issi/is31fl3733.h"
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_65_ansi( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_65_ansi( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-
-static uint16_t ledTimer;
-
-uint8_t r = 0; /* First led*/
-uint8_t g = 0; /* Second led*/
-uint8_t b = 0; /* Third led*/
-
-/* Boot animation parameters */
-
-uint8_t bootFirst=3; /* Number of increment slides. */
-uint8_t bootSec=3; /* Number of full blink. */
-
-/* Breathing animation parameters */
-
-const uint16_t travelTime = 1000; /* Time the leds take to go from off to on or on to off. */
-const uint16_t fadeStep = 5; /* Steps for the fade in and out, 0-255 by steps of 10. */
-const uint16_t fadeTime = 20; /* Time between each fade step. */
-const uint8_t maxBrightness=255; /* keep them multipliers of fade Step between 0 and 255. */
-const uint8_t minBrightness=0;
-
-uint16_t previousTime = 0;
-uint16_t time = 0;
-
-bool bootAnimation(void){
- if (bootFirst>0 || bootSec>0){
- if(bootFirst!=0){
- if (timer_elapsed(ledTimer) > 150){
- g = 255;
- r = 0;
- b = 0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- }
- if (timer_elapsed(ledTimer) > 300){
- g = 255;
- r = 255;
- b = 0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- }
- if (timer_elapsed(ledTimer) > 400){
- g = 255;
- r = 255;
- b = 255;
- is31fl3733_set_color( 6+64-1, r, g, b );
- }
- if (timer_elapsed(ledTimer) > 500){
- g = 0;
- r = 0;
- b = 0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- ledTimer = timer_read();
- bootFirst--;
- }
- }
- if (bootFirst==0 && bootSec!=0){
- if (timer_elapsed(ledTimer) > 200) {
- g = 255;
- r = 255;
- b = 255;
- is31fl3733_set_color( 6+64-1, r, g, b );
- }
- if (timer_elapsed(ledTimer) > 400){
- g = 0;
- r = 0;
- b = 0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- ledTimer = timer_read();
- bootSec--;
- }
- }
- return false;
- }
- return true;
-}
-
-
-void breathing(void) {
- if(timer_elapsed(ledTimer)<travelTime){
- time = timer_elapsed(ledTimer);
- if((time - previousTime) > fadeTime && r<maxBrightness){
- g+=fadeStep;
- r+=fadeStep;
- b+=fadeStep;
- is31fl3733_set_color( 6+64-1, r, g, b );
- previousTime = time;
- }
- }
- else if(timer_elapsed(ledTimer)<(travelTime * 2)){
- time = timer_elapsed(ledTimer);
- if((time - previousTime) > fadeTime && r>minBrightness){
- g-=fadeStep;
- r-=fadeStep;
- b-=fadeStep;
- is31fl3733_set_color( 6+64-1, r, g, b );
- previousTime = time;
- }
- }
- else {
- r=0;
- g=0;
- b=0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- previousTime = 0;
- time = 0;
- ledTimer=timer_read();
- }
-}
-
-/* this avoids turning off the led each matrix_scan_user() call */
-bool capsState;
-bool prevCapsState;
-
-void matrix_scan_user(void){
- if(bootAnimation()){
- capsState = host_keyboard_led_state().caps_lock;
- if (capsState) {
- breathing();
- prevCapsState = capsState;
- }
- else if(!capsState && capsState != prevCapsState){
- g = 0;
- r = 0;
- b = 0;
- is31fl3733_set_color( 6+64-1, r, g, b );
- prevCapsState = capsState;
- }
- }
-}
diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/readme.md b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/readme.md
deleted file mode 100644
index 5910222a46..0000000000
--- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# The jesusvallejo keymap for ANSI Keebwerk Mega. VIA support enabled.
-
-![Layer 0](https://i.imgur.com/RcuLofrl.png)
-
-![Layer 1](https://i.imgur.com/NJOORcdl.png)
-
-- Default layer is normal ANSI 65%.
-- Leds slide and blink bootup animation.
-- Leds fade Caps Lock animation.
diff --git a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c b/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
deleted file mode 100644
index bd1f399086..0000000000
--- a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Copyright 2020 Duckle, 2021 Jesús Vallejo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-#include "analog.h"
-#include "qmk_midi.h"
-
-/*
-This keymap works with midi2vol: linux version https://github.com/jesusvallejo/Midi2Vol-Linux
-and windows version https://github.com/jesusvallejo/Midi2Vol
-
-Enables the user to change the volume on the host computer if running midi2vol software.
-
-Example to extend usability is provided check VLC in: enum custom_keycodes {} and bool process_record_user(uint16_t keycode, keyrecord_t *record) {}
-Remember to give allways the new volume control a hex value not used by other volume control,
-and add it to the midi2vol software.
-Check respective midi2vol readme on how to do so.In linux change config.json,in windows you can use configuration option.
-
-A compiled version of this keymap is provided in here: https://github.com/jesusvallejo/nanokeymaps/
-
-*/
-
-uint8_t midi2vol = 0x3E;
-
-/* Defines names for use in layer keycodes and the keymap */
-
-enum custom_layers {
- _MEDIA, /* Controls Pause, Mute , Forward ... */
- _NAV, /* Nav arrows, Enter, Space*/
- _VOLUME, /* Changes midi2vol int to interface with midi2vol program: Chrome Volume, General Volume */
- _DISCORD, /* FXX unsused keys to interface with Discord: Mute , Silence */
- _LIGHTS, /* Edits underglow and retroilumination */
- _EDIT, /* Cut, Copy ,Paste */
- _QK_BOOT, /* Layer to set nano in bootloader mode */
- _TOOGLE, /* Momentary layer to switch between layers */
-};
-
-
-
-/* Defines the keycodes used by our macros in process_record_user */
-enum custom_keycodes { /* In order to add more volume controls, add here a custom keycode, ex: VLC */
- DEFAULT= SAFE_RANGE,SPOTIFY,DISCORD,CHROME/*,VLC*/
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_MEDIA] = LAYOUT(
- MO(_TOOGLE),
- KC_MPLY, KC_MNXT, KC_COPY,
- KC_MUTE, KC_MPRV, KC_PASTE, KC_ENTER
- ),
- [_NAV] = LAYOUT(
- MO(_TOOGLE),
- KC_SPC, KC_UP, KC_BSPC,
- KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENTER
- ),
- [_VOLUME] = LAYOUT(
- MO(_TOOGLE),
- SPOTIFY, DISCORD, CHROME,
- KC_NO, KC_NO, KC_NO, DEFAULT
- ),
- [_DISCORD] = LAYOUT(
- MO(_TOOGLE),
- KC_F18, KC_F19, KC_F20,
- KC_F21, KC_F22, KC_F23, KC_F24
- ),
- [_LIGHTS] = LAYOUT(
- MO(_TOOGLE),
- RGB_TOG, RGB_MOD, RGB_VAI,
- RGB_SAI, BL_BRTG, BL_STEP, KC_LSFT
- ),
- [_EDIT] = LAYOUT(
- MO(_TOOGLE),
- KC_MENU, KC_CUT, KC_COPY,
- KC_FIND, KC_UNDO, KC_PASTE, KC_MPLY
- ),
- [_RESET] = LAYOUT(
- MO(_TOOGLE),
- KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, QK_BOOT
- ),
- [_TOOGLE] = LAYOUT(
- MO(_TOOGLE),
- TO(_MEDIA), TO(_NAV), TO(_VOLUME),
- TO(_DISCORD), TO(_LIGHTS), TO(_EDIT), TO(_RESET)
- )
-};
-/* In order to add more volume controls, add here code to detect custom keycode, ex: VLC */
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case DEFAULT:
- if (record->event.pressed) {
- /* when keycode DEFAULT is pressed */
- midi2vol= 0x3E;
- } else {
- /* when keycode DEFAULT is released */
- }
- break;
- case SPOTIFY:
- if (record->event.pressed) {
- midi2vol= 0x3F;
- }
- break;
- case DISCORD:
- if (record->event.pressed) {
-
- midi2vol= 0x40;
- }
- break;
- case CHROME:
- if (record->event.pressed) {
-
- midi2vol= 0x41;
- }
- break;
- /*
- case VLC:
- if (record->event.pressed) {
- midi2vol= 0x42;
- }
- break;
- */
- }
- return true;
-}
-
-uint8_t divisor = 0;
-
-
-void slider(void) {
- if (divisor++) { /* only run the slider function 1/256 times it's called */
- return;
- }
- midi_send_cc(&midi_device, 2, midi2vol, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
-}
-
-void matrix_scan_user(void) {
- slider();
-}
diff --git a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/readme.md b/keyboards/keebwerk/nano_slider/keymaps/midi2vol/readme.md
deleted file mode 100644
index 869baef07f..0000000000
--- a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The Midi2Vol keymap for nano_slider
-This keymap has the code for the nano_slider to work with [Midi2Vol](https://github.com/jesusvallejo/Midi2Vol).
diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h
deleted file mode 100644
index 5c89632272..0000000000
--- a/keyboards/keybee/keybee65/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2020 <contact@vwolf.be>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 68
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/keybee/keybee65/info.json b/keyboards/keybee/keybee65/info.json
index 7ec1979c08..30067891d7 100644
--- a/keyboards/keybee/keybee65/info.json
+++ b/keyboards/keybee/keybee65/info.json
@@ -12,7 +12,8 @@
"pin": "B0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "sleep": true
},
"rgblight": {
"max_brightness": 96
diff --git a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
deleted file mode 100644
index 92296cbc55..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright (C) 2019, 2020 Keyboard.io, Inc
-// 2021 Antoine R. Dumont (@ardumont) <antoine.romain.dumont@gmail.com>
-//
-// this is the style you want to emulate.
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _QW,
- _RS,
- _LW,
-};
-
-// tap: z // hold: SHIFT
-#define Z_SFT SFT_T(KC_Z)
-// tap: / // hold: SHIFT
-#define SLSH_SFT SFT_T(KC_SLSH)
-
-// tap: ` // hold: SHIFT
-#define GRAVE_SFT SFT_T(KC_GRAVE)
-// tap: [ // hold: SHIFT
-#define RBRC_SFT SFT_T(KC_RBRC)
-
-// Layer movment
-#define FN0 MO(_RS) // move to layer 1 (L1)
-#define FN1 TG(_LW) // move to layer 2 (L2)
-#define FN2 TO(_QW) // move to layer 0 (L0)
-
- /*
- * q w e r t || y u i/tab o p
- * a s d f g || h j k l ;
- * z/sft x c v b ` || \ n m , . //sft
- * ctl esc super alt L1 spc || spc L1 alt - ' ctl
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Qwerty */
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
- Z_SFT, KC_X, KC_C, KC_V, KC_B, KC_GRAVE, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, SLSH_SFT,
- KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, KC_SPC, FN0, FN0, KC_SPC, KC_LALT, KC_MINS, KC_QUOT, KC_LCTL
- ),
-
- /*
- * 1 2 3 4 5 || 6 7 8 9 0
- * ! @ # $ % || ^ & * ( )
- * `/sft ~ ? ? ? ~ || | + - / [ ]/sft
- * ctl esc super alt spc L2 || L2 spc alt = esc ctl
- */
- [_RS] = LAYOUT( /* [> RAISE <] */
- 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 ,
- GRAVE_SFT, KC_TILD, KC_NO, KC_NO, KC_NO, _______, _______, KC_PLUS, KC_MINS, KC_SLSH, KC_LBRC, RBRC_SFT,
- _______, _______, _______, _______, _______, FN1, FN1, _______, _______, KC_EQL, _______, _______
- ),
-
- /*
- * F1 F2 F3 F4 F5 || F6 F7 F8 F9 F10
- * __ __ __ __ F11 || F12 __ __ __ __
- * __ __ __ dbg rst eep-rst || __ __ __ __ __ __
- * ctl esc super alt __ L0 || L0 __ alt __ esc ctl
- */
- [_LW] = LAYOUT( /* [> LOWER <] */
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO ,
- KC_NO, KC_NO, KC_NO, DB_TOGG, QK_BOOT, EE_CLR, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
- _______, _______, _______, _______, _______, FN2, FN2, _______, _______, KC_NO, KC_ESC, _______
- )
-};
-
-// Initialize variable holding the binary
-// representation of active modifiers.
-uint8_t mod_state;
-
-bool substitute_keycode(uint16_t keycode, keyrecord_t *record, uint8_t mod_state, uint16_t substitute_keycode) {
- /* Substitute keycode if condition matches */
- // Initialize a boolean variable that keeps track
- // of the delete key status: registered or not?
- static bool key_registered;
- // ctrl activated?
- if ((mod_state & MOD_BIT(KC_LCTL)) == MOD_BIT(KC_LCTL)) {
- if (record->event.pressed) {
- // No need to register KC_LCTL because it's already active.
- unregister_code(KC_LCTL);
- // Send substitute code
- register_code(substitute_keycode);
- // Update the boolean variable to reflect the status of the register
- key_registered = true;
- // Reapplying modifier state so that the held shift key(s)
- // still work even after having tapped the Backspace/Delete key.
- set_mods(mod_state);
- // Do not let QMK process the keycode further
- return false;
- } else {
- // In case substitude_keycode is still even after release of the key
- if (key_registered) {
- unregister_code(substitute_keycode);
- key_registered = false;
- // Do not let QMK process the keycode further
- return false;
- }
- }
- } else { // ctrl got released
- // In case substitude_keycode is still sent after release of the ctrl key
- if (key_registered) {
- unregister_code(substitute_keycode);
- key_registered = false;
- }
- }
- // Else, let QMK process the keycode as usual
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // Store the current modifier state in the variable for later reference
- mod_state = get_mods();
- switch (keycode) {
- case KC_I:
- return substitute_keycode(keycode, record, mod_state, KC_TAB);
- case KC_M:
- return substitute_keycode(keycode, record, mod_state, KC_ENTER);
- case KC_H:
- return substitute_keycode(keycode, record, mod_state, KC_BSPC);
- case KC_D:
- return substitute_keycode(keycode, record, mod_state, KC_DEL);
- case KC_N:
- return substitute_keycode(keycode, record, mod_state, KC_DOWN);
- case KC_P:
- return substitute_keycode(keycode, record, mod_state, KC_UP);
- }
- return true;
-};
diff --git a/keyboards/keyboardio/atreus/keymaps/ardumont/readme.md b/keyboards/keyboardio/atreus/keymaps/ardumont/readme.md
deleted file mode 100644
index d2532d7e97..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/ardumont/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-![ardumont layout](https://i.imgur.com/tuk64AI.png)
-
-# ardumont layout
-
-This is a qwerty layout for the keyboardio/atreus. For the most part, it's a
-straightforward layout. Only the modifiers key are not organized like the default
-layout. Those modifier keys are mostly symmetrically configured.
-
-The idea is that when using a modifier key, some users may expect to use both side of
-the keyboard symmetrically (as in emacs, qutebrowser, terminal/tmux).
-
-Exceptions to the rules are the `Escape` and the `Super` which only exists on the left
-Side of the keyboard. Those are mostly unused.
-
-Note that some keys are not present in the keyboard (e.g `Tab`, `Enter`, ...) since they
-are available from the legacy terminal bindings:
-
-- Ctrl-i: Tab
-- Ctrl-m: Enter
-- Ctrl-h: Backspace
-- Ctrl-d: Del
-- Ctrl-n: Down
-- Ctrl-p: Up
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h b/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h
deleted file mode 100644
index c34fa270b4..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2022 kkokdae <kkokdae@me.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-//#define PERMISSIVE_HOLD
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5
-#define ONESHOT_TIMEOUT 5000
-
-#define AUTO_SHIFT_DISABLED_AT_STARTUP
-#define AUTO_SHIFT_TIMEOUT 0
-#define NO_AUTO_SHIFT_SPECIAL
-#define NO_AUTO_SHIFT_NUMERIC
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c b/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
deleted file mode 100644
index de8491d246..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2022 kkokdae <kkokdae@me.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum my_layers {
- _COLEMAK,
- _QWERTY,
- _FUNC,
- _NUMPAD,
- _SYMBOL
-};
-
-enum my_tds {
- TdH,
- TdL
-};
-
-#define FUNC LT(_FUNC, KC_SPC)
-#define NUMPAD LT(_NUMPAD, KC_BSPC)
-#define DNUMPAD LT(_NUMPAD, KC_DEL)
-#define SYMBOL OSL(_SYMBOL)
-
-#define OSMCMD OSM(MOD_LGUI)
-#define OSMOPT OSM(MOD_LALT)
-#define OSMCTL OSM(MOD_LCTL)
-#define OSMSFT OSM(MOD_LSFT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_COLEMAK] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
- KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
- KC_Z, KC_X, KC_C, KC_D, KC_V, _______, _______, KC_K, KC_H, KC_COMM, KC_DOT, KC_ENT,
- OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
- ),
-
- [_QWERTY] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
- KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
- OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
- ),
-
- [_FUNC] = LAYOUT(
- KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD, KC_MPLY, KC_INS, KC_F7, KC_F8, KC_F9, KC_CAPS,
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_BRIU, KC_F12, KC_F4, KC_F5, KC_F6, TD(TdL),
- KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_BRID, _______, _______, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11,
- _______, _______, _______, CW_TOGG, _______, _______, _______, DNUMPAD, _______, _______, _______, _______
- ),
-
- [_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, S(KC_E), KC_7, KC_8, KC_9, S(KC_F),
- TD(TdL), KC_EQL, KC_ASTR, KC_PLUS, _______, S(KC_C), KC_4, KC_5, KC_6, S(KC_D),
- TD(TdH), KC_DOT, KC_SLSH, KC_MINS, _______, _______, _______, S(KC_A), KC_1, KC_2, KC_3, S(KC_B),
- _______, _______, _______, CW_TOGG, _______, _______, _______, _______, KC_0, _______, _______, _______
- ),
-
- [_SYMBOL] = LAYOUT(
- KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_CIRC, KC_DLR, KC_BSLS, KC_PERC, KC_AT, KC_DQUO,
- KC_QUES, KC_EXLM, KC_HASH, KC_ASTR, KC_AMPR, KC_PIPE, KC_MINS, KC_PLUS, KC_UNDS, KC_EQL,
- KC_LT, KC_LPRN, KC_RPRN, KC_GT, KC_GRV, _______, _______, KC_TILD, KC_SLSH, C(KC_B), KC_COLN, KC_SCLN,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-void dance_hex(tap_dance_state_t *state, void *user_data) {
- switch(state->count) {
- case 1:
- SEND_STRING("0x");
- break;
- case 2:
- SEND_STRING("\\x");
- break;
- }
-}
-
-void dance_lang(tap_dance_state_t *state, void *user_data) {
- uint32_t default_layer;
- switch(state->count) {
- case 1:
- SEND_STRING(SS_LCTL(" ") SS_DELAY(200) SS_TAP(X_ENT));
- case 2:
- default_layer = get_highest_layer(default_layer_state);
- if (default_layer == _COLEMAK) {
- set_single_persistent_default_layer(_QWERTY);
- }
- else if (default_layer == _QWERTY) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- break;
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TdH] = ACTION_TAP_DANCE_FN(dance_hex),
- [TdL] = ACTION_TAP_DANCE_FN(dance_lang)
-};
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md b/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md
deleted file mode 100644
index f7f85f70a6..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# kkokdae keymap - Keyboardio Atreus
-
-This is the keymap available for keyboardio/atreus keyboards.
-
-The default layout used [Colemak Mod-DH](https://colemakmods.github.io/mod-dh/). The prefix keys for vim/tmux users. The symbol is designed for ease of use by programmers.
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk b/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk
deleted file mode 100644
index 75ebcd912b..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-MOUSEKEY_ENABLE = no
-COMMAND_ENABLE = no
-TAP_DANCE_ENABLE = yes
-CAPS_WORD_ENABLE = yes
diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h
deleted file mode 100644
index 0fa53c2d67..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2023 @PoweredByPorridge
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 AUTO_SHIFT_TIMEOUT 210
-
-#define NO_AUTO_SHIFT_NUMERIC
-// #define NO_AUTO_SHIFT_SPECIAL
-
-// retro shift is auto shift on home row mods
-// I no longer use home row mods, but do find this setting helps
-// avoid 'fat fingered' keypresses.
-
-// If RETRO_SHIFT is defined to a value, hold times greater
-// than that value will not produce a tap on release. This enables
-// modifiers to be held for combining with mouse clicks without
-// generating taps on release.
-#define RETRO_SHIFT 425
-
-// can also be defined without a value
-// #define RETRO_SHIFT
-
-// Configure the global tapping term (default: 200ms)
-// Lower than 210 and I can't tap dance brackets without a run up.
-#define TAPPING_TERM 210
-
-#define TAPPING_TERM_PER_KEY
-
-// Apply the modifier on keys that are tapped during a short hold of a modtap
-// Prevents slurred typing (of home row mods)
-#define PERMISSIVE_HOLD
diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c
deleted file mode 100644
index 40c8b0b5aa..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright 2023 @PoweredByPorridge
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Tap Dance keycodes
-enum td_keycodes {
- L_BRAX, // Used in the keymap, add additional keycodes for each tapdance.
- R_BRAX,
- QUOTS,
- TACHE
-};
-
-// Define a type containing as many tapdance states as you need
-typedef enum {
- SINGLE_TAP,
- DOUBLE_TAP, // SINGLE_HOLD,
- TRIPLE_TAP // DOUBLE_SINGLE_TAP
-} td_state_t;
-
-// Create a global instance of the tapdance state type
-static td_state_t td_state;
-
-// Declare your tapdance functions:
-
-// Function to determine the current tapdance state
-uint8_t cur_dance(tap_dance_state_t *state);
-
-// `finished` and `reset` functions for each tapdance keycode
-void lbrax_finished(tap_dance_state_t *state, void *user_data);
-void lbrax_reset(tap_dance_state_t *state, void *user_data);
-
-void rbrax_finished(tap_dance_state_t *state, void *user_data);
-void rbrax_reset(tap_dance_state_t *state, void *user_data);
-
-void quots_finished(tap_dance_state_t *state, void *user_data);
-void quots_reset(tap_dance_state_t *state, void *user_data);
-
-void tache_finished(tap_dance_state_t *state, void *user_data);
-void tache_reset(tap_dance_state_t *state, void *user_data);
-
-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_NUBS, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
- LCTL_T(KC_ESC), KC_LALT, KC_LGUI, KC_LSFT, MO(1), KC_SPC, KC_SPC, MO(2), TD(QUOTS), KC_RSFT, KC_LALT, LCTL_T(KC_TAB)),
-
- [1] = LAYOUT(KC_EXLM, KC_DQUO, LSFT(KC_3), KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_DEL, KC_BSPC,
- KC_F24, LALT(KC_F3), KC_NO, KC_NO, TD(L_BRAX), TD(R_BRAX), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- LCTL(KC_F12), LALT(KC_X), KC_NO, KC_NO, KC_NO, TD(QUOTS), TD(TACHE), KC_MINS, KC_EQL, KC_COMM, KC_DOT, KC_ENT,
- KC_TRNS, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LSFT(KC_TAB)),
-
- [2] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_NO, LALT(KC_F3), KC_NO, KC_NO, TD(L_BRAX), TD(R_BRAX), KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- LCTL(KC_F12), LALT(KC_X), KC_NO, KC_NO, KC_NO, TD(QUOTS), TD(TACHE), KC_MINS, KC_EQL, KC_COMM, KC_DOT, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_TRNS),
-
- [3] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- AS_TOGG, KC_F24, KC_NO, KC_NO, KC_NO, KC_NO, LSA(KC_LEFT), LSA(KC_DOWN), LSA(KC_UP), LSA(KC_RGHT),
- KC_LCTL, LALT(KC_DEL),KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_F12, KC_F13, KC_F14, KC_NO,
- KC_TRNS, KC_F23, KC_LCTL, KC_NO, KC_TRNS, KC_NO, KC_VOLD, KC_MPLY, KC_LSFT, KC_NO, KC_NO, KC_TRNS)
-};
-
-/*
-Notes on keys
-or, why on earth do I have keymap
-lower-shift-z is CTRL-F12 - Darkroom mode in emacs
-lower-x is ALT-X - emacs
-layer3-a is toggle autoshift
-layer3-s is F24 - i3 controls popup reminder
-lower-s is ALT-F3 - multi-select in Sublime text
-*/
-
-
-// Determine the tapdance state to return
-uint8_t cur_dance(tap_dance_state_t *state) {
- if (state->count == 1) {
- return SINGLE_TAP;
- } else if (state->count == 2) {
- return DOUBLE_TAP;
- } else if (state->count == 3) {
- return TRIPLE_TAP;
- } else {
- reset_tap_dance (state);
- return 3;
- }
-}
-
-
-// Handle the possible states for each tapdance keycode you define:
-
-void lbrax_finished(tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(LSFT(KC_9));
- break;
- case DOUBLE_TAP:
- register_code16(KC_LBRC);
- break;
- case TRIPLE_TAP:
- register_code16(LSFT(KC_LBRC));
- }
-}
-
-void lbrax_reset(tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(LSFT(KC_9));
- break;
- case DOUBLE_TAP:
- unregister_code16(KC_LBRC);
- break;
- case TRIPLE_TAP:
- unregister_code16(LSFT(KC_LBRC));
- }
-}
-
-// Handle the possible states for each tapdance keycode you define:
-
-void rbrax_finished(tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(LSFT(KC_0));
- break;
- case DOUBLE_TAP:
- register_code16(KC_RBRC);
- break;
- case TRIPLE_TAP:
- register_code16(LSFT(KC_RBRC));
- }
-}
-
-
-void rbrax_reset(tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(LSFT(KC_0));
- break;
- case DOUBLE_TAP:
- unregister_code16(KC_RBRC);
- break;
- case TRIPLE_TAP:
- unregister_code16(LSFT(KC_RBRC));
- }
-}
-
-void quots_finished(tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_QUOT);
- break;
- case DOUBLE_TAP:
- register_code16(KC_AT);
- break;
- case TRIPLE_TAP:
- register_code16(KC_DQUO);
- }
-}
-
-void quots_reset(tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_QUOT);
- break;
- case DOUBLE_TAP:
- unregister_code16(KC_AT);
- break;
- case TRIPLE_TAP:
- unregister_code16(KC_DQUO);
- }
-}
-
-void tache_finished(tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_NUHS);
- break;
- case DOUBLE_TAP:
-
- register_code16(LSFT(KC_NUHS));
- break;
- case TRIPLE_TAP:
- register_code16(KC_GRV);
- }
-}
-
-void tache_reset(tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_NUHS);
- break;
- case DOUBLE_TAP:
- unregister_code16(LSFT(KC_NUHS));
- break;
- case TRIPLE_TAP:
- unregister_code16(KC_GRV);
- }
-}
-
-// Define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions
-
-tap_dance_action_t tap_dance_actions[] = {
- [L_BRAX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lbrax_finished, lbrax_reset),
- [R_BRAX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rbrax_finished, rbrax_reset),
- [QUOTS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quots_finished, quots_reset),
- [TACHE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tache_finished, tache_reset)
-};
diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md
deleted file mode 100644
index 619654186d..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Keyboardio Atreus with an SLF layout from PoweredByPorridge
-
-SLF stands for [Stiff Little Fingers](https://en.wikipedia.org/wiki/Stiff_Little_Fingers) who were a great punk band from Belfast, Northern Ireland. Stiff Little Fingers is also a good way of describing my hands, a condition which I ascribe to too many winters cycling without gloves. So, I need a keyboard and layout to cope.
-
-I use a Keyboardio Atreus, in fact, they're so good, I use two. I tried all sorts of layouts, and finally came up with the one that suits my stiff fingers.
-
-It has four layers:
-
-0 - Normal - letters and punctuation.
-
-![layer 0](https://i.imgur.com/3Z8PZtI.png)
-
-1 - Symbols (shifted numbers), arrow keys, assorted function keys, Del and Backspace.
-
-![layer 1](https://i.imgur.com/9rJalxV.png)
-
-2 - Numbers, page up, page down, home, and end. Similar assorted functions.
-
-![layer 2](https://i.imgur.com/TYY11b5.png)
-
-3 - F1 to F14, play/pause, volume up/down, Left-shift-Alt left, right, up, down.
-
-![layer 3](https://i.imgur.com/MuWNPTz.png)
-
-Autoshift is important, I use it all the time.
-
-I use tap dance (one, two, or three key presses) for:
-
-* Braces, brackets, and curly brackets. TD(L_BRAX) and TD(R_BRAX)
-* Hash (pound), tilde, and backtick. TD(TACHE)
-* Single quote, double quote, and @. TD(QUOTS)
-
-There are odd keys that are there for a particular reason:
-* F24 - my [I3](https://i3wm.org/) popup to remind me of stuff I always forget.
-* Alt-shift-left/right/up/down - multi-select in Sublime text. \ No newline at end of file
diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk
deleted file mode 100644
index 3285414f97..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-BOOTMAGIC_ENABLE = no
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-UNICODE_ENABLE = no
-AUTO_SHIFT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h b/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h
deleted file mode 100644
index 155b1fbc54..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-/*******************************************************************************
- 88888888888 888 d8b .d888 d8b 888 d8b
- 888 888 Y8P d88P" Y8P 888 Y8P
- 888 888 888 888
- 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
- 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
- 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
- 888 888 888 888 X88 888 888 888 Y8b. 888 X88
- 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
- 888 888
- 888 888
- 888 888
- .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
- d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
- 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
- Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
- "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
- 888
- Y8b d88P
- "Y88P"
-*******************************************************************************/
-
-#pragma once
-
-// Autocorrection dictionary (4 entries):
-// :alot -> a lot
-// accesories -> accessories
-// accomodate -> accommodate
-// alledge -> allege
-
-#define AUTOCORRECT_MIN_LENGTH 5 // ":alot"
-#define AUTOCORRECT_MAX_LENGTH 10 // "accesories"
-#define DICTIONARY_SIZE 73
-
-static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {
- 0x48, 0x0A, 0x00, 0x16, 0x2C, 0x00, 0x17, 0x3E, 0x00, 0x00, 0x4A, 0x11, 0x00, 0x17, 0x1B, 0x00,
- 0x00, 0x07, 0x08, 0x0F, 0x0F, 0x04, 0x00, 0x82, 0x67, 0x65, 0x00, 0x04, 0x07, 0x12, 0x10, 0x12,
- 0x06, 0x06, 0x04, 0x00, 0x84, 0x6D, 0x6F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x08, 0x0C, 0x15, 0x12,
- 0x16, 0x08, 0x06, 0x06, 0x04, 0x00, 0x84, 0x73, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x12, 0x0F,
- 0x04, 0x2C, 0x00, 0x82, 0x20, 0x6C, 0x6F, 0x74, 0x00
-};
diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/config.h b/keyboards/keyboardio/atreus/keymaps/slotthe/config.h
deleted file mode 100644
index 26235c9d91..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/slotthe/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* © 2023 Tony Zorman <soliditsallgood@mailbox.org> (@slotThe)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
-#define TAPPING_TERM 175
-#define HOLD_ON_OTHER_KEY_PRESS
diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c b/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c
deleted file mode 100644
index 6188f14ab9..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/* © 2023 Tony Zorman <soliditsallgood@mailbox.org> (@slotThe)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// NOTE: `M-x occur RET /// RET' gives a good overview.
-
-/// General macros
-
-#define LSPR_SC LGUI_T(KC_SCLN)
-#define LALT_BR LALT_T(KC_LBRC)
-#define LSFT_INS LSFT(KC_INS)
-#define OSMSFT OSM(MOD_LSFT)
-#define Z_SFT LSFT_T(KC_Z)
-#define ZE_SFT LSFT_T(KC_0)
-#define SL_SFT RSFT_T(KC_SLSH)
-#define RETSPR LGUI_T(KC_ENT)
-
-/// Tap dance declarations
-
-// So far, tap dances do different things on
-//
-// - a single press,
-// - a double press,
-// - when held,
-//
-// so expect this many keys as comments.
-enum tap_dances {
- ALT_BR, // [ ] lalt (also works shifted, which gets us { and } for free)
- CTL_PR, // ( ) lctl
- SFT_CI, // ^ ^ lsft (working around LSFT_T not being able to output shifted keys)
- SFT_EX, // ! ! lsft (ditto)
-};
-
-#define CTLPAR TD(CTL_PR)
-#define ALTBRC TD(ALT_BR)
-#define SFTCRC TD(SFT_CI)
-#define SFTEXL TD(SFT_EX)
-
-/// Macro declarations
-
-enum custom_keycodes {
- // -> <- =<< >>= <*> <* *> <$> <&> <|> => ::
- RARR = SAFE_RANGE, LARR, LBND, RBND, APP, RAPP, LAPP, FMAP, PAMF, AALT, IMPLS, DCOL,
-};
-
-/// Key overrides
-
-const key_override_t **key_overrides = (const key_override_t *[]){
- &ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL), // S-BSP ≡ DEL
- // Emacs got me used to these, so let's convince other programs that
- // we are in fact sending the correct keys.
- &ko_make_basic(MOD_MASK_CTRL, KC_I, KC_TAB), // C-i ≡ Tab
- &ko_make_basic(MOD_MASK_CTRL, KC_M, KC_ENT), // C-m ≡ Return
- NULL // Null terminate the array of overrides
-};
-
-/// Layers
-
-enum layer_names { _COLEMAK_DH, _LOWER, _RAISE, _ADJUST };
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define ADJUST MO(_ADJUST)
-#define D_RAISE LT(_RAISE, KC_DOT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Colemak base layer
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | Q | W | F | P | B | | J | L | U | Y | ;+S |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | A | R | S | T | G | | M | N | E | I | O |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | S+Z | X | C | D | V | ARP | REP | K | H | , | . | S+/ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | ESC | TAB | SPR | L1 | SPC | A[] | BSC | C() | L2 | - | ' | RET |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- */
- [_COLEMAK_DH] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, LSPR_SC,
- KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
- Z_SFT, KC_X, KC_C, KC_D, KC_V, QK_AREP, QK_REP, KC_K, KC_H, KC_COMM, D_RAISE, SL_SFT,
- KC_ESC, KC_TAB, KC_LGUI, LOWER, KC_SPC, ALTBRC, KC_BSPC, CTLPAR, RAISE, KC_MINS, KC_QUOT, KC_ENT),
-
- /* Layer 1 (LOWER)
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------.
- | & | *> | >>= | <&> | | | = | + | * | - | RET+M |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------.
- | :: | => | =<< | <|> | @ | | LFT | UP | DWN | RGT | \ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
- | !+S | <* | <*> | <$> | <- | | MEN | -> | $ | # | % | ^+S |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
- | | | | | | | | | L3 | ALT | | S-I |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
- */
- [_LOWER] = LAYOUT(
- KC_AMPR, RAPP, RBND, PAMF, _______, KC_EQL, KC_PLUS, KC_ASTR, KC_MINS, RETSPR,
- DCOL, IMPLS, LBND, AALT, KC_AT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BSLS,
- SFTEXL, LAPP, APP, FMAP, LARR, _______, KC_APP, RARR, KC_DLR, KC_HASH, KC_PERC, SFTCRC,
- _______, _______, _______, _______, _______, _______, _______, _______, ADJUST, KC_LALT, _______, LSFT_INS),
-
- /* Layer 2 (RAISE)
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | 7 | 8 | 9 | | | | + | * | - | |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | : | 4 | 5 | 6 | = | | & | ` | _ | ' | " |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | 0+S | 1 | 2 | 3 | | | | | ! | # | % | ^+S |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | L3 | | | | | | | | |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- */
- [_RAISE] = LAYOUT(
- KC_DOT, KC_7, KC_8, KC_9, _______, _______, KC_PLUS, KC_ASTR, KC_MINS, _______,
- KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_AMPR, KC_GRV, KC_UNDS, KC_QUOT, KC_DQT,
- ZE_SFT, KC_1, KC_2, KC_3, _______, _______, _______, _______, KC_EXLM, KC_HASH, KC_PERC, SFTCRC,
- _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, _______, _______, _______),
-
- /* Layer 3 (ADJUST)
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | | | | | | | F7 | F8 | F9 | F10 |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | | | | | | | F4 | F5 | F6 | F11 |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | | | | | | F1 | F2 | F3 | F12 |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | | | | | | | | | |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, AC_TOGG, _______, KC_F7, KC_F8, KC_F9, KC_F10,
- _______, _______, _______, _______, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
-
-/// Macro definitions
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case RARR:
- if (record->event.pressed) SEND_STRING("->"); break;
- case LARR:
- if (record->event.pressed) SEND_STRING("<-"); break;
- case LBND:
- if (record->event.pressed) SEND_STRING("=<<"); break;
- case RBND:
- if (record->event.pressed) SEND_STRING(">>="); break;
- case APP:
- if (record->event.pressed) SEND_STRING("<*>"); break;
- case RAPP:
- if (record->event.pressed) SEND_STRING("*>"); break;
- case LAPP:
- if (record->event.pressed) SEND_STRING("<*"); break;
- case FMAP:
- if (record->event.pressed) SEND_STRING("<$>"); break;
- case PAMF:
- if (record->event.pressed) SEND_STRING("<&>"); break;
- case AALT:
- if (record->event.pressed) SEND_STRING("<|>"); break;
- case IMPLS:
- if (record->event.pressed) SEND_STRING("=>"); break;
- case DCOL:
- if (record->event.pressed) SEND_STRING("::"); break;
- }
- return true;
-};
-
-//// Tap dance definitions
-
-// Heavily inspired by:
-//
-// https://docs.qmk.fm/?ref=blog.splitkb.com#/feature_tap_dance?id=example-4
-
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_TAP,
- TD_SINGLE_HOLD,
- TD_DOUBLE_TAP,
-} td_state_t;
-
-typedef struct {
- bool is_press_action;
- td_state_t state;
-} td_tap_t;
-
-// Return an integer that corresponds to what kind of tap dance should
-// be executed.
-//
-// Interrupted: If the state of a dance is "interrupted", that means
-// that another key has been hit under the tapping term.
-//
-// Pressed: Whether or not the key is still being pressed. If this value
-// is true, that means the tapping term has ended, but the key is still
-// being pressed down. This generally means the key is being "held".
-td_state_t cur_dance(tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->pressed) return TD_SINGLE_HOLD;
- else return TD_SINGLE_TAP;
- } else if (state->count == 2) return TD_DOUBLE_TAP;
- else return TD_UNKNOWN;
-}
-
-//// ALT_BR
-
-static td_tap_t alt_br_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void lalt_br_finished(tap_dance_state_t *state, void *user_data) {
- alt_br_state.state = cur_dance(state);
- switch (alt_br_state.state) {
- case TD_SINGLE_TAP: register_code(KC_LBRC); break;
- case TD_SINGLE_HOLD: register_code(KC_LALT); break;
- case TD_DOUBLE_TAP: register_code(KC_RBRC); break;
- default: break;
- }
-}
-
-void lalt_br_reset(tap_dance_state_t *state, void *user_data) {
- switch (alt_br_state.state) {
- case TD_SINGLE_TAP: unregister_code(KC_LBRC); break;
- case TD_SINGLE_HOLD: unregister_code(KC_LALT); break;
- case TD_DOUBLE_TAP: unregister_code(KC_RBRC); break;
- default: break;
- }
- alt_br_state.state = TD_NONE;
-}
-
-//// LCTL_PR
-
-static td_tap_t lctl_pr_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void lctl_pr_finished(tap_dance_state_t *state, void *user_data) {
- lctl_pr_state.state = cur_dance(state);
- switch (lctl_pr_state.state) {
- case TD_SINGLE_TAP: register_code16(KC_LPRN); break;
- case TD_SINGLE_HOLD: register_code(KC_LCTL); break;
- case TD_DOUBLE_TAP: register_code16(KC_RPRN); break;
- default: break;
- }
-}
-
-void lctl_pr_reset(tap_dance_state_t *state, void *user_data) {
- switch (lctl_pr_state.state) {
- case TD_SINGLE_TAP: unregister_code16(KC_LPRN); break;
- case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break;
- case TD_DOUBLE_TAP: unregister_code16(KC_RPRN); break;
- default: break;
- }
- lctl_pr_state.state = TD_NONE;
-}
-
-//// SFT_CI
-
-static td_tap_t lsft_ci_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void lsft_ci_finished(tap_dance_state_t *state, void *user_data) {
- lsft_ci_state.state = cur_dance(state);
- switch (lsft_ci_state.state) {
- case TD_SINGLE_TAP: register_code16(KC_CIRC); break;
- case TD_SINGLE_HOLD: register_code(KC_LSFT); break;
- default: break;
- }
-}
-
-void lsft_ci_reset(tap_dance_state_t *state, void *user_data) {
- switch (lsft_ci_state.state) {
- case TD_SINGLE_TAP: unregister_code16(KC_CIRC); break;
- case TD_SINGLE_HOLD: unregister_code(KC_LSFT); break;
- default: break;
- }
- lsft_ci_state.state = TD_NONE;
-}
-
-//// SFT_EX
-
-static td_tap_t lsft_ex_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void lsft_ex_finished(tap_dance_state_t *state, void *user_data) {
- lsft_ex_state.state = cur_dance(state);
- switch (lsft_ex_state.state) {
- case TD_SINGLE_TAP: register_code16(KC_EXLM); break;
- case TD_SINGLE_HOLD: register_code(KC_LSFT); break;
- default: break;
- }
-}
-
-void lsft_ex_reset(tap_dance_state_t *state, void *user_data) {
- switch (lsft_ex_state.state) {
- case TD_SINGLE_TAP: unregister_code16(KC_EXLM); break;
- case TD_SINGLE_HOLD: unregister_code(KC_LSFT); break;
- default: break;
- }
- lsft_ex_state.state = TD_NONE;
-}
-
-//// Actually define the tap-dance actions
-
-tap_dance_action_t tap_dance_actions[] = {
- [ALT_BR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lalt_br_finished, lalt_br_reset),
- [CTL_PR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lctl_pr_finished, lctl_pr_reset),
- [SFT_CI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsft_ci_finished, lsft_ci_reset),
- [SFT_EX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsft_ex_finished, lsft_ex_reset),
-};
diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md b/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md
deleted file mode 100644
index d83bce1d2f..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md
+++ /dev/null
@@ -1,251 +0,0 @@
-# SlotThe's Keyboardio Atreus Keymap
-
-Note: the following is (a relevant and shortened) excerpt from [this
-rewiev](https://tony-zorman.com/posts/atreus-review.html) of the
-keyboard itself. See there for, e.g., some thoughts about modifier
-placement.
-
-## Base layer
-
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.------.
- | Q | W | F | P | B | | J | L | U | Y | M4+; |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.------.
- | A | R | S | T | G | | M | N | E | I | O |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------.
- | S+Z | X | C | D | V | ARP | REP | K | H | , | . | S+/ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------.
- | ESC | TAB | M4 | L1 | SPC | A[] | BSC | C() | L2 | - | ' | RET |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------.
-
-I use [Colemak Mod-DH][colemak-dh] as my layout, so this takes up most of the base of the keyboard.
-
-Perhaps strikingly, I opted for not putting Shift on the thumb,
-but recreating the "ordinary" one-on-each-side setup from the good old typewriter days.
-While I already have a key to access the `LOWER` (L1) layer with my left thumb,
-I had to sacrifice Shift so I could fit a key to the `RAISE` (L2) layer on the right thumb.
-This also jumps to the `ADJUST` (L3) layer when both `LOWER` and `RAISE` are held at the same time.
-I will gladly trade two layers for one Shift key.
-
-One of the most basic things—besides having layers—that one can do with QMK is [mod-taps][qmk:mod-tap].
-These are keys that act as modifiers when held, and as "ordinary" keys when pressed.
-For example, all of the `S+«key»` keys emit Shift when held and `«key»` when pressed.
-There is a slight delay between pressing the key and the press registering,
-since we have to wait for a possible tap,
-which keeps me from using modifiers on the home-row, as some people like to do.
-Likewise, the `M4+;` key acts as Super when held and as `;` when pressed.
-At this point, it is actually my main way to press the Super key,
-even though I don't find the real `M4` key particularly hard to hit with my thumb.
-Sometimes these things just happen,
-I suppose,
-though it may help that I press both outer keys of the top row (that is, `q` and `;`) with my ring finger
-instead of my pinky.
-
-The `A[]` and `C()` keys are utilising [tap dances][qmk:tap-dance],
-in order to do even more.
-Tap dances are very similar to mod-taps,
-only in addition to just differentiating between a "pressed" and a "held" state,
-QMK now also keeps track of *how often* a key has been tapped.
-So far, [my setup][qmk:slotthe:tapdances] here is quite basic;
-I only check whether a key was pressed once, twice, or is being held.
-This allows me to not need extra keys for parentheses,
-as they can fit on the modifier keys:
-
- - `A[]`: Alt when held, `[` when pressed once, and `]` when pressed twice.
- This one is especially neat, since tap dances play well with other modifiers,
- so pressing `S-M1` once will result in `{` and pressing it twice gives `}`.
-
- - `C()`: Control when held, `(` when pressed once, and `)` when pressed twice.
-
-I don't mind having the extra indirection for the respective closed delimiter,
-as [paredit][emacs:paredit],
-[puni][emacs:puni],
-`electric-pair-mode`,
-or a different package of choice usually takes care of inserting it.
-
-The `REP` and `AREP` keys make use of the [Repeat Key][qmk:repeat-key] functionality;
-basically, `REP` executes the key chord that was last pressed.
-On the other hand,
-`AREP` is an alternative, configurable, of "repeating" things;
-by default, it turns some directional movements
-around—e.g., `M-f` becomes `M-b`—but
-it can be made to pretty much input anything one wants.
-
-## Layer 1
-
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------.
- | & | *> | >>= | <&> | | | = | + | * | - | M4+RT |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------.
- | :: | => | =<< | <|> | @ | | LFT | UP | DWN | RGT | \ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
- | S+! | <* | <*> | <$> | <- | | MEN | -> | $ | # | % | S+^ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
- | | | | | | | | | L3 | ALT | | S-Ins |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------.
-
-Guess which programming language I like based on this layer's [macros][qmk:macros] :).
-
-Crucially, keys that were "Shift when held,
-*something* when pressed" on the base layer retain the Shift part of that functionality.
-This is used for the commutativity of the modifier
-keys—i.e., it does not matter whether I press `S-L1-«key»` or `L1-S-«key»`—which
-would otherwise drive me insane.
-The same goes for all fall-through keys:
-keys that appear blank in the above layout.
-These aren't blocked or anything,
-just no new functionality is added
-so the key falls back to what's on the next lowest layer.
-In plain terms,
-the key to the left of `L3` will still be Control,
-as I can comfortably press that while holding down something with my left hand.
-The same can't be said for the Alt key,
-which is on the left hand by default,
-so a separate binding for it has to be created on the right hand.
-Thus,
-as the two don't commute,
-key chords involving the LOWER layer and Alt are to be avoided if possible.
-
-The `S-Ins` key is not some sort of tap,
-but actually just emits a Shift-Insert,
-which can be used to paste stuff from the [X11 primary selection][x11:clipboard].
-
-## Layer 2
-
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | 7 | 8 | 9 | | | | + | * | - | |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | : | 4 | 5 | 6 | = | | | ` | _ | ' | " |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | S+0 | 1 | 2 | 3 | | | | | | # | % | S+^ |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | L3 | | | | | | | | |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
-
-A relatively unspectacular layer,
-RAISE is mainly used for numbers,
-and number adjacent things.
-Some symbols related to this,
-like `=`, `+`, `*`, and `-`,
-are replicated from the LOWER layer.
-This is due to the above mentioned issues of inserting arithmetic.
-This layer also features \` and `'` quite prominently,
-as these are important for [CDLaTeX].
-Plus, putting `'` and `"` on this layer circumvents the difficult to hit key on the base layer.
-
-## Layer 3
-
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | | | | | | | F7 | F8 | F9 | F10 |
- .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----.
- | | | | | | | | F4 | F5 | F6 | F11 |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | | | | | | F1 | F2 | F3 | F12 |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
- | | | | | | | | | | | | |
- .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.
-
-So far, only the seldom used F-keys are present here.
-As should be obvious, this is the least developed layer,
-and also the one that'll probably change the most in the future.
-Currently, I'm thinking of putting some XMonad specific bindings on here,
-which could even to free up the Super key to be used inside of Emacs
-for certain things—that would certainly be a worthwhile experiment.
-Other thoughts include things like volume and brightness controls,
-although this is less critical since my laptop keyboard is never far away.
-
-## Other features
-
-There are some features that aren't necessarily reflected in the keys themselves,
-yet are quite essential for day-to-day use.
-The TL;DR can be found in [rules.mk][./rules.mk].
-
-### [Key overrides][qmk:key-overrides]
-
-Quoting from the documentation
-
-> Key overrides allow you to override modifier-key combinations to send a different modifier-key combination
-> or perform completely custom actions.
-
-Some keys on the keyboard are quite hard to hit.
-On the default layout,
-one of these turns out to be the Tab key,
-which is nonetheless important in a lot of situations.
-Conveniently, Emacs interprets `C-i` as Tab, so there is less need to actually hit the "real" key.
-However, not all programs are quite so understanding—or old, I guess.
-With key overrides, one can send a real `TAB` whenever `C-i` is pressed;
-no special convention on how to interpret certain key chords required!
-I also rebound `C-m` to `RET` (with the same justification), and `S-BSP` to `DEL`.
-
-This is one of those features that I didn't know I needed,
-yet now couldn't live without anymore.
-I'm definitely looking forward to discovering new and interesting ways of using this!
-
-### [Autocorrect][qmk:autocorrect]
-
-This is a quaint little feature: auto-correct inside of your keyboard's firmware!
-I promise that it's not as bad as it sounds.
-It does not work automatically, thankfully, but is based off a given list of replacements.
-For example,
-
- widht -> width
-
-would fire anytime one writes `widht`, which then gets replaced by `width`.
-This is based on (a trie of) the most recently pressed keys,
-so whenever one actually wants to write `widht`
-all that's needed is pressing, for example, any modifier during the insertion.
-
-As I've really just been trying this out for a laugh, my current word list is quite short:
-
- :alot -> a lot
- accesories -> accessories
- accomodate -> accommodate
- alledge -> allege
-
-In general,
-I think the solution to stop misspelling a word is not to remap key sequences on the firmware level,
-but to—you know—learn how to spell that word.
-Still,
-I can imagine at least one or two use-cases where something like this could be useful,
-so I figured it might be nice to make people aware of this features' existence.
-
-In addition—as I've found out on three separate occasions so far—using the words "auto-correct, but in firmware"
-makes people stare in utter disbelief and/or disgust at your keyboard.
-That alone makes this feature worth it.
-
-### [Caps Word][qmk:caps-word]
-
-Caps Word is a clever alternative to Caps Lock,
-which I enable by pressing both Shift keys together.
-After that,
-all of the letter keys are shifted,
-and `-` becomes `_`
-until a different key (excluding common sense ones like backspace) is pressed.
-This is very useful for, e.g.,
-writing long constants,
-as these tend to have capital names separated with underscores:
-writing `BOTH_SHIFTS_TURNS_ON_CAPS_WORD` has never been easier!
-
-One thing to note is that,
-while layer switching works just fine in "Caps Word mode",
-the [Tri Layer][qmk:tri-layer] feature does not seem to play nicely with it;
-i.e., the mode gets disabled when switching to these layers.
-This is also the reason why I have an explicit LOWER, RAISE, and ADJUST setup,
-instead of just using Tri Layer.
-One could fiddle with the `caps_word_press_user` callback,
-but it seemed much easier to just create one additional layer toggle instead.
-I haven't looked at how hard it would be to hack this into Caps Word,
-so maybe this is a future pull request.
-
-[CDLaTeX]: https://github.com/cdominik/cdlatex
-[colemak-dh]: https://colemakmods.github.io/mod-dh/
-[emacs:paredit]: https://paredit.org/
-[emacs:puni]: https://github.com/AmaiKinono/puni
-[qmk:autocorrect]: https://docs.qmk.fm/#/feature_autocorrect
-[qmk:caps-word]: https://docs.qmk.fm/#/feature_caps_word
-[qmk:key-overrides]: https://docs.qmk.fm/#/feature_key_overrides
-[qmk:macros]: https://docs.qmk.fm/#/feature_macros
-[qmk:mod-tap]: https://docs.qmk.fm/#/mod_tap
-[qmk:repeat-key]: https://docs.qmk.fm/#/feature_repeat_key
-[qmk:slotthe:tapdances]: https://github.com/slotThe/qmk_firmware/blob/keyboardio/atreus/slotThe/keyboards/keyboardio/atreus/keymaps/slotThe/keymap.c#L187
-[qmk:tap-dance]: https://docs.qmk.fm/#/feature_tap_dance
-[qmk:tri-layer]: https://docs.qmk.fm/#/feature_tri_layer
-[x11:clipboard]: https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html
diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk b/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk
deleted file mode 100644
index b603193f85..0000000000
--- a/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-TAP_DANCE_ENABLE = yes
-KEY_OVERRIDE_ENABLE = yes
-AUTOCORRECT_ENABLE = yes
-CAPS_WORD_ENABLE = yes
-REPEAT_KEY_ENABLE = yes
-
-LTO_ENABLE = yes
-COMMAND_ENABLE = no
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/keyboardio/model01/config.h b/keyboards/keyboardio/model01/config.h
index 2e4101537f..ec05a34c49 100644
--- a/keyboards/keyboardio/model01/config.h
+++ b/keyboards/keyboardio/model01/config.h
@@ -17,59 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
/* key matrix size; rows are doubled for split */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
-
-/* RGB matrix constants */
-#define RGB_MATRIX_LED_COUNT 64
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/keyboardio/model01/info.json b/keyboards/keyboardio/model01/info.json
index 6d2ca5ceb1..fd17535be4 100644
--- a/keyboards/keyboardio/model01/info.json
+++ b/keyboards/keyboardio/model01/info.json
@@ -9,7 +9,104 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "driver": "custom",
+ "layout": [
+ {"matrix": [3, 7], "x": 3, "y": 35, "flags": 4},
+ {"matrix": [2, 7], "x": 0, "y": 26, "flags": 4},
+ {"matrix": [1, 7], "x": 0, "y": 17, "flags": 4},
+ {"matrix": [0, 7], "x": 0, "y": 6, "flags": 4},
+ {"matrix": [0, 6], "x": 14, "y": 5, "flags": 4},
+ {"matrix": [1, 6], "x": 15, "y": 16, "flags": 4},
+ {"matrix": [2, 6], "x": 16, "y": 25, "flags": 4},
+ {"matrix": [3, 6], "x": 17, "y": 34, "flags": 4},
+ {"matrix": [3, 5], "x": 31, "y": 29, "flags": 4},
+ {"matrix": [2, 5], "x": 31, "y": 19, "flags": 4},
+ {"matrix": [1, 5], "x": 30, "y": 11, "flags": 4},
+ {"matrix": [0, 5], "x": 30, "y": 1, "flags": 4},
+ {"matrix": [0, 4], "x": 45, "y": 0, "flags": 4},
+ {"matrix": [1, 4], "x": 45, "y": 8, "flags": 4},
+ {"matrix": [2, 4], "x": 46, "y": 17, "flags": 4},
+ {"matrix": [3, 4], "x": 46, "y": 27, "flags": 4},
+ {"matrix": [3, 3], "x": 60, "y": 27, "flags": 4},
+ {"matrix": [2, 3], "x": 60, "y": 18, "flags": 4},
+ {"matrix": [1, 3], "x": 60, "y": 9, "flags": 4},
+ {"matrix": [0, 3], "x": 60, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 74, "y": 2, "flags": 4},
+ {"matrix": [1, 2], "x": 74, "y": 11, "flags": 4},
+ {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
+ {"matrix": [3, 2], "x": 74, "y": 28, "flags": 4},
+ {"matrix": [2, 1], "x": 89, "y": 30, "flags": 4},
+ {"matrix": [1, 1], "x": 89, "y": 19, "flags": 4},
+ {"matrix": [0, 1], "x": 89, "y": 7, "flags": 4},
+ {"matrix": [0, 0], "x": 70, "y": 38, "flags": 1},
+ {"matrix": [1, 0], "x": 82, "y": 41, "flags": 1},
+ {"matrix": [2, 0], "x": 93, "y": 45, "flags": 1},
+ {"matrix": [3, 0], "x": 104, "y": 50, "flags": 1},
+ {"matrix": [3, 1], "x": 74, "y": 64, "flags": 1},
+ {"matrix": [7, 6], "x": 149, "y": 64, "flags": 1},
+ {"matrix": [7, 7], "x": 119, "y": 50, "flags": 1},
+ {"matrix": [6, 7], "x": 130, "y": 45, "flags": 1},
+ {"matrix": [5, 7], "x": 141, "y": 41, "flags": 1},
+ {"matrix": [4, 7], "x": 153, "y": 38, "flags": 1},
+ {"matrix": [4, 6], "x": 134, "y": 7, "flags": 4},
+ {"matrix": [5, 6], "x": 134, "y": 19, "flags": 4},
+ {"matrix": [6, 6], "x": 134, "y": 30, "flags": 4},
+ {"matrix": [7, 5], "x": 149, "y": 28, "flags": 4},
+ {"matrix": [6, 5], "x": 148, "y": 20, "flags": 4},
+ {"matrix": [5, 5], "x": 149, "y": 11, "flags": 4},
+ {"matrix": [4, 5], "x": 149, "y": 2, "flags": 4},
+ {"matrix": [4, 4], "x": 163, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 163, "y": 9, "flags": 4},
+ {"matrix": [6, 4], "x": 163, "y": 18, "flags": 4},
+ {"matrix": [7, 4], "x": 163, "y": 27, "flags": 4},
+ {"matrix": [7, 3], "x": 177, "y": 27, "flags": 4},
+ {"matrix": [6, 3], "x": 177, "y": 17, "flags": 4},
+ {"matrix": [5, 3], "x": 178, "y": 8, "flags": 4},
+ {"matrix": [4, 3], "x": 178, "y": 0, "flags": 4},
+ {"matrix": [4, 2], "x": 193, "y": 1, "flags": 4},
+ {"matrix": [5, 2], "x": 193, "y": 11, "flags": 4},
+ {"matrix": [6, 2], "x": 192, "y": 19, "flags": 4},
+ {"matrix": [7, 2], "x": 192, "y": 29, "flags": 4},
+ {"matrix": [7, 1], "x": 206, "y": 34, "flags": 4},
+ {"matrix": [6, 1], "x": 207, "y": 25, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 16, "flags": 4},
+ {"matrix": [4, 1], "x": 209, "y": 5, "flags": 4},
+ {"matrix": [4, 0], "x": 224, "y": 6, "flags": 4},
+ {"matrix": [5, 0], "x": 223, "y": 17, "flags": 4},
+ {"matrix": [6, 0], "x": 223, "y": 26, "flags": 4},
+ {"matrix": [7, 0], "x": 220, "y": 35, "flags": 4}
+ ]
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h b/keyboards/keyboardio/model01/keymaps/tw1t611/config.h
deleted file mode 100644
index 8ab9d8b025..0000000000
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 James Laird-Wah
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/keyboardio/model01/keymaps/tw1t611/keymap.c b/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
deleted file mode 100644
index 900a3f29aa..0000000000
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-/* layer constants */
-enum {
- DEF = 0,
- MOD,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[DEF] = LAYOUT(
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , RGB_MOD, KC_MUTE, KC_Y , KC_U , KC_I , KC_O , KC_P , DE_ADIA,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , DE_SECT, _______, KC_H , KC_J , KC_K , KC_L , DE_SLSH, DE_ODIA,
- DE_PIPE, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, KC_N , KC_M , DE_COMM, DE_DOT , DE_MINS, DE_UDIA,
- KC_LALT, KC_LGUI,
- KC_SPC , KC_ENT ,
- KC_LSFT, MO(MOD),
- KC_BSPC, KC_DEL ,
- KC_LCTL, KC_RCTL
- ),
-[MOD] = LAYOUT(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
- DE_CIRC, DE_QUOT, DE_DQUO, DE_LCBR, DE_RCBR, DE_GRV , RGB_TOG, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , DE_EQL , DE_PERC,
- DE_TILD, DE_EXLM, DE_DLR , DE_LPRN, DE_RPRN, DE_AMPR, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, DE_QUES, DE_ASTR,
- DE_BSLS, DE_HASH, DE_LABK, DE_LBRC, DE_RBRC, DE_RABK, _______, QK_BOOT, DE_AT , DE_EURO, DE_SCLN, DE_COLN, DE_UNDS, DE_PLUS,
- _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
- _______, _______
- )
-};
-
-/* template for new layouts:
-LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
- _______, _______
- )
-*/
-
-/* vim: set ts=2 sw=2 et: */
diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/readme.md b/keyboards/keyboardio/model01/keymaps/tw1t611/readme.md
deleted file mode 100644
index b9d728831c..0000000000
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Keymap for Keyboardio's Model01 by tw1t611
-
-Features:
-- german keymap
-- vim optimized
diff --git a/keyboards/keyboardio/model01/leds.c b/keyboards/keyboardio/model01/leds.c
index 7e65134bd4..3fb502cb27 100644
--- a/keyboards/keyboardio/model01/leds.c
+++ b/keyboards/keyboardio/model01/leds.c
@@ -45,37 +45,6 @@ void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b) {
#ifdef RGB_MATRIX_ENABLE
-__attribute__ ((weak))
-led_config_t g_led_config = { {
- { 27, 26, 20, 19, 12, 11, 4, 3 },
- { 28, 25, 21, 18, 13, 10, 5, 2 },
- { 29, 24, 22, 17, 14, 9, 6, 1 },
- { 30, 31, 23, 16, 15, 8, 7, 0 },
- { 60, 59, 52, 51, 44, 43, 37, 36 },
- { 61, 58, 53, 50, 45, 42, 38, 35 },
- { 62, 57, 54, 49, 46, 41, 39, 34 },
- { 63, 56, 55, 48, 47, 40, 32, 33 }
-}, {
- { 3, 35 }, { 0, 26 }, { 0, 17 }, { 0, 6 }, { 14, 5 }, { 15, 16 }, { 16, 25 }, { 17, 34 },
- { 31, 29 }, { 31, 19 }, { 30, 11 }, { 30, 1 }, { 45, 0 }, { 45, 8 }, { 46, 17 }, { 46, 27 },
- { 60, 27 }, { 60, 18 }, { 60, 9 }, { 60, 0 }, { 74, 2 }, { 74, 11 }, { 75, 20 }, { 74, 28 },
- { 89, 30 }, { 89, 19 }, { 89, 7 }, { 70, 38 }, { 82, 41 }, { 93, 45 }, { 104, 50 }, { 74, 64 },
- { 149, 64 }, { 119, 50 }, { 130, 45 }, { 141, 41 }, { 153, 38 }, { 134, 7 }, { 134, 19 }, { 134, 30 },
- { 149, 28 }, { 148, 20 }, { 149, 11 }, { 149, 2 }, { 163, 0 }, { 163, 9 }, { 163, 18 }, { 163, 27 },
- { 177, 27 }, { 177, 17 }, { 178, 8 }, { 178, 0 }, { 193, 1 }, { 193, 11 }, { 192, 19 }, { 192, 29 },
- { 206, 34 }, { 207, 25 }, { 208, 16 }, { 209, 5 }, { 224, 6 }, { 223, 17 }, { 223, 26 }, { 220, 35 }
-}, {
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4
-} };
-
-
static struct {
uint8_t b;
uint8_t g;
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
index 2382185362..789bb7af02 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
@@ -42,9 +42,8 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
+#ifdef ENCODER_MAP_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
/*
Rev1.1 Rev1
,-----------------------, ,-----------------------,
@@ -57,37 +56,12 @@ Rev1.1 Rev1
| | | | E1 | | | | | |
`-----------------------' `-----------------------'
*/
-
- // First encoder (E1)
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- // Second encoder (E2)
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- // Third encoder (E3)
- } else if (index == 2) {
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- }
- return true;
-}
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }
+#endif
+};
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
index 371e8e9941..944f822fb3 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
@@ -125,8 +125,7 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+#ifdef ENCODER_MAP_ENABLE
/*
,-----------------------,
| E1 | E2 | E3 | E4 |
@@ -138,93 +137,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
| | | | E1 |
`-----------------------'
*/
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) },
+ [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) },
+ [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
+#endif
+};
- // First encoder (E1)
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Browser tab switching
- if (clockwise) {
- tap_code16(LCTL(KC_TAB));
- } else {
- tap_code16(LCTL(LSFT(KC_TAB)));
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- break;
- }
- // Second encoder (E2)
- } else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Page Down/Up
- if (clockwise) {
- tap_code16(KC_PGDN);
- } else {
- tap_code16(KC_PGUP);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- break;
- }
- // Third encoder (E3)
- } else if (index == 2) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Mouse wheel up/down
- if (clockwise) {
- tap_code(KC_MS_WH_DOWN);
- } else {
- tap_code(KC_MS_WH_UP);
- }
- break;
- case _MEDIA:
- // BRIGHTNESS Up/Down
- if (clockwise) {
- tap_code16(KC_BRIGHTNESS_UP);
- } else {
- tap_code16(KC_BRIGHTNESS_DOWN);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- break;
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- case _MEDIA:
- // Volume Up/Down
- if (clockwise) {
- tap_code16(KC_AUDIO_VOL_UP);
- } else {
- tap_code16(KC_AUDIO_VOL_DOWN);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- break;
- }
- }
- return true;
-}
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
index dc3e29cf8b..33bd0c3611 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
+++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
@@ -1,2 +1,3 @@
OLED_ENABLE = yes
COMBO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
index 7d48591cd2..4ca3fc944b 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
@@ -27,26 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 0 | . | = | + |
* `-----------------------'
*/
- [0] = LAYOUT_ortho_4x4(
+ LAYOUT_ortho_4x4(
KC_P7, KC_P8, KC_P9, KC_PSLS,
KC_P4, KC_P5, KC_P6, KC_PAST,
KC_P1, KC_P2, KC_P3, KC_PMNS,
- KC_P0, KC_PDOT, KC_PEQL, KC_PPLS ),
- [1] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
- [2] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
- [3] = 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 ),
+ KC_P0, KC_PDOT, KC_PEQL, KC_PPLS
+ ),
};
@@ -69,8 +55,7 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+#ifdef ENCODER_MAP_ENABLE
/*
Rev1.1 Rev1
,-----------------------, ,-----------------------,
@@ -84,35 +69,11 @@ Rev1.1 Rev1
`-----------------------' `-----------------------'
*/
- // First encoder (E1)
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- // Second encoder (E2)
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- // Third encoder (E3)
- } else if (index == 2) {
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- }
- return true;
-}
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }
+#endif
+};
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
+++ b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/config.h b/keyboards/keychron/c1_pro/ansi/rgb/config.h
index a88319a63d..c5e293d1df 100644
--- a/keyboards/keychron/c1_pro/ansi/rgb/config.h
+++ b/keyboards/keychron/c1_pro/ansi/rgb/config.h
@@ -23,24 +23,10 @@
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 49
-#define DRIVER_2_LED_TOTAL 39
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
/* Set led driver current */
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* Enable caps_lock, win os and mac os indicator */
#define CAPS_MAC_WIN_LED_INDEX 63
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/info.json b/keyboards/keychron/c1_pro/ansi/rgb/info.json
index fcd805706b..64d45e3595 100644
--- a/keyboards/keychron/c1_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c1_pro/ansi/rgb/info.json
@@ -224,6 +224,7 @@
{"matrix":[5, 14], "flags":1, "x":198, "y":64},
{"matrix":[5, 15], "flags":1, "x":211, "y":64},
{"matrix":[4, 14], "flags":1, "x":224, "y":64}
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c
index c04e82a44e..e4c640d6bf 100644
--- a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c
+++ b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c
@@ -18,107 +18,107 @@
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {0, I_14, G_14, H_14}, // CAPS_MAC_WIN_LED_INDEX
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // CAPS_MAC_WIN_LED_INDEX
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
// clang-format on
diff --git a/keyboards/keychron/c1_pro/ansi/white/config.h b/keyboards/keychron/c1_pro/ansi/white/config.h
index a8a836c5dd..2db91f7053 100644
--- a/keyboards/keychron/c1_pro/ansi/white/config.h
+++ b/keyboards/keychron/c1_pro/ansi/white/config.h
@@ -21,26 +21,11 @@
/* LED Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-
-/* LED Matrix Configuration */
-#define LED_MATRIX_LED_COUNT 90
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-/* Set led driver current */
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
-/* turn off effects when suspended */
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
/* Enbale caps_lcok, win os and mac os indicator */
#define CAPS_LOCK_LED_INDEX 63
#define MAC_LOCK_LED_INDEX 64
#define WIN_LOCK_LED_INDEX 65
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES)
-#define LED_MATRIX_KEYPRESSES
-#define LED_MATRIX_KEYRELEASES
diff --git a/keyboards/keychron/c1_pro/ansi/white/info.json b/keyboards/keychron/c1_pro/ansi/white/info.json
index 4a6c6e2b8d..c64183a739 100644
--- a/keyboards/keychron/c1_pro/ansi/white/info.json
+++ b/keyboards/keychron/c1_pro/ansi/white/info.json
@@ -107,8 +107,6 @@
"led_matrix": {
"driver": "snled27351",
"animations": {
- "none": true,
- "solid": true,
"breathing": true,
"band_pinwheel": true,
"band_spiral": true,
@@ -221,6 +219,8 @@
{"matrix":[5, 14], "flags":1, "x":198, "y":64},
{"matrix":[5, 15], "flags":1, "x":211, "y":64},
{"matrix":[3, 15], "flags":1, "x":224, "y":64}
- ]
+ ],
+ "sleep": true,
+ "react_on_keyup": true
}
}
diff --git a/keyboards/keychron/c1_pro/ansi/white/white.c b/keyboards/keychron/c1_pro/ansi/white/white.c
index 15f291e80c..2b41845c9b 100644
--- a/keyboards/keychron/c1_pro/ansi/white/white.c
+++ b/keyboards/keychron/c1_pro/ansi/white/white.c
@@ -18,107 +18,107 @@
// clang-format off
#ifdef LED_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | LED address
* | | */
- {0, A_16}, // esc
- {0, A_15}, // f1
- {0, A_14}, // f2
- {0, A_13}, // f3
- {0, A_12}, // f4
- {0, A_11}, // f5
- {0, A_10}, // f6
- {0, A_9}, // f7
- {0, A_8}, // f8
- {0, A_7}, // f9
- {0, A_6}, // f10
- {0, A_5}, // f11
- {0, A_4}, // f12
- {0, A_2}, // print
- {0, A_1}, // siri
- {0, G_1}, // light
+ {0, CB1_CA16}, // esc
+ {0, CB1_CA15}, // f1
+ {0, CB1_CA14}, // f2
+ {0, CB1_CA13}, // f3
+ {0, CB1_CA12}, // f4
+ {0, CB1_CA11}, // f5
+ {0, CB1_CA10}, // f6
+ {0, CB1_CA9}, // f7
+ {0, CB1_CA8}, // f8
+ {0, CB1_CA7}, // f9
+ {0, CB1_CA6}, // f10
+ {0, CB1_CA5}, // f11
+ {0, CB1_CA4}, // f12
+ {0, CB1_CA2}, // print
+ {0, CB1_CA1}, // siri
+ {0, CB7_CA1}, // light
- {0, B_16}, // ~
- {0, B_15}, // 1!
- {0, B_14}, // 2@
- {0, B_13}, // 3#
- {0, B_12}, // 4$
- {0, B_11}, // 5%
- {0, B_10}, // 6^
- {0, B_9}, // 7&
- {0, B_8}, // 8*
- {0, B_7}, // 9(
- {0, B_6}, // 0)
- {0, B_5}, // -_
- {0, B_4}, // =+
- {0, B_3}, // back space
- {0, B_2}, // INS
- {0, B_1}, // HOME
- {0, H_1}, // PGUP
+ {0, CB2_CA16}, // ~
+ {0, CB2_CA15}, // 1!
+ {0, CB2_CA14}, // 2@
+ {0, CB2_CA13}, // 3#
+ {0, CB2_CA12}, // 4$
+ {0, CB2_CA11}, // 5%
+ {0, CB2_CA10}, // 6^
+ {0, CB2_CA9}, // 7&
+ {0, CB2_CA8}, // 8*
+ {0, CB2_CA7}, // 9(
+ {0, CB2_CA6}, // 0)
+ {0, CB2_CA5}, // -_
+ {0, CB2_CA4}, // =+
+ {0, CB2_CA3}, // back space
+ {0, CB2_CA2}, // INS
+ {0, CB2_CA1}, // HOME
+ {0, CB8_CA1}, // PGUP
- {0, C_16}, // tab
- {0, C_15}, // q
- {0, C_14}, // w
- {0, C_13}, // e
- {0, C_12}, // r
- {0, C_11}, // t
- {0, C_10}, // y
- {0, C_9}, // u
- {0, C_8}, // i
- {0, C_7}, // o
- {0, C_6}, // p
- {0, C_5}, // [{
- {0, C_4}, // ]}
- {0, C_3}, // \|
- {0, C_2}, // DEL
- {0, C_1}, // END
- {0, G_6}, // PGDN
+ {0, CB3_CA16}, // tab
+ {0, CB3_CA15}, // q
+ {0, CB3_CA14}, // w
+ {0, CB3_CA13}, // e
+ {0, CB3_CA12}, // r
+ {0, CB3_CA11}, // t
+ {0, CB3_CA10}, // y
+ {0, CB3_CA9}, // u
+ {0, CB3_CA8}, // i
+ {0, CB3_CA7}, // o
+ {0, CB3_CA6}, // p
+ {0, CB3_CA5}, // [{
+ {0, CB3_CA4}, // ]}
+ {0, CB3_CA3}, // \|
+ {0, CB3_CA2}, // DEL
+ {0, CB3_CA1}, // END
+ {0, CB7_CA6}, // PGDN
- {0, D_16}, // caps lock
- {0, D_15}, // a
- {0, D_14}, // s
- {0, D_13}, // d
- {0, D_12}, // f
- {0, D_11}, // g
- {0, D_10}, // h
- {0, D_9}, // j
- {0, D_8}, // k
- {0, D_7}, // l
- {0, D_6}, // ;:
- {0, D_5}, // '"
- {0, D_3}, // enter
+ {0, CB4_CA16}, // caps lock
+ {0, CB4_CA15}, // a
+ {0, CB4_CA14}, // s
+ {0, CB4_CA13}, // d
+ {0, CB4_CA12}, // f
+ {0, CB4_CA11}, // g
+ {0, CB4_CA10}, // h
+ {0, CB4_CA9}, // j
+ {0, CB4_CA8}, // k
+ {0, CB4_CA7}, // l
+ {0, CB4_CA6}, // ;:
+ {0, CB4_CA5}, // '"
+ {0, CB4_CA3}, // enter
- {0, H_7}, // CPAS
- {0, H_8}, // MAC
- {0, H_9}, // WIN
+ {0, CB8_CA7}, // CPAS
+ {0, CB8_CA8}, // MAC
+ {0, CB8_CA9}, // WIN
- {0, E_16}, // left shift
- {0, E_14}, // z
- {0, E_13}, // x
- {0, E_12}, // c
- {0, E_11}, // v
- {0, E_10}, // b
- {0, E_9}, // b
- {0, E_8}, // n
- {0, E_7}, // m
- {0, E_6}, // ,<
- {0, E_5}, // .>
- {0, E_3}, // right shift
- {0, E_1}, // up
+ {0, CB5_CA16}, // left shift
+ {0, CB5_CA14}, // z
+ {0, CB5_CA13}, // x
+ {0, CB5_CA12}, // c
+ {0, CB5_CA11}, // v
+ {0, CB5_CA10}, // b
+ {0, CB5_CA9}, // b
+ {0, CB5_CA8}, // n
+ {0, CB5_CA7}, // m
+ {0, CB5_CA6}, // ,<
+ {0, CB5_CA5}, // .>
+ {0, CB5_CA3}, // right shift
+ {0, CB5_CA1}, // up
- {0, F_16}, // left ctrl
- {0, F_15}, // left command
- {0, F_14}, // left option
- {0, F_10}, // space
- {0, F_6}, // right command
- {0, F_5}, // right option
- {0, F_4}, // right ctrl
- {0, F_3}, // Fn
- {0, F_2}, // left
- {0, F_1}, // down
- {0, G_13}, // right
+ {0, CB6_CA16}, // left ctrl
+ {0, CB6_CA15}, // left command
+ {0, CB6_CA14}, // left option
+ {0, CB6_CA10}, // space
+ {0, CB6_CA6}, // right command
+ {0, CB6_CA5}, // right option
+ {0, CB6_CA4}, // right ctrl
+ {0, CB6_CA3}, // Fn
+ {0, CB6_CA2}, // left
+ {0, CB6_CA1}, // down
+ {0, CB7_CA13}, // right
};
// clang-format on
diff --git a/keyboards/keychron/c1_pro/c1_pro.c b/keyboards/keychron/c1_pro/c1_pro.c
index 607cd958ad..178dca8121 100644
--- a/keyboards/keychron/c1_pro/c1_pro.c
+++ b/keyboards/keychron/c1_pro/c1_pro.c
@@ -16,19 +16,6 @@
#include "quantum.h"
-// clang-format off
-
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
-// clang-format on
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/c1_pro/config.h b/keyboards/keychron/c1_pro/config.h
index 2d81490471..f553399f4b 100644
--- a/keyboards/keychron/c1_pro/config.h
+++ b/keyboards/keychron/c1_pro/config.h
@@ -16,16 +16,6 @@
#pragma once
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { { 5, 4 } }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U
#define I2C1_TIMINGR_SCLDEL 3U
diff --git a/keyboards/keychron/c1_pro/info.json b/keyboards/keychron/c1_pro/info.json
index 9c9b4bf16f..e40c2b9960 100644
--- a/keyboards/keychron/c1_pro/info.json
+++ b/keyboards/keychron/c1_pro/info.json
@@ -8,6 +8,11 @@
"usb": {
"vid": "0x3434"
},
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"bootmagic": true,
"command": false,
@@ -17,6 +22,9 @@
"mousekey": true,
"nkro": true
},
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/config.h b/keyboards/keychron/c2_pro/ansi/rgb/config.h
index 47b47b920d..64dc7e8716 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/config.h
+++ b/keyboards/keychron/c2_pro/ansi/rgb/config.h
@@ -24,22 +24,8 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56 }
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 48
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable indicator LED*/
#define NUM_LED_INDEX 16
#define CAPS_LED_INDEX 17
#define MAC_LED_INDEX 18
#define WIN_LED_INDEX 19
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/info.json b/keyboards/keychron/c2_pro/ansi/rgb/info.json
index 1eee0ee1cd..a7d91c56e4 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c2_pro/ansi/rgb/info.json
@@ -261,6 +261,7 @@
{"matrix":[5, 16], "flags":1, "x":180, "y":64},
{"matrix":[5, 17], "flags":4, "x":198, "y":64},
{"matrix":[5, 18], "flags":4, "x":214, "y":64}
- ]
+ ],
+ "sleep": true
}
}
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/rgb.c b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c
index d42c2de39e..4891ceea74 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/rgb.c
+++ b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c
@@ -17,126 +17,126 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
- {0, L_6, J_6, K_6}, // CapsLock
- {0, L_7, J_7, K_7}, // NumLock
- {0, L_8, J_8, K_8}, // Mac
- {0, L_4, J_4, K_4}, // Win
+ {0, CB12_CA6, CB10_CA6, CB11_CA6}, // CapsLock
+ {0, CB12_CA7, CB10_CA7, CB11_CA7}, // NumLock
+ {0, CB12_CA8, CB10_CA8, CB11_CA8}, // Mac
+ {0, CB12_CA4, CB10_CA4, CB11_CA4}, // Win
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
- {1, L_9, J_9, K_9},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
};
#endif //RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/c2_pro/ansi/white/config.h b/keyboards/keychron/c2_pro/ansi/white/config.h
index 26c812ffef..60d004d38e 100644
--- a/keyboards/keychron/c2_pro/ansi/white/config.h
+++ b/keyboards/keychron/c2_pro/ansi/white/config.h
@@ -18,26 +18,11 @@
/* LED Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-
-/* Set LED driver current */
#define SNLED27351_CURRENT_TUNE \
{ 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0 }
-/* LED Matrix Configuration */
-#define LED_MATRIX_LED_COUNT 108
-
/* Enable indicator LED*/
#define NUM_LED_INDEX 16
#define CAPS_LED_INDEX 17
#define MAC_LED_INDEX 18
#define WIN_LED_INDEX 19
-
-/* turn off effects when suspended */
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES)
-#define LED_MATRIX_KEYPRESSES
-#define LED_MATRIX_KEYRELEASES
diff --git a/keyboards/keychron/c2_pro/ansi/white/info.json b/keyboards/keychron/c2_pro/ansi/white/info.json
index 4d9b1e12b8..4c103e966d 100644
--- a/keyboards/keychron/c2_pro/ansi/white/info.json
+++ b/keyboards/keychron/c2_pro/ansi/white/info.json
@@ -124,8 +124,6 @@
"led_matrix": {
"driver": "snled27351",
"animations": {
- "none": true,
- "solid": true,
"breathing": true,
"band_pinwheel": true,
"band_spiral": true,
@@ -256,6 +254,8 @@
{"matrix":[5, 16], "flags":1, "x":180, "y":64},
{"matrix":[5, 17], "flags":4, "x":198, "y":64},
{"matrix":[5, 19], "flags":4, "x":214, "y":64}
- ]
+ ],
+ "sleep": true,
+ "react_on_keyup": true
}
}
diff --git a/keyboards/keychron/c2_pro/ansi/white/white.c b/keyboards/keychron/c2_pro/ansi/white/white.c
index 9c75e73c6d..3b10e55095 100644
--- a/keyboards/keychron/c2_pro/ansi/white/white.c
+++ b/keyboards/keychron/c2_pro/ansi/white/white.c
@@ -18,124 +18,124 @@
// clang-format off
#ifdef LED_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | LED address
* | | */
- {0, A_16},
- {0, A_15},
- {0, A_14},
- {0, A_13},
- {0, A_12},
- {0, A_11},
- {0, A_10},
- {0, A_9 },
- {0, A_8 },
- {0, A_7 },
- {0, A_6 },
- {0, A_5 },
- {0, A_4 },
- {0, A_2 },
- {0, A_1 },
- {0, G_1 },
+ {0, CB1_CA16},
+ {0, CB1_CA15},
+ {0, CB1_CA14},
+ {0, CB1_CA13},
+ {0, CB1_CA12},
+ {0, CB1_CA11},
+ {0, CB1_CA10},
+ {0, CB1_CA9 },
+ {0, CB1_CA8 },
+ {0, CB1_CA7 },
+ {0, CB1_CA6 },
+ {0, CB1_CA5 },
+ {0, CB1_CA4 },
+ {0, CB1_CA2 },
+ {0, CB1_CA1 },
+ {0, CB7_CA1 },
- {0, G_2 },
- {0, G_3 }, // NumLock
- {0, G_4 }, // Mac
- {0, G_5 }, // Win
+ {0, CB7_CA2 },
+ {0, CB7_CA3 }, // NumLock
+ {0, CB7_CA4 }, // Mac
+ {0, CB7_CA5 }, // Win
- {0, B_16},
- {0, B_15},
- {0, B_14},
- {0, B_13},
- {0, B_12},
- {0, B_11},
- {0, B_10},
- {0, B_9 },
- {0, B_8 },
- {0, B_7 },
- {0, B_6 },
- {0, B_5 },
- {0, B_4 },
- {0, B_3 },
- {0, B_2 },
- {0, B_1 },
- {0, H_1 },
- {0, H_2 },
- {0, H_3 },
- {0, H_4 },
- {0, H_5 },
+ {0, CB2_CA16},
+ {0, CB2_CA15},
+ {0, CB2_CA14},
+ {0, CB2_CA13},
+ {0, CB2_CA12},
+ {0, CB2_CA11},
+ {0, CB2_CA10},
+ {0, CB2_CA9 },
+ {0, CB2_CA8 },
+ {0, CB2_CA7 },
+ {0, CB2_CA6 },
+ {0, CB2_CA5 },
+ {0, CB2_CA4 },
+ {0, CB2_CA3 },
+ {0, CB2_CA2 },
+ {0, CB2_CA1 },
+ {0, CB8_CA1 },
+ {0, CB8_CA2 },
+ {0, CB8_CA3 },
+ {0, CB8_CA4 },
+ {0, CB8_CA5 },
- {0, C_16},
- {0, C_15},
- {0, C_14},
- {0, C_13},
- {0, C_12},
- {0, C_11},
- {0, C_10},
- {0, C_9 },
- {0, C_8 },
- {0, C_7 },
- {0, C_6 },
- {0, C_5 },
- {0, C_4 },
- {0, C_3 },
- {0, C_2 },
- {0, C_1 },
- {0, G_6 },
- {0, G_7 },
- {0, G_8 },
- {0, G_9 },
- {0, G_10},
+ {0, CB3_CA16},
+ {0, CB3_CA15},
+ {0, CB3_CA14},
+ {0, CB3_CA13},
+ {0, CB3_CA12},
+ {0, CB3_CA11},
+ {0, CB3_CA10},
+ {0, CB3_CA9 },
+ {0, CB3_CA8 },
+ {0, CB3_CA7 },
+ {0, CB3_CA6 },
+ {0, CB3_CA5 },
+ {0, CB3_CA4 },
+ {0, CB3_CA3 },
+ {0, CB3_CA2 },
+ {0, CB3_CA1 },
+ {0, CB7_CA6 },
+ {0, CB7_CA7 },
+ {0, CB7_CA8 },
+ {0, CB7_CA9 },
+ {0, CB7_CA10},
- {0, D_16},
- {0, D_15},
- {0, D_14},
- {0, D_13},
- {0, D_12},
- {0, D_11},
- {0, D_10},
- {0, D_9 },
- {0, D_8 },
- {0, D_7 },
- {0, D_6 },
- {0, D_5 },
- {0, D_3 },
- {0, H_7 },
- {0, H_8 },
- {0, H_9 },
+ {0, CB4_CA16},
+ {0, CB4_CA15},
+ {0, CB4_CA14},
+ {0, CB4_CA13},
+ {0, CB4_CA12},
+ {0, CB4_CA11},
+ {0, CB4_CA10},
+ {0, CB4_CA9 },
+ {0, CB4_CA8 },
+ {0, CB4_CA7 },
+ {0, CB4_CA6 },
+ {0, CB4_CA5 },
+ {0, CB4_CA3 },
+ {0, CB8_CA7 },
+ {0, CB8_CA8 },
+ {0, CB8_CA9 },
- {0, E_16},
- {0, E_14},
- {0, E_13},
- {0, E_12},
- {0, E_11},
- {0, E_10},
- {0, E_9 },
- {0, E_8 },
- {0, E_7 },
- {0, E_6 },
- {0, E_5 },
- {0, E_3 },
- {0, E_1 },
- {0, H_6 },
- {0, H_11},
- {0, H_12},
- {0, H_10},
+ {0, CB5_CA16},
+ {0, CB5_CA14},
+ {0, CB5_CA13},
+ {0, CB5_CA12},
+ {0, CB5_CA11},
+ {0, CB5_CA10},
+ {0, CB5_CA9 },
+ {0, CB5_CA8 },
+ {0, CB5_CA7 },
+ {0, CB5_CA6 },
+ {0, CB5_CA5 },
+ {0, CB5_CA3 },
+ {0, CB5_CA1 },
+ {0, CB8_CA6 },
+ {0, CB8_CA11},
+ {0, CB8_CA12},
+ {0, CB8_CA10},
- {0, F_16},
- {0, F_15},
- {0, F_14},
- {0, F_10},
- {0, F_6 },
- {0, F_5 },
- {0, F_4 },
- {0, F_3 },
- {0, F_2 },
- {0, F_1 },
- {0, G_13},
- {0, G_11},
- {0, G_12},
+ {0, CB6_CA16},
+ {0, CB6_CA15},
+ {0, CB6_CA14},
+ {0, CB6_CA10},
+ {0, CB6_CA6 },
+ {0, CB6_CA5 },
+ {0, CB6_CA4 },
+ {0, CB6_CA3 },
+ {0, CB6_CA2 },
+ {0, CB6_CA1 },
+ {0, CB7_CA13},
+ {0, CB7_CA11},
+ {0, CB7_CA12},
};
#endif //LED_MATRIX_ENABLE
diff --git a/keyboards/keychron/c2_pro/c2_pro.c b/keyboards/keychron/c2_pro/c2_pro.c
index 2cd58ab4d7..593e404997 100644
--- a/keyboards/keychron/c2_pro/c2_pro.c
+++ b/keyboards/keychron/c2_pro/c2_pro.c
@@ -16,18 +16,6 @@
#include "quantum.h"
-// clang-format off
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111101111,
-};
-
-// clang-format on
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/c2_pro/config.h b/keyboards/keychron/c2_pro/config.h
index 6971ebd1aa..1ddb0c4006 100644
--- a/keyboards/keychron/c2_pro/config.h
+++ b/keyboards/keychron/c2_pro/config.h
@@ -16,16 +16,6 @@
#pragma once
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { { 5, 4 } }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U
#define I2C1_TIMINGR_SCLDEL 3U
diff --git a/keyboards/keychron/c2_pro/info.json b/keyboards/keychron/c2_pro/info.json
index dd97dd7adf..4b11fc213a 100644
--- a/keyboards/keychron/c2_pro/info.json
+++ b/keyboards/keychron/c2_pro/info.json
@@ -8,6 +8,11 @@
"usb": {
"vid": "0x3434"
},
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"bootmagic": true,
"command": false,
@@ -17,6 +22,9 @@
"mousekey": true,
"nkro": true
},
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "C14"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
diff --git a/keyboards/keychron/q0/base/base.c b/keyboards/keychron/q0/base/base.c
index 05803234c0..af33e5c0a3 100644
--- a/keyboards/keychron/q0/base/base.c
+++ b/keyboards/keychron/q0/base/base.c
@@ -20,38 +20,38 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, F_5, D_5, E_5}, // 0
- {0, I_5, G_5, H_5}, // 1
- {0, L_5, J_5, K_5}, // 2
- {0, C_5, A_5, B_5}, // 3
-
- {0, F_4, D_4, E_4}, // 4
- {0, I_4, G_4, H_4}, // 5
- {0, L_4, J_4, K_4}, // 6
- {0, C_4, A_4, B_4}, // 7
-
- {0, F_6, D_6, E_6}, // 8
- {0, I_6, G_6, H_6}, // 9
- {0, L_6, J_6, K_6}, // 10
-
- {0, F_3, D_3, E_3}, // 11
- {0, I_3, G_3, H_3}, // 12
- {0, L_3, J_3, K_3}, // 13
- {0, C_6, A_6, B_6}, // 14
-
- {0, F_2, D_2, E_2}, // 15
- {0, I_2, G_2, H_2}, // 16
- {0, L_2, J_2, K_2}, // 17
-
- {0, F_1, D_1, E_1}, // 18
- {0, L_1, J_1, K_1}, // 19
- {0, C_2, A_2, B_2}, // 20
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // 0
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // 1
+ {0, CB12_CA5, CB10_CA5, CB11_CA5}, // 2
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 3
+
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // 4
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // 5
+ {0, CB12_CA4, CB10_CA4, CB11_CA4}, // 6
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 7
+
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // 8
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // 9
+ {0, CB12_CA6, CB10_CA6, CB11_CA6}, // 10
+
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // 11
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // 12
+ {0, CB12_CA3, CB10_CA3, CB11_CA3}, // 13
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 14
+
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // 15
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // 16
+ {0, CB12_CA2, CB10_CA2, CB11_CA2}, // 17
+
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // 18
+ {0, CB12_CA1, CB10_CA1, CB11_CA1}, // 19
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 20
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q0/base/config.h b/keyboards/keychron/q0/base/config.h
index 1d6c1a6757..61500b272c 100644
--- a/keyboards/keychron/q0/base/config.h
+++ b/keyboards/keychron/q0/base/config.h
@@ -19,8 +19,5 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 21
-
/* Enable num-lock LED */
#define NUM_LOCK_LED_INDEX 4
diff --git a/keyboards/keychron/q0/config.h b/keyboards/keychron/q0/config.h
index 24b629a520..ff142ee597 100644
--- a/keyboards/keychron/q0/config.h
+++ b/keyboards/keychron/q0/config.h
@@ -17,9 +17,3 @@
#pragma once
#define SNLED27351_CURRENT_TUNE { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS \ No newline at end of file
diff --git a/keyboards/keychron/q0/info.json b/keyboards/keychron/q0/info.json
index 70a726c520..a301746831 100644
--- a/keyboards/keychron/q0/info.json
+++ b/keyboards/keychron/q0/info.json
@@ -42,7 +42,8 @@
"splash": true,
"typing_heatmap": true
},
- "driver": "snled27351"
+ "driver": "snled27351",
+ "sleep": true
},
"url": "https://github.com/Keychron",
"usb": {
diff --git a/keyboards/keychron/q0/plus/config.h b/keyboards/keychron/q0/plus/config.h
index 01320b1f31..cbfdc955f8 100644
--- a/keyboards/keychron/q0/plus/config.h
+++ b/keyboards/keychron/q0/plus/config.h
@@ -19,9 +19,6 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 26
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
/* Encoder Configuration*/
diff --git a/keyboards/keychron/q0/plus/plus.c b/keyboards/keychron/q0/plus/plus.c
index 0466e1a584..55f71d2a23 100644
--- a/keyboards/keychron/q0/plus/plus.c
+++ b/keyboards/keychron/q0/plus/plus.c
@@ -20,43 +20,43 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
-
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
-
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
-
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
-
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
-
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_9, D_9, E_9},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c
index a9df1609e0..a4432cd4ce 100644
--- a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c
@@ -20,106 +20,106 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_2, A_2, B_2}, // ESC
- {0, C_3, A_3, B_3}, // F1
- {0, C_4, A_4, B_4}, // F2
- {0, C_5, A_5, B_5}, // F3
- {0, C_6, A_6, B_6}, // F4
- {0, C_7, A_7, B_7}, // F5
- {0, C_8, A_8, B_8}, // F6
- {0, C_9, A_9, B_9}, // F7
- {0, C_10, A_10, B_10}, // F8
- {0, C_11, A_11, B_11}, // F9
- {0, C_12, A_12, B_12}, // F10
- {0, C_13, A_13, B_13}, // F11
- {0, C_14, A_14, B_14}, // F12
- {0, C_15, A_15, B_15}, // INS
- {0, C_16, A_16, B_16}, // DEL
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // ESC
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // F1
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // F2
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // F3
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // F4
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // F5
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // F6
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // F7
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // F8
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // F9
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F10
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // F11
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // F12
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // INS
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // DEL
- {0, I_1, G_1, H_1}, // M1
- {0, I_2, G_2, H_2}, // `~
- {0, I_3, G_3, H_3}, // 1!
- {0, I_4, G_4, H_4}, // 2@
- {0, I_5, G_5, H_5}, // 3#
- {0, I_6, G_6, H_6}, // 4$
- {0, I_7, G_7, H_7}, // 5%
- {0, I_8, G_8, H_8}, // 6^
- {0, I_9, G_9, H_9}, // 7&
- {0, I_10, G_10, H_10}, // 8*
- {0, I_11, G_11, H_11}, // 9(
- {0, I_12, G_12, H_12}, // 0)
- {0, I_13, G_13, H_13}, // -_
- {0, I_14, G_14, H_14}, // =+
- {0, I_15, G_15, H_15}, // BackSpace
- {0, I_16, G_16, H_16}, // PgUp
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // M1
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // `~
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // 1!
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // 2@
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // 3#
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // 4$
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // 5%
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // 6^
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // 7&
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // 8*
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // 9(
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // 0)
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // -_
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // =+
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // BackSpace
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // PgUp
- {0, F_1, D_1, E_1}, // M2
- {0, F_2, D_2, E_2}, // TAB
- {0, F_3, D_3, E_3}, // Q
- {0, F_4, D_4, E_4}, // W
- {0, F_5, D_5, E_5}, // E
- {0, F_6, D_6, E_6}, // R
- {0, F_7, D_7, E_7}, // T
- {0, F_8, D_8, E_8}, // Y
- {0, F_9, D_9, E_9}, // U
- {0, F_10, D_10, E_10}, // I
- {0, F_11, D_11, E_11}, // O
- {0, F_12, D_12, E_12}, // P
- {0, F_13, D_13, E_13}, // [
- {0, F_14, D_14, E_14}, // ]
- {0, F_15, D_15, E_15}, // |
- {0, F_16, D_16, E_16}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // M2
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // TAB
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Q
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // W
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // E
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // R
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // T
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // Y
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // U
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // I
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // O
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // P
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // [
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // ]
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // |
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // PgDn
- {1, C_16, A_16, B_16}, // M3
- {1, C_15, A_15, B_15}, // CapsLock
- {1, C_14, A_14, B_14}, // A
- {1, C_13, A_13, B_13}, // S
- {1, C_12, A_12, B_12}, // D
- {1, C_11, A_11, B_11}, // F
- {1, C_10, A_10, B_10}, // G
- {1, C_8, A_8, B_8}, // H
- {1, C_7, A_7, B_7}, // J
- {1, C_6, A_6, B_6}, // K
- {1, C_5, A_5, B_5}, // L
- {1, C_4, A_4, B_4}, // ;
- {1, C_3, A_3, B_3}, // '
- {1, C_2, A_2, B_2}, // Enter
- {1, C_1, A_1, B_1}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // M3
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // CapsLock
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // A
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // S
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // D
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // F
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // G
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // H
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // J
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // K
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // L
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // ;
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // '
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // Enter
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // Home
- {1, I_16, G_16, H_16}, // M4
- {1, I_15, G_15, H_15}, // Shift_L
- {1, I_13, G_13, H_13}, // Z
- {1, I_12, G_12, H_12}, // X
- {1, I_11, G_11, H_11}, // C
- {1, I_10, G_10, H_10}, // V
- {1, I_9, G_9, H_9}, // B
- {1, I_8, G_8, H_8}, // B
- {1, I_7, G_7, H_7}, // N
- {1, I_6, G_6, H_6}, // M
- {1, I_5, G_5, H_5}, // ,
- {1, I_4, G_4, H_4}, // .
- {1, I_3, G_3, H_3}, // ?
- {1, I_2, G_2, H_2}, // Shift_R
- {1, I_1, G_1, H_1}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // M4
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Shift_L
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Z
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // X
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // C
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // V
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // B
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // B
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // N
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // M
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // ,
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // .
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ?
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // Shift_R
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Up
- {1, F_16, D_16, E_16}, // M5
- {1, F_15, D_15, E_15}, // Ctrl_L
- {1, F_14, D_14, E_14}, // Win_L
- {1, F_13, D_13, E_13}, // Alt_L
- {1, F_12, D_12, E_12}, // Space
- {1, F_9, D_9, E_9}, // Fn
- {1, F_8, D_8, E_8}, // Space
- {1, F_7, D_7, E_7}, // Alt_R
- {1, F_3, D_3, E_3}, // Left
- {1, F_2, D_2, E_2}, // Down
- {1, F_1, D_1, E_1}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // M5
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Ctrl_L
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // Win_L
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Alt_L
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Space
+ {1, CB6_CA9, CB4_CA9, CB5_CA9}, // Fn
+ {1, CB6_CA8, CB4_CA8, CB5_CA8}, // Space
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Alt_R
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/q10/ansi_encoder/config.h b/keyboards/keychron/q10/ansi_encoder/config.h
index 9012abd4f7..917507abc8 100644
--- a/keyboards/keychron/q10/ansi_encoder/config.h
+++ b/keyboards/keychron/q10/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 47
-#define DRIVER_2_LED_TOTAL 41
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q10/ansi_encoder/info.json b/keyboards/keychron/q10/ansi_encoder/info.json
index da2cb106e3..c40c605426 100644
--- a/keyboards/keychron/q10/ansi_encoder/info.json
+++ b/keyboards/keychron/q10/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x01A1",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/q10/config.h b/keyboards/keychron/q10/config.h
index eb3a56e9ad..4a39a5f762 100644
--- a/keyboards/keychron/q10/config.h
+++ b/keyboards/keychron/q10/config.h
@@ -43,68 +43,3 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5,5} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q10/info.json b/keyboards/keychron/q10/info.json
new file mode 100644
index 0000000000..636ef2d9a2
--- /dev/null
+++ b/keyboards/keychron/q10/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 5] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/q10/iso_encoder/config.h b/keyboards/keychron/q10/iso_encoder/config.h
index 7a5646c56e..f8ea208047 100644
--- a/keyboards/keychron/q10/iso_encoder/config.h
+++ b/keyboards/keychron/q10/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 47
-#define DRIVER_2_LED_TOTAL 42
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q10/iso_encoder/info.json b/keyboards/keychron/q10/iso_encoder/info.json
index 08e6b2deae..ce5223df61 100644
--- a/keyboards/keychron/q10/iso_encoder/info.json
+++ b/keyboards/keychron/q10/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x01A3",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/q10/iso_encoder/iso_encoder.c b/keyboards/keychron/q10/iso_encoder/iso_encoder.c
index fbe4bca637..9ff43263b2 100644
--- a/keyboards/keychron/q10/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q10/iso_encoder/iso_encoder.c
@@ -20,107 +20,107 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_2, A_2, B_2}, // ESC
- {0, C_3, A_3, B_3}, // F1
- {0, C_4, A_4, B_4}, // F2
- {0, C_5, A_5, B_5}, // F3
- {0, C_6, A_6, B_6}, // F4
- {0, C_7, A_7, B_7}, // F5
- {0, C_8, A_8, B_8}, // F6
- {0, C_9, A_9, B_9}, // F7
- {0, C_10, A_10, B_10}, // F8
- {0, C_11, A_11, B_11}, // F9
- {0, C_12, A_12, B_12}, // F10
- {0, C_13, A_13, B_13}, // F11
- {0, C_14, A_14, B_14}, // F12
- {0, C_15, A_15, B_15}, // INS
- {0, C_16, A_16, B_16}, // DEL
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // ESC
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // F1
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // F2
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // F3
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // F4
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // F5
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // F6
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // F7
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // F8
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // F9
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F10
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // F11
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // F12
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // INS
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // DEL
- {0, I_1, G_1, H_1}, // M1
- {0, I_2, G_2, H_2}, // `~
- {0, I_3, G_3, H_3}, // 1!
- {0, I_4, G_4, H_4}, // 2@
- {0, I_5, G_5, H_5}, // 3#
- {0, I_6, G_6, H_6}, // 4$
- {0, I_7, G_7, H_7}, // 5%
- {0, I_8, G_8, H_8}, // 6^
- {0, I_9, G_9, H_9}, // 7&
- {0, I_10, G_10, H_10}, // 8*
- {0, I_11, G_11, H_11}, // 9(
- {0, I_12, G_12, H_12}, // 0)
- {0, I_13, G_13, H_13}, // -_
- {0, I_14, G_14, H_14}, // =+
- {0, I_15, G_15, H_15}, // BackSpace
- {0, I_16, G_16, H_16}, // PgUp
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // M1
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // `~
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // 1!
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // 2@
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // 3#
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // 4$
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // 5%
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // 6^
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // 7&
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // 8*
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // 9(
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // 0)
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // -_
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // =+
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // BackSpace
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // PgUp
- {0, F_1, D_1, E_1}, // M2
- {0, F_2, D_2, E_2}, // TAB
- {0, F_3, D_3, E_3}, // Q
- {0, F_4, D_4, E_4}, // W
- {0, F_5, D_5, E_5}, // E
- {0, F_6, D_6, E_6}, // R
- {0, F_7, D_7, E_7}, // T
- {0, F_8, D_8, E_8}, // Y
- {0, F_9, D_9, E_9}, // U
- {0, F_10, D_10, E_10}, // I
- {0, F_11, D_11, E_11}, // O
- {0, F_12, D_12, E_12}, // P
- {0, F_13, D_13, E_13}, // [
- {0, F_14, D_14, E_14}, // ]
- {0, F_16, D_16, E_16}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // M2
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // TAB
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Q
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // W
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // E
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // R
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // T
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // Y
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // U
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // I
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // O
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // P
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // [
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // ]
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // PgDn
- {1, C_16, A_16, B_16}, // M3
- {1, C_15, A_15, B_15}, // CapsLock
- {1, C_14, A_14, B_14}, // A
- {1, C_13, A_13, B_13}, // S
- {1, C_12, A_12, B_12}, // D
- {1, C_11, A_11, B_11}, // F
- {1, C_10, A_10, B_10}, // G
- {1, C_8, A_8, B_8}, // H
- {1, C_7, A_7, B_7}, // J
- {1, C_6, A_6, B_6}, // K
- {1, C_5, A_5, B_5}, // L
- {1, C_4, A_4, B_4}, // ;
- {1, C_3, A_3, B_3}, // '
- {0, F_15, D_15, E_15}, // |
- {1, C_2, A_2, B_2}, // Enter
- {1, C_1, A_1, B_1}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // M3
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // CapsLock
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // A
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // S
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // D
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // F
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // G
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // H
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // J
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // K
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // L
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // ;
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // '
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // |
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // Enter
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // Home
- {1, I_16, G_16, H_16}, // M4
- {1, I_15, G_15, H_15}, // Shift_L
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13}, // Z
- {1, I_12, G_12, H_12}, // X
- {1, I_11, G_11, H_11}, // C
- {1, I_10, G_10, H_10}, // V
- {1, I_9, G_9, H_9}, // B
- {1, I_8, G_8, H_8}, // B
- {1, I_7, G_7, H_7}, // N
- {1, I_6, G_6, H_6}, // M
- {1, I_5, G_5, H_5}, // ,
- {1, I_4, G_4, H_4}, // .
- {1, I_3, G_3, H_3}, // ?
- {1, I_2, G_2, H_2}, // Shift_R
- {1, I_1, G_1, H_1}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // M4
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Shift_L
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Z
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // X
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // C
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // V
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // B
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // B
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // N
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // M
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // ,
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // .
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ?
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // Shift_R
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Up
- {1, F_16, D_16, E_16}, // M5
- {1, F_15, D_15, E_15}, // Ctrl_L
- {1, F_14, D_14, E_14}, // Win_L
- {1, F_13, D_13, E_13}, // Alt_L
- {1, F_12, D_12, E_12}, // Space
- {1, F_9, D_9, E_9}, // Fn
- {1, F_8, D_8, E_8}, // Space
- {1, F_7, D_7, E_7}, // Alt_R
- {1, F_3, D_3, E_3}, // Left
- {1, F_2, D_2, E_2}, // Down
- {1, F_1, D_1, E_1}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // M5
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Ctrl_L
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // Win_L
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Alt_L
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Space
+ {1, CB6_CA9, CB4_CA9, CB5_CA9}, // Fn
+ {1, CB6_CA8, CB4_CA8, CB5_CA8}, // Space
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Alt_R
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/q10/q10.c b/keyboards/keychron/q10/q10.c
index 455a2a25f2..754b148175 100644
--- a/keyboards/keychron/q10/q10.c
+++ b/keyboards/keychron/q10/q10.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111011111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
index f7acae7add..49e428bc00 100755
--- a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
@@ -17,112 +17,112 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, A_2, C_2, B_2}, // ESC
- {0, A_3, C_3, B_3}, // F1
- {0, A_4, C_4, B_4}, // F2
- {0, A_5, C_5, B_5}, // F3
- {0, A_6, C_6, B_6}, // F4
- {0, A_7, C_7, B_7}, // F5
- {0, A_8, C_8, B_8}, // F6
+ {0, CB1_CA2, CB3_CA2, CB2_CA2}, // ESC
+ {0, CB1_CA3, CB3_CA3, CB2_CA3}, // F1
+ {0, CB1_CA4, CB3_CA4, CB2_CA4}, // F2
+ {0, CB1_CA5, CB3_CA5, CB2_CA5}, // F3
+ {0, CB1_CA6, CB3_CA6, CB2_CA6}, // F4
+ {0, CB1_CA7, CB3_CA7, CB2_CA7}, // F5
+ {0, CB1_CA8, CB3_CA8, CB2_CA8}, // F6
- {0, D_1, F_1, E_1}, // M1
- {0, D_2, F_2, E_2}, // `~
- {0, D_3, F_3, E_3}, // 1!
- {0, D_4, F_4, E_4}, // 2@
- {0, D_5, F_5, E_5}, // 3#
- {0, D_6, F_6, E_6}, // 4$
- {0, D_7, F_7, E_7}, // 5%
- {0, D_8, F_8, E_8}, // 6^
+ {0, CB4_CA1, CB6_CA1, CB5_CA1}, // M1
+ {0, CB4_CA2, CB6_CA2, CB5_CA2}, // `~
+ {0, CB4_CA3, CB6_CA3, CB5_CA3}, // 1!
+ {0, CB4_CA4, CB6_CA4, CB5_CA4}, // 2@
+ {0, CB4_CA5, CB6_CA5, CB5_CA5}, // 3#
+ {0, CB4_CA6, CB6_CA6, CB5_CA6}, // 4$
+ {0, CB4_CA7, CB6_CA7, CB5_CA7}, // 5%
+ {0, CB4_CA8, CB6_CA8, CB5_CA8}, // 6^
- {0, G_1, I_1, H_1}, // M2
- {0, G_2, I_2, H_2}, // TAB
- {0, G_3, I_3, H_3}, // Q
- {0, G_4, I_4, H_4}, // W
- {0, G_5, I_5, H_5}, // E
- {0, G_6, I_6, H_6}, // R
- {0, G_7, I_7, H_7}, // T
+ {0, CB7_CA1, CB9_CA1, CB8_CA1}, // M2
+ {0, CB7_CA2, CB9_CA2, CB8_CA2}, // TAB
+ {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Q
+ {0, CB7_CA4, CB9_CA4, CB8_CA4}, // W
+ {0, CB7_CA5, CB9_CA5, CB8_CA5}, // E
+ {0, CB7_CA6, CB9_CA6, CB8_CA6}, // R
+ {0, CB7_CA7, CB9_CA7, CB8_CA7}, // T
- {0, J_1, L_1, K_1}, // M3
- {0, J_2, L_2, K_2}, // CapsJock
- {0, J_3, L_3, K_3}, // A
- {0, J_4, L_4, K_4}, // S
- {0, J_5, L_5, K_5}, // D
- {0, J_6, L_6, K_6}, // F
- {0, J_7, L_7, K_7}, // G
+ {0, CB10_CA1, CB12_CA1, CB11_CA1}, // M3
+ {0, CB10_CA2, CB12_CA2, CB11_CA2}, // CapsJock
+ {0, CB10_CA3, CB12_CA3, CB11_CA3}, // A
+ {0, CB10_CA4, CB12_CA4, CB11_CA4}, // S
+ {0, CB10_CA5, CB12_CA5, CB11_CA5}, // D
+ {0, CB10_CA6, CB12_CA6, CB11_CA6}, // F
+ {0, CB10_CA7, CB12_CA7, CB11_CA7}, // G
- {0, J_9, L_9, K_9}, // M4
- {0, J_11, L_11, K_11}, // Shift_J
- {0, J_12, L_12, K_12}, // Z
- {0, J_13, L_13, K_13}, // X
- {0, J_14, L_14, K_14}, // C
- {0, J_15, L_15, K_15}, // V
- {0, J_16, L_16, K_16}, // B
+ {0, CB10_CA9, CB12_CA9, CB11_CA9}, // M4
+ {0, CB10_CA11, CB12_CA11, CB11_CA11}, // Shift_J
+ {0, CB10_CA12, CB12_CA12, CB11_CA12}, // Z
+ {0, CB10_CA13, CB12_CA13, CB11_CA13}, // X
+ {0, CB10_CA14, CB12_CA14, CB11_CA14}, // C
+ {0, CB10_CA15, CB12_CA15, CB11_CA15}, // V
+ {0, CB10_CA16, CB12_CA16, CB11_CA16}, // B
- {0, G_9, I_9, H_9}, // M5
- {0, G_10, I_10, H_10}, // Ctrl_L
- {0, G_11, I_11, H_11}, // WGn_L
- {0, G_12, I_12, H_12}, // Alt_L
- {0, G_13, I_13, H_13}, // Fn
- {0, G_15, I_15, H_15}, // Space
+ {0, CB7_CA9, CB9_CA9, CB8_CA9}, // M5
+ {0, CB7_CA10, CB9_CA10, CB8_CA10}, // Ctrl_L
+ {0, CB7_CA11, CB9_CA11, CB8_CA11}, // WGn_L
+ {0, CB7_CA12, CB9_CA12, CB8_CA12}, // Alt_L
+ {0, CB7_CA13, CB9_CA13, CB8_CA13}, // Fn
+ {0, CB7_CA15, CB9_CA15, CB8_CA15}, // Space
- {0, A_16, C_16, B_16}, // F7
- {0, A_15, C_15, B_15}, // F8
- {0, A_14, C_14, B_14}, // F9
- {0, A_13, C_13, B_13}, // F11
- {0, A_12, C_12, B_12}, // F11
- {0, A_11, C_11, B_11}, // F12
- {0, A_10, C_10, B_10}, // INS
- {0, A_9, C_9, B_9}, // DEL
+ {0, CB1_CA16, CB3_CA16, CB2_CA16}, // F7
+ {0, CB1_CA15, CB3_CA15, CB2_CA15}, // F8
+ {0, CB1_CA14, CB3_CA14, CB2_CA14}, // F9
+ {0, CB1_CA13, CB3_CA13, CB2_CA13}, // F11
+ {0, CB1_CA12, CB3_CA12, CB2_CA12}, // F11
+ {0, CB1_CA11, CB3_CA11, CB2_CA11}, // F12
+ {0, CB1_CA10, CB3_CA10, CB2_CA10}, // INS
+ {0, CB1_CA9, CB3_CA9, CB2_CA9}, // DEL
- {0, D_16, F_16, E_16}, // 7&
- {0, D_15, F_15, E_15}, // 8*
- {0, D_14, F_14, E_14}, // 9(
- {0, D_13, F_13, E_13}, // 1)
- {0, D_12, F_12, E_12}, // -_
- {0, D_11, F_11, E_11}, // =+
- {0, D_10, F_10, E_10}, // BackSpace
- {0, D_8, F_8, E_8}, // PgUp
+ {0, CB4_CA16, CB6_CA16, CB5_CA16}, // 7&
+ {0, CB4_CA15, CB6_CA15, CB5_CA15}, // 8*
+ {0, CB4_CA14, CB6_CA14, CB5_CA14}, // 9(
+ {0, CB4_CA13, CB6_CA13, CB5_CA13}, // 1)
+ {0, CB4_CA12, CB6_CA12, CB5_CA12}, // -_
+ {0, CB4_CA11, CB6_CA11, CB5_CA11}, // =+
+ {0, CB4_CA10, CB6_CA10, CB5_CA10}, // BackSpace
+ {0, CB4_CA8, CB6_CA8, CB5_CA8}, // PgUp
- {0, G_16, I_16, H_16}, // Y
- {0, G_15, I_15, H_15}, // U
- {0, G_14, I_14, H_14}, // G
- {0, G_13, I_13, H_13}, // O
- {0, G_12, I_12, H_12}, // P
- {0, G_11, I_11, H_11}, // [
- {0, G_10, I_10, H_10}, // ]
- {0, G_9, I_9, H_9}, // \||
- {0, G_8, I_8, H_8}, // PgDn
+ {0, CB7_CA16, CB9_CA16, CB8_CA16}, // Y
+ {0, CB7_CA15, CB9_CA15, CB8_CA15}, // U
+ {0, CB7_CA14, CB9_CA14, CB8_CA14}, // G
+ {0, CB7_CA13, CB9_CA13, CB8_CA13}, // O
+ {0, CB7_CA12, CB9_CA12, CB8_CA12}, // P
+ {0, CB7_CA11, CB9_CA11, CB8_CA11}, // [
+ {0, CB7_CA10, CB9_CA10, CB8_CA10}, // ]
+ {0, CB7_CA9, CB9_CA9, CB8_CA9}, // \||
+ {0, CB7_CA8, CB9_CA8, CB8_CA8}, // PgDn
- {0, J_16, L_16, K_16}, // H
- {0, J_15, L_15, K_15}, // J
- {0, J_14, L_14, K_14}, // KKEY_PRESS_HOME
- {0, J_13, L_13, K_13}, // J
- {0, J_12, L_12, K_12}, // ;:
- {0, J_11, L_11, K_11}, // '"
- {0, J_9, L_9, K_9}, // Enter
- {0, J_8, L_8, K_8}, // Home
+ {0, CB10_CA16, CB12_CA16, CB11_CA16}, // H
+ {0, CB10_CA15, CB12_CA15, CB11_CA15}, // J
+ {0, CB10_CA14, CB12_CA14, CB11_CA14}, // KKEY_PRESS_HOME
+ {0, CB10_CA13, CB12_CA13, CB11_CA13}, // J
+ {0, CB10_CA12, CB12_CA12, CB11_CA12}, // ;:
+ {0, CB10_CA11, CB12_CA11, CB11_CA11}, // '"
+ {0, CB10_CA9, CB12_CA9, CB11_CA9}, // Enter
+ {0, CB10_CA8, CB12_CA8, CB11_CA8}, // Home
- {0, J_7, L_7, K_7}, // N
- {0, J_6, L_6, K_6}, // M
- {0, J_5, L_5, K_5}, // ,<
- {0, J_4, L_4, K_4}, // .>
- {0, J_3, L_3, K_3}, // ?/
- {0, J_2, L_2, K_2}, // Shift_R
- {0, J_1, L_1, K_1}, // Up
+ {0, CB10_CA7, CB12_CA7, CB11_CA7}, // N
+ {0, CB10_CA6, CB12_CA6, CB11_CA6}, // M
+ {0, CB10_CA5, CB12_CA5, CB11_CA5}, // ,<
+ {0, CB10_CA4, CB12_CA4, CB11_CA4}, // .>
+ {0, CB10_CA3, CB12_CA3, CB11_CA3}, // ?/
+ {0, CB10_CA2, CB12_CA2, CB11_CA2}, // Shift_R
+ {0, CB10_CA1, CB12_CA1, CB11_CA1}, // Up
- {0, G_6, I_6, H_6}, // Space
- {0, G_5, I_5, H_5}, // Win_R
- {0, G_4, I_4, H_4}, // Fn
- {0, G_3, I_3, H_3}, // Ctrl_R
- {0, G_2, I_2, H_2}, // Left
- {0, G_1, I_1, H_1}, // Down
- {0, G_7, I_7, H_7}, // Right
+ {0, CB7_CA6, CB9_CA6, CB8_CA6}, // Space
+ {0, CB7_CA5, CB9_CA5, CB8_CA5}, // Win_R
+ {0, CB7_CA4, CB9_CA4, CB8_CA4}, // Fn
+ {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Ctrl_R
+ {0, CB7_CA2, CB9_CA2, CB8_CA2}, // Left
+ {0, CB7_CA1, CB9_CA1, CB8_CA1}, // Down
+ {0, CB7_CA7, CB9_CA7, CB8_CA7}, // Right
};
#endif
diff --git a/keyboards/keychron/q11/ansi_encoder/config.h b/keyboards/keychron/q11/ansi_encoder/config.h
index 60bdc493de..08632f0ce7 100755
--- a/keyboards/keychron/q11/ansi_encoder/config.h
+++ b/keyboards/keychron/q11/ansi_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 89
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 23
diff --git a/keyboards/keychron/q11/config.h b/keyboards/keychron/q11/config.h
index 0d6b9c9c48..b1b40c98ab 100755
--- a/keyboards/keychron/q11/config.h
+++ b/keyboards/keychron/q11/config.h
@@ -16,16 +16,6 @@
#pragma once
-// Connects each switch in the dip switch to the GPIO pin of the MCU
-#define DIP_SWITCH_PINS \
- { A8 }
-
-/* handedness */
-#define SPLIT_HAND_MATRIX_GRID A2, A15
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
-
-#define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `q11.c`
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
@@ -39,21 +29,12 @@
#define SNLED27351_CURRENT_TUNE \
{ 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF } // 300mA
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
/* Split Keyboard specific options. */
#define SERIAL_USART_TX_PIN A9 // USART TX pin
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
+// Needed as the master side could enter slave state during poweron
+// of host, due to missing VUSB detection.
+#define SPLIT_WATCHDOG_ENABLE
diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json
index f240c70801..db70d2b7b6 100755
--- a/keyboards/keychron/q11/info.json
+++ b/keyboards/keychron/q11/info.json
@@ -11,6 +11,14 @@
"bootmagic": {
"matrix": [0, 1]
},
+ "dip_switch": {
+ "pins": ["A8"]
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"bootmagic": true,
"command": false,
@@ -36,6 +44,9 @@
]
}
},
+ "handedness": {
+ "matrix_grid": ["A2", "A15"]
+ },
"matrix_pins": {
"right": {
"cols": ["A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"],
@@ -84,7 +95,8 @@
"solid_reactive_multinexus": true,
"splash": true,
"solid_splash": true
- }
+ },
+ "sleep": true
},
"layouts": {
"LAYOUT_91_ansi": {
diff --git a/keyboards/keychron/q11/iso_encoder/config.h b/keyboards/keychron/q11/iso_encoder/config.h
index 57baea4c69..08632f0ce7 100755
--- a/keyboards/keychron/q11/iso_encoder/config.h
+++ b/keyboards/keychron/q11/iso_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 90
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 23
diff --git a/keyboards/keychron/q11/iso_encoder/iso_encoder.c b/keyboards/keychron/q11/iso_encoder/iso_encoder.c
index a2db569710..8725598b1c 100755
--- a/keyboards/keychron/q11/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q11/iso_encoder/iso_encoder.c
@@ -17,113 +17,113 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, A_2, C_2, B_2}, // ESC
- {0, A_3, C_3, B_3}, // F1
- {0, A_4, C_4, B_4}, // F2
- {0, A_5, C_5, B_5}, // F3
- {0, A_6, C_6, B_6}, // F4
- {0, A_7, C_7, B_7}, // F5
- {0, A_8, C_8, B_8}, // F6
+ {0, CB1_CA2, CB3_CA2, CB2_CA2}, // ESC
+ {0, CB1_CA3, CB3_CA3, CB2_CA3}, // F1
+ {0, CB1_CA4, CB3_CA4, CB2_CA4}, // F2
+ {0, CB1_CA5, CB3_CA5, CB2_CA5}, // F3
+ {0, CB1_CA6, CB3_CA6, CB2_CA6}, // F4
+ {0, CB1_CA7, CB3_CA7, CB2_CA7}, // F5
+ {0, CB1_CA8, CB3_CA8, CB2_CA8}, // F6
- {0, D_1, F_1, E_1}, // M1
- {0, D_2, F_2, E_2}, // `~
- {0, D_3, F_3, E_3}, // 1!
- {0, D_4, F_4, E_4}, // 2@
- {0, D_5, F_5, E_5}, // 3#
- {0, D_6, F_6, E_6}, // 4$
- {0, D_7, F_7, E_7}, // 5%
- {0, D_8, F_8, E_8}, // 6^
+ {0, CB4_CA1, CB6_CA1, CB5_CA1}, // M1
+ {0, CB4_CA2, CB6_CA2, CB5_CA2}, // `~
+ {0, CB4_CA3, CB6_CA3, CB5_CA3}, // 1!
+ {0, CB4_CA4, CB6_CA4, CB5_CA4}, // 2@
+ {0, CB4_CA5, CB6_CA5, CB5_CA5}, // 3#
+ {0, CB4_CA6, CB6_CA6, CB5_CA6}, // 4$
+ {0, CB4_CA7, CB6_CA7, CB5_CA7}, // 5%
+ {0, CB4_CA8, CB6_CA8, CB5_CA8}, // 6^
- {0, G_1, I_1, H_1}, // M2
- {0, G_2, I_2, H_2}, // TAB
- {0, G_3, I_3, H_3}, // Q
- {0, G_4, I_4, H_4}, // W
- {0, G_5, I_5, H_5}, // E
- {0, G_6, I_6, H_6}, // R
- {0, G_7, I_7, H_7}, // T
+ {0, CB7_CA1, CB9_CA1, CB8_CA1}, // M2
+ {0, CB7_CA2, CB9_CA2, CB8_CA2}, // TAB
+ {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Q
+ {0, CB7_CA4, CB9_CA4, CB8_CA4}, // W
+ {0, CB7_CA5, CB9_CA5, CB8_CA5}, // E
+ {0, CB7_CA6, CB9_CA6, CB8_CA6}, // R
+ {0, CB7_CA7, CB9_CA7, CB8_CA7}, // T
- {0, J_1, L_1, K_1}, // M3
- {0, J_2, L_2, K_2}, // CapsJock
- {0, J_3, L_3, K_3}, // A
- {0, J_4, L_4, K_4}, // S
- {0, J_5, L_5, K_5}, // D
- {0, J_6, L_6, K_6}, // F
- {0, J_7, L_7, K_7}, // G
+ {0, CB10_CA1, CB12_CA1, CB11_CA1}, // M3
+ {0, CB10_CA2, CB12_CA2, CB11_CA2}, // CapsJock
+ {0, CB10_CA3, CB12_CA3, CB11_CA3}, // A
+ {0, CB10_CA4, CB12_CA4, CB11_CA4}, // S
+ {0, CB10_CA5, CB12_CA5, CB11_CA5}, // D
+ {0, CB10_CA6, CB12_CA6, CB11_CA6}, // F
+ {0, CB10_CA7, CB12_CA7, CB11_CA7}, // G
- {0, J_9, L_9, K_9}, // M4
- {0, J_10, L_10, K_10}, // Shift_L
- {0, J_11, L_11, K_11}, // NUBS
- {0, J_12, L_12, K_12}, // Z
- {0, J_13, L_13, K_13}, // X
- {0, J_14, L_14, K_14}, // C
- {0, J_15, L_15, K_15}, // V
- {0, J_16, L_16, K_16}, // B
+ {0, CB10_CA9, CB12_CA9, CB11_CA9}, // M4
+ {0, CB10_CA10, CB12_CA10, CB11_CA10}, // Shift_L
+ {0, CB10_CA11, CB12_CA11, CB11_CA11}, // NUBS
+ {0, CB10_CA12, CB12_CA12, CB11_CA12}, // Z
+ {0, CB10_CA13, CB12_CA13, CB11_CA13}, // X
+ {0, CB10_CA14, CB12_CA14, CB11_CA14}, // C
+ {0, CB10_CA15, CB12_CA15, CB11_CA15}, // V
+ {0, CB10_CA16, CB12_CA16, CB11_CA16}, // B
- {0, G_9, I_9, H_9}, // M5
- {0, G_10, I_10, H_10}, // Ctrl_L
- {0, G_11, I_11, H_11}, // WGn_L
- {0, G_12, I_12, H_12}, // Alt_L
- {0, G_13, I_13, H_13}, // Fn
- {0, G_15, I_15, H_15}, // Space
+ {0, CB7_CA9, CB9_CA9, CB8_CA9}, // M5
+ {0, CB7_CA10, CB9_CA10, CB8_CA10}, // Ctrl_L
+ {0, CB7_CA11, CB9_CA11, CB8_CA11}, // WGn_L
+ {0, CB7_CA12, CB9_CA12, CB8_CA12}, // Alt_L
+ {0, CB7_CA13, CB9_CA13, CB8_CA13}, // Fn
+ {0, CB7_CA15, CB9_CA15, CB8_CA15}, // Space
- {0, A_16, C_16, B_16}, // F7
- {0, A_15, C_15, B_15}, // F8
- {0, A_14, C_14, B_14}, // F9
- {0, A_13, C_13, B_13}, // F11
- {0, A_12, C_12, B_12}, // F11
- {0, A_11, C_11, B_11}, // F12
- {0, A_10, C_10, B_10}, // INS
- {0, A_9, C_9, B_9}, // DEL
+ {0, CB1_CA16, CB3_CA16, CB2_CA16}, // F7
+ {0, CB1_CA15, CB3_CA15, CB2_CA15}, // F8
+ {0, CB1_CA14, CB3_CA14, CB2_CA14}, // F9
+ {0, CB1_CA13, CB3_CA13, CB2_CA13}, // F11
+ {0, CB1_CA12, CB3_CA12, CB2_CA12}, // F11
+ {0, CB1_CA11, CB3_CA11, CB2_CA11}, // F12
+ {0, CB1_CA10, CB3_CA10, CB2_CA10}, // INS
+ {0, CB1_CA9, CB3_CA9, CB2_CA9}, // DEL
- {0, D_16, F_16, E_16}, // 7&
- {0, D_15, F_15, E_15}, // 8*
- {0, D_14, F_14, E_14}, // 9(
- {0, D_13, F_13, E_13}, // 1)
- {0, D_12, F_12, E_12}, // -_
- {0, D_11, F_11, E_11}, // =+
- {0, D_10, F_10, E_10}, // BackSpace
- {0, D_8, F_8, E_8}, // PgUp
+ {0, CB4_CA16, CB6_CA16, CB5_CA16}, // 7&
+ {0, CB4_CA15, CB6_CA15, CB5_CA15}, // 8*
+ {0, CB4_CA14, CB6_CA14, CB5_CA14}, // 9(
+ {0, CB4_CA13, CB6_CA13, CB5_CA13}, // 1)
+ {0, CB4_CA12, CB6_CA12, CB5_CA12}, // -_
+ {0, CB4_CA11, CB6_CA11, CB5_CA11}, // =+
+ {0, CB4_CA10, CB6_CA10, CB5_CA10}, // BackSpace
+ {0, CB4_CA8, CB6_CA8, CB5_CA8}, // PgUp
- {0, G_16, I_16, H_16}, // Y
- {0, G_15, I_15, H_15}, // U
- {0, G_14, I_14, H_14}, // G
- {0, G_13, I_13, H_13}, // O
- {0, G_12, I_12, H_12}, // P
- {0, G_11, I_11, H_11}, // [
- {0, G_10, I_10, H_10}, // ]
- {0, G_8, I_8, H_8}, // PgDn
+ {0, CB7_CA16, CB9_CA16, CB8_CA16}, // Y
+ {0, CB7_CA15, CB9_CA15, CB8_CA15}, // U
+ {0, CB7_CA14, CB9_CA14, CB8_CA14}, // G
+ {0, CB7_CA13, CB9_CA13, CB8_CA13}, // O
+ {0, CB7_CA12, CB9_CA12, CB8_CA12}, // P
+ {0, CB7_CA11, CB9_CA11, CB8_CA11}, // [
+ {0, CB7_CA10, CB9_CA10, CB8_CA10}, // ]
+ {0, CB7_CA8, CB9_CA8, CB8_CA8}, // PgDn
- {0, J_16, L_16, K_16}, // H
- {0, J_15, L_15, K_15}, // J
- {0, J_14, L_14, K_14}, // KKEY_PRESS_HOME
- {0, J_13, L_13, K_13}, // J
- {0, J_12, L_12, K_12}, // ;:
- {0, J_11, L_11, K_11}, // '"
- {0, J_9, L_9, K_9}, // NUHS
- {0, G_9, I_9, H_9}, // Enter
- {0, J_8, L_8, K_8}, // Home
+ {0, CB10_CA16, CB12_CA16, CB11_CA16}, // H
+ {0, CB10_CA15, CB12_CA15, CB11_CA15}, // J
+ {0, CB10_CA14, CB12_CA14, CB11_CA14}, // KKEY_PRESS_HOME
+ {0, CB10_CA13, CB12_CA13, CB11_CA13}, // J
+ {0, CB10_CA12, CB12_CA12, CB11_CA12}, // ;:
+ {0, CB10_CA11, CB12_CA11, CB11_CA11}, // '"
+ {0, CB10_CA9, CB12_CA9, CB11_CA9}, // NUHS
+ {0, CB7_CA9, CB9_CA9, CB8_CA9}, // Enter
+ {0, CB10_CA8, CB12_CA8, CB11_CA8}, // Home
- {0, J_7, L_7, K_7}, // N
- {0, J_6, L_6, K_6}, // M
- {0, J_5, L_5, K_5}, // ,<
- {0, J_4, L_4, K_4}, // .>
- {0, J_3, L_3, K_3}, // ?/
- {0, J_2, L_2, K_2}, // Shift_R
- {0, J_1, L_1, K_1}, // Up
+ {0, CB10_CA7, CB12_CA7, CB11_CA7}, // N
+ {0, CB10_CA6, CB12_CA6, CB11_CA6}, // M
+ {0, CB10_CA5, CB12_CA5, CB11_CA5}, // ,<
+ {0, CB10_CA4, CB12_CA4, CB11_CA4}, // .>
+ {0, CB10_CA3, CB12_CA3, CB11_CA3}, // ?/
+ {0, CB10_CA2, CB12_CA2, CB11_CA2}, // Shift_R
+ {0, CB10_CA1, CB12_CA1, CB11_CA1}, // Up
- {0, G_6, I_6, H_6}, // Space
- {0, G_5, I_5, H_5}, // Win_R
- {0, G_4, I_4, H_4}, // Fn
- {0, G_3, I_3, H_3}, // Ctrl_R
- {0, G_2, I_2, H_2}, // Left
- {0, G_1, I_1, H_1}, // Down
- {0, G_7, I_7, H_7}, // Right
+ {0, CB7_CA6, CB9_CA6, CB8_CA6}, // Space
+ {0, CB7_CA5, CB9_CA5, CB8_CA5}, // Win_R
+ {0, CB7_CA4, CB9_CA4, CB8_CA4}, // Fn
+ {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Ctrl_R
+ {0, CB7_CA2, CB9_CA2, CB8_CA2}, // Left
+ {0, CB7_CA1, CB9_CA1, CB8_CA1}, // Down
+ {0, CB7_CA7, CB9_CA7, CB8_CA7}, // Right
};
#endif
diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c
index bf7bab4b53..f643113ea3 100755
--- a/keyboards/keychron/q11/q11.c
+++ b/keyboards/keychron/q11/q11.c
@@ -16,25 +16,6 @@
#include "quantum.h"
-// Mask out handedness diode to prevent it
-// from keeping the keyboard awake
-// - just mirroring `KC_NO` in the `LAYOUT`
-// macro to keep it simple
-const matrix_row_t matrix_mask[] = {
- 0b011111111,
- 0b011111111,
- 0b011011111,
- 0b001111111,
- 0b011111111,
- 0b001011111,
- 0b111111111,
- 0b101111111,
- 0b111111111,
- 0b110111111,
- 0b010111111,
- 0b111011110,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) {
diff --git a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c
index 350da52661..ba32f58fc6 100644
--- a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c
@@ -17,123 +17,123 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- // {0, I_1, G_1, H_1}
- {0, I_2, G_2, H_2}, // F13
- {0, I_3, G_3, H_3}, // F14
- {0, I_4, G_4, H_4}, // F15
- {0, I_5, G_5, H_5}, // Esc
- {0, I_6, G_6, H_6}, // F1
- {0, I_7, G_7, H_7}, // F2
- {0, I_8, G_8, H_8}, // F3
- {0, I_9, G_9, H_9}, // F4
- {0, I_10, G_10, H_10}, // F5
- {0, I_11, G_11, H_11}, // F6
- {0, I_12, G_12, H_12}, // F7
- {0, I_13, G_13, H_13}, // F8
- {0, I_14, G_14, H_14}, // F9
- {0, I_15, G_15, H_15}, // F10
- {0, I_16, G_16, H_16}, // F11
- {0, L_16, J_16, K_16}, // F12
- {0, L_15, J_15, K_15}, // DEL
- {0, L_14, J_14, K_14}, // Light
+ // {0, CB9_CA1, CB7_CA1, CB8_CA1}
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F13
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F14
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F15
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // Esc
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F1
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F2
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F3
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F4
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F5
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F6
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F7
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F8
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // F9
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // F10
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // F11
+ {0, CB12_CA16, CB10_CA16, CB11_CA16}, // F12
+ {0, CB12_CA15, CB10_CA15, CB11_CA15}, // DEL
+ {0, CB12_CA14, CB10_CA14, CB11_CA14}, // Light
- {0, C_1, A_1, B_1}, // num_lock
- {0, C_2, A_2, B_2}, // /
- {0, C_3, A_3, B_3}, // *
- {0, C_4, A_4, B_4}, // -
- {0, C_5, A_5, B_5}, // ~`
- {0, C_6, A_6, B_6}, // 1!
- {0, C_7, A_7, B_7}, // 2@
- {0, C_8, A_8, B_8}, // 3#
- {0, C_9, A_9, B_9}, // 4$
- {0, C_10, A_10, B_10}, // 5%
- {0, C_11, A_11, B_11}, // 6^
- {0, C_12, A_12, B_12}, // 7&
- {0, C_13, A_13, B_13}, // 8*
- {0, C_14, A_14, B_14}, // 9(
- {0, C_15, A_15, B_15}, // 0)
- {0, C_16, A_16, B_16}, // -_
- {0, L_13, J_13, K_13}, // =+
- {0, L_12, J_12, K_12}, // BackSpace
- {0, L_11, J_11, K_11}, // PgUp
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // num_lock
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // /
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // *
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // -
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // ~`
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 1!
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 2@
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 3#
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 4$
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 5%
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 6^
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // 7&
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // 8*
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // 9(
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // 0)
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // -_
+ {0, CB12_CA13, CB10_CA13, CB11_CA13}, // =+
+ {0, CB12_CA12, CB10_CA12, CB11_CA12}, // BackSpace
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // PgUp
- {0, F_1, D_1, E_1}, // 7
- {0, F_2, D_2, E_2}, // 8
- {0, F_3, D_3, E_3}, // 9
- {0, F_4, D_4, E_4}, // +
- {0, F_5, D_5, E_5}, // TAB
- {0, F_6, D_6, E_6}, // Q
- {0, F_7, D_7, E_7}, // W
- {0, F_8, D_8, E_8}, // E
- {0, F_9, D_9, E_9}, // R
- {0, F_10, D_10, E_10}, // T
- {0, F_11, D_11, E_11}, // Y
- {0, F_12, D_12, E_12}, // U
- {0, F_13, D_13, E_13}, // I
- {0, F_14, D_14, E_14}, // O
- {0, F_15, D_15, E_15}, // P
- {0, F_16, D_16, E_16}, // [
- {0, L_10, J_10, K_10}, // ]
- {0, L_9, J_9, K_9}, // \|
- {0, L_8, J_8, K_8}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // 7
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // 8
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // 9
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // +
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // TAB
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // Q
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // W
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // E
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // R
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // T
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // Y
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // U
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // I
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // O
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // P
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // [
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // ]
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // \|
+ {0, CB12_CA8, CB10_CA8, CB11_CA8}, // PgDn
- {1, C_16, A_16, B_16}, // 4
- {1, C_15, A_15, B_15}, // 5
- {1, C_14, A_14, B_14}, // 6
- // {0, F_4, D_4, E_4}, // +
- {1, C_12, A_12, B_12}, // CapsLock
- {1, C_11, A_11, B_11}, // A
- {1, C_10, A_10, B_10}, // S
- {1, C_9, A_9, B_9}, // D
- {1, C_8, A_8, B_8}, // F
- {1, C_7, A_7, B_7}, // G
- {1, C_6, A_6, B_6}, // H
- {1, C_5, A_5, B_5}, // J
- {1, C_4, A_4, B_4}, // k
- {1, C_3, A_3, B_3}, // l
- {1, C_2, A_2, B_2}, // ï¼›
- {1, C_1, A_1, B_1}, // '
- {1, L_1, J_1, K_1}, // Enter
- {1, L_2, J_2, K_2}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // 4
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // 5
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // 6
+ // {0, CB6_CA4, CB4_CA4, CB5_CA4}, // +
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // CapsLock
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // A
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // S
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // D
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // F
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // G
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // H
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // J
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // k
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // l
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // ï¼›
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // '
+ {1, CB12_CA1, CB10_CA1, CB11_CA1}, // Enter
+ {1, CB12_CA2, CB10_CA2, CB11_CA2}, // Home
- {1, I_16, G_16, H_16}, // 1
- {1, I_15, G_15, H_15}, // 2
- {1, I_14, G_14, H_14}, // 3
- {1, I_13, G_13, H_13}, // Enter
- {1, I_12, G_12, H_12}, //Shift_L
- {1, I_10, G_10, H_10}, // Z
- {1, I_9, G_9, H_9}, // X
- {1, I_8, G_8, H_8}, // C
- {1, I_7, G_7, H_7}, // V
- {1, I_6, G_6, H_6}, // B
- {1, I_5, G_5, H_5}, // N
- {1, I_4, G_4, H_4}, // M
- {1, I_3, G_3, H_3}, // ,
- {1, I_2, G_2, H_2}, // .
- {1, I_1, G_1, H_1}, // ?
- {1, L_3, J_3, K_3}, // Shift_R
- {1, L_4, J_4, K_4}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // 1
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // 2
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // 3
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Enter
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, //Shift_L
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // Z
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // X
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // C
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // V
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // B
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // N
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // M
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ,
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // .
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // ?
+ {1, CB12_CA3, CB10_CA3, CB11_CA3}, // Shift_R
+ {1, CB12_CA4, CB10_CA4, CB11_CA4}, // Up
- {1, F_16, D_16, E_16}, // 0
- {1, F_14, D_14, E_14}, // .
- {1, F_12, D_12, E_12}, // Ctrl_L
- {1, F_11, D_11, E_11}, // Win_L
- {1, F_10, D_10, E_10}, // Alt_L
- {1, F_6, D_6, E_6}, // Space
- {1, F_3, D_3, E_3}, // Alt_R
- {1, F_2, D_2, E_2}, // Fn
- {1, F_1, D_1, E_1}, // Ctrl_R
- {1, L_5, J_5, K_5}, // Left
- {1, L_6, J_6, K_6}, // Down
- {1, L_7, J_7, K_7}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // 0
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // .
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Ctrl_L
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // Win_L
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Alt_L
+ {1, CB6_CA6, CB4_CA6, CB5_CA6}, // Space
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Alt_R
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Fn
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Ctrl_R
+ {1, CB12_CA5, CB10_CA5, CB11_CA5}, // Left
+ {1, CB12_CA6, CB10_CA6, CB11_CA6}, // Down
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/q12/ansi_encoder/config.h b/keyboards/keychron/q12/ansi_encoder/config.h
index 56a1f7505f..a016f282d8 100644
--- a/keyboards/keychron/q12/ansi_encoder/config.h
+++ b/keyboards/keychron/q12/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 56
-#define DRIVER_2_LED_TOTAL 46
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define ENCODER_DEFAULT_POS 0x3
/* Enable caps-lock LED */
diff --git a/keyboards/keychron/q12/ansi_encoder/info.json b/keyboards/keychron/q12/ansi_encoder/info.json
index 291fd1774c..7b1e46beb7 100644
--- a/keyboards/keychron/q12/ansi_encoder/info.json
+++ b/keyboards/keychron/q12/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x01D1",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A2", "pin_b": "C14"}
diff --git a/keyboards/keychron/q12/config.h b/keyboards/keychron/q12/config.h
index cc24578c16..91e5fcce1d 100644
--- a/keyboards/keychron/q12/config.h
+++ b/keyboards/keychron/q12/config.h
@@ -38,72 +38,3 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xAD, 0xAD, 0x55, 0xAD, 0xAD, 0x55, 0xAD, 0xAD, 0x55, 0xAD, 0xAD, 0x55 }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID \
- { \
- { 5, 4 } \
- }
-#define SCAN_COUNT_MAX 100
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-// #define WEAR_LEVELING_LOGICAL_SIZE 2048 // default
-// #define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) // default
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q12/info.json b/keyboards/keychron/q12/info.json
new file mode 100644
index 0000000000..b5e7dc1e1c
--- /dev/null
+++ b/keyboards/keychron/q12/info.json
@@ -0,0 +1,32 @@
+{
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations":{
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/q12/iso_encoder/config.h b/keyboards/keychron/q12/iso_encoder/config.h
index eb0957d7af..829fa73803 100644
--- a/keyboards/keychron/q12/iso_encoder/config.h
+++ b/keyboards/keychron/q12/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 56
-#define DRIVER_2_LED_TOTAL 47
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define ENCODER_DEFAULT_POS 0x3
/* Enable caps-lock LED */
diff --git a/keyboards/keychron/q12/iso_encoder/info.json b/keyboards/keychron/q12/iso_encoder/info.json
index edd0d0ea43..c66c1bb665 100644
--- a/keyboards/keychron/q12/iso_encoder/info.json
+++ b/keyboards/keychron/q12/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x01D3",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A2", "pin_b": "C14"}
diff --git a/keyboards/keychron/q12/iso_encoder/iso_encoder.c b/keyboards/keychron/q12/iso_encoder/iso_encoder.c
index 37d9db10b4..f9513e7f41 100644
--- a/keyboards/keychron/q12/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q12/iso_encoder/iso_encoder.c
@@ -18,125 +18,125 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- // {0, I_1, G_1, H_1}
- {0, I_2, G_2, H_2}, // F13
- {0, I_3, G_3, H_3}, // F14
- {0, I_4, G_4, H_4}, // F15
- {0, I_5, G_5, H_5}, // Esc
- {0, I_6, G_6, H_6}, // F1
- {0, I_7, G_7, H_7}, // F2
- {0, I_8, G_8, H_8}, // F3
- {0, I_9, G_9, H_9}, // F4
- {0, I_10, G_10, H_10}, // F5
- {0, I_11, G_11, H_11}, // F6
- {0, I_12, G_12, H_12}, // F7
- {0, I_13, G_13, H_13}, // F8
- {0, I_14, G_14, H_14}, // F9
- {0, I_15, G_15, H_15}, // F10
- {0, I_16, G_16, H_16}, // F11
- {0, L_16, J_16, K_16}, // F12
- {0, L_15, J_15, K_15}, // DEL
- {0, L_14, J_14, K_14}, // Light
+ // {0, CB9_CA1, CB7_CA1, CB8_CA1}
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F13
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F14
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F15
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // Esc
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F1
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F2
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F3
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F4
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F5
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F6
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F7
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F8
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // F9
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // F10
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // F11
+ {0, CB12_CA16, CB10_CA16, CB11_CA16}, // F12
+ {0, CB12_CA15, CB10_CA15, CB11_CA15}, // DEL
+ {0, CB12_CA14, CB10_CA14, CB11_CA14}, // Light
- {0, C_1, A_1, B_1}, // num_lock
- {0, C_2, A_2, B_2}, // /
- {0, C_3, A_3, B_3}, // *
- {0, C_4, A_4, B_4}, // -
- {0, C_5, A_5, B_5}, // ~`
- {0, C_6, A_6, B_6}, // 1!
- {0, C_7, A_7, B_7}, // 2@
- {0, C_8, A_8, B_8}, // 3#
- {0, C_9, A_9, B_9}, // 4$
- {0, C_10, A_10, B_10}, // 5%
- {0, C_11, A_11, B_11}, // 6^
- {0, C_12, A_12, B_12}, // 7&
- {0, C_13, A_13, B_13}, // 8*
- {0, C_14, A_14, B_14}, // 9(
- {0, C_15, A_15, B_15}, // 0)
- {0, C_16, A_16, B_16}, // -_
- {0, L_13, J_13, K_13}, // =+
- {0, L_12, J_12, K_12}, // BackSpace
- {0, L_11, J_11, K_11}, // PgUp
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // num_lock
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // /
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // *
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // -
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // ~`
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 1!
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 2@
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 3#
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 4$
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 5%
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 6^
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // 7&
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // 8*
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // 9(
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // 0)
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // -_
+ {0, CB12_CA13, CB10_CA13, CB11_CA13}, // =+
+ {0, CB12_CA12, CB10_CA12, CB11_CA12}, // BackSpace
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // PgUp
- {0, F_1, D_1, E_1}, // 7
- {0, F_2, D_2, E_2}, // 8
- {0, F_3, D_3, E_3}, // 9
- {0, F_4, D_4, E_4}, // +
- {0, F_5, D_5, E_5}, // TAB
- {0, F_6, D_6, E_6}, // Q
- {0, F_7, D_7, E_7}, // W
- {0, F_8, D_8, E_8}, // E
- {0, F_9, D_9, E_9}, // R
- {0, F_10, D_10, E_10}, // T
- {0, F_11, D_11, E_11}, // Y
- {0, F_12, D_12, E_12}, // U
- {0, F_13, D_13, E_13}, // I
- {0, F_14, D_14, E_14}, // O
- {0, F_15, D_15, E_15}, // P
- {0, F_16, D_16, E_16}, // [
- {0, L_10, J_10, K_10}, // ]
- // {0, L_9, J_9, K_9}, // \|
- {0, L_8, J_8, K_8}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // 7
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // 8
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // 9
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // +
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // TAB
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // Q
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // W
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // E
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // R
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // T
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // Y
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // U
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // I
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // O
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // P
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // [
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // ]
+ // {0, CB12_CA9, CB10_CA9, CB11_CA9}, // \|
+ {0, CB12_CA8, CB10_CA8, CB11_CA8}, // PgDn
- {1, C_16, A_16, B_16}, // 4
- {1, C_15, A_15, B_15}, // 5
- {1, C_14, A_14, B_14}, // 6
- // {0, F_4, D_4, E_4}, // +
- {1, C_12, A_12, B_12}, // CapsLock
- {1, C_11, A_11, B_11}, // A
- {1, C_10, A_10, B_10}, // S
- {1, C_9, A_9, B_9}, // D
- {1, C_8, A_8, B_8}, // F
- {1, C_7, A_7, B_7}, // G
- {1, C_6, A_6, B_6}, // H
- {1, C_5, A_5, B_5}, // J
- {1, C_4, A_4, B_4}, // k
- {1, C_3, A_3, B_3}, // l
- {1, C_2, A_2, B_2}, // ï¼›
- {1, C_1, A_1, B_1}, // '
- {1, L_1, J_1, K_1}, // #~
- {0, L_9, J_9, K_9}, // Enter
- {1, L_2, J_2, K_2}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // 4
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // 5
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // 6
+ // {0, CB6_CA4, CB4_CA4, CB5_CA4}, // +
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // CapsLock
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // A
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // S
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // D
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // F
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // G
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // H
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // J
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // k
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // l
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // ï¼›
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // '
+ {1, CB12_CA1, CB10_CA1, CB11_CA1}, // #~
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // Enter
+ {1, CB12_CA2, CB10_CA2, CB11_CA2}, // Home
- {1, I_16, G_16, H_16}, // 1
- {1, I_15, G_15, H_15}, // 2
- {1, I_14, G_14, H_14}, // 3
- {1, I_13, G_13, H_13}, // Enter
- {1, I_12, G_12, H_12}, //Shift_L
- {1, I_11, G_11, H_11}, // |
- {1, I_10, G_10, H_10}, // Z
- {1, I_9, G_9, H_9}, // X
- {1, I_8, G_8, H_8}, // C
- {1, I_7, G_7, H_7}, // V
- {1, I_6, G_6, H_6}, // B
- {1, I_5, G_5, H_5}, // N
- {1, I_4, G_4, H_4}, // M
- {1, I_3, G_3, H_3}, // ,
- {1, I_2, G_2, H_2}, // .
- {1, I_1, G_1, H_1}, // ?
- {1, L_3, J_3, K_3}, // Shift_R
- {1, L_4, J_4, K_4}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // 1
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // 2
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // 3
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Enter
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, //Shift_L
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // |
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // Z
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // X
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // C
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // V
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // B
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // N
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // M
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ,
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // .
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // ?
+ {1, CB12_CA3, CB10_CA3, CB11_CA3}, // Shift_R
+ {1, CB12_CA4, CB10_CA4, CB11_CA4}, // Up
- {1, F_16, D_16, E_16}, // 0
- {1, F_14, D_14, E_14}, // .
- {1, F_12, D_12, E_12}, // Ctrl_L
- {1, F_11, D_11, E_11}, // Win_L
- {1, F_10, D_10, E_10}, // Alt_L
- {1, F_6, D_6, E_6}, // Space
- {1, F_3, D_3, E_3}, // Alt_R
- {1, F_2, D_2, E_2}, // Fn
- {1, F_1, D_1, E_1}, // Ctrl_R
- {1, L_5, J_5, K_5}, // Left
- {1, L_6, J_6, K_6}, // Down
- {1, L_7, J_7, K_7}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // 0
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // .
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Ctrl_L
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // Win_L
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Alt_L
+ {1, CB6_CA6, CB4_CA6, CB5_CA6}, // Space
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Alt_R
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Fn
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Ctrl_R
+ {1, CB12_CA5, CB10_CA5, CB11_CA5}, // Left
+ {1, CB12_CA6, CB10_CA6, CB11_CA6}, // Down
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/q12/q12.c b/keyboards/keychron/q12/q12.c
index 3d8eab5659..9a019af6ac 100644
--- a/keyboards/keychron/q12/q12.c
+++ b/keyboards/keychron/q12/q12.c
@@ -16,16 +16,6 @@
#include "quantum.h"
-// clang-format off
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111101111,
-};
-// clang-format on
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) {
diff --git a/keyboards/keychron/q1v1/ansi/ansi.c b/keyboards/keychron/q1v1/ansi/ansi.c
index 5f74267bf4..dfd2ee6087 100644
--- a/keyboards/keychron/q1v1/ansi/ansi.c
+++ b/keyboards/keychron/q1v1/ansi/ansi.c
@@ -16,110 +16,101 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b0111111111111101,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
-};
-
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, SW3_CS1, SW1_CS1, SW2_CS1},
+ {0, SW3_CS3, SW1_CS3, SW2_CS3},
+ {0, SW3_CS4, SW1_CS4, SW2_CS4},
+ {0, SW3_CS5, SW1_CS5, SW2_CS5},
+ {0, SW3_CS6, SW1_CS6, SW2_CS6},
+ {0, SW3_CS7, SW1_CS7, SW2_CS7},
+ {0, SW3_CS8, SW1_CS8, SW2_CS8},
+ {0, SW3_CS9, SW1_CS9, SW2_CS9},
+ {0, SW3_CS10, SW1_CS10, SW2_CS10},
+ {0, SW3_CS11, SW1_CS11, SW2_CS11},
+ {0, SW3_CS12, SW1_CS12, SW2_CS12},
+ {0, SW3_CS13, SW1_CS13, SW2_CS13},
+ {0, SW3_CS14, SW1_CS14, SW2_CS14},
+ {0, SW3_CS15, SW1_CS15, SW2_CS15},
+ {0, SW3_CS16, SW1_CS16, SW2_CS16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, SW6_CS1, SW4_CS1, SW5_CS1},
+ {0, SW6_CS2, SW4_CS2, SW5_CS2},
+ {0, SW6_CS3, SW4_CS3, SW5_CS3},
+ {0, SW6_CS4, SW4_CS4, SW5_CS4},
+ {0, SW6_CS5, SW4_CS5, SW5_CS5},
+ {0, SW6_CS6, SW4_CS6, SW5_CS6},
+ {0, SW6_CS7, SW4_CS7, SW5_CS7},
+ {0, SW6_CS8, SW4_CS8, SW5_CS8},
+ {0, SW6_CS9, SW4_CS9, SW5_CS9},
+ {0, SW6_CS10, SW4_CS10, SW5_CS10},
+ {0, SW6_CS11, SW4_CS11, SW5_CS11},
+ {0, SW6_CS12, SW4_CS12, SW5_CS12},
+ {0, SW6_CS13, SW4_CS13, SW5_CS13},
+ {0, SW6_CS14, SW4_CS14, SW5_CS14},
+ {0, SW6_CS16, SW4_CS16, SW5_CS16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, SW9_CS1, SW7_CS1, SW8_CS1},
+ {0, SW9_CS2, SW7_CS2, SW8_CS2},
+ {0, SW9_CS3, SW7_CS3, SW8_CS3},
+ {0, SW9_CS4, SW7_CS4, SW8_CS4},
+ {0, SW9_CS5, SW7_CS5, SW8_CS5},
+ {0, SW9_CS6, SW7_CS6, SW8_CS6},
+ {0, SW9_CS7, SW7_CS7, SW8_CS7},
+ {0, SW9_CS8, SW7_CS8, SW8_CS8},
+ {0, SW9_CS9, SW7_CS9, SW8_CS9},
+ {0, SW9_CS10, SW7_CS10, SW8_CS10},
+ {0, SW9_CS11, SW7_CS11, SW8_CS11},
+ {0, SW9_CS12, SW7_CS12, SW8_CS12},
+ {0, SW9_CS13, SW7_CS13, SW8_CS13},
+ {0, SW9_CS14, SW7_CS14, SW8_CS14},
+ {0, SW9_CS16, SW7_CS16, SW8_CS16},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
- {0, L_16, J_16, K_16},
+ {0, SW12_CS1, SW10_CS1, SW11_CS1},
+ {0, SW12_CS2, SW10_CS2, SW11_CS2},
+ {0, SW12_CS3, SW10_CS3, SW11_CS3},
+ {0, SW12_CS4, SW10_CS4, SW11_CS4},
+ {0, SW12_CS5, SW10_CS5, SW11_CS5},
+ {0, SW12_CS6, SW10_CS6, SW11_CS6},
+ {0, SW12_CS7, SW10_CS7, SW11_CS7},
+ {0, SW12_CS8, SW10_CS8, SW11_CS8},
+ {0, SW12_CS9, SW10_CS9, SW11_CS9},
+ {0, SW12_CS10, SW10_CS10, SW11_CS10},
+ {0, SW12_CS11, SW10_CS11, SW11_CS11},
+ {0, SW12_CS12, SW10_CS12, SW11_CS12},
+ {0, SW12_CS14, SW10_CS14, SW11_CS14},
+ {0, SW12_CS16, SW10_CS16, SW11_CS16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, SW3_CS1, SW1_CS1, SW2_CS1},
+ {1, SW3_CS3, SW1_CS3, SW2_CS3},
+ {1, SW3_CS4, SW1_CS4, SW2_CS4},
+ {1, SW3_CS5, SW1_CS5, SW2_CS5},
+ {1, SW3_CS6, SW1_CS6, SW2_CS6},
+ {1, SW3_CS7, SW1_CS7, SW2_CS7},
+ {1, SW3_CS8, SW1_CS8, SW2_CS8},
+ {1, SW3_CS9, SW1_CS9, SW2_CS9},
+ {1, SW3_CS10, SW1_CS10, SW2_CS10},
+ {1, SW3_CS11, SW1_CS11, SW2_CS11},
+ {1, SW3_CS12, SW1_CS12, SW2_CS12},
+ {1, SW3_CS14, SW1_CS14, SW2_CS14},
+ {1, SW3_CS15, SW1_CS15, SW2_CS15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, SW6_CS1, SW4_CS1, SW5_CS1},
+ {1, SW6_CS2, SW4_CS2, SW5_CS2},
+ {1, SW6_CS3, SW4_CS3, SW5_CS3},
+ {1, SW6_CS7, SW4_CS7, SW5_CS7},
+ {1, SW6_CS11, SW4_CS11, SW5_CS11},
+ {1, SW6_CS12, SW4_CS12, SW5_CS12},
+ {1, SW6_CS13, SW4_CS13, SW5_CS13},
+ {1, SW6_CS14, SW4_CS14, SW5_CS14},
+ {1, SW6_CS15, SW4_CS15, SW5_CS15},
+ {1, SW6_CS16, SW4_CS16, SW5_CS16}
};
diff --git a/keyboards/keychron/q1v1/ansi/config.h b/keyboards/keychron/q1v1/ansi/config.h
index 5eaa1e82f1..83ac22d2b6 100644
--- a/keyboards/keychron/q1v1/ansi/config.h
+++ b/keyboards/keychron/q1v1/ansi/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 82
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 45 \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/README.md b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/README.md
deleted file mode 100644
index c2d5799bb8..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# gtg465x's Keychron Q1 keymap
-
-- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences
-- RGB lighting turns off when the computer sleeps
-- Caps Lock and alpha keys turn red to indicate when Caps Lock is on
-- When the Fn layer is active, RGB lighting turns off for keys that are not assigned
-
-## Changelog
-
-### 10/3/2021 - 1.0.3
-
-- Feature: When the Fn layer is active, RGB lighting turns off for keys that are not assigned
-
-### 10/1/2021 - 1.0.2
-
-- Added Caps Lock indicator (my implementation is different, but this was inspired by mkillewald)
-- Mission Control and Launchpad custom keycodes are now defined using the VIA user keycodes range so they can be labeled properly in VIA
-
-### 9/28/2021 - 1.0.1
-
-- Initial release
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h
deleted file mode 100644
index 5ac05d04c1..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB Matrix Configuration */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
-# define FN_LAYER_TRANSPARENT_KEYS_OFF
-#endif
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap.c b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap.c
deleted file mode 100644
index 8da475c3c6..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-// clang-format off
-
-#define KC_TASK LGUI(KC_TAB)
-#define KC_FLXP LGUI(KC_E)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[MAC_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[MAC_FN] = LAYOUT_ansi_82(
- 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,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[WIN_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[WIN_FN] = LAYOUT_ansi_82(
- KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
-// clang-format on
-
-void matrix_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap_user.h b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap_user.h
deleted file mode 100644
index 728114d556..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/keymap_user.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers {
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-// clang-format on
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.c b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.c
deleted file mode 100644
index b7d12f9466..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#ifdef CAPS_LOCK_INDICATOR_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- }
-#endif
- break;
- case MAC_FN:
- case WIN_FN:
-#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
-#endif
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
-#ifdef CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
- return (KC_A <= keycode && keycode <= KC_Z) || keycode == KC_CAPS;
-#else
- return keycode == KC_CAPS;
-#endif
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.h b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.h
deleted file mode 100644
index dead454167..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rgb_matrix_user.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode);
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rules.mk b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rules.mk
deleted file mode 100644
index 42ba38028d..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h
deleted file mode 100644
index bc9fe405c3..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define FN_LAYER_COLOR RGB_ORANGE
-#endif \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap.c b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap.c
deleted file mode 100644
index 4fc8ad58e5..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-// clang-format off
-
-typedef union {
- uint32_t raw;
- struct {
- bool caps_lock_light_tab :1;
- bool caps_lock_light_alphas :1;
- bool fn_layer_transparent_keys_off :1;
- bool fn_layer_color_enable :1;
- };
-} user_config_t;
-
-user_config_t user_config;
-
-enum custom_keycodes {
- KC_LIGHT_TAB_TOGGLE = QK_KB_2, // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK.
- KC_LIGHT_ALPHAS_TOGGLE,
- KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE,
- KC_FN_LAYER_COLOR_TOGGLE
-};
-
-#define KC_LTTOG KC_LIGHT_TAB_TOGGLE
-#define KC_LATOG KC_LIGHT_ALPHAS_TOGGLE
-#define KC_TKTOG KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE
-#define KC_FCTOG KC_FN_LAYER_COLOR_TOGGLE
-#define KC_TASK LGUI(KC_TAB)
-#define KC_FLXP LGUI(KC_E)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[MAC_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[MAC_FN] = LAYOUT_ansi_82(
- 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,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LTTOG, KC_LATOG, KC_TKTOG, KC_FCTOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[WIN_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[WIN_FN] = LAYOUT_ansi_82(
- KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LTTOG, KC_LATOG, KC_TKTOG, KC_FCTOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
-// clang-format on
-
-void matrix_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
-}
-
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- user_config.caps_lock_light_tab = false;
- user_config.caps_lock_light_alphas = false;
- user_config.fn_layer_transparent_keys_off = true;
- user_config.fn_layer_color_enable = false;
- eeconfig_update_user(user_config.raw);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_LIGHT_TAB_TOGGLE:
- if (record->event.pressed) {
- user_config.caps_lock_light_tab ^= 1; // bitwise xor to toggle status bit
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_LIGHT_ALPHAS_TOGGLE:
- if (record->event.pressed) {
- user_config.caps_lock_light_alphas ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE:
- if (record->event.pressed) {
- user_config.fn_layer_transparent_keys_off ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_FN_LAYER_COLOR_TOGGLE:
- if (record->event.pressed) {
- user_config.fn_layer_color_enable ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- default:
- return true; // Process all other keycodes normally
- }
-}
-
-bool get_caps_lock_light_tab(void) {
- return user_config.caps_lock_light_tab;
-}
-
-bool get_caps_lock_light_alphas(void) {
- return user_config.caps_lock_light_alphas;
-}
-
-bool get_fn_layer_transparent_keys_off(void) {
- return user_config.fn_layer_transparent_keys_off;
-}
-
-bool get_fn_layer_color_enable(void) {
- return user_config.fn_layer_color_enable;
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap_user.h b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap_user.h
deleted file mode 100644
index 87b1baf47f..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/keymap_user.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers {
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-// clang-format on
-
-bool get_caps_lock_light_tab(void);
-bool get_caps_lock_light_alphas(void);
-bool get_fn_layer_transparent_keys_off(void);
-bool get_fn_layer_color_enable(void); \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/readme.md b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/readme.md
deleted file mode 100644
index 8ff2dbcc2c..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/readme.md
+++ /dev/null
@@ -1,54 +0,0 @@
-## mkillewald's Keychron Q1 keymap (ANSI rev_0100) v1.0.4
-
-This keymap builds on the keymap by Grayson Carr (gtg465x) but adds a couple options.
-
-## Features:
-- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences
-- RGB lighting turns off when the computer sleeps
-- Caps Lock RGB indicator
- - the Caps Lock key will light when Caps Lock is enabled with the following options:
- - #define CAPS_LOCK_INDICATOR_COLOR [color] in config.h to set the backlight color used for the indicator when Caps Lock is enabled (default: red)
- - Fn+Z will toggle lighting the TAB key when Caps Lock is enabled. This is useful with non backlit keycaps/legends. (default: off)
- - Fn+X will toggle lighting all the alpha keys when Caps Lock is enabled. (default: off)
-
-- Dynamic Fn layer RGB indicator
- - When the Fn key is held down, any keys defined on the Fn layer in this firmware or in VIA will be highlighted with the following options:
- - #define FN_LAYER_COLOR [color] in config.h to set a static color for defined keys (default: orange)
- - Fn+C will toggle turning off RGB for keys with no definition (default: RGB off)
- - Fn+V will toggle lighting the defined Fn layer keys with the static color set with FN_LAYER_COLOR (default: static color off)
-
-- All custom keycodes can be moved to different keys in VIA by using the ANY key with the following keycodes:
- - USER(0) (default: F3) macOS Mission Control
- - USER(1) (default: F4) macOS Launchpad
- - USER(2) (default: Fn+Z) Caps Lock light Tab toggle
- - USER(3) (default: Fn+X) Caps Lock light alphas toggle
- - USER(4) (default: Fn+C) Fn layer non-defined keys RGB toggle
- - USER(5) (default: Fn+V) Fn layer defined keys static color toggle
-
-RGB must be toggled on for all indicators to function. If you do not want an RGB mode active but still want the indicators, toggle RGB on and turn the brightness all the way off. The indicators will remain at full brightness.
-
-Please make sure to save any customizations you have made in VIA to a .json file before flashing the firmware. Sometimes it has been necessary to re-apply those changes in VIA after flashing the firmware. If that is the case, you will most likely need to manually add the USER(0) through USER(5) custom keycodes after loading your customizations from the saved .json file. Then re-save a new .json file which will have your previous customizations and the custom keycodes for future use as needed.
-
-#### USE AT YOUR OWN RISK
-
-## Changelog:
-
-v1.0.4 October 9, 2021
-- Caps Lock and Fn layer toggles are now stored in eeprom so settings will remain when Q1 is unplugged
-
-v1.0.3 October 8, 2021
-- now using keycode toggles instead of preprocessor directive to set the various Caps Lock and Fn Layer RGB lighting options. This allows for setting the options from user space without having to recompile.
-
-v1.0.2 October 7, 2021
-- adapted Grayson Carr's (gtg465x) Caps Lock alphas and dynamic Fn layer RGB routines
-- added CAPS_LOCK_INDICATOR_LIGHT_TAB config option to enable/disable lighting Tab with Caps Lock indicator
-- added FN_LAYER_COLOR config option to set FN layer static color
-
-v1.0.1 October 7, 2021
-- Mission Control and Launchpad custom keycodes are now defined using the VIA user keycodes range so thay can be labeled properly in VIA (adopted change from gtg465x)
-
-v1.0.0 September 30, 2021
-- Initial release built upon keymap by Grayson Carr (gtg465x)
-- defined Mission Control (F3) and Launchpad (F4) keycodes for macOs
-- RGB backlight turns off when computer sleeps
-- added Caps Lock indicator lighting both the Caps Lock and Tab LEDs for better effect on non-backlit keycaps
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.c b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.c
deleted file mode 100644
index c6fa5f1f15..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#ifdef CAPS_LOCK_INDICATOR_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- }
-#endif
- break;
- case MAC_FN:
- case WIN_FN:
-#ifdef FN_LAYER_COLOR
- if (get_fn_layer_color_enable()) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, FN_LAYER_COLOR);
- }
-#endif
- if (get_fn_layer_transparent_keys_off()) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
- }
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
- bool indicator = keycode == KC_CAPS;
-
- if (get_caps_lock_light_tab()) {
- indicator = keycode == KC_TAB || keycode == KC_CAPS;
- }
-
- if (get_caps_lock_light_alphas()) {
- return (KC_A <= keycode && keycode <= KC_Z) || indicator;
- } else {
- return indicator;
- }
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
-bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.h b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.h
deleted file mode 100644
index 1fb79c0b2a..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rgb_matrix_user.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode);
-bool is_not_transparent(uint16_t keycode);
-
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rules.mk b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rules.mk
deleted file mode 100644
index af720e37ee..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h
deleted file mode 100644
index 4378af4f58..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-
-/* RGB Matrix Configuration */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define MAC_LAYER_DEFAULT_COLOR RGB_CYAN
-# define WIN_LAYER_DEFAULT_COLOR RGB_GREEN
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define CAPS_LOCK_INDICATOR_LIGHT_60
-# define FN_LAYER_TRANSPARENT_KEYS_OFF
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
-# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
-#endif
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap.c
deleted file mode 100644
index 77af30c5b6..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-// clang-format off
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [MAC_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_LGMAC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_MACFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [MAC_FN] = LAYOUT_ansi_82(
- _______, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MACPS, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- KC_CAPS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, KC_LMAC, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [WIN_BASE] = LAYOUT_ansi_82(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_LGWIN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WINFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [WIN_FN] = LAYOUT_ansi_82(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- KC_CAPS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
-
-// clang-format on
-
-void matrix_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap_user.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap_user.h
deleted file mode 100644
index 57ac5258c2..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/keymap_user.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers {
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-// clang-format on
-
-// Tap dance enums
-enum {
- MAC_CAPS_LANGUAGE_CHANGE,
- WIN_CAPS_LANGUAGE_CHANGE,
-};
-
-#ifdef TAP_DANCE_ENABLE
-# define KC_LGMAC TD(MAC_CAPS_LANGUAGE_CHANGE)
-# define KC_LGWIN TD(WIN_CAPS_LANGUAGE_CHANGE)
-#else
-# define KC_LGMAC KC_CAPS
-# define KC_LGWIN KC_CAPS
-#endif
-#define KC_MACFN MO(MAC_FN)
-#define KC_WINFN MO(WIN_FN)
-#define KC_LMAC C(G(KC_Q))
-#define KC_MACPS G(S(KC_5))
-#define KC_TASK G(KC_TAB)
-#define KC_FLXP G(KC_E)
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/readme.md b/keyboards/keychron/q1v1/ansi/keymaps/teimor/readme.md
deleted file mode 100644
index 9aa16f9a89..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# teimor's Keychron Q1 keymap
-
-- Via Enabled.
-- Tap dance enabled.
-- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences.
-- RGB lighting turns off when the computer sleeps.
-- The RGB lighting for keys that are not assigned turns off when the Fn layer is active
-- 60% layout turns red to indicate when Caps Lock is on.
-- Windows and macOS: A single tap will quickly change the language, and holding will trigger Caps Lock. (Using Tap Dance)
-- RGB Matrix based on layout - macOS base layout will turn on cyan color, Windows base layout will turn on green color.
-- `fn + N` will toggle NKRO, useful when using the keyboard on freebsd.
-- `fn + L` on macOS will lock the system.
-- `fn + del` will trigger screenshot on macOS and Windows.
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.c
deleted file mode 100644
index fbc37fb5bf..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state | default_layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#if defined CAPS_LOCK_INDICATOR_COLOR && defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- } else if (current_layer == MAC_BASE)
- rgb_matrix_set_color_all(MAC_LAYER_DEFAULT_COLOR);
- else if (current_layer == WIN_BASE)
- rgb_matrix_set_color_all(WIN_LAYER_DEFAULT_COLOR);
-#endif
- break;
- case MAC_FN:
- case WIN_FN:
-#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
- if (current_layer == MAC_FN) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, MAC_LAYER_DEFAULT_COLOR);
- } else if (current_layer == WIN_FN) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, WIN_LAYER_DEFAULT_COLOR);
- }
-#endif
-#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
-#endif
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
-#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
- else {
- if (layer == MAC_BASE)
- rgb_matrix_set_color(i, MAC_LAYER_DEFAULT_COLOR);
- else if (layer == WIN_BASE)
- rgb_matrix_set_color(i, WIN_LAYER_DEFAULT_COLOR);
- }
-#endif
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
- bool indicator = keycode == KC_CAPS || keycode == KC_LGMAC || keycode == KC_LGWIN;
-#ifdef CAPS_LOCK_INDICATOR_LIGHT_60
- return (KC_A <= keycode && keycode <= KC_CAPS) || (KC_LEFT_CTRL <= keycode && keycode <= KC_RIGHT_GUI) || keycode == KC_MACFN || keycode == KC_WINFN || indicator;
-#else
- return indicator;
-#endif
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
-bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.h
deleted file mode 100644
index 5b53b5b8ec..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rgb_matrix_user.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode);
-bool is_not_transparent(uint16_t keycode);
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rules.mk b/keyboards/keychron/q1v1/ansi/keymaps/teimor/rules.mk
deleted file mode 100644
index bafb40484b..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-TAP_DANCE_ENABLE = yes
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif
-
-ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
- SRC += tap_dance_user.c
- SRC += tap_dance_setup.c
- SRC += tap_dance_mac_caps.c
- SRC += tap_dance_win_caps.c
-endif
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.c
deleted file mode 100644
index dfb0346ff1..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2021 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* macOS CapsLock language change */
-#include "tap_dance_mac_caps.h"
-
-static td_tap_t mac_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
-
-void mac_caps_language_finished(tap_dance_state_t *state, void *user_data) {
- mac_caps_language_tap_state.state = current_dance(state);
- switch (mac_caps_language_tap_state.state) {
- case TD_SINGLE_TAP:
- register_code(KC_LCTL);
- register_code(KC_SPACE);
- break;
- case TD_SINGLE_HOLD:
- register_code(KC_CAPS_LOCK);
- break;
- default:
- break;
- }
-}
-
-void mac_caps_language_reset(tap_dance_state_t *state, void *user_data) {
- switch (mac_caps_language_tap_state.state) {
- case TD_SINGLE_TAP:
- unregister_code(KC_SPACE);
- unregister_code(KC_LCTL);
- break;
- case TD_SINGLE_HOLD:
- unregister_code(KC_CAPS_LOCK);
- break;
- default:
- break;
- }
- mac_caps_language_tap_state.state = TD_NONE;
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.h
deleted file mode 100644
index ef552a2c2c..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_mac_caps.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* macOS CapsLock language change */
-#pragma once
-
-#include "tap_dance_setup.h"
-
-void mac_caps_language_finished(tap_dance_state_t *state, void *user_data);
-void mac_caps_language_reset(tap_dance_state_t *state, void *user_data);
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.c
deleted file mode 100644
index 07257e556a..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "tap_dance_setup.h"
-
-td_state_t current_dance(tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
- /* Key has not been interrupted, but the key is still held. Means you w ant to send a 'HOLD'. */
- else
- return TD_SINGLE_HOLD;
- } else if (state->count == 2) {
- /* TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
- action when hitting 'pp'. Suggested use case for this return value is when you want to send two
- keystrokes of the key, and not the 'double tap' action/macro. */
- if (state->interrupted)
- return TD_DOUBLE_SINGLE_TAP;
- else if (state->pressed)
- return TD_DOUBLE_HOLD;
- else
- return TD_DOUBLE_TAP;
- }
-
- /* Assumes no one is trying to type the same letter three times (at least not quickly).
- If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add
- an exception here to return a 'TD_TRIPLE_SINGLE_TAP', and define that enum just like 'TD_DOUBLE_SINGLE_TAP' */
- if (state->count == 3) {
- if (state->interrupted)
- return TD_TRIPLE_SINGLE_TAP;
- else if (state->pressed)
- return TD_TRIPLE_HOLD;
- else
- return TD_TRIPLE_TAP;
-
- } else
- return TD_UNKNOWN;
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.h
deleted file mode 100644
index 5d2f4acd57..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_setup.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include QMK_KEYBOARD_H
-
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_TAP,
- TD_SINGLE_HOLD,
- TD_DOUBLE_TAP,
- TD_DOUBLE_HOLD,
- TD_DOUBLE_SINGLE_TAP, // Send two single taps
- TD_TRIPLE_TAP,
- TD_TRIPLE_HOLD,
- TD_TRIPLE_SINGLE_TAP // Send three single tap
-} td_state_t;
-
-typedef struct {
- bool is_press_action;
- td_state_t state;
-} td_tap_t;
-
-td_state_t current_dance(tap_dance_state_t *state);
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_user.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_user.c
deleted file mode 100644
index ed8120572e..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_user.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "keymap_user.h"
-#include "tap_dance_mac_caps.h"
-#include "tap_dance_win_caps.h"
-
-// clang-format off
-
-tap_dance_action_t tap_dance_actions[] = {
- [MAC_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, mac_caps_language_finished, mac_caps_language_reset),
- [WIN_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, win_caps_language_finished, win_caps_language_reset)
-};
-
-// clang-format on
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.c b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.c
deleted file mode 100644
index 1c7c438d2e..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* Windows CapsLock language change */
-#include "tap_dance_win_caps.h"
-
-static td_tap_t win_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
-
-void win_caps_language_finished(tap_dance_state_t *state, void *user_data) {
- win_caps_language_tap_state.state = current_dance(state);
- switch (win_caps_language_tap_state.state) {
- case TD_SINGLE_TAP:
- register_code(KC_LGUI);
- register_code(KC_SPACE);
- break;
- case TD_SINGLE_HOLD:
- register_code(KC_CAPS_LOCK);
- break;
- default:
- break;
- }
-}
-
-void win_caps_language_reset(tap_dance_state_t *state, void *user_data) {
- switch (win_caps_language_tap_state.state) {
- case TD_SINGLE_TAP:
- unregister_code(KC_SPACE);
- unregister_code(KC_LGUI);
- break;
- case TD_SINGLE_HOLD:
- unregister_code(KC_CAPS_LOCK);
- break;
- default:
- break;
- }
- win_caps_language_tap_state.state = TD_NONE;
-}
diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.h
deleted file mode 100644
index 2289cce326..0000000000
--- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/tap_dance_win_caps.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2022 @ Teimor Epstein
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* Windows CapsLock language change */
-#pragma once
-
-#include "tap_dance_setup.h"
-
-void win_caps_language_finished(tap_dance_state_t *state, void *user_data);
-void win_caps_language_reset(tap_dance_state_t *state, void *user_data);
diff --git a/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c
index c4fc884bc2..d8679ee482 100644
--- a/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c
@@ -16,110 +16,101 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b0111111111111101,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
-};
-
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, SW3_CS1, SW1_CS1, SW2_CS1},
+ {0, SW3_CS3, SW1_CS3, SW2_CS3},
+ {0, SW3_CS4, SW1_CS4, SW2_CS4},
+ {0, SW3_CS5, SW1_CS5, SW2_CS5},
+ {0, SW3_CS6, SW1_CS6, SW2_CS6},
+ {0, SW3_CS7, SW1_CS7, SW2_CS7},
+ {0, SW3_CS8, SW1_CS8, SW2_CS8},
+ {0, SW3_CS9, SW1_CS9, SW2_CS9},
+ {0, SW3_CS10, SW1_CS10, SW2_CS10},
+ {0, SW3_CS11, SW1_CS11, SW2_CS11},
+ {0, SW3_CS12, SW1_CS12, SW2_CS12},
+ {0, SW3_CS13, SW1_CS13, SW2_CS13},
+ {0, SW3_CS14, SW1_CS14, SW2_CS14},
+ {0, SW3_CS15, SW1_CS15, SW2_CS15},
+ {0, SW3_CS16, SW1_CS16, SW2_CS16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, SW6_CS1, SW4_CS1, SW5_CS1},
+ {0, SW6_CS2, SW4_CS2, SW5_CS2},
+ {0, SW6_CS3, SW4_CS3, SW5_CS3},
+ {0, SW6_CS4, SW4_CS4, SW5_CS4},
+ {0, SW6_CS5, SW4_CS5, SW5_CS5},
+ {0, SW6_CS6, SW4_CS6, SW5_CS6},
+ {0, SW6_CS7, SW4_CS7, SW5_CS7},
+ {0, SW6_CS8, SW4_CS8, SW5_CS8},
+ {0, SW6_CS9, SW4_CS9, SW5_CS9},
+ {0, SW6_CS10, SW4_CS10, SW5_CS10},
+ {0, SW6_CS11, SW4_CS11, SW5_CS11},
+ {0, SW6_CS12, SW4_CS12, SW5_CS12},
+ {0, SW6_CS13, SW4_CS13, SW5_CS13},
+ {0, SW6_CS14, SW4_CS14, SW5_CS14},
+ {0, SW6_CS16, SW4_CS16, SW5_CS16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, SW9_CS1, SW7_CS1, SW8_CS1},
+ {0, SW9_CS2, SW7_CS2, SW8_CS2},
+ {0, SW9_CS3, SW7_CS3, SW8_CS3},
+ {0, SW9_CS4, SW7_CS4, SW8_CS4},
+ {0, SW9_CS5, SW7_CS5, SW8_CS5},
+ {0, SW9_CS6, SW7_CS6, SW8_CS6},
+ {0, SW9_CS7, SW7_CS7, SW8_CS7},
+ {0, SW9_CS8, SW7_CS8, SW8_CS8},
+ {0, SW9_CS9, SW7_CS9, SW8_CS9},
+ {0, SW9_CS10, SW7_CS10, SW8_CS10},
+ {0, SW9_CS11, SW7_CS11, SW8_CS11},
+ {0, SW9_CS12, SW7_CS12, SW8_CS12},
+ {0, SW9_CS13, SW7_CS13, SW8_CS13},
+ {0, SW9_CS14, SW7_CS14, SW8_CS14},
+ {0, SW9_CS16, SW7_CS16, SW8_CS16},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
- {0, L_16, J_16, K_16},
+ {0, SW12_CS1, SW10_CS1, SW11_CS1},
+ {0, SW12_CS2, SW10_CS2, SW11_CS2},
+ {0, SW12_CS3, SW10_CS3, SW11_CS3},
+ {0, SW12_CS4, SW10_CS4, SW11_CS4},
+ {0, SW12_CS5, SW10_CS5, SW11_CS5},
+ {0, SW12_CS6, SW10_CS6, SW11_CS6},
+ {0, SW12_CS7, SW10_CS7, SW11_CS7},
+ {0, SW12_CS8, SW10_CS8, SW11_CS8},
+ {0, SW12_CS9, SW10_CS9, SW11_CS9},
+ {0, SW12_CS10, SW10_CS10, SW11_CS10},
+ {0, SW12_CS11, SW10_CS11, SW11_CS11},
+ {0, SW12_CS12, SW10_CS12, SW11_CS12},
+ {0, SW12_CS14, SW10_CS14, SW11_CS14},
+ {0, SW12_CS16, SW10_CS16, SW11_CS16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, SW3_CS1, SW1_CS1, SW2_CS1},
+ {1, SW3_CS3, SW1_CS3, SW2_CS3},
+ {1, SW3_CS4, SW1_CS4, SW2_CS4},
+ {1, SW3_CS5, SW1_CS5, SW2_CS5},
+ {1, SW3_CS6, SW1_CS6, SW2_CS6},
+ {1, SW3_CS7, SW1_CS7, SW2_CS7},
+ {1, SW3_CS8, SW1_CS8, SW2_CS8},
+ {1, SW3_CS9, SW1_CS9, SW2_CS9},
+ {1, SW3_CS10, SW1_CS10, SW2_CS10},
+ {1, SW3_CS11, SW1_CS11, SW2_CS11},
+ {1, SW3_CS12, SW1_CS12, SW2_CS12},
+ {1, SW3_CS14, SW1_CS14, SW2_CS14},
+ {1, SW3_CS15, SW1_CS15, SW2_CS15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, SW6_CS1, SW4_CS1, SW5_CS1},
+ {1, SW6_CS2, SW4_CS2, SW5_CS2},
+ {1, SW6_CS3, SW4_CS3, SW5_CS3},
+ {1, SW6_CS7, SW4_CS7, SW5_CS7},
+ {1, SW6_CS11, SW4_CS11, SW5_CS11},
+ {1, SW6_CS12, SW4_CS12, SW5_CS12},
+ {1, SW6_CS13, SW4_CS13, SW5_CS13},
+ {1, SW6_CS14, SW4_CS14, SW5_CS14},
+ {1, SW6_CS15, SW4_CS15, SW5_CS15},
+ {1, SW6_CS16, SW4_CS16, SW5_CS16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q1v1/ansi_encoder/config.h b/keyboards/keychron/q1v1/ansi_encoder/config.h
index e608b42c8d..c0d96766a3 100644
--- a/keyboards/keychron/q1v1/ansi_encoder/config.h
+++ b/keyboards/keychron/q1v1/ansi_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 82
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 45
diff --git a/keyboards/keychron/q1v1/config.h b/keyboards/keychron/q1v1/config.h
index 68b431f7b3..246f147afb 100644
--- a/keyboards/keychron/q1v1/config.h
+++ b/keyboards/keychron/q1v1/config.h
@@ -20,17 +20,5 @@
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {0,1} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
/* Encoder Configuration*/
#define ENCODER_DEFAULT_POS 0x3
-
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/info.json b/keyboards/keychron/q1v1/info.json
index 26c846927b..0107c60b9c 100644
--- a/keyboards/keychron/q1v1/info.json
+++ b/keyboards/keychron/q1v1/info.json
@@ -4,17 +4,22 @@
"maintainer": "lalalademaxiya1",
"bootloader": "atmel-dfu",
"diode_direction": "ROW2COL",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"dip_switch": true,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
+ "dip_switch": {
+ "matrix_grid": [ [0, 1] ]
+ },
"matrix_pins": {
"cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["D3", "D2", "B3", "B2", "B1", "B0"]
@@ -44,7 +49,8 @@
"splash": true,
"typing_heatmap": true
},
- "driver": "is31fl3733"
+ "driver": "is31fl3733",
+ "sleep": true
},
"url": "https://github.com/Keychron",
"usb": {
diff --git a/keyboards/keychron/q1v1/iso/config.h b/keyboards/keychron/q1v1/iso/config.h
index b6a2563986..4593b41067 100644
--- a/keyboards/keychron/q1v1/iso/config.h
+++ b/keyboards/keychron/q1v1/iso/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 83
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 44 \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso/iso.c b/keyboards/keychron/q1v1/iso/iso.c
index 874f5c8539..affc41d219 100644
--- a/keyboards/keychron/q1v1/iso/iso.c
+++ b/keyboards/keychron/q1v1/iso/iso.c
@@ -16,111 +16,102 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b0111111111111101,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
-};
-
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, SW3_CS1, SW1_CS1, SW2_CS1},
+ {0, SW3_CS3, SW1_CS3, SW2_CS3},
+ {0, SW3_CS4, SW1_CS4, SW2_CS4},
+ {0, SW3_CS5, SW1_CS5, SW2_CS5},
+ {0, SW3_CS6, SW1_CS6, SW2_CS6},
+ {0, SW3_CS7, SW1_CS7, SW2_CS7},
+ {0, SW3_CS8, SW1_CS8, SW2_CS8},
+ {0, SW3_CS9, SW1_CS9, SW2_CS9},
+ {0, SW3_CS10, SW1_CS10, SW2_CS10},
+ {0, SW3_CS11, SW1_CS11, SW2_CS11},
+ {0, SW3_CS12, SW1_CS12, SW2_CS12},
+ {0, SW3_CS13, SW1_CS13, SW2_CS13},
+ {0, SW3_CS14, SW1_CS14, SW2_CS14},
+ {0, SW3_CS15, SW1_CS15, SW2_CS15},
+ {0, SW3_CS16, SW1_CS16, SW2_CS16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, SW6_CS1, SW4_CS1, SW5_CS1},
+ {0, SW6_CS2, SW4_CS2, SW5_CS2},
+ {0, SW6_CS3, SW4_CS3, SW5_CS3},
+ {0, SW6_CS4, SW4_CS4, SW5_CS4},
+ {0, SW6_CS5, SW4_CS5, SW5_CS5},
+ {0, SW6_CS6, SW4_CS6, SW5_CS6},
+ {0, SW6_CS7, SW4_CS7, SW5_CS7},
+ {0, SW6_CS8, SW4_CS8, SW5_CS8},
+ {0, SW6_CS9, SW4_CS9, SW5_CS9},
+ {0, SW6_CS10, SW4_CS10, SW5_CS10},
+ {0, SW6_CS11, SW4_CS11, SW5_CS11},
+ {0, SW6_CS12, SW4_CS12, SW5_CS12},
+ {0, SW6_CS13, SW4_CS13, SW5_CS13},
+ {0, SW6_CS14, SW4_CS14, SW5_CS14},
+ {0, SW6_CS16, SW4_CS16, SW5_CS16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_16, G_16, H_16},
+ {0, SW9_CS1, SW7_CS1, SW8_CS1},
+ {0, SW9_CS2, SW7_CS2, SW8_CS2},
+ {0, SW9_CS3, SW7_CS3, SW8_CS3},
+ {0, SW9_CS4, SW7_CS4, SW8_CS4},
+ {0, SW9_CS5, SW7_CS5, SW8_CS5},
+ {0, SW9_CS6, SW7_CS6, SW8_CS6},
+ {0, SW9_CS7, SW7_CS7, SW8_CS7},
+ {0, SW9_CS8, SW7_CS8, SW8_CS8},
+ {0, SW9_CS9, SW7_CS9, SW8_CS9},
+ {0, SW9_CS10, SW7_CS10, SW8_CS10},
+ {0, SW9_CS11, SW7_CS11, SW8_CS11},
+ {0, SW9_CS12, SW7_CS12, SW8_CS12},
+ {0, SW9_CS13, SW7_CS13, SW8_CS13},
+ {0, SW9_CS16, SW7_CS16, SW8_CS16},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
- {0, I_14, G_14, H_14},
- {0, L_16, J_16, K_16},
+ {0, SW12_CS1, SW10_CS1, SW11_CS1},
+ {0, SW12_CS2, SW10_CS2, SW11_CS2},
+ {0, SW12_CS3, SW10_CS3, SW11_CS3},
+ {0, SW12_CS4, SW10_CS4, SW11_CS4},
+ {0, SW12_CS5, SW10_CS5, SW11_CS5},
+ {0, SW12_CS6, SW10_CS6, SW11_CS6},
+ {0, SW12_CS7, SW10_CS7, SW11_CS7},
+ {0, SW12_CS8, SW10_CS8, SW11_CS8},
+ {0, SW12_CS9, SW10_CS9, SW11_CS9},
+ {0, SW12_CS10, SW10_CS10, SW11_CS10},
+ {0, SW12_CS11, SW10_CS11, SW11_CS11},
+ {0, SW12_CS12, SW10_CS12, SW11_CS12},
+ {0, SW12_CS14, SW10_CS14, SW11_CS14},
+ {0, SW9_CS14, SW7_CS14, SW8_CS14},
+ {0, SW12_CS16, SW10_CS16, SW11_CS16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, SW3_CS1, SW1_CS1, SW2_CS1},
+ {1, SW3_CS2, SW1_CS2, SW2_CS2},
+ {1, SW3_CS3, SW1_CS3, SW2_CS3},
+ {1, SW3_CS4, SW1_CS4, SW2_CS4},
+ {1, SW3_CS5, SW1_CS5, SW2_CS5},
+ {1, SW3_CS6, SW1_CS6, SW2_CS6},
+ {1, SW3_CS7, SW1_CS7, SW2_CS7},
+ {1, SW3_CS8, SW1_CS8, SW2_CS8},
+ {1, SW3_CS9, SW1_CS9, SW2_CS9},
+ {1, SW3_CS10, SW1_CS10, SW2_CS10},
+ {1, SW3_CS11, SW1_CS11, SW2_CS11},
+ {1, SW3_CS12, SW1_CS12, SW2_CS12},
+ {1, SW3_CS14, SW1_CS14, SW2_CS14},
+ {1, SW3_CS15, SW1_CS15, SW2_CS15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, SW6_CS1, SW4_CS1, SW5_CS1},
+ {1, SW6_CS2, SW4_CS2, SW5_CS2},
+ {1, SW6_CS3, SW4_CS3, SW5_CS3},
+ {1, SW6_CS7, SW4_CS7, SW5_CS7},
+ {1, SW6_CS11, SW4_CS11, SW5_CS11},
+ {1, SW6_CS12, SW4_CS12, SW5_CS12},
+ {1, SW6_CS13, SW4_CS13, SW5_CS13},
+ {1, SW6_CS14, SW4_CS14, SW5_CS14},
+ {1, SW6_CS15, SW4_CS15, SW5_CS15},
+ {1, SW6_CS16, SW4_CS16, SW5_CS16}
};
#define __ NO_LED
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/README.md b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/README.md
deleted file mode 100644
index 3cfae17543..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# kubahorak's Keychron Q1 keymap
-
-This ISO layout got heavily inspired by gtg465x's ANSI keymap (rev_0100).
-
-Features:
-- The rightest key column is: Ins, Home, PgUp, PgDn, which differs from the default.
-- RGB lighting turns off when the computer sleeps
-- Caps Lock and alpha keys turn red to indicate when Caps Lock is on
-- When the Fn layer is active, RGB lighting turns off for keys that are not assigned
-
-## Changelog
-
-### 2021-10-17 - 1.0.0
-
-- Initial release
-
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h
deleted file mode 100644
index 55dbb74d4a..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 Jakub Horak (@kubahorak)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-/* from rev_0100/keymaps/gtg465x */
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
-# define FN_LAYER_TRANSPARENT_KEYS_OFF
-#endif
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap.c b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap.c
deleted file mode 100644
index 479988dfa9..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2021 Jakub Horak (@kubahorak)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-// clang-format off
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_iso_83(
- KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_iso_83(
- 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_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_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_PPLS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_iso_83(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [3] = LAYOUT_iso_83(
- KC_TRNS, KC_BRID, KC_BRIU, LGUI(KC_TAB), LGUI(KC_E), RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_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_PPLS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-// clang-format on
-
-void matrix_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap_user.h b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap_user.h
deleted file mode 100644
index 728114d556..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/keymap_user.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers {
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-// clang-format on
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.c b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.c
deleted file mode 100644
index 638aa77eb0..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#ifdef CAPS_LOCK_INDICATOR_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- }
-#endif
- break;
- case MAC_FN:
- case WIN_FN:
-#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
-#endif
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
- switch (keycode) {
-#ifdef CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
- case KC_A ... KC_Z:
-#endif
- case KC_CAPS:
- return true;
- default:
- return false;
- }
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.h b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.h
deleted file mode 100644
index dead454167..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rgb_matrix_user.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 @ Grayson Carr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode);
diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rules.mk b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rules.mk
deleted file mode 100644
index af720e37ee..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h
deleted file mode 100644
index bc9fe405c3..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define FN_LAYER_COLOR RGB_ORANGE
-#endif \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap.c b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap.c
deleted file mode 100644
index f86a84e468..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-// clang-format off
-
-typedef union {
- uint32_t raw;
- struct {
- bool caps_lock_light_tab :1;
- bool caps_lock_light_alphas :1;
- bool fn_layer_transparent_keys_off :1;
- bool fn_layer_color_enable :1;
- };
-} user_config_t;
-
-user_config_t user_config;
-
-enum custom_keycodes {
- KC_LIGHT_TAB_TOGGLE = QK_KB_2, // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK.
- KC_LIGHT_ALPHAS_TOGGLE,
- KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE,
- KC_FN_LAYER_COLOR_TOGGLE
-};
-
-#define KC_LTTOG KC_LIGHT_TAB_TOGGLE
-#define KC_LATOG KC_LIGHT_ALPHAS_TOGGLE
-#define KC_TKTOG KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE
-#define KC_FCTOG KC_FN_LAYER_COLOR_TOGGLE
-#define KC_TASK LGUI(KC_TAB)
-#define KC_FLXP LGUI(KC_E)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[MAC_BASE] = LAYOUT_iso_83(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[MAC_FN] = LAYOUT_iso_83(
- 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,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LTTOG, KC_LATOG, KC_TKTOG, KC_FCTOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[WIN_BASE] = LAYOUT_iso_83(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[WIN_FN] = LAYOUT_iso_83(
- KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LTTOG, KC_LATOG, KC_TKTOG, KC_FCTOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
-// clang-format on
-
-void matrix_init_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
-}
-
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- user_config.caps_lock_light_tab = false;
- user_config.caps_lock_light_alphas = false;
- user_config.fn_layer_transparent_keys_off = true;
- user_config.fn_layer_color_enable = false;
- eeconfig_update_user(user_config.raw);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_LIGHT_TAB_TOGGLE:
- if (record->event.pressed) {
- user_config.caps_lock_light_tab ^= 1; // bitwise xor to toggle status bit
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_LIGHT_ALPHAS_TOGGLE:
- if (record->event.pressed) {
- user_config.caps_lock_light_alphas ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_FN_LAYER_TRANSPARENT_KEYS_TOGGLE:
- if (record->event.pressed) {
- user_config.fn_layer_transparent_keys_off ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- case KC_FN_LAYER_COLOR_TOGGLE:
- if (record->event.pressed) {
- user_config.fn_layer_color_enable ^= 1;
- eeconfig_update_user(user_config.raw);
- }
- return false; // Skip all further processing of this key
- default:
- return true; // Process all other keycodes normally
- }
-}
-
-bool get_caps_lock_light_tab(void) {
- return user_config.caps_lock_light_tab;
-}
-
-bool get_caps_lock_light_alphas(void) {
- return user_config.caps_lock_light_alphas;
-}
-
-bool get_fn_layer_transparent_keys_off(void) {
- return user_config.fn_layer_transparent_keys_off;
-}
-
-bool get_fn_layer_color_enable(void) {
- return user_config.fn_layer_color_enable;
-}
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap_user.h b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap_user.h
deleted file mode 100644
index 87b1baf47f..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/keymap_user.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers {
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-// clang-format on
-
-bool get_caps_lock_light_tab(void);
-bool get_caps_lock_light_alphas(void);
-bool get_fn_layer_transparent_keys_off(void);
-bool get_fn_layer_color_enable(void); \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/readme.md b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/readme.md
deleted file mode 100644
index 25d835b1c0..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/readme.md
+++ /dev/null
@@ -1,54 +0,0 @@
-## mkillewald's Keychron Q1 keymap (ISO rev_0102) v1.0.4
-
-This keymap builds on the keymap by Grayson Carr (gtg465x) but adds a couple options.
-
-## Features:
-- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences
-- RGB lighting turns off when the computer sleeps
-- Caps Lock RGB indicator
- - the Caps Lock key will light when Caps Lock is enabled with the following options:
- - #define CAPS_LOCK_INDICATOR_COLOR [color] in config.h to set the backlight color used for the indicator when Caps Lock is enabled (default: red)
- - Fn+Z will toggle lighting the TAB key when Caps Lock is enabled. This is useful with non backlit keycaps/legends. (default: off)
- - Fn+X will toggle lighting all the alpha keys when Caps Lock is enabled. (default: off)
-
-- Dynamic Fn layer RGB indicator
- - When the Fn key is held down, any keys defined on the Fn layer in this firmware or in VIA will be highlighted with the following options:
- - #define FN_LAYER_COLOR [color] in config.h to set a static color for defined keys (default: orange)
- - Fn+C will toggle turning off RGB for keys with no definition (default: RGB off)
- - Fn+V will toggle lighting the defined Fn layer keys with the static color set with FN_LAYER_COLOR (default: static color off)
-
-- All custom keycodes can be moved to different keys in VIA by using the ANY key with the following keycodes:
- - USER(0) (default: F3) macOS Mission Control
- - USER(1) (default: F4) macOS Launchpad
- - USER(2) (default: Fn+Z) Caps Lock light Tab toggle
- - USER(3) (default: Fn+X) Caps Lock light alphas toggle
- - USER(4) (default: Fn+C) Fn layer non-defined keys RGB toggle
- - USER(5) (default: Fn+V) Fn layer defined keys static color toggle
-
-RGB must be toggled on for all indicators to function. If you do not want an RGB mode active but still want the indicators, toggle RGB on and turn the brightness all the way off. The indicators will remain at full brightness.
-
-Please make sure to save any customizations you have made in VIA to a .json file before flashing the firmware. Sometimes it has been necessary to re-apply those changes in VIA after flashing the firmware. If that is the case, you will most likely need to manually add the USER(0) through USER(5) custom keycodes after loading your customizations from the saved .json file. Then re-save a new .json file which will have your previous customizations and the custom keycodes for future use as needed.
-
-#### USE AT YOUR OWN RISK
-
-## Changelog:
-
-v1.0.4 October 9, 2021
-- Caps Lock and Fn layer toggles are now stored in eeprom so settings will remain when Q1 is unplugged
-
-v1.0.3 October 8, 2021
-- now using keycode toggles instead of preprocessor directives to set the various Caps Lock and Fn Layer RGB lighting options. This allows for setting the options from user space without having to recompile.
-
-v1.0.2 October 7, 2021
-- adapted Grayson Carr's (gtg465x) Caps Lock alphas and dynamic Fn layer RGB routines
-- added CAPS_LOCK_INDICATOR_LIGHT_TAB config option to enable/disable lighting Tab with Caps Lock indicator
-- added FN_LAYER_COLOR config option to set FN layer static color
-
-v1.0.1 October 7, 2021
-- Mission Control and Launchpad custom keycodes are now defined using the VIA user keycodes range so thay can be labeled properly in VIA (adopted change from gtg465x)
-
-v1.0.0 September 30, 2021
-- Initial release built upon keymap by Grayson Carr (gtg465x)
-- defined Mission Control (F3) and Launchpad (F4) keycodes for macOs
-- RGB backlight turns off when computer sleeps
-- added Caps Lock indicator lighting both the Caps Lock and Tab LEDs for better effect on non-backlit keycaps
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.c b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.c
deleted file mode 100644
index c6fa5f1f15..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#ifdef CAPS_LOCK_INDICATOR_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- }
-#endif
- break;
- case MAC_FN:
- case WIN_FN:
-#ifdef FN_LAYER_COLOR
- if (get_fn_layer_color_enable()) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, FN_LAYER_COLOR);
- }
-#endif
- if (get_fn_layer_transparent_keys_off()) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
- }
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
- bool indicator = keycode == KC_CAPS;
-
- if (get_caps_lock_light_tab()) {
- indicator = keycode == KC_TAB || keycode == KC_CAPS;
- }
-
- if (get_caps_lock_light_alphas()) {
- return (KC_A <= keycode && keycode <= KC_Z) || indicator;
- } else {
- return indicator;
- }
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
-bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.h b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.h
deleted file mode 100644
index 1fb79c0b2a..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rgb_matrix_user.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2021 @ Mike Killewald
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode);
-bool is_not_transparent(uint16_t keycode);
-
diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rules.mk b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rules.mk
deleted file mode 100644
index af720e37ee..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/config.h b/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/config.h
deleted file mode 100644
index 02f08db4a7..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/config.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2021 @ Victor-Gabriel Savu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// disable all default effects
-#undef ENABLE_RGB_MATRIX_BREATHING
-#undef ENABLE_RGB_MATRIX_CYCLE_ALL
-#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#undef ENABLE_RGB_MATRIX_RAINDROPS
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#undef ENABLE_RGB_MATRIX_SPLASH
-#undef ENABLE_RGB_MATRIX_MULTISPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// Allow fancy RGB
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// Simple RGB
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Reactive RGB
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
-
-#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
-
-// Unicode for Linux
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
-#define UNICODE_KEY_LNX LCTL(LSFT(KC_U))
-
-// Leader config
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 500
diff --git a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/keymap.c b/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/keymap.c
deleted file mode 100644
index 5256c97dca..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/keymap.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Copyright 2021 @ Victor-Gabriel Savu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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{
- MAC_BASE,
- MAC_FN,
- WIN_BASE,
- WIN_FN
-};
-
-#define KC_TASK LGUI(KC_TAB)
-#define KC_FLXP LGUI(KC_E)
-
-enum unicode_names {
- GRIN,
- SAD,
-};
-
-const uint32_t unicode_map[] PROGMEM = {
- [GRIN] = 0x1F600, // 😀
- [SAD] = 0x1F61E, // 😞
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[MAC_BASE] = LAYOUT_iso_83(
- KC_ESC, KC_BRID, KC_BRIU, KC_F3, KC_F4, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[MAC_FN] = LAYOUT_iso_83(
- 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,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[WIN_BASE] = LAYOUT_iso_83(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, UM(SAD),
- 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, UM(GRIN),
- KC_TAB, KC_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,
- QK_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[WIN_FN] = LAYOUT_iso_83(
- KC_TRNS, KC_BRID, KC_BRIU, KC_CALC, KC_FLXP, RGB_VAD, RGB_VAI, KC_TRNS, KC_PSCR, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_CAPS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END)
-
-};
-
-static bool wiggle_mouse;
-static uint16_t wiggle_timer;
-static uint16_t next_wiggle;
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(QK_LEAD)) {
- tap_code(KC_CAPS);
- }
-
- if (leader_sequence_four_keys(KC_I, KC_D, KC_L, KC_E)) {
- wiggle_mouse = !wiggle_mouse;
- wiggle_timer = timer_read();
- }
-
- if (leader_sequence_two_keys(KC_O, KC_K)) {
- send_unicode_string("ðŸ‘");
- }
-
- if (leader_sequence_three_keys(KC_S, KC_A, KC_D)) {
- send_unicode_string("😞");
- }
-
- if (leader_sequence_five_keys(KC_C, KC_H, KC_E, KC_C, KC_K)) {
- send_unicode_string("✅");
- }
-
- if (leader_sequence_five_keys(KC_C, KC_R, KC_O, KC_S, KC_S)) {
- send_unicode_string("âŽ");
- }
-
- if (leader_sequence_five_keys(KC_T, KC_H, KC_A, KC_N, KC_K)) {
- send_unicode_string("ðŸ™");
- }
-
- if (leader_sequence_five_keys(KC_S, KC_M, KC_I, KC_L, KC_E)) {
- send_unicode_string("😊");
- }
-
- if (leader_sequence_five_keys(KC_P, KC_A, KC_R, KC_T, KC_Y)) {
- send_unicode_string("🎉");
- }
-
- if (leader_sequence_four_keys(KC_E, KC_Y, KC_E, KC_S)) {
- send_unicode_string("(ಠ_ಠ)");
- }
-
- if (leader_sequence_five_keys(KC_M, KC_A, KC_G, KC_I, KC_C)) {
- send_unicode_string("(ಠ_ಠ) 🪄 â â­’*.✫.*â­’â ");
- }
-
- if (leader_sequence_five_keys(KC_T, KC_A, KC_B, KC_L, KC_E)) {
- send_unicode_string("(ノಠ痊ಠ)ノ彡┻â”â”»");
- }
-
- if (leader_sequence_five_keys(KC_S, KC_H, KC_R, KC_U, KC_G)) {
- send_unicode_string("¯\\_(ツ)_/¯");
- }
-}
-
-void matrix_scan_user(void) {
- if (wiggle_mouse && timer_elapsed(wiggle_timer) > next_wiggle) {
- wiggle_timer = timer_read();
-
- uint8_t rval = TCNT0 + TCNT1 + TCNT3 + TCNT4;
- next_wiggle = rval % 1000;
-
- if (rval & 1) tap_code(KC_MS_UP);
- if (rval & 2) tap_code(KC_MS_DOWN);
- if (rval & 4) tap_code(KC_MS_LEFT);
- if (rval & 8) tap_code(KC_MS_RIGHT);
- }
-}
diff --git a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/readme.md b/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/readme.md
deleted file mode 100644
index c96130816e..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# victorsavu3's Keychron Q1 keymap (ISO)
-
-Very similar to the default layout. Enables reactive and framebuffer RGB, but disables most effects enabled by keychron.
-Uses Caps Lock as a leader key for emojis and to enable a random mouse wiggler to prevent the system from going to sleep.
diff --git a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/rules.mk b/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/rules.mk
deleted file mode 100644
index 853c414ec7..0000000000
--- a/keyboards/keychron/q1v1/iso/keymaps/victorsavu3/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-MOUSEKEY_ENABLE = yes
-UNICODEMAP_ENABLE = yes
-LEADER_ENABLE = yes
diff --git a/keyboards/keychron/q1v1/iso_encoder/config.h b/keyboards/keychron/q1v1/iso_encoder/config.h
index 0907aa14af..ee86dc6881 100644
--- a/keyboards/keychron/q1v1/iso_encoder/config.h
+++ b/keyboards/keychron/q1v1/iso_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 83
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 44
diff --git a/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c b/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c
index 4a7496ed29..e1c535b318 100644
--- a/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c
@@ -16,112 +16,103 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b0111111111111101,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
- 0b0111111111111111,
-};
-
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, SW3_CS1, SW1_CS1, SW2_CS1},
+ {0, SW3_CS3, SW1_CS3, SW2_CS3},
+ {0, SW3_CS4, SW1_CS4, SW2_CS4},
+ {0, SW3_CS5, SW1_CS5, SW2_CS5},
+ {0, SW3_CS6, SW1_CS6, SW2_CS6},
+ {0, SW3_CS7, SW1_CS7, SW2_CS7},
+ {0, SW3_CS8, SW1_CS8, SW2_CS8},
+ {0, SW3_CS9, SW1_CS9, SW2_CS9},
+ {0, SW3_CS10, SW1_CS10, SW2_CS10},
+ {0, SW3_CS11, SW1_CS11, SW2_CS11},
+ {0, SW3_CS12, SW1_CS12, SW2_CS12},
+ {0, SW3_CS13, SW1_CS13, SW2_CS13},
+ {0, SW3_CS14, SW1_CS14, SW2_CS14},
+ {0, SW3_CS15, SW1_CS15, SW2_CS15},
+ {0, SW3_CS16, SW1_CS16, SW2_CS16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, SW6_CS1, SW4_CS1, SW5_CS1},
+ {0, SW6_CS2, SW4_CS2, SW5_CS2},
+ {0, SW6_CS3, SW4_CS3, SW5_CS3},
+ {0, SW6_CS4, SW4_CS4, SW5_CS4},
+ {0, SW6_CS5, SW4_CS5, SW5_CS5},
+ {0, SW6_CS6, SW4_CS6, SW5_CS6},
+ {0, SW6_CS7, SW4_CS7, SW5_CS7},
+ {0, SW6_CS8, SW4_CS8, SW5_CS8},
+ {0, SW6_CS9, SW4_CS9, SW5_CS9},
+ {0, SW6_CS10, SW4_CS10, SW5_CS10},
+ {0, SW6_CS11, SW4_CS11, SW5_CS11},
+ {0, SW6_CS12, SW4_CS12, SW5_CS12},
+ {0, SW6_CS13, SW4_CS13, SW5_CS13},
+ {0, SW6_CS14, SW4_CS14, SW5_CS14},
+ {0, SW6_CS16, SW4_CS16, SW5_CS16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_16, G_16, H_16},
+ {0, SW9_CS1, SW7_CS1, SW8_CS1},
+ {0, SW9_CS2, SW7_CS2, SW8_CS2},
+ {0, SW9_CS3, SW7_CS3, SW8_CS3},
+ {0, SW9_CS4, SW7_CS4, SW8_CS4},
+ {0, SW9_CS5, SW7_CS5, SW8_CS5},
+ {0, SW9_CS6, SW7_CS6, SW8_CS6},
+ {0, SW9_CS7, SW7_CS7, SW8_CS7},
+ {0, SW9_CS8, SW7_CS8, SW8_CS8},
+ {0, SW9_CS9, SW7_CS9, SW8_CS9},
+ {0, SW9_CS10, SW7_CS10, SW8_CS10},
+ {0, SW9_CS11, SW7_CS11, SW8_CS11},
+ {0, SW9_CS12, SW7_CS12, SW8_CS12},
+ {0, SW9_CS13, SW7_CS13, SW8_CS13},
+ {0, SW9_CS16, SW7_CS16, SW8_CS16},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
- {0, I_14, G_14, H_14},
- {0, L_16, J_16, K_16},
+ {0, SW12_CS1, SW10_CS1, SW11_CS1},
+ {0, SW12_CS2, SW10_CS2, SW11_CS2},
+ {0, SW12_CS3, SW10_CS3, SW11_CS3},
+ {0, SW12_CS4, SW10_CS4, SW11_CS4},
+ {0, SW12_CS5, SW10_CS5, SW11_CS5},
+ {0, SW12_CS6, SW10_CS6, SW11_CS6},
+ {0, SW12_CS7, SW10_CS7, SW11_CS7},
+ {0, SW12_CS8, SW10_CS8, SW11_CS8},
+ {0, SW12_CS9, SW10_CS9, SW11_CS9},
+ {0, SW12_CS10, SW10_CS10, SW11_CS10},
+ {0, SW12_CS11, SW10_CS11, SW11_CS11},
+ {0, SW12_CS12, SW10_CS12, SW11_CS12},
+ {0, SW12_CS14, SW10_CS14, SW11_CS14},
+ {0, SW9_CS14, SW7_CS14, SW8_CS14},
+ {0, SW12_CS16, SW10_CS16, SW11_CS16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, SW3_CS1, SW1_CS1, SW2_CS1},
+ {1, SW3_CS2, SW1_CS2, SW2_CS2},
+ {1, SW3_CS3, SW1_CS3, SW2_CS3},
+ {1, SW3_CS4, SW1_CS4, SW2_CS4},
+ {1, SW3_CS5, SW1_CS5, SW2_CS5},
+ {1, SW3_CS6, SW1_CS6, SW2_CS6},
+ {1, SW3_CS7, SW1_CS7, SW2_CS7},
+ {1, SW3_CS8, SW1_CS8, SW2_CS8},
+ {1, SW3_CS9, SW1_CS9, SW2_CS9},
+ {1, SW3_CS10, SW1_CS10, SW2_CS10},
+ {1, SW3_CS11, SW1_CS11, SW2_CS11},
+ {1, SW3_CS12, SW1_CS12, SW2_CS12},
+ {1, SW3_CS14, SW1_CS14, SW2_CS14},
+ {1, SW3_CS15, SW1_CS15, SW2_CS15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, SW6_CS1, SW4_CS1, SW5_CS1},
+ {1, SW6_CS2, SW4_CS2, SW5_CS2},
+ {1, SW6_CS3, SW4_CS3, SW5_CS3},
+ {1, SW6_CS7, SW4_CS7, SW5_CS7},
+ {1, SW6_CS11, SW4_CS11, SW5_CS11},
+ {1, SW6_CS12, SW4_CS12, SW5_CS12},
+ {1, SW6_CS13, SW4_CS13, SW5_CS13},
+ {1, SW6_CS14, SW4_CS14, SW5_CS14},
+ {1, SW6_CS15, SW4_CS15, SW5_CS15},
+ {1, SW6_CS16, SW4_CS16, SW5_CS16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q1v2/ansi/ansi.c b/keyboards/keychron/q1v2/ansi/ansi.c
index 3b80c9d5c4..a0ff08aa48 100644
--- a/keyboards/keychron/q1v2/ansi/ansi.c
+++ b/keyboards/keychron/q1v2/ansi/ansi.c
@@ -18,100 +18,100 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/ansi/config.h b/keyboards/keychron/q1v2/ansi/config.h
index 05ace31778..40df53a759 100644
--- a/keyboards/keychron/q1v2/ansi/config.h
+++ b/keyboards/keychron/q1v2/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 37
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 45
diff --git a/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c
index 3b80c9d5c4..a0ff08aa48 100644
--- a/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c
@@ -18,100 +18,100 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/ansi_encoder/config.h b/keyboards/keychron/q1v2/ansi_encoder/config.h
index 0dce301c3c..5d53fb81ca 100644
--- a/keyboards/keychron/q1v2/ansi_encoder/config.h
+++ b/keyboards/keychron/q1v2/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 37
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q1v2/config.h b/keyboards/keychron/q1v2/config.h
index 5e2a7eaa54..326e60e3c0 100644
--- a/keyboards/keychron/q1v2/config.h
+++ b/keyboards/keychron/q1v2/config.h
@@ -27,31 +27,9 @@
#define I2C1_TIMINGR_SCLH 15U
#define I2C1_TIMINGR_SCLL 51U
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID \
- { \
- { 5, 4 } \
- }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
/* Set LED driver current */
#define SNLED27351_CURRENT_TUNE \
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 }
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
#define HOLD_ON_OTHER_KEY_PRESS // Old default behavior of mod-taps
diff --git a/keyboards/keychron/q1v2/info.json b/keyboards/keychron/q1v2/info.json
index b40c41c760..ed718006e3 100644
--- a/keyboards/keychron/q1v2/info.json
+++ b/keyboards/keychron/q1v2/info.json
@@ -18,6 +18,14 @@
"rgb_matrix": true,
"dip_switch": true
},
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
@@ -53,6 +61,7 @@
"solid_reactive_multinexus": true,
"splash": true,
"solid_splash": true
- }
+ },
+ "sleep": true
}
}
diff --git a/keyboards/keychron/q1v2/iso/config.h b/keyboards/keychron/q1v2/iso/config.h
index d9e596e2c5..f73455c9aa 100644
--- a/keyboards/keychron/q1v2/iso/config.h
+++ b/keyboards/keychron/q1v2/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 44
diff --git a/keyboards/keychron/q1v2/iso/iso.c b/keyboards/keychron/q1v2/iso/iso.c
index d879e55083..eba47a51be 100644
--- a/keyboards/keychron/q1v2/iso/iso.c
+++ b/keyboards/keychron/q1v2/iso/iso.c
@@ -18,101 +18,101 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/iso_encoder/config.h b/keyboards/keychron/q1v2/iso_encoder/config.h
index ab9be499d9..a61faa7b0f 100644
--- a/keyboards/keychron/q1v2/iso_encoder/config.h
+++ b/keyboards/keychron/q1v2/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c b/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c
index d879e55083..eba47a51be 100644
--- a/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c
@@ -18,101 +18,101 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/jis/config.h b/keyboards/keychron/q1v2/jis/config.h
index 2e3db213b0..40df53a759 100644
--- a/keyboards/keychron/q1v2/jis/config.h
+++ b/keyboards/keychron/q1v2/jis/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 45
diff --git a/keyboards/keychron/q1v2/jis/jis.c b/keyboards/keychron/q1v2/jis/jis.c
index e8c0112649..5ba663de46 100644
--- a/keyboards/keychron/q1v2/jis/jis.c
+++ b/keyboards/keychron/q1v2/jis/jis.c
@@ -18,104 +18,104 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_7, A_7, B_7},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/jis_encoder/config.h b/keyboards/keychron/q1v2/jis_encoder/config.h
index c80c4238f5..5d53fb81ca 100644
--- a/keyboards/keychron/q1v2/jis_encoder/config.h
+++ b/keyboards/keychron/q1v2/jis_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c b/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c
index e8c0112649..5ba663de46 100644
--- a/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c
@@ -18,104 +18,104 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_7, A_7, B_7},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#endif
diff --git a/keyboards/keychron/q1v2/q1v2.c b/keyboards/keychron/q1v2/q1v2.c
index 4f83a760d3..1de8f205c7 100644
--- a/keyboards/keychron/q1v2/q1v2.c
+++ b/keyboards/keychron/q1v2/q1v2.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) {
diff --git a/keyboards/keychron/q2/ansi/ansi.c b/keyboards/keychron/q2/ansi/ansi.c
index d0ff0a1869..f26fa9c697 100644
--- a/keyboards/keychron/q2/ansi/ansi.c
+++ b/keyboards/keychron/q2/ansi/ansi.c
@@ -17,84 +17,84 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/ansi/config.h b/keyboards/keychron/q2/ansi/config.h
index 41b92074be..1850088b1f 100644
--- a/keyboards/keychron/q2/ansi/config.h
+++ b/keyboards/keychron/q2/ansi/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 67
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30 \ No newline at end of file
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h b/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h
deleted file mode 100644
index a8ad37d003..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2022 @ Ionut Micu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB Matrix Configuration */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
-# define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
-# define FN_LAYER_TRANSPARENT_KEYS_OFF
-#endif \ No newline at end of file
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c b/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c
deleted file mode 100644
index 55ee7a9732..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2022 @ Ionut Micu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_user.h"
-#ifdef RGB_MATRIX_ENABLE
-# include "rgb_matrix_user.h"
-#endif
-
-#define KC_WAVE S(KC_GRV)
-#define KC_TASK LGUI(KC_TAB)
-#define KC_FLXP LGUI(KC_E)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [MAC_BASE] = LAYOUT_ansi_67(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [WIN_BASE] = LAYOUT_ansi_67(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), MO(_FN3), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT_ansi_67(
- KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_ansi_67(
- KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT_ansi_67(
- KC_WAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init_user();
-#endif
-}
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap_user.h b/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap_user.h
deleted file mode 100644
index ded78ae1b8..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/keymap_user.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2022 @ Ionut Micu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// clang-format off
-
-enum layers{
- MAC_BASE,
- WIN_BASE,
- _FN1,
- _FN2,
- _FN3,
-}; \ No newline at end of file
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/readme.md b/keyboards/keychron/q2/ansi/keymaps/ladduro/readme.md
deleted file mode 100644
index 42ca81a1a1..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Ladduro keymap for Keychron Q2 (ANSI rev_0110) v1.01
-
-This keymap ports Q1 logic (by gtg465x) for RGB caps lock indicator and layer RBG assigned key.
-
-## Features:
-- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences
-- RGB lighting turns off when the computer sleeps
-- Caps Lock and alpha keys turn red to indicate when Caps Lock is on
-- When the Fn layer is active, RGB lighting turns off for keys that are not assigned
-
-Make example for this keyboard (after setting up your build environment):
-
- make keychron/q2/rev_0110:ladduro
-
-Flashing example for this keyboard:
-
- make keychron/q2/rev_0110:ladduro:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Changelog
-
-### 14/03/2021 - 1.
-
-- Initial release
-
-### 02/04/2021 - 1.01
-
-- Remove via enable from rules.mk as it breaks the layout for some reason
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.c b/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.c
deleted file mode 100644
index 604f54a705..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2022 @ Ionut Micu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-#include "keymap_user.h"
-
-keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];
-
-void rgb_matrix_init_user(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- uint8_t led_index = g_led_config.matrix_co[row][col];
- if (led_index != NO_LED) {
- led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
- }
- }
- }
-}
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- uint8_t current_layer = get_highest_layer(layer_state);
- switch (current_layer) {
- case MAC_BASE:
- case WIN_BASE:
-#ifdef CAPS_LOCK_INDICATOR_COLOR
- if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
- }
-#endif
- break;
- case _FN1:
- case _FN2:
- case _FN3:
-#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF
- rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
-#endif
- break;
- }
- return false;
-}
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
- for (uint8_t i = led_min; i < led_max; i++) {
- uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
- if ((*is_keycode)(keycode)) {
- rgb_matrix_set_color(i, red, green, blue);
- }
- }
-}
-
-bool is_caps_lock_indicator(uint16_t keycode) {
-#ifdef CAPS_LOCK_INDICATOR_LIGHT_ALPHAS
- return (KC_A <= keycode && keycode <= KC_Z) || keycode == KC_CAPS;
-#else
- return keycode == KC_CAPS;
-#endif
-}
-
-bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.h b/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.h
deleted file mode 100644
index 4d33f483ae..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/rgb_matrix_user.h
+++ /dev/null
@@ -1,25 +0,0 @@
-
-/* Copyright 2022 @ Ionut Micu
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-void rgb_matrix_init_user(void);
-
-void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
-
-bool is_caps_lock_indicator(uint16_t keycode);
-bool is_transparent(uint16_t keycode); \ No newline at end of file
diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/rules.mk b/keyboards/keychron/q2/ansi/keymaps/ladduro/rules.mk
deleted file mode 100644
index c0ee640cd2..0000000000
--- a/keyboards/keychron/q2/ansi/keymaps/ladduro/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-MOUSEKEY_ENABLE = no
-
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
- SRC += rgb_matrix_user.c
-endif
diff --git a/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c
index d0ff0a1869..f26fa9c697 100644
--- a/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c
@@ -17,84 +17,84 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/ansi_encoder/config.h b/keyboards/keychron/q2/ansi_encoder/config.h
index 41b92074be..1850088b1f 100644
--- a/keyboards/keychron/q2/ansi_encoder/config.h
+++ b/keyboards/keychron/q2/ansi_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 67
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30 \ No newline at end of file
diff --git a/keyboards/keychron/q2/config.h b/keyboards/keychron/q2/config.h
index 831612326b..8b446442cb 100644
--- a/keyboards/keychron/q2/config.h
+++ b/keyboards/keychron/q2/config.h
@@ -18,23 +18,11 @@
#define MATRIX_UNSELECT_DRIVE_HIGH
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4, 4} }
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* Encoder Configuration*/
#define ENCODER_DEFAULT_POS 0x3
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/q2/info.json b/keyboards/keychron/q2/info.json
index 47d9aa83b1..d0bb48d7cb 100644
--- a/keyboards/keychron/q2/info.json
+++ b/keyboards/keychron/q2/info.json
@@ -22,6 +22,9 @@
"nkro": true,
"rgb_matrix": true
},
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
@@ -51,7 +54,8 @@
"splash": true,
"typing_heatmap": true
},
- "driver": "snled27351"
+ "driver": "snled27351",
+ "sleep": true
},
"url": "https://github.com/Keychron",
"usb": {
diff --git a/keyboards/keychron/q2/iso/config.h b/keyboards/keychron/q2/iso/config.h
index b463f7886e..22ddcba3ad 100644
--- a/keyboards/keychron/q2/iso/config.h
+++ b/keyboards/keychron/q2/iso/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 68
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29 \ No newline at end of file
diff --git a/keyboards/keychron/q2/iso/iso.c b/keyboards/keychron/q2/iso/iso.c
index a54c90bc4b..a54ec4d718 100644
--- a/keyboards/keychron/q2/iso/iso.c
+++ b/keyboards/keychron/q2/iso/iso.c
@@ -17,85 +17,85 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/iso_encoder/config.h b/keyboards/keychron/q2/iso_encoder/config.h
index b463f7886e..22ddcba3ad 100644
--- a/keyboards/keychron/q2/iso_encoder/config.h
+++ b/keyboards/keychron/q2/iso_encoder/config.h
@@ -16,8 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 68
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29 \ No newline at end of file
diff --git a/keyboards/keychron/q2/iso_encoder/iso_encoder.c b/keyboards/keychron/q2/iso_encoder/iso_encoder.c
index a54c90bc4b..a54ec4d718 100644
--- a/keyboards/keychron/q2/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q2/iso_encoder/iso_encoder.c
@@ -17,85 +17,85 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/jis/jis.c b/keyboards/keychron/q2/jis/jis.c
index d877e225d9..b46ee10601 100644
--- a/keyboards/keychron/q2/jis/jis.c
+++ b/keyboards/keychron/q2/jis/jis.c
@@ -18,88 +18,88 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/jis_encoder/jis_encoder.c b/keyboards/keychron/q2/jis_encoder/jis_encoder.c
index d877e225d9..b46ee10601 100644
--- a/keyboards/keychron/q2/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/q2/jis_encoder/jis_encoder.c
@@ -18,88 +18,88 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q2/q2.c b/keyboards/keychron/q2/q2.c
index 7ff85556de..1dd839eccc 100644
--- a/keyboards/keychron/q2/q2.c
+++ b/keyboards/keychron/q2/q2.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q3/ansi/ansi.c b/keyboards/keychron/q3/ansi/ansi.c
index 8327ee430b..f14e9f28ce 100644
--- a/keyboards/keychron/q3/ansi/ansi.c
+++ b/keyboards/keychron/q3/ansi/ansi.c
@@ -18,105 +18,105 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/ansi/config.h b/keyboards/keychron/q3/ansi/config.h
index 77afc9b9b6..a4008b8827 100644
--- a/keyboards/keychron/q3/ansi/config.h
+++ b/keyboards/keychron/q3/ansi/config.h
@@ -19,9 +19,6 @@
/* We use a pin with a stronger pull resistor than the internal MCU pins */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 87
-
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
diff --git a/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c
index a386e87a01..ac6c375777 100644
--- a/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c
@@ -18,105 +18,105 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/ansi_encoder/config.h b/keyboards/keychron/q3/ansi_encoder/config.h
index 2a6f9ba4c5..0d8b3b7c3b 100644
--- a/keyboards/keychron/q3/ansi_encoder/config.h
+++ b/keyboards/keychron/q3/ansi_encoder/config.h
@@ -20,9 +20,6 @@
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 87
-
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
diff --git a/keyboards/keychron/q3/config.h b/keyboards/keychron/q3/config.h
index f93da42353..3f817d2853 100644
--- a/keyboards/keychron/q3/config.h
+++ b/keyboards/keychron/q3/config.h
@@ -29,17 +29,5 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
/* Encoder Configuration*/
#define ENCODER_DEFAULT_POS 0x3
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/q3/info.json b/keyboards/keychron/q3/info.json
index c08d73f26a..a07fc670d8 100644
--- a/keyboards/keychron/q3/info.json
+++ b/keyboards/keychron/q3/info.json
@@ -3,6 +3,9 @@
"maintainer": "lalalademaxiya1",
"bootloader": "stm32-dfu",
"diode_direction": "ROW2COL",
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
"eeprom": {
"wear_leveling": {
"backing_size": 4096
@@ -43,7 +46,8 @@
"splash": true,
"typing_heatmap": true
},
- "driver": "snled27351"
+ "driver": "snled27351",
+ "sleep": true
},
"url": "https://github.com/Keychron",
"usb": {
diff --git a/keyboards/keychron/q3/iso/config.h b/keyboards/keychron/q3/iso/config.h
index 3ffda1ce1e..997fb73c69 100644
--- a/keyboards/keychron/q3/iso/config.h
+++ b/keyboards/keychron/q3/iso/config.h
@@ -19,9 +19,6 @@
/* We use a pin with a stronger pull resistor than the internal MCU pins */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 88
-
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
diff --git a/keyboards/keychron/q3/iso/iso.c b/keyboards/keychron/q3/iso/iso.c
index 725af67006..6a942028d5 100644
--- a/keyboards/keychron/q3/iso/iso.c
+++ b/keyboards/keychron/q3/iso/iso.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/iso_encoder/config.h b/keyboards/keychron/q3/iso_encoder/config.h
index 6893c2e8ff..72e8e7271c 100644
--- a/keyboards/keychron/q3/iso_encoder/config.h
+++ b/keyboards/keychron/q3/iso_encoder/config.h
@@ -20,9 +20,6 @@
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 88
-
#define SNLED27351_CURRENT_TUNE \
{ 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 }
diff --git a/keyboards/keychron/q3/iso_encoder/iso_encoder.c b/keyboards/keychron/q3/iso_encoder/iso_encoder.c
index 725af67006..6a942028d5 100644
--- a/keyboards/keychron/q3/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q3/iso_encoder/iso_encoder.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/jis/config.h b/keyboards/keychron/q3/jis/config.h
index 1ea4386bba..b4839aa33f 100644
--- a/keyboards/keychron/q3/jis/config.h
+++ b/keyboards/keychron/q3/jis/config.h
@@ -19,9 +19,6 @@
/* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 91
-
#define SNLED27351_CURRENT_TUNE \
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
diff --git a/keyboards/keychron/q3/jis/jis.c b/keyboards/keychron/q3/jis/jis.c
index 4b19eca52f..3c51076020 100644
--- a/keyboards/keychron/q3/jis/jis.c
+++ b/keyboards/keychron/q3/jis/jis.c
@@ -18,109 +18,109 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // ESC
- {0, I_2, G_2, H_2}, // F1
- {0, I_3, G_3, H_3}, // F2
- {0, I_4, G_4, H_4}, // F3
- {0, I_5, G_5, H_5}, // F4
- {0, I_6, G_6, H_6}, // F5
- {0, I_7, G_7, H_7}, // F6
- {0, I_8, G_8, H_8}, // F7
- {0, I_9, G_9, H_9}, // F8
- {0, I_10, G_10, H_10}, // F9
- {0, I_11, G_11, H_11}, // F10
- {0, I_12, G_12, H_12}, // F11
- {0, I_13, G_13, H_13}, // F12
- {0, I_15, G_15, H_15}, // Print
- {0, I_16, G_16, H_16}, // Cortana
- {1, I_15, G_15, H_15}, // Light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // ESC
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // F4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F5
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F12
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // Print
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // Cortana
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Light
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9()
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, I_13, G_13, H_13}, // |
- {0, I_14, G_14, H_14}, // Backspace
- {0, C_15, A_15, B_15}, // Ins
- {0, C_16, A_16, B_16}, // Home
- {1, I_16, G_16, H_16}, // Page Up
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9()
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // |
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Backspace
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // Ins
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Home
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // Page Up
- {0, F_1, D_1, E_1}, // tab
- {0, F_2, D_2, E_2}, // Q
- {0, F_3, D_3, E_3}, // W
- {0, F_4, D_4, E_4}, // E
- {0, F_5, D_5, E_5}, // R
- {0, F_6, D_6, E_6}, // T
- {0, F_7, D_7, E_7}, // Y
- {0, F_8, D_8, E_8}, // U
- {0, F_9, D_9, E_9}, // I
- {0, F_10, D_10, E_10}, // O
- {0, F_11, D_11, E_11}, // P
- {0, F_12, D_12, E_12}, // [{
- {0, F_14, D_14, E_14}, // }}
- {0, F_15, D_15, E_15}, // Del
- {0, F_16, D_16, E_16}, // End
- {1, I_13, G_13, H_13}, // Page Down
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // tab
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Q
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // W
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // E
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // R
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // T
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // Y
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // U
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // I
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // O
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // P
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // [{
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // }}
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // Del
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // End
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Page Down
- {1, I_1, G_1, H_1}, // Cpas
- {1, I_2, G_2, H_2}, // A
- {1, I_3, G_3, H_3}, // S
- {1, I_4, G_4, H_4}, // D
- {1, I_5, G_5, H_5}, // F
- {1, I_6, G_6, H_6}, // G
- {1, I_7, G_7, H_7}, // H
- {1, I_8, G_8, H_8}, // J
- {1, I_9, G_9, H_9}, // K
- {1, I_10, G_10, H_10}, // L
- {1, I_11, G_11, H_11}, // ;
- {1, I_12, G_12, H_12}, // :
- {1, I_14, G_14, H_14}, // #~
- {0, F_13, D_13, E_13}, // Enter
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Cpas
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // A
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // S
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // D
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // F
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // G
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // H
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // J
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // K
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // L
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // :
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // #~
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // Enter
- {1, C_1, A_1, B_1}, // LShift
- {1, C_3, A_3, B_3}, // Z
- {1, C_4, A_4, B_4}, // X
- {1, C_5, A_5, B_5}, // C
- {1, C_6, A_6, B_6}, // V
- {1, C_7, A_7, B_7}, // B
- {1, C_8, A_8, B_8}, // N
- {1, C_9, A_9, B_9}, // M
- {1, C_10, A_10, B_10}, // ,<
- {1, C_11, A_11, B_11}, // .>
- {1, C_12, A_12, B_12}, // /?
- {1, C_13, A_13, B_13}, // |
- {1, C_14, A_14, B_14}, // RShift
- {1, C_16, A_16, B_16}, // Up
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // LShift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // Z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // X
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // C
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // V
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // B
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // N
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // M
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // ,<
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // .>
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // /?
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // |
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // RShift
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // Up
- {1, F_1, D_1, E_1}, // LCtrl
- {1, F_2, D_2, E_2}, // LWin
- {1, F_3, D_3, E_3}, // LAlt
- {1, F_4, D_4, E_4}, // NUm
- {1, F_7, D_7, E_7}, // Space
- {1, F_10, D_10, E_10}, // Jap
- {1, F_11, D_11, E_11}, // RAlt
- {1, F_12, D_12, E_12}, // RWin
- {1, F_13, D_13, E_13}, // Fn
- {1, F_14, D_14, E_14}, // RCtrl
- {1, F_15, D_15, E_15}, // Left
- {1, F_16, D_16, E_16}, // Down
- {1, C_15, A_15, B_15}, // Right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // LCtrl
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // LWin
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // LAlt
+ {1, CB6_CA4, CB4_CA4, CB5_CA4}, // NUm
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Jap
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // RAlt
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // RWin
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Fn
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // RCtrl
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Left
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right
};
#endif // GB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/jis_encoder/config.h b/keyboards/keychron/q3/jis_encoder/config.h
index 5c5efb4ff6..d1d1bc758d 100644
--- a/keyboards/keychron/q3/jis_encoder/config.h
+++ b/keyboards/keychron/q3/jis_encoder/config.h
@@ -20,9 +20,6 @@
#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 92
-
#define SNLED27351_CURRENT_TUNE \
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
diff --git a/keyboards/keychron/q3/jis_encoder/jis_encoder.c b/keyboards/keychron/q3/jis_encoder/jis_encoder.c
index 8770f9d33c..aa34222bf3 100644
--- a/keyboards/keychron/q3/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/q3/jis_encoder/jis_encoder.c
@@ -18,110 +18,110 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // ESC
- {0, I_2, G_2, H_2}, // F1
- {0, I_3, G_3, H_3}, // F2
- {0, I_4, G_4, H_4}, // F3
- {0, I_5, G_5, H_5}, // F4
- {0, I_6, G_6, H_6}, // F5
- {0, I_7, G_7, H_7}, // F6
- {0, I_8, G_8, H_8}, // F7
- {0, I_9, G_9, H_9}, // F8
- {0, I_10, G_10, H_10}, // F9
- {0, I_11, G_11, H_11}, // F10
- {0, I_12, G_12, H_12}, // F11
- {0, I_13, G_13, H_13}, // F12
- {0, I_14, G_14, H_14}, // Mute
- {0, I_15, G_15, H_15}, // Print
- {0, I_16, G_16, H_16}, // Cortana
- {1, I_15, G_15, H_15}, // Light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // ESC
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // F4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F5
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F12
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Mute
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // Print
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // Cortana
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Light
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9()
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, C_14, A_14, B_14}, // |
- {1, F_6, D_6, E_6}, // Backspace
- {0, C_15, A_15, B_15}, // Ins
- {0, C_16, A_16, B_16}, // Home
- {1, I_16, G_16, H_16}, // Page Up
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9()
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // |
+ {1, CB6_CA6, CB4_CA6, CB5_CA6}, // Backspace
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // Ins
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Home
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // Page Up
- {0, F_1, D_1, E_1}, // tab
- {0, F_2, D_2, E_2}, // Q
- {0, F_3, D_3, E_3}, // W
- {0, F_4, D_4, E_4}, // E
- {0, F_5, D_5, E_5}, // R
- {0, F_6, D_6, E_6}, // T
- {0, F_7, D_7, E_7}, // Y
- {0, F_8, D_8, E_8}, // U
- {0, F_9, D_9, E_9}, // I
- {0, F_10, D_10, E_10}, // O
- {0, F_11, D_11, E_11}, // P
- {0, F_12, D_12, E_12}, // [{
- {0, F_13, D_13, E_13}, // }}
- {0, F_15, D_15, E_15}, // Del
- {0, F_16, D_16, E_16}, // End
- {1, I_13, G_13, H_13}, // Page Down
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // tab
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Q
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // W
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // E
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // R
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // T
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // Y
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // U
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // I
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // O
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // P
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // [{
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // }}
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // Del
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // End
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Page Down
- {1, I_1, G_1, H_1}, // Cpas
- {1, I_2, G_2, H_2}, // A
- {1, I_3, G_3, H_3}, // S
- {1, I_4, G_4, H_4}, // D
- {1, I_5, G_5, H_5}, // F
- {1, I_6, G_6, H_6}, // G
- {1, I_7, G_7, H_7}, // H
- {1, I_8, G_8, H_8}, // J
- {1, I_9, G_9, H_9}, // K
- {1, I_10, G_10, H_10}, // L
- {1, I_11, G_11, H_11}, // ;
- {1, I_12, G_12, H_12}, // :
- {1, I_14, G_14, H_14}, // #~
- {0, F_14, D_14, E_14}, // Enter
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Cpas
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // A
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // S
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // D
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // F
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // G
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // H
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // J
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // K
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // L
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // :
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // #~
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // Enter
- {1, C_1, A_1, B_1}, // LShift
- {1, C_3, A_3, B_3}, // Z
- {1, C_4, A_4, B_4}, // X
- {1, C_5, A_5, B_5}, // C
- {1, C_6, A_6, B_6}, // V
- {1, C_7, A_7, B_7}, // B
- {1, C_8, A_8, B_8}, // N
- {1, C_9, A_9, B_9}, // M
- {1, C_10, A_10, B_10}, // ,<
- {1, C_11, A_11, B_11}, // .>
- {1, C_12, A_12, B_12}, // /?
- {1, C_13, A_13, B_13}, // |
- {1, C_14, A_14, B_14}, // RShift
- {1, C_16, A_16, B_16}, // Up
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // LShift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // Z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // X
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // C
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // V
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // B
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // N
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // M
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // ,<
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // .>
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // /?
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // |
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // RShift
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // Up
- {1, F_1, D_1, E_1}, // LCtrl
- {1, F_2, D_2, E_2}, // LWin
- {1, F_3, D_3, E_3}, // LAlt
- {1, F_4, D_4, E_4}, // NUm
- {1, F_7, D_7, E_7}, // Space
- {1, F_10, D_10, E_10}, // Jap
- {1, F_11, D_11, E_11}, // RAlt
- {1, F_12, D_12, E_12}, // RWin
- {1, F_13, D_13, E_13}, // Fn
- {1, F_14, D_14, E_14}, // RCtrl
- {1, F_15, D_15, E_15}, // Left
- {1, F_16, D_16, E_16}, // Down
- {1, C_15, A_15, B_15}, // Right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // LCtrl
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // LWin
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // LAlt
+ {1, CB6_CA4, CB4_CA4, CB5_CA4}, // NUm
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Jap
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // RAlt
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // RWin
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Fn
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // RCtrl
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Left
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q3/q3.c b/keyboards/keychron/q3/q3.c
index 2bf8bf08a0..846b58d4a7 100644
--- a/keyboards/keychron/q3/q3.c
+++ b/keyboards/keychron/q3/q3.c
@@ -17,19 +17,6 @@
#include "quantum.h"
#include "rgb_matrix.h"
-// clang-format off
-
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
-// clang-format on
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q4/ansi/v1/config.h b/keyboards/keychron/q4/ansi/v1/config.h
index 2f437c72c6..478b2ff9f9 100644
--- a/keyboards/keychron/q4/ansi/v1/config.h
+++ b/keyboards/keychron/q4/ansi/v1/config.h
@@ -20,7 +20,4 @@
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 61
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
diff --git a/keyboards/keychron/q4/ansi/v1/v1.c b/keyboards/keychron/q4/ansi/v1/v1.c
index 6c1fecefec..ee5551fbb8 100644
--- a/keyboards/keychron/q4/ansi/v1/v1.c
+++ b/keyboards/keychron/q4/ansi/v1/v1.c
@@ -18,78 +18,78 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
};
#endif
diff --git a/keyboards/keychron/q4/ansi/v2/config.h b/keyboards/keychron/q4/ansi/v2/config.h
index 029e7727a8..48a6c66908 100644
--- a/keyboards/keychron/q4/ansi/v2/config.h
+++ b/keyboards/keychron/q4/ansi/v2/config.h
@@ -18,6 +18,3 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 61
diff --git a/keyboards/keychron/q4/ansi/v2/v2.c b/keyboards/keychron/q4/ansi/v2/v2.c
index 468a87af41..1a0e2711f3 100644
--- a/keyboards/keychron/q4/ansi/v2/v2.c
+++ b/keyboards/keychron/q4/ansi/v2/v2.c
@@ -18,78 +18,78 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
+ {0, CB12_CA1, CB10_CA1, CB11_CA1},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif
diff --git a/keyboards/keychron/q4/config.h b/keyboards/keychron/q4/config.h
index 62f8294966..fe4ee38e7d 100644
--- a/keyboards/keychron/q4/config.h
+++ b/keyboards/keychron/q4/config.h
@@ -16,17 +16,5 @@
#pragma once
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define SNLED27351_CURRENT_TUNE \
{ 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60 }
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS \ No newline at end of file
diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json
index 0a9dcf4957..e314477ab9 100644
--- a/keyboards/keychron/q4/info.json
+++ b/keyboards/keychron/q4/info.json
@@ -4,6 +4,9 @@
"maintainer": "lalalademaxiya1",
"bootloader": "stm32-dfu",
"diode_direction": "ROW2COL",
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
"dynamic_keymap": {
"layer_count": 5
},
@@ -53,7 +56,8 @@
"splash": true,
"typing_heatmap": true
},
- "driver": "snled27351"
+ "driver": "snled27351",
+ "sleep": true
},
"url": "https://github.com/Keychron",
"usb": {
diff --git a/keyboards/keychron/q4/iso/config.h b/keyboards/keychron/q4/iso/config.h
index 8231b9eba8..9e97922991 100644
--- a/keyboards/keychron/q4/iso/config.h
+++ b/keyboards/keychron/q4/iso/config.h
@@ -19,8 +19,5 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 62
-
/* Enable CapsLcok LED*/
#define CAPS_LOCK_LED_INDEX 27
diff --git a/keyboards/keychron/q4/iso/iso.c b/keyboards/keychron/q4/iso/iso.c
index a808c3ad74..7f796238f5 100644
--- a/keyboards/keychron/q4/iso/iso.c
+++ b/keyboards/keychron/q4/iso/iso.c
@@ -18,79 +18,79 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
- {0, I_14, G_14, H_14},
+ {0, CB12_CA1, CB10_CA1, CB11_CA1},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif
diff --git a/keyboards/keychron/q4/q4.c b/keyboards/keychron/q4/q4.c
index c3cb67bcc2..54ad01250f 100644
--- a/keyboards/keychron/q4/q4.c
+++ b/keyboards/keychron/q4/q4.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q5/ansi/ansi.c b/keyboards/keychron/q5/ansi/ansi.c
index 8c80245fbc..bc6622dd7f 100644
--- a/keyboards/keychron/q5/ansi/ansi.c
+++ b/keyboards/keychron/q5/ansi/ansi.c
@@ -18,150 +18,118 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 },
- { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, __, 33, 34, 35 },
- { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 70, 51, 52, 53 },
- { 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 18, 66, 36, 67, 68, 69 },
- { 71, __, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, __, 82, 83, 84, 85, 86 },
- { 87, 88, 89, __, __, 99, 90, __, __, __, 91, 92, 93, 94, 95, 96, 97, 98 }
- },
- {
- // LED Index to Physical Position
- {0,0}, {12,0}, {24,0}, {36,0}, {48,0}, {60,0}, {72,0}, {84,0}, {97,0}, {109,0}, {121,0}, {133,0}, {145,0}, {157,0}, {169,0}, {188,0}, {200,0}, {212,0}, {224,0},
- {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {84,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15},
- {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {166,26}, {188,26}, {200,26}, {212,26},
- {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {161,38}, {188,38}, {200,38}, {212,38}, {224,32},
- {8,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49},
- {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55},
- },
- {
- // RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- }
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q5/ansi/config.h b/keyboards/keychron/q5/ansi/config.h
index 9ed58dd522..86df6f3056 100644
--- a/keyboards/keychron/q5/ansi/config.h
+++ b/keyboards/keychron/q5/ansi/config.h
@@ -16,13 +16,8 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 55
-#define DRIVER_2_LED_TOTAL 45
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 54
/* Enable num-lock LED */
-// #define NUM_LOCK_LED_INDEX 33
+#define NUM_LOCK_LED_INDEX 33
diff --git a/keyboards/keychron/q5/ansi/info.json b/keyboards/keychron/q5/ansi/info.json
index 8795957c45..399b5873da 100644
--- a/keyboards/keychron/q5/ansi/info.json
+++ b/keyboards/keychron/q5/ansi/info.json
@@ -1,18 +1,112 @@
{
- "keyboard_name": "Keychron Q5",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0150",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 12, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 6], "x": 72, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 84, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 97, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 109, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 121, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 188, "y": 0, "flags": 1},
+ {"matrix": [0, 16], "x": 200, "y": 0, "flags": 1},
+ {"matrix": [0, 17], "x": 212, "y": 0, "flags": 1},
+ {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
+ {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4},
+ {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4},
+ {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4},
+ {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4},
+ {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4},
+ {"matrix": [1, 7], "x": 84, "y": 15, "flags": 4},
+ {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4},
+ {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4},
+ {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4},
+ {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4},
+ {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4},
+ {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1},
+ {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8},
+ {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4},
+ {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4},
+ {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4},
+ {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1},
+ {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4},
+ {"matrix": [2, 13], "x": 166, "y": 26, "flags": 4},
+ {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4},
+ {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4},
+ {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4},
+ {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8},
+ {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 161, "y": 38, "flags": 1},
+ {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4},
+ {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
+ {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1},
+ {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4},
+ {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4},
+ {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4},
+ {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4},
+ {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4},
+ {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4},
+ {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4},
+ {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4},
+ {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4},
+ {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1},
+ {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1},
+ {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4},
+ {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4},
+ {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4},
+ {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1},
+ {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1},
+ {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1},
+ {"matrix": [5, 6], "x": 77, "y": 61, "flags": 1},
+ {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1},
+ {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1},
+ {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1},
+ {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1},
+ {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1},
+ {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [5, 16], "x": 200, "y": 61, "flags": 1},
+ {"matrix": [5, 17], "x": 212, "y": 61, "flags": 1},
+ {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0150"
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_100": {
"layout": [
@@ -107,7 +201,6 @@
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
{"matrix": [4, 16], "x": 16.5, "y": 4.25},
{"matrix": [4, 17], "x": 17.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -124,4 +217,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q5/ansi/rules.mk b/keyboards/keychron/q5/ansi/rules.mk
index 465dfa9348..c0d1417299 100644
--- a/keyboards/keychron/q5/ansi/rules.mk
+++ b/keyboards/keychron/q5/ansi/rules.mk
@@ -1,19 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-SRC += matrix.c
+SRC += matrix.c \ No newline at end of file
diff --git a/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c
index d5f67f1297..760fdcbc97 100644
--- a/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c
@@ -20,150 +20,118 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- // {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- // {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ // {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ // {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, __, 1, 2, 3, 4, __, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
- { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, __, 31, 32, 33 },
- { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 68, 49, 50, 51 },
- { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 16, 64, 34, 65, 66, 67 },
- { 69, __, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, __, 80, 81, 82, 83, 84 },
- { 85, 86, 87, __, __, 97, 88, __, __, __, 89, 90, 91, 92, 93, 94, 95, 96 }
- },
- {
- // LED Index to Physical Position
- {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {103,0}, {115,0}, {133,0}, {145,0}, {157,0}, {169,0}, {184,0}, {196,0}, {208,0}, {224,0},
- {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15},
- {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {166,26}, {188,26}, {200,26}, {212,26},
- {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {161,38}, {188,38}, {200,38}, {212,38}, {224,32},
- {8,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49},
- {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55},
- },
- {
- // RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 4, 4, 1
- }
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q5/ansi_encoder/config.h b/keyboards/keychron/q5/ansi_encoder/config.h
index 3986c11a02..dc0853bc34 100644
--- a/keyboards/keychron/q5/ansi_encoder/config.h
+++ b/keyboards/keychron/q5/ansi_encoder/config.h
@@ -16,16 +16,8 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 53
-#define DRIVER_2_LED_TOTAL 45
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 52
/* Enable num-lock LED */
-// #define NUM_LOCK_LED_INDEX 31
+#define NUM_LOCK_LED_INDEX 31
diff --git a/keyboards/keychron/q5/ansi_encoder/info.json b/keyboards/keychron/q5/ansi_encoder/info.json
index ae4a58e55d..479ef38e72 100644
--- a/keyboards/keychron/q5/ansi_encoder/info.json
+++ b/keyboards/keychron/q5/ansi_encoder/info.json
@@ -1,23 +1,120 @@
{
- "keyboard_name": "Keychron Q5",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0151",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 90, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 103, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 115, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 184, "y": 0, "flags": 1},
+ {"matrix": [0, 16], "x": 196, "y": 0, "flags": 1},
+ {"matrix": [0, 17], "x": 208, "y": 0, "flags": 1},
+ {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
+ {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4},
+ {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4},
+ {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4},
+ {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4},
+ {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4},
+ {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4},
+ {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4},
+ {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4},
+ {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4},
+ {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4},
+ {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4},
+ {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1},
+ {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8},
+ {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4},
+ {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4},
+ {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4},
+
+ {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1},
+ {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4},
+ {"matrix": [2, 13], "x": 166, "y": 26, "flags": 4},
+ {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4},
+ {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4},
+ {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4},
+
+ {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8},
+ {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 161, "y": 38, "flags": 1},
+ {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4},
+ {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
+
+ {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1},
+ {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4},
+ {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4},
+ {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4},
+ {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4},
+ {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4},
+ {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4},
+ {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4},
+ {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4},
+ {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4},
+ {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1},
+ {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1},
+ {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4},
+ {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4},
+ {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4},
+ {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1},
+ {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1},
+ {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1},
+ {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4},
+ {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1},
+ {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1},
+ {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1},
+ {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1},
+ {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1},
+ {"matrix": [5, 15], "x": 184, "y": 64, "flags": 4},
+ {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4},
+ {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4},
+ {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0151"
+ },
"layouts": {
"LAYOUT_ansi_98": {
"layout": [
@@ -110,7 +207,6 @@
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
{"matrix": [4, 16], "x": 16.5, "y": 4.25},
{"matrix": [4, 17], "x": 17.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -127,4 +223,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q5/ansi_encoder/rules.mk b/keyboards/keychron/q5/ansi_encoder/rules.mk
index 4c6e5bebf0..c0d1417299 100644
--- a/keyboards/keychron/q5/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q5/ansi_encoder/rules.mk
@@ -1,20 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-SRC += matrix.c
+SRC += matrix.c \ No newline at end of file
diff --git a/keyboards/keychron/q5/config.h b/keyboards/keychron/q5/config.h
index 0640331997..4d297b223a 100644
--- a/keyboards/keychron/q5/config.h
+++ b/keyboards/keychron/q5/config.h
@@ -26,9 +26,6 @@
#define MATRIX_COL_PINS \
{ A10, A9, A8, B1, B0, A7, A6, A5, A4, A3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
@@ -36,67 +33,5 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
+/* Encoder Configuration*/
+#define ENCODER_DEFAULT_POS 0x3 \ No newline at end of file
diff --git a/keyboards/keychron/q5/info.json b/keyboards/keychron/q5/info.json
new file mode 100644
index 0000000000..b35996d341
--- /dev/null
+++ b/keyboards/keychron/q5/info.json
@@ -0,0 +1,57 @@
+{
+ "manufacturer": "Keychron",
+ "keyboard_name": "Keychron Q5",
+ "maintainer": "lalalademaxiya1",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "processor": "STM32L432",
+ "rgb_matrix": {
+ "animations": {
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ },
+ "url": "https://github.com/Keychron",
+ "usb": {
+ "vid": "0x3434"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q5/iso/config.h b/keyboards/keychron/q5/iso/config.h
index df775f11f1..43c25dc78b 100644
--- a/keyboards/keychron/q5/iso/config.h
+++ b/keyboards/keychron/q5/iso/config.h
@@ -16,13 +16,8 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 55
-#define DRIVER_2_LED_TOTAL 46
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 53
/* Enable num-lock LED */
-// #define NUM_LOCK_LED_INDEX 33
+#define NUM_LOCK_LED_INDEX 33
diff --git a/keyboards/keychron/q5/iso/info.json b/keyboards/keychron/q5/iso/info.json
index 2cc2ce9640..35ba9f9d04 100644
--- a/keyboards/keychron/q5/iso/info.json
+++ b/keyboards/keychron/q5/iso/info.json
@@ -1,18 +1,118 @@
{
- "keyboard_name": "Keychron Q5",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0152",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 12, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 6], "x": 72, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 85, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 97, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 109, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 121, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 188, "y": 0, "flags": 1},
+ {"matrix": [0, 16], "x": 200, "y": 0, "flags": 1},
+ {"matrix": [0, 17], "x": 212, "y": 0, "flags": 1},
+ {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
+ {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4},
+ {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4},
+ {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4},
+ {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4},
+ {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4},
+ {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4},
+ {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4},
+ {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4},
+ {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4},
+ {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4},
+ {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4},
+ {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1},
+ {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8},
+ {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4},
+ {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4},
+ {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4},
+
+ {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1},
+ {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4},
+ {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4},
+ {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4},
+ {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4},
+
+ {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8},
+ {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 154, "y": 38, "flags": 4},
+ {"matrix": [2, 13], "x": 170, "y": 34, "flags": 1},
+ {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4},
+ {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
+
+ {"matrix": [4, 0], "x": 3, "y": 49, "flags": 1},
+ {"matrix": [4, 1], "x": 15, "y": 49, "flags": 4},
+ {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4},
+ {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4},
+ {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4},
+ {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4},
+ {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4},
+ {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4},
+ {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4},
+ {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4},
+ {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4},
+ {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1},
+ {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1},
+ {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4},
+ {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4},
+ {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4},
+
+ {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1},
+ {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1},
+ {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1},
+ {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4},
+ {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1},
+ {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1},
+ {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1},
+ {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1},
+ {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1},
+ {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4},
+ {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4},
+ {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0152"
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_iso_101": {
"layout": [
@@ -125,4 +225,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q5/iso/iso.c b/keyboards/keychron/q5/iso/iso.c
index 8a7cb863ec..e08df9ab65 100644
--- a/keyboards/keychron/q5/iso/iso.c
+++ b/keyboards/keychron/q5/iso/iso.c
@@ -20,151 +20,119 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 },
- { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, __, 33, 34, 35 },
- { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 66, 70, 50, 51, 52 },
- { 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 18, 65, 36, 67, 68, 69 },
- { 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, __, 83, 84, 85, 86, 87 },
- { 88, 89, 90, __, __, 100, 91, __, __, __, 92, 93, 94, 95, 96, 97, 98, 99 },
- },
- {
- // LED Index to Physical Position
- {0,0}, {12,0}, {24,0}, {36,0}, {48,0}, {60,0}, {72,0}, {85,0}, {97,0}, {109,0}, {121,0}, {133,0}, {145,0}, {157,0}, {169,0}, {188,0}, {200,0}, {212,0}, {224,0},
- {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15},
- {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {188,26}, {200,26}, {212,26},
- {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {154,38}, {170,34}, {188,38}, {200,38}, {212,38}, {224,32},
- {3,49}, {15,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49},
- {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55},
- },
- {
- // RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 1,
- }
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q5/iso/rules.mk b/keyboards/keychron/q5/iso/rules.mk
index 465dfa9348..c0d1417299 100644
--- a/keyboards/keychron/q5/iso/rules.mk
+++ b/keyboards/keychron/q5/iso/rules.mk
@@ -1,19 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-SRC += matrix.c
+SRC += matrix.c \ No newline at end of file
diff --git a/keyboards/keychron/q5/iso_encoder/config.h b/keyboards/keychron/q5/iso_encoder/config.h
index 3a786cbb39..9611480fad 100644
--- a/keyboards/keychron/q5/iso_encoder/config.h
+++ b/keyboards/keychron/q5/iso_encoder/config.h
@@ -16,16 +16,8 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 53
-#define DRIVER_2_LED_TOTAL 46
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 51
/* Enable num-lock LED */
-// #define NUM_LOCK_LED_INDEX 31
+#define NUM_LOCK_LED_INDEX 31
diff --git a/keyboards/keychron/q5/iso_encoder/info.json b/keyboards/keychron/q5/iso_encoder/info.json
index a425cf3145..10e6767eaf 100644
--- a/keyboards/keychron/q5/iso_encoder/info.json
+++ b/keyboards/keychron/q5/iso_encoder/info.json
@@ -1,23 +1,117 @@
{
- "keyboard_name": "Keychron Q5",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0153",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 90, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 103, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 115, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 184, "y": 0, "flags": 1},
+ {"matrix": [0, 16], "x": 196, "y": 0, "flags": 1},
+ {"matrix": [0, 17], "x": 208, "y": 0, "flags": 1},
+ {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1},
+ {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4},
+ {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4},
+ {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4},
+ {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4},
+ {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4},
+ {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4},
+ {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4},
+ {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4},
+ {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4},
+ {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4},
+ {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4},
+ {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1},
+ {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8},
+ {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4},
+ {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4},
+ {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4},
+ {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1},
+ {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4},
+ {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4},
+ {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4},
+ {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4},
+ {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8},
+ {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 154, "y": 38, "flags": 4},
+ {"matrix": [2, 13], "x": 170, "y": 34, "flags": 1},
+ {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4},
+ {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
+ {"matrix": [4, 0], "x": 3, "y": 49, "flags": 1},
+ {"matrix": [4, 1], "x": 15, "y": 49, "flags": 4},
+ {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4},
+ {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4},
+ {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4},
+ {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4},
+ {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4},
+ {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4},
+ {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4},
+ {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4},
+ {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4},
+ {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1},
+ {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1},
+ {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4},
+ {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4},
+ {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4},
+ {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1},
+ {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1},
+ {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1},
+ {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4},
+ {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1},
+ {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1},
+ {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1},
+ {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1},
+ {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1},
+ {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4},
+ {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4},
+ {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0153"
+ },
"layouts": {
"LAYOUT_iso_99": {
"layout": [
@@ -38,7 +132,6 @@
{"matrix": [0, 16], "x": 16.25, "y": 0},
{"matrix": [0, 17], "x": 17.25, "y": 0},
{"matrix": [3, 12], "x": 18.5, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
@@ -57,7 +150,6 @@
{"matrix": [1, 16], "x": 16.5, "y": 1.25},
{"matrix": [1, 17], "x": 17.5, "y": 1.25},
{"matrix": [3, 14], "x": 18.5, "y": 1.25},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
@@ -74,7 +166,6 @@
{"matrix": [2, 15], "x": 15.5, "y": 2.25},
{"matrix": [2, 16], "x": 16.5, "y": 2.25},
{"matrix": [2, 17], "x": 17.5, "y": 2.25},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
@@ -93,7 +184,6 @@
{"matrix": [3, 16], "x": 16.5, "y": 3.25},
{"matrix": [3, 17], "x": 17.5, "y": 3.25},
{"matrix": [2, 14], "x": 18.5, "y": 2.25, "h": 2},
-
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -111,7 +201,6 @@
{"matrix": [4, 15], "x": 15.5, "y": 4.25},
{"matrix": [4, 16], "x": 16.5, "y": 4.25},
{"matrix": [4, 17], "x": 17.5, "y": 4.25},
-
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
@@ -128,4 +217,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q5/iso_encoder/iso_encoder.c b/keyboards/keychron/q5/iso_encoder/iso_encoder.c
index 009e8043db..e0505e6fb9 100644
--- a/keyboards/keychron/q5/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q5/iso_encoder/iso_encoder.c
@@ -20,149 +20,117 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9(
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, C_14, A_14, B_14}, // BackSpace
- {0, C_16, A_16, B_16}, // Numlock
- {0, L_9, J_9, K_9}, // /
- {0, L_10, J_10, K_10}, // *
- {0, L_11, J_11, K_11}, // -
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9(
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // BackSpace
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Numlock
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // /
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // *
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // -
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, __, 1, 2, 3, 4, __, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
- { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, __, 31, 32, 33 },
- { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 64, 68, 48, 49, 50 },
- { 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 16, 63, 34, 65, 66, 67 },
- { 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, __, 81, 82, 83, 84, 85 },
- { 86, 87, 88, __, __, 98, 89, __, __, __, 90, 91, 92, 93, 94, 95, 96, 97 },
- },
- {
- // LED Index to Physical Position
- {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {103,0}, {115,0}, {133,0}, {145,0}, {157,0}, {169,0}, {184,0}, {196,0}, {208,0}, {224,0},
- {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15},
- {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {188,26}, {200,26}, {212,26},
- {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {154,38}, {170,34}, {188,38}, {200,38}, {212,38}, {224,32},
- {3,49}, {15,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49},
- {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55},
- },
- {
- // RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 1,
- }
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q5/iso_encoder/rules.mk b/keyboards/keychron/q5/iso_encoder/rules.mk
index 4c6e5bebf0..c0d1417299 100644
--- a/keyboards/keychron/q5/iso_encoder/rules.mk
+++ b/keyboards/keychron/q5/iso_encoder/rules.mk
@@ -1,20 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-SRC += matrix.c
+SRC += matrix.c \ No newline at end of file
diff --git a/keyboards/keychron/q5/q5.c b/keyboards/keychron/q5/q5.c
index 7a1cabcd1a..4026e9dea8 100644
--- a/keyboards/keychron/q5/q5.c
+++ b/keyboards/keychron/q5/q5.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q5/readme.md b/keyboards/keychron/q5/readme.md
index ac59839258..b78473cd2c 100644
--- a/keyboards/keychron/q5/readme.md
+++ b/keyboards/keychron/q5/readme.md
@@ -1,19 +1,27 @@
# Keychron Q5
+![Keychron Q5](https://i.imgur.com/hgBjdtTh.jpg)
+
A customizable 96% keyboard.
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
* Hardware Supported: Keychron Q5
-* Hardware Availability: [Keychron](https://www.keychron.com)
+* Hardware Availability: [Keychron Q5 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q5-qmk-custom-mechanical-keyboard)
Make example for this keyboard (after setting up your build environment):
- make keychron/q5/ansi:default
+ make keychron/q5/ansi:default
+ make keychron/q5/ansi_encoder:default
+ make keychron/q5/iso:default
+ make keychron/q5/iso_encoder:default
Flashing example for this keyboard:
- make keychron/q5/ansi:default:flash
+ make keychron/q5/ansi:default:flash
+ make keychron/q5/ansi_encoder:default:flash
+ make keychron/q5/iso:default:flash
+ make keychron/q5/iso_encoder:default:flash
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/keychron/q6/ansi/ansi.c b/keyboards/keychron/q6/ansi/ansi.c
index 80eaad02b3..62a22971e1 100644
--- a/keyboards/keychron/q6/ansi/ansi.c
+++ b/keyboards/keychron/q6/ansi/ansi.c
@@ -20,126 +20,126 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/q6/ansi/config.h b/keyboards/keychron/q6/ansi/config.h
index 703da35636..fd6fa66fe5 100644
--- a/keyboards/keychron/q6/ansi/config.h
+++ b/keyboards/keychron/q6/ansi/config.h
@@ -24,11 +24,6 @@
#define NO_PIN_START 11
#define NO_PIN_OFFSET 1
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 48
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED*/
#define CAPS_LOCK_LED_INDEX 61
diff --git a/keyboards/keychron/q6/ansi/info.json b/keyboards/keychron/q6/ansi/info.json
index 108cc46379..d3dbd4a092 100644
--- a/keyboards/keychron/q6/ansi/info.json
+++ b/keyboards/keychron/q6/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0160",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c
index 9c88533620..b3d8a6bd4c 100644
--- a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c
@@ -20,126 +20,126 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/q6/ansi_encoder/config.h b/keyboards/keychron/q6/ansi_encoder/config.h
index 573fa614a3..12af24d697 100644
--- a/keyboards/keychron/q6/ansi_encoder/config.h
+++ b/keyboards/keychron/q6/ansi_encoder/config.h
@@ -25,11 +25,6 @@
#define NO_PIN_NUM 10
#define CLR_REG_VAL 0x3FF
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 48
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q6/ansi_encoder/info.json b/keyboards/keychron/q6/ansi_encoder/info.json
index fc2da19f73..8e85336313 100644
--- a/keyboards/keychron/q6/ansi_encoder/info.json
+++ b/keyboards/keychron/q6/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0161",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
diff --git a/keyboards/keychron/q6/config.h b/keyboards/keychron/q6/config.h
index 2edceb09d7..a9d2a95b97 100644
--- a/keyboards/keychron/q6/config.h
+++ b/keyboards/keychron/q6/config.h
@@ -29,68 +29,3 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52 }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q6/info.json b/keyboards/keychron/q6/info.json
new file mode 100644
index 0000000000..94a45db562
--- /dev/null
+++ b/keyboards/keychron/q6/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/q6/iso/config.h b/keyboards/keychron/q6/iso/config.h
index 46c9e1c33a..cfb2ed5663 100644
--- a/keyboards/keychron/q6/iso/config.h
+++ b/keyboards/keychron/q6/iso/config.h
@@ -24,11 +24,6 @@
#define NO_PIN_START 11
#define NO_PIN_OFFSET 1
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 49
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED*/
#define CAPS_LOCK_LED_INDEX 60
diff --git a/keyboards/keychron/q6/iso/info.json b/keyboards/keychron/q6/iso/info.json
index 269605ff8b..b88af93988 100644
--- a/keyboards/keychron/q6/iso/info.json
+++ b/keyboards/keychron/q6/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0162",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/q6/iso/iso.c b/keyboards/keychron/q6/iso/iso.c
index d2aa010c05..eb6cab855a 100644
--- a/keyboards/keychron/q6/iso/iso.c
+++ b/keyboards/keychron/q6/iso/iso.c
@@ -20,127 +20,127 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/q6/iso_encoder/config.h b/keyboards/keychron/q6/iso_encoder/config.h
index 512a33bafd..1320d544fd 100644
--- a/keyboards/keychron/q6/iso_encoder/config.h
+++ b/keyboards/keychron/q6/iso_encoder/config.h
@@ -25,11 +25,6 @@
#define NO_PIN_NUM 10
#define CLR_REG_VAL 0x3FF
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 49
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q6/iso_encoder/info.json b/keyboards/keychron/q6/iso_encoder/info.json
index e5aa0bd8f5..54d4613b9c 100644
--- a/keyboards/keychron/q6/iso_encoder/info.json
+++ b/keyboards/keychron/q6/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0163",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
diff --git a/keyboards/keychron/q6/iso_encoder/iso_encoder.c b/keyboards/keychron/q6/iso_encoder/iso_encoder.c
index 66e066b839..439e1cee50 100644
--- a/keyboards/keychron/q6/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q6/iso_encoder/iso_encoder.c
@@ -20,127 +20,127 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/q6/q6.c b/keyboards/keychron/q6/q6.c
index 8a9750e9de..c1dc38a3fc 100644
--- a/keyboards/keychron/q6/q6.c
+++ b/keyboards/keychron/q6/q6.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q60/ansi/ansi.c b/keyboards/keychron/q60/ansi/ansi.c
index ac72737146..8b702eb5a6 100644
--- a/keyboards/keychron/q60/ansi/ansi.c
+++ b/keyboards/keychron/q60/ansi/ansi.c
@@ -20,77 +20,77 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
+ {0, CB12_CA1, CB10_CA1, CB11_CA1},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_16, J_16, K_16},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/q60/ansi/config.h b/keyboards/keychron/q60/ansi/config.h
deleted file mode 100644
index 05810cce64..0000000000
--- a/keyboards/keychron/q60/ansi/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2022 @ Keychron (https://www.keychron.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 60
diff --git a/keyboards/keychron/q60/ansi/info.json b/keyboards/keychron/q60/ansi/info.json
index f5832b2d8f..1d074c5e3c 100644
--- a/keyboards/keychron/q60/ansi/info.json
+++ b/keyboards/keychron/q60/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x01C0",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/q60/config.h b/keyboards/keychron/q60/config.h
index 6b6c3c5f48..5e8e40cc5a 100644
--- a/keyboards/keychron/q60/config.h
+++ b/keyboards/keychron/q60/config.h
@@ -29,69 +29,4 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xD8, 0xD8, 0x60, 0xD8, 0xD8, 0x60, 0xD8, 0xD8, 0x60, 0xD8, 0xD8, 0x60 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q60/info.json b/keyboards/keychron/q60/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/q60/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/q60/q60.c b/keyboards/keychron/q60/q60.c
index d97f72fb8e..c6f2d1a38c 100644
--- a/keyboards/keychron/q60/q60.c
+++ b/keyboards/keychron/q60/q60.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c
index 8e9b37b806..6c4c2abe21 100644
--- a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c
@@ -18,89 +18,89 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_15, A_15, B_15}, // Esc
- {0, C_14, A_14, B_14}, // 1!
- {0, C_13, A_13, B_13}, // 2@
- {0, C_12, A_12, B_12}, // 3#
- {0, C_11, A_11, B_11}, // 4$
- {0, C_10, A_10, B_10}, // 5%
- {0, C_9, A_9, B_9}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_7, A_7, B_7}, // 8*
- {0, C_6, A_6, B_6}, // 9(
- {0, C_5, A_5, B_5}, // 0)
- {0, C_4, A_4, B_4}, // -_
- {0, C_3, A_3, B_3}, // =+
- {0, C_2, A_2, B_2}, // BackSpace
- {0, C_1, A_1, B_1}, // Delete
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // Esc
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // 1!
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // 2@
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // 3#
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 4$
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 5%
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 8*
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 9(
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 0)
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // -_
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // =+
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // BackSpace
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // Delete
- {0, F_16, D_16, E_16}, // Macro2
- {0, F_15, D_15, E_15}, // Tab
- {0, F_14, D_14, E_14}, // Q
- {0, F_13, D_13, E_13}, // W
- {0, F_12, D_12, E_12}, // E
- {0, F_11, D_11, E_11}, // R
- {0, F_10, D_10, E_10}, // T
- {0, F_9, D_9, E_9}, // Y
- {0, F_8, D_8, E_8}, // U
- {0, F_7, D_7, E_7}, // I
- {0, F_6, D_6, E_6}, // O
- {0, F_5, D_5, E_5}, // P
- {0, F_4, D_4, E_4}, // [{
- {0, F_3, D_3, E_3}, // ]}
- {0, F_2, D_2, E_2}, // |
- {0, F_1, D_1, E_1}, // PageUp
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // Macro2
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // Tab
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // Q
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // W
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // E
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // R
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // T
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // Y
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // U
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // I
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // O
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // P
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // [{
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // ]}
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // |
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // PageUp
- {1, C_16, A_16, B_16}, // Macro3
- {1, C_15, A_15, B_15}, // CapsLock
- {1, C_14, A_14, B_14}, // A
- {1, C_13, A_13, B_13}, // S
- {1, C_12, A_12, B_12}, // D
- {1, C_11, A_11, B_11}, // F
- {1, C_10, A_10, B_10}, // G
- {1, C_9, A_9, B_9}, // H
- {1, C_8, A_8, B_8}, // J
- {1, C_7, A_7, B_7}, // K
- {1, C_6, A_6, B_6}, // L
- {1, C_5, A_5, B_5}, // ;:
- {1, C_4, A_4, B_4}, // '"
- {1, C_2, A_2, B_2}, // Enter
- {1, C_1, A_1, B_1}, // PageDown
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // Macro3
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // CapsLock
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // A
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // S
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // D
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // F
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // G
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // H
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // J
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // K
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // L
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // ;:
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // '"
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // Enter
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // PageDown
- {1, I_16, G_16, H_16}, // Macro4
- {1, I_15, G_15, H_15}, // LeftShift
- {1, I_13, G_13, H_13}, // Z
- {1, I_12, G_12, H_12}, // X
- {1, I_11, G_11, H_11}, // C
- {1, I_10, G_10, H_10}, // V
- {1, I_9, G_9, H_9}, // B
- {1, I_8, G_8, H_8}, // N
- {1, I_7, G_7, H_7}, // M
- {1, I_6, G_6, H_6}, // ,<
- {1, I_5, G_5, H_5}, // .>
- {1, I_4, G_4, H_4}, // /?
- {1, I_3, G_3, H_3}, // RightShift
- {1, I_2, G_2, H_2}, // Up
- {1, I_1, G_1, H_1}, // Home
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // Macro4
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // LeftShift
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Z
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // X
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // C
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // V
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // B
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // N
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // M
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // ,<
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // .>
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // /?
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // RightShift
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // Up
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Home
- {1, F_16, D_16, E_16}, // Macro5
- {1, F_15, D_15, E_15}, // LeftControl
- {1, F_14, D_14, E_14}, // LeftOption
- {1, F_13, D_13, E_13}, // LeftCommand
- {1, F_9, D_9, E_9}, // Space
- {1, F_6, D_6, E_6}, // RightCommand
- {1, F_5, D_5, E_5}, // Fn1
- {1, F_4, D_4, E_4}, // Fn2
- {1, F_3, D_3, E_3}, // Left
- {1, F_2, D_2, E_2}, // Down
- {1, F_1, D_1, E_1}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Macro5
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // LeftControl
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // LeftOption
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // LeftCommand
+ {1, CB6_CA9, CB4_CA9, CB5_CA9}, // Space
+ {1, CB6_CA6, CB4_CA6, CB5_CA6}, // RightCommand
+ {1, CB6_CA5, CB4_CA5, CB5_CA5}, // Fn1
+ {1, CB6_CA4, CB4_CA4, CB5_CA4}, // Fn2
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/q65/ansi_encoder/config.h b/keyboards/keychron/q65/ansi_encoder/config.h
index f57797677e..be6e6c94d6 100644
--- a/keyboards/keychron/q65/ansi_encoder/config.h
+++ b/keyboards/keychron/q65/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 31
-#define DRIVER_2_LED_TOTAL 41
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q65/ansi_encoder/info.json b/keyboards/keychron/q65/ansi_encoder/info.json
index a42d7d289c..2d622b869c 100644
--- a/keyboards/keychron/q65/ansi_encoder/info.json
+++ b/keyboards/keychron/q65/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x01B1",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/q65/config.h b/keyboards/keychron/q65/config.h
index 84c4e9fc17..c451568e76 100644
--- a/keyboards/keychron/q65/config.h
+++ b/keyboards/keychron/q65/config.h
@@ -40,69 +40,4 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58 }
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q65/info.json b/keyboards/keychron/q65/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/q65/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/q65/q65.c b/keyboards/keychron/q65/q65.c
index 18fa8697c7..e293733bfe 100644
--- a/keyboards/keychron/q65/q65.c
+++ b/keyboards/keychron/q65/q65.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q7/ansi/ansi.c b/keyboards/keychron/q7/ansi/ansi.c
index 190c110a77..ef21433f57 100644
--- a/keyboards/keychron/q7/ansi/ansi.c
+++ b/keyboards/keychron/q7/ansi/ansi.c
@@ -20,118 +20,89 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_15, G_15, H_15},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
- { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 },
- { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, __, 44, 45, 46 },
- { 47, __, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, __, 58, 59, 60 },
- { 61, 62, 63, __, __, __, 64, __, __, 65, 66, 67, 68, 69, 70, 71 },
- },
- {
- // LED Index to Physical Position
- {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {189,0}, {210,0}, {224,0},
- {4,16}, {21,16}, {35,16}, {49,16}, {63,16}, {77,16}, {91,16}, {105,16}, {119,16}, {133,16}, {147,16}, {161,16}, {175,16}, {192,16}, {210,16}, {224,16},
- {5,32}, {25,32}, {38,32}, {52,32}, {66,32}, {80,32}, {94,32}, {108,32}, {122,32}, {136,32}, {150,32}, {164,32}, {187,32}, {210,32}, {224,32},
- {9,48}, {32,48}, {45,48}, {59,48}, {73,48}, {87,48}, {101,48}, {115,48}, {129,48}, {143,48}, {157,48}, {184,48}, {210,48}, {224,48},
- {2,64}, {19,64}, {37,64}, {89,64}, {140,64}, {154,64}, {168,64}, {182,64}, {196,64}, {210,64}, {224,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
- }
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q7/ansi/config.h b/keyboards/keychron/q7/ansi/config.h
index 32727a13ce..ef9b58298c 100644
--- a/keyboards/keychron/q7/ansi/config.h
+++ b/keyboards/keychron/q7/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 37
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 32
diff --git a/keyboards/keychron/q7/ansi/info.json b/keyboards/keychron/q7/ansi/info.json
index 717fe357b7..62cff888e1 100644
--- a/keyboards/keychron/q7/ansi/info.json
+++ b/keyboards/keychron/q7/ansi/info.json
@@ -1,23 +1,88 @@
{
- "keyboard_name": "Keychron Q7",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0170",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 189, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 210, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 35, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 63, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 77, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 91, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 105, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 119, "y": 16, "flags": 4},
+ {"matrix": [1, 9], "x": 133, "y": 16, "flags": 4},
+ {"matrix": [1, 10], "x": 147, "y": 16, "flags": 4},
+ {"matrix": [1, 11], "x": 161, "y": 16, "flags": 4},
+ {"matrix": [1, 12], "x": 175, "y": 16, "flags": 4},
+ {"matrix": [1, 13], "x": 192, "y": 16, "flags": 4},
+ {"matrix": [1, 14], "x": 210, "y": 16, "flags": 1},
+ {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8},
+ {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 38, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 66, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 94, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 108, "y": 32, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 32, "flags": 4},
+ {"matrix": [2, 9], "x": 136, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 32, "flags": 4},
+ {"matrix": [2, 11], "x": 164, "y": 32, "flags": 4},
+ {"matrix": [2, 13], "x": 187, "y": 32, "flags": 1},
+ {"matrix": [2, 14], "x": 210, "y": 32, "flags": 1},
+ {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1},
+
+ {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 73, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 87, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 48, "flags": 4},
+ {"matrix": [3, 9], "x": 129, "y": 48, "flags": 4},
+ {"matrix": [3, 10], "x": 143, "y": 48, "flags": 4},
+ {"matrix": [3, 11], "x": 157, "y": 48, "flags": 4},
+ {"matrix": [3, 13], "x": 184, "y": 48, "flags": 1},
+ {"matrix": [3, 14], "x": 210, "y": 48, "flags": 1},
+ {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1},
+
+ {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 19, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 89, "y": 64, "flags": 4},
+ {"matrix": [4, 9], "x": 140, "y": 64, "flags": 1},
+ {"matrix": [4, 10], "x": 154, "y": 64, "flags": 1},
+ {"matrix": [4, 11], "x": 168, "y": 64, "flags": 1},
+ {"matrix": [4, 12], "x": 182, "y": 64, "flags": 1},
+ {"matrix": [4, 13], "x": 196, "y": 64, "flags": 1},
+ {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1},
+ {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0170"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_72": {
"layout": [
@@ -85,7 +150,6 @@
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
-
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
@@ -100,4 +164,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q7/ansi/rules.mk b/keyboards/keychron/q7/ansi/rules.mk
index cf31e094cb..6e7633bfe0 100644
--- a/keyboards/keychron/q7/ansi/rules.mk
+++ b/keyboards/keychron/q7/ansi/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q7/config.h b/keyboards/keychron/q7/config.h
index 4794c80011..4a2a6af9e3 100644
--- a/keyboards/keychron/q7/config.h
+++ b/keyboards/keychron/q7/config.h
@@ -30,70 +30,3 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0xF8, 0xF8, 0x80, 0xF8, 0xF8, 0x80, 0xF8, 0xF8, 0x80, 0xF8, 0xF8, 0x80 }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/q7/info.json b/keyboards/keychron/q7/info.json
new file mode 100644
index 0000000000..6b8a94ce99
--- /dev/null
+++ b/keyboards/keychron/q7/info.json
@@ -0,0 +1,64 @@
+{
+ "manufacturer": "Keychron",
+ "keyboard_name": "Keychron Q7",
+ "maintainer": "lalalademaxiya1",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "dynamic_keymap": {
+ "layer_count": 5
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
+ "rows": ["B4", "B3", "A15", "A14", "A13"]
+ },
+ "processor": "STM32L432",
+ "rgb_matrix": {
+ "animations": {
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ },
+ "url": "https://github.com/Keychron",
+ "usb": {
+ "vid": "0x3434"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q7/iso/config.h b/keyboards/keychron/q7/iso/config.h
index dc9813f6e8..edeb79e262 100644
--- a/keyboards/keychron/q7/iso/config.h
+++ b/keyboards/keychron/q7/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 37
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 31
diff --git a/keyboards/keychron/q7/iso/info.json b/keyboards/keychron/q7/iso/info.json
index d57c5b17b9..d98ec8fa5e 100644
--- a/keyboards/keychron/q7/iso/info.json
+++ b/keyboards/keychron/q7/iso/info.json
@@ -1,23 +1,89 @@
{
- "keyboard_name": "Keychron Q7",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0172",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 189, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 210, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 35, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 63, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 77, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 91, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 105, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 119, "y": 16, "flags": 4},
+ {"matrix": [1, 9], "x": 133, "y": 16, "flags": 4},
+ {"matrix": [1, 10], "x": 147, "y": 16, "flags": 4},
+ {"matrix": [1, 11], "x": 161, "y": 16, "flags": 4},
+ {"matrix": [1, 12], "x": 175, "y": 16, "flags": 4},
+ {"matrix": [1, 14], "x": 210, "y": 16, "flags": 1},
+ {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8},
+ {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 38, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 66, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 94, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 108, "y": 32, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 32, "flags": 4},
+ {"matrix": [2, 9], "x": 136, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 32, "flags": 4},
+ {"matrix": [2, 11], "x": 164, "y": 32, "flags": 4},
+ {"matrix": [2, 13], "x": 178, "y": 32, "flags": 4},
+ {"matrix": [1, 13], "x": 197, "y": 27, "flags": 1},
+ {"matrix": [2, 14], "x": 210, "y": 32, "flags": 1},
+ {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1},
+
+ {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1},
+ {"matrix": [3, 1], "x": 18, "y": 48, "flags": 4},
+ {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 73, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 87, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 48, "flags": 4},
+ {"matrix": [3, 9], "x": 129, "y": 48, "flags": 4},
+ {"matrix": [3, 10], "x": 143, "y": 48, "flags": 4},
+ {"matrix": [3, 11], "x": 157, "y": 48, "flags": 4},
+ {"matrix": [3, 13], "x": 184, "y": 48, "flags": 1},
+ {"matrix": [3, 14], "x": 210, "y": 48, "flags": 1},
+ {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1},
+
+ {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 19, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 89, "y": 64, "flags": 4},
+ {"matrix": [4, 9], "x": 140, "y": 64, "flags": 1},
+ {"matrix": [4, 10], "x": 154, "y": 64, "flags": 1},
+ {"matrix": [4, 11], "x": 168, "y": 64, "flags": 1},
+ {"matrix": [4, 12], "x": 182, "y": 64, "flags": 1},
+ {"matrix": [4, 13], "x": 196, "y": 64, "flags": 1},
+ {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1},
+ {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0172"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_iso_73": {
"layout": [
@@ -101,4 +167,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q7/iso/iso.c b/keyboards/keychron/q7/iso/iso.c
index 13354b9f0b..dfda79c843 100644
--- a/keyboards/keychron/q7/iso/iso.c
+++ b/keyboards/keychron/q7/iso/iso.c
@@ -18,119 +18,90 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_15, G_15, H_15},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
- { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 44, 29, 30 },
- { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, __, 43, 45, 46 },
- { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, __, 59, 60, 61 },
- { 62, 63, 64, __, __, __, 65, __, __, 66, 67, 68, 69, 70, 71, 72 },
- },
- {
- // LED Index to Physical Position
- {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {189,0}, {210,0}, {224,0},
- {4,16}, {21,16}, {35,16}, {49,16}, {63,16}, {77,16}, {91,16}, {105,16}, {119,16}, {133,16}, {147,16}, {161,16}, {175,16}, {210,16}, {224,16},
- {5,32}, {25,32}, {38,32}, {52,32}, {66,32}, {80,32}, {94,32}, {108,32}, {122,32}, {136,32}, {150,32}, {164,32}, {178,32}, {197,27}, {210,32}, {224,32},
- {2,48}, {18,48}, {32,48}, {45,48}, {59,48}, {73,48}, {87,48}, {101,48}, {115,48}, {129,48}, {143,48}, {157,48}, {184,48}, {210,48}, {224,48},
- {2,64}, {19,64}, {37,64}, {89,64}, {140,64}, {154,64}, {168,64}, {182,64}, {196,64}, {210,64}, {224,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
- }
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q7/iso/rules.mk b/keyboards/keychron/q7/iso/rules.mk
index cf31e094cb..6e7633bfe0 100644
--- a/keyboards/keychron/q7/iso/rules.mk
+++ b/keyboards/keychron/q7/iso/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q7/q7.c b/keyboards/keychron/q7/q7.c
index abd4ac11f0..d020f6ab43 100644
--- a/keyboards/keychron/q7/q7.c
+++ b/keyboards/keychron/q7/q7.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q7/readme.md b/keyboards/keychron/q7/readme.md
index ea48464222..d6fedb1493 100644
--- a/keyboards/keychron/q7/readme.md
+++ b/keyboards/keychron/q7/readme.md
@@ -1,19 +1,23 @@
# Keychron Q7
+![Keychron Q7](https://i.imgur.com/dMnFpx0h.jpg)
+
A customizable 70% keyboard.
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
* Hardware Supported: Keychron Q7
-* Hardware Availability: [Keychron](https://www.keychron.com)
+* Hardware Availability: [Keychron Q7 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q7-qmk-custom-mechanical-keyboard)
Make example for this keyboard (after setting up your build environment):
make keychron/q7/ansi:default
+ make keychron/q7/iso:default
-Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+Flashing example for this keyboard:
make keychron/q7/ansi:default:flash
+ make keychron/q7/iso:default:flash
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/keychron/q8/ansi/ansi.c b/keyboards/keychron/q8/ansi/ansi.c
index 3bb10b383d..e60752d7dd 100644
--- a/keyboards/keychron/q8/ansi/ansi.c
+++ b/keyboards/keychron/q8/ansi/ansi.c
@@ -20,116 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- // {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ // {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
- { 30, 31, 32, 33, 34, 35, __, 36, 37, 38, 39, 40, 41, 42, 43 },
- { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
- { 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 },
- },
- {
- // LED Index to Physical Position
- {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
- {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16},
- {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29},
- {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43},
- {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
- }
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q8/ansi/config.h b/keyboards/keychron/q8/ansi/config.h
index cd2d037bb3..9cd663a216 100644
--- a/keyboards/keychron/q8/ansi/config.h
+++ b/keyboards/keychron/q8/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
diff --git a/keyboards/keychron/q8/ansi/info.json b/keyboards/keychron/q8/ansi/info.json
index f733004270..2580b4163e 100644
--- a/keyboards/keychron/q8/ansi/info.json
+++ b/keyboards/keychron/q8/ansi/info.json
@@ -1,23 +1,85 @@
{
- "keyboard_name": "Keychron Q8",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0180",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
+ {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
+ {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
+ {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
+ {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
+ {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
+ {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
+ {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
+ {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
+ {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
+ {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4},
+ {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
+ {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
+ {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
+ {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
+ {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4},
+ {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4},
+ {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4},
+ {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
+ {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
+ {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
+ {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4},
+ {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
+ {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
+ {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
+ {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1},
+ {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},
+
+ {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1},
+ {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4},
+ {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
+ {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4},
+ {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
+ {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
+ {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4},
+ {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
+ {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
+ {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
+ {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},
+
+ {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1},
+ {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1},
+ {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1},
+ {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4},
+ {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1},
+ {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1},
+ {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4},
+ {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1},
+ {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
+ {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
+ {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0180"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_69": {
"layout": [
@@ -97,4 +159,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q8/ansi/rules.mk b/keyboards/keychron/q8/ansi/rules.mk
index cf31e094cb..7ff128fa69 100644
--- a/keyboards/keychron/q8/ansi/rules.mk
+++ b/keyboards/keychron/q8/ansi/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c
index 3bb10b383d..e60752d7dd 100644
--- a/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c
@@ -20,116 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- // {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ // {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
- { 30, 31, 32, 33, 34, 35, __, 36, 37, 38, 39, 40, 41, 42, 43 },
- { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
- { 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 },
- },
- {
- // LED Index to Physical Position
- {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
- {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16},
- {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29},
- {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43},
- {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
- }
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q8/ansi_encoder/config.h b/keyboards/keychron/q8/ansi_encoder/config.h
index 63d16c21af..9cd663a216 100644
--- a/keyboards/keychron/q8/ansi_encoder/config.h
+++ b/keyboards/keychron/q8/ansi_encoder/config.h
@@ -16,13 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
diff --git a/keyboards/keychron/q8/ansi_encoder/info.json b/keyboards/keychron/q8/ansi_encoder/info.json
index ccf9453d53..b3f82637db 100644
--- a/keyboards/keychron/q8/ansi_encoder/info.json
+++ b/keyboards/keychron/q8/ansi_encoder/info.json
@@ -1,28 +1,91 @@
{
- "keyboard_name": "Keychron Q8",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0181",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
- },
- "diode_direction": "ROW2COL",
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "B5", "pin_b": "A10"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
+ {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
+ {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
+ {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
+ {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
+ {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
+ {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
+ {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
+ {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
+ {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
+ {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4},
+ {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
+ {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
+ {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
+ {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
+ {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4},
+ {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4},
+ {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4},
+ {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
+ {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
+ {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
+ {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4},
+ {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
+ {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
+ {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
+ {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1},
+ {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},
+
+ {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1},
+ {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4},
+ {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
+ {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4},
+ {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
+ {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
+ {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4},
+ {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
+ {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
+ {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
+ {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},
+
+ {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1},
+ {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1},
+ {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1},
+ {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4},
+ {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1},
+ {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1},
+ {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4},
+ {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1},
+ {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
+ {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
+ {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0181"
+ },
"layouts": {
"LAYOUT_ansi_69": {
"layout": [
@@ -87,7 +150,6 @@
{"matrix": [3, 12], "x": 14.25, "y": 3.25},
{"matrix": [3, 13], "x": 15.25, "y": 3.25, "w": 1.75},
{"matrix": [3, 14], "x": 17.25, "y": 3.5},
-
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25},
{"matrix": [4, 2], "x": 3.75, "y": 4.25, "w": 1.25},
@@ -102,4 +164,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q8/ansi_encoder/rules.mk b/keyboards/keychron/q8/ansi_encoder/rules.mk
index 5d77f09971..6e7633bfe0 100644
--- a/keyboards/keychron/q8/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q8/ansi_encoder/rules.mk
@@ -1,15 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q8/config.h b/keyboards/keychron/q8/config.h
index 7ecbf40b23..934e1b54fc 100644
--- a/keyboards/keychron/q8/config.h
+++ b/keyboards/keychron/q8/config.h
@@ -34,68 +34,5 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* Turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
+/* Encoder Configuration */
+#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q8/info.json b/keyboards/keychron/q8/info.json
new file mode 100644
index 0000000000..da4c9c6f79
--- /dev/null
+++ b/keyboards/keychron/q8/info.json
@@ -0,0 +1,64 @@
+{
+ "manufacturer": "Keychron",
+ "keyboard_name": "Keychron Q8",
+ "maintainer": "lalalademaxiya1",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "dynamic_keymap": {
+ "layer_count": 5
+ },
+ "eeprom": {
+ "wear_levling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
+ "rows": ["B4", "B3", "A15", "A14", "A13"]
+ },
+ "processor": "STM32L432",
+ "rgb_matrix": {
+ "animations": {
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ },
+ "url": "https://github.com/Keychron",
+ "usb": {
+ "vid": "0x3434"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q8/iso/config.h b/keyboards/keychron/q8/iso/config.h
index 99ba64d713..7a10ce6d65 100644
--- a/keyboards/keychron/q8/iso/config.h
+++ b/keyboards/keychron/q8/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29
diff --git a/keyboards/keychron/q8/iso/info.json b/keyboards/keychron/q8/iso/info.json
index 28d586984e..fe87955c39 100644
--- a/keyboards/keychron/q8/iso/info.json
+++ b/keyboards/keychron/q8/iso/info.json
@@ -1,23 +1,86 @@
{
- "keyboard_name": "Keychron Q8",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0182",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
+ {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
+ {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
+ {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
+ {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
+ {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
+ {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
+ {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
+ {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
+ {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
+ {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4},
+ {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
+ {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
+ {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
+ {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4},
+ {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4},
+ {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
+ {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
+ {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
+ {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4},
+ {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4},
+ {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
+ {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
+ {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
+ {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4},
+ {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1},
+ {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},
+
+ {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1},
+ {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4},
+ {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4},
+ {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
+ {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4},
+ {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
+ {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
+ {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4},
+ {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
+ {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
+ {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
+ {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},
+
+ {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1},
+ {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1},
+ {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1},
+ {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1},
+ {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1},
+ {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1},
+ {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1},
+ {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1},
+ {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
+ {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
+ {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0182"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_iso_70": {
"layout": [
@@ -83,7 +146,6 @@
{"matrix": [3, 12], "x": 14.25, "y": 3.25},
{"matrix": [3, 13], "x": 15.25, "y": 3.25, "w": 1.75},
{"matrix": [3, 14], "x": 17.25, "y": 3.5},
-
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25},
{"matrix": [4, 2], "x": 3.75, "y": 4.25, "w": 1.25},
@@ -98,4 +160,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q8/iso/iso.c b/keyboards/keychron/q8/iso/iso.c
index dbcefd76c0..720c1eb34b 100644
--- a/keyboards/keychron/q8/iso/iso.c
+++ b/keyboards/keychron/q8/iso/iso.c
@@ -20,116 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 },
- { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 43 },
- { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 },
- { 59, 60, 61, 62, __, __, 63, 64, 65, 66, __, __, 67, 68, 69 },
- },
- {
- // LED Index to Physical Position
- {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
- {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16},
- {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29},
- {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43},
- {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q8/iso/rules.mk b/keyboards/keychron/q8/iso/rules.mk
index cf31e094cb..7ff128fa69 100644
--- a/keyboards/keychron/q8/iso/rules.mk
+++ b/keyboards/keychron/q8/iso/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q8/iso_encoder/config.h b/keyboards/keychron/q8/iso_encoder/config.h
index cdda41df5d..7a10ce6d65 100644
--- a/keyboards/keychron/q8/iso_encoder/config.h
+++ b/keyboards/keychron/q8/iso_encoder/config.h
@@ -16,13 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29
diff --git a/keyboards/keychron/q8/iso_encoder/info.json b/keyboards/keychron/q8/iso_encoder/info.json
index 0d96f3f193..46a93ec63b 100644
--- a/keyboards/keychron/q8/iso_encoder/info.json
+++ b/keyboards/keychron/q8/iso_encoder/info.json
@@ -1,28 +1,92 @@
{
- "keyboard_name": "Keychron Q8",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0183",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
- "matrix_pins": {
- "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
- "rows": ["B4", "B3", "A15", "A14", "A13"]
- },
- "diode_direction": "ROW2COL",
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "B5", "pin_b": "A10"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4},
+ {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4},
+ {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4},
+ {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4},
+ {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4},
+ {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4},
+ {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4},
+ {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4},
+ {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1},
+ {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1},
+ {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4},
+ {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4},
+ {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4},
+ {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4},
+ {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4},
+ {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4},
+ {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8},
+ {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4},
+ {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4},
+ {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4},
+ {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4},
+ {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4},
+ {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4},
+ {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4},
+ {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4},
+ {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4},
+ {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1},
+ {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1},
+
+ {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1},
+ {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4},
+ {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4},
+ {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4},
+ {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4},
+ {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4},
+ {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4},
+ {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4},
+ {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4},
+ {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4},
+ {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4},
+ {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4},
+ {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1},
+ {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1},
+
+ {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1},
+ {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1},
+ {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1},
+ {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1},
+ {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1},
+ {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1},
+ {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1},
+ {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1},
+ {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1},
+ {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1},
+ {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0183"
+ },
"layouts": {
"LAYOUT_iso_70": {
"layout": [
@@ -103,4 +167,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q8/iso_encoder/iso_encoder.c b/keyboards/keychron/q8/iso_encoder/iso_encoder.c
index dbcefd76c0..720c1eb34b 100644
--- a/keyboards/keychron/q8/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q8/iso_encoder/iso_encoder.c
@@ -20,116 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 },
- { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 43 },
- { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 },
- { 59, 60, 61, 62, __, __, 63, 64, 65, 66, __, __, 67, 68, 69 },
- },
- {
- // LED Index to Physical Position
- {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0},
- {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16},
- {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29},
- {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43},
- {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q8/iso_encoder/rules.mk b/keyboards/keychron/q8/iso_encoder/rules.mk
index 5d77f09971..6e7633bfe0 100644
--- a/keyboards/keychron/q8/iso_encoder/rules.mk
+++ b/keyboards/keychron/q8/iso_encoder/rules.mk
@@ -1,15 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q8/q8.c b/keyboards/keychron/q8/q8.c
index a653bdc8b9..c28f992f8e 100644
--- a/keyboards/keychron/q8/q8.c
+++ b/keyboards/keychron/q8/q8.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q8/readme.md b/keyboards/keychron/q8/readme.md
index da200e2c18..eaa286899a 100644
--- a/keyboards/keychron/q8/readme.md
+++ b/keyboards/keychron/q8/readme.md
@@ -1,19 +1,27 @@
# Keychron Q8
+![Keychron Q8](https://i.imgur.com/FQnOwRrh.jpg)
+
A customizable 65% Alice layout keyboard.
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
* Hardware Supported: Keychron Q8
-* Hardware Availability: [Keychron](https://www.keychron.com)
+* Hardware Availability: [Keychron Q8 (Alice Layout) QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q8-alice-layout-qmk-custom-mechanical-keyboard)
Make example for this keyboard (after setting up your build environment):
make keychron/q8/ansi:default
+ make keychron/q8/ansi_encoder:default
+ make keychron/q8/iso:default
+ make keychron/q8/iso_encoder:default
-Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+Flashing example for this keyboard:
make keychron/q8/ansi:default:flash
+ make keychron/q8/ansi_encoder:default:flash
+ make keychron/q8/iso:default:flash
+ make keychron/q8/iso_encoder:default:flash
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/keychron/q9/ansi/ansi.c b/keyboards/keychron/q9/ansi/ansi.c
index 9178c8dcc7..e00c7f7e9d 100644
--- a/keyboards/keychron/q9/ansi/ansi.c
+++ b/keyboards/keychron/q9/ansi/ansi.c
@@ -20,94 +20,68 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_16, J_16, K_16},
- {0, L_15, J_15, K_15},
- {0, L_14, J_14, K_14},
- {0, L_13, J_13, K_13},
- {0, L_12, J_12, K_12},
- {0, L_11, J_11, K_11},
- {0, L_10, J_10, K_10},
- {0, L_9, J_9, K_9},
- {0, L_8, J_8, K_8},
- {0, L_7, J_7, K_7},
- {0, L_6, J_6, K_6},
- {0, L_5, J_5, K_5},
- {0, L_4, J_4, K_4},
- {0, L_3, J_3, K_3},
- {0, L_2, J_2, K_2},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
- {0, C_16, A_16, B_16},
- {0, C_15, A_15, B_15},
- {0, C_14, A_14, B_14},
- {0, C_13, A_13, B_13},
- {0, C_12, A_12, B_12},
- {0, C_11, A_11, B_11},
- {0, C_10, A_10, B_10},
- {0, C_9, A_9, B_9},
- {0, C_8, A_8, B_8},
- {0, C_7, A_7, B_7},
- {0, C_6, A_6, B_6},
- {0, C_5, A_5, B_5},
- {0, C_3, A_3, B_3},
- {0, C_2, A_2, B_2},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
- {0, I_16, G_16, H_16},
- {0, I_14, G_14, H_14},
- {0, I_13, G_13, H_13},
- {0, I_12, G_12, H_12},
- {0, I_11, G_11, H_11},
- {0, I_10, G_10, H_10},
- {0, I_9, G_9, H_9},
- {0, I_8, G_8, H_8},
- {0, I_7, G_7, H_7},
- {0, I_6, G_6, H_6},
- {0, I_5, G_5, H_5},
- {0, I_3, G_3, H_3},
- {0, I_2, G_2, H_2},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
- {0, F_16, D_16, E_16},
- {0, F_15, D_15, E_15},
- {0, F_14, D_14, E_14},
- {0, F_10, D_10, E_10},
- {0, F_6, D_6, E_6},
- {0, F_5, D_5, E_5},
- {0, F_4, D_4, E_4},
- {0, F_3, D_3, E_3},
- {0, F_2, D_2, E_2},
- {0, C_4, A_4, B_4}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 51, 27, 28 },
- { 29, __, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, __, 40, 41 },
- { 42, 43, 44, __, __, __, 45, __, __, __, 46, 47, 48, 49, 50 },
- },
- {
- // LED Index to Physical Position
- {2,0}, {20,0}, {35,0}, {50,0}, {65,0}, {80,0}, {94,0}, {109,0}, {124,0}, {139,0}, {154,0}, {168,0}, {183,0}, {202,0}, {224,0},
- {4,21}, {24,21}, {39,21}, {54,21}, {68,21}, {83,21}, {98,21}, {113,21}, {128,21}, {142,21}, {157,21}, {172,21}, {196,21}, {224,27},
- {7,43}, {31,43}, {46,43}, {61,43}, {76,43}, {91,43}, {105,43}, {120,43}, {135,43}, {150,43}, {165,43}, {185,43}, {205,43},
- {0,64}, {18,64}, {37,64}, {92,64}, {146,64}, {161,64}, {176,64}, {190,64}, {205,64}, {220,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
- }
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q9/ansi/config.h b/keyboards/keychron/q9/ansi/config.h
index f9565bd6f0..40cc325d43 100644
--- a/keyboards/keychron/q9/ansi/config.h
+++ b/keyboards/keychron/q9/ansi/config.h
@@ -16,9 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 52
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 15
diff --git a/keyboards/keychron/q9/ansi/info.json b/keyboards/keychron/q9/ansi/info.json
index ccb29a749b..ec5f367ed1 100644
--- a/keyboards/keychron/q9/ansi/info.json
+++ b/keyboards/keychron/q9/ansi/info.json
@@ -1,23 +1,67 @@
{
- "keyboard_name": "Keychron Q9",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0190",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 2, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 35, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 109, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 139, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 183, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 4, "y": 21, "flags": 8},
+ {"matrix": [1, 1], "x": 24, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 83, "y": 21, "flags": 4},
+ {"matrix": [1, 6], "x": 98, "y": 21, "flags": 4},
+ {"matrix": [1, 7], "x": 113, "y": 21, "flags": 4},
+ {"matrix": [1, 8], "x": 128, "y": 21, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 21, "flags": 4},
+ {"matrix": [1, 10], "x": 157, "y": 21, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [1, 13], "x": 196, "y": 21, "flags": 1},
+ {"matrix": [1, 14], "x": 224, "y": 27, "flags": 1},
+
+ {"matrix": [2, 0], "x": 7, "y": 43, "flags": 1},
+ {"matrix": [2, 2], "x": 31, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 46, "y": 43, "flags": 4},
+ {"matrix": [2, 4], "x": 61, "y": 43, "flags": 4},
+ {"matrix": [2, 5], "x": 76, "y": 43, "flags": 4},
+ {"matrix": [2, 6], "x": 91, "y": 43, "flags": 4},
+ {"matrix": [2, 7], "x": 105, "y": 43, "flags": 4},
+ {"matrix": [2, 8], "x": 120, "y": 43, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 43, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 43, "flags": 4},
+ {"matrix": [2, 11], "x": 165, "y": 43, "flags": 4},
+ {"matrix": [2, 13], "x": 185, "y": 43, "flags": 1},
+ {"matrix": [2, 14], "x": 205, "y": 43, "flags": 1},
+
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [3, 1], "x": 18, "y": 64, "flags": 1},
+ {"matrix": [3, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [3, 6], "x": 92, "y": 64, "flags": 4},
+ {"matrix": [3, 10], "x": 146, "y": 64, "flags": 1},
+ {"matrix": [3, 11], "x": 161, "y": 64, "flags": 1},
+ {"matrix": [3, 12], "x": 176, "y": 64, "flags": 1},
+ {"matrix": [3, 13], "x": 190, "y": 64, "flags": 1},
+ {"matrix": [3, 14], "x": 205, "y": 64, "flags": 1},
+ {"matrix": [1, 12], "x": 220, "y": 64, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
- "rows": ["B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0190"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_52": {
"layout": [
@@ -65,7 +109,6 @@
{"matrix": [2, 11], "x": 11.25, "y": 2.25},
{"matrix": [2, 13], "x": 12.25, "y": 2.25, "w": 1.75},
{"matrix": [2, 14], "x": 14.25, "y": 2.5},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3.25, "w": 1.25},
{"matrix": [3, 2], "x": 2.5, "y": 3.25, "w": 1.25},
@@ -79,4 +122,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q9/ansi/rules.mk b/keyboards/keychron/q9/ansi/rules.mk
index cf31e094cb..6e7633bfe0 100644
--- a/keyboards/keychron/q9/ansi/rules.mk
+++ b/keyboards/keychron/q9/ansi/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c
index 58d66e0473..e00c7f7e9d 100644
--- a/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c
@@ -20,94 +20,68 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_16, J_16, K_16},
- {0, L_15, J_15, K_15},
- {0, L_14, J_14, K_14},
- {0, L_13, J_13, K_13},
- {0, L_12, J_12, K_12},
- {0, L_11, J_11, K_11},
- {0, L_10, J_10, K_10},
- {0, L_9, J_9, K_9},
- {0, L_8, J_8, K_8},
- {0, L_7, J_7, K_7},
- {0, L_6, J_6, K_6},
- {0, L_5, J_5, K_5},
- {0, L_4, J_4, K_4},
- {0, L_3, J_3, K_3},
- {0, L_2, J_2, K_2},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
- {0, C_16, A_16, B_16},
- {0, C_15, A_15, B_15},
- {0, C_14, A_14, B_14},
- {0, C_13, A_13, B_13},
- {0, C_12, A_12, B_12},
- {0, C_11, A_11, B_11},
- {0, C_10, A_10, B_10},
- {0, C_9, A_9, B_9},
- {0, C_8, A_8, B_8},
- {0, C_7, A_7, B_7},
- {0, C_6, A_6, B_6},
- {0, C_5, A_5, B_5},
- {0, C_3, A_3, B_3},
- {0, C_2, A_2, B_2},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
- {0, I_16, G_16, H_16},
- {0, I_14, G_14, H_14},
- {0, I_13, G_13, H_13},
- {0, I_12, G_12, H_12},
- {0, I_11, G_11, H_11},
- {0, I_10, G_10, H_10},
- {0, I_9, G_9, H_9},
- {0, I_8, G_8, H_8},
- {0, I_7, G_7, H_7},
- {0, I_6, G_6, H_6},
- {0, I_5, G_5, H_5},
- {0, I_3, G_3, H_3},
- {0, I_2, G_2, H_2},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
- {0, F_16, D_16, E_16},
- {0, F_15, D_15, E_15},
- {0, F_14, D_14, E_14},
- {0, F_10, D_10, E_10},
- {0, F_6, D_6, E_6},
- {0, F_5, D_5, E_5},
- {0, F_4, D_4, E_4},
- {0, F_3, D_3, E_3},
- {0, F_2, D_2, E_2},
- {0, C_4, A_4, B_4}
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 51, 27, 28 },
- { 29, __, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, __, 40, 41 },
- { 42, 43, 44, __, __, __, 45, __, __, __, 46, 47, 48, 49, 50 },
- },
- {
- // LED Index to Physical Position
- {2,0}, {20,0}, {35,0}, {50,0}, {65,0}, {80,0}, {94,0}, {109,0}, {124,0}, {139,0}, {154,0}, {168,0}, {183,0}, {202,0}, {224,0},
- {4,21}, {24,21}, {39,21}, {54,21}, {68,21}, {83,21}, {98,21}, {113,21}, {128,21}, {142,21}, {157,21}, {172,21}, {196,21}, {224,27},
- {7,43}, {31,43}, {46,43}, {61,43}, {76,43}, {91,43}, {105,43}, {120,43}, {135,43}, {150,43}, {165,43}, {185,43}, {205,43},
- {0,64}, {18,64}, {37,64}, {92,64}, {146,64}, {161,64}, {176,64}, {190,64}, {205,64}, {220,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q9/ansi_encoder/config.h b/keyboards/keychron/q9/ansi_encoder/config.h
index 6850e5c2d6..40cc325d43 100644
--- a/keyboards/keychron/q9/ansi_encoder/config.h
+++ b/keyboards/keychron/q9/ansi_encoder/config.h
@@ -16,12 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 52
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 15
diff --git a/keyboards/keychron/q9/ansi_encoder/info.json b/keyboards/keychron/q9/ansi_encoder/info.json
index 3826a1b768..0fc135771a 100644
--- a/keyboards/keychron/q9/ansi_encoder/info.json
+++ b/keyboards/keychron/q9/ansi_encoder/info.json
@@ -1,28 +1,70 @@
{
- "keyboard_name": "Keychron Q9",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0191",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
- "matrix_pins": {
- "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
- "rows": ["B3", "A15", "A14", "A13"]
- },
- "diode_direction": "ROW2COL",
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "B4", "pin_b": "B5"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 2, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 35, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 109, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 139, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 183, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 4, "y": 21, "flags": 8},
+ {"matrix": [1, 1], "x": 24, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 83, "y": 21, "flags": 4},
+ {"matrix": [1, 6], "x": 98, "y": 21, "flags": 4},
+ {"matrix": [1, 7], "x": 113, "y": 21, "flags": 4},
+ {"matrix": [1, 8], "x": 128, "y": 21, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 21, "flags": 4},
+ {"matrix": [1, 10], "x": 157, "y": 21, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [1, 13], "x": 196, "y": 21, "flags": 1},
+ {"matrix": [1, 14], "x": 224, "y": 27, "flags": 1},
+ {"matrix": [2, 0], "x": 7, "y": 43, "flags": 1},
+ {"matrix": [2, 2], "x": 31, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 46, "y": 43, "flags": 4},
+ {"matrix": [2, 4], "x": 61, "y": 43, "flags": 4},
+ {"matrix": [2, 5], "x": 76, "y": 43, "flags": 4},
+ {"matrix": [2, 6], "x": 91, "y": 43, "flags": 4},
+ {"matrix": [2, 7], "x": 105, "y": 43, "flags": 4},
+ {"matrix": [2, 8], "x": 120, "y": 43, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 43, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 43, "flags": 4},
+ {"matrix": [2, 11], "x": 165, "y": 43, "flags": 4},
+ {"matrix": [2, 13], "x": 185, "y": 43, "flags": 1},
+ {"matrix": [2, 14], "x": 205, "y": 43, "flags": 1},
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [3, 1], "x": 18, "y": 64, "flags": 1},
+ {"matrix": [3, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [3, 6], "x": 92, "y": 64, "flags": 1},
+ {"matrix": [3, 10], "x": 146, "y": 64, "flags": 1},
+ {"matrix": [3, 11], "x": 161, "y": 64, "flags": 1},
+ {"matrix": [3, 12], "x": 176, "y": 64, "flags": 1},
+ {"matrix": [3, 13], "x": 190, "y": 64, "flags": 1},
+ {"matrix": [3, 14], "x": 205, "y": 64, "flags": 1},
+ {"matrix": [1, 12], "x": 220, "y": 64, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0191"
+ },
"layouts": {
"LAYOUT_ansi_52": {
"layout": [
@@ -41,7 +83,6 @@
{"matrix": [0, 12], "x": 12.5, "y": 0.25},
{"matrix": [0, 13], "x": 13.5, "y": 0.25, "w": 1.5},
{"matrix": [0, 14], "x": 15.25, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1.25, "w": 1.75},
{"matrix": [1, 1], "x": 1.75, "y": 1.25},
{"matrix": [1, 2], "x": 2.75, "y": 1.25},
@@ -56,7 +97,6 @@
{"matrix": [1, 11], "x": 11.75, "y": 1.25},
{"matrix": [1, 13], "x": 12.75, "y": 1.25, "w": 2.25},
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
-
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 2.25},
{"matrix": [2, 2], "x": 2.25, "y": 2.25},
{"matrix": [2, 3], "x": 3.25, "y": 2.25},
@@ -70,7 +110,6 @@
{"matrix": [2, 11], "x": 11.25, "y": 2.25},
{"matrix": [2, 13], "x": 12.25, "y": 2.25, "w": 1.75},
{"matrix": [2, 14], "x": 14.25, "y": 2.5},
-
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3.25, "w": 1.25},
{"matrix": [3, 2], "x": 2.5, "y": 3.25, "w": 1.25},
@@ -84,4 +123,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q9/ansi_encoder/rules.mk b/keyboards/keychron/q9/ansi_encoder/rules.mk
index ed8fd33800..6e7633bfe0 100644
--- a/keyboards/keychron/q9/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q9/ansi_encoder/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENBALE = no
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q9/config.h b/keyboards/keychron/q9/config.h
index 4226980d3e..e0e7e19227 100644
--- a/keyboards/keychron/q9/config.h
+++ b/keyboards/keychron/q9/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { { 3, 4 } }
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
@@ -35,63 +29,5 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 }
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
+/* Encoder Configuration */
+#define ENCODER_DEFAULT_POS 0x3 \ No newline at end of file
diff --git a/keyboards/keychron/q9/info.json b/keyboards/keychron/q9/info.json
new file mode 100644
index 0000000000..322fcfa1ad
--- /dev/null
+++ b/keyboards/keychron/q9/info.json
@@ -0,0 +1,64 @@
+{
+ "manufacturer": "Keychron",
+ "keyboard_name": "Keychron Q9",
+ "maintainer": "lalalademaxiya1",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "dynamic_keymap": {
+ "layer_count": 5
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "dip_switch": {
+ "matrix_grid": [ [3, 4] ]
+ },
+ "matrix_pins": {
+ "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
+ "rows": ["B3", "A15", "A14", "A13"]
+ },
+ "processor": "STM32L432",
+ "rgb_matrix": {
+ "animations": {
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ },
+ "url": "https://github.com/Keychron",
+ "usb": {
+ "vid": "0x3434"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q9/iso/config.h b/keyboards/keychron/q9/iso/config.h
index eba60f4562..611ed6e267 100644
--- a/keyboards/keychron/q9/iso/config.h
+++ b/keyboards/keychron/q9/iso/config.h
@@ -16,9 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 53
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 14
diff --git a/keyboards/keychron/q9/iso/info.json b/keyboards/keychron/q9/iso/info.json
index a9586d6d91..19a818ebb8 100644
--- a/keyboards/keychron/q9/iso/info.json
+++ b/keyboards/keychron/q9/iso/info.json
@@ -1,23 +1,68 @@
{
- "keyboard_name": "Keychron Q9",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0192",
- "device_version": "1.0.0"
- },
"rgb_matrix": {
- "driver": "snled27351"
+ "layout": [
+ {"matrix": [0, 0], "x": 2, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 35, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 109, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 139, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 183, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 4, "y": 21, "flags": 8},
+ {"matrix": [1, 1], "x": 24, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 83, "y": 21, "flags": 4},
+ {"matrix": [1, 6], "x": 98, "y": 21, "flags": 4},
+ {"matrix": [1, 7], "x": 113, "y": 21, "flags": 4},
+ {"matrix": [1, 8], "x": 128, "y": 21, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 21, "flags": 4},
+ {"matrix": [1, 10], "x": 157, "y": 21, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [1, 13], "x": 187, "y": 21, "flags": 4},
+ {"matrix": [0, 13], "x": 207, "y": 14, "flags": 1},
+ {"matrix": [1, 14], "x": 224, "y": 27, "flags": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
+ {"matrix": [2, 1], "x": 17, "y": 43, "flags": 4},
+ {"matrix": [2, 2], "x": 31, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 46, "y": 43, "flags": 4},
+ {"matrix": [2, 4], "x": 61, "y": 43, "flags": 4},
+ {"matrix": [2, 5], "x": 76, "y": 43, "flags": 4},
+ {"matrix": [2, 6], "x": 91, "y": 43, "flags": 4},
+ {"matrix": [2, 7], "x": 105, "y": 43, "flags": 4},
+ {"matrix": [2, 8], "x": 120, "y": 43, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 43, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 43, "flags": 4},
+ {"matrix": [2, 11], "x": 165, "y": 43, "flags": 4},
+ {"matrix": [2, 13], "x": 185, "y": 43, "flags": 1},
+ {"matrix": [2, 14], "x": 205, "y": 43, "flags": 1},
+
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [3, 1], "x": 18, "y": 64, "flags": 1},
+ {"matrix": [3, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [3, 6], "x": 92, "y": 64, "flags": 4},
+ {"matrix": [3, 10], "x": 146, "y": 64, "flags": 1},
+ {"matrix": [3, 11], "x": 161, "y": 64, "flags": 1},
+ {"matrix": [3, 12], "x": 176, "y": 64, "flags": 1},
+ {"matrix": [3, 13], "x": 190, "y": 64, "flags": 1},
+ {"matrix": [3, 14], "x": 205, "y": 64, "flags": 1},
+ {"matrix": [1, 12], "x": 220, "y": 64, "flags": 1}
+ ]
},
- "matrix_pins": {
- "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
- "rows": ["B3", "A15", "A14", "A13"]
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0192"
},
- "diode_direction": "ROW2COL",
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_iso_53": {
"layout": [
@@ -66,7 +111,6 @@
{"matrix": [2, 11], "x": 11.25, "y": 2},
{"matrix": [2, 13], "x": 12.25, "y": 2, "w": 1.75},
{"matrix": [2, 14], "x": 14, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
{"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
@@ -80,4 +124,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q9/iso/iso.c b/keyboards/keychron/q9/iso/iso.c
index 1917b61f37..f059b4bf58 100644
--- a/keyboards/keychron/q9/iso/iso.c
+++ b/keyboards/keychron/q9/iso/iso.c
@@ -20,95 +20,69 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_16, J_16, K_16}, // Tab
- {0, L_15, J_15, K_15}, // Q
- {0, L_14, J_14, K_14}, // W
- {0, L_13, J_13, K_13}, // E
- {0, L_12, J_12, K_12}, // R
- {0, L_11, J_11, K_11}, // T
- {0, L_10, J_10, K_10}, // Y
- {0, L_9, J_9, K_9}, // U
- {0, L_8, J_8, K_8}, // I
- {0, L_7, J_7, K_7}, // O
- {0, L_6, J_6, K_6}, // P
- {0, L_5, J_5, K_5}, // [
- {0, L_4, J_4, K_4}, // ]
- {0, L_2, J_2, K_2}, // Del
+ {0, CB12_CA16, CB10_CA16, CB11_CA16}, // Tab
+ {0, CB12_CA15, CB10_CA15, CB11_CA15}, // Q
+ {0, CB12_CA14, CB10_CA14, CB11_CA14}, // W
+ {0, CB12_CA13, CB10_CA13, CB11_CA13}, // E
+ {0, CB12_CA12, CB10_CA12, CB11_CA12}, // R
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // T
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // Y
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // U
+ {0, CB12_CA8, CB10_CA8, CB11_CA8}, // I
+ {0, CB12_CA7, CB10_CA7, CB11_CA7}, // O
+ {0, CB12_CA6, CB10_CA6, CB11_CA6}, // P
+ {0, CB12_CA5, CB10_CA5, CB11_CA5}, // [
+ {0, CB12_CA4, CB10_CA4, CB11_CA4}, // ]
+ {0, CB12_CA2, CB10_CA2, CB11_CA2}, // Del
- {0, C_16, A_16, B_16}, // CapsLock
- {0, C_15, A_15, B_15}, // A
- {0, C_14, A_14, B_14}, // S
- {0, C_13, A_13, B_13}, // D
- {0, C_12, A_12, B_12}, // F
- {0, C_11, A_11, B_11}, // G
- {0, C_10, A_10, B_10}, // H
- {0, C_9, A_9, B_9}, // J
- {0, C_8, A_8, B_8}, // K
- {0, C_7, A_7, B_7}, // L
- {0, C_6, A_6, B_6}, // ;
- {0, C_5, A_5, B_5}, // '
- {0, C_3, A_3, B_3}, // #
- {0, L_3, J_3, K_3}, // Enter
- {0, C_2, A_2, B_2}, // Home
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // CapsLock
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // A
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // S
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // D
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // G
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // H
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // J
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // K
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // L
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // ;
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // '
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // #
+ {0, CB12_CA3, CB10_CA3, CB11_CA3}, // Enter
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // Home
- {0, I_16, G_16, H_16}, // LeftShift
- {0, I_15, G_15, H_15}, // |
- {0, I_14, G_14, H_14}, // Z
- {0, I_13, G_13, H_13}, // X
- {0, I_12, G_12, H_12}, // C
- {0, I_11, G_11, H_11}, // V
- {0, I_10, G_10, H_10}, // B
- {0, I_9, G_9, H_9}, // N
- {0, I_8, G_8, H_8}, // M
- {0, I_7, G_7, H_7}, // ,
- {0, I_6, G_6, H_6}, // .
- {0, I_5, G_5, H_5}, // ?
- {0, I_3, G_3, H_3}, // RightShift
- {0, I_2, G_2, H_2}, // Up
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // LeftShift
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // |
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Z
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // X
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // C
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // V
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // B
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // N
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // M
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // ,
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // .
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // ?
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // RightShift
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // Up
- {0, F_16, D_16, E_16}, // LeftCtrl
- {0, F_15, D_15, E_15}, // LeftWin
- {0, F_14, D_14, E_14}, // LeftAlt
- {0, F_10, D_10, E_10}, // Space
- {0, F_6, D_6, E_6}, // RightAlt
- {0, F_5, D_5, E_5}, // Fn1
- {0, F_4, D_4, E_4}, // Fn2
- {0, F_3, D_3, E_3}, // Left
- {0, F_2, D_2, E_2}, // Down
- {0, C_4, A_4, B_4} // Right
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 27, 13 },
- { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 52, 26, 28 },
- { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, __, 41, 42 },
- { 43, 44, 45, __, __, __, 46, __, __, __, 47, 48, 49, 50, 51 },
- },
- {
- // LED Index to Physical Position
- {2,0}, {20,0}, {35,0}, {50,0}, {65,0}, {80,0}, {94,0}, {109,0}, {124,0}, {139,0}, {154,0}, {168,0}, {183,0}, {224,0},
- {4,21}, {24,21}, {39,21}, {54,21}, {68,21}, {83,21}, {98,21}, {113,21}, {128,21}, {142,21}, {157,21}, {172,21}, {187,21}, {207,14}, {224,27},
- {0,43}, {17,43}, {31,43}, {46,43}, {61,43}, {76,43}, {91,43}, {105,43}, {120,43}, {135,43}, {150,43}, {165,43}, {185,43}, {205,43},
- {0,64}, {18,64}, {37,64}, {92,64}, {146,64}, {161,64}, {176,64}, {190,64}, {205,64}, {220,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
- }
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // LeftCtrl
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // LeftWin
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // LeftAlt
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // Space
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // RightAlt
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // Fn1
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // Fn2
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {0, CB3_CA4, CB1_CA4, CB2_CA4} // Right
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q9/iso/rules.mk b/keyboards/keychron/q9/iso/rules.mk
index cf31e094cb..6e7633bfe0 100644
--- a/keyboards/keychron/q9/iso/rules.mk
+++ b/keyboards/keychron/q9/iso/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/keychron/q9/iso_encoder/config.h b/keyboards/keychron/q9/iso_encoder/config.h
index 65d7ad7708..6b4a67d526 100644
--- a/keyboards/keychron/q9/iso_encoder/config.h
+++ b/keyboards/keychron/q9/iso_encoder/config.h
@@ -16,12 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 52
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 13
diff --git a/keyboards/keychron/q9/iso_encoder/info.json b/keyboards/keychron/q9/iso_encoder/info.json
index 1c74566da1..087c2f8188 100644
--- a/keyboards/keychron/q9/iso_encoder/info.json
+++ b/keyboards/keychron/q9/iso_encoder/info.json
@@ -1,28 +1,73 @@
{
- "keyboard_name": "Keychron Q9",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
- "vid": "0x3434",
- "pid": "0x0193",
- "device_version": "1.0.0"
- },
- "rgb_matrix": {
- "driver": "snled27351"
- },
- "matrix_pins": {
- "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
- "rows": ["B3", "A15", "A14", "A13"]
- },
- "diode_direction": "ROW2COL",
"encoder": {
+ "enabled": true,
"rotary": [
{"pin_a": "B4", "pin_b": "B5"}
]
},
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 0], "x": 2, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 35, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 109, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 139, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 183, "y": 0, "flags": 4},
+
+ {"matrix": [1, 0], "x": 4, "y": 21, "flags": 8},
+ {"matrix": [1, 1], "x": 24, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 83, "y": 21, "flags": 4},
+ {"matrix": [1, 6], "x": 98, "y": 21, "flags": 4},
+ {"matrix": [1, 7], "x": 113, "y": 21, "flags": 4},
+ {"matrix": [1, 8], "x": 128, "y": 21, "flags": 4},
+ {"matrix": [1, 9], "x": 142, "y": 21, "flags": 4},
+ {"matrix": [1, 10], "x": 157, "y": 21, "flags": 4},
+ {"matrix": [1, 11], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [1, 13], "x": 187, "y": 21, "flags": 4},
+ {"matrix": [0, 13], "x": 207, "y": 14, "flags": 1},
+ {"matrix": [1, 14], "x": 224, "y": 27, "flags": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
+ {"matrix": [2, 1], "x": 17, "y": 43, "flags": 4},
+ {"matrix": [2, 2], "x": 31, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 46, "y": 43, "flags": 4},
+ {"matrix": [2, 4], "x": 61, "y": 43, "flags": 4},
+ {"matrix": [2, 5], "x": 76, "y": 43, "flags": 4},
+ {"matrix": [2, 6], "x": 91, "y": 43, "flags": 4},
+ {"matrix": [2, 7], "x": 105, "y": 43, "flags": 4},
+ {"matrix": [2, 8], "x": 120, "y": 43, "flags": 4},
+ {"matrix": [2, 9], "x": 135, "y": 43, "flags": 4},
+ {"matrix": [2, 10], "x": 150, "y": 43, "flags": 4},
+ {"matrix": [2, 11], "x": 165, "y": 43, "flags": 4},
+ {"matrix": [2, 13], "x": 185, "y": 43, "flags": 1},
+ {"matrix": [2, 14], "x": 205, "y": 43, "flags": 1},
+
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [3, 1], "x": 18, "y": 64, "flags": 1},
+ {"matrix": [3, 2], "x": 37, "y": 64, "flags": 1},
+ {"matrix": [3, 6], "x": 92, "y": 64, "flags": 4},
+ {"matrix": [3, 10], "x": 146, "y": 64, "flags": 1},
+ {"matrix": [3, 11], "x": 161, "y": 64, "flags": 1},
+ {"matrix": [3, 12], "x": 176, "y": 64, "flags": 1},
+ {"matrix": [3, 13], "x": 190, "y": 64, "flags": 1},
+ {"matrix": [3, 14], "x": 205, "y": 64, "flags": 1},
+ {"matrix": [1, 12], "x": 220, "y": 64, "flags": 1}
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0193"
+ },
"layouts": {
"LAYOUT_iso_53": {
"layout": [
@@ -40,7 +85,6 @@
{"matrix": [0, 11], "x": 11.5, "y": 0},
{"matrix": [0, 12], "x": 12.5, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75},
{"matrix": [1, 1], "x": 1.75, "y": 1},
{"matrix": [1, 2], "x": 2.75, "y": 1},
@@ -56,7 +100,6 @@
{"matrix": [1, 13], "x": 12.75, "y": 1},
{"matrix": [0, 13], "x": 13.75, "y": 0, "w": 1.25, "h": 2},
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"matrix": [2, 1], "x": 1.25, "y": 2},
{"matrix": [2, 2], "x": 2.25, "y": 2},
@@ -71,7 +114,6 @@
{"matrix": [2, 11], "x": 11.25, "y": 2},
{"matrix": [2, 13], "x": 12.25, "y": 2, "w": 1.75},
{"matrix": [2, 14], "x": 14, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
{"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
@@ -85,4 +127,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/keychron/q9/iso_encoder/iso_encoder.c b/keyboards/keychron/q9/iso_encoder/iso_encoder.c
index 3a161fe9d7..1fdb4fc8cb 100644
--- a/keyboards/keychron/q9/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/q9/iso_encoder/iso_encoder.c
@@ -20,95 +20,69 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_16, J_16, K_16}, // Tab
- {0, L_15, J_15, K_15}, // Q
- {0, L_14, J_14, K_14}, // W
- {0, L_13, J_13, K_13}, // E
- {0, L_12, J_12, K_12}, // R
- {0, L_11, J_11, K_11}, // T
- {0, L_10, J_10, K_10}, // Y
- {0, L_9, J_9, K_9}, // U
- {0, L_8, J_8, K_8}, // I
- {0, L_7, J_7, K_7}, // O
- {0, L_6, J_6, K_6}, // P
- {0, L_5, J_5, K_5}, // [
- {0, L_4, J_4, K_4}, // ]
- // {0, L_2, J_2, K_2}, // Mute
+ {0, CB12_CA16, CB10_CA16, CB11_CA16}, // Tab
+ {0, CB12_CA15, CB10_CA15, CB11_CA15}, // Q
+ {0, CB12_CA14, CB10_CA14, CB11_CA14}, // W
+ {0, CB12_CA13, CB10_CA13, CB11_CA13}, // E
+ {0, CB12_CA12, CB10_CA12, CB11_CA12}, // R
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // T
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // Y
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // U
+ {0, CB12_CA8, CB10_CA8, CB11_CA8}, // I
+ {0, CB12_CA7, CB10_CA7, CB11_CA7}, // O
+ {0, CB12_CA6, CB10_CA6, CB11_CA6}, // P
+ {0, CB12_CA5, CB10_CA5, CB11_CA5}, // [
+ {0, CB12_CA4, CB10_CA4, CB11_CA4}, // ]
+ // {0, CB12_CA2, CB10_CA2, CB11_CA2}, // Mute
- {0, C_16, A_16, B_16}, // CapsLock
- {0, C_15, A_15, B_15}, // A
- {0, C_14, A_14, B_14}, // S
- {0, C_13, A_13, B_13}, // D
- {0, C_12, A_12, B_12}, // F
- {0, C_11, A_11, B_11}, // G
- {0, C_10, A_10, B_10}, // H
- {0, C_9, A_9, B_9}, // J
- {0, C_8, A_8, B_8}, // K
- {0, C_7, A_7, B_7}, // L
- {0, C_6, A_6, B_6}, // ;
- {0, C_5, A_5, B_5}, // '
- {0, C_3, A_3, B_3}, // #
- {0, L_3, J_3, K_3}, // Enter
- {0, C_2, A_2, B_2}, // Home
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // CapsLock
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // A
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // S
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // D
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // G
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // H
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // J
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // K
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // L
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // ;
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // '
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // #
+ {0, CB12_CA3, CB10_CA3, CB11_CA3}, // Enter
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // Home
- {0, I_16, G_16, H_16}, // LeftShift
- {0, I_15, G_15, H_15}, // |
- {0, I_14, G_14, H_14}, // Z
- {0, I_13, G_13, H_13}, // X
- {0, I_12, G_12, H_12}, // C
- {0, I_11, G_11, H_11}, // V
- {0, I_10, G_10, H_10}, // B
- {0, I_9, G_9, H_9}, // N
- {0, I_8, G_8, H_8}, // M
- {0, I_7, G_7, H_7}, // ,
- {0, I_6, G_6, H_6}, // .
- {0, I_5, G_5, H_5}, // ?
- {0, I_3, G_3, H_3}, // RightShift
- {0, I_2, G_2, H_2}, // Up
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // LeftShift
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // |
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Z
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // X
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // C
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // V
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // B
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // N
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // M
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // ,
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // .
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // ?
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // RightShift
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // Up
- {0, F_16, D_16, E_16}, // LeftCtrl
- {0, F_15, D_15, E_15}, // LeftWin
- {0, F_14, D_14, E_14}, // LeftAlt
- {0, F_10, D_10, E_10}, // Space
- {0, F_6, D_6, E_6}, // RightAlt
- {0, F_5, D_5, E_5}, // Fn1
- {0, F_4, D_4, E_4}, // Fn2
- {0, F_3, D_3, E_3}, // Left
- {0, F_2, D_2, E_2}, // Down
- {0, C_4, A_4, B_4} // Right
-};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 26, __ },
- { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 51, 25, 27 },
- { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, __, 40, 41 },
- { 42, 43, 44, __, __, __, 45, __, __, __, 46, 47, 48, 49, 50 },
- },
- {
- // LED Index to Physical Position
- {2,0}, {20,0}, {35,0}, {50,0}, {65,0}, {80,0}, {94,0}, {109,0}, {124,0}, {139,0}, {154,0}, {168,0}, {183,0},
- {4,21}, {24,21}, {39,21}, {54,21}, {68,21}, {83,21}, {98,21}, {113,21}, {128,21}, {142,21}, {157,21}, {172,21}, {187,21}, {207,14}, {224,27},
- {0,43}, {17,43}, {31,43}, {46,43}, {61,43}, {76,43}, {91,43}, {105,43}, {120,43}, {135,43}, {150,43}, {165,43}, {185,43}, {205,43},
- {0,64}, {18,64}, {37,64}, {92,64}, {146,64}, {161,64}, {176,64}, {190,64}, {205,64}, {220,64},
- },
- {
- // RGB LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
- }
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // LeftCtrl
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // LeftWin
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // LeftAlt
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // Space
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // RightAlt
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // Fn1
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // Fn2
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {0, CB3_CA4, CB1_CA4, CB2_CA4} // Right
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q9/iso_encoder/rules.mk b/keyboards/keychron/q9/iso_encoder/rules.mk
index ed8fd33800..7ff128fa69 100644
--- a/keyboards/keychron/q9/iso_encoder/rules.mk
+++ b/keyboards/keychron/q9/iso_encoder/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENBALE = no
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q9/q9.c b/keyboards/keychron/q9/q9.c
index 51dea886f1..d020f6ab43 100644
--- a/keyboards/keychron/q9/q9.c
+++ b/keyboards/keychron/q9/q9.c
@@ -16,13 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/q9/readme.md b/keyboards/keychron/q9/readme.md
index e2368ff758..c7641f1cf9 100644
--- a/keyboards/keychron/q9/readme.md
+++ b/keyboards/keychron/q9/readme.md
@@ -1,19 +1,27 @@
# Keychron Q9
+![Keychron Q9](https://i.imgur.com/G8xJ4TRh.jpg)
+
A customizable 40% keyboard.
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
* Hardware Supported: Keychron Q9
-* Hardware Availability: [Keychron](https://www.keychron.com)
+* Hardware Availability: [Keychron Q9 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q9-qmk-custom-mechanical-keyboard)
Make example for this keyboard (after setting up your build environment):
make keychron/q9/ansi:default
+ make keychron/q9/ansi_encoder:default
+ make keychron/q9/iso:default
+ make keychron/q9/iso_enocder:default
-Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+Flashing example for this keyboard:
make keychron/q9/ansi:default:flash
+ make keychron/q9/ansi_encoder:default:flash
+ make keychron/q9/iso:default:flash
+ make keychron/q9/iso_encoder:default:flash
-**Reset Key**: Hold down the key located at *K00*, which programmed as *Tab* while plugging in the keyboard.
+**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/keychron/q9_plus/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c
index d264334fa0..f9277d570b 100755
--- a/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c
@@ -17,69 +17,69 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_16, J_16, K_16},
- {0, L_15, J_15, K_15},
- {0, L_14, J_14, K_14},
- {0, L_13, J_13, K_13},
- {0, L_12, J_12, K_12},
- {0, L_11, J_11, K_11},
- {0, L_10, J_10, K_10},
- {0, L_9, J_9, K_9},
- {0, L_8, J_8, K_8},
- {0, L_7, J_7, K_7},
- {0, L_6, J_6, K_6},
- {0, L_5, J_5, K_5},
- {0, L_4, J_4, K_4},
- {0, L_3, J_3, K_3},
- // {0, L_2, J_2, K_2},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ // {0, CB12_CA2, CB10_CA2, CB11_CA2},
- {0, C_16, A_16, B_16},
- {0, C_15, A_15, B_15},
- {0, C_14, A_14, B_14},
- {0, C_13, A_13, B_13},
- {0, C_12, A_12, B_12},
- {0, C_11, A_11, B_11},
- {0, C_10, A_10, B_10},
- {0, C_9, A_9, B_9},
- {0, C_8, A_8, B_8},
- {0, C_7, A_7, B_7},
- {0, C_6, A_6, B_6},
- {0, C_5, A_5, B_5},
- {0, C_3, A_3, B_3},
- {0, C_2, A_2, B_2},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
- {0, I_16, G_16, H_16},
- {0, I_14, G_14, H_14},
- {0, I_13, G_13, H_13},
- {0, I_12, G_12, H_12},
- {0, I_11, G_11, H_11},
- {0, I_10, G_10, H_10},
- {0, I_9, G_9, H_9},
- {0, I_8, G_8, H_8},
- {0, I_7, G_7, H_7},
- {0, I_6, G_6, H_6},
- {0, I_5, G_5, H_5},
- {0, I_3, G_3, H_3},
- {0, I_2, G_2, H_2},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
- {0, F_16, D_16, E_16},
- {0, F_15, D_15, E_15},
- {0, F_14, D_14, E_14},
- {0, F_13, D_13, E_13},
- {0, F_10, D_10, E_10},
- {0, F_7, D_7, E_7},
- {0, F_6, D_6, E_6},
- {0, F_5, D_5, E_5},
- {0, F_4, D_4, E_4},
- {0, F_3, D_3, E_3},
- {0, F_2, D_2, E_2},
- {0, C_4, A_4, B_4},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
};
#endif
diff --git a/keyboards/keychron/q9_plus/ansi_encoder/config.h b/keyboards/keychron/q9_plus/ansi_encoder/config.h
index 1943a0fb27..7798a0e5ce 100755
--- a/keyboards/keychron/q9_plus/ansi_encoder/config.h
+++ b/keyboards/keychron/q9_plus/ansi_encoder/config.h
@@ -16,9 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define RGB_MATRIX_LED_COUNT 53
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q9_plus/config.h b/keyboards/keychron/q9_plus/config.h
index c9ef05b613..340d565490 100755
--- a/keyboards/keychron/q9_plus/config.h
+++ b/keyboards/keychron/q9_plus/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID {{ 3, 4 }}
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
@@ -36,18 +30,5 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 }
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
/* Old default behavior of mod-taps */
#define HOLD_ON_OTHER_KEY_PRESS
diff --git a/keyboards/keychron/q9_plus/info.json b/keyboards/keychron/q9_plus/info.json
index 9f8703de37..927f5094a6 100755
--- a/keyboards/keychron/q9_plus/info.json
+++ b/keyboards/keychron/q9_plus/info.json
@@ -19,6 +19,14 @@
"nkro": true,
"rgb_matrix": true
},
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [3, 4] ]
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
"rows": ["B3", "A15", "A14", "A13"]
@@ -119,6 +127,7 @@
"solid_reactive_multinexus": true,
"splash": true,
"solid_splash": true
- }
+ },
+ "sleep": true
}
}
diff --git a/keyboards/keychron/q9_plus/q9_plus.c b/keyboards/keychron/q9_plus/q9_plus.c
index 848117d323..77fd5f3cb0 100755
--- a/keyboards/keychron/q9_plus/q9_plus.c
+++ b/keyboards/keychron/q9_plus/q9_plus.c
@@ -16,13 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) {
diff --git a/keyboards/keychron/s1/ansi/rgb/config.h b/keyboards/keychron/s1/ansi/rgb/config.h
index 647a877a4c..7eea6bb476 100644
--- a/keyboards/keychron/s1/ansi/rgb/config.h
+++ b/keyboards/keychron/s1/ansi/rgb/config.h
@@ -19,68 +19,10 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48 }
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 46
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/info.json
index 6b49cb18e0..2e78ccfe42 100644
--- a/keyboards/keychron/s1/ansi/rgb/info.json
+++ b/keyboards/keychron/s1/ansi/rgb/info.json
@@ -9,7 +9,31 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "snled27351"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/s1/ansi/rgb/rgb.c b/keyboards/keychron/s1/ansi/rgb/rgb.c
index ca39b0c796..af6390f753 100644
--- a/keyboards/keychron/s1/ansi/rgb/rgb.c
+++ b/keyboards/keychron/s1/ansi/rgb/rgb.c
@@ -20,102 +20,102 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // esc
- {0, I_2, G_2, H_2}, // f1
- {0, I_3, G_3, H_3}, // f2
- {0, I_4, G_4, H_4}, // f3
- {0, I_5, G_5, H_5}, // f4
- {0, I_6, G_6, H_6}, // f4
- {0, I_7, G_7, H_7}, // f6
- {0, I_8, G_8, H_8}, // f7
- {0, I_9, G_9, H_9}, // f8
- {0, I_10, G_10, H_10}, // f9
- {0, I_11, G_11, H_11}, // f10
- {0, I_12, G_12, H_12}, // f11
- {0, I_13, G_13, H_13}, // f12
- {0, I_14, G_14, H_14}, // print
- {0, I_15, G_15, H_15}, // del
- {0, I_16, G_16, H_16}, // light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // esc
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // f1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // f2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // f3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // f4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // f4
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // f6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // f7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // f8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // f9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // f10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // f11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // f12
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // print
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // del
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // light
- {0, F_1, D_1, E_1}, // ~
- {0, F_2, D_2, E_2}, // 1!
- {0, F_3, D_3, E_3}, // 2@
- {0, F_4, D_4, E_4}, // 3#
- {0, F_5, D_5, E_5}, // 4$
- {0, F_6, D_6, E_6}, // 5%
- {0, F_7, D_7, E_7}, // 6^
- {0, F_8, D_8, E_8}, // 7&
- {0, F_9, D_9, E_9}, // 8*
- {0, F_10, D_10, E_10}, // 9(
- {0, F_11, D_11, E_11}, // 0)
- {0, F_12, D_12, E_12}, // -_
- {0, F_13, D_13, E_13}, // =+
- {0, F_14, D_14, E_14}, // back space
- {0, F_16, D_16, E_16}, // page up
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // ~
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // 1!
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // 2@
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // 3#
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // 4$
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // 5%
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // 6^
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // 7&
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // 8*
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // 9(
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // 0)
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // -_
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // =+
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // back space
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // page up
- {0, C_1, A_1, B_1}, // tab
- {0, C_2, A_2, B_2}, // q
- {0, C_3, A_3, B_3}, // w
- {0, C_4, A_4, B_4}, // e
- {0, C_5, A_5, B_5}, // r
- {0, C_6, A_6, B_6}, // t
- {0, C_7, A_7, B_7}, // y
- {0, C_8, A_8, B_8}, // u
- {0, C_9, A_9, B_9}, // i
- {0, C_10, A_10, B_10}, // o
- {0, C_11, A_11, B_11}, // p
- {0, C_12, A_12, B_12}, // [{
- {0, C_13, A_13, B_13}, // ]}
- {0, C_14, A_14, B_14}, // |
- {0, C_16, A_16, B_16}, // page down
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // tab
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // q
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // w
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // e
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // r
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // t
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // y
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // u
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // i
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // o
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // p
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // [{
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // ]}
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // |
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // page down
- {1, I_1, G_1, H_1}, // caps lock
- {1, I_2, G_2, H_2}, // a
- {1, I_3, G_3, H_3}, // s
- {1, I_4, G_4, H_4}, // d
- {1, I_5, G_5, H_5}, // f
- {1, I_6, G_6, H_6}, // g
- {1, I_7, G_7, H_7}, // h
- {1, I_8, G_8, H_8}, // j
- {1, I_9, G_9, H_9}, // k
- {1, I_10, G_10, H_10}, // l
- {1, I_11, G_11, H_11}, // ;:
- {1, I_12, G_12, H_12}, // '"
- {1, I_14, G_14, H_14}, // enter
- {1, I_16, G_16, H_16}, // home
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // caps lock
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // a
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // s
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // d
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // f
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // g
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // h
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // j
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // k
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // l
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;:
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // '"
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // enter
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // home
- {1, C_1, A_1, B_1}, // left shift
- {1, C_3, A_3, B_3}, // z
- {1, C_4, A_4, B_4}, // x
- {1, C_5, A_5, B_5}, // c
- {1, C_6, A_6, B_6}, // v
- {1, C_7, A_7, B_7}, // b
- {1, C_8, A_8, B_8}, // b
- {1, C_9, A_9, B_9}, // n
- {1, C_10, A_10, B_10}, // m
- {1, C_11, A_11, B_11}, // ,<
- {1, C_12, A_12, B_12}, // .>
- {1, C_13, A_13, B_13}, // right shift
- {1, C_14, A_14, B_14}, // up
- {1, C_16, A_16, B_16}, // end
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // left shift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // x
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // c
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // v
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // b
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // b
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // n
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // m
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // ,<
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // .>
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // right shift
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // up
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // end
- {1, F_1, D_1, E_1}, // left
- {1, F_2, D_2, E_2}, // left command
- {1, F_3, D_3, E_3}, // left optin
- {1, F_7, D_7, E_7}, // space
- {1, F_10, D_10, E_10}, // right command
- {1, F_11, D_11, E_11}, // fn
- {1, F_12, D_12, E_12}, // right ctrl
- {1, F_13, D_13, E_13}, // left
- {1, F_14, D_14, E_14}, // down
- {1, F_16, D_16, E_16}, // right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // left command
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // left optin
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // right command
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // fn
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // right ctrl
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // left
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // down
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // right
};
#define __ NO_LED
diff --git a/keyboards/keychron/s1/ansi/white/config.h b/keyboards/keychron/s1/ansi/white/config.h
index fbe02caeb1..9aedc6b47f 100644
--- a/keyboards/keychron/s1/ansi/white/config.h
+++ b/keyboards/keychron/s1/ansi/white/config.h
@@ -18,48 +18,10 @@
/* LED Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 84
-#define LED_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 } // 250mA
// { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 } // 127mA
-/* Disable LED lighting when PC is in suspend */
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 46
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-#define ENABLE_LED_MATRIX_NONE
-#define ENABLE_LED_MATRIX_SOLID // Static single val, no speed support
-// #define ENABLE_LED_MATRIX_ALPHAS_MODS // Static dual val, speed is val for LEDs marked as modifiers
-#define ENABLE_LED_MATRIX_BREATHING // Cycling brightness animation
-// #define ENABLE_LED_MATRIX_BAND // Band fading brightness scrolling left to right
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL // 3 blade spinning pinwheel fades brightness
-#define ENABLE_LED_MATRIX_BAND_SPIRAL // Spinning spiral fades brightness
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#define ENABLE_LED_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES)
-#define LED_MATRIX_KEYPRESSES
-#define LED_MATRIX_KEYRELEASES
-
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE // Value pulses near a single key hit then fades out
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE // Value pulses near multiple key hits then fades out
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS // Value pulses the same column and row of a single key hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS // Value pulses the same column and row of multiple key hits then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS // Value pulses away on the same column and row of a single key hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out
-#define ENABLE_LED_MATRIX_SOLID_SPLASH // Value pulses away from a single key hit then fades out
-#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH // Value pulses away from multiple key hits then fades out
-// #endif
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT // Sine wave scrolling from left to right
-#define ENBALE_LED_MATRIX_WAVE_UP_DOWN // Sine wave scrolling from up to down
-// #define ENABLE_LED_MATRIX_EFFECT_MAX
diff --git a/keyboards/keychron/s1/ansi/white/info.json b/keyboards/keychron/s1/ansi/white/info.json
index bcd64eea59..0e20c9ebe6 100644
--- a/keyboards/keychron/s1/ansi/white/info.json
+++ b/keyboards/keychron/s1/ansi/white/info.json
@@ -9,7 +9,31 @@
"device_version": "1.0.0"
},
"led_matrix": {
- "driver": "snled27351"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "snled27351",
+ "sleep": true,
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/s1/ansi/white/white.c b/keyboards/keychron/s1/ansi/white/white.c
index b3a49ae9eb..69623863d1 100644
--- a/keyboards/keychron/s1/ansi/white/white.c
+++ b/keyboards/keychron/s1/ansi/white/white.c
@@ -20,100 +20,100 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | LED address
* | | */
- {0, F_1}, // esc
- {0, F_2}, // f1
- {0, F_3}, // f2
- {0, F_4}, // f3
- {0, F_5}, // f4
- {0, F_6}, // f4
- {0, F_7}, // f6
- {0, F_8}, // f7
- {0, F_9}, // f8
- {0, F_10}, // f9
- {0, F_11}, // f10
- {0, F_12}, // f11
- {0, F_13}, // f12
- {0, F_14}, // print
- {0, F_15}, // del
- {0, F_16}, // light
+ {0, CB6_CA1}, // esc
+ {0, CB6_CA2}, // f1
+ {0, CB6_CA3}, // f2
+ {0, CB6_CA4}, // f3
+ {0, CB6_CA5}, // f4
+ {0, CB6_CA6}, // f4
+ {0, CB6_CA7}, // f6
+ {0, CB6_CA8}, // f7
+ {0, CB6_CA9}, // f8
+ {0, CB6_CA10}, // f9
+ {0, CB6_CA11}, // f10
+ {0, CB6_CA12}, // f11
+ {0, CB6_CA13}, // f12
+ {0, CB6_CA14}, // print
+ {0, CB6_CA15}, // del
+ {0, CB6_CA16}, // light
- {0, E_1}, // ~
- {0, E_2}, // 1!
- {0, E_3}, // 2@
- {0, E_4}, // 3#
- {0, E_5}, // 4$
- {0, E_6}, // 5%
- {0, E_7}, // 6^
- {0, E_8}, // 7&
- {0, E_9}, // 8*
- {0, E_10}, // 9(
- {0, E_11}, // 0)
- {0, E_12}, // -_
- {0, E_13}, // =+
- {0, E_14}, // back space
- {0, E_16}, // page up
+ {0, CB5_CA1}, // ~
+ {0, CB5_CA2}, // 1!
+ {0, CB5_CA3}, // 2@
+ {0, CB5_CA4}, // 3#
+ {0, CB5_CA5}, // 4$
+ {0, CB5_CA6}, // 5%
+ {0, CB5_CA7}, // 6^
+ {0, CB5_CA8}, // 7&
+ {0, CB5_CA9}, // 8*
+ {0, CB5_CA10}, // 9(
+ {0, CB5_CA11}, // 0)
+ {0, CB5_CA12}, // -_
+ {0, CB5_CA13}, // =+
+ {0, CB5_CA14}, // back space
+ {0, CB5_CA16}, // page up
- {0, D_1}, // tab
- {0, D_2}, // q
- {0, D_3}, // w
- {0, D_4}, // e
- {0, D_5}, // r
- {0, D_6}, // t
- {0, D_7}, // y
- {0, D_8}, // u
- {0, D_9}, // i
- {0, D_10}, // o
- {0, D_11}, // p
- {0, D_12}, // [{
- {0, D_13}, // ]}
- {0, D_14}, // |
- {0, D_16}, // page down
+ {0, CB4_CA1}, // tab
+ {0, CB4_CA2}, // q
+ {0, CB4_CA3}, // w
+ {0, CB4_CA4}, // e
+ {0, CB4_CA5}, // r
+ {0, CB4_CA6}, // t
+ {0, CB4_CA7}, // y
+ {0, CB4_CA8}, // u
+ {0, CB4_CA9}, // i
+ {0, CB4_CA10}, // o
+ {0, CB4_CA11}, // p
+ {0, CB4_CA12}, // [{
+ {0, CB4_CA13}, // ]}
+ {0, CB4_CA14}, // |
+ {0, CB4_CA16}, // page down
- {0, C_1}, // caps lock
- {0, C_2}, // a
- {0, C_3}, // s
- {0, C_4}, // d
- {0, C_5}, // f
- {0, C_6}, // g
- {0, C_7}, // h
- {0, C_8}, // j
- {0, C_9}, // k
- {0, C_10}, // l
- {0, C_11}, // ;:
- {0, C_12}, // '"
- {0, C_14}, // enter
- {0, C_16}, // home
+ {0, CB3_CA1}, // caps lock
+ {0, CB3_CA2}, // a
+ {0, CB3_CA3}, // s
+ {0, CB3_CA4}, // d
+ {0, CB3_CA5}, // f
+ {0, CB3_CA6}, // g
+ {0, CB3_CA7}, // h
+ {0, CB3_CA8}, // j
+ {0, CB3_CA9}, // k
+ {0, CB3_CA10}, // l
+ {0, CB3_CA11}, // ;:
+ {0, CB3_CA12}, // '"
+ {0, CB3_CA14}, // enter
+ {0, CB3_CA16}, // home
- {0, B_1}, // left shift
- {0, B_3}, // z
- {0, B_4}, // x
- {0, B_5}, // c
- {0, B_6}, // v
- {0, B_7}, // b
- {0, B_8}, // b
- {0, B_9}, // n
- {0, B_10}, // m
- {0, B_11}, // ,<
- {0, B_12}, // .>
- {0, B_13}, // right shift
- {0, B_14}, // up
- {0, B_16}, // end
+ {0, CB2_CA1}, // left shift
+ {0, CB2_CA3}, // z
+ {0, CB2_CA4}, // x
+ {0, CB2_CA5}, // c
+ {0, CB2_CA6}, // v
+ {0, CB2_CA7}, // b
+ {0, CB2_CA8}, // b
+ {0, CB2_CA9}, // n
+ {0, CB2_CA10}, // m
+ {0, CB2_CA11}, // ,<
+ {0, CB2_CA12}, // .>
+ {0, CB2_CA13}, // right shift
+ {0, CB2_CA14}, // up
+ {0, CB2_CA16}, // end
- {0, A_1}, // left
- {0, A_2}, // left command
- {0, A_3}, // left optin
- {0, A_7}, // space
- {0, A_10}, // right command
- {0, A_11}, // fn
- {0, A_12}, // right ctrl
- {0, A_13}, // left
- {0, A_14}, // down
- {0, A_16}, // right
+ {0, CB1_CA1}, // left
+ {0, CB1_CA2}, // left command
+ {0, CB1_CA3}, // left optin
+ {0, CB1_CA7}, // space
+ {0, CB1_CA10}, // right command
+ {0, CB1_CA11}, // fn
+ {0, CB1_CA12}, // right ctrl
+ {0, CB1_CA13}, // left
+ {0, CB1_CA14}, // down
+ {0, CB1_CA16}, // right
};
#define __ NO_LED
diff --git a/keyboards/keychron/s1/config.h b/keyboards/keychron/s1/config.h
index 8c98389522..014faffb92 100644
--- a/keyboards/keychron/s1/config.h
+++ b/keyboards/keychron/s1/config.h
@@ -16,16 +16,6 @@
#pragma once
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5,4} }
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U
#define I2C1_TIMINGR_SCLDEL 3U
diff --git a/keyboards/keychron/s1/info.json b/keyboards/keychron/s1/info.json
new file mode 100644
index 0000000000..c490aeeb28
--- /dev/null
+++ b/keyboards/keychron/s1/info.json
@@ -0,0 +1,10 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ }
+}
diff --git a/keyboards/keychron/s1/s1.c b/keyboards/keychron/s1/s1.c
index d8488dd6ea..2f1b905505 100644
--- a/keyboards/keychron/s1/s1.c
+++ b/keyboards/keychron/s1/s1.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v1/ansi/ansi.c b/keyboards/keychron/v1/ansi/ansi.c
index ed8a6ed1af..a78d5dd4d7 100644
--- a/keyboards/keychron/v1/ansi/ansi.c
+++ b/keyboards/keychron/v1/ansi/ansi.c
@@ -20,100 +20,100 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/ansi/config.h b/keyboards/keychron/v1/ansi/config.h
index 5d10cae886..2040fa3862 100644
--- a/keyboards/keychron/v1/ansi/config.h
+++ b/keyboards/keychron/v1/ansi/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 37
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 }
diff --git a/keyboards/keychron/v1/ansi/info.json b/keyboards/keychron/v1/ansi/info.json
index 34fdd6ac31..db2526e244 100644
--- a/keyboards/keychron/v1/ansi/info.json
+++ b/keyboards/keychron/v1/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0310",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c
index ed8a6ed1af..a78d5dd4d7 100644
--- a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c
@@ -20,100 +20,100 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/ansi_encoder/config.h b/keyboards/keychron/v1/ansi_encoder/config.h
index ea0733eeaf..242e94583b 100644
--- a/keyboards/keychron/v1/ansi_encoder/config.h
+++ b/keyboards/keychron/v1/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 37
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 }
diff --git a/keyboards/keychron/v1/ansi_encoder/info.json b/keyboards/keychron/v1/ansi_encoder/info.json
index 43e07609ae..621010039d 100644
--- a/keyboards/keychron/v1/ansi_encoder/info.json
+++ b/keyboards/keychron/v1/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0311",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v1/config.h b/keyboards/keychron/v1/config.h
index e5b6805859..80e01e0291 100644
--- a/keyboards/keychron/v1/config.h
+++ b/keyboards/keychron/v1/config.h
@@ -25,12 +25,6 @@
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5,4} }
-
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
@@ -43,62 +37,3 @@
#define I2C1_TIMINGR_SCLL 51U
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/v1/info.json b/keyboards/keychron/v1/info.json
new file mode 100644
index 0000000000..94a45db562
--- /dev/null
+++ b/keyboards/keychron/v1/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v1/iso/config.h b/keyboards/keychron/v1/iso/config.h
index acb35ac7ac..e10bd258ae 100644
--- a/keyboards/keychron/v1/iso/config.h
+++ b/keyboards/keychron/v1/iso/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 }
diff --git a/keyboards/keychron/v1/iso/info.json b/keyboards/keychron/v1/iso/info.json
index 6dbf50a931..9047aa2bb2 100644
--- a/keyboards/keychron/v1/iso/info.json
+++ b/keyboards/keychron/v1/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0312",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v1/iso/iso.c b/keyboards/keychron/v1/iso/iso.c
index 00909c85e3..a1095dcc92 100644
--- a/keyboards/keychron/v1/iso/iso.c
+++ b/keyboards/keychron/v1/iso/iso.c
@@ -20,101 +20,101 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/iso_encoder/config.h b/keyboards/keychron/v1/iso_encoder/config.h
index 1a928cd9b7..e5ac7f3fb4 100644
--- a/keyboards/keychron/v1/iso_encoder/config.h
+++ b/keyboards/keychron/v1/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50, 0xA6, 0xA6, 0x50 }
diff --git a/keyboards/keychron/v1/iso_encoder/info.json b/keyboards/keychron/v1/iso_encoder/info.json
index 1f009ac0c7..557585f82d 100644
--- a/keyboards/keychron/v1/iso_encoder/info.json
+++ b/keyboards/keychron/v1/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0313",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v1/iso_encoder/iso_encoder.c b/keyboards/keychron/v1/iso_encoder/iso_encoder.c
index 00909c85e3..a1095dcc92 100644
--- a/keyboards/keychron/v1/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v1/iso_encoder/iso_encoder.c
@@ -20,101 +20,101 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_7, A_7, B_7},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/jis/config.h b/keyboards/keychron/v1/jis/config.h
index ef778528fe..3e719e3704 100644
--- a/keyboards/keychron/v1/jis/config.h
+++ b/keyboards/keychron/v1/jis/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D }
diff --git a/keyboards/keychron/v1/jis/info.json b/keyboards/keychron/v1/jis/info.json
index 28425b5b50..1678c93c66 100644
--- a/keyboards/keychron/v1/jis/info.json
+++ b/keyboards/keychron/v1/jis/info.json
@@ -8,9 +8,6 @@
"pid": "0x0314",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v1/jis/jis.c b/keyboards/keychron/v1/jis/jis.c
index 6bc647656d..d3b3f9aa90 100644
--- a/keyboards/keychron/v1/jis/jis.c
+++ b/keyboards/keychron/v1/jis/jis.c
@@ -20,104 +20,104 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_7, A_7, B_7},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/jis_encoder/config.h b/keyboards/keychron/v1/jis_encoder/config.h
index 25db44a84c..5709f1ba2e 100644
--- a/keyboards/keychron/v1/jis_encoder/config.h
+++ b/keyboards/keychron/v1/jis_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D, 0xA0, 0xA0, 0x4D }
diff --git a/keyboards/keychron/v1/jis_encoder/info.json b/keyboards/keychron/v1/jis_encoder/info.json
index 018f154537..7064bcdd55 100644
--- a/keyboards/keychron/v1/jis_encoder/info.json
+++ b/keyboards/keychron/v1/jis_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0315",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v1/jis_encoder/jis_encoder.c b/keyboards/keychron/v1/jis_encoder/jis_encoder.c
index 6bc647656d..d3b3f9aa90 100644
--- a/keyboards/keychron/v1/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/v1/jis_encoder/jis_encoder.c
@@ -20,104 +20,104 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, F_1, D_1, E_1},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_5, D_5, E_5},
- {1, F_6, D_6, E_6},
- {1, F_7, D_7, E_7},
- {1, F_8, D_8, E_8},
- {1, F_9, D_9, E_9},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_7, A_7, B_7},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v1/v1.c b/keyboards/keychron/v1/v1.c
index 79c5919174..7f93b37bcc 100644
--- a/keyboards/keychron/v1/v1.c
+++ b/keyboards/keychron/v1/v1.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c
index 8b787aad18..7a58d4deef 100644
--- a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c
@@ -20,106 +20,106 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_2, A_2, B_2}, // ESC
- {0, C_3, A_3, B_3}, // F1
- {0, C_4, A_4, B_4}, // F2
- {0, C_5, A_5, B_5}, // F3
- {0, C_6, A_6, B_6}, // F4
- {0, C_7, A_7, B_7}, // F5
- {0, C_8, A_8, B_8}, // F6
- {0, C_9, A_9, B_9}, // F7
- {0, C_10, A_10, B_10}, // F8
- {0, C_11, A_11, B_11}, // F9
- {0, C_12, A_12, B_12}, // F10
- {0, C_13, A_13, B_13}, // F11
- {0, C_14, A_14, B_14}, // F12
- {0, C_15, A_15, B_15}, // INS
- {0, C_16, A_16, B_16}, // DEL
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // ESC
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // F1
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // F2
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // F3
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // F4
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // F5
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // F6
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // F7
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // F8
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // F9
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F10
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // F11
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // F12
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // INS
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // DEL
- {0, I_1, G_1, H_1}, // M1
- {0, I_2, G_2, H_2}, // `~
- {0, I_3, G_3, H_3}, // 1!
- {0, I_4, G_4, H_4}, // 2@
- {0, I_5, G_5, H_5}, // 3#
- {0, I_6, G_6, H_6}, // 4$
- {0, I_7, G_7, H_7}, // 5%
- {0, I_8, G_8, H_8}, // 6^
- {0, I_9, G_9, H_9}, // 7&
- {0, I_10, G_10, H_10}, // 8*
- {0, I_11, G_11, H_11}, // 9(
- {0, I_12, G_12, H_12}, // 0)
- {0, I_13, G_13, H_13}, // -_
- {0, I_14, G_14, H_14}, // =+
- {0, I_15, G_15, H_15}, // BackSpace
- {0, I_16, G_16, H_16}, // PgUp
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // M1
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // `~
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // 1!
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // 2@
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // 3#
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // 4$
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // 5%
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // 6^
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // 7&
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // 8*
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // 9(
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // 0)
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // -_
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // =+
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // BackSpace
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // PgUp
- {0, F_1, D_1, E_1}, // M2
- {0, F_2, D_2, E_2}, // TAB
- {0, F_3, D_3, E_3}, // Q
- {0, F_4, D_4, E_4}, // W
- {0, F_5, D_5, E_5}, // E
- {0, F_6, D_6, E_6}, // R
- {0, F_7, D_7, E_7}, // T
- {0, F_8, D_8, E_8}, // Y
- {0, F_9, D_9, E_9}, // U
- {0, F_10, D_10, E_10}, // I
- {0, F_11, D_11, E_11}, // O
- {0, F_12, D_12, E_12}, // P
- {0, F_13, D_13, E_13}, // [
- {0, F_14, D_14, E_14}, // ]
- {0, F_15, D_15, E_15}, // |
- {0, F_16, D_16, E_16}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // M2
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // TAB
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Q
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // W
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // E
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // R
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // T
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // Y
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // U
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // I
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // O
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // P
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // [
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // ]
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // |
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // PgDn
- {1, C_16, A_16, B_16}, // M3
- {1, C_15, A_15, B_15}, // CapsLock
- {1, C_14, A_14, B_14}, // A
- {1, C_13, A_13, B_13}, // S
- {1, C_12, A_12, B_12}, // D
- {1, C_11, A_11, B_11}, // F
- {1, C_10, A_10, B_10}, // G
- {1, C_8, A_8, B_8}, // H
- {1, C_7, A_7, B_7}, // J
- {1, C_6, A_6, B_6}, // K
- {1, C_5, A_5, B_5}, // L
- {1, C_4, A_4, B_4}, // ;
- {1, C_3, A_3, B_3}, // '
- {1, C_2, A_2, B_2}, // Enter
- {1, C_1, A_1, B_1}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // M3
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // CapsLock
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // A
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // S
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // D
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // F
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // G
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // H
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // J
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // K
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // L
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // ;
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // '
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // Enter
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // Home
- {1, I_16, G_16, H_16}, // M4
- {1, I_15, G_15, H_15}, // Shift_L
- {1, I_13, G_13, H_13}, // Z
- {1, I_12, G_12, H_12}, // X
- {1, I_11, G_11, H_11}, // C
- {1, I_10, G_10, H_10}, // V
- {1, I_9, G_9, H_9}, // B
- {1, I_8, G_8, H_8}, // B
- {1, I_7, G_7, H_7}, // N
- {1, I_6, G_6, H_6}, // M
- {1, I_5, G_5, H_5}, // ,
- {1, I_4, G_4, H_4}, // .
- {1, I_3, G_3, H_3}, // ?
- {1, I_2, G_2, H_2}, // Shift_R
- {1, I_1, G_1, H_1}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // M4
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Shift_L
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Z
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // X
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // C
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // V
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // B
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // B
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // N
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // M
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // ,
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // .
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ?
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // Shift_R
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Up
- {1, F_16, D_16, E_16}, // M5
- {1, F_15, D_15, E_15}, // Ctrl_L
- {1, F_14, D_14, E_14}, // Win_L
- {1, F_13, D_13, E_13}, // Alt_L
- {1, F_12, D_12, E_12}, // Space
- {1, F_9, D_9, E_9}, // Fn
- {1, F_8, D_8, E_8}, // Space
- {1, F_7, D_7, E_7}, // Alt_R
- {1, F_3, D_3, E_3}, // Left
- {1, F_2, D_2, E_2}, // Down
- {1, F_1, D_1, E_1}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // M5
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Ctrl_L
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // Win_L
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Alt_L
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Space
+ {1, CB6_CA9, CB4_CA9, CB5_CA9}, // Fn
+ {1, CB6_CA8, CB4_CA8, CB5_CA8}, // Space
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Alt_R
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/v10/ansi_encoder/config.h b/keyboards/keychron/v10/ansi_encoder/config.h
index 8b5595e4d6..78b48be217 100644
--- a/keyboards/keychron/v10/ansi_encoder/config.h
+++ b/keyboards/keychron/v10/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 47
-#define DRIVER_2_LED_TOTAL 41
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v10/ansi_encoder/info.json b/keyboards/keychron/v10/ansi_encoder/info.json
index a416601d02..6cbc00a7f6 100644
--- a/keyboards/keychron/v10/ansi_encoder/info.json
+++ b/keyboards/keychron/v10/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x03A1",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v10/config.h b/keyboards/keychron/v10/config.h
index d643049c03..c084c4d47d 100644
--- a/keyboards/keychron/v10/config.h
+++ b/keyboards/keychron/v10/config.h
@@ -43,68 +43,3 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE { 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5,5} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/v10/info.json b/keyboards/keychron/v10/info.json
new file mode 100644
index 0000000000..636ef2d9a2
--- /dev/null
+++ b/keyboards/keychron/v10/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 5] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v10/iso_encoder/config.h b/keyboards/keychron/v10/iso_encoder/config.h
index 75706949d6..66f54a1f14 100644
--- a/keyboards/keychron/v10/iso_encoder/config.h
+++ b/keyboards/keychron/v10/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 47
-#define DRIVER_2_LED_TOTAL 42
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v10/iso_encoder/info.json b/keyboards/keychron/v10/iso_encoder/info.json
index 4c6b6580e0..30763236ba 100644
--- a/keyboards/keychron/v10/iso_encoder/info.json
+++ b/keyboards/keychron/v10/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x03A3",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v10/iso_encoder/iso_encoder.c b/keyboards/keychron/v10/iso_encoder/iso_encoder.c
index f7e0a10470..359646b542 100644
--- a/keyboards/keychron/v10/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v10/iso_encoder/iso_encoder.c
@@ -20,107 +20,107 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_2, A_2, B_2}, // ESC
- {0, C_3, A_3, B_3}, // F1
- {0, C_4, A_4, B_4}, // F2
- {0, C_5, A_5, B_5}, // F3
- {0, C_6, A_6, B_6}, // F4
- {0, C_7, A_7, B_7}, // F5
- {0, C_8, A_8, B_8}, // F6
- {0, C_9, A_9, B_9}, // F7
- {0, C_10, A_10, B_10}, // F8
- {0, C_11, A_11, B_11}, // F9
- {0, C_12, A_12, B_12}, // F10
- {0, C_13, A_13, B_13}, // F11
- {0, C_14, A_14, B_14}, // F12
- {0, C_15, A_15, B_15}, // INS
- {0, C_16, A_16, B_16}, // DEL
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // ESC
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // F1
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // F2
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // F3
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // F4
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // F5
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // F6
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // F7
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // F8
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // F9
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // F10
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // F11
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // F12
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // INS
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // DEL
- {0, I_1, G_1, H_1}, // M1
- {0, I_2, G_2, H_2}, // `~
- {0, I_3, G_3, H_3}, // 1!
- {0, I_4, G_4, H_4}, // 2@
- {0, I_5, G_5, H_5}, // 3#
- {0, I_6, G_6, H_6}, // 4$
- {0, I_7, G_7, H_7}, // 5%
- {0, I_8, G_8, H_8}, // 6^
- {0, I_9, G_9, H_9}, // 7&
- {0, I_10, G_10, H_10}, // 8*
- {0, I_11, G_11, H_11}, // 9(
- {0, I_12, G_12, H_12}, // 0)
- {0, I_13, G_13, H_13}, // -_
- {0, I_14, G_14, H_14}, // =+
- {0, I_15, G_15, H_15}, // BackSpace
- {0, I_16, G_16, H_16}, // PgUp
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // M1
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // `~
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // 1!
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // 2@
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // 3#
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // 4$
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // 5%
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // 6^
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // 7&
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // 8*
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // 9(
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // 0)
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // -_
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // =+
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // BackSpace
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // PgUp
- {0, F_1, D_1, E_1}, // M2
- {0, F_2, D_2, E_2}, // TAB
- {0, F_3, D_3, E_3}, // Q
- {0, F_4, D_4, E_4}, // W
- {0, F_5, D_5, E_5}, // E
- {0, F_6, D_6, E_6}, // R
- {0, F_7, D_7, E_7}, // T
- {0, F_8, D_8, E_8}, // Y
- {0, F_9, D_9, E_9}, // U
- {0, F_10, D_10, E_10}, // I
- {0, F_11, D_11, E_11}, // O
- {0, F_12, D_12, E_12}, // P
- {0, F_13, D_13, E_13}, // [
- {0, F_14, D_14, E_14}, // ]
- {0, F_16, D_16, E_16}, // PgDn
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // M2
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // TAB
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // Q
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // W
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // E
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // R
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // T
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // Y
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // U
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // I
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // O
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // P
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // [
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // ]
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // PgDn
- {1, C_16, A_16, B_16}, // M3
- {1, C_15, A_15, B_15}, // CapsLock
- {1, C_14, A_14, B_14}, // A
- {1, C_13, A_13, B_13}, // S
- {1, C_12, A_12, B_12}, // D
- {1, C_11, A_11, B_11}, // F
- {1, C_10, A_10, B_10}, // G
- {1, C_8, A_8, B_8}, // H
- {1, C_7, A_7, B_7}, // J
- {1, C_6, A_6, B_6}, // K
- {1, C_5, A_5, B_5}, // L
- {1, C_4, A_4, B_4}, // ;
- {1, C_3, A_3, B_3}, // '
- {0, F_15, D_15, E_15}, // |
- {1, C_2, A_2, B_2}, // Enter
- {1, C_1, A_1, B_1}, // Home
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // M3
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // CapsLock
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // A
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // S
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // D
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // F
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // G
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // H
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // J
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // K
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // L
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // ;
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // '
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // |
+ {1, CB3_CA2, CB1_CA2, CB2_CA2}, // Enter
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // Home
- {1, I_16, G_16, H_16}, // M4
- {1, I_15, G_15, H_15}, // Shift_L
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13}, // Z
- {1, I_12, G_12, H_12}, // X
- {1, I_11, G_11, H_11}, // C
- {1, I_10, G_10, H_10}, // V
- {1, I_9, G_9, H_9}, // B
- {1, I_8, G_8, H_8}, // B
- {1, I_7, G_7, H_7}, // N
- {1, I_6, G_6, H_6}, // M
- {1, I_5, G_5, H_5}, // ,
- {1, I_4, G_4, H_4}, // .
- {1, I_3, G_3, H_3}, // ?
- {1, I_2, G_2, H_2}, // Shift_R
- {1, I_1, G_1, H_1}, // Up
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // M4
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Shift_L
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Z
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // X
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // C
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // V
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // B
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // B
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // N
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // M
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // ,
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // .
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // ?
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // Shift_R
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Up
- {1, F_16, D_16, E_16}, // M5
- {1, F_15, D_15, E_15}, // Ctrl_L
- {1, F_14, D_14, E_14}, // Win_L
- {1, F_13, D_13, E_13}, // Alt_L
- {1, F_12, D_12, E_12}, // Space
- {1, F_9, D_9, E_9}, // Fn
- {1, F_8, D_8, E_8}, // Space
- {1, F_7, D_7, E_7}, // Alt_R
- {1, F_3, D_3, E_3}, // Left
- {1, F_2, D_2, E_2}, // Down
- {1, F_1, D_1, E_1}, // Right
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // M5
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Ctrl_L
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // Win_L
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Alt_L
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // Space
+ {1, CB6_CA9, CB4_CA9, CB5_CA9}, // Fn
+ {1, CB6_CA8, CB4_CA8, CB5_CA8}, // Space
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Alt_R
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // Left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right
};
#define __ NO_LED
diff --git a/keyboards/keychron/v10/v10.c b/keyboards/keychron/v10/v10.c
index 2e1e3f090f..1bde388544 100644
--- a/keyboards/keychron/v10/v10.c
+++ b/keyboards/keychron/v10/v10.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111011111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v2/ansi/ansi.c b/keyboards/keychron/v2/ansi/ansi.c
index d98a96fdf9..722aa27b47 100644
--- a/keyboards/keychron/v2/ansi/ansi.c
+++ b/keyboards/keychron/v2/ansi/ansi.c
@@ -20,84 +20,84 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/ansi/config.h b/keyboards/keychron/v2/ansi/config.h
index 094038d5b3..6ca7d7fb08 100644
--- a/keyboards/keychron/v2/ansi/config.h
+++ b/keyboards/keychron/v2/ansi/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 34
-#define DRIVER_2_LED_TOTAL 33
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60 }
diff --git a/keyboards/keychron/v2/ansi/info.json b/keyboards/keychron/v2/ansi/info.json
index 3b54b90201..528d437829 100644
--- a/keyboards/keychron/v2/ansi/info.json
+++ b/keyboards/keychron/v2/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0320",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c
index 64153d4251..6203483285 100644
--- a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c
@@ -20,84 +20,84 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/ansi_encoder/config.h b/keyboards/keychron/v2/ansi_encoder/config.h
index 6ee6d1e7c6..61c6d709bf 100644
--- a/keyboards/keychron/v2/ansi_encoder/config.h
+++ b/keyboards/keychron/v2/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 34
-#define DRIVER_2_LED_TOTAL 33
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v2/ansi_encoder/info.json b/keyboards/keychron/v2/ansi_encoder/info.json
index f1998272e9..42efdae984 100644
--- a/keyboards/keychron/v2/ansi_encoder/info.json
+++ b/keyboards/keychron/v2/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0321",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/config.h b/keyboards/keychron/v2/config.h
index 7efbf8c549..1cbc2e49af 100644
--- a/keyboards/keychron/v2/config.h
+++ b/keyboards/keychron/v2/config.h
@@ -32,69 +32,4 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/v2/info.json b/keyboards/keychron/v2/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/v2/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v2/iso/config.h b/keyboards/keychron/v2/iso/config.h
index b952607d83..7a10ce6d65 100644
--- a/keyboards/keychron/v2/iso/config.h
+++ b/keyboards/keychron/v2/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 34
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29
diff --git a/keyboards/keychron/v2/iso/info.json b/keyboards/keychron/v2/iso/info.json
index cfc5ef3c5b..171407e75f 100644
--- a/keyboards/keychron/v2/iso/info.json
+++ b/keyboards/keychron/v2/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0322",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso/iso.c b/keyboards/keychron/v2/iso/iso.c
index 37cac7337d..aca0879838 100644
--- a/keyboards/keychron/v2/iso/iso.c
+++ b/keyboards/keychron/v2/iso/iso.c
@@ -20,85 +20,85 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/iso_encoder/config.h b/keyboards/keychron/v2/iso_encoder/config.h
index f69d683453..6b4cafa361 100644
--- a/keyboards/keychron/v2/iso_encoder/config.h
+++ b/keyboards/keychron/v2/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 34
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v2/iso_encoder/info.json b/keyboards/keychron/v2/iso_encoder/info.json
index d5f630a3c3..75a8bf1f1f 100644
--- a/keyboards/keychron/v2/iso_encoder/info.json
+++ b/keyboards/keychron/v2/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0323",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso_encoder/iso_encoder.c b/keyboards/keychron/v2/iso_encoder/iso_encoder.c
index 37cac7337d..aca0879838 100644
--- a/keyboards/keychron/v2/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v2/iso_encoder/iso_encoder.c
@@ -20,85 +20,85 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/jis/config.h b/keyboards/keychron/v2/jis/config.h
index 1b3fd5a27a..4400cbf252 100644
--- a/keyboards/keychron/v2/jis/config.h
+++ b/keyboards/keychron/v2/jis/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D }
diff --git a/keyboards/keychron/v2/jis/info.json b/keyboards/keychron/v2/jis/info.json
index 124cb0ecc6..64058d4c13 100644
--- a/keyboards/keychron/v2/jis/info.json
+++ b/keyboards/keychron/v2/jis/info.json
@@ -8,9 +8,6 @@
"pid": "0x0324",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis/jis.c b/keyboards/keychron/v2/jis/jis.c
index 42285e56ca..1269d9b1e6 100644
--- a/keyboards/keychron/v2/jis/jis.c
+++ b/keyboards/keychron/v2/jis/jis.c
@@ -18,88 +18,88 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/jis_encoder/config.h b/keyboards/keychron/v2/jis_encoder/config.h
index aacac818a4..2723c4e09c 100644
--- a/keyboards/keychron/v2/jis_encoder/config.h
+++ b/keyboards/keychron/v2/jis_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D, 0xBD, 0xBD, 0x5D }
diff --git a/keyboards/keychron/v2/jis_encoder/info.json b/keyboards/keychron/v2/jis_encoder/info.json
index d3df93819f..12fadfec73 100644
--- a/keyboards/keychron/v2/jis_encoder/info.json
+++ b/keyboards/keychron/v2/jis_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0325",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis_encoder/jis_encoder.c b/keyboards/keychron/v2/jis_encoder/jis_encoder.c
index 5ccbb807cb..85aaf165f6 100644
--- a/keyboards/keychron/v2/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/v2/jis_encoder/jis_encoder.c
@@ -18,88 +18,88 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_13, A_13, B_13},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_4, D_4, E_4},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16}
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v2/v2.c b/keyboards/keychron/v2/v2.c
index 7703c280df..f2aed82fa9 100644
--- a/keyboards/keychron/v2/v2.c
+++ b/keyboards/keychron/v2/v2.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v3/ansi/ansi.c b/keyboards/keychron/v3/ansi/ansi.c
index 16d6b77131..7c47678619 100644
--- a/keyboards/keychron/v3/ansi/ansi.c
+++ b/keyboards/keychron/v3/ansi/ansi.c
@@ -18,105 +18,105 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v3/ansi/config.h b/keyboards/keychron/v3/ansi/config.h
index ba64aa96da..8dea820916 100644
--- a/keyboards/keychron/v3/ansi/config.h
+++ b/keyboards/keychron/v3/ansi/config.h
@@ -25,11 +25,6 @@
/* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 48
-#define DRIVER_2_LED_TOTAL 39
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0x95, 0x95, 0x55, 0x95, 0x95, 0x55, 0x95, 0x95, 0x55, 0x95, 0x95, 0x55 }
diff --git a/keyboards/keychron/v3/ansi/info.json b/keyboards/keychron/v3/ansi/info.json
index 49792690a7..f01b2394a7 100644
--- a/keyboards/keychron/v3/ansi/info.json
+++ b/keyboards/keychron/v3/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0330",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c
index 39fa354539..d85708937a 100644
--- a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- // {0, I_14, G_14, H_14}, // Encoder
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ // {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Encoder
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v3/ansi_encoder/config.h b/keyboards/keychron/v3/ansi_encoder/config.h
index 6310f181a0..9f2de455b4 100644
--- a/keyboards/keychron/v3/ansi_encoder/config.h
+++ b/keyboards/keychron/v3/ansi_encoder/config.h
@@ -22,11 +22,6 @@
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 48
-#define DRIVER_2_LED_TOTAL 39
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v3/ansi_encoder/info.json b/keyboards/keychron/v3/ansi_encoder/info.json
index ad46ae7a62..2fc194fecc 100644
--- a/keyboards/keychron/v3/ansi_encoder/info.json
+++ b/keyboards/keychron/v3/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0331",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v3/config.h b/keyboards/keychron/v3/config.h
index d3e02d8f81..bfefedfac7 100644
--- a/keyboards/keychron/v3/config.h
+++ b/keyboards/keychron/v3/config.h
@@ -31,68 +31,3 @@
#define I2C1_TIMINGR_SCLL 51U
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/v3/info.json b/keyboards/keychron/v3/info.json
new file mode 100644
index 0000000000..94a45db562
--- /dev/null
+++ b/keyboards/keychron/v3/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v3/iso/config.h b/keyboards/keychron/v3/iso/config.h
index ca0a03a710..9ec20f6743 100644
--- a/keyboards/keychron/v3/iso/config.h
+++ b/keyboards/keychron/v3/iso/config.h
@@ -25,10 +25,5 @@
/* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 48
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 49
diff --git a/keyboards/keychron/v3/iso/info.json b/keyboards/keychron/v3/iso/info.json
index 56796b5eb2..f57ccbd7d0 100644
--- a/keyboards/keychron/v3/iso/info.json
+++ b/keyboards/keychron/v3/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0332",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v3/iso/iso.c b/keyboards/keychron/v3/iso/iso.c
index 24b406467a..83798392c6 100644
--- a/keyboards/keychron/v3/iso/iso.c
+++ b/keyboards/keychron/v3/iso/iso.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v3/iso_encoder/config.h b/keyboards/keychron/v3/iso_encoder/config.h
index 7033a2093a..1769ffd4d2 100644
--- a/keyboards/keychron/v3/iso_encoder/config.h
+++ b/keyboards/keychron/v3/iso_encoder/config.h
@@ -22,11 +22,6 @@
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 48
-#define DRIVER_2_LED_TOTAL 40
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v3/iso_encoder/info.json b/keyboards/keychron/v3/iso_encoder/info.json
index 057e4a8d7d..1edb29a741 100644
--- a/keyboards/keychron/v3/iso_encoder/info.json
+++ b/keyboards/keychron/v3/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0333",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v3/iso_encoder/iso_encoder.c b/keyboards/keychron/v3/iso_encoder/iso_encoder.c
index 53fe99aac0..ef0567dbe1 100644
--- a/keyboards/keychron/v3/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v3/iso_encoder/iso_encoder.c
@@ -18,106 +18,106 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {1, I_16, G_16, H_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {1, I_13, G_13, H_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
- {1, I_1, G_1, H_1},
- {1, I_2, G_2, H_2},
- {1, I_3, G_3, H_3},
- {1, I_4, G_4, H_4},
- {1, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
- {1, C_15, A_15, B_15},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v3/jis/config.h b/keyboards/keychron/v3/jis/config.h
index 10c77c74f0..802a70b646 100644
--- a/keyboards/keychron/v3/jis/config.h
+++ b/keyboards/keychron/v3/jis/config.h
@@ -25,11 +25,6 @@
/* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 48
-#define DRIVER_2_LED_TOTAL 43
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
diff --git a/keyboards/keychron/v3/jis/info.json b/keyboards/keychron/v3/jis/info.json
index d5601a3b34..cce7372c31 100644
--- a/keyboards/keychron/v3/jis/info.json
+++ b/keyboards/keychron/v3/jis/info.json
@@ -8,9 +8,6 @@
"pid": "0x0334",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v3/jis/jis.c b/keyboards/keychron/v3/jis/jis.c
index 70dbf812fa..c04827dc5d 100644
--- a/keyboards/keychron/v3/jis/jis.c
+++ b/keyboards/keychron/v3/jis/jis.c
@@ -18,109 +18,109 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // ESC
- {0, I_2, G_2, H_2}, // F1
- {0, I_3, G_3, H_3}, // F2
- {0, I_4, G_4, H_4}, // F3
- {0, I_5, G_5, H_5}, // F4
- {0, I_6, G_6, H_6}, // F5
- {0, I_7, G_7, H_7}, // F6
- {0, I_8, G_8, H_8}, // F7
- {0, I_9, G_9, H_9}, // F8
- {0, I_10, G_10, H_10}, // F9
- {0, I_11, G_11, H_11}, // F10
- {0, I_12, G_12, H_12}, // F11
- {0, I_13, G_13, H_13}, // F12
- {0, I_15, G_15, H_15}, // Print
- {0, I_16, G_16, H_16}, // Cortana
- {1, I_15, G_15, H_15}, // Light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // ESC
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // F4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F5
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F12
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // Print
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // Cortana
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Light
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9()
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, C_14, A_14, B_14}, // /
- {0, I_14, G_14, H_14}, // Backspace
- {0, C_15, A_15, B_15}, // Ins
- {0, C_16, A_16, B_16}, // Home
- {1, I_16, G_16, H_16}, // Page Up
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9()
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // /
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Backspace
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // Ins
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Home
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // Page Up
- {0, F_1, D_1, E_1}, // tab
- {0, F_2, D_2, E_2}, // Q
- {0, F_3, D_3, E_3}, // W
- {0, F_4, D_4, E_4}, // E
- {0, F_5, D_5, E_5}, // R
- {0, F_6, D_6, E_6}, // T
- {0, F_7, D_7, E_7}, // Y
- {0, F_8, D_8, E_8}, // U
- {0, F_9, D_9, E_9}, // I
- {0, F_10, D_10, E_10}, // O
- {0, F_11, D_11, E_11}, // P
- {0, F_12, D_12, E_12}, // [{
- {0, F_13, D_13, E_13}, // }}
- {0, F_15, D_15, E_15}, // Del
- {0, F_16, D_16, E_16}, // End
- {1, I_13, G_13, H_13}, // Page Down
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // tab
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Q
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // W
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // E
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // R
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // T
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // Y
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // U
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // I
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // O
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // P
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // [{
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // }}
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // Del
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // End
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Page Down
- {1, I_1, G_1, H_1}, // Cpas
- {1, I_2, G_2, H_2}, // A
- {1, I_3, G_3, H_3}, // S
- {1, I_4, G_4, H_4}, // D
- {1, I_5, G_5, H_5}, // F
- {1, I_6, G_6, H_6}, // G
- {1, I_7, G_7, H_7}, // H
- {1, I_8, G_8, H_8}, // J
- {1, I_9, G_9, H_9}, // K
- {1, I_10, G_10, H_10}, // L
- {1, I_11, G_11, H_11}, // ;
- {1, I_12, G_12, H_12}, // :
- {1, I_14, G_14, H_14}, // #~
- {0, F_14, D_14, E_14}, // Enter
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Cpas
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // A
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // S
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // D
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // F
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // G
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // H
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // J
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // K
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // L
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // :
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // #~
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // Enter
- {1, C_1, A_1, B_1}, // LShift
- {1, C_3, A_3, B_3}, // Z
- {1, C_4, A_4, B_4}, // X
- {1, C_5, A_5, B_5}, // C
- {1, C_6, A_6, B_6}, // V
- {1, C_7, A_7, B_7}, // B
- {1, C_8, A_8, B_8}, // N
- {1, C_9, A_9, B_9}, // M
- {1, C_10, A_10, B_10}, // ,<
- {1, C_11, A_11, B_11}, // .>
- {1, C_12, A_12, B_12}, // /?
- {1, C_13, A_13, B_13}, // |
- {1, C_14, A_14, B_14}, // RShift
- {1, C_16, A_16, B_16}, // Up
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // LShift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // Z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // X
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // C
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // V
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // B
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // N
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // M
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // ,<
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // .>
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // /?
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // |
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // RShift
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // Up
- {1, F_1, D_1, E_1}, // LCtrl
- {1, F_2, D_2, E_2}, // LWin
- {1, F_3, D_3, E_3}, // LAlt
- {1, F_4, D_4, E_4}, // NUm
- {1, F_7, D_7, E_7}, // Space
- {1, F_10, D_10, E_10}, // Jap
- {1, F_11, D_11, E_11}, // RAlt
- {1, F_12, D_12, E_12}, // RWin
- {1, F_13, D_13, E_13}, // Fn
- {1, F_14, D_14, E_14}, // RCtrl
- {1, F_15, D_15, E_15}, // Left
- {1, F_16, D_16, E_16}, // Down
- {1, C_15, A_15, B_15}, // Right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // LCtrl
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // LWin
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // LAlt
+ {1, CB6_CA4, CB4_CA4, CB5_CA4}, // NUm
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Jap
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // RAlt
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // RWin
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Fn
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // RCtrl
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Left
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right
};
# define __ NO_LED
diff --git a/keyboards/keychron/v3/jis_encoder/config.h b/keyboards/keychron/v3/jis_encoder/config.h
index 27f37cbed4..37684f0b6f 100644
--- a/keyboards/keychron/v3/jis_encoder/config.h
+++ b/keyboards/keychron/v3/jis_encoder/config.h
@@ -22,11 +22,6 @@
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 49
-#define DRIVER_2_LED_TOTAL 43
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
#define SNLED27351_CURRENT_TUNE \
{ 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44, 0x94, 0x94, 0x44 }
diff --git a/keyboards/keychron/v3/jis_encoder/info.json b/keyboards/keychron/v3/jis_encoder/info.json
index 968c0396e9..f9a9202eb0 100644
--- a/keyboards/keychron/v3/jis_encoder/info.json
+++ b/keyboards/keychron/v3/jis_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0335",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "A10", "pin_b": "A8"}
diff --git a/keyboards/keychron/v3/jis_encoder/jis_encoder.c b/keyboards/keychron/v3/jis_encoder/jis_encoder.c
index cf1065eed9..bf2018d86f 100644
--- a/keyboards/keychron/v3/jis_encoder/jis_encoder.c
+++ b/keyboards/keychron/v3/jis_encoder/jis_encoder.c
@@ -18,110 +18,110 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // ESC
- {0, I_2, G_2, H_2}, // F1
- {0, I_3, G_3, H_3}, // F2
- {0, I_4, G_4, H_4}, // F3
- {0, I_5, G_5, H_5}, // F4
- {0, I_6, G_6, H_6}, // F5
- {0, I_7, G_7, H_7}, // F6
- {0, I_8, G_8, H_8}, // F7
- {0, I_9, G_9, H_9}, // F8
- {0, I_10, G_10, H_10}, // F9
- {0, I_11, G_11, H_11}, // F10
- {0, I_12, G_12, H_12}, // F11
- {0, I_13, G_13, H_13}, // F12
- {0, I_14, G_14, H_14}, // Mute
- {0, I_15, G_15, H_15}, // Print
- {0, I_16, G_16, H_16}, // Cortana
- {1, I_15, G_15, H_15}, // Light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // ESC
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // F1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // F2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // F3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // F4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // F5
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // F6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // F7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // F8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // F9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // F10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // F11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // F12
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // Mute
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // Print
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // Cortana
+ {1, CB9_CA15, CB7_CA15, CB8_CA15}, // Light
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9()
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, C_14, A_14, B_14}, // |
- {1, F_6, D_6, E_6}, // Backspace
- {0, C_15, A_15, B_15}, // Ins
- {0, C_16, A_16, B_16}, // Home
- {1, I_16, G_16, H_16}, // Page Up
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9()
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // |
+ {1, CB6_CA6, CB4_CA6, CB5_CA6}, // Backspace
+ {0, CB3_CA15, CB1_CA15, CB2_CA15}, // Ins
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Home
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // Page Up
- {0, F_1, D_1, E_1}, // tab
- {0, F_2, D_2, E_2}, // Q
- {0, F_3, D_3, E_3}, // W
- {0, F_4, D_4, E_4}, // E
- {0, F_5, D_5, E_5}, // R
- {0, F_6, D_6, E_6}, // T
- {0, F_7, D_7, E_7}, // Y
- {0, F_8, D_8, E_8}, // U
- {0, F_9, D_9, E_9}, // I
- {0, F_10, D_10, E_10}, // O
- {0, F_11, D_11, E_11}, // P
- {0, F_12, D_12, E_12}, // [{
- {0, F_13, D_13, E_13}, // }}
- {0, F_15, D_15, E_15}, // Del
- {0, F_16, D_16, E_16}, // End
- {1, I_13, G_13, H_13}, // Page Down
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // tab
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // Q
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // W
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // E
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // R
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // T
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // Y
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // U
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // I
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // O
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // P
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // [{
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // }}
+ {0, CB6_CA15, CB4_CA15, CB5_CA15}, // Del
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // End
+ {1, CB9_CA13, CB7_CA13, CB8_CA13}, // Page Down
- {1, I_1, G_1, H_1}, // Cpas
- {1, I_2, G_2, H_2}, // A
- {1, I_3, G_3, H_3}, // S
- {1, I_4, G_4, H_4}, // D
- {1, I_5, G_5, H_5}, // F
- {1, I_6, G_6, H_6}, // G
- {1, I_7, G_7, H_7}, // H
- {1, I_8, G_8, H_8}, // J
- {1, I_9, G_9, H_9}, // K
- {1, I_10, G_10, H_10}, // L
- {1, I_11, G_11, H_11}, // ;
- {1, I_12, G_12, H_12}, // :
- {1, I_14, G_14, H_14}, // #~
- {0, F_14, D_14, E_14}, // Enter
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // Cpas
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // A
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // S
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // D
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // F
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // G
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // H
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // J
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // K
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // L
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // :
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // #~
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // Enter
- {1, C_1, A_1, B_1}, // LShift
- {1, C_3, A_3, B_3}, // Z
- {1, C_4, A_4, B_4}, // X
- {1, C_5, A_5, B_5}, // C
- {1, C_6, A_6, B_6}, // V
- {1, C_7, A_7, B_7}, // B
- {1, C_8, A_8, B_8}, // N
- {1, C_9, A_9, B_9}, // M
- {1, C_10, A_10, B_10}, // ,<
- {1, C_11, A_11, B_11}, // .>
- {1, C_12, A_12, B_12}, // /?
- {1, C_13, A_13, B_13}, // |
- {1, C_14, A_14, B_14}, // RShift
- {1, C_16, A_16, B_16}, // Up
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // LShift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // Z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // X
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // C
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // V
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // B
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // N
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // M
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // ,<
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // .>
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // /?
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // |
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // RShift
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // Up
- {1, F_1, D_1, E_1}, // LCtrl
- {1, F_2, D_2, E_2}, // LWin
- {1, F_3, D_3, E_3}, // LAlt
- {1, F_4, D_4, E_4}, // NUm
- {1, F_7, D_7, E_7}, // Space
- {1, F_10, D_10, E_10}, // Jap
- {1, F_11, D_11, E_11}, // RAlt
- {1, F_12, D_12, E_12}, // RWin
- {1, F_13, D_13, E_13}, // Fn
- {1, F_14, D_14, E_14}, // RCtrl
- {1, F_15, D_15, E_15}, // Left
- {1, F_16, D_16, E_16}, // Down
- {1, C_15, A_15, B_15}, // Right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // LCtrl
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // LWin
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // LAlt
+ {1, CB6_CA4, CB4_CA4, CB5_CA4}, // NUm
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // Space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // Jap
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // RAlt
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // RWin
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // Fn
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // RCtrl
+ {1, CB6_CA15, CB4_CA15, CB5_CA15}, // Left
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down
+ {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right
};
# define __ NO_LED
diff --git a/keyboards/keychron/v3/v3.c b/keyboards/keychron/v3/v3.c
index 17ea8f0e97..4452556ca6 100644
--- a/keyboards/keychron/v3/v3.c
+++ b/keyboards/keychron/v3/v3.c
@@ -16,19 +16,6 @@
#include "quantum.h"
-// clang-format off
-
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
-// clang-format on
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v4/ansi/ansi.c b/keyboards/keychron/v4/ansi/ansi.c
index 6326405380..7368144c8d 100644
--- a/keyboards/keychron/v4/ansi/ansi.c
+++ b/keyboards/keychron/v4/ansi/ansi.c
@@ -20,78 +20,78 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_14, G_14, H_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
- {0, L_1, J_1, K_1},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
+ {0, CB12_CA1, CB10_CA1, CB11_CA1},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v4/ansi/config.h b/keyboards/keychron/v4/ansi/config.h
index 3cbec72387..bc4da81922 100644
--- a/keyboards/keychron/v4/ansi/config.h
+++ b/keyboards/keychron/v4/ansi/config.h
@@ -16,9 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 61
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
/* Enable CapsLcok LED*/
#define CAPS_LOCK_LED_INDEX 28
diff --git a/keyboards/keychron/v4/ansi/info.json b/keyboards/keychron/v4/ansi/info.json
index 5fad0ca9b1..a8b980ddd6 100644
--- a/keyboards/keychron/v4/ansi/info.json
+++ b/keyboards/keychron/v4/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0340",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/config.h b/keyboards/keychron/v4/config.h
index 8325317c27..04a5779dd9 100644
--- a/keyboards/keychron/v4/config.h
+++ b/keyboards/keychron/v4/config.h
@@ -29,69 +29,4 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xD0, 0xD0, 0x60, 0xD0, 0xD0, 0x60, 0xD0, 0xD0, 0x60, 0xD0, 0xD0, 0x60 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/v4/info.json b/keyboards/keychron/v4/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/v4/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v4/iso/config.h b/keyboards/keychron/v4/iso/config.h
index db18729155..2486473b2b 100644
--- a/keyboards/keychron/v4/iso/config.h
+++ b/keyboards/keychron/v4/iso/config.h
@@ -16,9 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 62
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
/* Enable CapsLcok LED*/
#define CAPS_LOCK_LED_INDEX 27
diff --git a/keyboards/keychron/v4/iso/info.json b/keyboards/keychron/v4/iso/info.json
index a53d3ee6a4..81153c3621 100644
--- a/keyboards/keychron/v4/iso/info.json
+++ b/keyboards/keychron/v4/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0342",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/iso/iso.c b/keyboards/keychron/v4/iso/iso.c
index 9116135a4a..dc6a0f44d0 100644
--- a/keyboards/keychron/v4/iso/iso.c
+++ b/keyboards/keychron/v4/iso/iso.c
@@ -20,79 +20,79 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
- {0, L_1, J_1, K_1},
- {0, L_2, J_2, K_2},
- {0, L_3, J_3, K_3},
- {0, L_4, J_4, K_4},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_14, J_14, K_14},
+ {0, CB12_CA1, CB10_CA1, CB11_CA1},
+ {0, CB12_CA2, CB10_CA2, CB11_CA2},
+ {0, CB12_CA3, CB10_CA3, CB11_CA3},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v4/v4.c b/keyboards/keychron/v4/v4.c
index 402eadf2d7..d020f6ab43 100644
--- a/keyboards/keychron/v4/v4.c
+++ b/keyboards/keychron/v4/v4.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111111111,
- 0b11111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v5/ansi/ansi.c b/keyboards/keychron/v5/ansi/ansi.c
index 073fb0cde0..b38d5f508f 100644
--- a/keyboards/keychron/v5/ansi/ansi.c
+++ b/keyboards/keychron/v5/ansi/ansi.c
@@ -20,118 +20,118 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v5/ansi/config.h b/keyboards/keychron/v5/ansi/config.h
index 7985d43901..ac52268497 100644
--- a/keyboards/keychron/v5/ansi/config.h
+++ b/keyboards/keychron/v5/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 55
-#define DRIVER_2_LED_TOTAL 45
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 54
diff --git a/keyboards/keychron/v5/ansi/info.json b/keyboards/keychron/v5/ansi/info.json
index eb5cdca90b..2f2e33fecd 100644
--- a/keyboards/keychron/v5/ansi/info.json
+++ b/keyboards/keychron/v5/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0350",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c
index 62ebc3f7b3..bc68731d7d 100644
--- a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c
@@ -20,118 +20,118 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- // {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- // {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ // {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ // {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v5/ansi_encoder/config.h b/keyboards/keychron/v5/ansi_encoder/config.h
index 6ce87e63ab..c0648d56b2 100644
--- a/keyboards/keychron/v5/ansi_encoder/config.h
+++ b/keyboards/keychron/v5/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 53
-#define DRIVER_2_LED_TOTAL 45
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v5/ansi_encoder/info.json b/keyboards/keychron/v5/ansi_encoder/info.json
index 00079fca47..1ed410eb7b 100644
--- a/keyboards/keychron/v5/ansi_encoder/info.json
+++ b/keyboards/keychron/v5/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0351",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
diff --git a/keyboards/keychron/v5/config.h b/keyboards/keychron/v5/config.h
index 8c4128a43e..622c9efe6c 100644
--- a/keyboards/keychron/v5/config.h
+++ b/keyboards/keychron/v5/config.h
@@ -38,68 +38,3 @@
#define SNLED27351_CURRENT_TUNE \
{ 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56 }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/v5/info.json b/keyboards/keychron/v5/info.json
new file mode 100644
index 0000000000..94a45db562
--- /dev/null
+++ b/keyboards/keychron/v5/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v5/iso/config.h b/keyboards/keychron/v5/iso/config.h
index 5074f47a8f..9080227018 100644
--- a/keyboards/keychron/v5/iso/config.h
+++ b/keyboards/keychron/v5/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 55
-#define DRIVER_2_LED_TOTAL 46
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 53
diff --git a/keyboards/keychron/v5/iso/info.json b/keyboards/keychron/v5/iso/info.json
index badac7f49a..522730b268 100644
--- a/keyboards/keychron/v5/iso/info.json
+++ b/keyboards/keychron/v5/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0352",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v5/iso/iso.c b/keyboards/keychron/v5/iso/iso.c
index 1552de7d47..d8f5ae329c 100644
--- a/keyboards/keychron/v5/iso/iso.c
+++ b/keyboards/keychron/v5/iso/iso.c
@@ -20,119 +20,119 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v5/iso_encoder/config.h b/keyboards/keychron/v5/iso_encoder/config.h
index dab565612e..bfaeff971d 100644
--- a/keyboards/keychron/v5/iso_encoder/config.h
+++ b/keyboards/keychron/v5/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 53
-#define DRIVER_2_LED_TOTAL 46
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v5/iso_encoder/info.json b/keyboards/keychron/v5/iso_encoder/info.json
index cbf77fc93a..2d4cf28cd1 100644
--- a/keyboards/keychron/v5/iso_encoder/info.json
+++ b/keyboards/keychron/v5/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0353",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"encoder": {
"rotary": [
{"pin_a": "C14", "pin_b": "A2"}
diff --git a/keyboards/keychron/v5/iso_encoder/iso_encoder.c b/keyboards/keychron/v5/iso_encoder/iso_encoder.c
index 95eb62ae1f..2d2a458577 100644
--- a/keyboards/keychron/v5/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v5/iso_encoder/iso_encoder.c
@@ -20,117 +20,117 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
- {0, L_14, J_14, K_14},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
- {0, C_1, A_1, B_1}, // `~
- {0, C_2, A_2, B_2}, // 1!
- {0, C_3, A_3, B_3}, // 2@
- {0, C_4, A_4, B_4}, // 3#
- {0, C_5, A_5, B_5}, // 4$
- {0, C_6, A_6, B_6}, // 5%
- {0, C_7, A_7, B_7}, // 6^
- {0, C_8, A_8, B_8}, // 7&
- {0, C_9, A_9, B_9}, // 8*
- {0, C_10, A_10, B_10}, // 9(
- {0, C_11, A_11, B_11}, // 0)
- {0, C_12, A_12, B_12}, // -_
- {0, C_13, A_13, B_13}, // =+
- {0, C_14, A_14, B_14}, // BackSpace
- {0, C_16, A_16, B_16}, // Numlock
- {0, L_9, J_9, K_9}, // /
- {0, L_10, J_10, K_10}, // *
- {0, L_11, J_11, K_11}, // -
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // `~
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // 1!
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // 2@
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // 3#
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // 4$
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // 5%
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // 6^
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // 7&
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // 8*
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // 9(
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // 0)
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // -_
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // =+
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // BackSpace
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // Numlock
+ {0, CB12_CA9, CB10_CA9, CB11_CA9}, // /
+ {0, CB12_CA10, CB10_CA10, CB11_CA10}, // *
+ {0, CB12_CA11, CB10_CA11, CB11_CA11}, // -
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_15, J_15, K_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {0, L_16, J_16, K_16},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
- {1, L_5, J_5, K_5},
- {1, L_6, J_6, K_6},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_1, J_1, K_1},
- {1, L_2, J_2, K_2},
- {1, L_7, J_7, K_7}
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v5/v5.c b/keyboards/keychron/v5/v5.c
index 6d87524b23..050ea18c0c 100644
--- a/keyboards/keychron/v5/v5.c
+++ b/keyboards/keychron/v5/v5.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111111111,
- 0b111111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v6/ansi/ansi.c b/keyboards/keychron/v6/ansi/ansi.c
index a3f1032a1e..2e055e57af 100644
--- a/keyboards/keychron/v6/ansi/ansi.c
+++ b/keyboards/keychron/v6/ansi/ansi.c
@@ -18,126 +18,126 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v6/ansi/config.h b/keyboards/keychron/v6/ansi/config.h
index fa9d7e48b3..7f175792df 100644
--- a/keyboards/keychron/v6/ansi/config.h
+++ b/keyboards/keychron/v6/ansi/config.h
@@ -29,11 +29,6 @@
/* Pin used index start of 74HC595 */
#define PIN_START_74HC595 11
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 48
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED*/
#define CAPS_LOCK_LED_INDEX 61
diff --git a/keyboards/keychron/v6/ansi/info.json b/keyboards/keychron/v6/ansi/info.json
index 3eee229ea8..8b2cc055a8 100644
--- a/keyboards/keychron/v6/ansi/info.json
+++ b/keyboards/keychron/v6/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0360",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"processor": "STM32L432",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c
index 02e0de0b3d..1ebf947912 100644
--- a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c
@@ -20,126 +20,126 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v6/ansi_encoder/config.h b/keyboards/keychron/v6/ansi_encoder/config.h
index 0d8d843d2f..748fb4e72e 100644
--- a/keyboards/keychron/v6/ansi_encoder/config.h
+++ b/keyboards/keychron/v6/ansi_encoder/config.h
@@ -31,11 +31,6 @@
/* Pin used index start of 74HC595 */
#define PIN_START_74HC595 10
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 48
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v6/config.h b/keyboards/keychron/v6/config.h
index eb2296a172..eabfbf2640 100644
--- a/keyboards/keychron/v6/config.h
+++ b/keyboards/keychron/v6/config.h
@@ -32,69 +32,3 @@
/* Limit the maximum brigtness current of colour white to 500mA */
#define SNLED27351_CURRENT_TUNE { 0xA8, 0xA8, 0x48, 0xA8, 0xA8, 0x48, 0xA8, 0xA8, 0x48, 0xA8, 0xA8, 0x48 }
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5, 4} }
-#define SCAN_COUNT_MAX 100
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/v6/info.json b/keyboards/keychron/v6/info.json
new file mode 100644
index 0000000000..94a45db562
--- /dev/null
+++ b/keyboards/keychron/v6/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v6/iso/config.h b/keyboards/keychron/v6/iso/config.h
index 0a9528d03b..f47c2a08fc 100644
--- a/keyboards/keychron/v6/iso/config.h
+++ b/keyboards/keychron/v6/iso/config.h
@@ -29,11 +29,6 @@
/* Pin used index start of 74HC595 */
#define PIN_START_74HC595 11
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 49
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED*/
#define CAPS_LOCK_LED_INDEX 60
diff --git a/keyboards/keychron/v6/iso/iso.c b/keyboards/keychron/v6/iso/iso.c
index 7804ca3600..cc9dbd8c23 100644
--- a/keyboards/keychron/v6/iso/iso.c
+++ b/keyboards/keychron/v6/iso/iso.c
@@ -20,127 +20,127 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v6/iso_encoder/config.h b/keyboards/keychron/v6/iso_encoder/config.h
index 6e8069f7ec..d638be34cc 100644
--- a/keyboards/keychron/v6/iso_encoder/config.h
+++ b/keyboards/keychron/v6/iso_encoder/config.h
@@ -31,11 +31,6 @@
/* Pin used index start of 74HC595 */
#define PIN_START_74HC595 10
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 60
-#define DRIVER_2_LED_TOTAL 49
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v6/iso_encoder/iso_encoder.c b/keyboards/keychron/v6/iso_encoder/iso_encoder.c
index bd9189f8b5..f1a8e18acf 100644
--- a/keyboards/keychron/v6/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v6/iso_encoder/iso_encoder.c
@@ -20,127 +20,127 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_15, G_15, H_15},
- {0, I_16, G_16, H_16},
- {0, L_5, J_5, K_5},
- {0, L_6, J_6, K_6},
- {0, L_7, J_7, K_7},
- {0, L_8, J_8, K_8},
- {0, L_4, J_4, K_4},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
+ {0, CB9_CA16, CB7_CA16, CB8_CA16},
+ {0, CB12_CA5, CB10_CA5, CB11_CA5},
+ {0, CB12_CA6, CB10_CA6, CB11_CA6},
+ {0, CB12_CA7, CB10_CA7, CB11_CA7},
+ {0, CB12_CA8, CB10_CA8, CB11_CA8},
+ {0, CB12_CA4, CB10_CA4, CB11_CA4},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
- {0, L_9, J_9, K_9},
- {0, L_10, J_10, K_10},
- {0, L_11, J_11, K_11},
- {0, L_12, J_12, K_12},
- {0, L_13, J_13, K_13},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
+ {0, CB12_CA9, CB10_CA9, CB11_CA9},
+ {0, CB12_CA10, CB10_CA10, CB11_CA10},
+ {0, CB12_CA11, CB10_CA11, CB11_CA11},
+ {0, CB12_CA12, CB10_CA12, CB11_CA12},
+ {0, CB12_CA13, CB10_CA13, CB11_CA13},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
- {0, L_14, J_14, K_14},
- {0, L_15, J_15, K_15},
- {0, L_16, J_16, K_16},
- {1, L_1, J_1, K_1},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
+ {0, CB12_CA14, CB10_CA14, CB11_CA14},
+ {0, CB12_CA15, CB10_CA15, CB11_CA15},
+ {0, CB12_CA16, CB10_CA16, CB11_CA16},
+ {1, CB12_CA1, CB10_CA1, CB11_CA1},
- {1, C_16, A_16, B_16},
- {1, C_15, A_15, B_15},
- {1, C_14, A_14, B_14},
- {1, C_13, A_13, B_13},
- {1, C_12, A_12, B_12},
- {1, C_11, A_11, B_11},
- {1, C_10, A_10, B_10},
- {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_3, A_3, B_3},
- {0, F_14, D_14, E_14},
- {1, L_3, J_3, K_3},
- {1, L_4, J_4, K_4},
- {1, L_5, J_5, K_5},
- {1, L_2, J_2, K_2},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA13, CB1_CA13, CB2_CA13},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB12_CA3, CB10_CA3, CB11_CA3},
+ {1, CB12_CA4, CB10_CA4, CB11_CA4},
+ {1, CB12_CA5, CB10_CA5, CB11_CA5},
+ {1, CB12_CA2, CB10_CA2, CB11_CA2},
- {1, I_16, G_16, H_16},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_3, G_3, H_3},
- {1, I_1, G_1, H_1},
- {1, L_6, J_6, K_6},
- {1, L_7, J_7, K_7},
- {1, L_8, J_8, K_8},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
+ {1, CB12_CA6, CB10_CA6, CB11_CA6},
+ {1, CB12_CA7, CB10_CA7, CB11_CA7},
+ {1, CB12_CA8, CB10_CA8, CB11_CA8},
- {1, F_16, D_16, E_16},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_10, D_10, E_10},
- {1, F_6, D_6, E_6},
- {1, F_5, D_5, E_5},
- {1, F_4, D_4, E_4},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1},
- {1, L_10, J_10, K_10},
- {1, L_11, J_11, K_11},
- {1, L_12, J_12, K_12},
- {1, L_9, J_9, K_9},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA5, CB4_CA5, CB5_CA5},
+ {1, CB6_CA4, CB4_CA4, CB5_CA4},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB12_CA10, CB10_CA10, CB11_CA10},
+ {1, CB12_CA11, CB10_CA11, CB11_CA11},
+ {1, CB12_CA12, CB10_CA12, CB11_CA12},
+ {1, CB12_CA9, CB10_CA9, CB11_CA9},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v6/v6.c b/keyboards/keychron/v6/v6.c
index 0f9305d2d0..8aeab5e952 100644
--- a/keyboards/keychron/v6/v6.c
+++ b/keyboards/keychron/v6/v6.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111111111,
- 0b11111111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v7/ansi/ansi.c b/keyboards/keychron/v7/ansi/ansi.c
index 07a98622a4..4d0bedff09 100644
--- a/keyboards/keychron/v7/ansi/ansi.c
+++ b/keyboards/keychron/v7/ansi/ansi.c
@@ -20,89 +20,89 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {1, I_15, G_15, H_15},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v7/ansi/config.h b/keyboards/keychron/v7/ansi/config.h
index 277e505e06..e36809251a 100644
--- a/keyboards/keychron/v7/ansi/config.h
+++ b/keyboards/keychron/v7/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 37
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 32
diff --git a/keyboards/keychron/v7/ansi/info.json b/keyboards/keychron/v7/ansi/info.json
index 4088a20ced..ea01b3ff39 100644
--- a/keyboards/keychron/v7/ansi/info.json
+++ b/keyboards/keychron/v7/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0370",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/config.h b/keyboards/keychron/v7/config.h
index cff96774e3..849535d67f 100644
--- a/keyboards/keychron/v7/config.h
+++ b/keyboards/keychron/v7/config.h
@@ -30,69 +30,4 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE { 0xFC, 0xFC, 0x70, 0xFC, 0xFC, 0x70, 0xFC, 0xFC, 0x70, 0xFC, 0xFC, 0x70 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4,4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/v7/info.json b/keyboards/keychron/v7/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/v7/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v7/iso/config.h b/keyboards/keychron/v7/iso/config.h
index e9da747ab1..824548a694 100644
--- a/keyboards/keychron/v7/iso/config.h
+++ b/keyboards/keychron/v7/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 37
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 31
diff --git a/keyboards/keychron/v7/iso/info.json b/keyboards/keychron/v7/iso/info.json
index 97588498ed..e241232d06 100644
--- a/keyboards/keychron/v7/iso/info.json
+++ b/keyboards/keychron/v7/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0372",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/iso/iso.c b/keyboards/keychron/v7/iso/iso.c
index a35dcb2092..cdd2d97209 100644
--- a/keyboards/keychron/v7/iso/iso.c
+++ b/keyboards/keychron/v7/iso/iso.c
@@ -20,90 +20,90 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {0, C_6, A_6, B_6},
- {0, C_7, A_7, B_7},
- {0, C_8, A_8, B_8},
- {0, C_9, A_9, B_9},
- {0, C_10, A_10, B_10},
- {0, C_11, A_11, B_11},
- {0, C_12, A_12, B_12},
- {0, C_13, A_13, B_13},
- {0, C_14, A_14, B_14},
- {0, C_15, A_15, B_15},
- {0, C_16, A_16, B_16},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {0, CB3_CA6, CB1_CA6, CB2_CA6},
+ {0, CB3_CA7, CB1_CA7, CB2_CA7},
+ {0, CB3_CA8, CB1_CA8, CB2_CA8},
+ {0, CB3_CA9, CB1_CA9, CB2_CA9},
+ {0, CB3_CA10, CB1_CA10, CB2_CA10},
+ {0, CB3_CA11, CB1_CA11, CB2_CA11},
+ {0, CB3_CA12, CB1_CA12, CB2_CA12},
+ {0, CB3_CA13, CB1_CA13, CB2_CA13},
+ {0, CB3_CA14, CB1_CA14, CB2_CA14},
+ {0, CB3_CA15, CB1_CA15, CB2_CA15},
+ {0, CB3_CA16, CB1_CA16, CB2_CA16},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
- {0, F_16, D_16, E_16},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
+ {0, CB6_CA16, CB4_CA16, CB5_CA16},
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {1, I_6, G_6, H_6},
- {1, I_7, G_7, H_7},
- {1, I_8, G_8, H_8},
- {1, I_9, G_9, H_9},
- {1, I_10, G_10, H_10},
- {1, I_11, G_11, H_11},
- {1, I_12, G_12, H_12},
- {1, I_14, G_14, H_14},
- {0, F_14, D_14, E_14},
- {1, I_15, G_15, H_15},
- {1, I_16, G_16, H_16},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA16, CB7_CA16, CB8_CA16},
- {1, C_1, A_1, B_1},
- {1, C_2, A_2, B_2},
- {1, C_3, A_3, B_3},
- {1, C_4, A_4, B_4},
- {1, C_5, A_5, B_5},
- {1, C_6, A_6, B_6},
- {1, C_7, A_7, B_7},
- {1, C_8, A_8, B_8},
- {1, C_9, A_9, B_9},
- {1, C_10, A_10, B_10},
- {1, C_11, A_11, B_11},
- {1, C_12, A_12, B_12},
- {1, C_14, A_14, B_14},
- {1, C_15, A_15, B_15},
- {1, C_16, A_16, B_16},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA11, CB1_CA11, CB2_CA11},
+ {1, CB3_CA12, CB1_CA12, CB2_CA12},
+ {1, CB3_CA14, CB1_CA14, CB2_CA14},
+ {1, CB3_CA15, CB1_CA15, CB2_CA15},
+ {1, CB3_CA16, CB1_CA16, CB2_CA16},
- {1, F_1, D_1, E_1},
- {1, F_2, D_2, E_2},
- {1, F_3, D_3, E_3},
- {1, F_7, D_7, E_7},
- {1, F_10, D_10, E_10},
- {1, F_11, D_11, E_11},
- {1, F_12, D_12, E_12},
- {1, F_13, D_13, E_13},
- {1, F_14, D_14, E_14},
- {1, F_15, D_15, E_15},
- {1, F_16, D_16, E_16},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA10, CB4_CA10, CB5_CA10},
+ {1, CB6_CA11, CB4_CA11, CB5_CA11},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA16, CB4_CA16, CB5_CA16},
};
#define __ NO_LED
diff --git a/keyboards/keychron/v7/v7.c b/keyboards/keychron/v7/v7.c
index e6b8309cae..215b4922dc 100644
--- a/keyboards/keychron/v7/v7.c
+++ b/keyboards/keychron/v7/v7.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111111111,
- 0b1111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keychron/v8/ansi/ansi.c b/keyboards/keychron/v8/ansi/ansi.c
index bda7ba1d74..fcc232511f 100644
--- a/keyboards/keychron/v8/ansi/ansi.c
+++ b/keyboards/keychron/v8/ansi/ansi.c
@@ -20,87 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- // {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ // {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v8/ansi/config.h b/keyboards/keychron/v8/ansi/config.h
index b818d1d8d3..0ad1e7c132 100644
--- a/keyboards/keychron/v8/ansi/config.h
+++ b/keyboards/keychron/v8/ansi/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
diff --git a/keyboards/keychron/v8/ansi/info.json b/keyboards/keychron/v8/ansi/info.json
index 06a657a5a8..df6ef81b8d 100644
--- a/keyboards/keychron/v8/ansi/info.json
+++ b/keyboards/keychron/v8/ansi/info.json
@@ -8,9 +8,6 @@
"pid": "0x0380",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi/rules.mk b/keyboards/keychron/v8/ansi/rules.mk
index 08a7658da3..50b09aa58a 100644
--- a/keyboards/keychron/v8/ansi/rules.mk
+++ b/keyboards/keychron/v8/ansi/rules.mk
@@ -7,10 +7,5 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = no # Enable Encoder
-ENCODER_MAP_ENABLE = no
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c
index bda7ba1d74..fcc232511f 100644
--- a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c
+++ b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c
@@ -20,87 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_14, D_14, E_14},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- // {1, C_9, A_9, B_9},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ // {1, CB3_CA9, CB1_CA9, CB2_CA9},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v8/ansi_encoder/config.h b/keyboards/keychron/v8/ansi_encoder/config.h
index 57b9bd0270..e042cdd978 100644
--- a/keyboards/keychron/v8/ansi_encoder/config.h
+++ b/keyboards/keychron/v8/ansi_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v8/ansi_encoder/info.json b/keyboards/keychron/v8/ansi_encoder/info.json
index 6202a306c5..100d215ee8 100644
--- a/keyboards/keychron/v8/ansi_encoder/info.json
+++ b/keyboards/keychron/v8/ansi_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0381",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi_encoder/rules.mk b/keyboards/keychron/v8/ansi_encoder/rules.mk
index d53dc0f5d5..bc154c1788 100644
--- a/keyboards/keychron/v8/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v8/ansi_encoder/rules.mk
@@ -7,10 +7,6 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENABLE = no
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/config.h b/keyboards/keychron/v8/config.h
index 3a860e8eb6..54933f656f 100644
--- a/keyboards/keychron/v8/config.h
+++ b/keyboards/keychron/v8/config.h
@@ -33,69 +33,4 @@
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE { 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60, 0xC4, 0xC4, 0x60 }
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {4, 4} }
-
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* Turn off effects when suspended */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/keychron/v8/info.json b/keyboards/keychron/v8/info.json
new file mode 100644
index 0000000000..553146eb39
--- /dev/null
+++ b/keyboards/keychron/v8/info.json
@@ -0,0 +1,37 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [4, 4] ]
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "snled27351",
+ "sleep": true
+ }
+}
diff --git a/keyboards/keychron/v8/iso/config.h b/keyboards/keychron/v8/iso/config.h
index 3a62cba38e..910798fd5a 100644
--- a/keyboards/keychron/v8/iso/config.h
+++ b/keyboards/keychron/v8/iso/config.h
@@ -16,10 +16,5 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29
diff --git a/keyboards/keychron/v8/iso/info.json b/keyboards/keychron/v8/iso/info.json
index 8b40b7d065..d789740644 100644
--- a/keyboards/keychron/v8/iso/info.json
+++ b/keyboards/keychron/v8/iso/info.json
@@ -8,9 +8,6 @@
"pid": "0x0382",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso/iso.c b/keyboards/keychron/v8/iso/iso.c
index 88040c3ab8..4658969a10 100644
--- a/keyboards/keychron/v8/iso/iso.c
+++ b/keyboards/keychron/v8/iso/iso.c
@@ -20,87 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v8/iso_encoder/config.h b/keyboards/keychron/v8/iso_encoder/config.h
index 0bb4fbf821..5ca12b8708 100644
--- a/keyboards/keychron/v8/iso_encoder/config.h
+++ b/keyboards/keychron/v8/iso_encoder/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 35
-#define DRIVER_2_LED_TOTAL 35
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/v8/iso_encoder/info.json b/keyboards/keychron/v8/iso_encoder/info.json
index 3d04699651..23efd329aa 100644
--- a/keyboards/keychron/v8/iso_encoder/info.json
+++ b/keyboards/keychron/v8/iso_encoder/info.json
@@ -8,9 +8,6 @@
"pid": "0x0383",
"device_version": "1.0.0"
},
- "rgb_matrix": {
- "driver": "snled27351"
- },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso_encoder/iso_encoder.c b/keyboards/keychron/v8/iso_encoder/iso_encoder.c
index 88040c3ab8..4658969a10 100644
--- a/keyboards/keychron/v8/iso_encoder/iso_encoder.c
+++ b/keyboards/keychron/v8/iso_encoder/iso_encoder.c
@@ -20,87 +20,87 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1},
- {0, I_2, G_2, H_2},
- {0, I_3, G_3, H_3},
- {0, I_4, G_4, H_4},
- {0, I_5, G_5, H_5},
- {0, I_6, G_6, H_6},
- {0, I_7, G_7, H_7},
- {0, I_8, G_8, H_8},
- {0, I_9, G_9, H_9},
- {0, I_10, G_10, H_10},
- {0, I_11, G_11, H_11},
- {0, I_12, G_12, H_12},
- {0, I_13, G_13, H_13},
- {0, I_14, G_14, H_14},
- {0, I_15, G_15, H_15},
+ {0, CB9_CA1, CB7_CA1, CB8_CA1},
+ {0, CB9_CA2, CB7_CA2, CB8_CA2},
+ {0, CB9_CA3, CB7_CA3, CB8_CA3},
+ {0, CB9_CA4, CB7_CA4, CB8_CA4},
+ {0, CB9_CA5, CB7_CA5, CB8_CA5},
+ {0, CB9_CA6, CB7_CA6, CB8_CA6},
+ {0, CB9_CA7, CB7_CA7, CB8_CA7},
+ {0, CB9_CA8, CB7_CA8, CB8_CA8},
+ {0, CB9_CA9, CB7_CA9, CB8_CA9},
+ {0, CB9_CA10, CB7_CA10, CB8_CA10},
+ {0, CB9_CA11, CB7_CA11, CB8_CA11},
+ {0, CB9_CA12, CB7_CA12, CB8_CA12},
+ {0, CB9_CA13, CB7_CA13, CB8_CA13},
+ {0, CB9_CA14, CB7_CA14, CB8_CA14},
+ {0, CB9_CA15, CB7_CA15, CB8_CA15},
- {0, F_1, D_1, E_1},
- {0, F_2, D_2, E_2},
- {0, F_3, D_3, E_3},
- {0, F_4, D_4, E_4},
- {0, F_5, D_5, E_5},
- {0, F_6, D_6, E_6},
- {0, F_7, D_7, E_7},
- {0, F_8, D_8, E_8},
- {0, F_9, D_9, E_9},
- {0, F_10, D_10, E_10},
- {0, F_11, D_11, E_11},
- {0, F_12, D_12, E_12},
- {0, F_13, D_13, E_13},
- {0, F_15, D_15, E_15},
+ {0, CB6_CA1, CB4_CA1, CB5_CA1},
+ {0, CB6_CA2, CB4_CA2, CB5_CA2},
+ {0, CB6_CA3, CB4_CA3, CB5_CA3},
+ {0, CB6_CA4, CB4_CA4, CB5_CA4},
+ {0, CB6_CA5, CB4_CA5, CB5_CA5},
+ {0, CB6_CA6, CB4_CA6, CB5_CA6},
+ {0, CB6_CA7, CB4_CA7, CB5_CA7},
+ {0, CB6_CA8, CB4_CA8, CB5_CA8},
+ {0, CB6_CA9, CB4_CA9, CB5_CA9},
+ {0, CB6_CA10, CB4_CA10, CB5_CA10},
+ {0, CB6_CA11, CB4_CA11, CB5_CA11},
+ {0, CB6_CA12, CB4_CA12, CB5_CA12},
+ {0, CB6_CA13, CB4_CA13, CB5_CA13},
+ {0, CB6_CA15, CB4_CA15, CB5_CA15},
- {0, C_1, A_1, B_1},
- {0, C_2, A_2, B_2},
- {0, C_3, A_3, B_3},
- {0, C_4, A_4, B_4},
- {0, C_5, A_5, B_5},
- {1, C_10, A_10, B_10},
- {1, C_8, A_8, B_8},
- {1, C_7, A_7, B_7},
- {1, C_6, A_6, B_6},
- {1, C_5, A_5, B_5},
- {1, C_4, A_4, B_4},
- {1, C_3, A_3, B_3},
- {1, C_2, A_2, B_2},
- {0, F_14, D_14, E_14},
- {1, C_1, A_1, B_1},
+ {0, CB3_CA1, CB1_CA1, CB2_CA1},
+ {0, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB3_CA3, CB1_CA3, CB2_CA3},
+ {0, CB3_CA4, CB1_CA4, CB2_CA4},
+ {0, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA10, CB1_CA10, CB2_CA10},
+ {1, CB3_CA8, CB1_CA8, CB2_CA8},
+ {1, CB3_CA7, CB1_CA7, CB2_CA7},
+ {1, CB3_CA6, CB1_CA6, CB2_CA6},
+ {1, CB3_CA5, CB1_CA5, CB2_CA5},
+ {1, CB3_CA4, CB1_CA4, CB2_CA4},
+ {1, CB3_CA3, CB1_CA3, CB2_CA3},
+ {1, CB3_CA2, CB1_CA2, CB2_CA2},
+ {0, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB3_CA1, CB1_CA1, CB2_CA1},
- {1, I_15, G_15, H_15},
- {1, I_14, G_14, H_14},
- {1, I_13, G_13, H_13},
- {1, I_12, G_12, H_12},
- {1, I_11, G_11, H_11},
- {1, I_10, G_10, H_10},
- {1, I_9, G_9, H_9},
- {1, I_8, G_8, H_8},
- {1, I_7, G_7, H_7},
- {1, I_6, G_6, H_6},
- {1, I_5, G_5, H_5},
- {1, I_4, G_4, H_4},
- {1, I_3, G_3, H_3},
- {1, I_2, G_2, H_2},
- {1, I_1, G_1, H_1},
+ {1, CB9_CA15, CB7_CA15, CB8_CA15},
+ {1, CB9_CA14, CB7_CA14, CB8_CA14},
+ {1, CB9_CA13, CB7_CA13, CB8_CA13},
+ {1, CB9_CA12, CB7_CA12, CB8_CA12},
+ {1, CB9_CA11, CB7_CA11, CB8_CA11},
+ {1, CB9_CA10, CB7_CA10, CB8_CA10},
+ {1, CB9_CA9, CB7_CA9, CB8_CA9},
+ {1, CB9_CA8, CB7_CA8, CB8_CA8},
+ {1, CB9_CA7, CB7_CA7, CB8_CA7},
+ {1, CB9_CA6, CB7_CA6, CB8_CA6},
+ {1, CB9_CA5, CB7_CA5, CB8_CA5},
+ {1, CB9_CA4, CB7_CA4, CB8_CA4},
+ {1, CB9_CA3, CB7_CA3, CB8_CA3},
+ {1, CB9_CA2, CB7_CA2, CB8_CA2},
+ {1, CB9_CA1, CB7_CA1, CB8_CA1},
- {1, F_15, D_15, E_15},
- {1, F_14, D_14, E_14},
- {1, F_13, D_13, E_13},
- {1, F_12, D_12, E_12},
- {1, F_9, D_9, E_9},
- {1, F_8, D_8, E_8},
- {1, F_7, D_7, E_7},
- {1, F_6, D_6, E_6},
- {1, F_3, D_3, E_3},
- {1, F_2, D_2, E_2},
- {1, F_1, D_1, E_1}
+ {1, CB6_CA15, CB4_CA15, CB5_CA15},
+ {1, CB6_CA14, CB4_CA14, CB5_CA14},
+ {1, CB6_CA13, CB4_CA13, CB5_CA13},
+ {1, CB6_CA12, CB4_CA12, CB5_CA12},
+ {1, CB6_CA9, CB4_CA9, CB5_CA9},
+ {1, CB6_CA8, CB4_CA8, CB5_CA8},
+ {1, CB6_CA7, CB4_CA7, CB5_CA7},
+ {1, CB6_CA6, CB4_CA6, CB5_CA6},
+ {1, CB6_CA3, CB4_CA3, CB5_CA3},
+ {1, CB6_CA2, CB4_CA2, CB5_CA2},
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}
};
#define __ NO_LED
diff --git a/keyboards/keychron/v8/iso_encoder/rules.mk b/keyboards/keychron/v8/iso_encoder/rules.mk
index d53dc0f5d5..bc154c1788 100644
--- a/keyboards/keychron/v8/iso_encoder/rules.mk
+++ b/keyboards/keychron/v8/iso_encoder/rules.mk
@@ -7,10 +7,6 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENABLE = no
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/v8.c b/keyboards/keychron/v8/v8.c
index 38d3cada17..5cc6c0782c 100644
--- a/keyboards/keychron/v8/v8.c
+++ b/keyboards/keychron/v8/v8.c
@@ -16,14 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {
diff --git a/keyboards/keygem/kg60ansi/config.h b/keyboards/keygem/kg60ansi/config.h
index 388a273f7c..13c17d597d 100644
--- a/keyboards/keygem/kg60ansi/config.h
+++ b/keyboards/keygem/kg60ansi/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/keygem/kg60ansi/info.json b/keyboards/keygem/kg60ansi/info.json
index 9d8cbd485e..73d31b8da1 100644
--- a/keyboards/keygem/kg60ansi/info.json
+++ b/keyboards/keygem/kg60ansi/info.json
@@ -25,6 +25,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"matrix_pins": {
diff --git a/keyboards/keygem/kg65rgbv2/config.h b/keyboards/keygem/kg65rgbv2/config.h
index 388a273f7c..13c17d597d 100644
--- a/keyboards/keygem/kg65rgbv2/config.h
+++ b/keyboards/keygem/kg65rgbv2/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/keygem/kg65rgbv2/info.json b/keyboards/keygem/kg65rgbv2/info.json
index 674b629577..e7b48dcbb0 100644
--- a/keyboards/keygem/kg65rgbv2/info.json
+++ b/keyboards/keygem/kg65rgbv2/info.json
@@ -25,6 +25,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"matrix_pins": {
diff --git a/keyboards/keyhive/opus/keymaps/thefoxcodes/config.h b/keyboards/keyhive/opus/keymaps/thefoxcodes/config.h
deleted file mode 100644
index 824ec5bd18..0000000000
--- a/keyboards/keyhive/opus/keymaps/thefoxcodes/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 rtwayland
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 USB_MAX_POWER_CONSUMPTION 100
-#define TAPPING_TERM 200 \ No newline at end of file
diff --git a/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c b/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
deleted file mode 100644
index 28eda8e6b6..0000000000
--- a/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright 2020 rtwayland
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _SYMBOL,
- _NUM,
- _NAV,
- _MEDIA,
- _WORD,
- _FKEYS,
- _NUMPAD,
- _MOUSE
-};
-
-enum {
- TD_PLAY_DO_NOT_DISTURB
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- LT(4, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD(TD_PLAY_DO_NOT_DISTURB),
- LCTL_T(KC_ESC), KC_A, KC_S, KC_D, LT(2, KC_F), KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(4, KC_QUOT),
- MO(5), LGUI_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LGUI_T(KC_SLSH), MO(5),
- MO(3), KC_LSFT, LALT_T(KC_TAB), LT(3, KC_ENT), LT(1, KC_SPC), KC_BSPC
- ),
- [_SYMBOL] = LAYOUT(
- LCTL(KC_C), KC_TILD, KC_AT, KC_LCBR, KC_RCBR, KC_HASH, KC_ASTR, KC_CIRC, KC_AMPR, KC_PIPE, KC_BSLS, LCTL(KC_GRV),
- KC_LCTL, KC_GRV, KC_MINS, KC_LPRN, KC_RPRN, KC_EXLM, KC_QUES, KC_DLR, KC_LT, KC_GT, KC_SLSH, KC_DQUO,
- KC_LALT, KC_LGUI, KC_UNDS, KC_LBRC, KC_RBRC, KC_PLUS, KC_P0, KC_EQL, KC_PERC, KC_COLN, KC_NO, KC_NO,
- KC_NO, KC_LSFT, LALT_T(KC_TAB), KC_NO, KC_TRNS, KC_NO
- ),
- [_NUM] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ASTR, KC_7, KC_8, KC_9, KC_SLSH, KC_EQL,
- KC_LCTL, KC_NO, MO(7), MO(6), KC_TRNS, KC_NO, KC_PLUS, KC_4, KC_5, KC_6, KC_MINS, KC_PERC,
- KC_LALT, KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_PENT,
- KC_NO, KC_LSFT, LALT_T(KC_TAB), KC_NO, KC_SPC, KC_BSPC
- ),
- [_NAV] = LAYOUT(
- KC_NO, KC_NO, LALT(KC_RGHT), SGUI(KC_LBRC), SGUI(KC_RBRC), KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_LCTL, KC_LALT, KC_LSFT, KC_LGUI, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LALT(KC_LEFT), KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_SPC, KC_BSPC
- ),
- [_MEDIA] = LAYOUT(
- KC_TRNS, SGUI(KC_5), SGUI(KC_3), SGUI(KC_4), MEH(KC_4), KC_VOLU, LCA(KC_U), LCAG(KC_LEFT), LCAG(KC_RGHT), LCA(KC_I), LCA(KC_EQL), LALT(LGUI(KC_PWR)),
- KC_CAPS, KC_F11, KC_MPRV, KC_MNXT, KC_MPLY, KC_VOLD, LCA(KC_LEFT), LCA(KC_DOWN), LCA(KC_UP), LCA(KC_RIGHT), LCA(KC_MINS), KC_TRNS,
- KC_BRID, KC_BRIU, LGUI(KC_MINS), LGUI(KC_PLUS), LGUI(KC_GRV), KC_MUTE, LCA(KC_J), LCA(KC_ENT), LCA(KC_C), LCA(KC_K), MEH(KC_UP), QK_BOOT,
- LCTL(LSFT(KC_TAB)), LCTL(KC_TAB), KC_NO, KC_NO, MEH(KC_RGHT), MEH(KC_LEFT)
- ),
- [_WORD] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, LALT(LSFT(KC_MINS)), KC_NO, LALT(LGUI(KC_F)), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, LALT(KC_MINS), KC_NO, SGUI(LALT(KC_V)), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL
- ),
- [_FKEYS] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_F7, KC_F8, KC_F9, KC_F17, KC_F20,
- KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_F11, KC_F4, KC_F5, KC_F6, KC_F16, KC_F19,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13, KC_F18,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [_NUMPAD] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PAST, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PEQL,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PERC,
- KC_LALT, KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT,
- KC_NO, KC_TRNS, KC_NO, KC_NO, KC_LPRN, KC_RPRN
- ),
- [_MOUSE] = LAYOUT(
- KC_NO, KC_NO, KC_NO, SGUI(KC_LBRC), SGUI(KC_RBRC), KC_NO, KC_HOME, KC_WH_U, KC_WH_D, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_ACL2, KC_WWW_BACK, KC_ACL0, KC_WWW_FORWARD, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_WH_R, KC_WH_L, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN2
- ),
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_PLAY_DO_NOT_DISTURB] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_F6)
-}; \ No newline at end of file
diff --git a/keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md b/keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md
deleted file mode 100644
index c1d2a0b9ec..0000000000
--- a/keyboards/keyhive/opus/keymaps/thefoxcodes/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# thefoxcodes keymap
diff --git a/keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk b/keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk
deleted file mode 100644
index 1ba2fa8fbe..0000000000
--- a/keyboards/keyhive/opus/keymaps/thefoxcodes/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c b/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c
deleted file mode 100644
index 3d8fda20a3..0000000000
--- a/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-Modified 2017 Andrew Novak <ndrw.nvk@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 LicensezZZ
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _RAISE
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0, default layer
- * ,--------------------------------------------------------------------------------------------------------------------------------------------.
- * |NumLck| / | * | - | | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Delete| Ins |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | 7 | 8 | 9 | + | | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | BkSpc | Vol+ |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | 4 | 5 | 6 | + | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | Vol- |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | 1 | 2 | 3 | En | | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | Up | Mute |
- * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
- * | 0 | . | En | | Ctrl | Win | Alt | Space | Fn | | Left | Down | Right|
- * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
- */
- [_QWERTY] = LAYOUT(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DELETE, KC_INS,
- KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU,
- KC_P4, KC_P5, KC_P6, KC_PENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD,
- KC_P1, KC_P2, KC_P3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE,
- KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /*layer 1, function layer
- * ,--------------------------------------------------------------------------------------------------------------------------------------------.
- * |Reset | | | | | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |Calc |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | | | | | | | | | | | | | | | | | | | | |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | | | | | | | | | | | | | | | | | | | |
- * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
- * | | | | | | | | | | | | | | | | | | | |
- * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
- * | | | | | | | | | | | | | |
- * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
- */
-
- [_RAISE] = LAYOUT(
- QK_BOOT, _______, _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_CALC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-}; \ No newline at end of file
diff --git a/keyboards/keyhive/uno/keymaps/copypasta/keymap.c b/keyboards/keyhive/uno/keymaps/copypasta/keymap.c
deleted file mode 100644
index 74e5f62fc5..0000000000
--- a/keyboards/keyhive/uno/keymaps/copypasta/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2020 Snipeye
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 uno_keycode
-{
- UNO = SAFE_RANGE
-};
-
-static uint16_t pressTimer = 0xFFFF;
-#define CUSTOM_LONGPRESS 1000
-#define PASTA_COUNT 4
-
-const char *pasta[PASTA_COUNT] = {
- "Hey - I'm Uno... V2. This time, I have uno more features: I support a rotary encoder, too. That's it. That's the only difference.",
- "Did you ever hear the tragedy of Darth Plagueis the Wise? I thought not. It's not a story the Jedi would tell you. It's a Sith legend. Darth Plagueis was a Dark Lord of the Sith, so powerful and so wise he could use the Force to influence the midichlorians to create life... He had such a knowledge of the dark side that he could even keep the ones he cared about from dying. The dark side of the Force is a pathway to many abilities some consider to be unnatural. He became so powerful... the only thing he was afraid of was losing his power, which eventually, of course, he did. Unfortunately, he taught his apprentice everything he knew, then his apprentice killed him in his sleep. Ironic, he could save others from death, but not himself.",
- "The intent is to provide players with a sense of pride and accomplishment for unlocking different heroes. As for cost, we selected initial values based upon data from the Open Beta and other adjustments made to milestone rewards before launch. Among other things, we're looking at average per-player credit earn rates on a daily basis, and we'll be making constant adjustments to ensure that players have challenges that are compelling, rewarding, and of course attainable via gameplay. We appreciate the candid feedback, and the passion the community has put forth around the current topics here on Reddit, our forums and across numerous social media outlets. Our team will continue to make changes and monitor community feedback and update everyone as soon and as often as we can.",
- "The FitnessGram Pacer Test is a multistage aerobic capacity test that progressively gets more difficult as it continues. The 20 meter pacer test will begin in 30 seconds. Line up at the start. The running speed starts slowly, but gets faster each minute after you hear this signal. [beep] A single lap should be completed each time you hear this sound. [ding] Remember to run in a straight line, and run as long as possible. The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start.",
-};
-
-uint8_t pastaIndex = 0;
-
-enum encoder_names {
- _ENCODER,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- UNO
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case UNO:
- if (record->event.pressed) {
- pressTimer = timer_read();
- } else {
- uint16_t timeElapsed = timer_elapsed(pressTimer);
- if (timeElapsed < CUSTOM_LONGPRESS) {
- send_string(pasta[pastaIndex]);
- } else {
- reset_keyboard();
- }
- }
- break;
- }
- return false;
-}
-
-void keyboard_post_init_user(void) {
- rgblight_enable_noeeprom();
- rgblight_sethsv_noeeprom(0, 255, 255);
- rgblight_mode_noeeprom(1);
- //rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD);
-}
-
-void encoder_update_user(uint8_t index, bool clockwise) {
- if (index == _ENCODER) { /* First encoder */
- if (clockwise) {
- pastaIndex++;
- pastaIndex %= PASTA_COUNT;
- } else {
- pastaIndex += PASTA_COUNT;
- pastaIndex--;
- pastaIndex %= PASTA_COUNT;
- }
- rgblight_sethsv_noeeprom((255/PASTA_COUNT)*pastaIndex, 255, 255);
- rgblight_mode_noeeprom(1);
- }
-}
diff --git a/keyboards/keyhive/uno/keymaps/copypasta/readme.md b/keyboards/keyhive/uno/keymaps/copypasta/readme.md
deleted file mode 100644
index 1ad009c16c..0000000000
--- a/keyboards/keyhive/uno/keymaps/copypasta/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# A copypasta keymap for uno
-![Picture](https://i.imgur.com/OqPyWbbl.jpg)
-
-[A demo of this keymap can be found here.](https://www.reddit.com/r/MechanicalKeyboards/comments/k7w1j1/qmk_is_a_pathway_to_many_abilities_some_consider/)
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json b/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json
deleted file mode 100755
index 8dea44e33c..0000000000
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json
+++ /dev/null
@@ -1 +0,0 @@
-{"keyboard":"ut472","keymap":"ut472_layout_switching","layout":"LAYOUT","layers":[["KC_ESC","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","SC_SENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_S","KC_H","KC_T","KC_G","KC_Y","KC_N","KC_E","KC_O","KC_I","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_M","KC_C","KC_V","KC_K","KC_L","KC_COMM","KC_DOT","KC_SLSH","SC_SENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_G","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_D","KC_H","KC_N","KC_E","KC_I","KC_O","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_K","KC_M","KC_COMM","KC_DOT","KC_SLSH","SC_SENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_B","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_G","KC_K","KC_N","KC_E","KC_I","KC_O","KC_QUOT","KC_LSFT","KC_X","KC_C","KC_D","KC_V","KC_Z","KC_M","KC_H","KC_COMM","KC_DOT","KC_SLSH","SC_SENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_QUOT","KC_COMM","KC_DOT","KC_P","KC_Y","KC_F","KC_G","KC_C","KC_R","KC_L","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_O","KC_E","KC_U","KC_I","KC_D","KC_H","KC_T","KC_N","KC_S","KC_SLSH","KC_LSFT","KC_SCLN","KC_Q","KC_J","KC_K","KC_X","KC_B","KC_M","KC_W","KC_V","KC_Z","SC_SENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_DEL","KC_NO","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","KC_NO","KC_NO","KC_MINS","KC_EQL","KC_LBRC","KC_RBRC","KC_BSLS","KC_NO","KC_F11","KC_F12","KC_F13","KC_F14","KC_F15","KC_F16","KC_F17","KC_F18","KC_F19","KC_F20","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_NO","KC_NO","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["KC_TILD","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_DEL","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_UNDS","KC_PLUS","KC_LCBR","KC_RCBR","KC_PIPE","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_TRNS","KC_NO","KC_NO","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["KC_ESC","KC_CALC","KC_WHOM","KC_MAIL","KC_MYCM","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PSCR","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_WH_L","KC_WH_D","KC_WH_U","KC_WH_R"],["QK_BOOT","KC_NO","KC_NO","RGB_TOG","RGB_MOD","RGB_HUI","RGB_HUD","RGB_SAI","RGB_SAD","RGB_VAI","RGB_VAD","KC_DEL","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","ANY(Qwerty)","ANY(Workman)","ANY(Colemak)","ANY(Colemak Mod-DH)","ANY(Dvorak)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","DB_TOGG","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Annihilator6000","notes":"Layer 0 = Qwerty\nLayer 1 = Workman\nLayer 2 = Colemak\nLayer 3 = Colemak Mod-DH\nLayer 4 = Dvorak\nLayer 5 = Function Layer 1 (MO 1)\nLayer 6 = Function Layer 2 (MO 2)\nLayer 7 = Function Layer 3 (LT 3: Hold Tab)\nLayer 8 = Planck-style Adjust Layer (Hold MO 1 and MO 2 at the same time)"} \ No newline at end of file
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h b/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h
deleted file mode 100644
index 023c753c27..0000000000
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 Carlos Filoteo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/keyhive/ut472/keymaps/annihilator6000/keymap.c b/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c
deleted file mode 100644
index 2235c07bb5..0000000000
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Copyright 2018 Carlos Filoteo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define LT3_TAB LT(3, KC_TAB)
-
-enum ut472_layers {
- _QWERTY,
- _WORKMAN,
- _COLEMAK,
- _COLEMAK_MOD_DH,
- _DVORAK,
- _LOWER,
- _RAISE,
- _TAB,
- _ADJUST
-};
-
-enum ut472_keycodes {
- QWERTY = SAFE_RANGE,
- WORKMAN,
- COLEMAK,
- COLEMAK_MOD_DH,
- DVORAK
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer - QWERTY
- * ,-------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
- * |-------------------------------------------------------------------------+
- * |Tab/L3| A | S | D | F | G | H | J | K | L | ; | ' |
- * |-------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Sh/En|
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right|
- * `-------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Workman
- * ,-------------------------------------------------------------------------.
- * | Esc | Q | D | R | W | B | J | F | U | P | ; |Bspace |
- * |-------------------------------------------------------------------------+
- * |Tab/L3| A | S | H | T | G | Y | N | E | O | I | ' |
- * |-------------------------------------------------------------------------+
- * | Shift | Z | X | M | C | V | K | L | , | . | / |Sh/En|
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right|
- * `-------------------------------------------------------------------------'
- */
-[_WORKMAN] = LAYOUT(
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
- LT3_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, SC_SENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Colemak
- * ,---------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---------|
- * |Tab/L3| A | R | S | T | D | H | N | E | I | O | " |
- * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--------|
- * | Shift | Z | X | C | V | B | K | M | , | . | / | Sh/En |
- * |-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------|
- * | Ctrl| Alt | GUI | App | L2 | Space | L1 | Left | Down | Up |Right |
- * `---------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- LT3_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Colemak Mod-DH
- * https://colemakmods.github.io/mod-dh/keyboards.html
- * ,---------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | B | J | L | U | Y | ; | Bksp |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---------|
- * |Tab/L3| A | R | S | T | G | K | N | E | I | O | ' |
- * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--------|
- * | Shift | X | C | D | V | Z | M | H | , | . | / | Sh/En |
- * |-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------|
- * | Ctrl| Alt | GUI | App | L2 | Space | L1 | Left | Down | Up |Right |
- * `---------------------------------------------------------------------------'
- */
-[_COLEMAK_MOD_DH] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- LT3_TAB, KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_X, KC_C, KC_D, KC_V, KC_Z, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Dvorak
- * ,--------------------------------------------------------------------------.
- * | Esc | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--------|
- * |Tab/L3| A | O | E | U | I | D | H | T | N | S | / |
- * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------|
- * | Shift | ; | Q | J | K | X | B | M | W | V | Z |Sh/En |
- * |-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | Ctrl| Alt | GUI | App | L2 | Space | L1 | Left | Down | Up |Right |
- * `--------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- LT3_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* FN Layer 1 - LOWER
- * ,-------------------------------------------------------------------------.
- * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete|
- * |-------------------------------------------------------------------------+
- * | | | | | | | | - | = | [ | ] | \ |
- * |-------------------------------------------------------------------------+
- * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
- * |-------------------------------------------------------------------------+
- * | | | |Capsl| | | | Home| PgDn| PgUp| End |
- * `-------------------------------------------------------------------------'
- */
-[_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_DELETE,
- _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______,
- _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
- /* FN Layer 2 - RAISE
- * ,-------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete|
- * |-------------------------------------------------------------------------+
- * | | | | | | | | _ | + | { | } | | |
- * |-------------------------------------------------------------------------+
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
- * |-------------------------------------------------------------------------+
- * | | | |Capsl| | | | Home| PgDn| PgUp| End |
- * `-------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_DELETE,
- _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
- /* FN Layer 3 - Hold Tab
- * ,-------------------------------------------------------------------------.
- * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------+
- * | | | | | | | |MousL|MousD|MousU|MousR|
- * `-------------------------------------------------------------------------'
- */
-[_TAB] = LAYOUT(
- KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R
-),
-
- /* Adjust (L1 + L2)
- * v-----------------------RGB CONTROL---------------------v
- * ,--------------------------------------------------------------------------
- * |Reset| | | RGB |RGBMO|HUE+ |HUE- |SAT+ |SAT- |BRT+ |BRT- | Del |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------|
- * | | | | | | |Qwert|Wrkmn|ModDH|Colmk|Dvork| |
- * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | | | | | | | | | | | | |
- * |-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | Dbg | | | | | | | | | | |
- * `-------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
- _______, _______, _______, _______, _______, _______, QWERTY, WORKMAN, COLEMAK, COLEMAK_MOD_DH, DVORAK, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-/* QWERTY = H
- WORKMAN = J
- COLEMAK = K
- -MOD-DH = L
- DVORAK = ; */
-};
-
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- print("mode just switched to qwerty and this is a huge string\n");
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case WORKMAN:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WORKMAN);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case COLEMAK_MOD_DH:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK_MOD_DH);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md b/keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md
deleted file mode 100644
index 59469b7b55..0000000000
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# UT47.2 Planck-style layout switching
-
-Has layouts for Qwerty, Workman, Colemak, Colemak-Mod-DH, and Dvorak. Qwerty is the default layout. Layouts are switched Planck-style using momentary layer keys 1 and 2 (MO(1) and MO(2)) at the same time and pressing one of the H, J, K, L, or ; keys (this is while on the Qwerty layout - adjust if on another layout). See Layer 8 below for layout keys.
-
-You can load the UT472_Annihilator6000_Configurator_file.json file in the [QMK Configurator](https://config.qmk.fm/#/ut472/LAYOUT) if you want to check out the configuration there or easily modify it.
-
-Make example for this keyboard (after setting up your build environment):
-
- make ut472:Annihilator6000
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-![UT47.2 layout image](https://i.imgur.com/lICX4uz.png)
-
-[KLE](http://www.keyboard-layout-editor.com/##@@_y:0%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Back%20Space&_x:0.25&a:4&f:4&w:4&h:4&d:true%3B&=%3Cb%3EGNAP!%3C%2F%2Fb%3E%3Cp%3E%3Cp%3EMinimum%20stagger%3Cp%3E47%20key%20layout%3B&@_a:7&f:3&w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F%3B&_w:1.25%3B&=%27%3B&@_w:1.5%3B&=Shift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F%2F&=Return%3B&@=Ctrl&=Alt&=Super&=Menu&_w:1.25%3B&=%2F&dArr%2F%3B&_w:2%3B&=&_w:1.25%3B&=%2F&uArr%2F%3B&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&uarr%2F%3B&=%2F&rarr%2F%3B%3B&=undefined)
diff --git a/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c b/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c
deleted file mode 100644
index f629766b28..0000000000
--- a/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2022 Garrett Davis (@Gardego5)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-/* This controls special press and hold keys.
- * Maps right arrow to F15 when held, to be used for push to talk.
- */
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LT(0, KC_RIGHT):
- if (!record->tap.count) {
- if (record->event.pressed) {
- register_code16(KC_F15);
- } else {
- unregister_code16(KC_F15);
- }
- return false;
- }
- return true;
- }
-
- return true;
-}
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * ,-------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
- * |-------------------------------------------------------------------------+
- * | Tab | A | S | D | F | G | H | J | K | L | ; |Sh/Ent|
- * |-------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | ' |
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 | Left| Down| Up|Rt/F15|
- * `-------------------------------------------------------------------------'
- */
-
-LAYOUT(
-KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
-KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, SC_SENT,
-KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_QUOT,
-KC_LCTL, KC_LALT, MO(3) , KC_LGUI, MO(2) , KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_UP , LT(0, KC_RIGHT)
-),
-
- /* FN Layer 1
- * ,-------------------------------------------------------------------------.
- * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete|
- * |-------------------------------------------------------------------------+
- * | Tab | < | > | ( | ) | | | - | = | [ | ] |Sh/Ent|
- * |-------------------------------------------------------------------------+
- * | Shift | | | | | | | | , | . | \ |Caps |
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 | Home| PgDn| PgUp| End |
- * `-------------------------------------------------------------------------'
- */
-
-LAYOUT( /* Right */
-KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL ,
-KC_TRNS, KC_LT , KC_GT , KC_LPRN, KC_RPRN, KC_NO , KC_NO , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_TRNS,
-KC_TRNS, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, KC_TRNS, KC_BSLS, KC_CAPS,
-KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
- /* FN Layer 2
- * ,-------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------------------------------------------------------------------------+
- * | Tab | | Mute| Vol-| Vol+| | | Left| Down| Up |Right|Sh/Ent|
- * |-------------------------------------------------------------------------+
- * | Shift | |Med<<|Pause|Med>>| | | |LMous|RMous| | |
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 |<Mous|vMous|^Mous|>Mous|
- * `-------------------------------------------------------------------------'
- */
-
-LAYOUT( /* Left */
-KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
-KC_TRNS, KC_NO , KC_MUTE, KC_VOLD, KC_VOLU, KC_NO , KC_NO , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_TRNS,
-KC_TRNS, KC_NO , KC_MPRV, KC_MPLY, KC_MNXT, KC_NO , KC_NO , KC_NO , KC_BTN1, KC_BTN2, KC_NO , KC_NO ,
-KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
-),
-
- /* FN Layer 3
- * ,-------------------------------------------------------------------------.
- * | Esc | RGB | RGB | | | |#Lock| 7 | 8 | 9 | |Bspace |
- * |-------------------------------------------------------------------------+
- * | Tab | / | * | - | + | = | | 4 | 5 | 6 | |Sh/Ent|
- * |-------------------------------------------------------------------------+
- * | Shift | | | | | | | 1 | 2 | 3 | Up | |
- * |-------------------------------------------------------------------------+
- * | Ctrl| Alt | L3 | Gui | L2 | Space | 0 | . | Left| Down|Right|
- * `-------------------------------------------------------------------------'
- */
-
-LAYOUT( /* 3 */
-KC_ESC , RGB_TOG, RGB_MOD, KC_NO , KC_NO , KC_NO , KC_NUM , KC_P7 , KC_P8 , KC_P9 , KC_NO , KC_BSPC,
-KC_TRNS, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_PEQL, KC_NO , KC_P4 , KC_P5 , KC_P6 , KC_NO , KC_TRNS,
-KC_TRNS, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_P1 , KC_P2 , KC_P3 , KC_UP , KC_NO ,
-KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_P0 , KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT
-),
-};
diff --git a/keyboards/keyhive/ut472/keymaps/gardego5/readme.md b/keyboards/keyhive/ut472/keymaps/gardego5/readme.md
deleted file mode 100644
index 44655ba346..0000000000
--- a/keyboards/keyhive/ut472/keymaps/gardego5/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Gardego5's modified layout
-
-![layout image](https://i.imgur.com/eM6YHcY.jpeg)
-
-This layout is designed to be familiar coming from a full-sized keyboard, if you like vim movement keys. Has (hopefully) friendly media keys, and F15 in the bottom right when held, so that you can bind F15 to push to talk.
diff --git a/keyboards/keyhive/ut472/keymaps/stefanopace/config.h b/keyboards/keyhive/ut472/keymaps/stefanopace/config.h
deleted file mode 100644
index d16927d3c9..0000000000
--- a/keyboards/keyhive/ut472/keymaps/stefanopace/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 Stefano Pace
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TOGGLE 3
-#define TAPPING_TERM 175
-#define PERMISSIVE_HOLD
diff --git a/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c b/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
deleted file mode 100644
index 9d1780b161..0000000000
--- a/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright 2021 Stefano Pace
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- _QWE,
- _SYM,
- _NUM,
- _NAV,
- _NV2,
- _FN,
-};
-
-enum tapdance {
- TD_SINGLE_QUOTE_DOUBLE_QUOTES,
- TD_APP_CAPS_LOCK,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_SINGLE_QUOTE_DOUBLE_QUOTES] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_DQUO),
- [TD_APP_CAPS_LOCK] = ACTION_TAP_DANCE_DOUBLE(KC_APP, KC_CAPS),
-};
-
-#define LTFN_ESC LT(_FN, KC_ESC)
-#define LTSYM_F LT(_SYM, KC_F)
-#define LTSYM_J LT(_SYM, KC_J)
-#define TD_QUOT TD(TD_SINGLE_QUOTE_DOUBLE_QUOTES)
-#define TD_APP_CAPS TD(TD_APP_CAPS_LOCK)
-#define SFT_SLSH RSFT_T(KC_SLSH)
-
-#define UNDO LCTL(KC_Z)
-#define REDO LCTL(KC_Y)
-#define CUT LCTL(KC_X)
-#define COPY LCTL(KC_C)
-#define PASTE LCTL(KC_V)
-
-#define CUSTOM1 LCA(KC_EQL)
-#define CUSTOM2 MEH(KC_PLUS)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base qwerty Layer
- *
- * Holding Esc activates the Fn layer
- * Holding F or J activates Symbols layer
- * Holding / acts as Shift
- * Double tap on ' acts as "
- * Double tap on Menu activates CapsLock
- *
- * Nav and Num layers are togglable with triple tapping on relative keys while holding them will activate layers momentarily.
- *
- * I personally use Pause to mute/unmute microphone
- * I personally use Menu to act as compose key to input accented letters
- *
- * ,----------------------------------------------------------------------------.
- * |Esc-Fn| Q | W | E | R | T | Y | U | I | O | P | Bspace |
- * |----------------------------------------------------------------------------+
- * | Tab | A | S | D |F-Sym| G | H |J-Sym| K | L | '* | Enter |
- * |----------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . |/-Shift|Menu*|
- * |----------------------------------------------------------------------------+
- * | Ctrl | Gui | Alt |Pause|(Nav) | Space |(Num) |Left |Down | Up |Right |
- * `----------------------------------------------------------------------------'
- */
- [_QWE] = LAYOUT(
- LTFN_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, LTSYM_F, KC_G, KC_H, LTSYM_J, KC_K, KC_L, TD_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_SLSH, TD_APP_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_PAUS, TT(_NAV), KC_SPC, TT(_NUM), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Symbols Layer (Sym)
- * ,----------------------------------------------------------------------------.
- * | | ` | @ | # | $ | % | | & | * | ^ | | Del |
- * |----------------------------------------------------------------------------+
- * | | ~ | { | - | ( | + | = | ) | | | } | ; | |
- * |----------------------------------------------------------------------------+
- * | | ! | < | _ | [ | | : | ] | \ | > | ? | |
- * |----------------------------------------------------------------------------+
- * | | | | | | | | | | | |
- * `----------------------------------------------------------------------------'
- */
- [_SYM] = LAYOUT(
- _______, KC_GRV, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, KC_AMPR, KC_ASTR, KC_CIRC, XXXXXXX, KC_DEL,
- _______, KC_TILD, KC_LCBR, KC_MINS, KC_LPRN, KC_PLUS, KC_EQL, KC_RPRN, KC_PIPE, KC_RCBR, KC_SCLN, _______,
- _______, KC_EXLM, KC_LT, KC_UNDS, KC_LBRC, XXXXXXX, KC_COLN, KC_RBRC, KC_BSLS, KC_GT, KC_QUES, _______,
- _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______, _______
- ),
-
- /* Numbers Layer (Num)
- *
- * Custom2 will act as Ctrl+Shift+Alt+"+" that can be used for example to spawn new terminal instances
- * ,----------------------------------------------------------------------------.
- * | | | | | | |Ctrl-y| | | | | |
- * |----------------------------------------------------------------------------+
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |----------------------------------------------------------------------------+
- * | |Ctr-z|Ctr-x|Ctr-c|Ctr-v| | | | , | . | | |
- * |----------------------------------------------------------------------------+
- * | | | | |Custom2| | | | | | |
- * `----------------------------------------------------------------------------'
- */
- [_NUM] = LAYOUT(
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, REDO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, UNDO, CUT, COPY, PASTE, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, _______, _______,
- _______, _______, _______, _______, CUSTOM2, _______, _______, _______, _______, _______, _______
- ),
-
- /* Navigation Layer (Nav)
- *
- * This layer is optimized for gui handling and code navigation
- * It makes easier to reach common key combinations as: Ctrl+Shift, Gui+Shift, Ctrl+Alt, Alt+Tab, Ctrl+F, Ctrl+S
- *
- * Holding (Nav2) replaces arrow keys with Home PgDown PgUp End
- *
- *
- * Custom1 will act as Ctrl+Alt+"=" that can be used for example to focus last spawned terminal
- *
- * ,----------------------------------------------------------------------------.
- * | |Shift|Shift|Shift| | | | | | | | |
- * |----------------------------------------------------------------------------+
- * |(Nav2) |Ctrl | Gui | Alt | Tab | |Left |Down | Up |Right| F | |
- * |----------------------------------------------------------------------------+
- * | |Ctr-z|Ctr-x|Ctr-c|Ctr-v| | | | L | | A | S |
- * |----------------------------------------------------------------------------+
- * | | | | | | |Custom1| | | | |
- * `----------------------------------------------------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, KC_LSFT, KC_LSFT, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______,
- MO(_NV2), KC_LCTL, KC_LGUI, KC_LALT, KC_TAB, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F, _______,
- _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, KC_L, KC_DOT, KC_A, KC_S,
- _______, _______, _______, _______, _______, _______, CUSTOM1, _______, _______, _______, _______
- ),
-
- /* Speed Navigation Layer (Nav2)
- * ,----------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |----------------------------------------------------------------------------+
- * | | | | | | |Home |PgUp |PgDown|End | | |
- * |----------------------------------------------------------------------------+
- * | | | | | | | | | | | | |
- * |----------------------------------------------------------------------------+
- * | | | | | | | | | | |Reset |
- * `----------------------------------------------------------------------------'
- */
- [_NV2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- /* Fn Layer (Fn)
- * ,----------------------------------------------------------------------------.
- * | | | | | | | | F1 | F2 | F3 | F10 | |
- * |----------------------------------------------------------------------------+
- * | Print | | | | | | | F4 | F5 | F6 | F11 | |
- * |----------------------------------------------------------------------------+
- * |ScrLock | | | | | | | F7 | F8 | F9 | F12 | |
- * |----------------------------------------------------------------------------+
- * | Ins | | | | | | | | | | |
- * `----------------------------------------------------------------------------'
- */
- [_FN] = LAYOUT(
- _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD, RGB_HUI, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, XXXXXXX,
- KC_PSCR, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_F4, KC_F5, KC_F6, KC_F11, XXXXXXX,
- KC_SCRL, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, KC_F7, KC_F8, KC_F9, KC_F12, XXXXXXX,
- KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-};
diff --git a/keyboards/keyhive/ut472/keymaps/stefanopace/readme.md b/keyboards/keyhive/ut472/keymaps/stefanopace/readme.md
deleted file mode 100644
index 63cef0934c..0000000000
--- a/keyboards/keyhive/ut472/keymaps/stefanopace/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Stefanopace's layout
-
-This layout is optimized for developers workflow.
-It includes layouts for symbols, numbers and text/gui navigation, all activables
-and usable without leaving the homerow position.
-More details are explained in the keymap.c file.
diff --git a/keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk b/keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk
deleted file mode 100644
index d941780558..0000000000
--- a/keyboards/keyhive/ut472/keymaps/stefanopace/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-TAP_DANCE_ENABLE = yes
-
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = no
-
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/config.h b/keyboards/keyhive/ut472/keymaps/tucznak/config.h
deleted file mode 100644
index bc3587f542..0000000000
--- a/keyboards/keyhive/ut472/keymaps/tucznak/config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define MANUFACTURER "Potato Inc."
-#define PRODUCT "Qt3.14"
-
-/* turn off RGB when computer sleeps */
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_SLEEP
-#endif
-
-/* send tap key if no layer key was used even after tap delay */
-#define TAPPING_TERM 50
-#define RETRO_TAPPING
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c b/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c
deleted file mode 100644
index bb9e50e6b7..0000000000
--- a/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _BASE,
- _LEFT,
- _RIGHT,
- _NUM,
- _FN
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * ,-------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
- * |-------------------------------------------------------------------------+
- * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter |
- * |-------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | Up | FN |
- * |-------------------------------------------------------------------------+
- * | Ctrl| Win | LAlt| NUM | LEFT | Space | RIGHT| RAlt| Left| Down|Right|
- * `-------------------------------------------------------------------------'
- */
-
- [_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_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MO(_FN),
- KC_LCTL, KC_LGUI, KC_LALT, MO(_NUM),MO(_LEFT), KC_SPC, MO(_RIGHT), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Left function layer (1)
- * F keys and navigation
- * ,-------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | | | | | Ins |
- * |-------------------------------------------------------------------------+
- * | | Caps| |PrtSc|ScrLk|Pause| | | | | PgUp| Del |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | Menu| Home| PgDn| End |
- * `-------------------------------------------------------------------------'
- */
-
- [_LEFT] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, KC_CAPS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, KC_PGUP, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, KC_APP, KC_HOME, KC_PGDN, KC_END
- ),
-
- /* Right function layer (2)
- * National and special characters
- * ,-------------------------------------------------------------------------.
- * | +1 | Ä›2 | Å¡3 | Ä4 | Å™5 | ž6 | ý7 | á8 | í9 | é0 | ´ | ˇ |
- * |-------------------------------------------------------------------------+
- * | ;° | | | | | | | ( | ) | § | ! | ú | / |
- * |-------------------------------------------------------------------------+
- * | | \ | | | | | % | = | ¨ | ' | - | _ |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | | | | |
- * `-------------------------------------------------------------------------'
- */
-
- [_RIGHT] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, LSFT(KC_EQL),
- KC_GRV, LSFT(KC_NUBS), _______, _______, _______, _______, LSFT(KC_RBRC), KC_RBRC, KC_QUOT, LSFT(KC_QUOT), KC_LBRC, LSFT(KC_LBRC),
- _______, KC_NUBS, _______, _______, _______, _______, LSFT(KC_MINS), KC_MINS, KC_BSLS, LSFT(KC_BSLS), KC_SLSH, LSFT(KC_SLSH),
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Numpad layer (3)
- * ,-------------------------------------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |-------------------------------------------------------------------------+
- * | | | | | | | | 4 | 5 | 6 | / | |
- * |-------------------------------------------------------------------------+
- * | |NumLk| | | | | | 1 | 2 | 3 | * | |
- * |-------------------------------------------------------------------------+
- * | | | | | | | 0 | . | + | - | |
- * `-------------------------------------------------------------------------'
- */
-
- [_NUM] = LAYOUT(
- _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PSLS, _______,
- _______, KC_NUM, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PAST, _______,
- _______, _______, _______, _______, _______, _______, KC_KP_0, KC_DOT, KC_PPLS, KC_PMNS, _______
- ),
-
- /* Function layer (4)
- * Backlighting, keyboard controls, music etc.
- * ,-------------------------------------------------------------------------.
- * |Reset| | | | | | | | | | | Vol+ |
- * |-------------------------------------------------------------------------+
- * | | VLK | Mod+| Hue+| Sat+| Val+| | | | | | Vol- |
- * |-------------------------------------------------------------------------+
- * | | TOG | Mod-| Hue-| Sat-| Val-| | | | | Stop| Mute|
- * |-------------------------------------------------------------------------+
- * |Sleep| | | | | C+A+D | C+A+I | | Prev|Pause| Next|
- * `-------------------------------------------------------------------------'
- */
-
- [_FN] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, VK_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_VOLD,
- _______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MSTP, KC_MUTE,
- KC_SLEP, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, KC_MPRV, KC_MPLY, KC_MNXT
- )
-};
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/readme.md b/keyboards/keyhive/ut472/keymaps/tucznak/readme.md
deleted file mode 100644
index 95180bc392..0000000000
--- a/keyboards/keyhive/ut472/keymaps/tucznak/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# TuCZnak's modified layout
-
-This layout is optimized for Czech national QWERTZ keymap.
-It includes separated layers for numbers, national characters,
-special characters and configuration.
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/rules.mk b/keyboards/keyhive/ut472/keymaps/tucznak/rules.mk
deleted file mode 100644
index d394c719f8..0000000000
--- a/keyboards/keyhive/ut472/keymaps/tucznak/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = 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 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
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c b/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c
deleted file mode 100644
index 6c21a3874c..0000000000
--- a/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2022 Keyprez (https://github.com/keyprez)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN,
- _CMD
-};
-
-#define FN MO(_FN)
-#define CMD MO(_CMD)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = 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_HOME, KC_MUTE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_END, 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_NUHS, KC_ENT, KC_PGUP, KC_INSERT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_COPY,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, FN, KC_SPC, KC_RALT, FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PASTE
- ),
-
- [_FN] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BRIU, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC
- ),
-};
-
diff --git a/keyboards/keyprez/unicorn/keymaps/jorge/readme.md b/keyboards/keyprez/unicorn/keymaps/jorge/readme.md
deleted file mode 100644
index f3e626cc76..0000000000
--- a/keyboards/keyprez/unicorn/keymaps/jorge/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for unicorn
diff --git a/keyboards/enter67/info.json b/keyboards/kezewa/enter67/info.json
index df1d7f6b5b..df1d7f6b5b 100644
--- a/keyboards/enter67/info.json
+++ b/keyboards/kezewa/enter67/info.json
diff --git a/keyboards/enter67/keymaps/default/keymap.c b/keyboards/kezewa/enter67/keymaps/default/keymap.c
index 1f3d16c095..1f3d16c095 100644
--- a/keyboards/enter67/keymaps/default/keymap.c
+++ b/keyboards/kezewa/enter67/keymaps/default/keymap.c
diff --git a/keyboards/enter67/keymaps/via/keymap.c b/keyboards/kezewa/enter67/keymaps/via/keymap.c
index 1f3d16c095..1f3d16c095 100644
--- a/keyboards/enter67/keymaps/via/keymap.c
+++ b/keyboards/kezewa/enter67/keymaps/via/keymap.c
diff --git a/keyboards/enter67/keymaps/via/rules.mk b/keyboards/kezewa/enter67/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/enter67/keymaps/via/rules.mk
+++ b/keyboards/kezewa/enter67/keymaps/via/rules.mk
diff --git a/keyboards/kezewa/enter67/readme.md b/keyboards/kezewa/enter67/readme.md
new file mode 100644
index 0000000000..beb5074f9d
--- /dev/null
+++ b/keyboards/kezewa/enter67/readme.md
@@ -0,0 +1,27 @@
+# ENTER67 - PCB
+
+![enter67](https://imgur.com/igF8Lurh.jpg)
+
+67 layout PCB, with option for stepped Caps Lock
+
+* Keyboard Maintainer: https://github.com/LXF-YZP
+* Hardware Supported: enter67 PCB
+* Hardware Availability: [Kezewa](https://kezewa.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kezewa/enter67:default
+
+Flashing example for this keyboard:
+
+ make kezewa/enter67:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/enter80/rules.mk b/keyboards/kezewa/enter67/rules.mk
index 7ff128fa69..7ff128fa69 100644
--- a/keyboards/enter80/rules.mk
+++ b/keyboards/kezewa/enter67/rules.mk
diff --git a/keyboards/enter80/info.json b/keyboards/kezewa/enter80/info.json
index a4fe83b3ac..a4fe83b3ac 100644
--- a/keyboards/enter80/info.json
+++ b/keyboards/kezewa/enter80/info.json
diff --git a/keyboards/enter80/keymaps/default/keymap.c b/keyboards/kezewa/enter80/keymaps/default/keymap.c
index e3bc2d6526..e3bc2d6526 100644
--- a/keyboards/enter80/keymaps/default/keymap.c
+++ b/keyboards/kezewa/enter80/keymaps/default/keymap.c
diff --git a/keyboards/enter80/keymaps/via/keymap.c b/keyboards/kezewa/enter80/keymaps/via/keymap.c
index e3bc2d6526..e3bc2d6526 100644
--- a/keyboards/enter80/keymaps/via/keymap.c
+++ b/keyboards/kezewa/enter80/keymaps/via/keymap.c
diff --git a/keyboards/kudox/rev3/keymaps/via/rules.mk b/keyboards/kezewa/enter80/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/kudox/rev3/keymaps/via/rules.mk
+++ b/keyboards/kezewa/enter80/keymaps/via/rules.mk
diff --git a/keyboards/enter80/matrix_diagram.md b/keyboards/kezewa/enter80/matrix_diagram.md
index 716538a4f5..716538a4f5 100644
--- a/keyboards/enter80/matrix_diagram.md
+++ b/keyboards/kezewa/enter80/matrix_diagram.md
diff --git a/keyboards/kezewa/enter80/readme.md b/keyboards/kezewa/enter80/readme.md
new file mode 100644
index 0000000000..eaecf514cb
--- /dev/null
+++ b/keyboards/kezewa/enter80/readme.md
@@ -0,0 +1,27 @@
+# ENTER80 - PCB
+
+![enter80](https://i.imgur.com/rH9m5Ysh.jpg)
+
+80 layout PCB, With caps lock light
+
+* Keyboard Maintainer: https://github.com/LXF-YZP
+* Hardware Supported: enter80 PCB
+* Hardware Availability: [Kezewa](https://kezewa.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make enter80:default
+
+Flashing example for this keyboard:
+
+ make enter80:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/riot_pad/rules.mk b/keyboards/kezewa/enter80/rules.mk
index 7ff128fa69..7ff128fa69 100644
--- a/keyboards/riot_pad/rules.mk
+++ b/keyboards/kezewa/enter80/rules.mk
diff --git a/keyboards/kikoslab/kl90/config.h b/keyboards/kikoslab/kl90/config.h
new file mode 100644
index 0000000000..c77c6e6276
--- /dev/null
+++ b/keyboards/kikoslab/kl90/config.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2021 IntusFacultas <pdelmorallopez@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 ENCODER_MAP_KEY_DELAY 2
diff --git a/keyboards/kikoslab/kl90/keymaps/via/keymap.c b/keyboards/kikoslab/kl90/keymaps/via/keymap.c
index 4dbffe8f77..7534fa2761 100644
--- a/keyboards/kikoslab/kl90/keymaps/via/keymap.c
+++ b/keyboards/kikoslab/kl90/keymaps/via/keymap.c
@@ -16,10 +16,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
+enum Layers {
+ _BASE,
+ _LOWER,
+ _RAISE,
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all(
+[_BASE] = LAYOUT_all(
KC_DEL , KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_MPLY,
KC_F13 , 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_F14 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
@@ -27,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F16 , 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_UP , KC_PGDN,
KC_F17 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-[1] = LAYOUT_all(
+[_LOWER] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -35,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-[2] = LAYOUT_all(
+[_RAISE] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -44,22 +49,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_WH_D);
- } else {
- tap_code(KC_WH_U);
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+};
+#endif
#ifdef OLED_ENABLE
diff --git a/keyboards/kikoslab/kl90/keymaps/via/rules.mk b/keyboards/kikoslab/kl90/keymaps/via/rules.mk
index d03b5f1ca7..16d6a247ec 100644
--- a/keyboards/kikoslab/kl90/keymaps/via/rules.mk
+++ b/keyboards/kikoslab/kl90/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
-WPM_ENABLE = yes \ No newline at end of file
+WPM_ENABLE = yes
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kin80/keymaps/andrew/keymap.c b/keyboards/kin80/keymaps/andrew/keymap.c
deleted file mode 100644
index 1031396880..0000000000
--- a/keyboards/kin80/keymaps/andrew/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright 2022 DmNosachev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layer_names {
- _BASE, // default layer
- _L2 // macros
-};
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- VRSN,
- EMAIL1 // Macro example (type email address)
-};
-
-/*
-*
-*
-* ,-------------------------------------------, ,-------------------------------------------,
-* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | += | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '"/L2 |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Shift | Z | X | C | V | B | | N | M | <, | >. | /? | Shift |
-* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
-* |`~/L2 | <, | Left | Right| | Up | Down | [ | ] |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | Cmd | Opt | | Ctrl | Cmd |
-* ,------|------|------| |------+------+------.
-* | | | Home | | PgUp | | |
-* |Backsp|Delete|------| |------|Enter | Space|
-* | | | End | | PgDn | | |
-* `--------------------' `--------------------'
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = LAYOUT(
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- LT(_L2, KC_GRV), KC_COMM, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
- KC_LCMD, KC_LOPT, KC_RCTL, KC_RCMD,
- KC_HOME, KC_PGUP,
- KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENTER, KC_SPC
- ),
-/*
-*
-*
-* ,-------------------------------------------, ,-------------------------------------------,
-* | F1 | | | | | | |EMAIL1| | |PrnSc | ScrLk| Pause |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | VRSN | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | MbL | MUp | MbR | | |QK_BOOT | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | ML | MDn | MR | | | | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | | | | | | |
-* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
-* | |Insert| | | | | | | |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | | | | | |
-* ,------|------|------| |------+------+------.
-* | | | MWh+ | | | | |
-* | | |------| |------| | |
-* | | | MWh- | | | | |
-* `--------------------' `--------------------'
-*/
-[_L2] = LAYOUT(
- KC_F1, _______, _______, _______, _______, _______, EMAIL1, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, VRSN, _______, _______, _______, _______, _______,
- _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, QK_BOOT, _______, _______, _______, _______, _______,
- _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_INS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_WH_U, _______,
- _______, _______, KC_WH_D, _______, _______, _______
- )
-};
-
-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;
-
- case EMAIL1:
- if (record->event.pressed) {
- SEND_STRING("MyEmail@gmail.com");
- }
- return false;
- break;
- }
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(LED4_PIN, layer_state_cmp(state, _L2));
- return state;
-}
diff --git a/keyboards/kin80/keymaps/maxim/keymap.c b/keyboards/kin80/keymaps/maxim/keymap.c
deleted file mode 100644
index 1e1897f399..0000000000
--- a/keyboards/kin80/keymaps/maxim/keymap.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* Copyright 2022 DmNosachev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layer_names {
- _BASE, // default layer
- _NM, // numpad on right, mouse on left
- _MC // macros
-};
-
-#define MC1 COMP_FR_QUOTES
-#define MC2 COMP_NBSP_EM_DASH
-#define MC3 COMP_NBSP
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- VRSN,
- COMP_FR_QUOTES, // Compose: french quotes
- COMP_NBSP_EM_DASH, // Compose: nbsp followed by em dash
- COMP_NBSP, // Compose: nbsp
- PWD1, // Windows password
- PWD2, // Stand root password
- PWD3, // KP password
- EMAIL1 // Gmail address
-};
-
-/*
-*
-*
-* ,-------------------------------------------- --------------------------------------------.
-* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | PrSc | RAlt |
-* |--------+------+------+------+------+------+ +------+------+------+------+------+--------|
-* | +=/Alt | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
-* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* |`~/NM | A | S | D | F | G | | H | J | K | L | ;: | '"/NM |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? | Shift |
-* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
-* | MC |C+Shft| [ | ] | | Left | Down | Up | Right|
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | Ctl |Enter | | Gui | Ctrl |
-* ,------|------|------| |------+------+------.
-* | | | Home | | PgUp | | |
-* |Space |Backsp|------| |------| Del | Enter|
-* | | | End | | PgDn | | |
-* `--------------------' `--------------------'
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = LAYOUT(
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, KC_RALT,
- LALT_T(KC_EQL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- LCTL_T(KC_GRV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_NM, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_MC), LCTL(KC_LSFT), KC_LBRC, KC_RBRC, KC_LEFT,KC_DOWN, KC_UP, KC_RGHT,
- MO(_NM), KC_ENTER, KC_RGUI,KC_RCTL,
- KC_HOME, KC_PGUP,
- KC_SPC, KC_BSPC, KC_END, KC_PGDN,KC_DEL, KC_ENTER
- ),
-/*
-*
-*
-* ,-------------------------------------------- --------------------------------------------.
-* | F1 | | | | | | | | | | | F11 | F12 |
-* |--------+------+------+------+------+------+ +------+------+------+------+------+--------|
-* | | | | | | | |ScrLk |Numlck| = | / | * | |
-* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
-* | | | MbL | MUp | MbR | Ins | |CapsLk| 7 | 8 | 9 | - | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | ML | MDn | MR | | | | 4 | 5 | 6 | + | L1 |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | . | 1 | 2 | 3 |Enter | |
-* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
-* | | | | | | | | | |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | | | | | |
-* ,------|------|------| |------+------+------.
-* | | |MWhUp | | | | |
-* | | |------| |------| | 0 |
-* | | |MWhDn | | | | |
-* `--------------------' `--------------------'
-*/
-[_NM] = LAYOUT(
- KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, KC_SCRL, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______,
- _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_INS, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_WH_U, _______,
- _______, _______, KC_WH_D, _______, _______, KC_P0
- ),
-/*
-*
-*
-* ,-------------------------------------------- --------------------------------------------.
-* | version| | | | | | |email | | | | | |
-* |--------+------+------+------+------+------+ +------+------+------+------+------+--------|
-* | | | | | | | | | | | | | MC2 |
-* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
-* | | | | |reset | | | | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | | | MC1 | | | |
-* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
-* | | | | | | | | | |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | | | | | |
-* ,------|------|------| |------+------+------.
-* | | | | | | | |
-* | MC3 | |------| |------| | |
-* | | | | | | | |
-* `--------------------' `--------------------'
-*/
-[_MC] = LAYOUT(
- VRSN, _______, _______, _______, _______, _______, EMAIL1, _______, _______, PWD3, PWD2, PWD1,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC2,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, MC1, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- MC3, _______, _______, _______, _______, _______
- )
-};
-
-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;
-
- case COMP_FR_QUOTES:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_RALT)"<<"SS_TAP(X_RALT)">>"SS_TAP(X_LEFT));
- }
- return false;
- break;
-
- case COMP_NBSP_EM_DASH:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_RALT)" "SS_TAP(X_RALT)"--- ");
- }
- return false;
- break;
-
- case COMP_NBSP:
- if (record->event.pressed) {
- SEND_STRING(SS_TAP(X_RALT)" ");
- }
- return false;
- break;
-
- case PWD1:
- if (record->event.pressed) {
- SEND_STRING("password1"SS_TAP(X_ENTER));
- }
- return false;
- break;
-
- case PWD2:
- if (record->event.pressed) {
- SEND_STRING("password2"SS_TAP(X_ENTER));
- }
- return false;
- break;
-
- case PWD3:
- if (record->event.pressed) {
- SEND_STRING("password3"SS_TAP(X_ENTER));
- }
- return false;
- break;
-
- case EMAIL1:
- if (record->event.pressed) {
- SEND_STRING("email@example.com");
- }
- return false;
- break;
- }
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(LED4_PIN, layer_state_cmp(state, _MC));
- return state;
-}
diff --git a/keyboards/kin80/keymaps/roman/keymap.c b/keyboards/kin80/keymaps/roman/keymap.c
deleted file mode 100644
index 34620da97a..0000000000
--- a/keyboards/kin80/keymaps/roman/keymap.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright 2022 DmNosachev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layer_names {
- _BASE, // default layer
- _L2 // macros
-};
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- VRSN,
- EMAIL1 // Macro example (type email address)
-};
-
-/*
-*
-*
-* ,-------------------------------------------, ,-------------------------------------------,
-* | Esc | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | += | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '"/L2 |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | Shift | Z | X | C | V | B | | N | M | <, | >. | /? | Shift |
-* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
-* |`~/L2 | <, | Left | Right| | Up | Down | [ | ] |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* |LCtrl | Alt | | GUI |Shift |
-* ,------|------|------| |------+------+------.
-* | | | Home | | PgUp | | |
-* |Backsp|Delete|------| |------|Enter | Space|
-* | | | End | | PgDn | | |
-* `--------------------' `--------------------'
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = LAYOUT(
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- LT(_L2, KC_GRV), KC_COMM, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
- KC_LCTL, KC_LALT, KC_RGUI, KC_RSFT,
- KC_HOME, KC_PGUP,
- KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENTER, KC_SPC
- ),
-/*
-*
-*
-* ,-------------------------------------------, ,-------------------------------------------,
-* | F1 | | | | | | |EMAIL1| | |PrnSc | ScrLk| Pause |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | VRSN | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | MbL | MUp | MbR | | | | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | ML | MDn | MR | | | | | | | | |
-* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | | | | | | | | | | | |
-* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
-* | |Insert| | | | | | | |
-* `---------------------------' `---------------------------'
-* ,-------------. ,-------------.
-* | | | | Ralt |RCtrl |
-* ,------|------|------| |------+------+------.
-* | | | MWh+ | | | | |
-* | | |------| |------| | |
-* | | | MWh- | | | | |
-* `--------------------' `--------------------'
-*/
-[_L2] = LAYOUT(
- KC_F1, _______, _______, _______, _______, _______, EMAIL1, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, VRSN, _______, _______, _______, _______, _______,
- _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_INS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_WH_U, _______,
- _______, _______, KC_WH_D, _______, _______, _______
- )
-};
-
-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;
-
- case EMAIL1:
- if (record->event.pressed) {
- SEND_STRING("MyEmail@gmail.com");
- }
- return false;
- break;
- }
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _L2:
- writePinHigh(LED4_PIN);
- break;
- default: // for any other layers, or the default layer
- writePinLow(LED4_PIN);
- break;
- }
- return state;
-}
diff --git a/keyboards/kinesis/alvicstep/matrix.c b/keyboards/kinesis/alvicstep/matrix.c
index 07df19e966..e1e637725b 100644
--- a/keyboards/kinesis/alvicstep/matrix.c
+++ b/keyboards/kinesis/alvicstep/matrix.c
@@ -116,7 +116,7 @@ uint8_t matrix_scan(void)
if (matrix_debouncing[i] != row) {
matrix_debouncing[i] = row;
if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
+ dprintf("bounce!: %02X\n", debouncing);
}
debouncing = DEBOUNCE;
}
diff --git a/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c b/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c
deleted file mode 100644
index 7dbb4b9159..0000000000
--- a/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#define DVORAK_MAC_MODE 0 // Base Dvorak in Kinesis's Mac Mode with (Cmd, Option, Ctrl, Cmd) thumbkeys
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[DVORAK_MAC_MODE] = LAYOUT(
- // left hand
- KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_NUM, KC_PWR,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_BSLS,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- KC_GRV, KC_INS, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
-
- KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI,
- KC_HOME, KC_PGUP,
- KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENT, KC_SPC
- )
-};
diff --git a/keyboards/kinesis/keymaps/farmergreg/keymap.c b/keyboards/kinesis/keymaps/farmergreg/keymap.c
deleted file mode 100644
index cae763d8ec..0000000000
--- a/keyboards/kinesis/keymaps/farmergreg/keymap.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 2022 Gregory L. Dietsche <gregory.dietsche@cuw.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * To build this layout run:
- * qmk compile -kb kinesis/kint41 -km farmergreg
- *
- * Layout Details:
- * PROGM + F9 to QK_BOOT and load new firmware.
- * Colemak (default / PROGM+C), Dvorak (PROGM + F4) and QWERTY (PROGM+F3) layouts are available for use
- * CAPS LOCK is ESC (for use in VIM). Double tap to activate CAPS Lock
- * UP and DOWN arrows are swapped to be more like VIM
- * [] and {} are swapped to make programming easier
- */
-
-#include QMK_KEYBOARD_H
-
-
-enum {
- _COLEMAK,
- _DVORAK,
- _QWERTY,
- _QWERTY_GAME,
- _KEYPAD,
- _PROGM,
- _LAYER_COUNT,
-};
-
-/*
- * Tap Dances
- */
-enum tap_dances {
- TD_CAPS, // ESC on tap, CAPS on double tap
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
-};
-
-/*
- * Key Overrides
- */
-const key_override_t lcurlytobracket = ko_make_basic(MOD_MASK_SHIFT, KC_LEFT_BRACKET, KC_LEFT_BRACKET);
-const key_override_t rcurlytobracket = ko_make_basic(MOD_MASK_SHIFT, KC_RIGHT_BRACKET, KC_RIGHT_BRACKET);
-const key_override_t lbrackettocurly = ko_make_basic(0, KC_LEFT_BRACKET, KC_LEFT_CURLY_BRACE);
-const key_override_t rbrackettocurly = ko_make_basic(0, KC_RIGHT_BRACKET, KC_RIGHT_CURLY_BRACE);
-
-const key_override_t **key_overrides = (const key_override_t *[]){
- &lcurlytobracket,
- &rcurlytobracket,
- &lbrackettocurly,
- &rbrackettocurly,
- NULL
-};
-
-/*
- * Key Maps
- */
-const uint16_t PROGMEM keymaps[_LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = {
-[_COLEMAK] = 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_SCRL ,KC_PAUS, TG(_KEYPAD), MO(_PROGM), // I would prefer OSL(_PROGM) but MO emulates what Kinesis does in their firmware.
- KC_EQL , KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
- KC_TAB , KC_Q ,KC_W ,KC_F ,KC_P ,KC_G , KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN,KC_BSLS,
- TD(TD_CAPS), KC_A ,KC_R ,KC_S ,KC_T ,KC_D , KC_H ,KC_N ,KC_E ,KC_I ,KC_O ,KC_QUOT,
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_K ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,
- KC_GRV ,KC_BSLS,KC_LEFT,KC_RGHT, KC_DOWN,KC_UP ,KC_LBRC,KC_RBRC,
-
- KC_LCTL,KC_LALT, KC_RGUI,KC_RCTL,
- KC_HOME, KC_PGUP,
- KC_BSPC,KC_DEL ,KC_END, KC_PGDN,KC_ENT ,KC_SPC
- )
-,[_DVORAK] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_QUOT,KC_COMM,KC_DOT ,KC_P ,KC_Y , KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_SLSH,
- _______,KC_A ,KC_O ,KC_E ,KC_U ,KC_I , KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_QUOT,
- _______,KC_SCLN,KC_Q ,KC_J ,KC_K ,KC_X , KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
-
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- )
-,[_QWERTY] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______,
- _______,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,_______,
- _______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,_______,_______,_______,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- )
-,[_QWERTY_GAME] = LAYOUT( // Shift WASD over to ESDF (QWERTY). Also move T and G
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______, _______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_T ,KC_Q , KC_W ,KC_E ,KC_R , _______,_______,_______,_______,_______,_______,
- _______,KC_G ,KC_A , KC_S ,KC_D ,KC_F , _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
-
- _______,_______, _______,_______,
- _______, _______,
- KC_SPC ,_______,_______, _______,_______,KC_BSPC // SPACE becomes BACKSPACE
- )
-,[_KEYPAD] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______ ,_______,KC_MUTE,KC_VOLD,KC_VOLU,TG(_KEYPAD), _______,
- _______,_______,_______,_______,_______,_______, _______,KC_NUM ,KC_PEQL,KC_PSLS,KC_PAST,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT,_______,
- _______,KC_INS ,_______,_______, _______,_______ ,KC_PDOT,KC_PENT,
-
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,KC_P0
- )
- ,[_PROGM] = LAYOUT(
- _______,_______,_______,DF(_QWERTY),DF(_DVORAK),_______ ,_______,_______,_______, QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______ ,_______ ,_______ , _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______ ,_______ ,DF(_QWERTY_GAME), _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______ ,_______ ,DF(_QWERTY_GAME), _______,_______,_______,_______,_______,_______,
- _______,_______,_______,DF(_COLEMAK),_______ ,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______ ,_______, _______,_______,_______,_______,
-
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- )
-/*
- ,[_TEMPLATE] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
-
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- )
-*/
-};
diff --git a/keyboards/kinesis/keymaps/farmergreg/readme.md b/keyboards/kinesis/keymaps/farmergreg/readme.md
deleted file mode 100644
index f27ee19023..0000000000
--- a/keyboards/kinesis/keymaps/farmergreg/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-[farmergreg](https://github.com/farmergreg)'s kinesis advantage 2 kint41 layout
diff --git a/keyboards/kinesis/keymaps/farmergreg/rules.mk b/keyboards/kinesis/keymaps/farmergreg/rules.mk
deleted file mode 100644
index f6bd054e78..0000000000
--- a/keyboards/kinesis/keymaps/farmergreg/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-BOOTMAGIC_ENABLE = no
-COMMAND_ENABLE = yes
-NKRO_ENABLE = yes
-KEY_OVERRIDE_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/kinesis/keymaps/heatxsink/keymap.c b/keyboards/kinesis/keymaps/heatxsink/keymap.c
deleted file mode 100644
index e430df225a..0000000000
--- a/keyboards/kinesis/keymaps/heatxsink/keymap.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright 2022 Nicholas Granado <ngranado@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _DEFAULT,
- _QWERTY,
- _COLEMAK_MOD_DH,
- _WORKMAN,
- _KEYPAD,
- _LAYERS,
-};
-
-#define DEFAULT DF(_DEFAULT)
-#define QWERTY TO(_QWERTY)
-#define CMMDH TO(_COLEMAK_MOD_DH)
-#define WM TO(_WORKMAN)
-#define KEYPAD TO(_KEYPAD)
-#define LAYERS OSL(_LAYERS)
-#define HCTLESC CTL_T(KC_ESC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_DEFAULT] = 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_SCRL,KC_PAUS,KEYPAD ,QK_BOOT,
- KC_EQL ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
- KC_TAB ,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_BSLS,
- HCTLESC,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_QUOT,
- SC_LSPO,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,SC_RSPC,
- KC_GRV ,LAYERS ,KC_LEFT,KC_RGHT, KC_UP ,KC_DOWN,KC_LBRC,KC_RBRC,
- KC_LALT,KC_LCTL, KC_RCTL,KC_LGUI,
- KC_HOME, KC_PGUP,
- KC_BSPC,KC_DEL ,KC_END , KC_PGDN,KC_ENT ,KC_SPC
- ),
-
- [_QWERTY] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______,
- _______,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,_______,
- _______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- ),
-
- [_COLEMAK_MOD_DH] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B, KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN,_______,
- _______,KC_A ,KC_R ,KC_S ,KC_T ,KC_G, KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,_______,
- _______,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V, KC_K ,KC_H ,KC_COMM,KC_DOT ,KC_SLSH,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- ),
-
- [_WORKMAN] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,KC_Q ,KC_D ,KC_R ,KC_W ,KC_B, KC_J ,KC_F ,KC_U ,KC_P ,KC_SCLN,_______,
- _______,KC_A ,KC_S ,KC_H ,KC_T ,KC_G, KC_Y ,KC_N ,KC_E ,KC_O ,KC_I ,_______,
- _______,KC_Z ,KC_X ,KC_M ,KC_C ,KC_V, KC_K ,KC_L ,KC_COMM,KC_DOT ,KC_SLSH,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- ),
-
- [_KEYPAD] = LAYOUT (
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_NUM, KC_PEQL,KC_PSLS,KC_PAST,_______,
- _______,_______,KC_MUTE,KC_VOLD,KC_VOLU,_______, _______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______,
- _______,KC_MSTP,KC_MPRV,KC_MPLY,KC_MNXT,KC_MSEL, _______,KC_P4, KC_P5, KC_P6, KC_PPLS,_______,
- _______,_______,_______,_______,_______,_______, _______,KC_P1, KC_P2, KC_P3, KC_PENT,_______,
- _______,_______,_______,_______, KC_LPRN,KC_RPRN,KC_PDOT,KC_PENT,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,KC_PENT,KC_P0
- ),
-
- [_LAYERS] = LAYOUT (
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,QWERTY ,CMMDH ,WM ,KEYPAD ,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______,_______
- ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePinHigh(LED_NUM_LOCK_PIN);
- writePinHigh(LED_SCROLL_LOCK_PIN);
- writePinHigh(LED_COMPOSE_PIN);
- writePinHigh(LED_CAPS_LOCK_PIN);
- switch (get_highest_layer(state)) {
- case _QWERTY:
- // Caps Lock Lit
- writePinLow(LED_CAPS_LOCK_PIN);
- break;
- case _COLEMAK_MOD_DH:
- // Num Lock Lit
- writePinLow(LED_NUM_LOCK_PIN);
- break;
- case _WORKMAN:
- // Scroll Lock Lit
- writePinLow(LED_SCROLL_LOCK_PIN);
- break;
- case _KEYPAD:
- // Compose Lit
- writePinLow(LED_COMPOSE_PIN);
- break;
- case _LAYERS:
- // All LEDs Lit
- writePinLow(LED_SCROLL_LOCK_PIN);
- writePinLow(LED_NUM_LOCK_PIN);
- writePinLow(LED_CAPS_LOCK_PIN);
- writePinLow(LED_COMPOSE_PIN);
- break;
- }
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- // disable led_update_kb() so that we do not override layer indicators
- return false;
-}
-
diff --git a/keyboards/kinesis/keymaps/heatxsink/readme.md b/keyboards/kinesis/keymaps/heatxsink/readme.md
deleted file mode 100644
index 83a2b55854..0000000000
--- a/keyboards/kinesis/keymaps/heatxsink/readme.md
+++ /dev/null
@@ -1,165 +0,0 @@
-# heatxsink's keymap for kinesis advantage w/ kinx
-
-## my keymap has three objectives ...
-1. Make it easy to add keyboard layouts (layers).
-2. Easy to swap between keyboard layouts (layers).
-3. Use LED indicators on the kinX controller to provide feedback as to what layer is selected.
-
-## layer description
-0. DEFAULT (function key row, number row, left/right gutter keys, and thumb keys)
-1. QWERTY
-2. CMMDH [Colemak Mod-DH](https://colemakmods.github.io/mod-dh/)
-3. WM [Workman](https://workmanlayout.org/)
-3. Keypad (number pad on the right, media keys on the left)
-
-## layers
-```
-Keymap: DEFAULT
-Description: keys separated by "/" tap for first, hold for second; uses Space Cadet Shifts
-
- ,-------------------------------------------------------------------------------------------------------------------.
- | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F8 | F9 | F10 | F12 | PSCR | SLCK | PAUS |KEYPAD| BOOT |
- |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
- | =+ | 1! | 2@ | 3# | 4$ | 5% | | 6^ | 7& | 8* | 9( | 0) | -_ |
- |--------+------+------+------+------+------| +------+------+------+------+------+--------|
- | Tab | | | | | | | | | | | | \| |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |ESC/CTRL| | | | | | | | | | | | '" |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |SC_Shift| | | | | | | | | | | |SC_Shift|
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | `~ |LAYERS| Left | Right| | Up | Down | [{ | ]} |
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | ALT | CTRL | | CTRL | GUI |
- ,------|------|------| |------+------+------.
- | | | Home | | PgUp | | |
- | BkSp | Del |------| |------|Return| Space|
- | | | End | | PgDn | | |
- `--------------------' `--------------------'
-
-Keymap: LAYERS
-Description: OSL that allows for easy switching between layers.
-
- ,-------------------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | |
- |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
- | |QWERTY|CMMDH |WM |KEYPAD| | | | | | | | |
- |--------+------+------+------+------+------| +------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | | | | | |
- ,------|------|------| |------+------+------.
- | | | | | | | |
- | | |------| |------| | |
- | | | | | | | |
- `--------------------' `--------------------'
-
-Keymap: 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 | ,. | .> | /? | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | | | | | |
- ,------|------|------| |------+------+------.
- | | | | | | | |
- | | |------| |------| | |
- | | | | | | | |
- `--------------------' `--------------------'
-
-Keymap: CMMDH (Colemak Mod-DH)
-
- ,-------------------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | |
- |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| +------+------+------+------+------+--------|
- | | Q | W | F | P | B | | J | L | U | Y | ;: | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | A | R | S | T | G | | M | N | E | I | O | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | Z | X | C | D | V | | K | H | ,. | .> | /? | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | | | | | |
- ,------|------|------| |------+------+------.
- | | | | | | | |
- | | |------| |------| | |
- | | | | | | | |
- `--------------------' `--------------------'
-
-Keymap: WM (Workman)
-
- ,-------------------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | |
- |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| +------+------+------+------+------+--------|
- | | Q | D | R | W | B | | J | F | U | P | ;: | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | A | S | H | T | G | | Y | N | E | O | I | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | Z | X | M | C | V | | K | L | ,. | .> | /? | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | | | | | |
- ,------|------|------| |------+------+------.
- | | | | | | | |
- | | |------| |------| | |
- | | | | | | | |
- `--------------------' `--------------------'
-
-Keymap: KEYPAD
-
- ,-------------------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | |
- |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
- | | | | | | | | |NUMLCK| = | / |PASTE | |
- |--------+------+------+------+------+------| +------+------+------+------+------+--------|
- | | | MUTE | VOL- | VOL+ | | | | 7 | 8 | 9 | - | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | STOP | PREV | PLAY | NEXT |SELECT| | | 4 | 5 | 6 | + | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | 1 | 2 | 3 | ENTER| |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | ( | ) | . | ENTER|
- `---------------------------' `---------------------------'
- ,-------------. ,-------------.
- | | | | | |
- ,------|------|------| |------+------+------.
- | | | | | | | |
- | | |------| |------|ENTER | 0 |
- | | | | | | | |
- `--------------------' `--------------------'
-```
-## requirements
-* K500 or K600 Kinesis Advantage MPC or Advantage 2.
-* [kinx project / stapelberg controller](https://github.com/kinx-project/kint)
-
-## shoutout(s)
-* `stapelberg` self explanitory
-* `jwon` for his LED indicator code
-* `tuesdayjohn` for how he did layers
-
diff --git a/keyboards/kinesis/keymaps/heatxsink/rules.mk b/keyboards/kinesis/keymaps/heatxsink/rules.mk
deleted file mode 100644
index f8c1a24cca..0000000000
--- a/keyboards/kinesis/keymaps/heatxsink/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-BOOTMAGIC_ENABLE = no
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = yes
-NKRO_ENABLE = yes
-SLEEP_LED_ENABLE = yes
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/config.h b/keyboards/kinesis/keymaps/insertsnideremarks/config.h
deleted file mode 100644
index 7749c523f3..0000000000
--- a/keyboards/kinesis/keymaps/insertsnideremarks/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-
-#include "../../config.h"
-
-// place overrides here
-#define TAPPING_TERM 150
-#define TAPPING_TOGGLE 2
-
-
-#endif
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
deleted file mode 100644
index 6275ed0a8d..0000000000
--- a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
+++ /dev/null
@@ -1,480 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum kinesis_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // Qwerty
- _COLEMAKGM, // Colemak gaming/vanilla (limited dual-role keys with layer access)
- _QWERTYGM, // QWERTY gaming/vanilla (limited dual-role keys with layer access)
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Symbols 2 (identical as _NUMBERS; basically used for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer (accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer (accessed outside of tri-layer feature)
-};
-
-enum kinesis_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- COLEMAKGM,
- QWERTYGM,
- NUMPAD = TG(_NUMPAD),
- ADJUST = MO(_ADJUST2),
- SPCFN = LT(_FUNCTION, KC_SPC),
- BSPCFN = LT(_FUNCTION2, KC_BSPC),
- ENTNS = LT(_NUMBERS, KC_ENT),
- DELNS = LT(_NUMBERS2, KC_DEL),
- CTLESC = CTL_T(KC_ESC),
- ALTAPP = ALT_T(KC_APP),
- NKROTG = MAGIC_TOGGLE_NKRO
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPLEQ,
- PMNUN,
- PSLPAS
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMNUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSLPAS] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak
- (Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |Esc/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- |Esc/Ctl| Hyper | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-*/
-[_COLEMAK] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- CTLESC, ALL_T(KC_NO), KC_RALT, KC_RCTL,
- ALTAPP, KC_RGUI,
- SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
-),
-
-/* QWERTY
- (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |Esc/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- |Esc/Ctl| Hyper | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-*/
-[_QWERTY] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- CTLESC, ALL_T(KC_NO), KC_RALT, KC_RCTL,
- ALTAPP, KC_RGUI,
- SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
-),
-
-/* Numbers/Symbols layer
- (Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | ( | ) | [ { | ] } | | | | | |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_NUMBERS2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/* Function layer
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | Up | | | | | | Up |Ctrl+Y| | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | Prev | Play | Next | Stop |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
- _______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/* Numpad layer
- (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | | NumLk| | | | | | Tab | NumLk| KP / | KP * | KP - | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | KP . |KP/KP*| KP- _| KP+ =| | | KP 1 | KP 2 | KP 3 |KP Ent| |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | ( | ) | [ { | ] } | | | KP 0 | KP . |KP Ent|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_NUM, _______, _______, _______, _______, KC_TAB, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______,
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, _______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
- _______, _______, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ), _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, KC_P0, KC_PDOT, KC_PENT,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/* Colemak gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | LCtrl | A | R | S | T | D | | H | N | E | I | O | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Shift | Z | X | C | V | B | | K | M | , | . | / | Shift |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | Esc | | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | | | LAlt | | RGUI | Delete| Bspc |
- | Space | Enter |-------| |-------| / | / |
- | | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
-*/
-[_COLEMAKGM] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- KC_ESC, XXXXXXX, KC_RALT, KC_RCTL,
- KC_LALT, KC_RGUI,
- KC_SPC, KC_ENT, KC_BSPC, ENTNS, DELNS, BSPCFN
-),
-
-/* QWERTY gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | LCtrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | Esc | | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | | | LAlt | | RGUI | Delete| Bspc |
- | Space | Enter |-------| |-------| / | / |
- | | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
-*/
-[_QWERTYGM] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- KC_ESC, XXXXXXX, KC_RALT, KC_RCTL,
- KC_LALT, KC_RGUI,
- KC_SPC, KC_ENT, KC_BSPC, ENTNS, DELNS, BSPCFN
-),
-
-/* Adjust layer
- (Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | QK_BOOT |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | NKRO | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAK);
-// persistent_default_layer_set(1UL << _COLEMAK);
- layer_off ( _QWERTY);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTY);
-// persistent_default_layer_set(1UL << _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case COLEMAKGM:
- if (record->event.pressed) {
- default_layer_set(1UL << _COLEMAKGM);
- layer_off ( _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _QWERTYGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- case QWERTYGM:
- if (record->event.pressed) {
- default_layer_set(1UL << _QWERTYGM);
- layer_off ( _QWERTY);
- layer_off ( _COLEMAK);
- layer_off ( _NUMBERS);
- layer_off ( _NUMBERS2);
- layer_off ( _FUNCTION);
- layer_off ( _FUNCTION2);
- layer_off ( _NUMPAD);
- layer_off ( _COLEMAKGM);
- layer_off ( _ADJUST);
- layer_off ( _ADJUST2);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/readme.md b/keyboards/kinesis/keymaps/insertsnideremarks/readme.md
deleted file mode 100644
index 783c188185..0000000000
--- a/keyboards/kinesis/keymaps/insertsnideremarks/readme.md
+++ /dev/null
@@ -1,226 +0,0 @@
-## I've changed my folder name to match my GitHub username. Please see https://github.com/qmk/qmk_firmware/tree/master/keyboards/kinesis/keymaps/tuesdayjohn for my current keymap files.
-
-## insertsnideremarks' Kinesis Keymap
-
-These layouts are derived from what I was using on my Kinesis Contoured keyboards with Hasu's USB-USB TMK converters. With the move to QMK via Stapelberg replacement controller, I've cleaned up the layouts a bit while adding more functions and layers.
-
-There are minor changes in the base keywell layout of non-alpha keys (e.g., CapsLock is ESC/Ctl, arrow clusters on one side), while the thumb clusters deviate more from the default layout.
-
-Changes to the thumb clusters include:
-* The navigations keys moved to function layers.
-* The function of 2u keys have been reversed - I've always used space with my left thumb, and I find it more helpful to have access to Space and Enter while using my mouse/trackball.
-* Backspace have been duplicated on both clusters.
-* The 2u keys serve dual function as momentary layer switchers.
-
-I've largely left the function keys untouched, with the intension of not using them. They are neither easy to use nor reach due to their locations and size, and the rubber domes used were terrible. They have since replaced the keys with Cherry ML switches on Advantage2, but did not resolve the issues of size or location. Additionally, leaving the function keys unused here makes it easier for me to adapt the keymaps to my other keyboards, most of which do not have physical function keys.
-
-I use Colemak as my default layout. I've included QWERTY here as well.
-
-Additionally, I've added gaming/vanilla version of Colemak and QWERTY layouts. These layouts have limited access to the Function or Numbers/Symbols layers, and are mainly used for gaming.
-
-Persistent default layer has been enabled for Colemak and QWERTY. The gaming/vanilla Colemak and QWERTY can be set as default layer, but will not be persistent.
-
-## Future plans
-
-* Add status LEDs to the Stapelberg PCB (usually used for Caps Lock, Num Lock, and Scroll Lock) to use as layer indicators.
-* Add a speaker now that QMK supports additional pins for audio use.
-* Utilize the leftover spots on the key matrix, as well as unused pins on Teensy++ 2.0 to run macropad and/or foot pedals.
-
-
-### Colemak
- (Default layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |Esc/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- |Esc/Ctl| Hyper | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-
-
-### QWERTY
- (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |Esc/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- |SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- |Esc/Ctl| Hyper | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-
-
-### Numbers & Symbols layer
- (Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | ( | ) | [ { | ] } | | | | | |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-
-
-### Function layer
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | Up | | | | | | Up |Ctrl+Y| | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | Prev | Play | Next | Stop |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-
-
-### Numpad layer
- (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | | NumLk| | | | | | Tab | NumLk| KP / | KP * | KP - | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | KP . |KP/KP*| KP- _| KP+ =| | | KP 1 | KP 2 | KP 3 |KP Ent| |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | ( | ) | [ { | ] } | | KP 0 | , | KP . |KP Ent|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-
-
-### Colemak gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | LCtrl | A | R | S | T | D | | H | N | E | I | O | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Shift | Z | X | C | V | B | | K | M | , | . | / | Shift |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | Esc | | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | | | LAlt | | RGUI | Delete| Bspc |
- | Space | Enter |-------| |-------| / | / |
- | | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
-
-
-### QWERTY gaming/vanilla
- (Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,-----------------------------------------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | LCtrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right|
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | Esc | | | RAlt | RCtl |
- ,-------|-------|-------| |-------+-------+-------.
- | | | LAlt | | RGUI | Delete| Bspc |
- | Space | Enter |-------| |-------| / | / |
- | | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
-
-### Adjust layer
- (Press Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
- ,-----------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------------------------------'
- ,-------------------------------------------. ,-------------------------------------------.
- | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | RESET |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | NKRO | | | | |
- |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- | | | | | | | | | | | | | |
- `--------+------+------+------+------+------' `------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------|-------|-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/rules.mk b/keyboards/kinesis/keymaps/insertsnideremarks/rules.mk
deleted file mode 100644
index 2cd0c1a9dc..0000000000
--- a/keyboards/kinesis/keymaps/insertsnideremarks/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
-#
-DEFAULT_FOLDER = kinesis/stapelberg
-
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
-
diff --git a/keyboards/kinesis/keymaps/jwon/keymap.c b/keyboards/kinesis/keymaps/jwon/keymap.c
deleted file mode 100644
index c23663da92..0000000000
--- a/keyboards/kinesis/keymaps/jwon/keymap.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright 2021 James Won <me@jwon.me>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE_DVORAK,
- _RAISE_DVORAK,
- _KEYPAD,
- _QWERTY,
-};
-
-// Mac-specific macros
-#define MACCOPY LGUI(KC_C)
-#define MACPAST LGUI(KC_V)
-#define MACUNDO LGUI(KC_Z)
-#define MACREDO LGUI(KC_Y)
-#define MACLOCK LGUI(LCTL(KC_Q))
-
-#define LSA_ LSA(KC_NO)
-#define SFT_ESC SFT_T(KC_ESC)
-#define KEYPAD TG(_KEYPAD)
-#define QWERTY TG(_QWERTY)
-#define RAISE MO(_RAISE_DVORAK)
-
-// clang-format off
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_BASE_DVORAK] = LAYOUT (
- MACLOCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, QWERTY, QK_BOOT,
- KC_PIPE, KC_PLUS, KC_LBRC, KC_LCBR, KC_LPRN, KC_AMPR, KC_EQL, KC_RPRN, KC_RCBR, KC_RBRC, KC_ASTR, KC_EXLM,
- KC_TAB, KC_SCLN, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
- SFT_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_LCTL, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- KC_DLR, KC_BSLS, KC_LEFT, KC_RGHT, KC_DOWN, KC_UP, KC_SLSH, KC_AT,
-
- KC_LGUI, KC_LALT, KEYPAD, LSA_,
- MACPAST, MACUNDO,
- KC_BSPC, KC_SPC, MACCOPY, MACREDO, RAISE, KC_ENT
- ),
-
-[_RAISE_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_PERC,
- _______, KC_COLN, KC_LABK, KC_RABK, S(KC_P), S(KC_Y), S(KC_F), S(KC_G), S(KC_C), S(KC_R), S(KC_L), KC_HASH,
- _______, S(KC_A), S(KC_O), S(KC_E), S(KC_U), S(KC_I), S(KC_D), S(KC_H), S(KC_T), S(KC_N), S(KC_S), KC_UNDS,
- _______, KC_DQUO, S(KC_Q), S(KC_J), S(KC_K), S(KC_X), S(KC_B), S(KC_M), S(KC_W), S(KC_V), S(KC_Z), _______,
- KC_TILD, KC_PIPE, _______, _______, _______, _______, KC_QUES, KC_CIRC,
-
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
- ),
-
-[_KEYPAD] = LAYOUT (
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- _______, _______, _______, _______, _______, _______, KC_PDOT, KC_PENT,
-
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, KC_P0
- ),
-
-[_QWERTY] = LAYOUT(
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_GRV, KC_INS, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
-
- KC_LGUI, KC_LALT, KC_RGUI, KC_RCTL,
- KC_HOME, KC_PGUP,
- KC_BSPC, KC_DEL, KC_END , KC_PGDN, KC_ENT, KC_SPC
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _KEYPAD:
- writePinLow(LED_COMPOSE_PIN);
- break;
- case _RAISE_DVORAK:
- writePinLow(LED_NUM_LOCK_PIN);
- break;
- case _QWERTY:
- writePinLow(LED_SCROLL_LOCK_PIN);
- break;
- default: // for any other layers, or the default layer
- writePinHigh(LED_NUM_LOCK_PIN);
- writePinHigh(LED_SCROLL_LOCK_PIN);
- writePinHigh(LED_COMPOSE_PIN);
- break;
- }
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- // Disable led_update_kb() so that layer indication code doesn't get overridden.
- return false;
-}
-
-void matrix_scan_user(void) {
- writePin(LED_CAPS_LOCK_PIN, !(get_mods() & MOD_MASK_SHIFT));
-}
diff --git a/keyboards/kinesis/keymaps/jwon/readme.md b/keyboards/kinesis/keymaps/jwon/readme.md
deleted file mode 100644
index 719e693384..0000000000
--- a/keyboards/kinesis/keymaps/jwon/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-![jwon Programmer Dvorak Layout Image](https://i.imgur.com/3llBswG.png)
-
-# jwon's Programmer Dvorak
-
-Loosely based off [Programmer Dvorak](https://www.kaufmann.no/roland/dvorak/) and ThePrimeagen's [Real Programmers Dvorak](https://github.com/ThePrimeagen/keyboards)
-
-## Requirements
-* The Stapelberg mod
diff --git a/keyboards/kinesis/keymaps/jwon/rules.mk b/keyboards/kinesis/keymaps/jwon/rules.mk
deleted file mode 100644
index 1b8ed21105..0000000000
--- a/keyboards/kinesis/keymaps/jwon/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no
-NKRO_ENABLE = yes
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/config.h b/keyboards/kinesis/keymaps/tuesdayjohn/config.h
deleted file mode 100644
index b0816d6ae5..0000000000
--- a/keyboards/kinesis/keymaps/tuesdayjohn/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-// place overrides here
-#define TAPPING_TERM 175
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
deleted file mode 100644
index ffcb1c3a8d..0000000000
--- a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
+++ /dev/null
@@ -1,430 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum kinesis_layers {
- _COLEMAK, // Colemak (default layer)
- _QWERTY, // QWERTY
- _GAMING, // Gaming/vanilla toggle layer (limited dual-role keys and layer access)
- _NUMBERS, // Numbers & Symbols
- _NUMBERS2, // Numbers & Symbols 2 (identical as _NUMBERS; basically used for tri-layer access to _ADJUST)
- _FUNCTION, // Function
- _FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
- _NUMPAD, // Numpad
- _ADJUST, // Adjust layer (accessed via tri-layer feature)
- _ADJUST2 // Second Adjust layer (accessed outside of tri-layer feature)
-};
-
-enum kinesis_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- GAMING
-};
-
-//Tap Dance Declarations
-enum {
- ADJ = 0,
- LBCB,
- RBCB,
- EQPL,
- PLEQ,
- MNUN,
- SLAS,
- GVTL,
- PPEQ,
- PMUN,
- PSPA
-};
-
-void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on(_ADJUST2);
- set_oneshot_layer(_ADJUST2, ONESHOT_START);
- }
-}
-void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_off(_ADJUST2);
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
-[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
-[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
-[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
-[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
-[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
-[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
-[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
-[PPEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
-[PMUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
-[PSPA] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
-};
-
-//Aliases for longer keycodes
-#define NUMPAD TG(_NUMPAD)
-#define ADJUST MO(_ADJUST2)
-#define SPCFN LT(_FUNCTION, KC_SPC)
-#define BSPCFN LT(_FUNCTION2, KC_BSPC)
-#define ENTNS LT(_NUMBERS, KC_ENT)
-#define DELNS LT(_NUMBERS2, KC_DEL)
-#define CTLESC CTL_T(KC_ESC)
-#define ALTAPP ALT_T(KC_APP)
-#define CTL_A LCTL(KC_A)
-#define CTL_C LCTL(KC_C)
-#define CTL_V LCTL(KC_V)
-#define CTL_X LCTL(KC_X)
-#define CTL_Z LCTL(KC_Z)
-#define CTL_Y LCTL(KC_Y)
-#define CA_TAB LCA(KC_TAB)
-#define HYPER ALL_T(KC_NO)
-#define TD_ADJ TD(ADJ)
-#define TD_LBCB TD(LBCB)
-#define TD_RBCB TD(RBCB)
-#define TD_EQPL TD(EQPL)
-#define TD_PLEQ TD(PLEQ)
-#define TD_MNUN TD(MNUN)
-#define TD_SLAS TD(SLAS)
-#define TD_GVTL TD(GVTL)
-#define TD_PPEQ TD(PPEQ)
-#define TD_PMUN TD(PMUN)
-#define TD_PSPA TD(PSPA)
-#define NKROTG MAGIC_TOGGLE_NKRO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
-Colemak
-(Default layer; keys separated by "/" tap for first, hold for second; uses Space Cadet Shifts)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 |PrtScr|ScrLck| Pause|Numpad|Adjust|
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| ESC/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| SC Shift| Z | X | C | V | B | | K | M | , | . | / | SC Shift|
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | ESC/Ctl| Hyper | | RAlt | RCtl |
- ,--------+--------+--------| |--------+--------+--------.
- | Space | Enter | App/Alt| | RGUI | Delete | Bspc |
- | / | / |--------| |--------| / | / |
- | Fn | Number | Bspc | | Enter | Number2| Fn2 |
- `--------------------------' `--------------------------'
-*/
-[_COLEMAK] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- CTLESC, HYPER, KC_RALT, KC_RCTL,
- ALTAPP, KC_RGUI,
- SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
-),
-
-/*
-QWERTY
-(Keys separated by "/" tap for first, hold for second; uses Space Cadet Shifts)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 |PrtScr|ScrLck| Pause|Numpad|Adjust|
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| ESC/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| SC Shift| Z | X | C | V | B | | N | M | , | . | / | SC Shift|
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | ESC/Ctl| Hyper | | RAlt | RCtl |
- ,--------+--------+--------| |--------+--------+--------.
- | Space | Enter | App/Alt| | RGUI | Delete | Bspc |
- | / | / |--------| |--------| / | / |
- | Fn | Number | Bspc | | Enter | Number2| Fn2 |
- `--------------------------' `--------------------------'
-*/
-[_QWERTY] = 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_SCRL, KC_PAUS, NUMPAD, ADJUST,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- CTLESC, HYPER, KC_RALT, KC_RCTL,
- ALTAPP, KC_RGUI,
- SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
-),
-
-/*
-Numbers/Symbols layer
-(Multiple characters: single-tap for first, double-tap for second)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| | | | | | | | | | | | | | | | | | | |
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | ( | ) | [ { | ] } | | | | | |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | | | | | |
- ,--------+--------+--------| |--------+--------+--------.
- | | | | | | | |
- | | |--------| |--------| | |
- | | | | | | | |
- `--------------------------' `--------------------------'
-*/
-[_NUMBERS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_NUMBERS2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
- _______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/*
-Function layer
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| | | | | | | | | | | | | | | | | | | |
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | | Up | | | | | | Up | Ctrl+Y | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | Ctrl+A | Left | Down | Right | C+A+Tab| | PgUp | Left | Down | Right | Home | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | Ctrl+Z | Ctrl+X | Ctrl+C | Ctrl+V | Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | | | | | | Prev | Play | Next | Stop |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | | | | | |
- ,--------+--------+--------| |--------+--------+--------.
- | | | | | | | |
- | | |--------| |--------| | |
- | | | | | | | |
- `--------------------------' `--------------------------'
-*/
-[_FUNCTION] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_FUNCTION2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
- _______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
- _______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
- _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/*
-Numpad layer
-(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| | | | | | | | | | | | | | | | | | | |
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| | NumLock| | | | | | Tab | NumLock| KP / | KP * | KP - | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | KP . | KP/KP* | KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP Ent | |
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | ( | ) | [ { | ] } | | | KP 0 | KP . | KP Ent |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | | | | | |
- ,--------+--------+--------| |--------+--------+--------.
- | | | | | | | |
- | | |--------| |--------| | |
- | | | | | | | |
- `--------------------------' `--------------------------'
-*/
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_NUM, _______, _______, _______, _______, KC_TAB, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______,
- _______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, _______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
- _______, _______, KC_PDOT, TD_PSPA, TD_MNUN, TD_PPEQ, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, KC_P0, KC_PDOT, KC_PENT,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/*
-Gaming
-(Toggle gaming layer with limited dual-role keys and layer access; NKRO turned on by default; Ent/NS + Delete/Numbers2 to access Adjust layer)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| | | | | | | | | | | | | | | | | | | |
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| | | | | | | | | | | | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | | | | | | | | | | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| LCtrl | | | | | | | | | | | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| Shift | | | | | | | | | | | | Shift |
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | | | | | | | | | |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | ESC |xxxxxxxx| | RAlt | RCtl |
- ,--------+--------+--------| |--------+--------+--------.
- | | | LAlt | | RGUI | Delete | Bspc |
- | Space | Enter |--------| |--------| / | / |
- | | | Bspc | |Enter/NS| Number2| Fn2 |
- `--------------------------' `--------------------------'
-*/
-[_GAMING] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
- _______, _______, _______, _______, _______, _______, _______, _______,
- KC_ESC, XXXXXXX, _______, _______,
- KC_LALT, _______,
- KC_SPC, KC_ENT, _______, ENTNS, _______, _______
-),
-
-/*
-Adjust layer
-(Press and hold Adjust key on the function row or Enter/Number + Delete/Number2 to access; Numpad and NKRO are on toggle)
-,--------------------------------------------------------------. ,--------------------------------------------------------------.
-| | | | | | | | | | | | | | | | | | | |
-`--------------------------------------------------------------' `--------------------------------------------------------------'
-,------------------------------------------------------. ,------------------------------------------------------.
-| | Colemak| QWERTY | | Gaming | | | Numpad | | | | | QK_BOOT |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | | | | | | | | | | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | | | | | | | NKRO | | | | |
-|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
-| | | | | | | | | | | | | |
-`---------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+---------'
- | | | | | | | | | |
- `-----------------------------------' `-----------------------------------'
- ,-----------------. ,-----------------.
- | | | | | |
- ,--------+--------+--------| |--------+--------+--------.
- | | | | | | | |
- | | |--------| |--------| | |
- | | | | | | | |
- `--------------------------' `--------------------------'
-*/
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case COLEMAK:
- if (record->event.pressed) {
-// persistent_default_layer_set(1UL << _COLEMAK);
- default_layer_set(1UL << _COLEMAK);
- layer_move (_COLEMAK);
- keymap_config.nkro = 0;
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
-// persistent_default_layer_set(1UL << _QWERTY);
- default_layer_set(1UL << _QWERTY);
- layer_move (_QWERTY);
- keymap_config.nkro = 0;
- }
- return false;
- break;
- case GAMING:
- if (record->event.pressed) {
- layer_invert (_GAMING);
- layer_off (_NUMPAD);
- keymap_config.nkro = 1;
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/readme.md b/keyboards/kinesis/keymaps/tuesdayjohn/readme.md
deleted file mode 100644
index 88af87e88b..0000000000
--- a/keyboards/kinesis/keymaps/tuesdayjohn/readme.md
+++ /dev/null
@@ -1,219 +0,0 @@
-# TuesdayJohn's Kinesis Keymap
-
-These layouts are derived from what I was using on my Kinesis Contoured keyboards with Hasu's USB-USB TMK converters. With the move to QMK via Stapelberg replacement controller, I've cleaned up the layouts a bit while adding more functions and layers.
-
-There are minor changes in the base keywell layout of non-alpha keys (e.g., CapsLock is ESC/Ctl, arrow clusters on one side), while the thumb clusters deviate more from the default layout.
-
-Changes to the thumb clusters include:
-* The navigations keys moved to function layers.
-* The function of 2u keys have been reversed - I've always used space with my left thumb, and I find it more helpful to have quick and easy access to Space and Enter while using my mouse/trackball.
-* Backspace have been duplicated on both clusters. As with Space and Backspace, I find it helpful to have quick and easy access to Backspace while using my mouse/trackball.
-* The 2u keys serve dual function as momentary layer switchers.
-
-I've largely left the function keys untouched, with the intension of not using them often. They are neither easy to use nor reach due to their locations and size, and Kinesis used not-so-great rubber dome switches for them (Advantage model and earlier). Kinesis have since replaced the keys with Cherry ML switches on Advantage2, but did not resolve the issues of size or location. Additionally, leaving the function keys unused here makes it easier for me to adapt the keymaps to my other keyboards, most of which do not have physical function keys.
-
-I use Colemak as my default layout. I've included QWERTY here as well.
-
-Additionally, there is a gaming layer on toggle. This layer is turned top of either Colemak or QWERTY and have limited access to the Function or Numbers/Symbols layers. Additionally, NKRO is turned on when the layer is turned on.
-
-Persistent default layer has been enabled for Colemak and QWERTY. The gaming/vanilla Colemak and QWERTY can be set as default layer, but will not be persistent.
-
-## Future plans
-
-* Add status LEDs to the Stapelberg PCB (usually used for Caps Lock, Num Lock, and Scroll Lock) to use as layer indicators.
-* Add a speaker now that QMK supports additional pins for audio use.
-* Utilize the leftover spots on the key matrix, as well as unused pins on Teensy++ 2.0 to run macropad and/or foot pedals.
-
-
-## Layers
-
-### Function Keys on all layers
-- 'Numpd' toggles the Numpad layer
-- 'Adjst' is a momentary layer key to access the Adjust layer
-
-```
-,-----------------------------------------------------. ,----------------------------------------------------.
-| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
-`-----------------------------------------------------' `----------------------------------------------------'
-```
-
-### Colemak
-- Default layer
-- Keys separated by "/" tap for first, hold for second
-- Uses [Space Cadet Shifts](https://beta.docs.qmk.fm/features/feature_space_cadet)
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-|ESC/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-|SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- |ESC/Ctl| Hyper | | RAlt | RCtl |
- ,-------+-------+-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-```
-
-### QWERTY
-- Keys separated by "/" tap for first, hold for second
-- Uses [Space Cadet Shifts](https://beta.docs.qmk.fm/features/feature_space_cadet)
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-|ESC/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-|SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | Ins | ` | [ | ] | | Left | Down | Up | Right |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- |ESC/Ctl| Hyper | | RAlt | RCtl |
- ,-------+-------+-------| |-------+-------+-------.
- | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
- | / | / |-------| |-------| / | / |
- | Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
-```
-
-### Numbers & Symbols layer
-- Momentary layer
-- Multiple characters: Single-tap for first, double-tap for second
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | ( | ) | [ { | ] } | | | | | |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------+-------+-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-```
-
-### Function layer
-- Momentary layer
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | | Up | | | | | | Up | Ctrl+Y| | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | Ctrl+A| Left | Down | Right | C+A+Tb| | PgUp | Left | Down | Right | Home | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | Ctrl+Z| Ctrl+X| Ctrl+C| Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | | | | | | Prev | Play | Next | Stop |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------+-------+-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-```
-
-### Numpad layer
-- Toggle layer
-- Left side duplicates layout from the Numbers layer, just with numpad output
-- Right side layout close to PC numpad layout
-- Multiple characters: Single-tap for first, double-tap for second
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| | NumLk | | | | | | Tab | NumLk | KP / | KP * | KP - | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | KP . | KP/KP*| KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP Ent| |
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | ( | ) | [ { | ] } | | KP 0 | , | KP . | KP Ent|
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------+-------+-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
-```
-
-### Gaming
-- Toggle layer with limited access to Function or Numbers layers
-- Mainly used for gaming
-- NKRO turned on by default
-- Press and hold Ent/NS + Delete/Numbers2 to access Adjust layer
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| | | | | | | | | | | | | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | | | | | | | | | | | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| LCtrl | | | | | | | | | | | | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| Shift | | | | | | | | | | | | Shift |
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | | | | | | | | | |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- | ESC |xxxxxxx| | RAlt | RCtl |
- ,-------+-------+-------| |-------+-------+-------.
- | | | LAlt | | RGUI | Delete| Bspc |
- | Space | Enter |-------| |-------| / | / |
- | | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
-```
-
-### Adjust layer
-- Momentary layer
-- Press and hold Adjust key on the function row or Enter/Number + Delete/Number2 to access
-- Gaming, Numpad, and NKRO are on toggle
-
-```
-,------------------------------------------------. ,------------------------------------------------.
-| |Colemak| QWERTY| | Gaming| | | Numpad| | | | | RESET |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | | | | | | | | | | | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | | | | | | | NKRO | | | | |
-|--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+--------|
-| | | | | | | | | | | | | |
-`--------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+--------'
- | | | | | | | | | |
- `-------------------------------' `-------------------------------'
- ,---------------. ,---------------.
- | | | | | |
- ,-------+-------+-------| |-------+-------+-------.
- | | | | | | | |
- | | |-------| |-------| | |
- | | | | | | | |
- `-----------------------' `-----------------------'
- ```
-
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/rules.mk b/keyboards/kinesis/keymaps/tuesdayjohn/rules.mk
deleted file mode 100644
index 390cb3fd60..0000000000
--- a/keyboards/kinesis/keymaps/tuesdayjohn/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-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 = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = yes # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = yes # Enable Tap Dancing function
diff --git a/keyboards/kinesis/keymaps/tw1t611/config.h b/keyboards/kinesis/keymaps/tw1t611/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/kinesis/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kinesis/keymaps/tw1t611/keymap.c b/keyboards/kinesis/keymaps/tw1t611/keymap.c
deleted file mode 100644
index e5fb5519dc..0000000000
--- a/keyboards/kinesis/keymaps/tw1t611/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-#define QWERTZ 0
-#define MOD 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[QWERTZ] = 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_PSCR,KC_SCRL,KC_PAUS,KC_NO ,QK_BOOT,
- _______,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,DE_SS ,
- KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA,
- KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,DE_SLSH,DE_ODIA,
- DE_PIPE,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,DE_COMM,DE_DOT ,DE_MINS,DE_UDIA,
- _______,_______,_______,_______, _______,_______,_______,_______,
- KC_RCTL,KC_LALT, KC_LGUI,KC_LCTL,
- KC_HOME, KC_END ,
- KC_SPC ,KC_LSFT,KC_BSPC , KC_DEL,MO(MOD),KC_ENTER
- ),
-[MOD] = LAYOUT(
- _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- DE_CIRC,DE_QUOT,DE_DQUO,DE_LCBR,DE_RCBR,DE_GRV , KC_HOME,KC_PGDN,KC_PGUP,KC_END ,DE_EQL ,DE_PERC,
- DE_TILD,DE_EXLM,DE_DLR ,DE_LPRN,DE_RPRN,DE_AMPR, KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,DE_QUES,DE_ASTR,
- DE_BSLS,DE_HASH,DE_LABK,DE_LBRC,DE_RBRC,DE_RABK, DE_AT ,DE_EURO,DE_SCLN,DE_COLN,DE_UNDS,DE_PLUS,
- _______,_______,_______,_______, _______,_______,_______,_______,
- _______,_______, _______,_______,
- _______, _______,
- _______,_______,_______, _______,_______ ,_______
- )
-};
diff --git a/keyboards/kinesis/keymaps/tw1t611/readme.md b/keyboards/kinesis/keymaps/tw1t611/readme.md
deleted file mode 100644
index 41b0caa7e2..0000000000
--- a/keyboards/kinesis/keymaps/tw1t611/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-This is a german keymap for the Kinesis Advantage.
diff --git a/keyboards/kinesis/keymaps/tw1t611/rules.mk b/keyboards/kinesis/keymaps/tw1t611/rules.mk
deleted file mode 100644
index 93e7cd8bb7..0000000000
--- a/keyboards/kinesis/keymaps/tw1t611/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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/kinesis/kint36/keymaps/kzar/config.h b/keyboards/kinesis/kint36/keymaps/kzar/config.h
deleted file mode 100644
index 6b03aa6a70..0000000000
--- a/keyboards/kinesis/kint36/keymaps/kzar/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Dave Vandyke <kzar@kzar.co.uk>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#undef LED_COMPOSE_PIN
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
deleted file mode 100644
index 3685e0fe57..0000000000
--- a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
+++ /dev/null
@@ -1,405 +0,0 @@
-/* Copyright 2021 Dave Vandyke <kzar@kzar.co.uk>,
- * Based upon Xyverz's Kinesis keymap Copyright 2017-2020.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layer_names {_QWERTY, _DVORAK, _MAC, _PC, _KEYPAD, _PROGRAM};
-enum my_keycodes {QWERTY = SAFE_RANGE, DVORAK, WIN, MAC, PC, STATUS, PROGRAM};
-
-#define LED_KEYPAD E26
-
-// clang-format off
-
-/*
- QWERTY layer:
- ,---------------------------------------------------------------------------.
- | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
- `---------------------------------------------------------------------------'
- ,---------------------------------------------------------------------------.
- | F9 | F10 | F11 | F12 | PScr | SLck | Pause | Keypad | Prgrm |
- `---------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | ` | \ | Left | Rght | | Up | Dn | [ | ] |
- `---------------------------' `---------------------------'
- ,--------------.,--------------.
- | LCtl | LAlt || LGUI | RCtl |
- ,------|-------|------||------+-------+-------.
- | | | Home || PgUp | Enter | |
- | BkSp | Del |------||------| / | Space |
- | | | End || PgDn | KeyPd | |
- `---------------------'`----------------------'
-
- Dvorak layer:
- ,---------------------------------------------------------------------------.
- | | | | | | | | | |
- `---------------------------------------------------------------------------'
- ,---------------------------------------------------------------------------.
- | | | | | | | | | |
- `---------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | ' | , | . | 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 | |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,--------------.,--------------.
- | | || | |
- ,------|-------|------||------+-------+-------.
- | | | || | | |
- | | |------||------| | |
- | | | || | | |
- `---------------------'`----------------------'
-
- Mac layer:
- ,-------------------------------------------------------------------------------.
- | | | | | | | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------------------------------------------.
- | | | | | | Power | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------.,-------------.
- | LGUI | LAlt || RCtl | RGUI |
- ,------|------|------||------+------+------.
- | | | || | | |
- | | |------||------| | |
- | | | || | | |
- `--------------------'`--------------------'
-
- PC layer:
- ,-------------------------------------------------------------------------------.
- | | | | | | | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------------------------------------------.
- | | | | | | | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------.,-------------.
- | | || RAlt | |
- ,------|------|------||------+------+------.
- | | | || | | |
- | | |------||------| | |
- | | | || | | |
- `--------------------'`--------------------'
-
- Keypad layer:
- ,---------------------------------------------------------------------------.
- | | | | | | | | | |
- `---------------------------------------------------------------------------'
- ,---------------------------------------------------------------------------.
- | | | | | Mute | Vol Down | Vol Up | Keypad | |
- `---------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | | | | | | || | NmLk | KP = | KP / | KP * | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | KP 4 | KP 5 | KP 6 | KP + | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | | INS | | | | | | KP . |KP Ent|
- `---------------------------' `---------------------------'
- ,-------------.,-------------.
- | | || | |
- ,------|------|------||------+------+------.
- | | | || | | |
- | | |------||------| | KP 0 |
- | | | || | | |
- `--------------------'`--------------------'
-
- Program layer:
- ,-------------------------------------------------------------------------------.
- | STATUS | | | QWERTY | DVORAK | | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------------------------------------------.
- | QK_BOOT | | | | | | | | |
- `-------------------------------------------------------------------------------'
- ,-------------------------------------------.,-------------------------------------------.
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- |--------+------+------+------+------+------||------+------+------+------+------+--------|
- | | | | | | || | | | | | |
- `--------+------+------+------+------+------'`------+------+------+------+------+--------'
- | | | | | | | | | |
- `---------------------------' `---------------------------'
- ,-------------.,-------------.
- | | || | |
- ,------|------|------||------+------+------.
- | | | || | | |
- | | |------||------| | |
- | | | || | | |
- `--------------------'`--------------------'
-
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT (
- // Left Hand
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_GRV, KC_NUBS, KC_LEFT, KC_RGHT,
- // Left Thumb
- KC_LCTL, KC_LALT,
- KC_HOME,
- KC_BSPC, KC_DEL, KC_END,
-
- // Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, TG(_KEYPAD), MO(_PROGRAM),
- KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
- // Right Thumb
- KC_LGUI, KC_RCTL,
- KC_PGUP,
- KC_PGDN, KC_ENT, KC_SPC
- ),
-
-[_DVORAK] = LAYOUT (
- // Left Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
- _______, KC_A, KC_O, KC_E, KC_U, KC_I,
- _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
- _______, _______, _______, _______,
- // Left Thumb
- _______, _______,
- _______,
- _______, _______, _______,
-
- // Right Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_D, KC_H, KC_T, KC_N, KC_S, KC_BSLS,
- KC_B, KC_M, KC_W, KC_V, KC_Z, _______,
- _______, _______, _______, _______,
- // Right Thumb
- _______, _______,
- _______,
- _______, _______, _______
- ),
-
-[_MAC] = LAYOUT (
- // Left Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- // Left Thumb
- KC_LGUI, KC_LALT,
- _______,
- _______, _______, _______,
-
- // Right Hand
- _______, _______, _______, _______, _______, KC_PWR, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- // Right Thumb
- KC_RCTL, KC_RGUI,
- _______,
- _______, _______, _______
- ),
-
-[_PC] = LAYOUT (
- // Left Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- // Left Thumb
- _______, _______,
- _______,
- _______, _______, _______,
-
- // Right Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- // Right Thumb
- KC_RALT, _______,
- _______,
- _______, _______, _______
- ),
-
-[_KEYPAD] = LAYOUT (
- // Left Hand
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, KC_INS, _______, _______,
- // Left Thumb
- _______, _______,
- _______,
- _______, _______, _______,
-
- // Right Hand
- _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
- _______, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______,
- _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- _______, _______, KC_PDOT, KC_PENT,
- // Right Thumb
- _______, _______,
- _______,
- _______, _______, KC_P0
- ),
-
-[_PROGRAM] = LAYOUT (
- // Left Hand
- STATUS, _______, _______, QWERTY, DVORAK, MAC, PC, WIN, _______,
- _______, _______, _______, _______ , _______, _______,
- _______, _______, _______, _______ , _______, _______,
- _______, _______, _______, _______ , _______, _______,
- _______, _______, _______, _______ , _______, _______,
- _______, _______, _______ , _______,
- // Left Thumb
- _______, _______,
- _______,
- _______, _______, _______,
-
- // Right Hand
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- // Right Thumb
- _______, _______,
- _______,
- _______, _______, _______
- )
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(LED_KEYPAD, !layer_state_cmp(state, _KEYPAD));
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch (keycode) {
- case QWERTY:
- set_single_persistent_default_layer(_QWERTY);
- return false;
- case DVORAK:
- set_single_persistent_default_layer(_DVORAK);
- return false;
- case MAC:
- layer_on(_MAC);
- layer_off(_PC);
- return false;
- case PC:
- layer_off(_MAC);
- layer_on(_PC);
- return false;
- case WIN:
- layer_off(_MAC);
- layer_off(_PC);
- return false;
- case STATUS:
- SEND_STRING("Firmware> QMK " QMK_VERSION ", " QMK_BUILDDATE "\n");
- SEND_STRING("Keyboard> " QMK_KEYBOARD "\n");
- SEND_STRING("Keymap> " QMK_KEYMAP "\n");
-
- if (layer_state_cmp(default_layer_state, _QWERTY))
- SEND_STRING("Layout> QWERTY\n");
- else
- SEND_STRING("Layout> DVORAK\n");
-
- if (layer_state_is(_MAC))
- SEND_STRING("Thumb keys mode> MAC\n");
- else if (layer_state_is(_PC))
- SEND_STRING("Thumb keys mode> PC\n");
- else
- SEND_STRING("Thumb keys mode> WIN\n");
-
- if (keymap_config.nkro)
- SEND_STRING("NKRO> Enabled\n");
- else
- SEND_STRING("NKRO> Disabled\n");
-
- if (debug_enable)
- SEND_STRING("Debug> Enabled\n");
- else
- SEND_STRING("Debug> Disabled\n");
-
- return false;
- }
- }
-
- return true;
-}
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/readme.md b/keyboards/kinesis/kint36/keymaps/kzar/readme.md
deleted file mode 100644
index b45808892e..0000000000
--- a/keyboards/kinesis/kint36/keymaps/kzar/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Dave's Kinesis Advantage keymap
-
-Kinesis Advantage keymap aiming to emulate the stock controller. QWERTY, DVORAK,
-WIN, MAC, PC, program and keypad layers are all supported, along with the
-keypad LED and RESET + STATUS keys.
-
-Tested with a Kinesis Advantage2, kinT (stapelberg) keyboard controller built
-with a Teensy 3.6 microcontroller and a UK system layout. Originally based upon
-the xyvers keymap.
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/rules.mk b/keyboards/kinesis/kint36/keymaps/kzar/rules.mk
deleted file mode 100644
index a881765128..0000000000
--- a/keyboards/kinesis/kint36/keymaps/kzar/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-COMMAND_ENABLE = yes
-MOUSEKEY_ENABLE = no
-NKRO_ENABLE = yes
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/config.h b/keyboards/kingly_keys/romac/keymaps/boss566y/config.h
deleted file mode 100755
index 8b098b6c0c..0000000000
--- a/keyboards/kingly_keys/romac/keymaps/boss566y/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 boss566y
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c b/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c
deleted file mode 100755
index 6acb55dd53..0000000000
--- a/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2018 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
-
-char oled_layer[20];
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_KP_7, KC_KP_8, KC_KP_9,
- KC_KP_4, KC_KP_5, KC_KP_6,
- KC_KP_1, KC_KP_2, KC_KP_3,
- MO(1), KC_KP_0, KC_KP_DOT
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [4] = 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
- ),
- [5] = 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
- ),
- [6] = 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
- ),
- [7] = 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
- )
-};
-
-
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
-
-bool oled_task_user(void) {
- // Host Keyboard Layer Status
- sprintf(oled_layer,"Layer\nL: %d\n",get_highest_layer(layer_state));
- oled_write(oled_layer,false);
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false);
- return false;
-}
-#endif
diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk b/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk
deleted file mode 100755
index 68d3197896..0000000000
--- a/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-BOOTLOADER = qmk-dfu
-OLED_ENABLE = yes
diff --git a/keyboards/kingly_keys/ropro/keymaps/jdayton3/README.md b/keyboards/kingly_keys/ropro/keymaps/jdayton3/README.md
deleted file mode 100644
index b62ea79e10..0000000000
--- a/keyboards/kingly_keys/ropro/keymaps/jdayton3/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-```
- ,-----------------------------------------------------------------------------------.
- | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- RotEn | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- ,------+------+------+------+------+------+------+------+------+------+------+------+------|
- | PgUp | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- |------+------+------+------+------+------+-------------+------+------+------+------+------|
- | Home | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------+------|
- | PgDn | Brite| Ctrl | ALT | GUI |Lower |SPACE |SPACE |Raise | Left | Down | Up |Right |
- `------------------------------------------------------------------------------------------'
-```
-
-# A Planck-based RoPro layout
-
-Basically all the layers from the default Planck layout, plus a number row, a function row, 3 extra keys, and a rotary encoder.
diff --git a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c b/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c
deleted file mode 100644
index 22e037b6f7..0000000000
--- a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c
+++ /dev/null
@@ -1,287 +0,0 @@
-/* Copyright 2019 Jonathan Dayton (jdayton3)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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;
-
-enum layer_names {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _PLOVER,
- _ADJUST
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- PLOVER,
- BACKLIT,
- EXT_PLV
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * RotEn | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * ,------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgUp | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------|
- * | Home | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgDn | Brite| Ctrl | ALT | GUI |Lower |SPACE |SPACE |Raise | Left | Down | Up |Right |
- * `------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_NO, 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_PGUP, 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_HOME, 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, RGB_TOG, KC_RCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------------------------------------------------------------------------------|
- * RotEn | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * ,------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgUp | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgDn | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `------------------------------------------------------------------------------------------'
- */
- [_COLEMAK] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_NO, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_ESC,
- KC_PGUP, KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_HOME, 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_PGDN, RGB_TOG, KC_RCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------------------------------------------------------------------------------.
- * RotEn | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * ,------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgUp | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgDn | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `------------------------------------------------------------------------------------------'
- */
- [_DVORAK] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_NO, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_PGUP, 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_HOME, 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_PGDN, RGB_TOG, KC_RCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* LOWER
- * ,-----------------------------------------------------------------------------------.
- * |TOGRGB| | | |Sat(-)|Hue(-)|Hue(+)|Sat(+)| | |Brght-|Brght+|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ` | | | | | | | | | | | = |
- * |-----------------------------------------------------------------------------------.
- * RotEn | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * ,------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | End | | | | | | | | Next | Vol- | Vol+ | Play |
- * `------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT(
- RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI,
- KC_GRAVE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQUAL,
- KC_NUM, 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_HOME, 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_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- KC_END, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* RAISE
- * ,-----------------------------------------------------------------------------------.
- * |TOGRGB| | | |Sat(-)|Hue(-)|Hue(+)|Sat(+)| | |Brght-|Brght+|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ` | | | | | | | | | | | = |
- * |-----------------------------------------------------------------------------------.
- * RotEn | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * ,------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | End | | | | | | | | Next | Vol- | Vol+ | Play |
- * `------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT(
- RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI,
- KC_GRAVE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQUAL,
- KC_NUM, 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_HOME, 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_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- KC_END, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Plover layer (http://opensteno.org)
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------------------------------------------------------------------------------.
- * RotEn | # | # | # | # | # | # | # | # | # | # | # | # |
- * ,------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgUp | | S | T | P | H | * | * | F | P | L | T | D |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | | S | K | W | R | * | * | R | B | G | S | Z |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgDn | Exit | | | A | O | | E | U | | | |
- * `------------------------------------------------------------------------------------------'
- */
- [_PLOVER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_NO, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
- KC_PGUP, XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- KC_HOME, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_PGDN, EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------------------------------------------------------------------------------.
- * RotEn | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
- * ,------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgUp | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | Home | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
- * |------|------+------+------+------+------+------+------+------+------+------+------+------|
- * | PgDn | | | | | | | | | | | |
- * `------------------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- KC_NO, _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
- KC_PGUP, _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- KC_HOME, _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_WH_L);
- } else {
- tap_code(KC_WH_R);
- }
- }
- return true;
-}
-
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- case PLOVER:
- if (record->event.pressed) {
- layer_off(_RAISE);
- layer_off(_LOWER);
- layer_off(_ADJUST);
- layer_on(_PLOVER);
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
- keymap_config.raw = eeconfig_read_keymap();
- keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
- }
- return false;
- break;
- case EXT_PLV:
- if (record->event.pressed) {
- layer_off(_PLOVER);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/kingly_keys/ropro/rules.mk b/keyboards/kingly_keys/ropro/rules.mk
index 81181d5245..2fde11543f 100644
--- a/keyboards/kingly_keys/ropro/rules.mk
+++ b/keyboards/kingly_keys/ropro/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
-LAYOUTS_HAS_RGB = yes
diff --git a/keyboards/kingly_keys/soap/rules.mk b/keyboards/kingly_keys/soap/rules.mk
index 81181d5245..2fde11543f 100644
--- a/keyboards/kingly_keys/soap/rules.mk
+++ b/keyboards/kingly_keys/soap/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
-LAYOUTS_HAS_RGB = yes
diff --git a/keyboards/kbdfans/kbd67/rev1/config.h b/keyboards/kira/kira75/config.h
index d876570c80..d876570c80 100644
--- a/keyboards/kbdfans/kbd67/rev1/config.h
+++ b/keyboards/kira/kira75/config.h
diff --git a/keyboards/kira75/info.json b/keyboards/kira/kira75/info.json
index 0a923fa44e..0a923fa44e 100644
--- a/keyboards/kira75/info.json
+++ b/keyboards/kira/kira75/info.json
diff --git a/keyboards/kira75/keymaps/default/keymap.c b/keyboards/kira/kira75/keymaps/default/keymap.c
index e0f5cbe0b7..e0f5cbe0b7 100644
--- a/keyboards/kira75/keymaps/default/keymap.c
+++ b/keyboards/kira/kira75/keymaps/default/keymap.c
diff --git a/keyboards/kira75/keymaps/default/readme.md b/keyboards/kira/kira75/keymaps/default/readme.md
index fcf6f71110..fcf6f71110 100644
--- a/keyboards/kira75/keymaps/default/readme.md
+++ b/keyboards/kira/kira75/keymaps/default/readme.md
diff --git a/keyboards/kira75/kira75.h b/keyboards/kira/kira75/kira75.h
index 8001d69e40..8001d69e40 100644
--- a/keyboards/kira75/kira75.h
+++ b/keyboards/kira/kira75/kira75.h
diff --git a/keyboards/kira/kira75/readme.md b/keyboards/kira/kira75/readme.md
new file mode 100644
index 0000000000..a30b60d179
--- /dev/null
+++ b/keyboards/kira/kira75/readme.md
@@ -0,0 +1,15 @@
+# Kira 75
+
+![kira75](imgur.com image replace me!)
+
+75% keyboard designed by thesiscamper
+
+Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
+Hardware Supported: Kira 75
+Hardware Availability: Group Buy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kira/kira75: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/kira75/rules.mk b/keyboards/kira/kira75/rules.mk
index 609fcf84a8..609fcf84a8 100644
--- a/keyboards/kira75/rules.mk
+++ b/keyboards/kira/kira75/rules.mk
diff --git a/keyboards/kira80/info.json b/keyboards/kira/kira80/info.json
index 0ec9e0b258..0ec9e0b258 100644
--- a/keyboards/kira80/info.json
+++ b/keyboards/kira/kira80/info.json
diff --git a/keyboards/kira80/keymaps/ansi/keymap.c b/keyboards/kira/kira80/keymaps/ansi/keymap.c
index cadda95908..cadda95908 100644
--- a/keyboards/kira80/keymaps/ansi/keymap.c
+++ b/keyboards/kira/kira80/keymaps/ansi/keymap.c
diff --git a/keyboards/kira80/keymaps/ansi/readme.md b/keyboards/kira/kira80/keymaps/ansi/readme.md
index 183eeaf748..183eeaf748 100644
--- a/keyboards/kira80/keymaps/ansi/readme.md
+++ b/keyboards/kira/kira80/keymaps/ansi/readme.md
diff --git a/keyboards/kira80/keymaps/ansi_wkl/keymap.c b/keyboards/kira/kira80/keymaps/ansi_wkl/keymap.c
index d3b1130a11..d3b1130a11 100644
--- a/keyboards/kira80/keymaps/ansi_wkl/keymap.c
+++ b/keyboards/kira/kira80/keymaps/ansi_wkl/keymap.c
diff --git a/keyboards/kira80/keymaps/ansi_wkl/readme.md b/keyboards/kira/kira80/keymaps/ansi_wkl/readme.md
index 6e87b5dca3..6e87b5dca3 100644
--- a/keyboards/kira80/keymaps/ansi_wkl/readme.md
+++ b/keyboards/kira/kira80/keymaps/ansi_wkl/readme.md
diff --git a/keyboards/kira80/keymaps/default/keymap.c b/keyboards/kira/kira80/keymaps/default/keymap.c
index c433b4351c..c433b4351c 100644
--- a/keyboards/kira80/keymaps/default/keymap.c
+++ b/keyboards/kira/kira80/keymaps/default/keymap.c
diff --git a/keyboards/kira80/keymaps/default/readme.md b/keyboards/kira/kira80/keymaps/default/readme.md
index 1441cdf666..1441cdf666 100644
--- a/keyboards/kira80/keymaps/default/readme.md
+++ b/keyboards/kira/kira80/keymaps/default/readme.md
diff --git a/keyboards/kira80/keymaps/iso/keymap.c b/keyboards/kira/kira80/keymaps/iso/keymap.c
index a6502d5ffa..a6502d5ffa 100644
--- a/keyboards/kira80/keymaps/iso/keymap.c
+++ b/keyboards/kira/kira80/keymaps/iso/keymap.c
diff --git a/keyboards/kira80/keymaps/iso/readme.md b/keyboards/kira/kira80/keymaps/iso/readme.md
index 538d1f5945..538d1f5945 100644
--- a/keyboards/kira80/keymaps/iso/readme.md
+++ b/keyboards/kira/kira80/keymaps/iso/readme.md
diff --git a/keyboards/kira80/keymaps/via/keymap.c b/keyboards/kira/kira80/keymaps/via/keymap.c
index ab04b07a0a..ab04b07a0a 100644
--- a/keyboards/kira80/keymaps/via/keymap.c
+++ b/keyboards/kira/kira80/keymaps/via/keymap.c
diff --git a/keyboards/kira80/keymaps/via/readme.md b/keyboards/kira/kira80/keymaps/via/readme.md
index a72e88c8ba..a72e88c8ba 100644
--- a/keyboards/kira80/keymaps/via/readme.md
+++ b/keyboards/kira/kira80/keymaps/via/readme.md
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/rules.mk b/keyboards/kira/kira80/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/rules.mk
+++ b/keyboards/kira/kira80/keymaps/via/rules.mk
diff --git a/keyboards/kira/kira80/readme.md b/keyboards/kira/kira80/readme.md
new file mode 100644
index 0000000000..c9816a1246
--- /dev/null
+++ b/keyboards/kira/kira80/readme.md
@@ -0,0 +1,50 @@
+# Kira 80/TKL
+
+![kira80](https://i.imgur.com/QnGKnaml.jpg)
+![kira80pcb](https://i.imgur.com/wrEZhg5l.jpg)
+
+Custom TKL keyboard designed and made by Thesiscamper and EVE
+
+* Keyboard Maintainer: [elmo-space](https://github.com/elmo-space)
+* Hardware Supported: Kira 80 PCB made by EVE
+* Hardware Availability: limited [Group Buy](https://geekhack.org/index.php?topic=96381.0) finished
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kira/kira80:default
+
+Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+
+ make kira/kira80:default:flash
+
+**Reset Key:** Hold down the key located at `K102`, commonly programmed as 'Pause' while plugging in the keyboard.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Hardware Information
+
+Controller: ATmega32A
+
+### Pinout:
+
+|Pin |Use | |Pin |Use |
+|----|---------|-|----|---------------|
+|`A1`|Column 0 | |`B1`|Row 0 |
+|`A2`|Column 1 | |`B2`|Row 1 |
+|`A3`|Column 2 | |`B3`|Row 2 |
+|`A4`|Column 3 | |`B5`|Row 3 |
+|`A5`|Column 4 | |`B6`|Row 4 |
+|`A6`|Column 5 | |`B7`|Row 5 |
+|`A7`|Column 6 | |`B0`|Row 6 |
+|`C7`|Column 7 | | | |
+|`C6`|Column 8 | |`D1`|Caps Lock LED |
+|`C5`|Column 9 | |`D6`|Scroll Lock LED|
+|`C4`|Column 10| |`D4`|Backlight |
+|`C3`|Column 11| | | |
+|`A0`|Column 12| |`D2`|USB D+ |
+|`C2`|Column 13| |`D3`|USB D- |
+|`D7`|Column 14| | | |
+
+### Layout matrix:
+
+![matrix](https://i.imgur.com/FqjTNQS.png)
diff --git a/keyboards/kira80/rules.mk b/keyboards/kira/kira80/rules.mk
index f761646203..f761646203 100644
--- a/keyboards/kira80/rules.mk
+++ b/keyboards/kira/kira80/rules.mk
diff --git a/keyboards/kira75/config.h b/keyboards/kira75/config.h
deleted file mode 100644
index d876570c80..0000000000
--- a/keyboards/kira75/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2018 MechMerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/kira75/readme.md b/keyboards/kira75/readme.md
deleted file mode 100644
index 5ab0b3f2cc..0000000000
--- a/keyboards/kira75/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Kira 75
-
-![kira75](imgur.com image replace me!)
-
-75% keyboard designed by thesiscamper
-
-Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
-Hardware Supported: Kira 75
-Hardware Availability: Group Buy
-
-Make example for this keyboard (after setting up your build environment):
-
- make kira75: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/kira80/readme.md b/keyboards/kira80/readme.md
deleted file mode 100644
index 535e191bf4..0000000000
--- a/keyboards/kira80/readme.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Kira 80/TKL
-
-![kira80](https://i.imgur.com/QnGKnaml.jpg)
-![kira80pcb](https://i.imgur.com/wrEZhg5l.jpg)
-
-Custom TKL keyboard designed and made by Thesiscamper and EVE
-
-* Keyboard Maintainer: [elmo-space](https://github.com/elmo-space)
-* Hardware Supported: Kira 80 PCB made by EVE
-* Hardware Availability: limited [Group Buy](https://geekhack.org/index.php?topic=96381.0) finished
-
-Make example for this keyboard (after setting up your build environment):
-
- make kira80:default
-
-Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
-
- make kira80:default:flash
-
-**Reset Key:** Hold down the key located at `K102`, commonly programmed as 'Pause' while plugging in the keyboard.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Hardware Information
-
-Controller: ATmega32A
-
-### Pinout:
-
-|Pin |Use | |Pin |Use |
-|----|---------|-|----|---------------|
-|`A1`|Column 0 | |`B1`|Row 0 |
-|`A2`|Column 1 | |`B2`|Row 1 |
-|`A3`|Column 2 | |`B3`|Row 2 |
-|`A4`|Column 3 | |`B5`|Row 3 |
-|`A5`|Column 4 | |`B6`|Row 4 |
-|`A6`|Column 5 | |`B7`|Row 5 |
-|`A7`|Column 6 | |`B0`|Row 6 |
-|`C7`|Column 7 | | | |
-|`C6`|Column 8 | |`D1`|Caps Lock LED |
-|`C5`|Column 9 | |`D6`|Scroll Lock LED|
-|`C4`|Column 10| |`D4`|Backlight |
-|`C3`|Column 11| | | |
-|`A0`|Column 12| |`D2`|USB D+ |
-|`C2`|Column 13| |`D3`|USB D- |
-|`D7`|Column 14| | | |
-
-### Layout matrix:
-
-![matrix](https://i.imgur.com/FqjTNQS.png)
diff --git a/keyboards/kmac/readme.md b/keyboards/kmac/readme.md
deleted file mode 100644
index 47dbaa847f..0000000000
--- a/keyboards/kmac/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# KMAC
-
-A Korean custom keyboard designed by Byungho Kim and the KBDMania community.
-
-Keyboard Maintainer: [Mathias Andersson](https://github.com/wraul)
-Hardware Supported: KMAC & KMAC 2
-Hardware Availability: http://www.kbdmania.net/xe/news/5232321
-
-Make example for this keyboard (after setting up your build environment):
-
- make kmac:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-The PCB is hardwired to run the bootloader if the key at the `Caps Lock` position is held down when connecting the keyboard.
-
-## PCB versions
-
-The KMAC are available with two different PCB layouts, a winkey version and a winkeyless version. A default keymap are provided for each versions of the PCB.
diff --git a/keyboards/kmac_pad/readme.md b/keyboards/kmac_pad/readme.md
deleted file mode 100644
index 7605501f3a..0000000000
--- a/keyboards/kmac_pad/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# KMAC PAD
-
-![kmac_pad](https://i.imgur.com/4P1ybgNl.jpg)
-
-KMAC PAD is a num pad keyboard.
-It can be used independently, but can also be used by connecting with KMAC keyboard case.
-
-* Keyboard Maintainer: [talsu](https://github.com/talsu)
-* Hardware Supported: KMAC PAD
-* Hardware Availability: http://www.kbdmania.net/xe/news/5232321
-
-Make example for this keyboard (after setting up your build environment):
-
- make kmac_pad:default
-
-Flashing example for this keyboard:
-
- make kmac_pad:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-The PCB is hardwired to run the bootloader if the key at the `FN` position (the only key in first row) is held down when connecting the keyboard.
-
-## PCB
-
-![Imgur](https://i.imgur.com/ML66cvfl.jpg)
-![Imgur](https://i.imgur.com/Kr2Wdtkl.jpg)
-
-### Switch Pins
-
-The FN key in the `Row 0` is directly connected to the E2 pin.
-The rest of the rows below that use MATRIX. (`Row 1 ~ Row 5`)
-| Row | Pin |
-|:-----:| ---------------------- |
-| 0 | x (Not in Matrix) |
-| 1 | D0 |
-| 2 | D1 |
-| 3 | D2 |
-| 4 | D3 |
-| 5 | D5 |
-
-| Column | Pin |
-|:------:| --------------------- |
-| 0 | C7 |
-| 1 | C6 |
-| 2 | B6 |
-| 3 | B5 |
-
-### Backlight Pins
-
-There are 2 pins for backlight.
-
-The LED of the FN key uses pin `B3`.
-All other keys are connected to the `B1` pin.
diff --git a/keyboards/kprepublic/bm16a/v2/config.h b/keyboards/kprepublic/bm16a/v2/config.h
index 4f8f76b6b8..3ef55f3d42 100644
--- a/keyboards/kprepublic/bm16a/v2/config.h
+++ b/keyboards/kprepublic/bm16a/v2/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 16
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_DMA_STREAM STM32_DMA1_STREAM7
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
deleted file mode 100644
index 72377c2701..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2021 Taeyoon Kim (@partrita)
-// SPDX-License-Identifier: GPL-2.0-or-later
-// /*
-// Set any config.h overrides for your specific keymap here.
-// See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
-// */
-#pragma once
-
-#define TAPPING_TERM 200 // time of holding key, milliseconds
-
-// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define QUICK_TAP_TERM 0
-
-// Mouse key speed and acceleration.
-#undef MOUSEKEY_DELAY
-#define MOUSEKEY_DELAY 0
-#undef MOUSEKEY_INTERVAL
-#define MOUSEKEY_INTERVAL 16
-#undef MOUSEKEY_WHEEL_DELAY
-#define MOUSEKEY_WHEEL_DELAY 0
-#undef MOUSEKEY_MAX_SPEED
-#define MOUSEKEY_MAX_SPEED 6
-#undef MOUSEKEY_TIME_TO_MAX
-#define MOUSEKEY_TIME_TO_MAX 64
-
-// The firmware is too large!
-#define COMBO_TERM 80 // timeout period for combos to 40ms.
-
-//disable broken animations
-#ifdef RGB_MATRIX_ENABLE
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# undef RGB_MATRIX_DEFAULT_MODE
-// # define RGBLIGHT_HUE_STEP 20
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c
deleted file mode 100644
index 09490aa940..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2021 Taeyoon Kim (@partrita)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keymap_korean.h"
-
-enum layers {
- _Base,
- _Navi,
- _Numb,
- _Func,
-};
-
-// Left-hand home row mods - Base Layer
-#define HOME_A LGUI_T(KC_A)
-#define HOME_S LALT_T(KC_S)
-#define HOME_D LCTL_T(KC_D)
-#define HOME_F LSFT_T(KC_F)
-#define HOME_J RSFT_T(KC_J)
-#define HOME_K LCTL_T(KC_K)
-#define HOME_L LALT_T(KC_L)
-#define HOME_QU LGUI_T(KC_QUOT)
-
-// layer keys
-#define Lay_SPC LT(_Func,KC_SPC)
-#define NAVI MO(_Navi)
-#define NUMB MO(_Numb)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_Base] = LAYOUT_planck_mit(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
- HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_NO, KC_NO, KC_H, HOME_J, HOME_K, HOME_L, HOME_QU,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_NO, KC_NO, KC_NO, NAVI, Lay_SPC, KC_NO, KC_BSPC, NUMB, KC_NO, KC_NO, KC_NO
- ),
- [_Navi] = LAYOUT_planck_mit(
- KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ESC, KC_NO, KC_NO, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- KC_LSFT, HOME_S, HOME_D, HOME_F, KC_TAB, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU,
- KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, KC_NO, KC_NO, KC_BTN2, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [_Numb] = LAYOUT_planck_mit(
- KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NO, KC_NO, KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU,
- KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KR_HAEN, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_0, KC_MINS, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [_Func] = LAYOUT_planck_mit(
- KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_NO, KC_NO, KC_CAPS, KC_RSFT, HOME_K, HOME_L, HOME_QU,
- KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KR_HAEN, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-};
-
-
-// color by layer
-layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = get_highest_layer(state);
- switch (layer) {
- case _Navi:
- rgblight_mode_noeeprom(RGB_MATRIX_RAINBOW_BEACON);
- break;
- case _Numb:
- rgblight_mode_noeeprom(RGB_MATRIX_HUE_PENDULUM);
- break;
- case _Func:
- rgblight_mode_noeeprom(RGB_MATRIX_GRADIENT_LEFT_RIGHT);
- break;
- default:
- rgblight_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_WIDE);
- }
- return state;
-}
-
-// COMBO key for HOME ROW modifier
-// modify `rules.mk` file
-// by adding # COMBO_ENABLE = yes
-
-enum combos {
- SFT_HAN,
-};
-
-const uint16_t PROGMEM sft_han_combo[] = {LSFT_T(KC_F), LT(_Func,KC_SPC), COMBO_END};
-
-combo_t key_combos[] = {
- [SFT_HAN] = COMBO(sft_han_combo, KC_LNG1),
-};
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md
deleted file mode 100644
index 31ac2602b6..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# The 35 keymap for bm40hsrgb
-
-This layout is made almost entirely from [miryoku](https://github.com/manna-harbour/miryoku). However, I used fewer layers and reduced 36 keys to 34.
-
-> As little as possible, as simple as possible, as easy as possible to memorize
-
-Replaced the Ctrl, GUI, Alt, and Shift keys with home mod row. A combo function was added by removing some RGB animations of the bm40's keyboard to free up memory. If animation is not removed, it is because there is not enough memory to compile. Added code that uses RGB matrix animation so that you can see at a glance which layer is being used, and you can move faster by increasing the speed of the mouse key.
-
-And because I'm Korean, a combo for Korean and English keyboard conversion has been added, but if you don't need it, you can delete it.
-
-
-- Flash:
-
- `qmk flash -kb kprepublic/bm40hsrgb -km 34keys`
-
-# Layout
-
-Press and hold to activate the keys in parentheses.
-
-
-https://imgur.com/a/UkKfCYm
-
-
-## _BASE(QWERTY)
-
-![](https://i.imgur.com/PuHFVXT.png)
-
-
-| Q | W | E | R | T | | | Y | U | I | O | P |
-|---|---|---|---|---|---|---|---|---|---|---|---|
-| A(GUI) | S(Alt) | D(Ctrl) | F(Shift) | G | | | H | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
-| Z | X| C| V| B| | | N | M | , | . | /|
-| | | | NaviLayer| Space(_Func) | | | Backspace | NumberLayer | | | |
-
-## _Navi
-
-![](https://i.imgur.com/BwDHx64.png)
-
-| Mousewheel left | Mousewheel down | Mousewheel up | Mousewheel right | ESC | | | DEL | HOME | PageDown | PageUP | END |
-|---|---|---|---|---|---|---|---|---|---|---|---|
-| A(GUI) | S(Alt) | D(Ctrl) | F(Shift) | TAB | | | ENTER | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
-| Mouse left | Mouse down | Mouse up| Mouse right | left click | | | left click | Left | Down | Up | Right |
-| | | | | Space | | | Backspace | NumberLayer | | | |
-
-## _Numb
-
-![](https://i.imgur.com/lPPyUsk.png)
-
-| [ | 7 | 8 | 9 | ] | | | DEL | | | | |
-|---|---|---|---|---|---|---|---|---|---|---|---|
-| ; | 4 | 5 | 6 | = | | | ENTER | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
-| ` | 1 | 2 | 3 | \ | | | | | | | |
-| | | | 0| - | | | Backspace | | | | |
-
-## _Func
-
-![](https://i.imgur.com/rz0jaoe.png)
-
-| F12 | F7 | F8 | F9 | PrintScreen | | | RESET | | | | |
-|---|---|---|---|---|---|---|---|---|---|---|---|
-| F11 | F4 | F5 | F6 | ScrollLock | | | CapsLock | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
-| F10 | F1 | F2 | F3 | PauseBreak | | | Insert | | | | |
-| | | | NaviLayer | Space | | | Backspace | NumberLayer | | | |
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk
deleted file mode 100644
index 96655e7b5a..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-BOOTMAGIC_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-COMBO_ENABLE = yes
-EXTRAKEY_ENABLE = yes
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h
deleted file mode 100644
index ca8a4c6ab4..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define LAYER_STATE_8BIT
-
-#define TURBO_ENABLE
-#define HOLD_ON_OTHER_KEY_PRESS
-
-// RGB Matrix effects disable
-#ifdef RGB_MATRIX_ENABLE
-# define UNDERGLOW_DISABLE
-
-# define RGB_TRIGGER_ON_KEYDOWN
-
-# define RGB_MATRIX_LED_FLUSH_LIMIT 10
-
-# undef ENABLE_RGB_MATRIX_SOLID_COLOR
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# undef ENABLE_RGB_MATRIX_DUAL_BEACON
-# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# undef ENABLE_RGB_MATRIX_RAINDROPS
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# undef ENABLE_RGB_MATRIX_HUE_BREATHING
-# undef ENABLE_RGB_MATRIX_HUE_PENDULUM
-# undef ENABLE_RGB_MATRIX_HUE_WAVE
-# undef ENABLE_RGB_MATRIX_PIXEL_RAIN
-# undef ENABLE_RGB_MATRIX_PIXEL_FLOW
-# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# undef ENABLE_RGB_MATRIX_SPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-// Feature disable
-#ifndef NO_PRINT
-# define NO_PRINT
-#endif
-
-#ifndef NO_DEBUG
-# define NO_DEBUG
-#endif
-
-#ifndef NO_ACTION_ONESHOT
-# define NO_ACTION_ONESHOT
-#endif
-
-// Configure features
-#ifdef DYNAMIC_MACRO_ENABLE
-# define DYNAMIC_MACRO_USER_CALL
-# define DYNAMIC_MACRO_NO_NESTING
-#endif
-
-#ifdef MOUSEKEY_ENABLE
-# define MOUSEKEY_INTERVAL 16 // 60 FPS
-
-// Speed up the slowest preset
-# define MK_C_OFFSET_0 4
-# define MK_C_INTERVAL_0 16
-
-// Speed up the medium preset
-# define MK_C_OFFSET_1 16
-
-# define MK_3_SPEED
-#endif \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
deleted file mode 100644
index 3d5bcade20..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
+++ /dev/null
@@ -1,301 +0,0 @@
-// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- MCR_PLY = QK_USER, // Macro play
- MCR_REC, // Macro record
- MCR_SWT, // Swap active macro
- MS_ACL_U, // Mouse speed up
- MS_ACL_D, // Mouse speed down
-};
-
-enum layout_names {
- _MAIN = 0, // Keys Layout: The main keyboard layout that has all the characters
- _SUB, // Extension to Main
- _CTR, // Macros, RGB, Audio controls, layer access. More or less the control center of my keyboard
- #ifdef MOUSEKEY_ENABLE
- _MSE,
- #endif // MOUSEKEY_ENABLE
- _END,
-};
-
-#ifdef MOUSEKEY_ENABLE
-#include "action.h"
-#define TOG_MSE TG(_MSE)
-static int current_accel = 0;
-#else
-#define TOG_MSE XXXXXXX
-#endif // MOUSEKEY_ENABLE
-
-#ifdef DYNAMIC_MACRO_ENABLE
-// Macro 1 is = 1, Macro 2 = -1, No macro = 0
-static bool MACRO1 = true; // Determines whether or not we're using 1 or 2
-static bool RECORDING = false;
-static uint16_t REC = DM_REC1; // Record either macro 1 or 2. Or stop recording
-static uint16_t PLY = DM_PLY1; // Play either macro 1 or macro 2
-
-void dynamic_macro_record_start_user(int8_t direction) {
- REC = DM_RSTP;
- RECORDING = true;
-}
-
-void dynamic_macro_record_end_user(int8_t direction) {
- RECORDING = false;
-}
-#else
-#define MCR_PLY KC_NO
-#define MCR_REC KC_NO
-#define MCR_SWT KC_NO
-#endif // DYNAMIC_MACRO_ENABLE
-
-#ifdef TURBO_ENABLE
-static bool turbo_active = false; // Only changed by TRBO_ST
-static uint16_t turbo_keycode = KC_NO; // turbo_active can't be true if this is KC_NO
-static bool turbo_key_pressed = false;
-static bool turbo_keycode_selecting = false; // Determine new keycode or delay mode switch
-static bool turbo_ms_delay_direction = true; // True is raise the delay, false is lower it
-static uint16_t turbo_ms_delay_direction_indicator = 0;
-static uint16_t turbo_ms_delay = 100; // Start at sending keycodes 10 times a second
-static uint16_t turbo_timer; // Changed semi automatically
-/*
- * Because the KC's are wrapped in `LT()` they won't be interpreted as KC_NO or KC_TRNS
- * Instead they'll just be like any other custom KC which will let me use them how I want
-*/
-#define TRBO_ST LT(_CTR, KC_NO )
-#define TRBO_TI LT(_CTR, KC_TRNS)
-#else
-#define TRBO_ST KC_NO
-#define TRBO_TI KC_NO
-#endif
-
-const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_planck_mit(
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LGUI, XXXXXXX,KC_LALT ,MO(_SUB), KC_SPC ,MO(_CTR), KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
- ),
- [_SUB] = LAYOUT_planck_mit(
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL,
- XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_PGUP,
- _______, KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX, KC_HOME, KC_END , KC_BSLS, KC_PGDN,
- _______, _______, XXXXXXX, _______, _______, _______ , _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
- [_CTR] = LAYOUT_planck_mit(
- XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC,
- XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY,
- XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT,
- XXXXXXX, XXXXXXX, XXXXXXX, TRBO_TI, TRBO_ST, TOG_MSE, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
- #ifdef MOUSEKEY_ENABLE
- ,[_MSE] = LAYOUT_planck_mit(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_WH_D, KC_WH_U, KC_BTN2, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_ACL_D, TOG_MSE, MS_ACL_U,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
- #endif // MOUSEKEY_ENABLE
-};
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define LAYER (get_highest_layer(layer_state))
-#define LAYER_SIZE (MATRIX_ROWS * MATRIX_COLS)
-#define BRIGHTNESS rgb_matrix_get_val()
-
-#ifdef UNDERGLOW_DISABLE
-void keyboard_pre_init_user(void) {
- for (int key_id = 0; key_id < RGB_MATRIX_LED_COUNT; key_id++ ) {
- if (g_led_config.flags[key_id] == LED_FLAG_UNDERGLOW) {
- g_led_config.flags[key_id] = LED_FLAG_NONE;
- }
- }
-}
-#endif // UNDERGLOW_DISABLE
-
-bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- if (LAYER == _MAIN) {return false;}
-
- for (uint8_t i = led_min; i <= led_max; i++) {
- uint8_t pos = ((uint8_t*)g_led_config.matrix_co)[i];
- if (!HAS_ANY_FLAGS(g_led_config.flags[pos], (LED_FLAG_MODIFIER | LED_FLAG_KEYLIGHT))) {continue;}
- uint16_t KC = pgm_read_word(&((uint16_t*)keymaps)[(LAYER_SIZE * LAYER) + i]);
-
- switch (KC) {
- case KC_NO:
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0 );
- break;
-
- #ifdef DYNAMIC_MACRO_ENABLE
- case MCR_SWT:
- if (!MACRO1) { RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, BRIGHTNESS, BRIGHTNESS); }
- break;
-
- case MCR_REC:
- if (RECORDING) { RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, 0, 0); }
- break;
- #endif // DYNAMIC_MACRO_ENABLE
-
- #ifdef TURBO_ENABLE
- case TRBO_ST:
- if (turbo_keycode_selecting) {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, BRIGHTNESS, BRIGHTNESS);
- } else {
- if (turbo_active) {
- if (turbo_key_pressed) {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, BRIGHTNESS, BRIGHTNESS);
- } else {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0);
- }
- }
- }
- break;
-
- case TRBO_TI:
- if (turbo_ms_delay_direction_indicator != 0) {
- uint8_t time = timer_elapsed(turbo_ms_delay_direction_indicator) / 200;
- if (time > 0) {
- if ((time % 2) == 1) {
- if (turbo_ms_delay_direction) {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, BRIGHTNESS, 0);
- } else {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, 0, 0);
- }
- } else {
- RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0);
- }
- if (time >= 6) {
- turbo_ms_delay_direction_indicator = 0;
- }
- }
- }
- break;
- #endif
-
- }
- }
- return false;
-}
-#endif
-
-#ifdef TURBO_ENABLE
-void housekeeping_task_user(void) {
- if (turbo_active) {
- if (turbo_key_pressed) {
- if (timer_elapsed(turbo_timer) > turbo_ms_delay) {
- unregister_code(turbo_keycode);
- turbo_key_pressed = false;
- turbo_timer = timer_read();
- }
- } else {
- if (timer_elapsed(turbo_timer) > (turbo_ms_delay / 2)) {
- register_code(turbo_keycode);
- turbo_key_pressed = true;
- }
- }
- }
-}
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- #ifdef DYNAMIC_MACRO_ENABLE
- if (keycode == MCR_REC) {keycode = REC;}
- if (keycode == MCR_PLY) {keycode = PLY;}
- if (!process_dynamic_macro(keycode, record)) {
- REC = (MACRO1 ? DM_REC1 : DM_REC2);
- return false;
- }
- #endif // DYNAMIC_MACRO_ENABLE
-
- #ifdef MOUSEKEY_ENABLE
- if ((keycode == MS_ACL_U) || (keycode == MS_ACL_D)) {
- if (record->event.pressed) {
- if ( (keycode == MS_ACL_U) && (current_accel < 2) ) { current_accel += 1; }
- if ( (keycode == MS_ACL_D) && (current_accel > 0) ) { current_accel -= 1; }
- }
- keycode = KC_ACL0 + current_accel;
- action_t mousekey_action = action_for_keycode(keycode);
- process_action(record, mousekey_action);
- }
- #endif // MOUSEKEY_ENABLE
-
- #ifdef TURBO_ENABLE
- if (record->event.pressed) {
- if (turbo_keycode_selecting) {
- if (IS_BASIC_KEYCODE(keycode) ||
- IS_MODIFIER_KEYCODE(keycode) ||
- IS_JOYSTICK_KEYCODE(keycode) ||
- IS_MOUSE_KEYCODE(keycode))
- {
- unregister_code(turbo_keycode);
- turbo_key_pressed = false;
- turbo_keycode = keycode;
- turbo_keycode_selecting = false;
- }
- }
- }
- #endif
-
- switch (keycode) {
- #ifdef DYNAMIC_MACRO_ENABLE
- case MCR_SWT:
- if (!RECORDING && record->event.pressed) {
- // if the button is pressed and we're not recording
- MACRO1 = !MACRO1;
- if (MACRO1) {
- REC = DM_REC1;
- PLY = DM_PLY1;
- } else {
- REC = DM_REC2;
- PLY = DM_PLY2;
- }
- }
- return false;
- #endif // DYNAMIC_MACRO_ENABLE
-
- #ifdef TURBO_ENABLE
- case TRBO_ST:
- if (record->event.pressed) {
- if (!record->tap.count) {
- turbo_keycode_selecting = !turbo_keycode_selecting;
- } else {
- if (turbo_keycode != KC_NO) {
- if (!turbo_active) {
- turbo_keycode_selecting = false;
- turbo_active = true;
- } else {
- unregister_code(turbo_keycode);
- turbo_key_pressed = false;
- turbo_active = false;
- }
- }
- }
- }
- return false;
-
- case TRBO_TI:
- if (record->event.pressed) {
- if (!record->tap.count) {
- turbo_ms_delay_direction = !turbo_ms_delay_direction;
- turbo_ms_delay_direction_indicator = timer_read();
- } else {
- if (turbo_ms_delay_direction)
- turbo_ms_delay += 20;
- else
- turbo_ms_delay -= 20;
-
- if (turbo_ms_delay > 500) // half a second
- turbo_ms_delay = 500;
- if (turbo_ms_delay < 60) // Around 16 times a second
- turbo_ms_delay = 60;
- }
- }
- return false;
- #endif
-
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md
deleted file mode 100644
index 980f559d71..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Kprepublic BM40HSRGB Coffee
-
-A layout that aims to be familiar to people that have used larger boards
-
-## The layout
-
-The primary layer ( `_MAIN` ) is as close to standard qwerty as I could get.
-| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-|-----|------|------|---|-----|-----|-----|-----|-----|-----|-----|----|------|
-| 1 | esc | q | w | e | r | t | y | u | i | o | p | bksp |
-| 2 | tab | a | s | d | f | g | h | j | k | l | ; | ' |
-| 3 | shft | z | x | c | v | b | n | m | , | . | / | rtrn |
-| 4 | ctrl | win | | alt | SUB | spc | <- | CTR | lft | dwn | up | rght |
-
-The secondary layer ( `_SUB` ) is for syntax, F keys, and number keys
-| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-|-----|-----|----|----|----|-----|-----|-----|----|------|-----|----|------|
-| 1 | grv | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | del |
-| 2 | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | pgup |
-| 3 | _ | F7 | F8 | F9 | F10 | F11 | F12 | | home | end | \ | pgdn |
-| 4 | _ | _ | | _ | _ | _ | <- | _ | | | | |
-
-The control layer ( `_CTR` ) is for lighting, media, and macros
-| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-|-----|---|-------|------|---------|---------|---------|-----|------|------|------|----|---------|
-| 1 | | SPD- | BRI+ | SPD+ | HUE+ | SAT+ | | | VOL+ | | | MCR_REC |
-| 2 | | EFCT- | BRI- | EFCT+ | HUE- | SAT- | | PREV | PLAY | NEXT | | MCR_PLY |
-| 3 | | | TOG | | | | | | VOL- | | | MCR_SWT |
-| 4 | | | | TRBO_TI | TRBO_ST | MSE_TOG | <- | | | | | |
-
-The mouse layer ( `_MSE` ) is for making the keyboard function as a mouse as well
-| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-|-----|---|------|------|------|-------|---------|-----|-------|-------|-------|-------|----|
-| 1 | | | | | | | | | | | | |
-| 2 | | MS_L | MS_D | MS_U | MS_R | | | L_CLC | SCR_D | SCR_U | R_CLC | |
-| 3 | | | | | | | | | | | | |
-| 4 | | | | | ACL_D | MSE_TOG | <- | ACL_U | | | | |
-
-| Key name | Explanation |
-|----------|----------------------------------------------|
-| \_ | Passthrough the key on the layer below |
-| <- | Same key as imediate left. Used for spacebar |
-| SUB | Goes to _SUB layer while held down |
-| CTR | Goes to _CTR layer while held down |
-| MSE_TOG | Toggles the mouse layer on or off |
-| SPD +/- | Changes speed for the RGB effect |
-| BRI +/- | Changes the brightness of the lighting |
-| EFCT +/- | Moves to the next/previous effect |
-| TOG | Toggles the lighting on or off |
-| HUE +/- | Changes the hue for RGB effects |
-| SAT +/- | Changes the saturation for RGB effects |
-| MSE | Toggles the Mouse layer |
-| VOL +/- | Raises or lowers media volume |
-| PREV | Goes to previous media |
-| PLAY | Play/Pause media |
-| NEXT | Goes to next media |
-| MCR_REC | Record macro ( Press again to stop ) |
-| MCR_PLY | Play recorded macro |
-| MCR_SWT | Switch active macro |
-| MS_L | Move mouse cursor left |
-| MS_U | Move mouse cursor up |
-| MS_D | Move mouse cursor down |
-| MD_R | Move mouse cursor right |
-| L_CLC | Mouse left click |
-| R_CLC | Mouse right click |
-| SCR_U | Mouse scroll up |
-| SCR_D | Mouse scroll down |
-| ACL_U | Raise mouse/scroll speed |
-| ACL_D | Lower mouse/scroll speed |
-| TRBO_ST | Set turbo key (Hold), start/stop turbo (Tap) |
-| TRBO_TI | Turbo speed +/- (Hold to switch direction) |
-
-## Compiling
-
-Compiling: `make kprepublic/bm40hsrgb:coffee`
-
-Flashing: `make kprepublic/bm40hsrgb:coffee:flash`
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk
deleted file mode 100644
index 1f143e6026..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-MOUSEKEY_ENABLE = yes
-NKRO_ENABLE = yes
-DYNAMIC_MACRO_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h
deleted file mode 100644
index 67e81609ae..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2021 Dan Kim (@syntax-magic)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define TAPPING_TERM 136
-#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.c
deleted file mode 100644
index 5576612f9a..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.c
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2021-2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @file custom_shift_keys.c
- * @brief Custom Shift Keys implementation
- *
- * For full documentation, see
- * <https://getreuer.info/posts/keyboards/custom-shift-keys>
- */
-
-#include "custom_shift_keys.h"
-
-bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record) {
- static uint16_t registered_keycode = KC_NO;
-
- // If a custom shift key is registered, then this event is either releasing
- // it or manipulating another key at the same time. Either way, we release
- // the currently registered key.
- if (registered_keycode != KC_NO)
- {
- unregister_code16(registered_keycode);
- registered_keycode = KC_NO;
- }
-
- if (record->event.pressed)
- { // Press event.
- const uint8_t mods = get_mods();
-
-#ifndef NO_ACTION_ONESHOT
- if ((mods | get_weak_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT)
- {
-#else
- if ((mods | get_weak_mods()) & MOD_MASK_SHIFT)
- { // Shift is held.
-#endif // NO_ACTION_ONESHOT
- // Search for a custom key with keycode equal to `keycode`.
- for (int i = 0; i < NUM_CUSTOM_SHIFT_KEYS; ++i)
- {
-
- if (keycode == custom_shift_keys[i].keycode)
- {
- // Continue default handling if this is a tap-hold key being held.
- if (((QK_MOD_TAP <= keycode && keycode <= QK_MOD_TAP_MAX) || (QK_LAYER_TAP <= keycode && keycode <= QK_LAYER_TAP_MAX)) && record->tap.count == 0)
- {
- return true;
- }
-
-#ifndef NO_ACTION_ONESHOT
- del_oneshot_mods(MOD_MASK_SHIFT);
-#endif // NO_ACTION_ONESHOT
- del_mods(MOD_MASK_SHIFT);
- del_weak_mods(MOD_MASK_SHIFT);
- send_keyboard_report();
- registered_keycode = custom_shift_keys[i].shifted_keycode;
- register_code16(registered_keycode);
- set_mods(mods); // Restore the mods.
- return false;
- }
- }
- }
- }
-
- return true; // Continue with default handling.
-}
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.h b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.h
deleted file mode 100644
index d6cb7a9fdd..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/features/custom_shift_keys.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2021-2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @file custom_shift_keys.h
- * @brief Custom shift keys: customize what keycode is produced when shifted.
- *
- * Overview
- * --------
- *
- * This library implements custom shift keys, keys where you can customize
- * what keycode is produced when shifted.
- *
- * Step 1: In your keymap.c, define a table of custom shift keys like
- *
- * #include "features/custom_shift_keys.h"
- *
- * const custom_shift_key_t custom_shift_keys[] = {
- * {KC_DOT , KC_QUES}, // Shift . is ?
- * {KC_COMM, KC_EXLM}, // Shift , is !
- * {KC_MINS, KC_EQL }, // Shift - is =
- * {KC_COLN, KC_SCLN}, // Shift : is ;
- * };
- *
- * Each row defines one key. The first field is the keycode as it appears in
- * your layout and determines what is typed normally. The second entry is what
- * you want the key to type when shifted.
- *
- * Step 2: Handle custom shift keys from your `process_record_user` function as
- *
- * bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- * if (!process_custom_shift_keys(keycode, record)) { return false; }
- * // Your macros ...
- *
- * return true;
- * }
- *
- * Step 3: add `features/custom_shift_keys.c` to your rules.mk as
- *
- * SRC += features/custom_shift_keys.c
- *
- *
- * For full documentation, see
- * <https://getreuer.info/posts/keyboards/custom-shift-keys>
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Custom shift key entry. The `keycode` field is the keycode as it appears in
- * your layout and determines what is typed normally. The `shifted_keycode` is
- * what you want the key to type when shifted.
- */
-typedef struct {
- uint16_t keycode;
- uint16_t shifted_keycode;
-} custom_shift_key_t;
-
-/** Table of custom shift keys. */
-extern const custom_shift_key_t custom_shift_keys[];
-/** Number of entries in the `custom_shift_keys` table. */
-extern uint8_t NUM_CUSTOM_SHIFT_KEYS;
-
-/**
- * Handler function for custom shift keys.
- *
- * In keymap.c, call this function from your `process_record_user` function as
- *
- * #include "features/custom_shift_keys.h"
- *
- * bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- * if (!process_custom_shift_keys(keycode, record)) { return false; }
- * // Your macros ...
- *
- * return true;
- * }
- */
-bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
deleted file mode 100644
index 54b4652fdf..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* Copyright 2020 tominabox1
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "features/custom_shift_keys.h"
-
-enum layers {
- _ALPHA,
- _LEFTFN,
- _NUMPAD,
- _RIGHTFN,
- _MOBA,
- _FPS1,
- _FPS2,
- _STRAT,
- _ARROWS,
- _CLEAN,
- _RGB
-};
-
-#define ALPHA TO(_ALPHA)
-#define LEFTFN MO(_LEFTFN)
-#define NUMPAD MO(_NUMPAD)
-#define RIGHTFN MO(_RIGHTFN)
-#define MOBA TG(_MOBA)
-#define FPS1 TG(_FPS1)
-#define FPS2 TG(_FPS2)
-#define STRAT TG(_STRAT)
-#define ARROWS TG(_ARROWS)
-#define CLEAN TG(_CLEAN)
-#define RGB MO(_RGB)
-
-// Tap dance declarations
-enum {
- TD_PAST_PSLS,
- TD_PASTE_COPY
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_PAST_PSLS] = ACTION_TAP_DANCE_DOUBLE(KC_PAST, KC_PSLS),
- [TD_PASTE_COPY] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_V), LCTL(KC_C))
-};
-
-// Custom shift implementation
-const custom_shift_key_t custom_shift_keys[] = {
- {KC_LNG1, KC_LNG2},
- {KC_LT, KC_COMM},
- {KC_GT, KC_DOT},
- {KC_LCBR, KC_LBRC},
- {KC_RCBR, KC_RBRC}
-};
-
-uint8_t NUM_CUSTOM_SHIFT_KEYS = sizeof(custom_shift_keys) / sizeof(custom_shift_key_t);
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record)
-{
- if ( !process_custom_shift_keys(keycode, record)) { return false; }
-
- return true;
-}
-
-// Keymaps
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* ALPHA
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc |KOR/HN| Win | Alt |LEFTFN| Space |RFN/- | = |Delete| \ | Enter|
- * `-----------------------------------------------------------------------------------'
- */
-[_ALPHA] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- LT(NUMPAD, KC_ESC), KC_LNG1, KC_LGUI, KC_LALT, LEFTFN, KC_SPC, LT(RIGHTFN, KC_MINS), KC_EQL, KC_DEL, KC_BSLS, KC_PENT
-),
-
-/* LEFTFN
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Left | Down | Up |Right |Ctrl+/|PrntSc| { | } | ) | : | " |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| [ | ] | Home | End | PGUP | PGDN | ( | < | > | / |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB | Caps | Ins | Alt | Trns | Space | _ | + |Delete| | | Enter|
- * `-----------------------------------------------------------------------------------'
- */
-[_LEFTFN] = LAYOUT_planck_mit(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SLSH), KC_PSCR, KC_LCBR, KC_RCBR, KC_RPRN, KC_COLN, KC_DQUO,
- KC_LSFT, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_LPRN, KC_LT, KC_GT, KC_SLSH, KC_ENT,
- RGB, KC_CAPS, KC_INS, KC_LALT, KC_TRNS, KC_SPC, KC_UNDS, KC_PLUS, KC_DEL, KC_PIPE, KC_PENT
-),
-
-/* NUMPAD
- * ,-----------------------------------------------------------------------------------.
- * | *or/ | 7 | 8 | 9 | NumLk| | | | | | | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Alt | 4 | 5 | 6 |Return| | | | | | Shift| |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | - | 1 | 2 | 3 | Bksp | | | | , | . | Ctrl |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Trns | , | + | . | 0 | Space | MOBA | FPS1 | FPS2 | STRAT|ARROWS|
- * `-----------------------------------------------------------------------------------'
- */
-[_NUMPAD] = LAYOUT_planck_mit(
- TD(TD_PAST_PSLS), KC_P7, KC_P8, KC_P9, KC_NUM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
- KC_LALT, KC_P4, KC_P5, KC_P6, KC_ENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_NO,
- KC_PMNS, KC_P1, KC_P2, KC_P3, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_COMM, KC_DOT, KC_LCTL, KC_ENT,
- KC_TRNS, KC_COMM, KC_PPLS, KC_PDOT, KC_P0, KC_SPC, MOBA, FPS1, FPS2, STRAT, ARROWS
-),
-
-/* RIGHTFN
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | F12 | F11 | F10 | F9 | Pause|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | | | | | | F8 | F7 | F6 | F5 |Scllck|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| | | | | | | F4 | F3 | F2 | F1 | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | Alt | | Space | Trns | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_RIGHTFN] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_F11, KC_F10, KC_F9, KC_PAUS,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F8, KC_F7, KC_F6, KC_F5, KC_SCRL,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F3, KC_F2, KC_F1, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO
-),
-
-/* MOBA
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | 5 | Y | | | O | P | ESC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | | | | | L | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | 6 | 4 | 1 | B | | | | | |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | 3 | X | C | Alt | 2 | Space | | | | | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_MOBA] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_NO, KC_NO, KC_O, KC_P, KC_ESC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_L, KC_NO, KC_NO,
- KC_LSFT, KC_Z, KC_6, KC_4, KC_1, KC_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
- KC_3, KC_X, KC_C, KC_LALT, KC_2, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
-),
-
-/* FPS1
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | 1 | A | S | D | F | G | H | J | K | L | | F7 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | 3 | X | C | V | B | M | , | . | | F9 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | 5 | 4 | Alt | 2 | Space | 6 | 8 | 7 | 9 | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_FPS1] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
- KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_F7,
- KC_LSFT, KC_Z, KC_3, KC_X, KC_C, KC_V, KC_B, KC_M, KC_COMM, KC_DOT, KC_NO, KC_F9,
- KC_LCTL, KC_5, KC_4, KC_LALT, KC_2, KC_SPC, KC_6, KC_8, KC_7, KC_9, ALPHA
-),
-
-/* FPS2
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | 1 | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | | Alt | 2 | Space | Bksp | | | | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_FPS2] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
- KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_2, KC_SPC, KC_BSPC, KC_NO, KC_NO, KC_NO, ALPHA
-),
-
-/* STRAT
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Return|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | | | Alt | F1 | Space | F10 | Pause|Delete| | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_STRAT] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_ESC, KC_NO, KC_NO, KC_LALT, KC_F1, KC_SPC, KC_F10, KC_PAUS, KC_DEL, KC_NO, ALPHA
-),
-
-/* ARROWS
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | Up | E | R | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | A | Left | Down | Right| F | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | | Alt | S | Space | | | | | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_ARROWS] = LAYOUT_planck_mit(
- KC_TAB, KC_Q, KC_UP, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_A, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_S, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
-),
-
-/* CLEAN
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | ALPHA|
- * `-----------------------------------------------------------------------------------'
- */
-[_CLEAN] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
-),
-
-/* RGB (LEFTFN + RGB)
- * v------------------------RGB CONTROL--------------------v
- * ,-----------------------------------------------------------------------------------.
- * | Mute | Reset| MS_U | BR B | BR F | | | MOD R| MOD B| FX+ | |CLEAN |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | MS_L | MS_D | MS_R |Return|PST/CO| | MOD P| MOD S| FX- | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| MCK | RCK | LCK | Bksp | | | BRT+ | MOD+ | SAT+ | HUE+ | MS 0 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Trns | VOL- | VOL+ | WL U | WL D | Space | BRT- | MOD- | SAT- | HUE- |RGBTGL|
- * `-----------------------------------------------------------------------------------'
- */
-[_RGB] = LAYOUT_planck_mit(
- KC_MUTE, QK_BOOT, KC_MS_U, KC_WBAK, KC_WFWD, KC_NO, KC_NO, RGB_M_R, RGB_M_B, RGB_SPI, KC_NO, CLEAN,
- KC_LCTL, KC_MS_L, KC_MS_D, KC_MS_R, KC_ENT, TD(TD_PASTE_COPY), KC_NO, RGB_M_P, RGB_M_SW, RGB_SPD, KC_NO, KC_NO,
- KC_LSFT, KC_BTN3, KC_BTN2, KC_BTN1, KC_BSPC, KC_NO, KC_NO, RGB_VAI, RGB_MOD, RGB_SAI, RGB_HUI, KC_ACL0,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_WH_U, KC_WH_D, KC_SPC, RGB_VAD, RGB_RMOD, RGB_SAD, RGB_HUD, RGB_TOG
-)
-
-};
-
-/*
-// Key Matrix to LED Index
-{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11},
-{12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23},
-{24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35},
-{36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46}
-*/
-bool rgb_matrix_indicators_user(void) {
- uint8_t red[3] = {22, 2, 0};
- uint8_t yellow[3] = {20, 22, 0};
- uint8_t blue[3] = {0, 6, 20};
- uint8_t green[3] = {14, 22, 0};
- uint8_t purple[3] = {6, 0, 22};
- uint8_t white[3] = {255, 255, 255};
-
- switch (get_highest_layer(layer_state)) {
- case _ALPHA:
- break;
- case _LEFTFN:
- break;
- case _RIGHTFN:
- break;
- case _NUMPAD:
- break;
- case _MOBA:
- rgb_matrix_set_color(16, red[0], red[1], red[2]);
- rgb_matrix_set_color(15, yellow[0], yellow[1], yellow[2]);
- rgb_matrix_set_color(29, blue[0], blue[1], blue[2]);
- rgb_matrix_set_color(10, purple[0], purple[1], purple[2]);
- break;
- case _FPS1:
- rgb_matrix_set_color(43, green[0], green[1], green[2]);
- break;
- case _FPS2:
- rgb_matrix_set_color(44, green[0], green[1], green[2]);
- break;
- case _STRAT:
- rgb_matrix_set_color(45, green[0], green[1], green[2]);
- break;
- case _ARROWS:
- rgb_matrix_set_color(46, green[0], green[1], green[2]);
- break;
- case _CLEAN:
- rgb_matrix_set_color_all(white[0], white[1], white[2]);
- break;
- case _RGB:
- rgb_matrix_set_color(1, blue[0], blue[1], blue[2]);
- break;
- }
-
- led_t led_state = host_keyboard_led_state();
- //Capslock led
- if (led_state.caps_lock) {
- rgb_matrix_set_color(0, green[0], green[1], green[2]);
- }
- //Numlock led
- if (led_state.num_lock) {
- } else {
- rgb_matrix_set_color(11, green[0], green[1], green[2]);
- }
- //Scroll lock led
- if (led_state.scroll_lock) {
- rgb_matrix_set_color(23, green[0], green[1], green[2]);
- }
- return false;
-}
-
-// Turn of RGB Matrix Effect
-void keyboard_post_init_user(void) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
- rgb_matrix_sethsv_noeeprom(HSV_OFF);
-}
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
deleted file mode 100644
index 72764d1408..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# Dan's KPrepublic BM40 Keymap
-
->This is my personal keymap with an LED indicator support for num lock, caps lock and scroll lock.
-
-![](https://i.imgur.com/2yclc1B.jpg)
-> * Case: Poseidon PSD40 Case
-> * Plate: Brass
-> * Keycaps: WOB ABS Cherry Profile
-> * Switches: Gazzew Boba U4t (62g 2 stage long spring)
-
-<br />
-
-### BM40 LED INDEX
-**_Numlock ( 11 ) Capslock ( 0 or 12 ) Scroll lock ( 23 )_**
-
-| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
-|---------|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
-| **_1_** | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
-| **_2_** | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
-| **_3_** | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
-| **_4_** | &nbsp;&nbsp;&nbsp;36 | &nbsp;&nbsp;&nbsp;37 | &nbsp;&nbsp;&nbsp;38 | &nbsp;&nbsp;&nbsp;&nbsp;39 | &nbsp;&nbsp;&nbsp;&nbsp;40 | &nbsp;&nbsp;&nbsp;41 | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;42 | &nbsp;&nbsp;&nbsp;43 | &nbsp;&nbsp;&nbsp;44 | &nbsp;&nbsp;&nbsp;45 | &nbsp;&nbsp;&nbsp;46 |
-
-<br />
-
-## LED INDICATOR EXAMPLES
-![](https://i.imgur.com/qpkRNio.jpg)
-![](https://i.imgur.com/GfG252J.jpg)
-> * Case: SM Keyboards Planck/Niu Mini Acrylic Case
-> * Plate: Acrylic
-> * Keycaps: Drop + biip MT3 Extended 2048 Katakana
-> * Switches: Everglide Aqua King (62g 2 stage long spring)
-
-<br />
-
-## KEYMAP LAYOUT EXAMPLES
-### ALPHA
-
-| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
-|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
-| **_1_** | TAB | Q | W | E | R | T | Y | U | I | O | P | BSP |
-| **_2_** | CTL | A | S | D | F | G | H | J | K | L | ; | ' |
-| **_3_** | SFT | Z | X | C | V | B | N | M | , | . | / | RET |
-| **_4_** | &nbsp;Esc | KOR | WIN | &nbsp;&nbsp;ALT | &nbsp;&nbsp;&nbsp;FN | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- | &nbsp;&nbsp;&nbsp;&nbsp;= | DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\\ | ENT |
->This is a base layer for typing.
-
-<br />
-
-### LEFTFN MO(FN)
-
-| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
-|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
-| **_1_** | \` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSP |
-| **_2_** | CTL | LFT | DN | UP | RHT | C+/ | PRN | [ | ] | ) | : | " |
-| **_3_** | SFT | [ | ]&nbsp; | HOM | END | PGU | PGD | ( | , | . | / | RET |
-| **_4_** | RGB | CAP | INS | ALT | TRN | &nbsp;SPC || &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ | &nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;DEL | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\| | ENT |
->This is the layer dedicated to number, symbol and navigation keys. ie) arrow keys
-
-<br />
-
-### RIGHTFN MO(-)
-
-| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
-|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
-| **_1_** | | | | | | | | F12 | F11 | F10 | F9 | PAU |
-| **_2_** | CTL | | | | | | | F8 | F7 | F6 | F5 | SCL |
-| **_3_** | SFT | | | | | | | F4 | F3 | F2 | F1 | |
-| **_4_** | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;ALT&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;TRN | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
->This layer contains function rows.
-
-<br />
-
-### NUMPAD MO(Esc)
-
-| | _A_ | _B_ | _C_ | _D_ | _E_ | _F_ | _G_ | _H_ | _I_ | _J_ | _K_ | _L_ |
-|---------|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|
-| **_1_** | *or/| 7 | 8 | 9 | NUM | | | | | | | BSP |
-| **_2_** | ALT | 4 | 5 | 6 | RET | | | | | | | |
-| **_3_** | - | 1 | 2 | 3 | BSP | | | | | | | RET |
-| **_4_** | TRN | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. | &nbsp;&nbsp;&nbsp;0 | SPC | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;LY1 | &nbsp;LY2 | &nbsp;LY3 | &nbsp;LY4 | &nbsp;LY5 |
->This layer is the numpad.
-<br />
-
-There are other dedicated layers for gaming that are not included here.
-If you are interested, check out keymap.c!
-
-<br />
-
-## PHOTOS
-
-![](https://imgur.com/ABblRwp.jpg)
-> * Case: SM Keyboards Planck/Niu Mini Acrylic Case
-> * Plate: Acrylic
-> * Keycaps: Rama Works GRID Set A Keycaps ( Kuros )
-> * Switches: Thic Thock Marshmallow Linear Switch ( 55g )
-
-<br />
-
-![](https://i.imgur.com/imqhjZW.jpg)
-> * Case: JJ40 Aluminium Acclive Case with Acrylic Diffuser
-> * Keycaps: YMDK DSA Keycaps
-> * Artisan: Rodríguez Cap by Polykeys
-
-<br />
-
-<div style="text-align: right">- END -</div>
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/rules.mk
deleted file mode 100644
index 4b8ec33fa0..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-TAP_DANCE_ENABLE = yes
-SRC += features/custom_shift_keys.c
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/config.h
deleted file mode 100644
index 051ee8a8d1..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2022 Sinan Okman (@simchee)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define NO_MUSIC_MODE
-#define AUDIO_CLICKY
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/keymap.c
deleted file mode 100755
index 04f166cff6..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2022 Sinan Okman (@simchee)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- QWERTZ,
- LOWER,
- RAISE,
- FN1,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [QWERTZ] = LAYOUT_planck_mit
- (
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_SLSH,
- KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
- KC_ESC, KC_LGUI, KC_LCTL, KC_LALT, MO(LOWER), KC_SPC, MO(RAISE), KC_ALGR, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [LOWER] = LAYOUT_planck_mit
- (
- KC_TAB, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, _______, _______, KC_7, KC_8, KC_9, KC_EQL, KC_BSPC,
- MO(FN1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______, KC_NUHS, KC_4, KC_5, KC_6, KC_ASTR, KC_SLSH,
- KC_LSFT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_1, KC_2, KC_3, KC_PLUS, KC_ENTER,
- KC_ESC, RGB_TOG, KC_LCTL, KC_LALT, MO(LOWER), KC_SPC, KC_COMM, KC_0, KC_DOT, KC_MINS, _______
- ),
-
- [RAISE] = LAYOUT_planck_mit
- (
- KC_CIRC, KC_EXLM, KC_AT, _______, KC_DLR, KC_PERC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_QUES, KC_TILD,
- MO(FN1), _______, _______, _______, _______, _______, _______, KC_GRV, KC_LBRC, KC_RBRC, KC_QUOT, KC_BSLS,
- KC_LSFT, KC_MINS, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_EQL, KC_HASH,
- _______, _______, _______, _______, MO(LOWER), KC_SPC, MO(RAISE), KC_ALGR, _______, _______, _______
- ),
-
- [FN1] = LAYOUT_planck_mit
- (
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- MO(FN1), KC_F11, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- KC_LSFT, KC_CAPS, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, KC_APP,
- QK_BOOT, _______, _______, _______, MO(LOWER), KC_SPC, KC_BSPC, _______, _______, KC_PSCR, KC_INS
- )
-
-};
-
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/readme.md
deleted file mode 100644
index 1aaedbda52..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/readme.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Simchee's BM40HSRGB
-
-Simple Design for US ANSI international, German and Turkish letters are written using dead keys on Linux. Keyboard hasn't been tested on Windows.
-
-# Flashing
-
-```bash
-qmk flash -kb kprepublic/bm40hsrgb -km simchee -bl dfu
-```
-
-# Layout
-## QWERTZ
-
-Changes from standard ANSI keyboard for better ergonomic: switch ctrl and GUI (Windows) keys, escape at left bottom, tab on left top.
-
-```
- .-----------------------------------------------------------------------------------------------.
- | Tab | Q | W | E | R | T | Z | U | I | O | P | Bkspc |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Fn1 | A | S | D | F | G | H | J | K | L | ; | / |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | LShift| Y | X | C | V | B | N | M | , | . | AUp | Enter |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Esc | GUI | LCtrl | LAlt | Lower | Space | Raise | AltGr | ALeft | ADown | ARight|
- °-----------------------------------------------------------------------------------------------°
-```
-
-## Lower
-
-Lower layout is mainly for numpad on the right side with navigation keys for lazy left handed navigation. Left side of Lower also provides media and RGB control.
-
-```
- .-----------------------------------------------------------------------------------------------.
- | TAB | PUp | Up | PDow | Home | F5 | ^ | 7(/) | 8(() | 9()) | 0(=) | Bkspc |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Fn1 | Left | Down | Right | End | | # | 4($) | 5(%) | 6(&) | * | / |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Shift | Mute | VUp | VDo | PP | Prev | Next | 1(!) | 2(") | 3(§) | + | Enter |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | ESC | RGB | LCtrl | LAlt | Lower | Space | , | 0(=) | . | -(_) | |
- °-----------------------------------------------------------------------------------------------°
-```
-
-## Raise
-
-Raise is used for non-alphanumerical chars.
-
-```
- .-----------------------------------------------------------------------------------------------.
- | ^ | ! | @ | | $ | % | & | * | ( | ) | ? | ~ |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Fn1 | | | | | | | ´ | [({) | ](}) | ' | /(|) |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | | - | | | | | | | < | > | =(+) | # |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | | | | | Lower | Space | Raise | AltGr | | | |
- °-----------------------------------------------------------------------------------------------°
-```
-
-## Fn1
-
-Fn1 provides function keys, as well as Vim-style navigation on the right side for when using the keyboard with both hands.
-
-```
- .-----------------------------------------------------------------------------------------------.
- | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Del |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | Fn1 | F11 | | | | | Home | PDown | PUp | End | | |
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- | LShift| Caps | | | | | ALeft | ADown | AUp | ARight| | MRight|
- |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
- |QC_MAKE| | | | Lower | Space | Bkspc | | | PrScr | Ins |
- °-----------------------------------------------------------------------------------------------°
-```
-
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/rules.mk
deleted file mode 100644
index 039f07c8e3..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/simchee/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-UNICODE_ENABLE = yes
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/config.h
index ac0261a608..0ddf783824 100755
--- a/keyboards/kprepublic/bm40hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/rev1/config.h
@@ -20,58 +20,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define RGB_MATRIX_LED_COUNT 53
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/info.json b/keyboards/kprepublic/bm40hsrgb/rev1/info.json
index c0ba89dbab..c50ac648d0 100644
--- a/keyboards/kprepublic/bm40hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm40hsrgb/rev1/info.json
@@ -12,7 +12,54 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"rgblight": {
"max_brightness": 180
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/config.h
deleted file mode 100644
index a669c31c24..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/config.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#pragma once
-/* Copyright 2021 Gabriel Bustamante Toledo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-// default but used in macros
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-
-// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define QUICK_TAP_TERM 0
-
-// Auto Shift
-#define NO_AUTO_SHIFT_ALPHA
-#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
-#define AUTO_SHIFT_NO_SETUP
-
-// Mouse key speed and acceleration.
-#undef MOUSEKEY_DELAY
-#define MOUSEKEY_DELAY 0
-#undef MOUSEKEY_INTERVAL
-#define MOUSEKEY_INTERVAL 16
-#undef MOUSEKEY_WHEEL_DELAY
-#define MOUSEKEY_WHEEL_DELAY 0
-#undef MOUSEKEY_MAX_SPEED
-#define MOUSEKEY_MAX_SPEED 6
-#undef MOUSEKEY_TIME_TO_MAX
-#define MOUSEKEY_TIME_TO_MAX 64
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLIGHT_LIMIT_VAL 10
-
-#ifdef RGB_MATRIX_ENABLE
-
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-
-# undef RGB_MATRIX_DEFAULT_MODE
-
-# define RGBLIGHT_HUE_STEP 20
-
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/keymap.c b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/keymap.c
deleted file mode 100755
index a08fd535d3..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/keymap.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright 2021 Gabriel Bustamante Toledo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 { BASE1, BASE2, MEDIA, NAV, MOUSE, SYM, NUM, FUN };
-
-enum {
- TD_MEDIA, TD_SCREEN,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
- [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
-};
-
-void set_color(int r, int g, int b){
- rgb_matrix_set_color(5, r, g, b);
- rgb_matrix_set_color(6, r, g, b);
- rgb_matrix_set_color(17, r, g, b);
- rgb_matrix_set_color(18, r, g, b);
- rgb_matrix_set_color(29, r, g, b);
- rgb_matrix_set_color(30, r, g, b);
- rgb_matrix_set_color(41, r, g, b);
-}
-
-bool rgb_matrix_indicators_user(void) {
-
- switch (get_highest_layer(layer_state)) {
- case BASE2:
- set_color(128, 64, 0);
- break;
- case MEDIA:
- set_color(50, 10, 20);
- break;
- case NAV:
- set_color(0, 40, 50);
- break;
- case MOUSE:
- set_color(0, 0, 50);
- break;
- case SYM:
- set_color(0, 50, 1.9);
- break;
- case NUM:
- set_color(10, 0, 50);
- break;
- case FUN:
- set_color(50, 0, 0);
- break;
- }
- return false;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [BASE1] = LAYOUT_planck_mit(
- KC_Q, KC_W, KC_E, KC_R, KC_T, TG(BASE2), KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- TD(TD_SCREEN), TD(TD_MEDIA), LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), KC_NO, LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), C(G(KC_LEFT)), C(G(KC_RIGHT))
- ),
-
- [BASE2] = LAYOUT_planck_mit(
- KC_Q, KC_W, KC_E, KC_R, KC_T, TG(BASE2), KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
- LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_NO, KC_NO, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT),
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- TD(TD_SCREEN), TD(TD_MEDIA), LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), KC_NO, LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), KC_NO, KC_NO
- ),
-
- [MEDIA] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT,
- KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO
- ),
-
- [NAV] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, C(KC_S), C(KC_V), C(KC_C), C(KC_X), C(KC_Z),
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, KC_NO
- ),
-
- [MOUSE] = LAYOUT_planck_mit(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, C(KC_S), C(KC_V), C(KC_C), C(KC_X), C(KC_Z),
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
- KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
- ),
-
- [SYM] = LAYOUT_planck_mit(
- KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
- KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
- KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-
- [NUM] = LAYOUT_planck_mit(
- KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
- KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
- KC_NO, KC_NO, KC_DOT, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-
- [FUN] = LAYOUT_planck_mit(
- KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
- KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
- KC_NO, KC_NO, KC_APP, KC_SPC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- )
-
-};
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/readme.md b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/readme.md
deleted file mode 100644
index 7540bc56bf..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/readme.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Gabustoledo
-
-### Compile
-
-- Compile:
-
- `qmk compile -kb kprepublic/bm40hsrgb -km gabustoledo`
-
-### Flash
-
-- Flash:
-
- `qmk flash -kb kprepublic/bm40hsrgb -km gabustoledo`
-
-# Layout
-
-## BASE
-
-![img](https://i.imgur.com/2H9WkM8.png)
-
-## Base 2
-
-![img](https://i.imgur.com/16Y7cN2.png)
-
-## MEDIA
-
-![img](https://i.imgur.com/CQH2Zo8.png)
-
-## NAVIGATION
-
-![img](https://i.imgur.com/lcdBhfG.png)
-
-## MOUSE
-
-![img](https://i.imgur.com/kAaxSkb.png)
-
-## SYMBOL
-
-![img](https://i.imgur.com/i3rZYdq.png)
-
-## NUMBER
-
-![img](https://i.imgur.com/ijb2Dd8.png)
-
-## FUNCTION
-
-![img](https://i.imgur.com/QMoLXsP.png) \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/rules.mk
deleted file mode 100644
index 6e27e2f523..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/gabustoledo/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-AUTO_SHIFT_ENABLE = yes # Auto Shift
-TAP_DANCE_ENABLE = yes
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/config.h
deleted file mode 100644
index 40ba18a293..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/config.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-
-//#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#define RGBLIGHT_LIMIT_VAL 10
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define TAPPING_TERM 200
-
-//--------------------------------------------------------------------------------------------------------
-
-//disable broken animations
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-//#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-//#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//#undef ENABLE_RGB_MATRIX_RAINDROPS
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
-//#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-//#undef ENABLE_RGB_MATRIX_SPLASH
-//#undef ENABLE_RGB_MATRIX_MULTISPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# undef RGB_MATRIX_DEFAULT_MODE
-
-# define RGBLIGHT_HUE_STEP 20
-
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/keymap.c b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/keymap.c
deleted file mode 100644
index eb20a1a25b..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/keymap.c
+++ /dev/null
@@ -1,242 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// non-KC_ keycodes
-#define KC_RST QK_BOOT
-#define KC_TOG RGB_TOG
-#define KC_MOD RGB_MOD
-#define KC_HUI RGB_HUI
-#define KC_SAI RGB_SAI
-#define KC_VAI RGB_VAI
-
-//define layers
-enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
-
-enum custom_keycodes {
- CMD_TAB = SAFE_RANGE,
-};
-
-//cmd tab
-
-bool is_cmd_tab_active = false;
-uint16_t cmd_tab_timer = 0;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CMD_TAB:
- if (record->event.pressed) {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LCTL);
- }
- cmd_tab_timer = timer_read();
- register_code(KC_TAB);
- } else {
- unregister_code(KC_TAB);
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_cmd_tab_active) {
- if (timer_elapsed(cmd_tab_timer) > 500) {
- unregister_code(KC_LCTL);
- is_cmd_tab_active = false;
- }
- }
-}
-
-//layer led colors
-
-bool rgb_matrix_indicators_user(void) {
-
-//game indicators
-
-if(IS_LAYER_ON(GAME)) {
- rgb_matrix_set_color(11, 0, 40, 50);
-}
-
-if(IS_LAYER_ON(SECGAME)) {
- rgb_matrix_set_color(11, 50, 0, 0);
-}
-
-//layer indicators
-
-if(IS_LAYER_ON(NAVR)) {
- rgb_matrix_set_color(40, 0, 40, 50);
-
- rgb_matrix_set_color(19, 0, 40, 50);
- rgb_matrix_set_color(20, 0, 40, 50);
- rgb_matrix_set_color(21, 0, 40, 50);
- rgb_matrix_set_color(22, 0, 40, 50);
-}
-
-if(IS_LAYER_ON(MEDR)) {
- rgb_matrix_set_color(39, 50, 10, 20);
-
- rgb_matrix_set_color(19, 50, 10, 20);
-
- rgb_matrix_set_color(22, 50, 10, 20);
-
- rgb_matrix_set_color(42, 50, 10, 20);
-}
-
-if(IS_LAYER_ON(FUNL)) {
- rgb_matrix_set_color(43, 50, 0, 0);
-
- rgb_matrix_set_color(1, 50, 0, 0);
- rgb_matrix_set_color(2, 50, 0, 0);
- rgb_matrix_set_color(3, 50, 0, 0);
- rgb_matrix_set_color(4, 50, 0, 0);
-
- rgb_matrix_set_color(13, 50, 0, 0);
- rgb_matrix_set_color(14, 50, 0, 0);
- rgb_matrix_set_color(15, 50, 0, 0);
- rgb_matrix_set_color(16, 50, 0, 0);
-
- rgb_matrix_set_color(25, 50, 0, 0);
- rgb_matrix_set_color(26, 50, 0, 0);
- rgb_matrix_set_color(27, 50, 0, 0);
- rgb_matrix_set_color(28, 50, 0, 0);
-}
-
-if(IS_LAYER_ON(NSL)) {
- rgb_matrix_set_color(42, 10, 0, 50);
-
- rgb_matrix_set_color(2, 10, 0, 50);
- rgb_matrix_set_color(3, 10, 0, 50);
- rgb_matrix_set_color(4, 10, 0, 50);
-
- rgb_matrix_set_color(14, 10, 0, 50);
- rgb_matrix_set_color(15, 10, 0, 50);
- rgb_matrix_set_color(16, 10, 0, 50);
-
- rgb_matrix_set_color(26, 10, 0, 50);
- rgb_matrix_set_color(27, 10, 0, 50);
- rgb_matrix_set_color(28, 10, 0, 50);
-
- rgb_matrix_set_color(38, 10, 0, 50);
- rgb_matrix_set_color(39, 10, 0, 50);
- rgb_matrix_set_color(40, 10, 0, 50);
-}
-
-if(IS_LAYER_ON(NSSL)) {
- rgb_matrix_set_color(41, 0, 50, 1.9);
-
- rgb_matrix_set_color(1, 0, 50, 1.9);
- rgb_matrix_set_color(2, 0, 50, 1.9);
- rgb_matrix_set_color(3, 0, 50, 1.9);
- rgb_matrix_set_color(4, 0, 50, 1.9);
- rgb_matrix_set_color(5, 0, 50, 1.9);
-
- rgb_matrix_set_color(13, 0, 50, 1.9);
- rgb_matrix_set_color(14, 0, 50, 1.9);
- rgb_matrix_set_color(15, 0, 50, 1.9);
- rgb_matrix_set_color(16, 0, 50, 1.9);
- rgb_matrix_set_color(17, 0, 50, 1.9);
-
- rgb_matrix_set_color(25, 0, 50, 1.9);
- rgb_matrix_set_color(26, 0, 50, 1.9);
- rgb_matrix_set_color(27, 0, 50, 1.9);
- rgb_matrix_set_color(28, 0, 50, 1.9);
- rgb_matrix_set_color(29, 0, 50, 1.9);
-
- return false;
-}
-
-//capslock leds
-
-if (host_keyboard_led_state().caps_lock) {
- rgb_matrix_set_color_all(50, 15.6, 0);
- }
-
-}
-
-//tap dance declarations
-enum {
- TD_MEDIA, TD_SCREEN,
-};
-
-//tap dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
- [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
-};
-
-#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
-
-//--------------------------------------------------------------------------------------------------------
-
-//base
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_planck_mit(
- KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
- ),
-
-//layers
- [NAVR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
- KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
- KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
- TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
- ),
- [MEDR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
- ),
- [FUNL] = LAYOUT_planck_mit(
- KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
- KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
- KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
- KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
- KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
- KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
- KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
- KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
- KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
- ),
- [GAME] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
- KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [SECGAME] = LAYOUT_planck_mit(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
- )
-};
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/readme.md b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/readme.md
deleted file mode 100644
index 97c09be255..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/readme.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Signynt's Keymap: 'Sigma-Squared'
-
-Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
-
-*manna-harbour* lays out the general principles of the layout as follows:
-
-- Use layers instead of reaching.
-- Use both hands instead of contortions.
-- Use the home positions as much as possible.
-- Make full use of the thumbs.
-- Avoid unnecessary complication.
-
-
-
-Sigma Squared modifies on **Miryoku** in the following ways:
-
-- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
-- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
-- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
- - moves *left shift* and *left ctrl* down
- - *esc* moved to top left
- - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
-- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
- - Mission Control, Screenshot, Cycling Apps & Windows
-- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
-
-
-
-### Flashing
-
-- to directly flash to board:
-
- `qmk flash -kb kprepublic/bm40hsrgb -km signynt`
-
-- to only compile:
-
- `qmk compile -kb kprepublic/bm40hsrgb -km signynt`
-
-
-
-# Layout
-
-## BASE
-
-Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
-
-The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
-
-If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
-
-The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
-
-The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
-
-![img](https://i.imgur.com/vhb1L2f.png)
-
-## NAVIGATION
-
-Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
-
-*Game Layer* key takes you to the **GAME** layer. *(duh)*
-
-Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
-
-![img](https://i.imgur.com/daKxxFz.png)
-
-
-
-## MEDIA
-
-Provides access to all basic media keys, emulating the arrow keys on the home row.
-
-Also gives access to RGB controls.
-
-![img](https://i.imgur.com/1jWOvvH.png)
-
-## NUMBER
-
-Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
-
-Top right key changed to *Back Space* so corrections can be made without leaving layer.
-
-![img](https://i.imgur.com/LGJT3so.png)
-
-## SYMBOL
-
-Symbols are positioned over respective numbers from the **NUMBER** layer.
-
-Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
-
-Also includes *Back Space* key for corrections.
-
-![img](https://i.imgur.com/ihOcdPj.png)
-
-## Fn
-
-Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
-
-![img](https://i.imgur.com/bPpI8KN.png)
-
-## GAME
-
-Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
-
-![img](https://i.imgur.com/r9KIWLX.png)
-
-## SECOND GAME
-
-Top right key will turn red to indicate you are in the layer
-
-![img](https://i.imgur.com/BLKHfVB.png)
-
-
-
-# Contact
-
-If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/rules.mk
deleted file mode 100644
index 754f3f1f70..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-#rules
-
-MOUSEKEY_ENABLE = yes # Mouse keys
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-EXTRAKEY_ENABLE = yes # Audio control and System control
-TAP_DANCE_ENABLE = yes
-#RGB_MATRIX_ENABLE = no
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/config.h
deleted file mode 100644
index 508f98c053..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/config.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt_2_loud
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-
-//#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#define RGBLIGHT_LIMIT_VAL 10
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define TAPPING_TERM 200
-
-//--------------------------------------------------------------------------------------------------------
-
-//disable broken animations
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-//#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-//#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//#undef ENABLE_RGB_MATRIX_RAINDROPS
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
-//#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-//#undef ENABLE_RGB_MATRIX_SPLASH
-//#undef ENABLE_RGB_MATRIX_MULTISPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# undef RGB_MATRIX_DEFAULT_MODE
-
-# define RGBLIGHT_HUE_STEP 20
-
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/keymap.c b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/keymap.c
deleted file mode 100644
index f53e061843..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/keymap.c
+++ /dev/null
@@ -1,215 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt_2_loud
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// non-KC_ keycodes
-#define KC_RST QK_BOOT
-#define KC_TOG RGB_TOG
-#define KC_MOD RGB_MOD
-#define KC_HUI RGB_HUI
-#define KC_SAI RGB_SAI
-#define KC_VAI RGB_VAI
-
-//define layers
-enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
-
-enum custom_keycodes {
- CMD_TAB = SAFE_RANGE,
-};
-
-//cmd tab
-
-bool is_cmd_tab_active = false;
-uint16_t cmd_tab_timer = 0;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CMD_TAB:
- if (record->event.pressed) {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LCTL);
- }
- cmd_tab_timer = timer_read();
- register_code(KC_TAB);
- } else {
- unregister_code(KC_TAB);
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_cmd_tab_active) {
- if (timer_elapsed(cmd_tab_timer) > 500) {
- unregister_code(KC_LCTL);
- is_cmd_tab_active = false;
- }
- }
-}
-
-//layer led colors
-
-bool rgb_matrix_indicators_user(void) {
-
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- }
-
- //capslock
- if (host_keyboard_led_state().caps_lock) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 255, 255, 255);
- }
- }
- }
-
- //nav layer
- if (IS_LAYER_ON(NAVR)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 0, 204, 255);
- }
- }
- }
-
- //funl layer
- if (IS_LAYER_ON(FUNL)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 255, 0, 0);
- }
- }
- }
-
- //nsl layer
- if (IS_LAYER_ON(NSL)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 51, 0, 255);
- }
- }
- }
-
- //nssl layer
- if (IS_LAYER_ON(NSSL)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 0, 255, 0);
- }
- }
- }
-
- //game layer
- if (IS_LAYER_ON(GAME)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 0, 204, 255);
- }
- }
- }
-
- //secgame layer
- if (IS_LAYER_ON(SECGAME)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 255, 0, 0);
- }
- }
- }
-
- return false;
-}
-
-//tap dance declarations
-enum {
- TD_MEDIA, TD_SCREEN,
-};
-
-//tap dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
- [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
-};
-
-#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
-
-//--------------------------------------------------------------------------------------------------------
-
-//base
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_planck_mit(
- KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
- ),
-
-//layers
- [NAVR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
- KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
- KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
- TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
- ),
- [MEDR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
- ),
- [FUNL] = LAYOUT_planck_mit(
- KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
- KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
- KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
- KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
- KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
- KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
- KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
- KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
- KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
- ),
- [GAME] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
- KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [SECGAME] = LAYOUT_planck_mit(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
- )
-};
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/readme.md b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/readme.md
deleted file mode 100644
index 97c09be255..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/readme.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Signynt's Keymap: 'Sigma-Squared'
-
-Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
-
-*manna-harbour* lays out the general principles of the layout as follows:
-
-- Use layers instead of reaching.
-- Use both hands instead of contortions.
-- Use the home positions as much as possible.
-- Make full use of the thumbs.
-- Avoid unnecessary complication.
-
-
-
-Sigma Squared modifies on **Miryoku** in the following ways:
-
-- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
-- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
-- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
- - moves *left shift* and *left ctrl* down
- - *esc* moved to top left
- - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
-- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
- - Mission Control, Screenshot, Cycling Apps & Windows
-- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
-
-
-
-### Flashing
-
-- to directly flash to board:
-
- `qmk flash -kb kprepublic/bm40hsrgb -km signynt`
-
-- to only compile:
-
- `qmk compile -kb kprepublic/bm40hsrgb -km signynt`
-
-
-
-# Layout
-
-## BASE
-
-Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
-
-The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
-
-If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
-
-The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
-
-The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
-
-![img](https://i.imgur.com/vhb1L2f.png)
-
-## NAVIGATION
-
-Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
-
-*Game Layer* key takes you to the **GAME** layer. *(duh)*
-
-Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
-
-![img](https://i.imgur.com/daKxxFz.png)
-
-
-
-## MEDIA
-
-Provides access to all basic media keys, emulating the arrow keys on the home row.
-
-Also gives access to RGB controls.
-
-![img](https://i.imgur.com/1jWOvvH.png)
-
-## NUMBER
-
-Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
-
-Top right key changed to *Back Space* so corrections can be made without leaving layer.
-
-![img](https://i.imgur.com/LGJT3so.png)
-
-## SYMBOL
-
-Symbols are positioned over respective numbers from the **NUMBER** layer.
-
-Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
-
-Also includes *Back Space* key for corrections.
-
-![img](https://i.imgur.com/ihOcdPj.png)
-
-## Fn
-
-Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
-
-![img](https://i.imgur.com/bPpI8KN.png)
-
-## GAME
-
-Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
-
-![img](https://i.imgur.com/r9KIWLX.png)
-
-## SECOND GAME
-
-Top right key will turn red to indicate you are in the layer
-
-![img](https://i.imgur.com/BLKHfVB.png)
-
-
-
-# Contact
-
-If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/rules.mk
deleted file mode 100644
index 754f3f1f70..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_loud/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-#rules
-
-MOUSEKEY_ENABLE = yes # Mouse keys
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-EXTRAKEY_ENABLE = yes # Audio control and System control
-TAP_DANCE_ENABLE = yes
-#RGB_MATRIX_ENABLE = no
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/config.h
deleted file mode 100644
index 70f92bafde..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/config.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt_2_quiet
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-
-//#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#define RGBLIGHT_LIMIT_VAL 10
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define TAPPING_TERM 200
-
-//--------------------------------------------------------------------------------------------------------
-
-//disable broken animations
-# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BREATHING
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_VAL
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# undef ENABLE_RGB_MATRIX_CYCLE_ALL
-# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-//#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-//#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-//#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//#undef ENABLE_RGB_MATRIX_RAINDROPS
-# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
-//#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-//#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-//#undef ENABLE_RGB_MATRIX_SPLASH
-//#undef ENABLE_RGB_MATRIX_MULTISPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-//#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# undef RGB_MATRIX_DEFAULT_MODE
-
-# define RGBLIGHT_HUE_STEP 20
-
-#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/keymap.c b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/keymap.c
deleted file mode 100644
index e958071c20..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/keymap.c
+++ /dev/null
@@ -1,179 +0,0 @@
-// qmk flash -kb bm40hsrgb -km signynt_2_quiet
-
-/* Copyright 2021 Vincenzo Mitchell Barroso
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// non-KC_ keycodes
-#define KC_RST QK_BOOT
-#define KC_TOG RGB_TOG
-#define KC_MOD RGB_MOD
-#define KC_HUI RGB_HUI
-#define KC_SAI RGB_SAI
-#define KC_VAI RGB_VAI
-
-//define layers
-enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
-
-enum custom_keycodes {
- CMD_TAB = SAFE_RANGE,
-};
-
-//cmd tab
-
-bool is_cmd_tab_active = false;
-uint16_t cmd_tab_timer = 0;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CMD_TAB:
- if (record->event.pressed) {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LCTL);
- }
- cmd_tab_timer = timer_read();
- register_code(KC_TAB);
- } else {
- unregister_code(KC_TAB);
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_cmd_tab_active) {
- if (timer_elapsed(cmd_tab_timer) > 500) {
- unregister_code(KC_LCTL);
- is_cmd_tab_active = false;
- }
- }
-}
-
-//layer led colors
-
-bool rgb_matrix_indicators_user(void) {
-
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- }
-
- //capslock
- if (host_keyboard_led_state().caps_lock) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 255, 255, 255);
- }
- }
- }
-
- //game layer
- if (IS_LAYER_ON(GAME)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 0, 204, 255);
- }
- }
- }
-
- //secgame layer
- if (IS_LAYER_ON(SECGAME)) {
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- rgb_matrix_set_color(i, 255, 0, 0);
- }
- }
- }
-
- return false;
-}
-
-//tap dance declarations
-enum {
- TD_MEDIA, TD_SCREEN,
-};
-
-//tap dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
- [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
-};
-
-#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
-
-//--------------------------------------------------------------------------------------------------------
-
-//base
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_planck_mit(
- KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
- ),
-
-//layers
- [NAVR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
- KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
- KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
- TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
- ),
- [MEDR] = LAYOUT_planck_mit(
- KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
- KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
- ),
- [FUNL] = LAYOUT_planck_mit(
- KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
- KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
- KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
- KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
- KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
- KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [NSSL] = LAYOUT_planck_mit(
- KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
- KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
- KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
- KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
- ),
- [GAME] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
- KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
- KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [SECGAME] = LAYOUT_planck_mit(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
- )
-};
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/readme.md b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/readme.md
deleted file mode 100644
index 97c09be255..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/readme.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Signynt's Keymap: 'Sigma-Squared'
-
-Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
-
-*manna-harbour* lays out the general principles of the layout as follows:
-
-- Use layers instead of reaching.
-- Use both hands instead of contortions.
-- Use the home positions as much as possible.
-- Make full use of the thumbs.
-- Avoid unnecessary complication.
-
-
-
-Sigma Squared modifies on **Miryoku** in the following ways:
-
-- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
-- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
-- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
- - moves *left shift* and *left ctrl* down
- - *esc* moved to top left
- - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
-- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
- - Mission Control, Screenshot, Cycling Apps & Windows
-- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
-
-
-
-### Flashing
-
-- to directly flash to board:
-
- `qmk flash -kb kprepublic/bm40hsrgb -km signynt`
-
-- to only compile:
-
- `qmk compile -kb kprepublic/bm40hsrgb -km signynt`
-
-
-
-# Layout
-
-## BASE
-
-Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
-
-The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
-
-If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
-
-The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
-
-The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
-
-![img](https://i.imgur.com/vhb1L2f.png)
-
-## NAVIGATION
-
-Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
-
-*Game Layer* key takes you to the **GAME** layer. *(duh)*
-
-Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
-
-![img](https://i.imgur.com/daKxxFz.png)
-
-
-
-## MEDIA
-
-Provides access to all basic media keys, emulating the arrow keys on the home row.
-
-Also gives access to RGB controls.
-
-![img](https://i.imgur.com/1jWOvvH.png)
-
-## NUMBER
-
-Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
-
-Top right key changed to *Back Space* so corrections can be made without leaving layer.
-
-![img](https://i.imgur.com/LGJT3so.png)
-
-## SYMBOL
-
-Symbols are positioned over respective numbers from the **NUMBER** layer.
-
-Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
-
-Also includes *Back Space* key for corrections.
-
-![img](https://i.imgur.com/ihOcdPj.png)
-
-## Fn
-
-Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
-
-![img](https://i.imgur.com/bPpI8KN.png)
-
-## GAME
-
-Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
-
-![img](https://i.imgur.com/r9KIWLX.png)
-
-## SECOND GAME
-
-Top right key will turn red to indicate you are in the layer
-
-![img](https://i.imgur.com/BLKHfVB.png)
-
-
-
-# Contact
-
-If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/rules.mk
deleted file mode 100644
index 754f3f1f70..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/signynt_2_quiet/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-#rules
-
-MOUSEKEY_ENABLE = yes # Mouse keys
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-EXTRAKEY_ENABLE = yes # Audio control and System control
-TAP_DANCE_ENABLE = yes
-#RGB_MATRIX_ENABLE = no
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/keymap.c b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/keymap.c
deleted file mode 100755
index 1583392a48..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/keymap.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright 2020 lmlask
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <keymap_brazilian_abnt2.h>
-
-enum layers {
- _WORKMAN,
- _QWERTY,
- _DVORAK,
- _COLEMAK,
- _MIDI,
- _GAME,
-
- _SYM,
- _FUNCTION,
- _NAV,
- _NUM,
- _ADJUST,
- _MOUSE,
-
- _CPY,
- _SWP
-};
-
-enum planck_keycodes {
- WORKMAN = QK_USER,
- QWERTY,
- DVORAK,
- COLEMAK,
- MIDI,
- GAME,
- TOG_CPY,
- TOG_SWP,
-};
-
-#define NAVTAB LT(_NAV, KC_TAB)
-#define SYM LT(_SYM, KC_BSPC)
-#define NUM LT(_NUM, KC_DEL)
-#define FUN MO(_FUNCTION)
-#define CTL_ENT RCTL_T(KC_ENT)
-
-//Hand swap config, similar to Planck
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} },
- {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} },
- {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} },
- {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}, {8, 3}, {9, 3}, {10, 3}},
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-//BASE LAYERS
-[_QWERTY] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT,
- NAVTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
-),
-[_WORKMAN] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, BR_CCED, BR_ACUT,
- NAVTAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, BR_TILD,
- SC_LSPO, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
-),
-[_DVORAK] = LAYOUT_planck_mit(
- KC_ESC, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, BR_SLSH, BR_ACUT,
- NAVTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, BR_TILD,
- SC_LSPO, BR_CCED, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
-),
-[_COLEMAK] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, BR_CCED, BR_ACUT,
- NAVTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, BR_TILD,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
-),
-
-//UTILITY LAYERS - SHORTCUT (CPY), SWAP HANDS (SWP)
-[_CPY] = LAYOUT_planck_mit(
- _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______,
- _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_SWP] = LAYOUT_planck_mit(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, NUM, SH_T(KC_BSPC),_______, _______, _______, _______, _______, _______
-),
-//AUX LAYERS (NAV, SYM, NUM, FN)
-[_NAV] = LAYOUT_planck_mit(
- KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, C(KC_V), C(KC_Z),
- _______, KC_LALT, KC_LGUI, KC_LSFT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, C(KC_C), C(KC_X),
- _______, _______, _______, _______, _______, _______, KC_ENT, KC_BSPC, KC_DEL, KC_VOLD, KC_VOLU, _______,
- _______, _______, _______, _______, _______, KC_ENT, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
-),
-[_SYM] = LAYOUT_planck_mit(
- BR_DQUO, BR_EXLM, BR_AT, BR_HASH, BR_DLR, BR_PERC, BR_DIAE, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- BR_QUOT, BR_BSLS, BR_SCLN, KC_MINS, BR_QUOT, _______, _______, KC_PLUS, _______, BR_LBRC, BR_RBRC, _______,
- _______, BR_PIPE, BR_COLN, KC_UNDS, BR_DQUO, _______, _______, KC_EQL, _______, BR_LCBR, BR_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_NUM] = LAYOUT_planck_mit(
- _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, BR_SLSH, BR_MINS,
- _______, BR_SLSH, KC_ASTR, KC_MINS, KC_PLUS, _______, _______, KC_4, KC_5, KC_6, BR_ASTR, BR_PLUS,
- _______, BR_PERC, KC_EQL, KC_DOT, KC_COMM, _______, _______, KC_1, KC_2, KC_3, BR_COLN, BR_DOT,
- _______, _______, _______, _______, _______, _______, KC_0, KC_BSPC, BR_COMM, BR_EQL, KC_ENT
-),
-[_FUNCTION] = LAYOUT_planck_mit(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_SCRL, _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_INS,
- _______, KC_F5, KC_F6, KC_F7, KC_F8, KC_NUM, _______, KC_F17, KC_F18, KC_F19, KC_F20, KC_PAUS,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, KC_F21, KC_F22, KC_F23, KC_F24, KC_APP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
-),
-//ADJUST LAYER FOR KEYBOARD CONTROL
-[_ADJUST] = LAYOUT_planck_mit(
- QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, MIDI, GAME, _______, _______, _______,
- KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, _______,
- QK_RBT, _______, _______, _______, _______, _______, _______, TOG_CPY, TOG_SWP, _______, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-//MOUSE LAYER
-[_MOUSE] = LAYOUT_planck_mit(
- KC_ESC, KC_BTN6, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN6, KC_NO,
- _______, KC_BTN4, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_NO,
- _______, KC_BTN5, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_BTN7, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN5, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-//MIDI
-[_MIDI] = LAYOUT_planck_mit(
- MI_Cs, MI_Ds, MI_F, MI_Fs, MI_Gs, MI_As, MI_C, MI_Cs1, MI_Ds1, MI_F1, MI_Fs1, MI_Gs1,
- MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E, MI_F1, MI_G1,
- MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MI_MODU,MI_CHNU, MI_TOGG,
- MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MI_SOFT, MI_SUST, SYM, FUN, MI_MODD,MI_CHND, MI_AOFF
-),
-//GAME
-[_GAME] = LAYOUT_planck_mit(
- KC_ESC, JS_0, JS_1, JS_2, JS_3, JS_4, JS_5, JS_6, JS_7, JS_8, JS_9, KC_P,
- KC_TAB, JS_10, JS_11, JS_12, JS_13, JS_14, JS_15, JS_16, JS_17, JS_18, JS_19, KC_O,
- KC_LSFT, JS_20, JS_21, JS_22, JS_23, JS_24, JS_25, JS_26, JS_27, JS_28, JS_29, KC_L,
- KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
-),
-};
-
-//Custom keycodes code for layer switching
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case WORKMAN:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WORKMAN);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case MIDI:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_MIDI);
- }
- return false;
- case GAME:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_GAME);
- }
- return false;
- case TOG_CPY:
- if (record->event.pressed) {
- layer_invert(_CPY);
- }
- return false;
- case TOG_SWP:
- if (record->event.pressed) {
- layer_invert(_SWP);
- }
- return false;
- }
- return true;
-}
-
-//ADJUST and MOUSE layers activation code
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _FUNCTION, _SYM, _ADJUST);
- state = update_tri_layer_state(state, _NAV, _NUM, _MOUSE);
- return state;
-}
-
-
-
-
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/readme.md b/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/readme.md
deleted file mode 100755
index 69130dbfec..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keymaps/wolff_abnt2/readme.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Brazilian keymap for the BM40RGB keyboard
-
-![photo](https://user-images.githubusercontent.com/62627597/228396721-b38ea064-6e80-4aff-90ec-01164d0515ae.jpg)
-
-This keymap deviates somewhat from the generally used conventions of Planck style keyboards.
-It's built on the following principles:
-
-1. Availability of different base layouts. QWERTY, Dvorak, Colemak and Workman are available. They can be chosen with the four right hand home row keys on the ADJUST layer (NAV + NUM keys). The base layout you choose gets stored on the keyboard EEPROM, so it will still be set if you unplug or reset the keyboard.
-2. Frequent use of navigation keys such as the arrow keys, home, end, and hotkeys using those keycodes. For that reason, it keeps the navigation keys on a dedicated nav layer, on the home row, under the right hand. The nav layer is activated by the first button of the home row (the usual caps lock position). I find this much better than using dedicated arrow keys on the bottom right of the keyboard, as the very reason I swapped to a 40% is to move my hands less.
-3. Accessibility of the ´ ` ^ ~ ç symbols. There are several blank spaces left on the symbols layer, if you need access to other symbols or diacritics.
-4. Proper touch typing, and hotkey access, with the Shift key on both sides. I found my hands very much expect Ctrl to be on the edge of the keyboard, and as such I've kept both bottom corner keys as Ctrl. The right Ctrl will act as an Enter key if tapped.
-5. Numbers and navigation keys should be slightly more accessible than symbols and function keys. If you use symbols more often, consider swapping the NUM and SYM layer toggle keys.
-6. It's easier to remember layers when they make sense conceptually, so no "lower" and "raise" layers. Instead, there are dedicated layers for navigation/utility (NAV), numbers (NUM), symbols (SYM) and function keys (FN). There's also dedicated MIDI layers, a layer for one-hand typing, a mouse-emulating layer, and a layer for one-hand navigation and copy-pasting.
-7. Tap hold is a good tool and you should use it if you can. Backspace and Delete are set as tap functions on the two more accessible layer toggle keys. The bottom right Ctrl behaves as Enter when tapped. The Nav layer button is Tab when tapped.
-8. Easy-to-access shortcut modifiers. This layout includes a Master key (Shift+Ctrl+Alt) and a Hyper key (Shift+Ctrl+Alt+Super) for configuring system shortcuts.
-
-It will only work as intended if your system keyboard layout is set to Brazilian ABNT2. It may work with other international layouts, but some keys, including brackets and the ´ ` ~ ^ keys, will get broken. If your system layout is another one, it should be relatively easy to change keymap.c (search and replace each key with the equivalent one from the international keymaps file).
-
-# Base Layers
-
-These are selected as the base by a button in the Adjust layer.
-
-## Normal
-
-![bm40rgb-wolff-base](https://user-images.githubusercontent.com/62627597/228848191-cb403c12-c090-4aeb-b207-506e5c80c547.png)
-
-QWERTY, Dvorak, Colemak and Workman are built-in.
-
-## MIDI
-
-![bm40rgb-wolff-midi](https://user-images.githubusercontent.com/62627597/228708182-5ba2b9f4-e1f4-4e10-be6e-58ff373f274a.png)
-
-One and a half octaves piano on the top rows, control signals in the bottom rows. SYM and FUN remain accessible so the ADJ layer can be accessed.
-
-## Joystick
-
-![bm40rgb-wolff-game](https://user-images.githubusercontent.com/62627597/228849208-9fb10cf3-0a11-4799-877a-48eafe811078.png)
-
-Emulates a 32-button joystick for using as a button-box or dedicated game controller.
-
-# Modifier layers
-
-These are activated by holding down modifier keys.
-
-## Navigation Layer (NAV)
-
-![bm40rgb-wolff-nav](https://user-images.githubusercontent.com/62627597/228853095-6c254027-adfb-4afb-9536-4f00e11ab3cb.png)
-
-The layer you'll access most often. Navigation keys right on the right-hand homerow, plus a few common utilities.
-
-## Functions Layer (FUN)
-
-![bm40rgb-wolff-fun](https://user-images.githubusercontent.com/62627597/228852255-3c12d3c8-733a-4680-888c-35a4162cd3a3.png)
-
-## Mouse Layer
-
-![bm40rgb-wolff-mouse](https://user-images.githubusercontent.com/62627597/228853517-08934862-ca70-444d-a6bc-9dec584c6bb5.png)
-
-Emulates mouse actions so you can perform simple tasks without reaching for the mouse.
-
-## Adjust Layer (SYM + FUN)
-
-![bm40rgb-wolff-adj](https://user-images.githubusercontent.com/62627597/228851675-ec61ad2b-95a9-402b-933a-009e9f52fbd3.png)
-
-# Additional/utility layers
-
-These are utility overlays toggled by a key in the Adjust layer.
-
-## Handswap Layer
-
-![bm40rgb-swap-hands](https://user-images.githubusercontent.com/62627597/228849174-e3bca496-9f5a-49d6-a41e-9b65adbc6c34.png)
-
-For one-hand typing. The three top rows are mirrorred when SWAP is held down.
-
-## CPY Layer (One-hand navigation layer)
-
-![bm40rgb-copy](https://user-images.githubusercontent.com/62627597/228847641-4caa777e-c368-4921-a0a4-10c47afa2537.png)
-
-For general navigation and quick copy-paste one-handed stuff. I don't like using it, but my job demands it sometimes.
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk
index 7e0de4a3e8..b0daa10a9c 100755
--- a/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk
+++ b/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
-
-LAYOUTS_HAS_RGB = yes
diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/config.h b/keyboards/kprepublic/bm40hsrgb/rev2/config.h
index 1cd3f7a6d3..14b45db670 100755
--- a/keyboards/kprepublic/bm40hsrgb/rev2/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/rev2/config.h
@@ -16,6 +16,3 @@
#pragma once
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define RGB_MATRIX_LED_COUNT 47
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/info.json b/keyboards/kprepublic/bm40hsrgb/rev2/info.json
index c530b456cf..64b35fc25c 100644
--- a/keyboards/kprepublic/bm40hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm40hsrgb/rev2/info.json
@@ -123,7 +123,8 @@
{"matrix": [3, 9], "x": 183, "y": 64, "flags": 1},
{"matrix": [3, 10], "x": 203, "y": 64, "flags": 1},
{"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}
- ]
+ ],
+ "sleep": true
},
"matrix_pins": {
"cols": ["B2", "B3", "D5", "D3", "D2", "B7", "F0", "B4", "B5", "B6", "C6", "C7"],
diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c
index 4bf9168935..a867cb0f20 100755
--- a/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c
+++ b/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c
@@ -17,57 +17,57 @@
#if defined(RGB_MATRIX_ENABLE)
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_12, J_12, L_12 }
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 }
};
#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/kprepublic/bm43a/config.h b/keyboards/kprepublic/bm43a/config.h
deleted file mode 100644
index aff98236a5..0000000000
--- a/keyboards/kprepublic/bm43a/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2019 mechmerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-#endif
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h
deleted file mode 100755
index 6f98093e33..0000000000
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright 2021 bitstarr
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS
-#define UNICODE_CYCLE_PERSIST false
-
-#undef RGBLIGHT_EFFECT_BREATHING
-#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
-#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#undef RGBLIGHT_EFFECT_SNAKE
-#undef RGBLIGHT_EFFECT_KNIGHT
-#undef RGBLIGHT_EFFECT_CHRISTMAS
-#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
-#undef RGBLIGHT_EFFECT_RGB_TEST
-#undef RGBLIGHT_EFFECT_ALTERNATING
-#undef RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
deleted file mode 100755
index 6a4ca7550d..0000000000
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2021 bitstarr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 WORD_BACK C(KC_LEFT)
-#define WORD_FORWARD C(KC_RIGHT)
-
-enum layers {
- _BASE,
- _EXT,
- _ADV,
- _FN,
- _UNI,
- _UNI2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_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_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(_EXT,KC_SPC), MO(_UNI), MO(_ADV), MO(_FN), KC_RCTL
- ),
- [_EXT] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, KC_F11, KC_F12, KC_NO, KC_NO, KC_GRV, KC_SCLN, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
- ),
- [_ADV] = LAYOUT(
- KC_GRV, WORD_BACK, KC_UP, WORD_FORWARD, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO, KC_PSCR, KC_DEL,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO,
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_INS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
- ),
- [_FN] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [_UNI] = LAYOUT(
- KC_NO, KC_NO, KC_NO, UC(L'€'), UC(L'§'), UC(L'°'), KC_NO, UC(L'ü'), KC_NO, UC(L'ö'), UC(L'–'), KC_NO,
- KC_NO, UC(L'ä'), UC(L'ß'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- MO(_UNI2), UC(L'„'), UC(L'“'), UC(L'â€'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC(L'…'), KC_NO,
- KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, UC_NEXT
- ),
- [_UNI2] = LAYOUT(
- KC_NO, KC_NO, KC_NO, UC(L'é'), KC_NO, KC_NO, KC_NO, UC(L'Ü'), KC_NO, UC(L'Ö'), UC(L'—'), KC_NO,
- KC_NO, UC(L'Ä'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-};
-
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md
deleted file mode 100755
index 704be0e416..0000000000
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Personal Layout of [bitstarr](https://github.com/bitstarr)
-
-I use an US ANSI Layout and set the OS to the US Keyboard. Since I'm german, I need to use some special characters once in a while - that's what the UNI and UNI2 Layers are for. Under Windows we have to rely on [WinCompose](https://github.com/samhocevar/wincompose) to work as intended.
-
- qmk compile -kb kprepublic/bm43hsrgb -km bitstarr
-
-## 0 Qwerty
-```
-,----------------------------------------------------------------------------.
-| ESC | Q | W | E | R | T | Y | U | I | O | P | Bscp |
-|----------------------------------------------------------------------------+
-| Tab | A | S | D | F | G | H | J | K | L | Enter |
-|----------------------------------------------------------------------------+
-| Shift | Z | X | C | V | B | N | M | , | . | / |
-|----------------------------------------------------------------------------+
-| Ctrl | Win | Alt | Space | Space/EXT | UNI | ADV | FN | Ctrl |
-`----------------------------------------------------------------------------'
-```
-
-## 1 EXT Layer
-```
-EXT Layer
-,----------------------------------------------------------------------------.
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | O | - | + |
-|----------------------------------------------------------------------------+
-| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Enter |
-|----------------------------------------------------------------------------+
-| Shift | F11 | F12 | | | ` | ; | ' | [ | ] | \ |
-|----------------------------------------------------------------------------+
-| Ctrl | Win | Alt | Space | | | | | Ctrl |
-`----------------------------------------------------------------------------'
-```
-
-* Numbers
-* F-Keys
-* Brackets, Punctuation, Special Characters
-
-## 2 ADV Layer
-```
-ADV Layer
-,----------------------------------------------------------------------------.
-| ` | W→ | ↑ | W↠| | | | | ⇞ | | PS | Del |
-|----------------------------------------------------------------------------+
-| Tab | ↠| ↓ | → | | | | ↖ | ⇟ | ↘︎ | |
-|----------------------------------------------------------------------------+
-| Shift | ⮠| ⯠| ⭠| 🔉 | 🔇 | 🔊 | | | | Ins |
-|----------------------------------------------------------------------------+
-| Ctrl | Win | Alt | Space | | | | | Ctrl |
-`----------------------------------------------------------------------------'
-```
-
-* Arrows, Word skips
-* Print Screen, Page Up, Page Down
-* Home, End, Ins, Del
-* Media
-
-## 3 FN Layer
-```
-FN Layer
-,----------------------------------------------------------------------------.
-| | | | | RESET | | | | | | | |
-|----------------------------------------------------------------------------+
-| | | | | | | | | | | |
-|----------------------------------------------------------------------------+
-| | RGB_T | RGB_M | H+ | H- | S+ | S- | B+ | B- | | |
-|----------------------------------------------------------------------------+
-| | | | | | | | | |
-`----------------------------------------------------------------------------'
-```
-
-* RGB, Toggle, Mode, Hue, Saturation, Brightness
-* Reset
-
-## 4 UNI Layer
-```
-UNI Layer
-,----------------------------------------------------------------------------.
-| | | | € | § | ° | | ü | | ö | – | |
-|----------------------------------------------------------------------------+
-| | ä | ß | | | | | | | | |
-|----------------------------------------------------------------------------+
-| UNI2 | „ | “ | †| | | | | | … | |
-|----------------------------------------------------------------------------+
-| | | | Space | Space | | | | Mode |
-`----------------------------------------------------------------------------'
-```
-
-* Umlauts
-* Punctuation
-* Special Characters
-* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS)
-
-## 5 UNI2 Layer
-```
-UNI2 Layer
-,----------------------------------------------------------------------------.
-| | | | é | | | | Ü | | Ü | — | |
-|----------------------------------------------------------------------------+
-| | Ä | | | | | | | | | |
-|----------------------------------------------------------------------------+
-| UNI2 | | | | | | | | | | |
-|----------------------------------------------------------------------------+
-| | | | Space | Space | | | | |
-`----------------------------------------------------------------------------'
-```
-
-* Capital Umlauts \ No newline at end of file
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/rules.mk b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/rules.mk
deleted file mode 100755
index e7b2d0a65e..0000000000
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-UNICODE_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/config.h b/keyboards/kprepublic/bm60hsrgb/rev1/config.h
deleted file mode 100644
index 6a3bee5a52..0000000000
--- a/keyboards/kprepublic/bm60hsrgb/rev1/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright 2020 MechMerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 69
-# define RGB_MATRIX_KEYPRESSES
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/info.json b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
index 589f4310f7..31527a79fa 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
@@ -12,7 +12,53 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180
},
"rgblight": {
"max_brightness": 180
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c
deleted file mode 100644
index da5aa92901..0000000000
--- a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2020 jbradforddillon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(1,KC_DEL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
- _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- )
-
-};
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/readme.md b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/readme.md
deleted file mode 100644
index aa2009e1e8..0000000000
--- a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-I set this up the same way I set up my dz60 boards.
-- Apple layout,
-- Capslock replaced with grave/tilde,
-- RShift doubles as forward slash, and
-- Delete doubles as a layer shift.
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
index e4089e9fd5..1d2b071fc1 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
@@ -15,66 +15,13 @@
*/
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define DRIVER_1_LED_TOTAL 63
-//#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
+#define IS31FL3733_LED_COUNT 63
#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#define RGB_MATRIX_DISABLE_KEYCODES
#endif
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define IS31FL3733_LED_COUNT DRIVER_1_LED_TOTAL
-
// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them;
// don't use those LEDs in RGB Matrix in that case.
#ifdef RGBLIGHT_ENABLE
@@ -84,8 +31,3 @@
#endif
#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL)
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/info.json b/keyboards/kprepublic/bm60hsrgb/rev2/info.json
index 47c0b8081a..9a77549e68 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/info.json
@@ -12,7 +12,48 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "custom",
+ "max_brightness": 120,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -30,6 +71,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"matrix_pins": {
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
index 0e9b3d318d..3ee74755fa 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
@@ -23,73 +23,73 @@
# include "ws2812.h"
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
-
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
-
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_14, G_14, I_14 },
-
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
-
- { 0, H_16, G_16, I_16 },
- { 0, H_15, G_15, I_15 },
- { 0, H_13, G_13, I_13 },
- { 0, E_15, D_15, F_15 },
- { 0, K_15, J_15, L_15 },
- { 0, K_11, J_11, L_11 },
- { 0, K_16, J_16, L_16 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 }
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 }
};
led_config_t g_led_config = {
@@ -153,16 +153,16 @@ rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
static void rgb_matrix_driver_init(void) {
i2c_init();
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE);
+ is31fl3733_init(0);
for (uint8_t index = 0; index < IS31FL3733_LED_COUNT; index++) {
bool enabled = true;
is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_led_control_registers(0);
}
static void rgb_matrix_driver_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_pwm_buffers(0);
# if WS2812_LED_TOTAL > 0
ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
# endif
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
deleted file mode 100644
index 2f02594e15..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2020 bdtc123
- * Copyright 2021 peepeetee
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 69
- #define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
index a18aa9d4f5..675d148604 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
@@ -12,7 +12,47 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 140
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
index eb1b76382b..5edcec6eb4 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
@@ -15,60 +15,8 @@
*/
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define DRIVER_1_LED_TOTAL 63
-# define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// #define ENABLE_RGB_MATRIX_DUAL_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#define RGB_MATRIX_DISABLE_KEYCODES
#endif
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
index d78ae63740..3b97f904ab 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
@@ -12,7 +12,33 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3733",
+ "max_brightness": 180,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -30,7 +56,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
- }
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ }
},
"matrix_pins": {
"cols": ["B2", "B3", "B7", "B0", "B1", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"],
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c
index fc40e0fa9a..eca53e9893 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c
@@ -15,74 +15,74 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_14, G_14, I_14 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
- { 0, H_16, G_16, I_16 },
- { 0, H_15, G_15, I_15 },
- { 0, H_13, G_13, I_13 },
- { 0, E_15, D_15, F_15 },
- { 0, K_15, J_15, L_15 },
- { 0, K_11, J_11, L_11 },
- { 0, K_16, J_16, L_16 },
- { 0, B_16, A_16, C_16 },
- { 0, E_16, D_16, F_16 }
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 }
};
led_config_t g_led_config = {
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
deleted file mode 100644
index 563ac242c8..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright 2020 markva
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 70
-# define RGB_MATRIX_KEYPRESSES
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
index ad67cc28c3..297c2dc48f 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
@@ -12,7 +12,53 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
index 00d55f8ee0..ea594e53cf 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
@@ -17,73 +17,8 @@
*/
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define DISABLE_RGB_MATRIX_RAINDROPS
-# define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define DRIVER_1_LED_TOTAL 64
-
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// Note: The RGB LED driver configuration is not inside #ifdef blocks, so that
-// the driver code would still compile even without RGBLIGHT_ENABLE and
-// RGB_MATRIX_ENABLE (usually this is not required, but with the custom
-// IS31FL3733+WS2812 driver setup used by this board the LED controller drivers
-// are compiled unconditionally).
-
-#define IS31FL3733_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
+#define IS31FL3733_LED_COUNT 64
// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them;
// don't use those LEDs in RGB Matrix in that case.
@@ -94,8 +29,3 @@
#endif
#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL)
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
index 6c577a283e..111534b0f8 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
@@ -12,7 +12,56 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "custom",
+ "max_brightness": 180,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -30,6 +79,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"matrix_pins": {
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
index 2cfe18e08e..e7641bf4e5 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
@@ -24,75 +24,75 @@
# include "ws2812.h"
-const PROGMEM is31fl3733_led_t g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
-
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
-
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_13, G_13, I_13 },
-
- { 0, K_1, J_1, L_1 },
- { 0, K_11, J_11, L_11 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_12, J_12, L_12 },
- { 0, K_13, J_13, L_13 },
- { 0, K_14, J_14, L_14 },
-
- { 0, H_16, G_16, I_16 },
- { 0, H_14, G_14, I_14 },
- { 0, H_15, G_15, I_15 },
- { 0, E_15, D_15, F_15 },
- { 0, K_15, J_15, L_15 },
- { 0, K_16, J_16, L_16 },
- { 0, B_16, A_16, C_16 },
- { 0, B_15, A_15, C_15 },
- { 0, E_16, D_16, F_16 }
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS14, SW10_CS14, SW12_CS14 },
+
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW2_CS15, SW1_CS15, SW3_CS15 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 }
};
led_config_t g_led_config = { {
@@ -153,16 +153,16 @@ rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
static void rgb_matrix_driver_init(void) {
i2c_init();
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE);
+ is31fl3733_init(0);
for (uint8_t index = 0; index < IS31FL3733_LED_COUNT; index++) {
bool enabled = true;
is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_led_control_registers(0);
}
static void rgb_matrix_driver_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_pwm_buffers(0);
# if WS2812_LED_TOTAL > 0
ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
# endif
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
deleted file mode 100644
index 6e721bb7c0..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright 2020 ipetepete
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 67
- #define RGB_MATRIX_KEYPRESSES
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
index d6368610ff..5840054b8c 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
@@ -12,7 +12,52 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180
},
"rgblight": {
"saturation_steps": 8,
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h
deleted file mode 100644
index 816e95d1c1..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copiright 2021 Carlo Sala (@carlosala)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define FORCE_NKRO
-#define TAPPING_FORCE_HOLD
-#define TAPPING_TERM 150
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/keymap.c
deleted file mode 100644
index c58517e8b6..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copiright 2021 Carlo Sala (@carlosala)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- LT(2, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_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, RSFT_T(KC_CAPS),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL),
- [1] = LAYOUT_60_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_HOME, KC_END, _______, KC_PSCR, _______, _______, _______,
- _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
- [2] = LAYOUT_60_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, UC(0x00B7), _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT)
-};
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk
deleted file mode 100644
index f5c69561fc..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LTO_ENABLE = yes
-MOUSEKEY_ENABLE = no
-NKRO_ENABLE = yes
-UNICODE_ENABLE = yes
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
deleted file mode 100644
index b9a297c10e..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright 2020 ipetepete
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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,
-_gamer,
-_colemak,
-_fn,
-_rgb,
-_spcfn
-};
-
-
-enum keycodes {
-gamer = SAFE_RANGE,
-qwerty,
-colemak
-};
-
-#define KC_SPFN LT(_spcfn, KC_SPC) // press for space, hold for function layer (aka spacefn)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_qwerty] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_SPFN, KC_RALT, KC_RCTL, MO(_fn), MO(_rgb)
- ),
- // Gamer standard qwerty layout but with normal space for jumping etc
- [_gamer] = LAYOUT_60_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_SPACE, _______, _______, _______, _______
- ),
- [_colemak] = LAYOUT_60_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______, _______, _______,
- _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, _______, _______, _______, _______,
- _______, _______, _______, KC_SPFN, _______, _______, _______, _______
- ),
- [_fn] = LAYOUT_60_ansi(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
- KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT,
- qwerty, colemak, gamer, _______, _______, _______, _______, _______
- ),
- [_rgb] = LAYOUT_60_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_spcfn] = LAYOUT_60_ansi(
- _______, SGUI(1), SGUI(2), SGUI(3), SGUI(4), SGUI(5), SGUI(6), SGUI(7), SGUI(8), SGUI(9), SGUI(0), _______, _______, KC_DEL,
- _______, _______, _______, KC_PGUP, _______, KC_LBRC, KC_RBRC, _______, KC_UP, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, KC_PGDN, _______, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case qwerty:
- if (record->event.pressed) {
- layer_clear();
- layer_on(_qwerty);
- set_single_persistent_default_layer(_qwerty);
- }
- return false;
- break;
- case colemak:
- if (record->event.pressed) {
- layer_clear();
- layer_on(_colemak);
- }
- return false;
- break;
- case gamer:
- if (record->event.pressed) {
- layer_clear();
- layer_on(_gamer);
- }
- return false;
- break;
-
- }
- return true;
-}
-
-void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
- rgb_matrix_set_color( i, red, green, blue );
- }
- }
-}
-
-
-bool rgb_matrix_indicators_user(void)
-{
- if (!g_suspend_state && rgb_matrix_config.enable) {
- switch (get_highest_layer(layer_state)) {
- //case _qwerty:
- // rgb_matrix_set_color(26, 0xFF, 0x00, 0x00);
- // break;
- case _colemak:
- rgb_matrix_set_color(55, 0xFF, 0xFF, 0xFF);
- break;
- case _spcfn:
- rgb_matrix_set_color(22, 0xFF, 0x00, 0x00);
- rgb_matrix_set_color(35, 0xFF, 0x00, 0x00);
- rgb_matrix_set_color(36, 0xFF, 0x00, 0x00);
- rgb_matrix_set_color(37, 0xFF, 0x00, 0x00);
- break;
- case _gamer:
- rgb_matrix_set_color(16, 0xFF, 0x00, 0xFF);
- rgb_matrix_set_color(29, 0xFF, 0x00, 0xFF);
- rgb_matrix_set_color(30, 0xFF, 0x00, 0xFF);
- rgb_matrix_set_color(31, 0xFF, 0x00, 0xFF);
- break;
- }
- }
- return false;
-}
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/readme.md b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/readme.md
deleted file mode 100644
index 7d381ff125..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Simple 60% for coding
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/rules.mk b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/rules.mk
deleted file mode 100644
index 3a025ba3a3..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-NKRO_ENABLE = yes # USB Nkey Rollover
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
index a877e182a6..b5ff897b18 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
@@ -15,72 +15,8 @@
*/
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
-
-
-
-
-
-// Note: The RGB LED driver configuration is not inside #ifdef blocks, so that
-// the driver code would still compile even without RGBLIGHT_ENABLE and
-// RGB_MATRIX_ENABLE (usually this is not required, but with the custom
-// IS31FL3733+WS2812 driver setup used by this board the LED controller drivers
-// are compiled unconditionally).
-
-// Configure the IS31FL3733 driver for per-key RGB LEDs
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define DRIVER_1_LED_TOTAL 61
-
-#define IS31FL3733_LED_COUNT DRIVER_1_LED_TOTAL
+#define IS31FL3733_LED_COUNT 61
// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them;
// don't use those LEDs in RGB Matrix in that case.
@@ -91,8 +27,3 @@
#endif
#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_TOTAL)
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
index 82d1974f06..9f16eb2121 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
@@ -12,7 +12,53 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "custom",
+ "max_brightness": 120,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -29,6 +75,9 @@
"static_gradient": true,
"rgb_test": true,
"alternating": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"matrix_pins": {
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
index 2e66a3096e..5cb6d850c9 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
@@ -22,71 +22,71 @@
# include "ws2812.h"
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
- { 0, B_1, A_1, C_1 },
- { 0, B_2, A_2, C_2 },
- { 0, B_3, A_3, C_3 },
- { 0, B_4, A_4, C_4 },
- { 0, B_5, A_5, C_5 },
- { 0, B_6, A_6, C_6 },
- { 0, B_7, A_7, C_7 },
- { 0, B_8, A_8, C_8 },
- { 0, B_9, A_9, C_9 },
- { 0, B_10, A_10, C_10 },
- { 0, B_11, A_11, C_11 },
- { 0, B_12, A_12, C_12 },
- { 0, B_13, A_13, C_13 },
- { 0, B_14, A_14, C_14 },
-
- { 0, E_1, D_1, F_1 },
- { 0, E_2, D_2, F_2 },
- { 0, E_3, D_3, F_3 },
- { 0, E_4, D_4, F_4 },
- { 0, E_5, D_5, F_5 },
- { 0, E_6, D_6, F_6 },
- { 0, E_7, D_7, F_7 },
- { 0, E_8, D_8, F_8 },
- { 0, E_9, D_9, F_9 },
- { 0, E_10, D_10, F_10 },
- { 0, E_11, D_11, F_11 },
- { 0, E_12, D_12, F_12 },
- { 0, E_13, D_13, F_13 },
- { 0, E_14, D_14, F_14 },
-
- { 0, H_1, G_1, I_1 },
- { 0, H_2, G_2, I_2 },
- { 0, H_3, G_3, I_3 },
- { 0, H_4, G_4, I_4 },
- { 0, H_5, G_5, I_5 },
- { 0, H_6, G_6, I_6 },
- { 0, H_7, G_7, I_7 },
- { 0, H_8, G_8, I_8 },
- { 0, H_9, G_9, I_9 },
- { 0, H_10, G_10, I_10 },
- { 0, H_11, G_11, I_11 },
- { 0, H_12, G_12, I_12 },
- { 0, H_14, G_14, I_14 },
-
- { 0, K_1, J_1, L_1 },
- { 0, K_2, J_2, L_2 },
- { 0, K_3, J_3, L_3 },
- { 0, K_4, J_4, L_4 },
- { 0, K_5, J_5, L_5 },
- { 0, K_6, J_6, L_6 },
- { 0, K_7, J_7, L_7 },
- { 0, K_8, J_8, L_8 },
- { 0, K_9, J_9, L_9 },
- { 0, K_10, J_10, L_10 },
- { 0, K_11, J_11, L_11 },
- { 0, K_13, J_13, L_13 },
-
- { 0, H_16, G_16, I_16 },
- { 0, H_15, G_15, I_15 },
- { 0, H_13, G_13, I_13 },
- { 0, E_15, D_15, F_15 },
- { 0, K_15, J_15, L_15 },
- { 0, K_16, J_16, L_16 },
- { 0, K_12, J_12, L_12 },
- { 0, E_16, D_16, F_16 }
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
+ { 0, SW11_CS16, SW10_CS16, SW12_CS16 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 }
};
led_config_t g_led_config = {
@@ -149,16 +149,16 @@ rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
static void rgb_matrix_driver_init(void) {
i2c_init();
- is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE);
+ is31fl3733_init(0);
for (uint8_t index = 0; index < IS31FL3733_LED_COUNT; index++) {
bool enabled = true;
is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_led_control_registers(0);
}
static void rgb_matrix_driver_flush(void) {
- is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
+ is31fl3733_update_pwm_buffers(0);
# if WS2812_LED_TOTAL > 0
ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
# endif
diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/config.h b/keyboards/kprepublic/bm65hsrgb/rev1/config.h
index ef410e9441..944a3a8423 100644
--- a/keyboards/kprepublic/bm65hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm65hsrgb/rev1/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 73
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h
deleted file mode 100644
index 0e06652715..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2021 deadolus 2022 p4yne
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// place overrides here
-
-#pragma once
-#define LSPO_KEYS KC_LSFT, KC_LSFT, KC_8
-#define RSPC_KEYS KC_RSFT, KC_LSFT, KC_9
-#define LAPO_KEYS KC_LALT, KC_RALT, KC_QUOT
-#define RAPC_KEYS KC_RALT, KC_RALT, KC_NUHS
-
-#define LEADER_TIMEOUT 1000
-#define LEADER_PER_KEY_TIMING 250
-
-// control underglow
-// i.e. switch it off
-//#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
-//#define RGBLIGHT_DEFAULT_HUE 0
-//#define RGBLIGHT_DEFAULT_SAT UINT8_MAX
-//#define RGBLIGHT_DEFAULT_SAT 0
-//#define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL
-//#define RGBLIGHT_DEFAULT_VAL 0
-//#define RGBLIGHT_DEFAULT_SPD 0
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h
deleted file mode 100644
index 8f11e4072b..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2019 ash0x0 2021 peepeetee, deadolus 2022 p4yne
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#include "print.h"
-#include <string.h>
-// HID has not yet been implemented for this keyboard
-// #include "raw_hid.h"
-
-#define MILLISECONDS_IN_SECOND 1000
-
-// Custom HSV values
-#define C_HSV_WINERED 0, 255, 85
-#define C_HSV_DARKGOLD 36, 255, 85
-#define C_HSV_DARKBLUE 170, 255, 85
-
-// Default color HSV Values (for inspiration)
-// #define HSV_AZURE 132, 102, 255
-// #define HSV_BLACK 0, 0, 0
-// #define HSV_BLUE 170, 255, 255
-// #define HSV_CHARTREUSE 64, 255, 255
-// #define HSV_CORAL 11, 176, 255
-// #define HSV_CYAN 128, 255, 255
-// #define HSV_GOLD 36, 255, 255
-// #define HSV_GOLDENROD 30, 218, 218
-// #define HSV_GREEN 85, 255, 255
-// #define HSV_MAGENTA 213, 255, 255
-// #define HSV_ORANGE 28, 255, 255
-// #define HSV_PINK 234, 128, 255
-// #define HSV_PURPLE 191, 255, 255
-// #define HSV_RED 0, 255, 255
-// #define HSV_SPRINGGREEN 106, 255, 255
-// #define HSV_TEAL 128, 255, 128
-// #define HSV_TURQUOISE 123, 90, 112
-// #define HSV_WHITE 0, 0, 255
-// #define HSV_YELLOW 43, 255, 255
-// #define HSV_OFF HSV_BLACK
-
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-#define RGB_DEFAULT_TIME_OUT 30
-#define RGB_FAST_MODE_TIME_OUT 3
-#define RGB_TIME_OUT_MAX 600
-#define RGB_TIME_OUT_MIN 10
-#define RGB_TIME_OUT_STEP 10
-
-bool disable_layer_color;
-
-uint8_t dfa_state; //state for my language switching DFA
-
-
-bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
-bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
-bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
-bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
-uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
-uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
-led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
deleted file mode 100644
index 03d1ddabed..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
+++ /dev/null
@@ -1,463 +0,0 @@
-/* Copyright 2019 ashlar 2021 peepeetee, deadolus 2022 p4yne
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "custom_keymap.h"
-#include "sendstring_german.h"
-
-#ifdef TAP_DANCE_ENABLE
-enum {
- TD_HOME_END,
-};
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- // tap once for home, twice for end
- [TD_HOME_END] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
-};
-#endif
-
-// Custom layer types
-enum layertypes {
- LYR_SOLID, // fullsize coloring
- LYR_TRANS, // used keys in layer color, lower layer shines through on unused keys
- LYR_BLACK // only used key in layer color
-};
-
-// Defines names for use in layer keycodes and the keymap
-enum layers {
- _LVL0_,
- _LVL1_,
- _LVL2_,
- _LVL3_,
- _LVL4_,
- _LVL5_,
- _LVL6_,
- _LVL7_
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PgU│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠Ent├───┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PgD│
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
- * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│GUI │Alt │ │ Alt│Ctrl│ │ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
- */
-#ifdef TAP_DANCE_ENABLE
-/* 0: ISO qwertz, SPACECADET and TAPDANCE */
-/* [_LVL0_] = LAYOUT_65_iso_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, TD(TD_HOME_END),
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- */
-/* 0: ISO DE qwertz, SPACECADET and TAPDANCE */
- [_LVL0_] = LAYOUT_65_iso_blocker(
- KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_ACUT, KC_BSPC, KC_DEL,
- KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, TD(TD_HOME_END),
- KC_CAPS, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGUP,
- SC_LSPO, DE_LABK, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-#else
- /* 0: ISO qwertz, SPACECADET but no TAPDANCE */
- [_LVL0_] = LAYOUT_65_iso_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGUP,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-#endif
- /* 1: Function key, multimedia control, layer switching board and LEADER */
- [_LVL1_] = LAYOUT_65_iso_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, LGUI(KC_END),
- S(KC_GRV), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PAUSE),
- QK_BOOT, TO(_LVL2_), TO(_LVL3_), TO(_LVL4_), TO(_LVL5_), TO(_LVL6_), TO(_LVL7_), _______, _______, _______, KC_BRIU, _______, KC_MUTE, TO(_LVL0_), KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, S(KC_MUTE), KC_MPLY, KC_VOLD,
- _______, _______, _______, QK_LEAD, _______, _______, KC_MPRV, KC_MSTP, KC_MNXT
- ),
- /* 2: Mouse layer and virtual/multiple desktop navigation */
- [_LVL2_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_PGDN, KC_PGUP, KC_PSCR, KC_WH_U, _______, _______, _______,
- _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_WH_D, _______, _______, TO(_LVL0_), _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, LCA(KC_UP), LCA(KC_E),
- _______, _______, _______, _______, _______, _______, LCA(KC_LEFT), LCA(KC_DOWN), LCA(KC_RGHT)
- ),
-#ifdef DYNAMIC_MACRO_ENABLE
- /* 3: Dynamic macro, NUMPAD and settings */
- [_LVL3_] = LAYOUT_65_iso_blocker(
- _______, DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
- _______, DM_REC1, DM_REC2, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(_LVL0_), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
- _______, _______, _______, RGB_TOG, KC_0, KC_PCMM, _______, _______, _______
- ),
-#else
- /* 3: NUMPAD and settings */
- [_LVL3_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
- _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(_LVL0_), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
- _______, _______, _______, RGB_TOG, KC_0, KC_PCMM, _______, _______, _______
- ),
-#endif
- /* Gaming layer no TAPDANCE no SPACECADET simple QWERTZ layout for custom coloring */
- [_LVL4_] = LAYOUT_65_iso_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* 5: ISO qwerty DE 2 US Base Layer */
- [_LVL5_] = LAYOUT_65_iso_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS, DE_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Y, KC_U, KC_I, KC_O, KC_P, DE_LBRC, DE_RBRC, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN, DE_QUOT, DE_BSLS, KC_ENT, KC_PGUP,
- MO(_LVL6_), DE_GRV, DE_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_COMM, DE_DOT, DE_SLSH, MO(_LVL6_), KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* 6: ISO qwerty DE 2 US Shifted Layer */
- [_LVL6_] = LAYOUT_65_iso_blocker(
- _______, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_UNDS, DE_PLUS, _______, _______,
- _______, S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), S(DE_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P), DE_LCBR, DE_RCBR, KC_END,
- KC_CAPS, S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), S(KC_H), S(KC_J), S(KC_K), S(KC_L), DE_COLN, DE_DQUO, DE_PIPE, _______, _______,
- KC_LSFT, DE_TILD, S(DE_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), S(KC_N), S(KC_M), DE_LABK, DE_RABK, DE_QUES, KC_RSFT, _______, _______,
- _______, _______, _______, _______, _______, TO(_LVL0_), _______, _______, _______
- ),
-/* Led Type Lighting Layer functionally equivalent to _LVL0_ / layer 0 */
-#ifdef TAP_DANCE_ENABLE
- /* 7: ISO DE qwertz, SPACECADET and TAPDANCE */
- [_LVL7_] = LAYOUT_65_iso_blocker(
- KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_ACUT, KC_BSPC, KC_DEL,
- KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, TD(TD_HOME_END),
- KC_CAPS, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGUP,
- SC_LSPO, DE_LABK, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-#else
- /* 7: ISO qwertz, SPACECADET but no TAPDANCE */
- [_LVL7_] = LAYOUT_65_iso_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-#endif
-
-
- /*template
- [_UL] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- */
-};
-
-
-// layer color and type
-const uint8_t PROGMEM ledmap[][4] = {
- // LEDs off on Layer 0
- //[_LVL0_] = {{0, 0, 0}, LYR_SOLID},
- [_LVL0_] = {C_HSV_WINERED, LYR_SOLID},
- [_LVL1_] = {HSV_RED, LYR_TRANS},
- [_LVL2_] = {HSV_MAGENTA, LYR_BLACK},
- [_LVL3_] = {HSV_PURPLE, LYR_BLACK},
- [_LVL4_] = {C_HSV_DARKGOLD, LYR_SOLID},
- [_LVL5_] = {C_HSV_DARKBLUE, LYR_SOLID},
- [_LVL6_] = {HSV_BLUE, LYR_TRANS},
- [_LVL7_] = {C_HSV_WINERED, LYR_SOLID}
-};
-
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
-#ifdef CONSOLE_ENABLE
- debug_enable=true;
- debug_matrix=true;
-#endif
- //rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- //rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- //rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR);
- //rgb_matrix_sethsv(HSV_OFF);
- //rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
- //rgb_matrix_sethsv_noeeprom(HSV_OFF);
- //rgb_matrix_set_color_all(RGB_BLACK);
- rgb_matrix_enable();
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-#ifdef CONSOLE_ENABLE
- // useful for getting matrix right
- uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %u, time: %u, interrupt: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
-#endif
-
- switch (keycode) {
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(RGB_BLACK);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(RGB_BLACK);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
-
-
-void set_led_color_by_hsv(int ledkey, uint8_t h_in, uint8_t s_in, uint8_t v_in){
- HSV hsv = { .h = h_in, .s = s_in, .v = v_in};
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(ledkey, f * rgb.r, f * rgb.g, f * rgb.b);
-}
-
-void set_led_color_by_layer(int layer, int ledkey){
- set_led_color_by_hsv(ledkey, pgm_read_byte(&ledmap[layer][0]),
- pgm_read_byte(&ledmap[layer][1]),
- pgm_read_byte(&ledmap[layer][2]));
-}
-
-void set_ledkey_by_layer_type(int layer, int ledkey, uint16_t key){
- if (rgb_matrix_get_flags() != LED_FLAG_ALL){
- if ( key == KC_TRNS ) {
- if ((pgm_read_byte(&ledmap[layer][3]) == LYR_TRANS) && (layer > 0)){
- // this key is transparent and the layer below does something
- // - light it up in (lower) layer-1 specific color
- set_led_color_by_layer(layer-1, ledkey);
- }
- if (pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){
- // this key is transparent but the lower layer is not intended
- // to be used, it still works but not intended; type BLACK
- set_led_color_by_hsv(ledkey, HSV_BLACK);
- }
- } else {
- // this key does something - light it up in layer specific color
- // regular key and SOLID or BLACK as layer type
- set_led_color_by_layer(layer, ledkey);
- }
- }
-}
-
-void set_caps_lock(int layer) {
- int caps_lock_led = 30;
- led_t host_leds = host_keyboard_led_state();
- if (host_leds.caps_lock) {
- set_led_color_by_hsv(caps_lock_led, HSV_WHITE);
- } else {
- // if capslock is not pressed don't clear it,
- // it might be used for displaying led pattern
- if((rgb_matrix_get_flags() != LED_FLAG_ALL)) {
- // or to keep the correct lighting on for the layer that use all keys
- // on all other layers turn the led off, so only switch it of when
- // layer is BLACK
- if(pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){
- set_led_color_by_hsv(caps_lock_led, HSV_BLACK);
- }
- }
- }
-}
-
-void set_layer_color(int layer) {
- // key specific lighting
- int ledkey=0;
- for (int keyindex=0; keyindex<MATRIX_COLS*MATRIX_ROWS;keyindex++) {
- uint8_t row = keyindex/MATRIX_COLS;
- uint8_t col = (keyindex-(keyindex/MATRIX_COLS)*MATRIX_COLS);
- uint16_t key=pgm_read_word(&keymaps[layer][row][col]);
-
- // continue if this is not a valid key
- if (key==KC_NO) { continue; }
-
- // handle layer specific coloring
- set_ledkey_by_layer_type(layer, ledkey, key);
- /* === below this function add custom overriding ledkey lighting === */
-
- // gaming layer with highlighted keys
- //if (IS_LAYER_ON(_LVL4_)) {
- if (layer == _LVL4_) {
- if((key==KC_W) || (key==KC_A) || (key==KC_S) || (key==KC_D)) {
- set_led_color_by_hsv(ledkey, HSV_GOLD);
- }
- if((key==KC_R) || (key==KC_SPC) || (key==KC_LSFT) || (key==KC_LCTL)) {
- set_led_color_by_hsv(ledkey, HSV_GOLDENROD);
- }
- }
-
- // color testing layer
- /*if (layer == _LVL7_) {
- switch (ledkey) {
- case 16: {
- set_led_color_by_hsv(ledkey, HSV_AZURE);
- }
- break;
- case 17: {
- set_led_color_by_hsv(ledkey, HSV_BLUE);
- }
- break;
- case 18: {
- set_led_color_by_hsv(ledkey, HSV_CHARTREUSE);
- }
- break;
- case 19: {
- set_led_color_by_hsv(ledkey, HSV_CORAL);
- }
- break;
- case 20: {
- set_led_color_by_hsv(ledkey, HSV_CYAN);
- }
- break;
- case 21: {
- set_led_color_by_hsv(ledkey, HSV_GOLD);
- }
- break;
- case 22: {
- set_led_color_by_hsv(ledkey, HSV_GOLDENROD);
- }
- break;
- case 23: {
- set_led_color_by_hsv(ledkey, HSV_MAGENTA);
- }
- break;
- case 24: {
- set_led_color_by_hsv(ledkey, HSV_ORANGE);
- }
- break;
- case 25: {
- set_led_color_by_hsv(ledkey, HSV_PINK);
- }
- break;
- case 26: {
- set_led_color_by_hsv(ledkey, HSV_RED);
- }
- break;
- case 27: {
- set_led_color_by_hsv(ledkey, HSV_SPRINGGREEN);
- }
- break;
- case 32: {
- set_led_color_by_hsv(ledkey, HSV_MAGENTA);
- }
- break;
- case 33: {
- set_led_color_by_hsv(ledkey, HSV_TEAL);
- }
- break;
- case 34: {
- set_led_color_by_hsv(ledkey, HSV_TURQUOISE);
- }
- break;
- case 35: {
- set_led_color_by_hsv(ledkey, HSV_WHITE);
- }
- break;
- case 36: {
- set_led_color_by_hsv(ledkey, HSV_YELLOW);
- }
- break;
- case 37: {
- set_led_color_by_hsv(ledkey, HSV_PURPLE);
- }
- break;
- case 38: {
- set_led_color_by_hsv(ledkey, HSV_GREEN);
- }
- break;
- default: {
- }
- break;
- }
- }*/
- ledkey++;
- }
- // non key specific lighting instead led flag based
- if (layer == _LVL7_){
- for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
- set_led_color_by_hsv(i, C_HSV_DARKGOLD);
- }
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
- set_led_color_by_hsv(i, HSV_BLACK);
- }
- if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
- set_led_color_by_layer(layer, i);
- }
- }
- }
-
- return;
-}
-
-bool rgb_matrix_indicators_user(void) {
- int layer = get_highest_layer(layer_state);
- set_layer_color(layer);
- set_caps_lock(layer);
- return false;
-}
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_F)) {
- // Anything you can do in a macro.
- SEND_STRING("QMK is awesome.");
- }
- if (leader_sequence_two_keys(KC_D, KC_D)) {
- SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
- }
- if (leader_sequence_two_keys(KC_S, KC_S)) {
- SEND_STRING(SS_LCTL("v"));
- }
- if (leader_sequence_three_keys(KC_D, KC_D, KC_S)) {
- SEND_STRING("https://start.duckduckgo.com\n");
- }
-}
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md
deleted file mode 100644
index 924e63cef7..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# p4yne's keymap for the bm65iso
-
-* Eight layers (DE, LYR_SW_MEDIA, MOUSE_DSKTP_NAV, DYN_MACRO_NUMPAD_LEADER, GAMING, US, US_SHIFTED, DE_FLAG_LIGHTNING)
-* Different color for each layer (DRK_RED, RED, MAGENTA, PURPLE, DRK_GOLD, DRK_BLUE, BLUE, DRK_RED)
-* Keys with something else defined than KC_TRNS are lit up in the layer color, so you easily can see which keys have some function defined
-* Custom layer types for KC_TRNS keys to let lower layer shine through, or stay black/off
-* Custom lighting based on layer, key and led flag
-* Caps-Lock lights up when active
-* Some leader shortcuts defined - nothing useful yet
-* Some space cadet keys defined for easier insertion of () and {}
-* Bootmagic lite enabled via default settings so you can plug in the keyboard while holding esc to land in bootloader mode
-* Manages all this and still fits in to the program memory
-
-Make example for this keyboard (after setting up your build environment):
-
- make kprepublic/bm65hsrgb_iso:p4yne
-
-Flashing example for this keyboard:
-
- make kprepublic/bm65hsrgb_iso:p4yne:flash
-
-Keyboard Maintainer: **[p4yne](https://github.com/p4yne)**
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk
deleted file mode 100644
index a94bdba88b..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#Features
-TAP_DANCE_ENABLE = yes
-SPACE_CADET_ENABLE = yes
-
-
-MAGIC_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-LEADER_ENABLE = yes
-DYNAMIC_MACRO_ENABLE = yes
-
-#Disabled Features
-#COMBO_ENABLE = no
-# Combo Key Grave and Escape
-#GRAVE_ESC_ENABLE = no
-# no unicode support
-#UNICODE_ENABLE = no
-
-#Debugging
-#COMMAND_ENABLE = no
-#CONSOLE_ENABLE = yes
-
-
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
deleted file mode 100644
index c916ffb2a9..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright 2020 ipetepete, 2021 deadolus, 2022 p4yne
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 74
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BAND_SAT
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
index 6b8a5a8a3a..8e20dcdbd5 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
@@ -30,7 +30,56 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "band_sat"
+ },
+ "driver": "ws2812",
+ "max_brightness": 140
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h
deleted file mode 100644
index 1dc1414fa5..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2021 deadolus
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// place overrides here
-
-#pragma once
-#define LSPO_KEYS KC_LSFT, KC_LSFT, KC_8
-#define RSPC_KEYS KC_RSFT, KC_LSFT, KC_9
-#define LAPO_KEYS KC_LALT, KC_RALT, KC_QUOT
-#define RAPC_KEYS KC_RALT, KC_RALT, KC_NUHS
-
-#define LEADER_TIMEOUT 1000
-#define LEADER_PER_KEY_TIMING 250
-
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
deleted file mode 100644
index 11f8103297..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/* Copyright 2019 ashlar 2021 peepeetee, deadolus
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap.h"
-
-#ifdef TAP_DANCE_ENABLE
-enum {
- TD_HOME_END,
-};
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- //tap once for home, twice for end
- [TD_HOME_END] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
-};
-#endif
-
-
-// // Defines names for use in layer keycodes and the keymap
-enum layers {
- _BL,
- _RED_,
- _GREEN_,
- _BLUE_,
- _CYAN_,
- _MAGENTA_,
- _YELLOW_
-};
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠├───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- */
-#ifdef TAP_DANCE_ENABLE
- /* 0: ISO qwerty */
- [_BL] = LAYOUT_65_iso_blocker(
- KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, TD(TD_HOME_END),
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
-
- ),
-#else
- [_BL] = LAYOUT_65_iso_blocker(
- KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, SC_LAPO, KC_SPC, SC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
-
- ),
-#endif
-
- [_RED_] = LAYOUT_65_iso_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, LGUI(KC_END),
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PAUSE),
- _______, TO(_GREEN_), TO(_BLUE_), TO(_CYAN_), TO(_MAGENTA_), TO(_YELLOW_), _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- QK_BOOT, _______, _______, QK_LEAD, _______, _______, KC_MPLY, KC_VOLD, KC_MUTE
- ),
-
-
- [_GREEN_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, KC_PSCR, _______, _______, _______, _______,
- _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, KC_BTN2, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
- [_BLUE_] = LAYOUT_65_iso_blocker(
- _______, DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______,
- _______, DM_REC1, DM_REC2, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
- _______, _______, _______, _______, KC_0, KC_PCMM, _______, _______, _______
- ),
- [_CYAN_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_MAGENTA_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_YELLOW_] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /*template
- [_UL] = LAYOUT_65_iso_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- */
-};
-
-#ifdef _______
-#undef _______
-#define _______ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][3] = {
- [_BL] = _______,
- [_RED_] = RED,
- [_GREEN_] = GREEN,
- [_BLUE_] = BLUE,
- [_CYAN_] = CYAN,
- [_MAGENTA_] = MAGENTA,
- [_YELLOW_] = YELLOW
-};
-
-#undef _______
-#define _______ KC_TRNS
-#endif
-
-
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
-#ifdef CONSOLE_ENABLE
- debug_enable=true;
- debug_matrix=true;
-#endif
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-#ifdef CONSOLE_ENABLE
- //useful for getting matrix right
- uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
-#endif
-
- switch (keycode) {
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
-
-void setCapsLock(void) {
- led_t host_leds = host_keyboard_led_state();
- if (host_leds.caps_lock) {
- rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
-
- } else {
- //if capslock is not pressed don't clear it, it might be used for displaying led pattern
- if((rgb_matrix_get_flags() != LED_FLAG_ALL)) {
- rgb_matrix_set_color(30, 0x0, 0x0, 0x0);
- }
- }
-}
-
-void set_layer_color(int layer) {
- int ledkey=0;
- for(int i=0; i<MATRIX_COLS*MATRIX_ROWS;i++) {
- uint8_t row = i/MATRIX_COLS;
- uint8_t col=(i-(i/MATRIX_COLS)*MATRIX_COLS);
- uint16_t key=pgm_read_word(&keymaps[layer][row][col]);
- //continue if this is not a valid key
- if(key==KC_NO) { continue; }
- //clear key if it is only a transition
- if ((key == KC_TRNS)) {
- if(rgb_matrix_get_flags() != LED_FLAG_ALL){
- rgb_matrix_set_color(ledkey, 0, 0, 0);
- }
- }else {
- //this key does something - light it up
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][0]),
- .s = pgm_read_byte(&ledmap[layer][1]),
- .v = pgm_read_byte(&ledmap[layer][2]),
- };
-
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- if( (layer != 0) || (rgb_matrix_get_flags() != LED_FLAG_ALL))
- rgb_matrix_set_color(ledkey, f * rgb.r, f * rgb.g, f * rgb.b);
- }
- //if we are on layer 0 set capslock to correct status
- if(layer==0 && i==30) { setCapsLock(); }
- ledkey++;
- }
- return;
-}
-
-bool rgb_matrix_indicators_user(void) {
- set_layer_color(get_highest_layer(layer_state));
-
- return false;
-}
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_F)) {
- // Anything you can do in a macro.
- SEND_STRING("QMK is awesome.");
- }
- if (leader_sequence_two_keys(KC_D, KC_D)) {
- SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
- }
- if (leader_sequence_three_keys(KC_D, KC_D, KC_S)) {
- SEND_STRING("https");
- register_code(KC_LSFT);
- SEND_STRING(".77");
- unregister_code(KC_LSFT);
- SEND_STRING("start.duckduckgo.com\n");
- }
-}
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h
deleted file mode 100644
index 1459e2c5bb..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2019 ash0x0 2021 peepeetee, deadolus
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#include "print.h"
-#include <string.h>
-// HID has not yet been implemented for this keyboard
-// #include "raw_hid.h"
-
-#define MILLISECONDS_IN_SECOND 1000
-
-// These are just to make it neater to use builtin HSV values in the keymap
-#define RED {HSV_RED}
-#define CORAL {HSV_CORAL}
-#define ORANGE {HSV_ORANGE}
-#define GOLDEN {HSV_GOLDENROD}
-#define GOLD {HSV_GOLD}
-#define YELLOW {HSV_YELLOW}
-#define CHART {HSV_CHARTREUSE}
-#define GREEN {HSV_GREEN}
-#define SPRING {HSV_SPRINGGREEN}
-#define TURQ {HSV_TURQUOISE}
-#define TEAL {HSV_TEAL}
-#define CYAN {HSV_CYAN}
-#define AZURE {HSV_AZURE}
-#define BLUE {HSV_BLUE}
-#define PURPLE {HSV_PURPLE}
-#define MAGENTA {HSV_MAGENTA}
-#define PINK {HSV_PINK}
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-#define RGB_DEFAULT_TIME_OUT 30
-#define RGB_FAST_MODE_TIME_OUT 3
-#define RGB_TIME_OUT_MAX 600
-#define RGB_TIME_OUT_MIN 10
-#define RGB_TIME_OUT_STEP 10
-
-extern bool g_suspend_state;
-bool disable_layer_color;
-
-uint8_t dfa_state; //state for my language switching DFA
-
-
-bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
-bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
-bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
-bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
-uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
-uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
-led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md
deleted file mode 100644
index 095550b01a..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Deadolus' keymap for the bm65iso
-
-* Six layers (even though three are mostly empty)
-* Different color for each layer (r,g,b,c,m,y)
-* **Keys with something else defined than KC_TRNS are lit up in the layer color, so you easily can see which keys have some function defined**
-* Caps-Lock lights up when active and on layer 0
-* Some leader shortcuts defined - nothing useful yet
-* Some space cadet keys defined for easier insertion of () and {}
-* Bootmagic lite enabled via default settings so you can plug in the keyboard while holding esc to land in bootloader mode
-* Manages all this and still fits in to the program memory
-
-Make example for this keyboard (after setting up your build environment):
-
- make kprepublic/bm65hsrgb_iso:deadolus
-
-Flashing example for this keyboard:
-
- make kprepublic/bm65hsrgb_iso:deadolus:flash
-
-Keyboard Maintainer: **[deadolus](https://github.com/deadolus)**
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk
deleted file mode 100644
index c8354ea256..0000000000
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-DYNAMIC_MACRO_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-LEADER_ENABLE = yes
-#CONSOLE_ENABLE=yes
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h
index a3ef1df3b3..458ef98569 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/config.h
@@ -17,61 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 74
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
index ac3dcdf508..838df92b9e 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
@@ -12,7 +12,53 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
deleted file mode 100644
index 13eefdef65..0000000000
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-
-// #define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-// #define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-// #define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define NO_DEBUG // Disable debugging
-// #define NO_PRINT // Disable printing/debugging using hid_listen
-// #define NO_ACTION_LAYER // Disable layers
-// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features
-// #define NO_ACTION_ONESHOT // Disable one-shot modifiers
-// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro
-// #define TERMINAL_HELP
-// #define MOUSEKEY_INTERVAL 20
-// #define MOUSEKEY_DELAY 0
-// #define MOUSEKEY_TIME_TO_MAX 60
-// #define MOUSEKEY_MAX_SPEED 10
-// #define MOUSEKEY_WHEEL_DELAY 0
-#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
- #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
-// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue
-// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
-// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
-// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
-// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel
-// #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by
-// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls
-// #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient top to bottom, speed controls how much gradient changes
-#undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-//#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-#undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
- // =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
deleted file mode 100644
index fdfe740688..0000000000
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/* Copyright 2019 ash0x0 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap.h"
-// // Defines names for use in layer keycodes and the keymap
-// enum layer_names {
-// _BASE,
-// _FN
-// };
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI,LT(1, KC_LALT), KC_SPC, KC_RALT, MO(1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DELETE,
- RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, KC_KP_7, KC_KP_8, KC_KP_9, _______, _______, _______, _______, _______, KC_PGUP,
- RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, KC_KP_4, KC_KP_5, KC_KP_6, _______, _______, _______, _______, KC_PGDN,
- BL_TOGG, _______, _______, _______, _______, QK_BOOT, KC_KP_1, KC_KP_2, KC_KP_3, _______, _______, _______, KC_AUDIO_VOL_UP, KC_END,
- _______, _______, _______, _______, _______, _______, _______, KC_BRIGHTNESS_DOWN, KC_AUDIO_VOL_DOWN, KC_BRIGHTNESS_UP
- ),
-
-};
-
-/*
-Templete
- [ ] = LAYOUT_65_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-*/
-
-#ifdef _______
-#undef _______
-#define _______ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [1] = {
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- GREEN, BLUE, {0, 0, 255}, PURPLE, AZURE, _______, {0, 0, 255}, {0, 0, 255}, {0, 0, 255}, _______, _______, _______, _______, _______, _______,
- RED, BLUE, {0, 0, 1}, PURPLE, AZURE, _______, {0, 0, 255}, {0, 0, 255}, {0, 0, 255}, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RED, {0, 0, 255}, {0, 0, 255}, {0, 0, 255}, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- }
-
-};
-
-#undef _______
-#define _______ KC_TRNS
-#endif
-
-
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
- dfa_state = 0; // ENGLISH
-}
-
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_DELETE:
- if (record->event.pressed) {
- dfa_state = 0;
- } else {
- // Do something else when release
- }
- return false; // Skip all further processing of this key
- case KC_SPC:
- if (record->event.pressed) {
- if ((get_mods() & MOD_BIT(KC_LGUI)) == MOD_BIT(KC_LGUI)){
- if(dfa_state == 3){
- dfa_state = 0;
- } else {
- dfa_state = dfa_state + 1;
- }
- }
- } else {
- // Do something else when release
- }
- return true; // Continue execution
-
-
- case KC_HOME:
- if (record->event.pressed) {
- switch(dfa_state){
- case 0 :{
- return false;
- }
- case 1 :{
- tap_code16(G(KC_SPC));
- wait_ms(100);
- tap_code16(G(KC_SPC));
- wait_ms(100);
- tap_code16(G(KC_SPC));
- dfa_state = 0;
- return false;
- }
- case 2 :{
- tap_code16(G(KC_SPC));
- wait_ms(100);
- tap_code16(G(KC_SPC));
- dfa_state = 0;
- return false;
- }
- case 3 :{
- tap_code16(G(KC_SPC));
- dfa_state = 0;
- return false;
- }
- }
-
- // Do something when pressed
- } else {
- // Do something else when release
- }
- return false; // Skip all further processing of this key
- // case KC_PGUP:
- // if (record->event.pressed) {
- // switch(dfa_state){
- // case 0 :{
- // tap_code16(G(KC_SPC));
- // dfa_state = 1;
- // return false;
- // }
- // case 1 :{
- // return false;
- // }
- // case 2 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 1;
- // return false;
- // }
- // case 3 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 1;
- // return false;
- // }
- // }
- // // Do something when pressed
- // } else {
- // // Do something else when release
- // }
- // return false; // Skip all further processing of this key
- // case KC_PGDN:
- // if (record->event.pressed) {
- // switch(dfa_state){
- // case 0 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 2;
- // return false;
- // }
- // case 1 :{
- // tap_code16(G(KC_SPC));
- // dfa_state = 2;
- // return false;
- // }
- // case 2 :{
- // return false;
- // }
- // case 3 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 2;
- // return false;
- // }
- // }
- // // Do something when pressed
- // } else {
- // // Do something else when release
- // }
- // return false; // Skip all further processing of this key
- // case KC_END:
- // if (record->event.pressed) {
- // switch(dfa_state){
- // case 0 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 3;
- // return false;
- // }
- // case 1 :{
- // tap_code16(G(KC_SPC));
- // wait_ms(100);
- // tap_code16(G(KC_SPC));
- // dfa_state = 3;
- // return false;
- // }
- // case 2 :{
- // tap_code16(G(KC_SPC));
- // dfa_state = 3;
- // return false;
- // }
- // case 3 :{
- // return false;
- // }
- // }
- // // Do something when pressed
- // } else {
- // // Do something else when release
- // }
- // return false; // Skip all further processing of this key
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
-
-void set_layer_color(int layer) {
- if (layer == 0) { return; }
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (hsv.h || hsv.s || hsv.v) {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- } else if (layer != 1) {
- // Only deactivate non-defined key LEDs at layers other than FN. Because at FN we have RGB adjustments and need to see them live.
- // If the values are all false then it's a transparent key and deactivate LED at this layer
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
-
- led_t host_leds = host_keyboard_led_state();
- if (host_leds.caps_lock) {
- //rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
- rgb_matrix_set_color(30, 0x0, 0x0, 0x0);
-
- } else {
- //rgb_matrix_set_color(30, 0x0, 0x0, 0x0);
- }
- set_layer_color(get_highest_layer(layer_state));
-
- return false;
-}
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h
deleted file mode 100644
index e8d0170d4d..0000000000
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2019 ash0x0 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#include "print.h"
-#include <string.h>
-// HID has not yet been implemented for this keyboard
-// #include "raw_hid.h"
-
-#define MILLISECONDS_IN_SECOND 1000
-
-// These are just to make it neater to use builtin HSV values in the keymap
-#define RED {HSV_RED}
-#define CORAL {HSV_CORAL}
-#define ORANGE {HSV_ORANGE}
-#define GOLDEN {HSV_GOLDENROD}
-#define GOLD {HSV_GOLD}
-#define YELLOW {HSV_YELLOW}
-#define CHART {HSV_CHARTREUSE}
-#define GREEN {HSV_GREEN}
-#define SPRING {HSV_SPRINGGREEN}
-#define TURQ {HSV_TURQUOISE}
-#define TEAL {HSV_TEAL}
-#define CYAN {HSV_CYAN}
-#define AZURE {HSV_AZURE}
-#define BLUE {HSV_BLUE}
-#define PURPLE {HSV_PURPLE}
-#define MAGENT {HSV_MAGENTA}
-#define PINK {HSV_PINK}
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-#define RGB_DEFAULT_TIME_OUT 30
-#define RGB_FAST_MODE_TIME_OUT 3
-#define RGB_TIME_OUT_MAX 600
-#define RGB_TIME_OUT_MIN 10
-#define RGB_TIME_OUT_STEP 10
-
-extern bool g_suspend_state;
-bool disable_layer_color;
-
-uint8_t dfa_state; //state for my language switching DFA
-
-
-bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
-bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
-bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
-bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
-uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
-uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
-led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md
deleted file mode 100644
index 47899c27e1..0000000000
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# peepeetee's keymap for the bm68rgb. Includes a DFA to set the windows system language back to English by pressing the top right button. Said DFA will only work with 4 languages(for now). \ No newline at end of file
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h
index 078085779b..df6f089922 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h
@@ -16,73 +16,8 @@
*/
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 68
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-#define DRIVER_INDICATOR_LED_TOTAL 0
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// # define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// # define ENABLE_RGB_MATRIX_RAINDROPS
-// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// # define ENABLE_RGB_MATRIX_HUE_BREATHING
-// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// # define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-
#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#define RGB_MATRIX_DISABLE_KEYCODES
#endif
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
index 7a0cefeace..41cb0fc4ee 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
@@ -12,7 +12,39 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3741",
+ "max_brightness": 180,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
@@ -30,6 +62,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"matrix_pins": {
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c
index 057b4669f5..68068d7fb9 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c
@@ -17,79 +17,79 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW2, CS5_SW2, CS4_SW2},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS18_SW1, CS17_SW1, CS16_SW1},
- {0, CS18_SW2, CS17_SW2, CS16_SW2},
- {0, CS18_SW3, CS17_SW3, CS16_SW3},
- {0, CS18_SW4, CS17_SW4, CS16_SW4},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW2_CS6, SW2_CS5, SW2_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW1_CS18, SW1_CS17, SW1_CS16},
+ {0, SW2_CS18, SW2_CS17, SW2_CS16},
+ {0, SW3_CS18, SW3_CS17, SW3_CS16},
+ {0, SW4_CS18, SW4_CS17, SW4_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS24_SW1, CS23_SW1, CS22_SW1},
- {0, CS24_SW2, CS23_SW2, CS22_SW2},
- {0, CS24_SW3, CS23_SW3, CS22_SW3},
- {0, CS24_SW4, CS23_SW4, CS22_SW4},
- {0, CS24_SW6, CS23_SW6, CS22_SW6},
- {0, CS24_SW7, CS23_SW7, CS22_SW7},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW1_CS24, SW1_CS23, SW1_CS22},
+ {0, SW2_CS24, SW2_CS23, SW2_CS22},
+ {0, SW3_CS24, SW3_CS23, SW3_CS22},
+ {0, SW4_CS24, SW4_CS23, SW4_CS22},
+ {0, SW6_CS24, SW6_CS23, SW6_CS22},
+ {0, SW7_CS24, SW7_CS23, SW7_CS22},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS27_SW1, CS26_SW1, CS25_SW1},
- {0, CS27_SW2, CS26_SW2, CS25_SW2},
- {0, CS27_SW3, CS26_SW3, CS25_SW3},
- {0, CS27_SW4, CS26_SW4, CS25_SW4},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW1_CS27, SW1_CS26, SW1_CS25},
+ {0, SW2_CS27, SW2_CS26, SW2_CS25},
+ {0, SW3_CS27, SW3_CS26, SW3_CS25},
+ {0, SW4_CS27, SW4_CS26, SW4_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW7, CS2_SW7, CS1_SW7},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
- {0, CS30_SW5, CS29_SW5, CS28_SW5},
- {0, CS30_SW6, CS29_SW6, CS28_SW6},
- {0, CS30_SW7, CS29_SW7, CS28_SW7}
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW7_CS3, SW7_CS2, SW7_CS1},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
+ {0, SW5_CS30, SW5_CS29, SW5_CS28},
+ {0, SW6_CS30, SW6_CS29, SW6_CS28},
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}
};
led_config_t g_led_config = { {
diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h
index e0a7f47a4d..0ce6616934 100644
--- a/keyboards/kprepublic/bm80hsrgb/config.h
+++ b/keyboards/kprepublic/bm80hsrgb/config.h
@@ -17,66 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 87
-
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-//#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// does not work for some reason, might revisit
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/kprepublic/bm80hsrgb/info.json b/keyboards/kprepublic/bm80hsrgb/info.json
index 0feaa9a99a..91fa89ec3b 100644
--- a/keyboards/kprepublic/bm80hsrgb/info.json
+++ b/keyboards/kprepublic/bm80hsrgb/info.json
@@ -12,6 +12,50 @@
"pin": "E2"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
deleted file mode 100644
index 06a7409110..0000000000
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Copyright 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define TERMINAL_HELP
-
-#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-
-// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient top to bottom, speed controls how much gradient changes
-#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-#define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-//#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-#define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-#define DISABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
-#define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
-#define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-//#define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c
deleted file mode 100644
index 70c8a5f3af..0000000000
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_AUDIO_VOL_UP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIGHTNESS_DOWN, KC_AUDIO_VOL_DOWN, KC_BRIGHTNESS_UP
- )
-
-/*
- [X] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-*/
-
-
-};
-
diff --git a/keyboards/kprepublic/bm80v2/bm80v2.c b/keyboards/kprepublic/bm80v2/bm80v2.c
index 13d67cdd56..9c1b71d057 100644
--- a/keyboards/kprepublic/bm80v2/bm80v2.c
+++ b/keyboards/kprepublic/bm80v2/bm80v2.c
@@ -16,100 +16,100 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS6_SW9, CS5_SW9, CS4_SW9},
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW9_CS6, SW9_CS5, SW9_CS4},
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS9_SW9, CS8_SW9, CS7_SW9},
- {0,CS24_SW1, CS23_SW1, CS22_SW1},
- {0,CS24_SW2, CS23_SW2, CS22_SW2},
- {0,CS24_SW3, CS23_SW3, CS22_SW3},
- {0,CS24_SW4, CS23_SW4, CS22_SW4},
- {0,CS24_SW5, CS23_SW5, CS22_SW5},
- {0,CS24_SW6, CS23_SW6, CS22_SW6},
- {0,CS24_SW7, CS23_SW7, CS22_SW7},
- {0,CS24_SW8, CS23_SW8, CS22_SW8},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW9_CS9, SW9_CS8, SW9_CS7},
+ {0,SW1_CS24, SW1_CS23, SW1_CS22},
+ {0,SW2_CS24, SW2_CS23, SW2_CS22},
+ {0,SW3_CS24, SW3_CS23, SW3_CS22},
+ {0,SW4_CS24, SW4_CS23, SW4_CS22},
+ {0,SW5_CS24, SW5_CS23, SW5_CS22},
+ {0,SW6_CS24, SW6_CS23, SW6_CS22},
+ {0,SW7_CS24, SW7_CS23, SW7_CS22},
+ {0,SW8_CS24, SW8_CS23, SW8_CS22},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS12_SW9, CS11_SW9, CS10_SW9},
- {0, CS27_SW1, CS26_SW1, CS25_SW1},
- {0, CS27_SW2, CS26_SW2, CS25_SW2},
- {0, CS27_SW3, CS26_SW3, CS25_SW3},
- {0, CS27_SW4, CS26_SW4, CS25_SW4},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
- {0, CS27_SW8, CS26_SW8, CS25_SW8},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW9_CS12, SW9_CS11, SW9_CS10},
+ {0, SW1_CS27, SW1_CS26, SW1_CS25},
+ {0, SW2_CS27, SW2_CS26, SW2_CS25},
+ {0, SW3_CS27, SW3_CS26, SW3_CS25},
+ {0, SW4_CS27, SW4_CS26, SW4_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
+ {0, SW8_CS27, SW8_CS26, SW8_CS25},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS15_SW9, CS14_SW9, CS13_SW9},
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW9_CS15, SW9_CS14, SW9_CS13},
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
- {0, CS18_SW1, CS17_SW1, CS16_SW1},
- {0, CS18_SW3, CS17_SW3, CS16_SW3},
- {0, CS18_SW4, CS17_SW4, CS16_SW4},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS18_SW8, CS17_SW8, CS16_SW8},
- {0, CS18_SW9, CS17_SW9, CS16_SW9},
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
+ {0, SW1_CS18, SW1_CS17, SW1_CS16},
+ {0, SW3_CS18, SW3_CS17, SW3_CS16},
+ {0, SW4_CS18, SW4_CS17, SW4_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW8_CS18, SW8_CS17, SW8_CS16},
+ {0, SW9_CS18, SW9_CS17, SW9_CS16},
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW6, CS35_SW6, CS34_SW6},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
- {0, CS36_SW8, CS35_SW8, CS34_SW8}
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW6_CS36, SW6_CS35, SW6_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}
};
led_config_t g_led_config = { {
diff --git a/keyboards/kprepublic/bm80v2/config.h b/keyboards/kprepublic/bm80v2/config.h
index 91ad6350e0..6c1d71f0cd 100644
--- a/keyboards/kprepublic/bm80v2/config.h
+++ b/keyboards/kprepublic/bm80v2/config.h
@@ -14,47 +14,4 @@
*/
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 87
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm80v2/info.json b/keyboards/kprepublic/bm80v2/info.json
index a30886a988..a8b5f3fd8a 100644
--- a/keyboards/kprepublic/bm80v2/info.json
+++ b/keyboards/kprepublic/bm80v2/info.json
@@ -9,7 +9,45 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"],
diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h b/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h
deleted file mode 100644
index 4726396806..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2023 Saph1s @Saph1s
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #undef RGB_MATRIX_DEFAULT_MODE
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/keymap.c b/keyboards/kprepublic/bm80v2/keymaps/saph1s/keymap.c
deleted file mode 100644
index 295832774f..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2023 Saph1s @Saph1s
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#include "rgb_matrix_map.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, GUI_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
-
-#ifdef RGB_MATRIX_ENABLE
- bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- if (keymap_config.no_gui) {
- rgb_matrix_set_color(LED_LGUI, RGB_RED); //LGUI light
- }
- return false;
- }
-#endif
diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/readme.md b/keyboards/kprepublic/bm80v2/keymaps/saph1s/readme.md
deleted file mode 100644
index f97a0f9b27..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# [Saph1s](https://github.com/Saph1s) | KPrepublic BM80v2 keymap
-
-## Features
-
-- RGUI has been replaced by Fn
-- Add Win Key lock function (Fn+Win) + RGB indication
diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/rgb_matrix_map.h b/keyboards/kprepublic/bm80v2/keymaps/saph1s/rgb_matrix_map.h
deleted file mode 100644
index f68a4a68f1..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/rgb_matrix_map.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright 2023 Saph1s @Saph1s
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-#ifdef RGB_MATRIX_ENABLE
-
- enum led_location_map {
- LED_ESC,
- LED_F1,
- LED_F2,
- LED_F3,
- LED_F4,
- LED_F5,
- LED_F6,
- LED_F7,
- LED_F8,
- LED_F9,
- LED_F10,
- LED_F11,
- LED_F12,
- LED_PSCR,
- LED_SCRL,
- LED_PAUS,
-
- LED_GRV,
- LED_1,
- LED_2,
- LED_3,
- LED_4,
- LED_5,
- LED_6,
- LED_7,
- LED_8,
- LED_9,
- LED_0,
- LED_MINS,
- LED_EQL,
- LED_BSPC,
- LED_INS,
- LED_HOME,
- LED_PGUP,
-
- LED_TAB,
- LED_Q,
- LED_W,
- LED_E,
- LED_R,
- LED_T,
- LED_Y,
- LED_U,
- LED_I,
- LED_O,
- LED_P,
- LED_LBRC,
- LED_RBRC,
- LED_BSLS,
- LED_DEL,
- LED_END,
- LED_PGDN,
-
- LED_CAPS,
- LED_A,
- LED_S,
- LED_D,
- LED_F,
- LED_G,
- LED_H,
- LED_J,
- LED_K,
- LED_L,
- LED_SCLN,
- LED_QUOT,
- LED_ENT,
-
- LED_LSFT,
- LED_Z,
- LED_X,
- LED_C,
- LED_V,
- LED_B,
- LED_N,
- LED_M,
- LED_COMM,
- LED_DOT,
- LED_SLSH,
- LED_RSFT,
- LED_UP,
-
- LED_LCTL,
- LED_LGUI,
- LED_LALT,
- LED_SPC,
- LED_RALT,
- LED_FN,
- LED_APP,
- LED_RCTL,
- LED_LEFT,
- LED_DOWN,
- LED_RGHT
- };
-#endif
diff --git a/keyboards/kprepublic/bm80v2/keymaps/smooted/config.h b/keyboards/kprepublic/bm80v2/keymaps/smooted/config.h
deleted file mode 100644
index 88fa41d110..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/smooted/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2022 bdtc123 *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#define FORCE_NKRO
diff --git a/keyboards/kprepublic/bm80v2/keymaps/smooted/keymap.c b/keyboards/kprepublic/bm80v2/keymaps/smooted/keymap.c
deleted file mode 100644
index ba91157d92..0000000000
--- a/keyboards/kprepublic/bm80v2/keymaps/smooted/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2021 Yizhen Liu (@edwardslau)
-// SPDX-License-Identifier: GPL-2.0
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
index 3b8daf5fee..3009359c65 100644
--- a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
+++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
@@ -16,101 +16,101 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS6_SW9, CS5_SW9, CS4_SW9},
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6},
- {0, CS21_SW7, CS20_SW7, CS19_SW7},
- {0, CS21_SW8, CS20_SW8, CS19_SW8},
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW9_CS6, SW9_CS5, SW9_CS4},
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19},
+ {0, SW7_CS21, SW7_CS20, SW7_CS19},
+ {0, SW8_CS21, SW8_CS20, SW8_CS19},
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS9_SW9, CS8_SW9, CS7_SW9},
- {0,CS24_SW1, CS23_SW1, CS22_SW1},
- {0,CS24_SW2, CS23_SW2, CS22_SW2},
- {0,CS24_SW3, CS23_SW3, CS22_SW3},
- {0,CS24_SW4, CS23_SW4, CS22_SW4},
- {0,CS24_SW5, CS23_SW5, CS22_SW5},
- {0,CS24_SW6, CS23_SW6, CS22_SW6},
- {0,CS24_SW7, CS23_SW7, CS22_SW7},
- {0,CS24_SW8, CS23_SW8, CS22_SW8},
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW9_CS9, SW9_CS8, SW9_CS7},
+ {0,SW1_CS24, SW1_CS23, SW1_CS22},
+ {0,SW2_CS24, SW2_CS23, SW2_CS22},
+ {0,SW3_CS24, SW3_CS23, SW3_CS22},
+ {0,SW4_CS24, SW4_CS23, SW4_CS22},
+ {0,SW5_CS24, SW5_CS23, SW5_CS22},
+ {0,SW6_CS24, SW6_CS23, SW6_CS22},
+ {0,SW7_CS24, SW7_CS23, SW7_CS22},
+ {0,SW8_CS24, SW8_CS23, SW8_CS22},
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS12_SW9, CS11_SW9, CS10_SW9},
- {0, CS27_SW1, CS26_SW1, CS25_SW1},
- {0, CS27_SW2, CS26_SW2, CS25_SW2},
- {0, CS27_SW3, CS26_SW3, CS25_SW3},
- {0, CS27_SW4, CS26_SW4, CS25_SW4},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
- {0, CS27_SW7, CS26_SW7, CS25_SW7},
- {0, CS27_SW8, CS26_SW8, CS25_SW8},
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW9_CS12, SW9_CS11, SW9_CS10},
+ {0, SW1_CS27, SW1_CS26, SW1_CS25},
+ {0, SW2_CS27, SW2_CS26, SW2_CS25},
+ {0, SW3_CS27, SW3_CS26, SW3_CS25},
+ {0, SW4_CS27, SW4_CS26, SW4_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+ {0, SW7_CS27, SW7_CS26, SW7_CS25},
+ {0, SW8_CS27, SW8_CS26, SW8_CS25},
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS15_SW9, CS14_SW9, CS13_SW9},
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW9_CS15, SW9_CS14, SW9_CS13},
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
- {0, CS18_SW1, CS17_SW1, CS16_SW1},
- {0, CS18_SW2, CS17_SW2, CS16_SW2},
- {0, CS18_SW3, CS17_SW3, CS16_SW3},
- {0, CS18_SW4, CS17_SW4, CS16_SW4},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS18_SW8, CS17_SW8, CS16_SW8},
- {0, CS18_SW9, CS17_SW9, CS16_SW9},
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
+ {0, SW1_CS18, SW1_CS17, SW1_CS16},
+ {0, SW2_CS18, SW2_CS17, SW2_CS16},
+ {0, SW3_CS18, SW3_CS17, SW3_CS16},
+ {0, SW4_CS18, SW4_CS17, SW4_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW8_CS18, SW8_CS17, SW8_CS16},
+ {0, SW9_CS18, SW9_CS17, SW9_CS16},
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW6, CS35_SW6, CS34_SW6},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
- {0, CS36_SW8, CS35_SW8, CS34_SW8}
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW6_CS36, SW6_CS35, SW6_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}
};
led_config_t g_led_config = { {
diff --git a/keyboards/kprepublic/bm80v2_iso/config.h b/keyboards/kprepublic/bm80v2_iso/config.h
index a086185993..a0345beac5 100644
--- a/keyboards/kprepublic/bm80v2_iso/config.h
+++ b/keyboards/kprepublic/bm80v2_iso/config.h
@@ -14,48 +14,4 @@
*/
#pragma once
-/* disable these deprecated features by default */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 88
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm80v2_iso/info.json b/keyboards/kprepublic/bm80v2_iso/info.json
index 6f8bdc5fd9..3ff78b6c89 100644
--- a/keyboards/kprepublic/bm80v2_iso/info.json
+++ b/keyboards/kprepublic/bm80v2_iso/info.json
@@ -9,7 +9,45 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"],
diff --git a/keyboards/kprepublic/bm980hsrgb/config.h b/keyboards/kprepublic/bm980hsrgb/config.h
index 73c222c113..458ef98569 100644
--- a/keyboards/kprepublic/bm980hsrgb/config.h
+++ b/keyboards/kprepublic/bm980hsrgb/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 98
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c
deleted file mode 100644
index f5705ac6ad..0000000000
--- a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright 2021 peepeetee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#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_INS, KC_DEL, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP,
- 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_NUM, KC_HOME, KC_END, 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_P7, KC_P8, KC_P9, 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_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
- // [X] = LAYOUT(
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // ),
-};
-
-
-bool rgb_matrix_indicators_user(void) {
-
- led_t host_leds = host_keyboard_led_state();
- if (host_leds.num_lock) {
- rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF);
- //rgb_matrix_set_color(30, 0x0, 0x0, 0x0);
-
- } else {
- //rgb_matrix_set_color(30, 0x0, 0x0, 0x0);
- }
- //set_layer_color(get_highest_layer(layer_state));
-
- return false;
-}
diff --git a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
deleted file mode 100644
index c3fc1a2925..0000000000
--- a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
+++ /dev/null
@@ -1,367 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "led.h"
-#include <print.h>
-
-#ifdef RGBLIGHT_ENABLE
-#include "rgblight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-enum cospad_layers {
- _QWERTY_LAYER,
- _QWERTZ_LAYER,
- _COLEMA_LAYER,
- _DVORAK_LAYER,
- _QWERTY_LOWER_LAYER,
- _QWERTZ_LOWER_LAYER,
- _COLEMA_LOWER_LAYER,
- _DVORAK_LOWER_LAYER,
- _RAISE_LAYER,
- _ALTER_LAYER,
-};
-
-// To switch the default layer used for the layout, there are special keycodes.
-// Which onces detected below serve to switch it.
-enum cospad_keycodes {
- QWERTY = SAFE_RANGE,
- QWERTZ,
- COLEMAK,
- DVORAK
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Keymap _QWERTY_LAYER: Default layer
- * ,-----------------------.
- * | T | G | B | Alt |
- * |-----|-----|-----|-----|
- * | R | F | V | LOW |
- * |-----|-----|-----|-----|
- * | E | D | C | |
- * |-----|-----|-----| Spc |
- * | W | S | X | |
- * |-----|-----|-----|-----|
- * | Q | A | Z | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- *
- * And it's LOWER layer
- * ,-----------------------.
- * | P | ; | / | Alt |
- * |-----|-----|-----|-----|
- * | O | L | . | LOW |
- * |-----|-----|-----|-----|
- * | I | K | , | |
- * |-----|-----|-----| Ent |
- * | U | J | M | |
- * |-----|-----|-----|-----|
- * | Y | H | N | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- */
- [_QWERTY_LAYER] = LAYOUT_gamepad_6x4(
- KC_T, KC_G, KC_B, KC_LALT,
- KC_R, KC_F, KC_V, MO(_QWERTY_LOWER_LAYER),
- KC_E, KC_D, KC_C,
- KC_W, KC_S, KC_X, KC_SPACE,
- KC_Q, KC_A, KC_Z, MO(_RAISE_LAYER),
- QK_GESC, KC_TAB, KC_LSFT, KC_LCTL),
- [_QWERTY_LOWER_LAYER] = LAYOUT_gamepad_6x4(
- KC_P, KC_SCLN, KC_SLSH, KC_LALT,
- KC_O, KC_L, KC_DOT, _______,
- KC_I, KC_K, KC_COMM,
- KC_U, KC_J, KC_M, KC_ENTER,
- KC_Y, KC_H, KC_N, _______,
- _______, _______, _______, _______),
-
-
-
- /* Keymap _QWERTZ_LAYER: Alternate default layer
- * ,-----------------------.
- * | T | G | B | Alt |
- * |-----|-----|-----|-----|
- * | R | F | V | LOW |
- * |-----|-----|-----|-----|
- * | E | D | C | |
- * |-----|-----|-----| Spc |
- * | W | S | X | |
- * |-----|-----|-----|-----|
- * | Q | A | Y | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- *
- * And it's LOWER layer
- * ,-----------------------.
- * | P | ; | / | Alt |
- * |-----|-----|-----|-----|
- * | O | L | > | LOW |
- * |-----|-----|-----|-----|
- * | I | K | < | |
- * |-----|-----|-----| Ent |
- * | U | J | M | |
- * |-----|-----|-----|-----|
- * | Z | H | N | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- */
- [_QWERTZ_LAYER] = LAYOUT_gamepad_6x4(
- KC_T, KC_G, KC_B, KC_LALT,
- KC_R, KC_F, KC_V, MO(_QWERTZ_LOWER_LAYER),
- KC_E, KC_D, KC_C,
- KC_W, KC_S, KC_X, KC_SPACE,
- KC_Q, KC_A, KC_Y, MO(_RAISE_LAYER),
- QK_GESC, KC_TAB, KC_LSFT, KC_LCTL),
- [_QWERTZ_LOWER_LAYER] = LAYOUT_gamepad_6x4(
- KC_P, KC_SCLN, KC_SLSH, KC_LALT,
- KC_O, KC_L, KC_DOT, _______,
- KC_I, KC_K, KC_COMM,
- KC_U, KC_J, KC_M, KC_ENTER,
- KC_Z, KC_H, KC_N, _______,
- _______, _______, _______, _______),
-
-
-
- /* Keymap _COLEMA_LAYER: Alternate default layer
- * ,-----------------------.
- * | G | D | B | Alt |
- * |-----|-----|-----|-----|
- * | P | T | V | LOW |
- * |-----|-----|-----|-----|
- * | F | S | C | |
- * |-----|-----|-----| Spc |
- * | W | R | X | |
- * |-----|-----|-----|-----|
- * | Q | A | Z | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- *
- * And it's LOWER layer
- * ,-----------------------.
- * | ; | O | / | Alt |
- * |-----|-----|-----|-----|
- * | Y | I | . | LOW |
- * |-----|-----|-----|-----|
- * | U | E | , | |
- * |-----|-----|-----| Ent |
- * | L | N | M | |
- * |-----|-----|-----|-----|
- * | J | H | K | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- */
- [_COLEMA_LAYER] = LAYOUT_gamepad_6x4(
- KC_T, KC_D, KC_B, KC_LALT,
- KC_R, KC_T, KC_V, MO(_COLEMA_LOWER_LAYER),
- KC_E, KC_S, KC_C,
- KC_W, KC_R, KC_X, KC_SPACE,
- KC_Q, KC_A, KC_Z, MO(_RAISE_LAYER),
- QK_GESC, KC_TAB, KC_LSFT, KC_LCTL),
- [_COLEMA_LOWER_LAYER] = LAYOUT_gamepad_6x4(
- KC_SCLN, KC_O, KC_SLSH, _______,
- KC_Y, KC_I, KC_DOT, _______,
- KC_U, KC_E, KC_COMM,
- KC_L, KC_N, KC_M, KC_ENTER,
- KC_J, KC_H, KC_K, _______,
- KC_F, KC_G, _______, _______),
-
-
-
- /* Keymap _DVORAK_LAYER: Alternate default layer
- * ,-----------------------.
- * | Y | I | X | Alt |
- * |-----|-----|-----|-----|
- * | P | U | K | LOW |
- * |-----|-----|-----|-----|
- * | . | E | J | |
- * |-----|-----|-----| Spc |
- * | , | O | Q | |
- * |-----|-----|-----|-----|
- * | ' | A | ; | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- *
- * And it's LOWER layer
- * ,-----------------------.
- * | L | S | Z | Alt |
- * |-----|-----|-----|-----|
- * | R | N | V | LOW |
- * |-----|-----|-----|-----|
- * | C | T | W | |
- * |-----|-----|-----| Ent |
- * | G | H | M | |
- * |-----|-----|-----|-----|
- * | F | D | B | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- */
- [_DVORAK_LAYER] = LAYOUT_gamepad_6x4(
- KC_Y, KC_I, KC_X, KC_LALT,
- KC_P, KC_U, KC_K, MO(_DVORAK_LOWER_LAYER),
- KC_DOT, KC_E, KC_J,
- KC_COMM, KC_O, KC_A, KC_SPACE,
- KC_QUOT, KC_A, KC_SCLN, MO(_RAISE_LAYER),
- QK_GESC, KC_TAB, KC_LSFT, KC_LCTL),
- [_DVORAK_LOWER_LAYER] = LAYOUT_gamepad_6x4(
- KC_L, KC_S, KC_Z, KC_LALT,
- KC_R, KC_N, KC_V, _______,
- KC_C, KC_T, KC_W,
- KC_G, KC_H, KC_M, KC_ENTER,
- KC_F, KC_D, KC_B, _______,
- _______, _______, _______, _______),
-
-
-
- /* Keymap _RAISE_LAYER: Additional layer to access more
- * ,-----------------------.
- * | 5 | 0 | del | Alt |
- * |-----|-----|-----|-----|
- * | 4 | 9 | -> | LOW |
- * |-----|-----|-----|-----|
- * | 3 | 8 | <- | |
- * |-----|-----|-----| Spc |
- * | 2 | 7 | -> | |
- * |-----|-----|-----|-----|
- * | 1 | 6 | <- | RAI |
- * |-----|-----|-----|-----|
- * | Esc | Tab | Sft | Ctl |
- * `-----------------------'
- */
- [_RAISE_LAYER] = LAYOUT_gamepad_6x4(
- KC_5, KC_0, KC_BSPC, _______,
- KC_4, KC_9, KC_RIGHT, _______,
- KC_3, KC_8, KC_UP,
- KC_2, KC_7, KC_DOWN, _______,
- KC_1, KC_6, KC_LEFT, _______,
- _______, _______, _______, _______),
-
-
-
- /* Keymap _ALTER_LAYER: Function layer used to control the Leds
- * and use media buttons
- * ,----------------------------------------.
- * | Val Dec | Bl Toggle | Qwertz | Super |
- * |---------|------------|---------|-------|
- * | Val Inc | Bl Off | Qwerty | |
- * |---------|------------|---------|-------|
- * | Sat Dec | Bl On | Colemak | |
- * |---------|------------|---------| |
- * | Sat Inc | RGB Toggle | Dvorak | |
- * |---------|------------|---------|-------|
- * | Hue Dec | RGB Next | Vol Dwn | |
- * |---------|------------|---------|-------|
- * | Hue Inc | RGB Prev | Vol Up | Reset |
- * `----------------------------------------'
- */
- [_ALTER_LAYER] = LAYOUT_gamepad_6x4(
- RGB_VAD, BL_TOGG, QWERTZ, KC_LGUI,
- RGB_VAI, BL_OFF, QWERTY, _______,
- RGB_SAD, BL_ON, COLEMAK,
- RGB_SAI, RGB_TOG, DVORAK, _______,
- RGB_HUD, RGB_MOD, KC_VOLD, _______,
- RGB_HUI, RGB_RMOD, KC_VOLU, QK_BOOT),
-};
-
-// Makes sure to update the good tri-layer if a layer changes
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
- break;
- case _QWERTZ_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
- break;
- case _COLEMA_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
- break;
- case _DVORAK_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER);
- break;
- }
- return state;
-}
-
-// Makes the tri-layer
-layer_state_t default_layer_state_set_kb(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _QWERTY_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER);
- layer_move(_QWERTY_LAYER);
- break;
- case _QWERTZ_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER);
- layer_move(_QWERTZ_LAYER);
- break;
- case _COLEMA_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER);
- layer_move(_COLEMA_LAYER);
- break;
- case _DVORAK_LAYER:
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
- state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
- layer_move(_DVORAK_LAYER);
- break;
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case BL_TOGG:
- if (record->event.pressed) {
- cospad_bl_led_togg();
- }
- return false;
- case BL_ON:
- if (record->event.pressed) {
- cospad_bl_led_on();
- }
- return false;
- case BL_OFF:
- if (record->event.pressed) {
- cospad_bl_led_off();
- }
- return false;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY_LAYER);
- print("switched to QWERTY layout\n");
- }
- return false;
- break;
- case QWERTZ:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTZ_LAYER);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMA_LAYER);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK_LAYER);
- }
- return false;
- break;
- default:
- return true;
- }
-}
diff --git a/keyboards/kprepublic/cstc40/config.h b/keyboards/kprepublic/cstc40/config.h
index 75ddd104ae..4f845a84af 100644
--- a/keyboards/kprepublic/cstc40/config.h
+++ b/keyboards/kprepublic/cstc40/config.h
@@ -5,54 +5,5 @@
#define I2C1_SDA_PIN B9
#define I2C1_SCL_PIN B8
-#define DRIVER_ADDR_1 0b1010000
-#define RGB_MATRIX_LED_COUNT 47
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c b/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c
index 39d3d7ff52..38fac99155 100644
--- a/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c
+++ b/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c
@@ -16,56 +16,56 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, L_1, K_1, J_1 },
- { 0, L_2, K_2, J_2 },
- { 0, L_3, K_3, J_3 },
- { 0, L_4, K_4, J_4 },
- { 0, L_5, K_5, J_5 },
- { 0, L_6, K_6, J_6 },
- { 0, L_7, K_7, J_7 },
- { 0, L_8, K_8, J_8 },
- { 0, L_9, K_9, J_9 },
- { 0, L_10, K_10, J_10 },
- { 0, L_11, K_11, J_11 },
- { 0, L_12, K_12, J_12 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW12_CS1, SW11_CS1, SW10_CS1 },
+ { 0, SW12_CS2, SW11_CS2, SW10_CS2 },
+ { 0, SW12_CS3, SW11_CS3, SW10_CS3 },
+ { 0, SW12_CS4, SW11_CS4, SW10_CS4 },
+ { 0, SW12_CS5, SW11_CS5, SW10_CS5 },
+ { 0, SW12_CS6, SW11_CS6, SW10_CS6 },
+ { 0, SW12_CS7, SW11_CS7, SW10_CS7 },
+ { 0, SW12_CS8, SW11_CS8, SW10_CS8 },
+ { 0, SW12_CS9, SW11_CS9, SW10_CS9 },
+ { 0, SW12_CS10, SW11_CS10, SW10_CS10 },
+ { 0, SW12_CS11, SW11_CS11, SW10_CS11 },
+ { 0, SW12_CS12, SW11_CS12, SW10_CS12 },
- { 0, I_1, H_1, G_1 },
- { 0, I_2, H_2, G_2 },
- { 0, I_3, H_3, G_3 },
- { 0, I_4, H_4, G_4 },
- { 0, I_5, H_5, G_5 },
- { 0, I_6, H_6, G_6 },
- { 0, I_7, H_7, G_7 },
- { 0, I_8, H_8, G_8 },
- { 0, I_9, H_9, G_9 },
- { 0, I_10, H_10, G_10 },
- { 0, I_11, H_11, G_11 },
- { 0, I_12, H_12, G_12 },
+ { 0, SW9_CS1, SW8_CS1, SW7_CS1 },
+ { 0, SW9_CS2, SW8_CS2, SW7_CS2 },
+ { 0, SW9_CS3, SW8_CS3, SW7_CS3 },
+ { 0, SW9_CS4, SW8_CS4, SW7_CS4 },
+ { 0, SW9_CS5, SW8_CS5, SW7_CS5 },
+ { 0, SW9_CS6, SW8_CS6, SW7_CS6 },
+ { 0, SW9_CS7, SW8_CS7, SW7_CS7 },
+ { 0, SW9_CS8, SW8_CS8, SW7_CS8 },
+ { 0, SW9_CS9, SW8_CS9, SW7_CS9 },
+ { 0, SW9_CS10, SW8_CS10, SW7_CS10 },
+ { 0, SW9_CS11, SW8_CS11, SW7_CS11 },
+ { 0, SW9_CS12, SW8_CS12, SW7_CS12 },
- { 0, F_1, E_1, D_1 },
- { 0, F_2, E_2, D_2 },
- { 0, F_3, E_3, D_3 },
- { 0, F_4, E_4, D_4 },
- { 0, F_5, E_5, D_5 },
- { 0, F_6, E_6, D_6 },
- { 0, F_7, E_7, D_7 },
- { 0, F_8, E_8, D_8 },
- { 0, F_9, E_9, D_9 },
- { 0, F_10, E_10, D_10 },
- { 0, F_11, E_11, D_11 },
- { 0, F_12, E_12, D_12 },
+ { 0, SW6_CS1, SW5_CS1, SW4_CS1 },
+ { 0, SW6_CS2, SW5_CS2, SW4_CS2 },
+ { 0, SW6_CS3, SW5_CS3, SW4_CS3 },
+ { 0, SW6_CS4, SW5_CS4, SW4_CS4 },
+ { 0, SW6_CS5, SW5_CS5, SW4_CS5 },
+ { 0, SW6_CS6, SW5_CS6, SW4_CS6 },
+ { 0, SW6_CS7, SW5_CS7, SW4_CS7 },
+ { 0, SW6_CS8, SW5_CS8, SW4_CS8 },
+ { 0, SW6_CS9, SW5_CS9, SW4_CS9 },
+ { 0, SW6_CS10, SW5_CS10, SW4_CS10 },
+ { 0, SW6_CS11, SW5_CS11, SW4_CS11 },
+ { 0, SW6_CS12, SW5_CS12, SW4_CS12 },
- { 0, C_1, B_1, A_1 },
- { 0, C_2, B_2, A_2 },
- { 0, C_3, B_3, A_3 },
- { 0, C_4, B_4, A_4 },
- { 0, C_5, B_5, A_5 },
- { 0, C_6, B_6, A_6 },
- { 0, C_8, B_8, A_8 },
- { 0, C_9, B_9, A_9 },
- { 0, C_10, B_10, A_10 },
- { 0, C_11, B_11, A_11 },
- { 0, C_12, B_12, A_12 }
+ { 0, SW3_CS1, SW2_CS1, SW1_CS1 },
+ { 0, SW3_CS2, SW2_CS2, SW1_CS2 },
+ { 0, SW3_CS3, SW2_CS3, SW1_CS3 },
+ { 0, SW3_CS4, SW2_CS4, SW1_CS4 },
+ { 0, SW3_CS5, SW2_CS5, SW1_CS5 },
+ { 0, SW3_CS6, SW2_CS6, SW1_CS6 },
+ { 0, SW3_CS8, SW2_CS8, SW1_CS8 },
+ { 0, SW3_CS9, SW2_CS9, SW1_CS9 },
+ { 0, SW3_CS10, SW2_CS10, SW1_CS10 },
+ { 0, SW3_CS11, SW2_CS11, SW1_CS11 },
+ { 0, SW3_CS12, SW2_CS12, SW1_CS12 }
};
#endif \ No newline at end of file
diff --git a/keyboards/kprepublic/cstc40/info.json b/keyboards/kprepublic/cstc40/info.json
index 4ccd8389e8..44d12fc22f 100644
--- a/keyboards/kprepublic/cstc40/info.json
+++ b/keyboards/kprepublic/cstc40/info.json
@@ -75,6 +75,51 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "is31fl3733",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
@@ -125,6 +170,7 @@
{"matrix": [3, 10], "x": 203, "y": 64, "flags": 1},
{"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}
],
- "max_brightness": 200
+ "max_brightness": 200,
+ "sleep": true
}
} \ No newline at end of file
diff --git a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c b/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c
index 39d3d7ff52..38fac99155 100644
--- a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c
+++ b/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c
@@ -16,56 +16,56 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, L_1, K_1, J_1 },
- { 0, L_2, K_2, J_2 },
- { 0, L_3, K_3, J_3 },
- { 0, L_4, K_4, J_4 },
- { 0, L_5, K_5, J_5 },
- { 0, L_6, K_6, J_6 },
- { 0, L_7, K_7, J_7 },
- { 0, L_8, K_8, J_8 },
- { 0, L_9, K_9, J_9 },
- { 0, L_10, K_10, J_10 },
- { 0, L_11, K_11, J_11 },
- { 0, L_12, K_12, J_12 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW12_CS1, SW11_CS1, SW10_CS1 },
+ { 0, SW12_CS2, SW11_CS2, SW10_CS2 },
+ { 0, SW12_CS3, SW11_CS3, SW10_CS3 },
+ { 0, SW12_CS4, SW11_CS4, SW10_CS4 },
+ { 0, SW12_CS5, SW11_CS5, SW10_CS5 },
+ { 0, SW12_CS6, SW11_CS6, SW10_CS6 },
+ { 0, SW12_CS7, SW11_CS7, SW10_CS7 },
+ { 0, SW12_CS8, SW11_CS8, SW10_CS8 },
+ { 0, SW12_CS9, SW11_CS9, SW10_CS9 },
+ { 0, SW12_CS10, SW11_CS10, SW10_CS10 },
+ { 0, SW12_CS11, SW11_CS11, SW10_CS11 },
+ { 0, SW12_CS12, SW11_CS12, SW10_CS12 },
- { 0, I_1, H_1, G_1 },
- { 0, I_2, H_2, G_2 },
- { 0, I_3, H_3, G_3 },
- { 0, I_4, H_4, G_4 },
- { 0, I_5, H_5, G_5 },
- { 0, I_6, H_6, G_6 },
- { 0, I_7, H_7, G_7 },
- { 0, I_8, H_8, G_8 },
- { 0, I_9, H_9, G_9 },
- { 0, I_10, H_10, G_10 },
- { 0, I_11, H_11, G_11 },
- { 0, I_12, H_12, G_12 },
+ { 0, SW9_CS1, SW8_CS1, SW7_CS1 },
+ { 0, SW9_CS2, SW8_CS2, SW7_CS2 },
+ { 0, SW9_CS3, SW8_CS3, SW7_CS3 },
+ { 0, SW9_CS4, SW8_CS4, SW7_CS4 },
+ { 0, SW9_CS5, SW8_CS5, SW7_CS5 },
+ { 0, SW9_CS6, SW8_CS6, SW7_CS6 },
+ { 0, SW9_CS7, SW8_CS7, SW7_CS7 },
+ { 0, SW9_CS8, SW8_CS8, SW7_CS8 },
+ { 0, SW9_CS9, SW8_CS9, SW7_CS9 },
+ { 0, SW9_CS10, SW8_CS10, SW7_CS10 },
+ { 0, SW9_CS11, SW8_CS11, SW7_CS11 },
+ { 0, SW9_CS12, SW8_CS12, SW7_CS12 },
- { 0, F_1, E_1, D_1 },
- { 0, F_2, E_2, D_2 },
- { 0, F_3, E_3, D_3 },
- { 0, F_4, E_4, D_4 },
- { 0, F_5, E_5, D_5 },
- { 0, F_6, E_6, D_6 },
- { 0, F_7, E_7, D_7 },
- { 0, F_8, E_8, D_8 },
- { 0, F_9, E_9, D_9 },
- { 0, F_10, E_10, D_10 },
- { 0, F_11, E_11, D_11 },
- { 0, F_12, E_12, D_12 },
+ { 0, SW6_CS1, SW5_CS1, SW4_CS1 },
+ { 0, SW6_CS2, SW5_CS2, SW4_CS2 },
+ { 0, SW6_CS3, SW5_CS3, SW4_CS3 },
+ { 0, SW6_CS4, SW5_CS4, SW4_CS4 },
+ { 0, SW6_CS5, SW5_CS5, SW4_CS5 },
+ { 0, SW6_CS6, SW5_CS6, SW4_CS6 },
+ { 0, SW6_CS7, SW5_CS7, SW4_CS7 },
+ { 0, SW6_CS8, SW5_CS8, SW4_CS8 },
+ { 0, SW6_CS9, SW5_CS9, SW4_CS9 },
+ { 0, SW6_CS10, SW5_CS10, SW4_CS10 },
+ { 0, SW6_CS11, SW5_CS11, SW4_CS11 },
+ { 0, SW6_CS12, SW5_CS12, SW4_CS12 },
- { 0, C_1, B_1, A_1 },
- { 0, C_2, B_2, A_2 },
- { 0, C_3, B_3, A_3 },
- { 0, C_4, B_4, A_4 },
- { 0, C_5, B_5, A_5 },
- { 0, C_6, B_6, A_6 },
- { 0, C_8, B_8, A_8 },
- { 0, C_9, B_9, A_9 },
- { 0, C_10, B_10, A_10 },
- { 0, C_11, B_11, A_11 },
- { 0, C_12, B_12, A_12 }
+ { 0, SW3_CS1, SW2_CS1, SW1_CS1 },
+ { 0, SW3_CS2, SW2_CS2, SW1_CS2 },
+ { 0, SW3_CS3, SW2_CS3, SW1_CS3 },
+ { 0, SW3_CS4, SW2_CS4, SW1_CS4 },
+ { 0, SW3_CS5, SW2_CS5, SW1_CS5 },
+ { 0, SW3_CS6, SW2_CS6, SW1_CS6 },
+ { 0, SW3_CS8, SW2_CS8, SW1_CS8 },
+ { 0, SW3_CS9, SW2_CS9, SW1_CS9 },
+ { 0, SW3_CS10, SW2_CS10, SW1_CS10 },
+ { 0, SW3_CS11, SW2_CS11, SW1_CS11 },
+ { 0, SW3_CS12, SW2_CS12, SW1_CS12 }
};
#endif \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c b/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c
deleted file mode 100644
index a320a6ab2a..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Copyright 2022 Abigail Fassl
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-#define FUN MO(_FUNC)
-#define MOUSE MO(_MOUSE)
-
-enum layers {
- _QWERTY = 0,
- _FUNC,
- _LOWER,
- _RAISE,
- _ADJUST,
- _MOUSE,
- _NUMPAD
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc* | Q | W | E | R | T | Y | U | I | O | P | Ent |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ;: | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Func |Lower |Space | Bksp |Raise | DEL | Bksl | NUM | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT ,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT ,
- KC_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, FUN, LOWER, KC_SPC, KC_BSPC, RAISE, KC_DEL, KC_BSLS, TG(_NUMPAD), KC_RCTL
-),
-
-/* Function
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| | | _ | - | + | = | \| | [{ | ]} | |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ___ | ___ | ___ | ___ | ___ |Space | Bksp |Mouse | DEL | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUNC] = LAYOUT_ortho_4x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LSFT(KC_GRV), KC_INSERT ,
- KC_LSFT, KC_NO, KC_NO, LSFT(KC_MINS), KC_MINS, LSFT(KC_EQL), KC_EQL, KC_BSLS, KC_LBRC, KC_RBRC, KC_NO, KC_RSFT ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ! | @ | # | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| PSCRN| | | \| | _ | - | + | = | |BL ON | BLSP |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |Lower | | | ADJ | | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC ,
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, LCTL(KC_DEL), LCTL(KC_BSPC) ,
- KC_LSFT, KC_PSCR, S(KC_NUHS), KC_BSLS, LSFT(KC_MINS), KC_MINS, LSFT(KC_EQL), KC_EQL, _______, BL_ON, BL_STEP, KC_RSFT ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | \| | | [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | _ | = | ( | ) | | | HOME | UP | END | |ZOOM +|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ~ | - | + | { | } | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | ADJ | |CtrlBk|Raise |CtrlDl| | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_BSLS, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_PGUP, KC_HOME, KC_PGDN, KC_NO, KC_PSCR ,
- LSFT(KC_BSLS), LSFT(KC_MINS), KC_EQL, LSFT(KC_9), LSFT(KC_0), KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, LCTL(LSFT(KC_EQL)) ,
- LSFT(KC_GRV), KC_MINS, LSFT(KC_EQL), LSFT(KC_LBRC), LSFT(KC_RBRC), KC_NO, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
- _______, _______, _______, _______, _______, KC_SPC, LCTL(KC_BSPC), _______, LCTL(KC_DEL), _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | Reset| | | BLON| BLOFF| | | | | | | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | CAPS | RGB | MODE | VAD | VAI | | | Vol- | Vol+ | Play | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | HUD | HUI | SAD | SAI | | | Prev | Next | Mute | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- QK_BOOT, KC_NO, KC_NO, BL_ON, BL_OFF, KC_NO, KC_NO, _______, _______, _______, _______, KC_DEL ,
- KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,
- KC_NO, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Mouse
- * ,-----------------------------------------------------------------------------------.
- * | ESC | | | | | | WH_L | WH_UP| BTN3 | WH_D | WH_R | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_MOUSE] = LAYOUT_ortho_4x12(
- KC_ESC , _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_UP, KC_MS_BTN3, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______,
- KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______,
- KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Num Pad
- * ,-----------------------------------------------------------------------------------.
- * | ESC | | | | | |NMLOCK| 7 | 8 | 9 | / | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | 4 | 5 | 6 | * | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | 1 | 2 | 3 | + | - |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | 0 | . | , | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_NUMPAD] = LAYOUT_ortho_4x12(
- _______, _______, _______, _______, _______, _______, KC_NUM, KC_7, KC_8, KC_9, KC_KP_SLASH, _______ ,
- _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_KP_ASTERISK, _______ ,
- _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_KP_PLUS, KC_KP_MINUS ,
- _______, _______, _______, _______, _______, _______, _______, KC_0, KC_KP_DOT, KC_COMM, _______, _______
-)
-
-};
-
-layer_state_t layer_state_set_user (layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- state = update_tri_layer_state(state, _FUNC, _RAISE, _MOUSE);
- return state;
-} \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md b/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md
deleted file mode 100644
index a08c0422c2..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# BRDLF custom layout
-
-> This is my personal configuration for 4x12 ortho keyboard JJ40.
-
-## Layers
-
-### Default QWERTY
-
-| | | | | | | | | | | | |
-| :--------: | :-----: | :------: | :------: | :-------: | :----: | :------: | :------: | :----: | :----: | :----: | :-------: |
-| Esc<br>NUM | Q<br>q | W<br>w | E<br>e | R<br>r | T<br>t | Y<br>y | U<br>u | I<br>i | O<br>o | P<br>p | <br>Enter |
-| <br>Tab | A<br>a | S<br>s | D<br>d | F<br>f | G<br>g | H<br>h | J<br>j | K<br>k | L<br>l | :<br>; | "<br>' |
-| <br>Shift | Z<br>z | X<br>x | C<br>c | V<br>v | B<br>b | N<br>n | M<br>m | <<br>, | ><br>. | ?<br>/ | <br>Shift |
-| <br>Ctrl | <br>Alt | <br>GUI | <br>Func | <br>Lower | <br>Sp | <br>Bksp | <br>Raise| <br>Del| <br>\ |<br>NUM | <br>Ctrl |
-
-### Function
-
-| | | | | | | | | | | | |
-| :-------: | :-----: | :-----: | :---------: | :-------: | :-------: | :------: | :-------: | :-----: | :-----: | :------: | :------: |
-| <br>F1 | <br>F2 | <br>F3 | <br>F4 | <br>F5 | <br>F6 | <br>F7 | <br>F8 | <br>F9 | <br>F10 | <br>F11 | <br>F12 |
-| !<br>1 | @<br>2 | #<br>3 | \$<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>~ | <br>INS |
-| <br>Shift | | |<br>_ | <br>- | <br>+ | <br>= | |<br>\ | {<br>[ | }<br>] | | <br>Shft | |
-| <br>Ctrl | <br>Alt | <br>GUI | <br>**Fun** | <br>Lower | <br>Space | <br>Bksp | <br>Raise | <br>Del | \|<br>\ | <br>NUM | <br>Ctrl |
-
-
-### Lower
-
-| | | | | | | | | | | | |
-| :-------: | :----------: | :----: | :-----: | :-------: | :----: | :----: | :-----: | :----: | :-------: | :--------: | :--------: |
-| !<br>1 | @<br>2 | #<br>3 | $<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>Del | <br>Bksp |
-| <br>! | <br>@ | <br># | <br>\$ | <br>% | <br>^ | <br>& | <br>\* | <br>( | <br>) | Wrd<br>Del | Wrd<br>Bks |
-| <br>Shift | Prnt<br>Scrn | <br>\| | \|<br>\ | <br>\_ | <br>- | <br>+ | <br>= | | <br>BL_ON | <br>BLSP | <br>Shift |
-| | | | | **Lower** | Space | Bksp | | | Vol- | Vol+ | Play |
-
-### Raise
-
-| | | | | | | | | | | | |
-| :----: | :-----: | :---: | :---: | :--------: | :-: | :----------: | :-----------: | :---------: | :-------: | :----------: | :----------: |
-| <br>\` | \|<br>\ | | <br>[ | <br>] | | | <br>PgUp | <br>Home | <br>PgDn | | Prnt<br>Scrn |
-| <br>\| | <br>\_ | <br>= | <br>( | <br>) | | | <br>Home | <br>Up | <br>End | | <br>Zoom + |
-| <br>~ | <br>- | <br>+ | <br>{ | <br>} | | Prev<br>Word | <br>Left | <br>Down | <br>Right | Next<br>Word | <br>Zoom - |
-| | | | | <br>Adjust | | Word<br>Bksp | <br>**Raise** | Word<br>Del | | | |
-
-### Adjust
-
-| | | | | | | | | | | | |
-| :-------: | :---------: | :---------: | :---------: | :---------: | :----: | :-----: | :--------: | :--: | :--: | :-: | :-: |
-| Reset | | | BL_ON | BL_OFF | | | | | | | DEL |
-| <br>Caps | RGB<br>Togl | RGB<br>Mode | RGB<br>Brt- | RGB<br>Brt+ | | | Vol- | Vol+ | Play | | |
-| | <br>Hue- | RGB<br>Hue+ | RGB<br>Sat- | RGB<br>Sat+ | | | Prev | Next | Mute | | |
-| | | | | **Lower** | Space | Bksp | **Raise** | | | | |
-
-### Mouse
-
-| | | | | | | | | | | | |
-| :-----: | :----: | :----: | :----------: | :---: | :---: | :------------: | :-----------: | :-------------: | :------------: | :-------------: | :-: |
-| <br>ESC | | | | | | Scroll<br>Left | Scroll<br>up | Middle<br>Click | Scroll<br>Down | Scroll<br>Right | |
-| Speed0 | Speed1 | Speed2 | | | | | Left<br>Click | Mouse<br>Up | Right<br>Click | | |
-| Speed0 | Speed1 | Speed2 | | | | | Mouse<br>Left | Mouse<br>Down | Mouse<br>Right | | |
-| | | | **Function** | Lower | Space | Bksp | **Raise** | | | | |
-
-### Numpad
-
-| | | | | | | | | | | | |
-| :-: | :-: | :-: | :-: | :-: | :-: | :-----: | :-: | :-: | :-: | :-: | :-: |
-| ESC | | | | | | Numlock | 7 | 8 | 9 | / | |
-| | | | | | | | 4 | 5 | 6 | * | |
-| | | | | | | | 1 | 2 | 3 | + | - |
-| | | | | | | | 0 | . | , | | | \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk b/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk
deleted file mode 100644
index 6c605daecf..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c b/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c
deleted file mode 100644
index 11a76f6d3e..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c
+++ /dev/null
@@ -1,144 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define LT_1 RALT(KC_1)
-#define LT_2 RALT(KC_2)
-#define LT_3 RALT(KC_3)
-#define LT_4 RALT(KC_4)
-#define LT_5 RALT(KC_5)
-#define LT_6 RALT(KC_6)
-#define LT_7 RALT(KC_7)
-#define LT_8 RALT(KC_8)
-#define LT_9 RALT(KC_9)
-#define LT_0 RALT(KC_0)
-#define LT_EXLM RALT(KC_EXLM)
-#define LT_AT RALT(KC_AT)
-#define LT_HASH RALT(KC_HASH)
-#define LT_DLR RALT(KC_DLR)
-#define LT_PERC RALT(KC_PERC)
-#define LT_CIRC RALT(KC_CIRC)
-#define LT_AMPR RALT(KC_AMPR)
-#define LT_ASTR RALT(KC_ASTR)
-
-// Naming according to Unicode specifications
-#define LT_A_OG KC_1
-#define LT_C_CA KC_2
-#define LT_E_OG KC_3
-#define LT_E_DO KC_4
-#define LT_I_OG KC_5
-#define LT_S_CA KC_6
-#define LT_U_OG KC_7
-#define LT_U_MA KC_8
-#define LT_Z_CA KC_EQL
-
-// Cockpit bindings
-#define CP_LOCK LGUI(KC_L)
-
-enum jj40_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _FUNC
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- FUNC
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | | Q | W | E | R | T | Y | U | I | O | P | |
- * | Esc | q | w | e | r | t | y | u | i | o | p | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | A | S | D | F | G | H | J | K | L | : | " |
- * | Tab | a | s | d | f | g | h | j | k | l | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | Z | X | C | V | B | N | M | < | > | ? | |
- * |Shift | z | x | c | v | b | n | m | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * | Ctrl | Fn | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_planck_mit(
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, MO(_FUNC), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | Ą | Č | Ę | Ė | Į | Š | Ų | Ū | Ž | _ | |
- * | ` | Ä… | Ä | Ä™ | Ä— | į | Å¡ | ų | Å« | ž | - | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * | Tab | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | { | } | | | | | |
- * |Shift | = | + | - | | | [ | ] | < | > | { | } | Ins |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |||||||| | | | | | |
- * | Ctrl | | | Alt |Lower|| Space | | Home | PgDn | PgUp | End |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_planck_mit(
- KC_GRV, LT_A_OG, LT_C_CA, LT_E_OG, LT_E_DO, LT_I_OG, LT_S_CA, LT_U_OG, LT_U_MA, LT_Z_CA, KC_MINS, KC_BSPC,
- KC_TAB, LT_EXLM, LT_AT, LT_HASH, LT_DLR, LT_PERC, LT_CIRC, LT_AMPR, LT_ASTR, KC_LPRN, KC_RPRN, KC_DEL ,
- KC_LSFT, KC_PEQL, KC_PPLS, KC_PMNS, KC_PIPE, KC_LBRC, KC_RBRC, KC_LABK, KC_RABK, KC_LCBR, KC_RCBR, KC_INS ,
- KC_LCTL, _______, _______, KC_LALT, _______, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
- /* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | $ | % | ^ | | | | | | | | | |
- * | Tab | 4 | 5 | 6 | | | | | | | | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | & | * | ( | ) | | | | < | > | ? | |
- * |Shift | 7 | 8 | 9 | 0 | | | | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | |||||||| | | | |
- * | Ctrl | | | Alt | | Space |Raise|| Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_planck_mit(
- KC_GRV, LT_1, LT_2, LT_3, LT_4, LT_5, LT_6, LT_7, LT_8, LT_9, LT_0, KC_BSPC,
- KC_TAB, LT_4, LT_5, LT_6, _______, _______, _______, _______, _______, _______, _______, KC_BSLS,
- KC_LSFT, LT_7, LT_8, LT_9, LT_0, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, _______, _______, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
- /* Functions
- * Note: Terminal uses Calculator shortcut, change your OS keyboard shortcut appropriately.
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | RGB | RGB | RGB | RGB | BL | BL | BL | | Scr | | |
- * | Caps | Togl | Hue+ | Sat+ | Brt+ | Togl |Breath| Brt+ | | Brt+ | | Vol+ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | RGB | RGB | RGB | WWW | WWW | BL | | Scr | | |
- * |Shift | Term | Hue- | Sat- | Brt- | < | > | Brt- | | Brt- |PrScr | Vol- |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | |||||||| RGB | | | | | | | | |
- * | Ctrl |||Fn||| Mode | Alt | | Space |MPrev |MStop |MNext |MPlay | Lock |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUNC] = LAYOUT_planck_mit(
- KC_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, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_BRTG, BL_UP, _______, KC_BRIU, _______, KC_VOLU,
- KC_LSFT, KC_CALC, RGB_HUD, RGB_SAD, RGB_VAD, KC_WBAK, KC_WFWD, BL_DOWN, _______, KC_BRID, KC_PSCR, KC_VOLD,
- KC_LCTL, _______, RGB_MOD, KC_LALT, _______, KC_SPC, KC_MPRV, KC_MSTP, KC_MNXT, KC_MPLY, CP_LOCK
-)
-};
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md b/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md
deleted file mode 100644
index 340c6924ee..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Cockpit custom layout
-
-> This configuration is built around Lithuanian keyboard layout, but you can easily modify it to fit your needs
-
-## Layers
-
-### Default QWERTY
-
-| | | | | | | | | | | | |
-| :-------: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :-------: |
-| <br>Esc | Q<br>q | W<br>w | E<br>e | R<br>r | T<br>t | Y<br>y | U<br>u | I<br>i | O<br>o | P<br>p | <br>Bksp |
-| <br>Tab | A<br>a | S<br>s | D<br>d | F<br>f | G<br>g | H<br>h | J<br>j | K<br>k | L<br>l | :<br>; | "<br>' |
-| <br>Shift | Z<br>z | X<br>x | C<br>c | V<br>v | B<br>b | N<br>n | M<br>m | <<br>, | ><br>. | ?<br>/ | <br>Enter |
-| Ctrl | Fn | GUI | Alt | Lower | Sp | ace | Raise | Left | Down | Up | Right |
-
-### Lower
-
-| | | | | | | | | | | | |
-| :-------: | :----: | :----: | :----: | :-------: | :----: | :----: | :----: | :----: | :----: | :-----: | :------: |
-| ~<br>\` | Ä„<br>Ä… | ÄŒ<br>Ä | Ę<br>Ä™ | Ä–<br>Ä— | Ä®<br>į | Å <br>Å¡ | Ų<br>ų | Ū<br>Å« | Ž<br>ž | \_<br>- | <br>Bksp |
-| <br>Tab | <br>! | <br>@ | <br># | <br>\$ | <br>% | <br>^ | <br>& | <br>\* | <br>( | <br>) | <br>Del |
-| <br>Shift | <br>= | <br>+ | <br>- | <br>\| | {<br>[ | }<br>] | <br>< | <br>> | <br>{ | <br>} | <br>Ins |
-| Ctrl | | | Alt | **Lower** | Sp | ace | | Home | PgDn | PgUp | End |
-
-### Raise
-
-| | | | | | | | | | | | |
-| :-------: | :-----: | :-----: | :----: | :-----: | :----: | :----: | :-------: | :-----: | :----: | :----: | :-------: |
-| ~<br>\` | !<br>1 | @<br>2 | #<br>3 | \$<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>Bksp |
-| <br>Tab | \$<br>4 | %<br>5 | ^<br>6 | | | | | | | | \|<br>\ |
-| <br>Shift | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | | | | <<br>, | ><br>. | ?<br>/ | <br>Enter |
-| Ctrl | | | Alt | | Sp | ace | **Raise** | Left | Down | Up | Right |
-
-### Function
-
-- Backlight breathing does not work.
-- **Term** button is bound to `Calculator`. I have set this button as a shortcut to open a terminal.
-- **Lock** is a shortcut for `Alt + L`
-
-| | | | | | | | | | | | |
-| :-------: | :---------: | :---------: | :---------: | :---------: | :--------: | :----------: | :--------: | :----: | :---------: | :-----: | :------: |
-| <br>F1 | <br>F2 | <br>F3 | <br>F4 | <br>F5 | <br>F6 | <br>F7 | <br>F8 | <br>F9 | <br>F10 | <br>F11 | <br>F12 |
-| <br>Caps | RGB<br>Togl | RGB<br>Hue+ | RGB<br>Sat+ | RGB<br>Brt+ | BL<br>Togl | BL<br>Breath | BL<br>Brt+ | | Scr<br>Brt+ | | <br>Vol+ |
-| <br>Shift | <br>Term | RGB<br>Hue- | RGB<br>Sat- | RGB<br>Brt- | WWW<br>< | WWW<br>> | BL<br>Brt- | | Scr<br>Brt- | PrScr | <br>Vol- |
-| Ctrl | **Fn** | RGB<br>Mode | Alt | | Sp | ace | MPrev | MStop | MNext | MPlay | Lock |
-
-## Usage
-
-```bash
-cd qmk_firmware
-make kprepublic/jj40:cockpit
-bootloadHID .build/kprepublic_jj40_cockpit.hex
-```
-
-_if you're getting permission errors use sudo_
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/config.h b/keyboards/kprepublic/jj40/keymaps/fun40/config.h
deleted file mode 100644
index f2b5d264e7..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/fun40/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define FORCE_NKRO
-
-#endif
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c b/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c
deleted file mode 100644
index eed6ae5e82..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _BL 4 // Backlight
-// #define _ADJUST 3
-#define TG_NKRO MAGIC_TOGGLE_NKRO
-
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Del | Alt | GUI |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_DEL, KC_LALT, KC_LGUI, MO(_LOWER),KC_SPC,KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ! | @ | # | $ | % | ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Shift|PrScr |ISO ~ |ISO | | | | | | |bl_on |bl_stp| Enter|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | nkro | Alt | NKRO |Lower | PgDn | PgUp |Raise | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
- KC_LSFT, KC_PSCR, S(KC_NUHS), S(KC_NUBS), _______, _______, _______, _______, _______, BL_ON, BL_STEP, KC_ENT,
- KC_LCTL, MAGIC_TOGGLE_NKRO, KC_LALT, TG_NKRO, _______, KC_PGDN, KC_PGUP, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | Caps | + | - | = | ( | ) | | 7 | 8 | 9 | Bksp | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Lock | ~ | _ | | [ | ] | | 4 | 5 | 6 | |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Ins | ` | \ | | | { | } | | 1 | 2 | 3 | . | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | Alt | |Lower | | |Raise | 0 | | Home | End |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_CAPS, KC_MINS, KC_PLUS, KC_EQL, KC_LPRN, KC_RPRN, _______, KC_7, KC_8, KC_9, KC_BSPC, KC_DEL,
- QK_LOCK, KC_TILD, KC_UNDS, _______,KC_LBRC, KC_RBRC, _______, KC_4, KC_5, KC_6, _______, _______,
- KC_INS, KC_GRV, KC_BSLS, KC_PIPE, KC_LCBR, KC_RCBR, _______, KC_1, KC_2, KC_3, KC_DOT, _______,
- KC_LCTL, _______, KC_LALT, _______, _______, _______, _______, _______, KC_0, _______, KC_HOME, KC_END
-)
-
-/* Adjust
- G = git
- M = mail
- * ,-----------------------------------------------------------------------------------.
- * | gAdd |gStash| | const| | Clog | | | Mstk | Mrad |Mgmail| |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | gPush| | | if() | | Clog2| | | | |Mcity | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | gPull| | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |Lower | | |Raise | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-
-
-/* Empty
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |Lower | | |Raise | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-};
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/readme.md b/keyboards/kprepublic/jj40/keymaps/fun40/readme.md
deleted file mode 100644
index f4036fa0e0..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/fun40/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Fun 40%.
-
-* backlighting on flash
- * backlight fails on reboot \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk b/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk
deleted file mode 100644
index 9018bddfe3..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = 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 = yes # 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 = yes
-
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/kprepublic/jj40/keymaps/oscillope/config.h b/keyboards/kprepublic/jj40/keymaps/oscillope/config.h
deleted file mode 100644
index e812903de9..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/oscillope/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define TAPPING_TERM 200
-
-#endif
diff --git a/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c b/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c
deleted file mode 100644
index aa5a96af78..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-Copyright 2017 Luiz Ribeiro <luizribeiro@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 _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _NAV 3
-
-#define NAV_TAP LT(_NAV, KC_SPC)
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- CC_ARRW,
- CC_PRN,
- CC_BRC,
- CC_CBR,
-};
-
-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 |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | ` | Z | X | C | V | B | N | M | , | . | / | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | OS | Alt |Lower |Shift |Raise | Space | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_planck_1x2uR(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_LCTL, KC_LGUI, KC_LALT, TT(_LOWER), KC_LSFT, TT(_RAISE), NAV_TAP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ins | | | () | [] | {} | Home | PgDn | PgUp | End | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * |QK_BOOT | Back | Fwd | | | | | | Mute | Vol- | Vol+ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | Lock | | | Prev | Stop | Play | Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_planck_1x2uR(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_INS, _______, _______, CC_PRN, CC_BRC, CC_CBR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- QK_BOOT, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,
- _______, _______, _______, _______, QK_LOCK, _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | Caps | & | * | _ | ( | ) | 7 | 8 | 9 | = | Bksp | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | $ | % | ^ | [ | ] | 4 | 5 | 6 | - | + |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | -> | ! | @ | # | { | } | 1 | 2 | 3 | . | \ | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | OS | Alt | |Shift | | 0 | Home | PgDn | PgUp | End |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_planck_1x2uR(
- KC_CAPS, KC_AMPR, KC_ASTR, KC_UNDS, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_DLR, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, _______,
- CC_ARRW, KC_EXLM, KC_AT, KC_HASH, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, _______, KC_BSLS, KC_PIPE,
- _______, _______, _______, _______, _______, _______, KC_0, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
-[_NAV] = LAYOUT_planck_1x2uR(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case CC_ARRW:
- SEND_STRING("->");
- return false;
- case CC_PRN:
- SEND_STRING("()"SS_TAP(X_LEFT));
- return false;
- case CC_BRC:
- SEND_STRING("[]"SS_TAP(X_LEFT));
- return false;
- case CC_CBR:
- SEND_STRING("{}"SS_TAP(X_LEFT));
- return false;
- }
- }
- return true;
-}
-
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk b/keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk
deleted file mode 100644
index 8cf85a5d64..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# build options
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
-
-KEY_LOCK_ENABLE = yes
diff --git a/keyboards/kprepublic/jj40/keymaps/suzuken/config.h b/keyboards/kprepublic/jj40/keymaps/suzuken/config.h
deleted file mode 100644
index b1d74e1e69..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/suzuken/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define TAPPING_TERM 300
-
-#endif
diff --git a/keyboards/kprepublic/jj40/keymaps/suzuken/keymap.c b/keyboards/kprepublic/jj40/keymaps/suzuken/keymap.c
deleted file mode 100644
index 52dafc38b4..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/suzuken/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum jj40_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _FUNC
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- FUNC
-};
-
-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 | ,< | .> | /? | '" |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Fn | Ctrl | Alt | GUI |Space |Lower |Raise |Space | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(_LOWER), MO(_RAISE), KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_ENT,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Functions
- * Note: Terminal uses Calculator shortcut, change your OS keyboard shortcut appropriately.
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | RGB | RGB | RGB | RGB | BL | BL | BL | | | | |
- * | | Togl | Hue+ | Sat+ | Brt+ | Togl |Breath| Brt+ | | | |VolUp |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | RGB | RGB | RGB | WWW | WWW | BL | | | | |
- * | | Term | Hue- | Sat- | Brt- | Back | Fwd | Brt- | | |PrScr |VolDn |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | |||||||| RGB | | | | | | | | | |
- * | |||Fn||| Mode | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUNC] = LAYOUT_ortho_4x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_BRTG, BL_UP, _______, _______, _______, KC_VOLU,
- _______, KC_CALC, RGB_HUD, RGB_SAD, RGB_VAD, KC_WBAK, KC_WFWD, BL_DOWN, _______, _______, KC_PSCR, KC_VOLD,
- _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/kprepublic/jj40/keymaps/waples/config.h b/keyboards/kprepublic/jj40/keymaps/waples/config.h
deleted file mode 100644
index b1d74e1e69..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/waples/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define TAPPING_TERM 300
-
-#endif
diff --git a/keyboards/kprepublic/jj40/keymaps/waples/keymap.c b/keyboards/kprepublic/jj40/keymaps/waples/keymap.c
deleted file mode 100644
index c09bb43d4f..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/waples/keymap.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _DVORAK 1
-#define _LEFTY 2
-#define _RIGHTY 3
-#define _DUAL 4
-
-enum jj40_keycodes {
- QWERTY = SAFE_RANGE,
- DVORAK,
- LEFTY,
- RIGHTY,
- DUAL,
-};
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO // Toggle NKRO
-#define CTLESC MT(MOD_LCTL, KC_ESC) // Hold for left Ctrl, tap for Esc
-#define SHFTENT MT(MOD_RSFT, KC_ENT) // Hold for right Shift, tap for Enter
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, SHFTENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_PSCR, KC_BSPC, KC_CAPS, KC_LALT, LEFTY, KC_LGUI, KC_SPC, RIGHTY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- CTLESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, SHFTENT,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH,
- KC_PSCR, KC_BSPC, KC_CAPS, KC_LALT, LEFTY, KC_LGUI, KC_SPC, RIGHTY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_LEFTY] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
-[_RIGHTY] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_EQL, KC_MINS, KC_BSLS, KC_SLSH, _______, _______,
- _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_DUAL] = LAYOUT_ortho_4x12(
- QK_BOOT, _______, _______, _______, _______, QWERTY, DVORAK, _______, _______, RGB_HUD, RGB_TOG, QK_BOOT,
- _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, AG_NORM, AG_SWAP, _______, _______, RGB_HUI, RGB_MOD, _______,
- _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, TG_NKRO, _______, _______, RGB_SAD, RGB_VAD, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_VAI, _______
-)
-};
-
-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) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
- case LEFTY:
- if (record->event.pressed) {
- layer_on(_LEFTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- } else {
- layer_off(_LEFTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- }
- return false;
- break;
- case RIGHTY:
- if (record->event.pressed) {
- layer_on(_RIGHTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- } else {
- layer_off(_RIGHTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- }
- return false;
- break;
- case DUAL:
- if (record->event.pressed) {
- layer_on(_DUAL);
- } else {
- layer_off(_DUAL);
- }
- return false;
- break;
- }
- return true;
-}
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/kprepublic/jj40/keymaps/waples/readme.md b/keyboards/kprepublic/jj40/keymaps/waples/readme.md
deleted file mode 100644
index e9382d89f8..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/waples/readme.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# Waples jj40 keymap
-> based heavily on my lets split
-[Waples](https://www.github.com/Waples)
-
-### Layers
-I currently have the following layers in my keymap:
-* Qwerty (as default)
-* Dvorak (still learning this type of layout, so not really used much)
-* Lefty (lower)
-* Righty (raise)
-* Dual (adjust)
-
-### Note to self:
-YOU NEED TO USE [bootloadHID -r kprepublic_jj40_waples.hex](https://github.com/qmk/qmk_firmware/tree/master/keyboards/jj40)
-
-## the stuff below is out of date and I think about removing them from this readme
-
-#### QWERTY
- | Tab | Q | W | E | R | T | Y | U | I | O | P | Bsp |
- |C_Esc| A | S | D | F | G | H | J | K | L | ; |S_Ent|
- | Sft | Z | X | C | V | B | N | M | , | . | / | " |
- |P_SCR| GUI | Alt | Cps | ^L^ | Bsp | Spc | ^R^ | Lft | Dwn | Up! | Rgt |
-
-
-#### DVORAK
- | Tab | " | , | . | P | Y | F | G | C | R | L | Bsp |
- |C_Esc| A | O | E | U | I | D | H | T | N | S |S_Ent|
- | Sft | ; | Q | J | K | X | B | M | W | V | Z | / |
- |P_SCR| GUI | Alt | Cps | ^L^ | Bsp | Spc | ^R^ | Lft | Dwn | Up! | Rgt |
-
-#### LEFTY (lower)
- | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bsp |
- | Del | | | | | | | ( | ) | [ | ] | |
- | | | | | | | | | | | | |
- | | | | | | | Ins | | Hme | PgD | PgU | End |
-
-
-#### RIGHTY (raise)
- | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bsp |
- | Del | F1 | F2 | F3 | F4 | | = | - | \ | / | | |
- | | F5 | F6 | F7 | F8 | | | | | | | |
- | | F9 | F10 | F11 | | | | | | | | |
-
-
-#### DUAL
- |Reset| | | | |QWERT| GAME| | | | |Reset|
- | | Prv | Stp | Tog | Nxt | Nrm | Swp | | | | | |
- | | | Mte | Vol-| Vol+| | NKRO| | | | | |
- | | | | | | |DVORK| | | | | |
diff --git a/keyboards/kprepublic/jj40/keymaps/waples/rules.mk b/keyboards/kprepublic/jj40/keymaps/waples/rules.mk
deleted file mode 100644
index 8f678e6b59..0000000000
--- a/keyboards/kprepublic/jj40/keymaps/waples/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# build options
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-KEY_LOCK_ENABLE = yes
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/config.h b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/config.h
deleted file mode 100644
index 9439a929e9..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define RGBLIGHT_SLEEP \ No newline at end of file
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
deleted file mode 100644
index 888e43e7dd..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
-Modified 2018 Wayne Jones (WarmCatUK) <waynekjones@gmail.com>
-Modified 2019 AbstractKB
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public LicensezZZ
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _DEFLT,
- _FUNC,
- _SYM,
- _META
-};
-
-enum custom_keycodes {
- MYRGB_TG = SAFE_RANGE
-};
-
-bool rgbinit = true;
-bool rgbon = true;
-
-const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {1,5,5}; //only using the first one
-
-void keyboard_post_init_user(void) {
- rgblight_enable_noeeprom();
- led_set_user(host_keyboard_leds());
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _FUNC:
- rgblight_sethsv_noeeprom(170,255,255);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- case _SYM:
- rgblight_sethsv_noeeprom(0,255,255);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- case _META:
- rgblight_sethsv_noeeprom(0,255,255);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
- break;
- default: //_DEFLT
- rgblight_sethsv_noeeprom(0,0,255);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- }
-
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
- } else {
- layer_state_set_user(layer_state);
- }
- return false;
-}
-
-void myrgb_toggle(void) {
- if (rgbon) {
- rgblight_disable_noeeprom();
- rgbon = false;
- } else {
- rgblight_enable_noeeprom();
- layer_state_set_user(layer_state);
- led_set_user(host_keyboard_leds());
- rgbon = true;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case MYRGB_TG:
- if (record->event.pressed) {
- myrgb_toggle();
- }
- return false;
- default:
- return true;
- }
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_DEFLT] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
- KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, MO(_META), KC_LGUI, KC_LALT, MO(_SYM),KC_SPC,KC_SPC,MO(_FUNC),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
-
- [_FUNC] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, LCTL(LGUI(KC_LEFT)), LGUI(KC_L), LCTL(LGUI(KC_RGHT)), _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_CAPS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
-
- [_SYM] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______,S(KC_1),S(KC_2),S(KC_LBRC),S(KC_RBRC),S(KC_BSLS),_______, S(KC_MINS), _______, _______, _______, _______,
- _______, S(KC_3), S(KC_4), S(KC_9), S(KC_0), KC_GRV, S(KC_EQL), KC_MINS, KC_BSLS, S(KC_8), _______, _______,
- _______, S(KC_5), S(KC_6), KC_LBRC,KC_RBRC,S(KC_GRV), S(KC_7),KC_EQL, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
- [_META] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MYRGB_TG
- )
-};
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/readme.md b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/readme.md
deleted file mode 100644
index a45ece7ff7..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# My personal layout for the JJ50
-
-It is an approximation of a cross between a 60% the gergo function layout
-It also uses layer based rgb underglow, and the underglow flashes when capslock is enabled \ No newline at end of file
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/README.md b/keyboards/kprepublic/jj50/keymaps/archetype/README.md
deleted file mode 100644
index a2ae4e9123..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/archetype/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# archetype keymap for jj50 keyboards
-A keymap that can be used with the jj50 ortholinear keyboard.
-
-## Features
-
-- `QWERTY` layout (Default)
-- `COLEMAK` layout
-- `FN` layout (various keys that are rarely needed)
-- `FX` layout (Control lighting and audio)
-- Use `Left Ctrl` and `Left Alt` to output `()`, `[]` and `{}` by tapping once, twice or thrice respectively. Hold them down for the regular keycode (LCtrl or LAlt)
-- `Right Shift` when held or Enter when tapped
-- Auto-Shift enabled (long press on alphas and numeric keys outputs shifted character)
-- Full arrow keys available
-
-
-## Feedback
-
-I made this keymap based on the existing default one. If you happen to use this keymap [drop me a line](mailto://idimitrakopoulos@gmail.com) about what could be improved etc
-
-Enjoy!
-
-Iason Dimitrakopoulos
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/config.h b/keyboards/kprepublic/jj50/keymaps/archetype/config.h
deleted file mode 100644
index 17ce95a363..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/archetype/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-
-#undef AUTO_SHIFT_TIMEOUT
-#undef TAPPING_TERM
-
-#define AUTO_SHIFT_TIMEOUT 150
-#define NO_AUTO_SHIFT_ALPHA
-#define TAPPING_TERM 150
-#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c b/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
deleted file mode 100644
index a485614438..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
-Modified 2018 Wayne Jones (WarmCatUK) <waynekjones@gmail.com>
-Modified 2019 Iason Dimitrakopoulos (idimitrakopoulos) <idimitrakopoulos@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 LicensezZZ
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-#include "rgblight.h"
-#include "quantum.h"
-
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _FN 2
-#define _FX 3
-
-enum {
- TD_BSPC_DEL = 0,
- TD_LCTL_LBRC = 1,
- TD_LALT_RBRC = 2,
- TD_ESC_LAYER = 3,
-};
-
-
-void left_brackets(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (!state->pressed) {
- register_code16(KC_LPRN);
- } else {
- register_code(KC_LCTL);
- }
- } else if (state->count == 2) {
- register_code16(KC_LBRC);
- } else if (state->count == 3) {
- register_code16(KC_LCBR);
- }
-}
-
-void left_brackets_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code16(KC_LPRN);
- } else if (state->count == 2) {
- unregister_code16(KC_LBRC);
- } else if (state->count == 3) {
- unregister_code16(KC_LCBR);
- }
-
- unregister_code(KC_LCTL);
-}
-
-void right_brackets(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (!state->pressed) {
- register_code16(KC_RPRN);
- } else {
- register_code(KC_LALT);
- }
- } else if (state->count == 2) {
- register_code16(KC_RBRC);
- } else if (state->count == 3) {
- register_code16(KC_RCBR);
- }
-}
-
-void right_brackets_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code16(KC_RPRN);
- } else if (state->count == 2) {
- unregister_code16(KC_RBRC);
- } else if (state->count == 3) {
- unregister_code16(KC_RCBR);
- }
-
- unregister_code(KC_LALT);
-}
-
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5, //send two single taps
- TRIPLE_TAP = 6,
- TRIPLE_HOLD = 7,
- TRIPLE_SINGLE_TAP = 8, //send three single taps
-};
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return SINGLE_TAP;
- else return SINGLE_HOLD;
- }
- else if (state->count == 2) {
- if (state->interrupted) return DOUBLE_SINGLE_TAP;
- else if (state->pressed) return DOUBLE_HOLD;
- else return DOUBLE_TAP;
- }
-
- if (state->count == 3) {
- if (state->interrupted) return TRIPLE_SINGLE_TAP;
- else if (state->pressed) return TRIPLE_HOLD;
- else return TRIPLE_TAP;
- }
- else return 9; //magic number. At some point this method will expand to work for more presses
-}
-
-static tap tap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void layer_switcher (tap_dance_state_t *state, void *user_data) {
- tap_state.state = cur_dance(state);
- switch (tap_state.state) {
- case SINGLE_TAP: register_code(KC_ESC); break;
- case SINGLE_HOLD: register_code(KC_ESC); break;
- case DOUBLE_TAP: register_code(KC_ESC); break;
- case DOUBLE_HOLD: layer_on(_COLEMAK); break;
- case DOUBLE_SINGLE_TAP: register_code(KC_ESC); unregister_code(KC_ESC); register_code(KC_ESC); break;
- case TRIPLE_TAP: register_code(KC_ESC); break;
- case TRIPLE_HOLD: layer_on(_FX); break;
- case TRIPLE_SINGLE_TAP: register_code(KC_ESC); unregister_code(KC_ESC); register_code(KC_ESC); unregister_code(KC_ESC); register_code(KC_ESC); break;
- //Last case is for fast typing. Assuming your key is `f`:
- //For example, when typing the word `buffer`, and you want to make sure that you send `ff` and not `Esc`.
- //In order to type `ff` when typing fast, the next character will have to be hit within the `TAPPING_TERM`, which by default is 200ms.
- }
-}
-
-void layer_switcher_reset (tap_dance_state_t *state, void *user_data) {
- switch (tap_state.state) {
- case SINGLE_TAP: unregister_code(KC_ESC); break;
- case SINGLE_HOLD: unregister_code(KC_ESC); break;
- case DOUBLE_TAP: unregister_code(KC_ESC); break;
- case DOUBLE_HOLD: break;
- case DOUBLE_SINGLE_TAP: unregister_code(KC_ESC); break;
- case TRIPLE_TAP: unregister_code(KC_ESC); break;
- case TRIPLE_HOLD: break;
- case TRIPLE_SINGLE_TAP: unregister_code(KC_ESC); break;
- }
- tap_state.state = 0;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- // Single tap = Backspace | Double tap = Delete
- [TD_BSPC_DEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, KC_DEL),
- // Single tap = ( | Double tap = [ | Triple tap = { | Single hold = KC_LCTL
- [TD_LCTL_LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_brackets, left_brackets_reset),
- // Single tap = ) | Double tap = ] | Triple tap = } | Single hold = KC_LALT
- [TD_LALT_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, right_brackets, right_brackets_reset),
- // Layer Switcher ESC
- [TD_ESC_LAYER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, layer_switcher, layer_switcher_reset),
-};
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case TD(TD_ESC_LAYER):
- return 100;
- default:
- return TAPPING_TERM;
- }
-}
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
-
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
- //| | | | | | | | | | | | |
- TD(TD_ESC_LAYER), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- KC_CAPS, 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_DOT, KC_SLSH, KC_UP, SFT_T(KC_ENT),
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- TD(TD_LCTL_LBRC), KC_LGUI, TD(TD_LALT_RBRC), _______, _______, LT(_FN, KC_SPC), _______, LT(_FX, KC_SPC), KC_COMM, KC_LEFT, KC_DOWN, KC_RGHT
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
- ),
-
- [_COLEMAK] = LAYOUT(
-
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, KC_R, KC_S, KC_T, KC_D, _______, KC_N, KC_E, KC_I, KC_O, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, KC_K, _______, _______, _______, _______, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
- ),
-
- [_FN] = LAYOUT(
-
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
- //| | | | | | | | | | | | |
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQUAL,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINUS,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
- ),
-
- [_FX] = LAYOUT(
-
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_TOG,
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
- //| | | | | | | | | | | | |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUD, RGB_SAD
- //| | | | | | | | | | | | |
- //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
- ),
-
-
-};
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/rules.mk b/keyboards/kprepublic/jj50/keymaps/archetype/rules.mk
deleted file mode 100644
index c77317fdc3..0000000000
--- a/keyboards/kprepublic/jj50/keymaps/archetype/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-COMMAND_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-AUTO_SHIFT_ENABLE = yes
-KEY_LOCK_ENABLE = yes
diff --git a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
deleted file mode 100644
index 3910756f81..0000000000
--- a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
+++ /dev/null
@@ -1,201 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- EPRM,
- VRSN,
- RGB_SLD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | ' | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Del | Q | W | E | R | T | ~ | | " | Y | U | I | O | P | - |
- * |--------+------+------+------+------+------| ` | | |------+------+------+------+------+--------|
- * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; | \ |
- * |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
- * | LAlt | Z | X | C | V | B | [ | | ] | N | M | , | . | / | LShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LT-1 | F4 | F5 | F6 | F11 | | Left | Down | Up | Right| RAlt |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | L1 | Prev | | Vol+ | L2 |
- * ,------|------|------| |------+--------+------.
- * | | | Play | | Vol- | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | Next | | Mute | | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LSFT(KC_GRV),
- KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC,
- LT(SYMB, KC_F2), KC_F4, KC_F5, KC_F6, KC_F11,
- TG(SYMB), KC_MPRV,
- KC_MPLY,
- KC_SPC,KC_BSPC,KC_MNXT,
- // right hand
- KC_QUOT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- LSFT(KC_QUOT), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_BSLS,
- KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_LSFT,
- KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RALT,
- KC_VOLU, TG(MDIA),
- KC_VOLD,
- KC_MUTE,KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,---------------------------------------------------. ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | EPRM | | | | | | | . | 0 | = | |
- * `-----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |Animat| | |Toggle|Solid |
- * ,------|------|------| |------+------+------.
- * |Bright|Bright| | | |Hue- |Hue+ |
- * |ness- |ness+ |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
- KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
- KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
- EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- RGB_MOD,KC_TRNS,
- KC_TRNS,
- RGB_VAD,RGB_VAI,KC_TRNS,
- // right hand
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, 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_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
- RGB_TOG, RGB_SLD,
- KC_TRNS,
- KC_TRNS, RGB_HUD, RGB_HUI
-),
-/* 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_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, 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
-),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
- eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- 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) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/keyboards/ktec/ergodone/keymaps/eozaki/readme.md b/keyboards/ktec/ergodone/keymaps/eozaki/readme.md
deleted file mode 100644
index bfde2b2c8e..0000000000
--- a/keyboards/ktec/ergodone/keymaps/eozaki/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# ErgoDox EZ Based Configuration
-
-## Changelog
-
-* Aug 2018:
- * New custom L0 layout.
-* Dec 2016:
- * Added LED keys
- * Refreshed layout graphic, comes from http://configure.ergodox-ez.com now.
-* Sep 22, 2016:
- * Created a new key in layer 1 (bottom-corner key) that resets the EEPROM.
-* Feb 2, 2016 (V1.1):
- * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows).
diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
deleted file mode 100644
index d668f9b41e..0000000000
--- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c
+++ /dev/null
@@ -1,828 +0,0 @@
-// Copyright 2021 Vega Carlson (@VegaDeftwing)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names { BASE, GREL, GREU, SYMB, MATH, QWER, FNLR, TINY, FULL, FULU };
-
-enum unicode_names {
- // MATH
- neq, //≠
- intgrl, //∫
- angl, //∠
- imply, //⇒
- equiv, //⇔
- porp, //âˆ
- exists, //∃
- nexists, //∄
- forall, //∀
- and, //∧
- or
- , //∨
- xor, //⊕
- apeql, //≅
- root, //√
- not, //¬
- sum, //∑
- plsminus, //±
- infin, //∞
- emtyset, //∅
- Mn, //â„•
- Mz, //ℤ
- Mq, //â„š
- Mr, //â„
- Mc, //â„‚
- eleof, //∈
- member, //∋
- neleof, //∉
- nmember, //∌
- subsetof, //⊂
- suprsetof, //⊃
- intersection, //∩
- Munion, //∪
-
- // SYMB
- arwl,
- arwu,
- arwr,
- arwd,
-
- uxclm,
- cent,
- degree,
- trade,
- copy,
- numero,
- sect,
- mdot,
- rang,
-
- lshade,
- mshade,
- dshade,
-
- fire,
- water,
- cleft,
- baster,
- neteen,
- floppy,
-
- boxemp,
- boxchk,
- boxX,
-
- bbstr,
- bbstl,
- bbml,
- bbmr,
- bbmb,
- bbrtr,
- bbrbr,
- bbrtl,
- bbrbl,
- bbsbr,
- bbsbl,
- bbmbr,
- bbmbl,
-
- Agrave,
- Aacute,
- Acircm,
- Atilde,
- Abreve,
- Adiaer,
- Adacut,
-
- // not all ogham letters, as I
- // actually intend to use them for hex
- OS,
- Oa,
- Ob,
- Oc,
- Od,
- Oe,
- Of,
- Og,
- Oh,
- Oi,
- OA,
- OB,
- OC,
- OD,
- OE,
- OF,
- Os,
- OED,
- Ox,
- gnd,
- sqr,
- sine,
- opt,
-
- geq,
- leq,
- brkup,
- brkdn,
- perup,
- perdn,
-
- // GREEL
- rone, // 1:: â…°
- rtwo,
- rthree,
- rfour, // 4:: â…³
- rfive, // 5:: â…´
- rsix, // 6:: â…µ
- rseven, // 7:: â…¶
- reight, // 8:: â…·
- rnine, // 9:: â…¸
- rten, // 0:: â…¹
- gq, // q:: θ
- gw, // w:: ω
- ge, // e:: ε
- gr, // r:: Ï
- gt, // t:: Ï„
- gy, // y:: ψ
- gu, // u:: Ï…
- gi, // i:: ι
- go, // o:: ο
- gp, // p:: π
- ga, // a:: α
- gs, // s:: σ
- gd, // d:: δ
- gf, // f:: φ
- gg, // g:: γ
- gh, // h:: η
- gj, // j:: Ï‘
- gk, // k:: κ
- gl, // l:: λ
- gz, // z:: ζ
- gx, // x:: ξ
- gc, // c:: χ
- gv, // v:: Ï‚
- gb, // b:: β
- gn, // n:: ν
- gm, // m:: μ
-
- // GREEU
- Rone, // 1:: â… 
- Rtwo, // 2:: â…¡
- Rthree, // 3:: â…¢
- Rfour, // 4:: â…£
- Rfive, // 5:: â…¤
- Rsix, // 6:: â…¥
- Rseven, // 7:: â…¦
- Reight, // 8:: â…§
- Rnine, // 9:: â…¨
- Rten,
- Gq, // Q:: Θ
- Gw, // W:: Ω
- Ge, // E:: Ε
- Gr, // R:: Ρ
- Gt, // T:: Τ
- Gy, // Y:: Ψ
- Gu, // U:: Υ
- Gi, // I:: Ι
- Go, // O:: Ο
- Gp, // P:: Π
- Ga, // A:: Α
- Gs, // S:: Σ
- Gd, // D:: Δ
- Gf, // F:: Φ
- Gg, // G:: Γ
- Gh, // H:: Η
- Gj, // J:: J
- Gk, // K:: Κ
- Gl, // L:: Λ
- Gz, // Z:: Ζ
- Gx, // X:: Ξ
- Gc, // C:: Χ
- Gv, // V:: V
- Gb, // B:: Î’
- Gn, // N:: Î
- Gm, // M:: Μ
- // ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ áµ Ê° Ⱡʲ áµ Ë¡ áµ â¿ áµ’ áµ– ʳ Ë¢ áµ— ᵘ áµ› Ê· Ë£ ʸ ᶻ Ⱐ¹ ² ³ ⴠⵠⶠⷠ⸠â¹
- tone, // 1:: ¹
- ttwo, // 2:: ²
- tthree, // 3:: ³
- tfour, // 4:: â´
- tfive, // 5:: âµ
- tsix, // 6:: â¶
- tseven, // 7:: â·
- teight, // 8:: â¸
- tnine, // 9:: â¹
- tzero, // 0 :: â°
- tq, // Q:: Û¹
- tw, // W:: Ê·
- te, // E:: ᵉ
- tr, // R:: ʳ
- tt, // T:: áµ—
- ty, // Y:: ʸ
- tu, // U:: ᵘ
- ti, // I:: â±
- to, // O:: áµ’
- tp, // P:: áµ–
- ta, // A:: ᵃ
- ts, // S:: ˢ
- td, // D:: ᵈ
- tf, // F:: ᶠ
- tg, // G:: áµ
- th, // H:: Ê°
- tj, // J:: ʲ
- tk, // K:: áµ
- tl, // L:: Ë¡
- tz, // Z:: ᶻ
- tx, // X:: ˣ
- tc, // C:: ᶜ
- tv, // V:: áµ›
- tb, // B:: ᵇ
- tn, // N:: â¿
- tm, // M:: áµ
- // Fullwitdth - note, these are *not* the monospace unicode code points.
- // This is done to prevent something eating it and using a weird font, which,
- // presumably, isn't desired if doing this.
- fwone, // 1:: 1
- fwtwo, // 2:: ï¼’
- fwthree, // 3:: 3
- fwfour, // 4:: ï¼”
- fwfive, // 5:: 5
- fwsix, // 6:: ï¼–
- fwseven, // 7:: ï¼—
- fweight, // 8:: 8
- fwnine, // 9:: ï¼™
- fwzero, // 0 :: ï¼
- fwq, // Q:: q
- fww, // W:: ï½—
- fwe, // E:: ï½…
- fwr, // R:: ï½’
- fwt, // T:: ï½”
- fwy, // Y:: ï½™
- fwu, // U:: u
- fwi, // I:: i
- fwo, // O:: ï½
- fwp, // P:: ï½
- fwa, // A:: ï½
- fws, // S:: s
- fwd, // D:: d
- fwf, // F:: f
- fwg, // G:: g
- fwh, // H:: h
- fwj, // J:: j
- fwk, // K:: k
- fwl, // L:: l
- fwz, // Z:: z
- fwx, // X:: x
- fwc, // C:: c
- fwv, // V:: ï½–
- fwb, // B:: b
- fwn, // N:: n
- fwm, // M:: ï½
- // Full width caps + fractions, and a few extra symbols that lack a better place
- Fwone, // 1:: ¼
- Fwtwo, // 2:: ½
- Fwthree, // 3:: ¾
- Fwfour, // 4:: â…“
- Fwfive, // 5:: â…”
- Fwsix, // 6:: â…•
- Fwseven, // 7:: â…›
- Fweight, // 8:: ð’³
- Fwnine, // 9:: ð’´
- Fwzero, // 0 :: ð’µ
- Fwq, // Q:: ï¼±
- Fww, // W:: ï¼·
- Fwe, // E:: ï¼¥
- Fwr, // R:: ï¼²
- Fwt, // T:: ï¼´
- Fwy, // Y:: ï¼¹
- Fwu, // U:: ï¼µ
- Fwi, // I:: I
- Fwo, // O:: O
- Fwp, // P:: ï¼°
- Fwa, // A:: A
- Fws, // S:: ï¼³
- Fwd, // D:: D
- Fwf, // F:: F
- Fwg, // G:: G
- Fwh, // H:: H
- Fwj, // J:: J
- Fwk, // K:: K
- Fwl, // L:: L
- Fwz, // Z:: Z
- Fwx, // X:: X
- Fwc, // C:: ï¼£
- Fwv, // V:: V
- Fwb, // B:: ï¼¢
- Fwn, // N:: ï¼®
- Fwm, // M:: ï¼­
- nbsp, // You know what this is &nbsp;
- ibang, //‽
- nullpic, // Null picture - â€
-};
-
-const uint32_t unicode_map[] PROGMEM = {
- // MATH
- [neq] = 0x2260, //≠
- [intgrl] = 0x222B, //∫
- [angl] = 0x2220, //∠
- [imply] = 0x21D2, //⇒
- [equiv] = 0x21D4, //⇔
- [porp] = 0x221D, //âˆ
- [exists] = 0x2203, //∃
- [nexists] = 0x2204, //∄
- [forall] = 0x2200, //∀
- [and] = 0x2227, //∧
- [or] = 0x2228, //∨
- [xor] = 0x2295, //⊕
- [apeql] = 0x2245, //≅
- [root] = 0x221A, //√
- [not ] = 0x00AC, //¬
- [sum] = 0x2211, //∑
- [plsminus] = 0x00B1, //±
- [infin] = 0x221E, //∞
- [emtyset] = 0x2205, //∅
- [Mn] = 0x2115, //â„•
- [Mz] = 0x2124, //ℤ
- [Mq] = 0x211A, //â„š
- [Mr] = 0x211D, //â„
- [Mc] = 0x2102, //â„‚
- [eleof] = 0x2208, //∈
- [member] = 0x220B, //∋
- [neleof] = 0x2209, //∉
- [nmember] = 0x220C, //∌
- [subsetof] = 0x2282, //⊂
- [suprsetof] = 0x2283, //
- [intersection] = 0x2229, //∩
- [Munion] = 0x222A, //∪
- // Symbol
- [arwl] = 0x2190, //â†
- [arwu] = 0x2191, //↑
- [arwr] = 0x2192, //→
- [arwd] = 0x2193, //↓
-
- [uxclm] = 0x00A1, //¡
- [cent] = 0x00A2, //¢
- [degree] = 0x00B0, //°
- [trade] = 0x2122, //â„¢
- [copy] = 0x00A9, //©
- [numero] = 0x2116, //â„–
- [sect] = 0x00A7, //§
- [mdot] = 0x00B7, //·
- [rang] = 0x299C, //⦜
-
- [lshade] = 0x2591, //â–‘
- [mshade] = 0x2592, //â–’
- [dshade] = 0x2593, //â–“
-
- [fire] = 0x1F525, //🔥
- [water] = 0x1F322, //🌢
- [cleft] = 0x1F12F, //🄯
- [baster] = 0x1F7BC, //🞼
- [neteen] = 0x1F51E, //🔞
- [floppy] = 0x1F5AB, //🖫
-
- [boxemp] = 0x2610, //â˜
- [boxchk] = 0x2611, //☑
- [boxX] = 0x2612, //☒
-
- [bbstr] = 0x23A1, //⎡
- [bbstl] = 0x23A4, //⎤
- [bbml] = 0x23A8, //⎨
- [bbmr] = 0x23AC, //⎬
- [bbmb] = 0x23AA, //⎪
- [bbrtr] = 0x23A7, //⎧
- [bbrbr] = 0x23A9, //⎩
- [bbrtl] = 0x23AB, //⎫
- [bbrbl] = 0x23AD, //⎭
- [bbsbr] = 0x23A3, //⎣
- [bbsbl] = 0x23A6, //⎦
- [bbmbr] = 0x23A5, //⎥
- [bbmbl] = 0x23A2, //⎢
-
- [Agrave] = 0x0300, // eÌ€ //above [wtf] = 0x1242A, //ð’ª
- [Aacute] = 0x0301, // eÌ //1st
- [Acircm] = 0x0302, // ê //2nd
- [Atilde] = 0x0303, // ẽ //5th
- [Abreve] = 0x0306, // ĕ //4th
- [Adiaer] = 0x0308, // ë //3rd
- [Adacut] = 0x030B, // e̋
-
- // not all ogham letters, as I
- // actually intend to use them for hex
- [OS] = 0x1680, // space
- [Oa] = 0x1681, // 1
- [Ob] = 0x1682, // 2
- [Oc] = 0x1683, // 3
- [Od] = 0x1684, // 4
- [Oe] = 0x1685, // 5
- [Of] = 0x1686, // 6
- [Og] = 0x1687, // 7
- [Oh] = 0x1688, // 8
- [Oi] = 0x1689, // 9
- [OA] = 0x168A, // A
- [OB] = 0x168B, // B
- [OC] = 0x168C, // C
- [OD] = 0x168D, // D
- [OE] = 0x168E, // E
- [OF] = 0x168F, // F
- [Os] = 0x169B, // Start
- [OED] = 0x169C, // End
- [Ox] = 0x1695, // X
-
- [gnd] = 0x23DA, //âš
- [sqr] = 0x238D, //âŽ, actually monostable
- [sine] = 0x223F, //∿
- [opt] = 0x2325, //⌥, actually option used for switch
-
- [geq] = 0x2264, //≤
- [leq] = 0x2265, //≥
- [brkup] = 0xFE38, //︸
- [brkdn] = 0xFE37, //︷
- [perup] = 0xFE35, //︵
- [perdn] = 0xFE36, //︶
- // GREEKL
- [rone] = 0x2170, // 1:: â…°
- [rtwo] = 0x2171, // 2:: â…±
- [rthree] = 0x2172, // 3:: â…²
- [rfour] = 0x2173, // 4:: â…³
- [rfive] = 0x2174, // 5:: â…´
- [rsix] = 0x2175, // 6:: â…µ
- [rseven] = 0x2176, // 7:: â…¶
- [reight] = 0x2177, // 8:: â…·
- [rnine] = 0x2178, // 9:: â…¸
- [rten] = 0x2179, // 0:: â…¹
- [gq] = 0x03B8, // q:: θ
- [gw] = 0x03C9, // w:: ω
- [ge] = 0x03B5, // e:: ε
- [gr] = 0x03C1, // r:: Ï
- [gt] = 0x03C4, // t:: Ï„
- [gy] = 0x03C8, // y:: ψ
- [gu] = 0x03C5, // u:: Ï…
- [gi] = 0x03B9, // i:: ι
- [go] = 0x03BF, // o:: ο
- [gp] = 0x03C0, // p:: π
- [ga] = 0x03B1, // a:: α
- [gs] = 0x03C3, // s:: σ
- [gd] = 0x03B4, // d:: δ
- [gf] = 0x03C6, // f:: φ
- [gg] = 0x03B3, // g:: γ
- [gh] = 0x03B7, // h:: η
- [gj] = 0x03D1, // j:: Ï‘
- [gk] = 0x03BA, // k:: κ
- [gl] = 0x03BB, // l:: λ
- [gz] = 0x03B6, // z:: ζ
- [gx] = 0x03BE, // x:: ξ
- [gc] = 0x03C7, // c:: χ
- [gv] = 0x03C2, // v:: Ï‚
- [gb] = 0x03B2, // b:: β
- [gn] = 0x03BD, // n:: ν
- [gm] = 0x03BC, // m:: μ
- // GREEKU
- [Rone] = 0x2160, // 1:: â… 
- [Rtwo] = 0x2161, // 2:: â…¡
- [Rthree] = 0x2162, // 3:: â…¢
- [Rfour] = 0x2163, // 4:: â…£
- [Rfive] = 0x2164, // 5:: â…¤
- [Rsix] = 0x2165, // 6:: â…¥
- [Rseven] = 0x2166, // 7:: â…¦
- [Reight] = 0x2167, // 8:: â…§
- [Rnine] = 0x2168, // 9:: â…¨
- [Rten] = 0x2169, // 0:: â…©
- [Gq] = 0x0398, // Q:: Θ
- [Gw] = 0x03A9, // W:: Ω
- [Ge] = 0x0395, // E:: Ε
- [Gr] = 0x03A1, // R:: Ρ
- [Gt] = 0x03A4, // T:: Τ
- [Gy] = 0x03A8, // Y:: Ψ
- [Gu] = 0x03A5, // U:: Υ
- [Gi] = 0x0399, // I:: Ι
- [Go] = 0x039F, // O:: Ο
- [Gp] = 0x03A0, // P:: Π
- [Ga] = 0x0391, // A:: Α
- [Gs] = 0x03A3, // S:: Σ
- [Gd] = 0x0394, // D:: Δ
- [Gf] = 0x03A6, // F:: Φ
- [Gg] = 0x0393, // G:: Γ
- [Gh] = 0x0397, // H:: Η
- [Gj] = 0x004A, // J:: J
- [Gk] = 0x039A, // K:: Κ
- [Gl] = 0x039B, // L:: Λ
- [Gz] = 0x0396, // Z:: Ζ
- [Gx] = 0x039E, // X:: Ξ
- [Gc] = 0x03A7, // C:: Χ
- [Gv] = 0x0056, // V:: V
- [Gb] = 0x0392, // B:: Î’
- [Gn] = 0x039D, // N:: Î
- [Gm] = 0x039C, // M:: Μ
-
- [tone] = 0x00B9, // 1:: ¹
- [ttwo] = 0x00B2, // 2:: ²
- [tthree] = 0x00B3, // 3:: ³
- [tfour] = 0x2074, // 4:: â´
- [tfive] = 0x2075, // 5:: âµ
- [tsix] = 0x2076, // 6:: â¶
- [tseven] = 0x2077, // 7:: â·
- [teight] = 0x2078, // 8:: â¸
- [tnine] = 0x2079, // 9:: â¹
- [tzero] = 0x2070, // 0 :: â°
- [tq] = 0x06F9, // Q:: Û¹ - superscript q doesn't exist.
- [tw] = 0x02B7, // W:: Ê·
- [te] = 0x1D49, // E:: ᵉ
- [tr] = 0x02B3, // R:: ʳ
- [tt] = 0x1D57, // T:: áµ—
- [ty] = 0x02B8, // Y:: ʸ
- [tu] = 0x1D58, // U:: ᵘ
- [ti] = 0x2071, // I:: â±
- [to] = 0x1D52, // O:: áµ’
- [tp] = 0x1D56, // P:: áµ–
- [ta] = 0x1D43, // A:: ᵃ
- [ts] = 0x02E2, // S:: ˢ
- [td] = 0x1D48, // D:: ᵈ
- [tf] = 0x1DA0, // F:: ᶠ
- [tg] = 0x1D4D, // G:: áµ
- [th] = 0x02B0, // H:: Ê°
- [tj] = 0x02B2, // J:: ʲ
- [tk] = 0x1D4F, // K:: áµ
- [tl] = 0x02E1, // L:: Ë¡
- [tz] = 0x1DBB, // Z:: ᶻ
- [tx] = 0x02E3, // X:: ˣ
- [tc] = 0x1D9C, // C:: ᶜ
- [tv] = 0x1D5B, // V:: áµ›
- [tb] = 0x1D47, // B:: ᵇ
- [tn] = 0x207F, // N:: â¿
- [tm] = 0x1D50, // M:: áµ
-
- [fwone] = 0xFF11, // 1:: 1
- [fwtwo] = 0xFF12, // 2:: ï¼’
- [fwthree] = 0xFF13, // 3:: 3
- [fwfour] = 0xFF14, // 4:: ï¼”
- [fwfive] = 0xFF15, // 5:: 5
- [fwsix] = 0xFF16, // 6:: ï¼–
- [fwseven] = 0xFF17, // 7:: ï¼—
- [fweight] = 0xFF18, // 8:: 8
- [fwnine] = 0xFF19, // 9:: ï¼™
- [fwzero] = 0xFF10, // 0 :: ï¼
- [fwq] = 0xFF51, // Q:: q
- [fww] = 0xFF57, // W:: ï½—
- [fwe] = 0xFF45, // E:: ï½…
- [fwr] = 0xFF52, // R:: ï½’
- [fwt] = 0xFF54, // T:: ï½”
- [fwy] = 0xFF59, // Y:: ï½™
- [fwu] = 0xFF55, // U:: u
- [fwi] = 0xFF49, // I:: i
- [fwo] = 0xFF4F, // O:: ï½
- [fwp] = 0xFF50, // P:: ï½
- [fwa] = 0xFF41, // A:: ï½
- [fws] = 0xFF53, // S:: s
- [fwd] = 0xFF44, // D:: d
- [fwf] = 0xFF46, // F:: f
- [fwg] = 0xFF47, // G:: g
- [fwh] = 0xFF48, // H:: h
- [fwj] = 0xFF4A, // J:: j
- [fwk] = 0xFF4B, // K:: k
- [fwl] = 0xFF4C, // L:: l
- [fwz] = 0xFF5A, // Z:: z
- [fwx] = 0xFF58, // X:: x
- [fwc] = 0xFF43, // C:: c
- [fwv] = 0xFF56, // V:: ï½–
- [fwb] = 0xFF42, // B:: b
- [fwn] = 0xFF4E, // N:: n
- [fwm] = 0xFF4D, // M:: ï½
- // Full width caps + fractions, and a few extra symbols that lack a better place
- [Fwone] = 0x00BC, // 1:: ¼
- [Fwtwo] = 0x00BD, // 2:: ½
- [Fwthree] = 0x00BE, // 3:: ¾
- [Fwfour] = 0x2153, // 4:: â…“
- [Fwfive] = 0x2154, // 5:: â…”
- [Fwsix] = 0x2155, // 6:: â…•
- [Fwseven] = 0x215B, // 7:: â…›
- [Fweight] = 0x00A0, // 8:: &nbsp
- [Fwnine] = 0x203D, // 9:: ibang ‽
- [Fwzero] = 0x2400, // 0 :: nullpic â€
- [Fwq] = 0xFF31, // Q:: ï¼±
- [Fww] = 0xFF37, // W:: ï¼·
- [Fwe] = 0xFF25, // E:: ï¼¥
- [Fwr] = 0xFF32, // R:: ï¼²
- [Fwt] = 0xFF34, // T:: ï¼´
- [Fwy] = 0xFF39, // Y:: ï¼¹
- [Fwu] = 0xFF35, // U:: ï¼µ
- [Fwi] = 0xFF29, // I:: I
- [Fwo] = 0xFF2F, // O:: O
- [Fwp] = 0xFF30, // P:: ï¼°
- [Fwa] = 0xFF21, // A:: A
- [Fws] = 0xFF33, // S:: ï¼³
- [Fwd] = 0xFF24, // D:: D
- [Fwf] = 0xFF26, // F:: F
- [Fwg] = 0xFF27, // G:: G
- [Fwh] = 0xFF28, // H:: H
- [Fwj] = 0xFF2A, // J:: J
- [Fwk] = 0xFF2B, // K:: K
- [Fwl] = 0xFF2C, // L:: L
- [Fwz] = 0xFF3A, // Z:: Z
- [Fwx] = 0xFF38, // X:: X
- [Fwc] = 0xFF23, // C:: ï¼£
- [Fwv] = 0xFF36, // V:: V
- [Fwb] = 0xFF22, // B:: ï¼¢
- [Fwn] = 0xFF2E, // N:: ï¼®
- [Fwm] = 0xFF2D, // M:: ï¼­
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // clang-format off
-
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSLS,
- KC_EQL, KC_A, KC_O, KC_E, KC_U, KC_I,
- SC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_AMPR,
- OSL(FNLR), TT(GREL), TT(MATH), KC_UP, KC_DOWN,
- KC_LBRC, KC_HOME, KC_INS, KC_SPC, KC_LGUI, KC_DEL,
-
- OSL(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_PGUP, 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_PGDN, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC,
- KC_LEFT, KC_RIGHT, KC_RALT, TT(SYMB), TT(QWER),
- KC_END, KC_RBRC, KC_PSCR, KC_RALT, KC_RCTL, KC_ENT
-),
-
-[FNLR] = LAYOUT_ergodox(
- // left hand
- UC_LINX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
- UC_WINC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15, KC_NO,
- TO(TINY),KC_F21, KC_F22, KC_F23,KC_F24, MAGIC_TOGGLE_NKRO,
- TO(FULL),KC_PAUSE,KC_PSCR,KC_SCRL,KC_NO,KC_NO,KC_NO,
- EE_CLR,TO(BASE),TO(BASE),TO(BASE),TO(BASE),
- KC_NO,KC_NO,
- KC_NO,
- KC_NO,KC_NO,KC_NO,
- // right hand
- TO(BASE), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, UC_LINX,
- KC_NO, KC_F16, KC_F17,KC_F18, KC_F19, KC_F20, UC_WIN,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO,KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_RCTL, KC_NO
-),
-
-[QWER] = LAYOUT_ergodox(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSLS,
- KC_AMPR, KC_A, KC_S, KC_D, KC_F, KC_G,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT,
- KC_BSLS, KC_LCTL, KC_LGUI, KC_RALT, KC_APP,
- KC_LBRC, KC_HOME, KC_PGUP, KC_SPC, KC_LSFT, KC_PGDN,
-
- OSL(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_MINS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SLSH,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, TO(BASE),
- KC_END, KC_INS, KC_DEL, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[MATH] = LAYOUT_ergodox(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
- KC_TAB, UM(Mc), UM(Munion), UM(arwl), UM(or), UM(exists), KC_BSLS,
- UM(arwr), UM(root), UM(and), UM(imply), UM(nexists), UM(forall),
- SC_LSPO, KC_SCLN, UM(intgrl), UM(Mn), UM(Mz), UM(member), UM(arwl),
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TT(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_PGUP, UM(plsminus), UM(infin), UM(neleof), UM(equiv), UM(Mq), KC_EQL,
- UM(sum), UM(emtyset), UM(porp), UM(suprsetof), UM(not), UM(neq),
- KC_PGDN, UM(subsetof), UM(intersection), UM(angl), UM(nmember), UM(eleof), SC_RSPC,
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[SYMB] = LAYOUT_ergodox(
- UM(Os), UM(Oa), UM(Ob), UM(Oc), UM(Od), UM(Oe), UM(mdot),
- UM(boxemp), UM(bbstr), UM(bbrtr), UM(bbrtl), UM(bbstl), UM(degree), UM(brkdn),
- UM(boxchk), UM(bbmbl), UM(bbml), UM(bbmr), UM(bbmbr), UM(neteen),
- UM(boxX), UM(bbsbr), UM(bbrbr), UM(bbrbl), UM(bbsbl), UM(uxclm), UM(brkup),
- UM(floppy), TO(BASE), TO(BASE), UM(arwu), UM(arwd),
- UM(fire), UM(lshade), UM(mshade), KC_SPC, UM(OS), UM(dshade),
-
- UM(Ox), UM(Of), UM(Og), UM(Oh), UM(Oi), UM(OA), UM(OB),
- UM(numero), UM(trade), UM(copy), UM(cleft), UM(cent), UM(OED), UM(OC),
- UM(Agrave), UM(gnd), UM(sqr), UM(sine), UM(opt), UM(OD),
- UM(sect), UM(Aacute), UM(Acircm), UM(Adiaer), UM(Abreve), UM(Atilde), UM(OE),
- UM(arwl), UM(arwr), UM(geq), UM(leq), UM(OF),
- UM(rang), UM(water), UM(perup), UM(perdn), UM(baster), KC_ENT
-),
-
-[GREL] = LAYOUT_ergodox(
- KC_ESC, UM(Rone), UM(Rtwo), UM(Rthree), UM(Rfour), UM(Rfive), KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, UM(gp), UM(gy), KC_SLSH,
- KC_SLSH, UM(ga), UM(go), UM(ge), UM(gu), UM(gi),
- MO(GREU), KC_SCLN, UM(gq), UM(gj), UM(gk), UM(gx), KC_AMPR,
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TO(BASE), UM(Rsix), UM(Rseven), UM(Reight), UM(Rnine), UM(Rten), KC_BSPC,
- KC_PGUP, UM(gf), UM(gg), UM(gc), UM(gr), UM(gl), KC_EQL,
- UM(gd), UM(gh), UM(gt), UM(gn), UM(gs), KC_MINS,
- KC_PGDN, UM(gb), UM(gm), UM(gw), UM(gv), UM(gz), MO(GREU),
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[GREU] = LAYOUT_ergodox(
- KC_ESC, UM(Rone), UM(Rtwo), UM(Rthree), UM(Rfour), UM(Rfive), KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, UM(Gp), UM(Gy), KC_SLSH,
- KC_SLSH, UM(Ga), UM(Go), UM(Ge), UM(Gu), UM(Gi),
- KC_TRNS, KC_SCLN, UM(Gq), UM(Gj), UM(Gk), UM(Gx), KC_AMPR,
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TO(BASE), UM(Rsix), UM(Rseven), UM(Reight), UM(Rnine), UM(Rten), KC_BSPC,
- KC_PGUP, UM(Gf), UM(Gg), UM(Gc), UM(Gr), UM(Gl), KC_EQL,
- UM(Gd), UM(Gh), UM(Gt), UM(Gn), UM(Gs), KC_MINS,
- KC_PGDN, UM(Gb), UM(Gm), UM(Gw), UM(Gv), UM(Gz), KC_TRNS,
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[TINY] = LAYOUT_ergodox(
- KC_ESC, UM(tone), UM(ttwo), UM(tthree), UM(tfour), UM(tfive), KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, UM(tp), UM(ty), KC_SLSH,
- KC_SLSH, UM(ta), UM(to), UM(te), UM(tu), UM(ti),
- KC_TRNS, KC_SCLN, UM(tq), UM(tj), UM(tk), UM(tx), KC_AMPR,
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TO(BASE), UM(tsix), UM(tseven), UM(teight), UM(tnine), UM(tzero), KC_BSPC,
- KC_PGUP, UM(tf), UM(tg), UM(tc), UM(tr), UM(tl), KC_EQL,
- UM(td), UM(th), UM(tt), UM(tn), UM(ts), KC_MINS,
- KC_PGDN, UM(tb), UM(tm), UM(tw), UM(tv), UM(tz), KC_TRNS,
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[FULL] = LAYOUT_ergodox(
- KC_ESC, UM(fwone), UM(fwtwo), UM(fwthree), UM(fwfour), UM(fwfive), KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, UM(fwp), UM(fwy), KC_SLSH,
- KC_SLSH, UM(fwa), UM(fwo), UM(fwe), UM(fwu), UM(fwi),
- MO(FULU), KC_SCLN, UM(fwq), UM(fwj), UM(fwk), UM(fwx), KC_AMPR,
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TO(BASE), UM(fwsix), UM(fwseven), UM(fweight), UM(fwnine), UM(fwzero), KC_BSPC,
- KC_PGUP, UM(fwf), UM(fwg), UM(fwc), UM(fwr), UM(fwl), KC_EQL,
- UM(fwd), UM(fwh), UM(fwt), UM(fwn), UM(fws), KC_MINS,
- KC_PGDN, UM(fwb), UM(fwm), UM(fww), UM(fwv), UM(fwz), MO(FULU),
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
-[FULU] = LAYOUT_ergodox(
- KC_ESC, UM(Fwone), UM(Fwtwo), UM(Fwthree), UM(Fwfour), UM(Fwfive), KC_GRV,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, UM(Fwp), UM(Fwy), KC_SLSH,
- KC_SLSH, UM(Fwa), UM(Fwo), UM(Fwe), UM(Fwu), UM(Fwi),
- KC_TRNS, KC_SCLN, UM(Fwq), UM(Fwj), UM(Fwk), UM(Fwx), KC_AMPR,
- KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
- KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
-
- TO(BASE), UM(Fwsix), UM(Fwseven), UM(Fweight), UM(Fwnine), UM(Fwzero), KC_BSPC,
- KC_PGUP, UM(Fwf), UM(Fwg), UM(Fwc), UM(Fwr), UM(Fwl), KC_EQL,
- UM(Fwd), UM(Fwh), UM(Fwt), UM(Fwn), UM(Fws), KC_MINS,
- KC_PGDN, UM(Fwb), UM(Fwm), UM(Fww), UM(Fwv), UM(Fwz), KC_TRNS,
- KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
- KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
-),
-
- // clang-format on
-
-};
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void){
-
-};
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-};
diff --git a/keyboards/ktec/ergodone/keymaps/vega/rules.mk b/keyboards/ktec/ergodone/keymaps/vega/rules.mk
deleted file mode 100644
index d4b8547225..0000000000
--- a/keyboards/ktec/ergodone/keymaps/vega/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = yes
diff --git a/keyboards/kudox/columner/keymaps/default/config.h b/keyboards/kudox/columner/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/columner/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/columner/keymaps/default/keymap.c b/keyboards/kudox/columner/keymaps/default/keymap.c
deleted file mode 100644
index 7bbdd02c76..0000000000
--- a/keyboards/kudox/columner/keymaps/default/keymap.c
+++ /dev/null
@@ -1,63 +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 _SYMB 1
-#define _NUMB 2
-
-// Shortcut to make keymap more readable
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_LGENT MT(KC_LGUI, KC_ENT)
-#define KC_RGENT MT(KC_RGUI, KC_ENT)
-
-#define KC_L1NUM LT(_NUMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LBRC , KC_RBRC ,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_MINS , KC_EQL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_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_ALES ,KC_QUOT ,KC_GRV ,KC_DEL ,KC_L2SYM,KC_LGENT,KC_SPC , KC_SPC ,KC_RGENT,KC_L1NUM,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_DQUO ,KC_QUOT ,KC_TILD ,KC_ASTR ,KC_PLUS ,_______ , _______ ,_______ ,_______ ,_______ ,KC_TILD ,KC_GRV ,KC_INT3 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , _______ ,_______ ,_______ ,KC_DQUO ,KC_QUOT ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_NUMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_7 ,KC_8 ,KC_9 ,KC_ASTR ,KC_PLUS ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_4 ,KC_5 ,KC_6 ,KC_0 ,KC_MINS , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_1 ,KC_2 ,KC_3 ,KC_DOT ,KC_SLSH , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,KC_INT3 ,KC_0 ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/kudox/columner/keymaps/via/keymap.c b/keyboards/kudox/columner/keymaps/via/keymap.c
deleted file mode 100644
index 1906df1084..0000000000
--- a/keyboards/kudox/columner/keymaps/via/keymap.c
+++ /dev/null
@@ -1,76 +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.
-enum layer_number {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LBRC , KC_RBRC ,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_MINS , KC_EQL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_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_LALT ,KC_QUOT ,KC_GRV ,KC_DEL ,MO(_FN1),KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO(_FN2),KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN1] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_DEL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , KC_LCBR ,KC_RCBR ,KC_TRNS ,KC_TRNS ,KC_CIRC ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN2] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO(_BASE),XXXXXXX,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN3] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_7 ,KC_8 ,KC_9 ,KC_ASTR ,KC_PLUS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_4 ,KC_5 ,KC_6 ,KC_0 ,KC_MINS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_DOT ,KC_SLSH , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_INT3 ,KC_0 ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
-
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox/columner/readme.md b/keyboards/kudox/columner/readme.md
deleted file mode 100644
index 0c62174bcf..0000000000
--- a/keyboards/kudox/columner/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# The Kudox Keyboard Columner
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
-</p>
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-columner.jpg" alt="Kudox Columner" width="600"/>
-</p>
-
-- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
-- Hardware Supported: Kudox Columner PCB rev1.0 w/ Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
-```sh
-make kudox/columner:default
-```
-
-
-Example of flashing this keyboard:
-
-```sh
-make kudox/columner:default:flash
-```
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-
-## Layout
-
-![layout](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-columner-layout-rev1.png)
diff --git a/keyboards/kudox/readme.md b/keyboards/kudox/readme.md
deleted file mode 100644
index 107b99b100..0000000000
--- a/keyboards/kudox/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# The Kudox keyboard
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
-</p>
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-rev3-image1.jpg" alt="Kudox rev3.0" width="600"/>
-</p>
-
-- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
-- Hardware Supported: Kudox PCB rev1.0 rev2.0 rev3.0 w/ Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
-```sh
-make kudox/rev3:default
-```
-
-
-Example of flashing this keyboard:
-
-```sh
-make kudox/rev3:default:flash
-```
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kudox/rev1/keymaps/default/config.h b/keyboards/kudox/rev1/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/rev1/keymaps/default/keymap.c b/keyboards/kudox/rev1/keymaps/default/keymap.c
deleted file mode 100644
index 1a3bfa4fff..0000000000
--- a/keyboards/kudox/rev1/keymaps/default/keymap.c
+++ /dev/null
@@ -1,49 +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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_RGENT MT(KC_RGUI, KC_ENT)
-
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_L1SYM,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_QUOT ,KC_MINS ,KC_EQL ,KC_ENT ,KC_LGUI ,KC_SPC , KC_RGENT,KC_DEL ,SYM_L ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_INT3 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,KC_LCBR ,KC_RCBR ,KC_DOT ,KC_SLSH ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/kudox/rev1/keymaps/jis/config.h b/keyboards/kudox/rev1/keymaps/jis/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/jis/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/rev1/keymaps/jis/keymap.c b/keyboards/kudox/rev1/keymaps/jis/keymap.c
deleted file mode 100644
index a58c5cbd65..0000000000
--- a/keyboards/kudox/rev1/keymaps/jis/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include QMK_KEYBOARD_H
-#include"keymap_japanese.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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-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_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_COLN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_SLSH ,KC_N ,KC_M ,KC_MINS ,KC_UP ,SYM_L ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_LGUI ,KC_LALT ,KC_ENT ,KC_LNG2 ,KC_SPC ,KC_SPC , KC_COMM ,KC_DOT ,KC_L1SYM,KC_LEFT ,KC_DOWN ,KC_RGHT ,JP_BSLS
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , XXXXXXX ,JP_CIRC ,JP_YEN ,JP_TILD ,JP_PIPE ,KC_DEL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ , KC_LT ,KC_GT ,JP_LBRC ,JP_RBRC ,JP_LCBR ,JP_RCBR ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_F11 ,KC_F12 ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,JP_PLUS ,JP_ASTR ,KC_SCLN ,JP_COLN ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______ ,KC_VOLU ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_MUTE ,KC_VOLD ,_______,_______
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/kudox/rev1/keymaps/x1/config.h b/keyboards/kudox/rev1/keymaps/x1/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/x1/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/rev1/keymaps/x1/keymap.c b/keyboards/kudox/rev1/keymaps/x1/keymap.c
deleted file mode 100644
index 982f98b295..0000000000
--- a/keyboards/kudox/rev1/keymaps/x1/keymap.c
+++ /dev/null
@@ -1,73 +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 _SYMB 1
-#define _NUMB 2
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define NUM_L MO(_NUMB)
-
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_RGENT MT(KC_RGUI, KC_ENT)
-#define KC_LGUI2 RALT_T(KC_LNG2)
-
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-#define KC_L1NUM LT(_NUMB, KC_LNG1)
-#define KC_ENNUM LT(_NUMB, KC_ENT)
-
-#define KC_FSYM LT(_SYMB, KC_F)
-#define KC_JNUM LT(_NUMB, KC_J)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_FSYM ,KC_G , KC_H ,KC_JNUM ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_L1NUM,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_QUOT ,KC_MINS ,KC_EQL ,KC_ENNUM,KC_LGUI ,KC_SPC , KC_RGENT,KC_DEL ,SYM_L ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_INT3 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,KC_LCBR ,KC_RCBR ,KC_DOT ,KC_SLSH ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_NUMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_7 ,KC_8 ,KC_9 ,KC_ASTR ,KC_PLUS ,KC_EQL , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_4 ,KC_5 ,KC_6 ,KC_0 ,KC_MINS , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_1 ,KC_2 ,KC_3 ,KC_DOT ,KC_SLSH , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,KC_INT3 ,KC_0 ,_______ ,_______ ,_______ ,_______ , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/kudox/rev1/keymaps/x1/readme.md b/keyboards/kudox/rev1/keymaps/x1/readme.md
deleted file mode 100644
index 1085735afc..0000000000
--- a/keyboards/kudox/rev1/keymaps/x1/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# [x1](https://github.com/x1-) 's keymap for Kudox Keyboard
diff --git a/keyboards/kudox/rev2/keymaps/default/config.h b/keyboards/kudox/rev2/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev2/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/rev2/keymaps/default/keymap.c b/keyboards/kudox/rev2/keymaps/default/keymap.c
deleted file mode 100644
index d078683d9c..0000000000
--- a/keyboards/kudox/rev2/keymaps/default/keymap.c
+++ /dev/null
@@ -1,49 +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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_RGENT MT(KC_RGUI, KC_ENT)
-
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_GRV , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_L1SYM,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_QUOT ,KC_MINS ,KC_EQL ,KC_ENT ,KC_LGUI ,KC_SPC , KC_RGENT,KC_DEL ,SYM_L ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_INT3 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,KC_LCBR ,KC_RCBR ,KC_DOT ,KC_SLSH ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/kudox/rev2/keymaps/jis/config.h b/keyboards/kudox/rev2/keymaps/jis/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev2/keymaps/jis/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox/rev2/keymaps/jis/keymap.c b/keyboards/kudox/rev2/keymaps/jis/keymap.c
deleted file mode 100644
index b588fea6ad..0000000000
--- a/keyboards/kudox/rev2/keymaps/jis/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include QMK_KEYBOARD_H
-#include"keymap_japanese.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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALES LALT_T(KC_ESC)
-
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LNG2, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_COLN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_UP ,KC_N ,KC_M ,KC_SLSH ,JP_UNDS ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_LGUI ,KC_LALT ,KC_DEL ,KC_L2SYM,KC_SPC ,KC_ENT , KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_COMM ,KC_DOT ,KC_L1SYM,JP_BSLS
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,JP_LPRN ,JP_RPRN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , JP_HASH ,JP_DLR ,JP_PERC ,JP_PLUS ,KC_MINS ,JP_CIRC ,JP_YEN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,JP_LBRC ,JP_RBRC ,XXXXXXX ,XXXXXXX ,XXXXXXX , JP_AMPR ,KC_SLSH ,JP_ASTR ,KC_SCLN ,JP_COLN ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,JP_LCBR ,JP_RCBR ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_VOLU ,XXXXXXX ,XXXXXXX ,KC_LT ,KC_GT ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,KC_LT ,KC_GT ,KC_LNG2 ,_______ ,_______ , KC_MUTE ,KC_VOLD ,KC_LNG1 ,_______ ,_______ ,_______ ,KC_DEL
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/kudox/rev3/keymaps/default/keymap.c b/keyboards/kudox/rev3/keymaps/default/keymap.c
deleted file mode 100644
index 45e40630c6..0000000000
--- a/keyboards/kudox/rev3/keymaps/default/keymap.c
+++ /dev/null
@@ -1,70 +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 _SYMB 1
-#define _LIGHT 2
-
-// Shortcut to make keymap more readable
-#define SYM_L2 LT(_SYMB, KC_LNG2)
-#define TO_LIGH TO(_LIGHT)
-#define TO_QWER TO(_QWERTY)
-
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_ALEN LALT_T(KC_ENT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS, KC_EQL ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_LBRC ,KC_RBRC ,SYM_L2 ,KC_ALEN ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO_LIGH ,KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_LCBR ,KC_RCBR ,_______ ,_______ ,KC_CIRC ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LABK ,KC_UNDS ,KC_RABK
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_LIGHT] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO_QWER ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
-
-
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox/rev3/keymaps/jis/keymap.c b/keyboards/kudox/rev3/keymaps/jis/keymap.c
deleted file mode 100644
index 72f4c04c30..0000000000
--- a/keyboards/kudox/rev3/keymaps/jis/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#include QMK_KEYBOARD_H
-#include"keymap_japanese.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 _SYMB 1
-#define _LIGHT 2
-
-// Shortcut to make keymap more readable
-#define SYM_L2 LT(_SYMB, KC_LNG2)
-#define TO_LIGH TO(_LIGHT)
-#define TO_QWER TO(_QWERTY)
-
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_ALEN LALT_T(KC_ENT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- JP_ZKHK ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,JP_MINS ,JP_CIRC ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_SLSH ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,JP_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,JP_COMM ,JP_DOT ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,JP_YEN ,JP_COLN ,SYM_L2 ,KC_ALEN ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO_LIGH ,KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,JP_DQUO ,JP_QUOT ,KC_GRV ,JP_ASTR ,JP_PLUS ,JP_EQL , JP_LPRN ,JP_RPRN ,JP_PIPE ,JP_ASTR ,JP_TILD ,JP_CIRC ,JP_PIPE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,JP_AT ,JP_COLN ,KC_GRV ,JP_SLSH ,JP_MINS , JP_LBRC ,JP_RBRC ,JP_DOT ,JP_SLSH ,JP_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , JP_LCBR ,JP_RCBR ,_______ ,_______ ,JP_CIRC ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,JP_LABK ,JP_UNDS ,JP_RABK
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_LIGHT] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW ,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN ,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO_QWER ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
-
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox/rev3/keymaps/via/keymap.c b/keyboards/kudox/rev3/keymaps/via/keymap.c
deleted file mode 100644
index 9dfbe81701..0000000000
--- a/keyboards/kudox/rev3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,77 +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.
-enum layer_number {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = 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_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_LALT ,KC_LBRC ,KC_RBRC ,MO(_FN1),KC_ENT ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO(_FN2),KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN1] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_LCBR ,KC_RCBR ,KC_TRNS ,KC_TRNS ,KC_CIRC ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LABK ,KC_UNDS ,KC_RABK
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN2] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO(_BASE),XXXXXXX,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN3] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
-
-
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox/rules.mk b/keyboards/kudox/rules.mk
deleted file mode 100644
index 8654d9b520..0000000000
--- a/keyboards/kudox/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-SPLIT_KEYBOARD = yes
-
-DEFAULT_FOLDER = kudox/rev3
diff --git a/keyboards/kudox_full/readme.md b/keyboards/kudox_full/readme.md
deleted file mode 100644
index 494d7508c8..0000000000
--- a/keyboards/kudox_full/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# The Kudox Full keyboard
-
-![Kudox logo](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png)
-
-![Kudox Full image2](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-full-image2.jpg) | ![Kudox Full image1](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-full-image1.jpg)
-:----:|:-----:
- front | angle
-
-- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
-- Hardware Supported: Kudox Full PCB rev1.0 w/ Pro Micro
-- Assembly guide: [Kudox Full/README](https://github.com/kumaokobo/kudox-keyboard/blob/master/kudox-full/README.md)
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
-
-## Building Firmware
-
-Make example for this keyboard (after setting up your build environment):
-
- make kudox_full/rev1:default
-
-
-Flashing example for this keyboard:
-
- make kudox_full/rev1:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kudox_full/rules.mk b/keyboards/kudox_full/rules.mk
deleted file mode 100644
index cbdafb7a5c..0000000000
--- a/keyboards/kudox_full/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-UNICODE_ENABLE = yes # Unicode
-LTO_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
-
-DEFAULT_FOLDER = kudox_full/rev1
diff --git a/keyboards/kudox_game/keymaps/default/config.h b/keyboards/kudox_game/keymaps/default/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/kudox_game/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/kudox_game/keymaps/default/keymap.c b/keyboards/kudox_game/keymaps/default/keymap.c
deleted file mode 100644
index aecf8976c2..0000000000
--- a/keyboards/kudox_game/keymaps/default/keymap.c
+++ /dev/null
@@ -1,71 +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 _SYMB 1
-#define _LIGHT 2
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define KC_ALEN LALT_T(KC_ENT)
-#define ES_LIGH LT(_LIGHT, KC_ESC)
-
-#define CT_COPY LCTL(KC_C)
-#define CT_PASTE LCTL(KC_V)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────â”
- ES_LIGH ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
- //└────────┼────────┼────────┼────────┼────────┼────────┤
- KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
- //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- CT_COPY ,CT_PASTE,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,
- //├────────┼────────┘ └────────┴────────┼────────┼────────â”
- KC_LCTL ,SYM_L ,KC_SPC
- //└────────┘ └────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,
- //└────────┼────────┼────────┼────────┼────────┼────────┤
- KC_GRV ,KC_UP ,KC_PIPE ,KC_LCBR ,KC_RCBR ,
- //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- _______ ,_______ ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_LBRC ,KC_RBRC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- _______ ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN ,
- //├────────┼────────┘ └────────┴────────┼────────┼────────â”
- _______ ,_______ ,_______
- //└────────┘ └────────┴────────┘
- ),
-
- [_LIGHT] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,
- //└────────┼────────┼────────┼────────┼────────┼────────┤
- RGB_M_P ,RGB_M_SW,RGB_M_X ,RGB_M_B ,RGB_VAD ,
- //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- _______ ,_______ ,RGB_M_SN,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
- _______ ,RGB_M_T ,XXXXXXX ,RGB_VAI ,RGB_VAD ,
- //├────────┼────────┘ └────────┴────────┼────────┼────────â”
- _______ ,RGB_MOD ,RGB_TOG
- //└────────┘ └────────┴────────┘
- )
-
-};
-
-// Runs just one time when the keyboard initializes.
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox_game/keymaps/via/keymap.c b/keyboards/kudox_game/keymaps/via/keymap.c
deleted file mode 100644
index 0a18483d90..0000000000
--- a/keyboards/kudox_game/keymaps/via/keymap.c
+++ /dev/null
@@ -1,78 +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.
-enum layer_number {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
- //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
- //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
- LCTL(KC_C),LCTL(KC_V),KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
- //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,
- //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
- KC_LCTL ,TO(_FN1) ,KC_SPC
- //└──────────┘ └──────────┴──────────┘
- ),
-
- [_FN1] = LAYOUT(
- //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
- KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,
- //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- KC_GRV ,KC_UP ,KC_PIPE ,KC_LCBR ,KC_RCBR ,
- //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
- KC_TRNS ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RIGHT ,KC_LBRC ,KC_RBRC ,
- //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
- KC_TRNS ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN ,
- //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
- TO(_FN2) ,TO(_BASE) ,KC_TRNS
- //└──────────┘ └──────────┴──────────┘
- ),
-
- [_FN2] = LAYOUT(
- //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
- KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,
- //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- RGB_M_P ,RGB_M_SW ,RGB_M_X ,RGB_M_B ,RGB_VAD ,
- //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
- KC_TRNS ,KC_TRNS ,RGB_M_SN ,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T ,
- //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
- KC_TRNS ,RGB_M_T ,KC_DEL ,RGB_VAI ,RGB_VAD ,
- //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
- TO(_FN1) ,RGB_MOD ,RGB_TOG
- //└──────────┘ └──────────┴──────────┘
- ),
-
-
- [_FN3] = LAYOUT(
- //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
- KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
- //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
- KC_TRNS ,KC_TRNS ,KC_TRNS
- //└──────────┘ └──────────┴──────────┘
- )
-};
-
-
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_user(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
diff --git a/keyboards/kudox_game/readme.md b/keyboards/kudox_game/readme.md
deleted file mode 100644
index 31565a5996..0000000000
--- a/keyboards/kudox_game/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# The Kudox Game keyboard
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
-</p>
-
-<p align="center">
-<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-game-pcb.jpg" alt="Kudox Game PCB rev1.0" width="600"/>
-</p>
-
-- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
-- Hardware Supported: Kudox Game PCB rev1.0 rev2.0 w/ Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
-```sh
-make kudox_game/rev2:default
-```
-
-Example of flashing this keyboard:
-
-```sh
-make kudox_game/rev2: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/kudox_game/rev2/rules.mk b/keyboards/kudox_game/rev2/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/kudox_game/rev2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kudox_game/rules.mk b/keyboards/kudox_game/rules.mk
deleted file mode 100644
index 762675efe1..0000000000
--- a/keyboards/kudox_game/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-DEFAULT_FOLDER = kudox_game/rev2
diff --git a/keyboards/kudox/columner/config.h b/keyboards/kumaokobo/kudox/columner/config.h
index 04bc8cb2d2..04bc8cb2d2 100644
--- a/keyboards/kudox/columner/config.h
+++ b/keyboards/kumaokobo/kudox/columner/config.h
diff --git a/keyboards/kudox/columner/info.json b/keyboards/kumaokobo/kudox/columner/info.json
index 5f7d444411..5f7d444411 100644
--- a/keyboards/kudox/columner/info.json
+++ b/keyboards/kumaokobo/kudox/columner/info.json
diff --git a/keyboards/kumaokobo/kudox/columner/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox/columner/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4798f862df
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/columner/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+#define _NUMB 2
+
+// Shortcut to make keymap more readable
+#define KC_ALES LALT_T(KC_ESC)
+
+#define KC_LGENT MT(KC_LGUI, KC_ENT)
+#define KC_RGENT MT(KC_RGUI, KC_ENT)
+
+#define KC_L1NUM LT(_NUMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LBRC , KC_RBRC ,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_MINS , KC_EQL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_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_ALES ,KC_QUOT ,KC_GRV ,KC_DEL ,KC_L2SYM,KC_LGENT,KC_SPC , KC_SPC ,KC_RGENT,KC_L1NUM,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_DQUO ,KC_QUOT ,KC_TILD ,KC_ASTR ,KC_PLUS ,_______ , _______ ,_______ ,_______ ,_______ ,KC_TILD ,KC_GRV ,KC_INT3 ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , _______ ,_______ ,_______ ,KC_DQUO ,KC_QUOT ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_NUMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_7 ,KC_8 ,KC_9 ,KC_ASTR ,KC_PLUS ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_4 ,KC_5 ,KC_6 ,KC_0 ,KC_MINS , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_1 ,KC_2 ,KC_3 ,KC_DOT ,KC_SLSH , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,KC_INT3 ,KC_0 ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
diff --git a/keyboards/kudox/columner/keymaps/default/readme.md b/keyboards/kumaokobo/kudox/columner/keymaps/default/readme.md
index 13d9e8bee1..13d9e8bee1 100644
--- a/keyboards/kudox/columner/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/kudox/columner/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/kudox/columner/keymaps/via/keymap.c b/keyboards/kumaokobo/kudox/columner/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8450881cc4
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/columner/keymaps/via/keymap.c
@@ -0,0 +1,79 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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.
+enum layer_number {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LBRC , KC_RBRC ,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_MINS , KC_EQL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_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_LALT ,KC_QUOT ,KC_GRV ,KC_DEL ,MO(_FN1),KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO(_FN2),KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN1] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_DEL ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , KC_LCBR ,KC_RCBR ,KC_TRNS ,KC_TRNS ,KC_CIRC ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN2] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO(_BASE),XXXXXXX,XXXXXXX ,XXXXXXX ,XXXXXXX
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN3] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_7 ,KC_8 ,KC_9 ,KC_ASTR ,KC_PLUS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_4 ,KC_5 ,KC_6 ,KC_0 ,KC_MINS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_DOT ,KC_SLSH , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_INT3 ,KC_0 ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox/columner/keymaps/via/readme.md b/keyboards/kumaokobo/kudox/columner/keymaps/via/readme.md
index 152df04959..152df04959 100644
--- a/keyboards/kudox/columner/keymaps/via/readme.md
+++ b/keyboards/kumaokobo/kudox/columner/keymaps/via/readme.md
diff --git a/keyboards/kudox_game/keymaps/via/rules.mk b/keyboards/kumaokobo/kudox/columner/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/kudox_game/keymaps/via/rules.mk
+++ b/keyboards/kumaokobo/kudox/columner/keymaps/via/rules.mk
diff --git a/keyboards/kumaokobo/kudox/columner/readme.md b/keyboards/kumaokobo/kudox/columner/readme.md
new file mode 100644
index 0000000000..90a65670b4
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/columner/readme.md
@@ -0,0 +1,32 @@
+# The Kudox Keyboard Columner
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
+</p>
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-columner.jpg" alt="Kudox Columner" width="600"/>
+</p>
+
+- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
+- Hardware Supported: Kudox Columner PCB rev1.0 w/ Pro Micro
+
+Make example for this keyboard (after setting up your build environment):
+
+```sh
+make kumaokobo/kudox/columner:default
+```
+
+
+Example of flashing this keyboard:
+
+```sh
+make kumaokobo/kudox/columner:default:flash
+```
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+
+## Layout
+
+![layout](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-columner-layout-rev1.png)
diff --git a/keyboards/era/klein/rules.mk b/keyboards/kumaokobo/kudox/columner/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/era/klein/rules.mk
+++ b/keyboards/kumaokobo/kudox/columner/rules.mk
diff --git a/keyboards/kudox/config.h b/keyboards/kumaokobo/kudox/config.h
index ba80a92797..ba80a92797 100644
--- a/keyboards/kudox/config.h
+++ b/keyboards/kumaokobo/kudox/config.h
diff --git a/keyboards/kumaokobo/kudox/readme.md b/keyboards/kumaokobo/kudox/readme.md
new file mode 100644
index 0000000000..01b90d53be
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/readme.md
@@ -0,0 +1,27 @@
+# The Kudox keyboard
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
+</p>
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-rev3-image1.jpg" alt="Kudox rev3.0" width="600"/>
+</p>
+
+- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
+- Hardware Supported: Kudox PCB rev1.0 rev2.0 rev3.0 w/ Pro Micro
+
+Make example for this keyboard (after setting up your build environment):
+
+```sh
+make kumaokobo/kudox/rev3:default
+```
+
+
+Example of flashing this keyboard:
+
+```sh
+make kumaokobo/kudox/rev3:default:flash
+```
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kudox/rev1/config.h b/keyboards/kumaokobo/kudox/rev1/config.h
index 666cb49b2e..666cb49b2e 100644
--- a/keyboards/kudox/rev1/config.h
+++ b/keyboards/kumaokobo/kudox/rev1/config.h
diff --git a/keyboards/kudox/rev1/info.json b/keyboards/kumaokobo/kudox/rev1/info.json
index 52579e1c43..52579e1c43 100644
--- a/keyboards/kudox/rev1/info.json
+++ b/keyboards/kumaokobo/kudox/rev1/info.json
diff --git a/keyboards/kumaokobo/kudox/rev1/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox/rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b3d183e72b
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev1/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+
+#define KC_ALES LALT_T(KC_ESC)
+
+#define KC_RGENT MT(KC_RGUI, KC_ENT)
+
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_L1SYM,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_QUOT ,KC_MINS ,KC_EQL ,KC_ENT ,KC_LGUI ,KC_SPC , KC_RGENT,KC_DEL ,SYM_L ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_INT3 ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,KC_LCBR ,KC_RCBR ,KC_DOT ,KC_SLSH ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
diff --git a/keyboards/kudox/rev1/keymaps/default/readme.md b/keyboards/kumaokobo/kudox/rev1/keymaps/default/readme.md
index 98d8b2a054..98d8b2a054 100644
--- a/keyboards/kudox/rev1/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/kudox/rev1/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/kudox/rev1/keymaps/jis/keymap.c b/keyboards/kumaokobo/kudox/rev1/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..26bc89abbd
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev1/keymaps/jis/keymap.c
@@ -0,0 +1,51 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+#include"keymap_japanese.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+
+#define KC_ALES LALT_T(KC_ESC)
+
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+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_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_COLN ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_SLSH ,KC_N ,KC_M ,KC_MINS ,KC_UP ,SYM_L ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_LGUI ,KC_LALT ,KC_ENT ,KC_LNG2 ,KC_SPC ,KC_SPC , KC_COMM ,KC_DOT ,KC_L1SYM,KC_LEFT ,KC_DOWN ,KC_RGHT ,JP_BSLS
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , XXXXXXX ,JP_CIRC ,JP_YEN ,JP_TILD ,JP_PIPE ,KC_DEL ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ , KC_LT ,KC_GT ,JP_LBRC ,JP_RBRC ,JP_LCBR ,JP_RCBR ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_F11 ,KC_F12 ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,JP_PLUS ,JP_ASTR ,KC_SCLN ,JP_COLN ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______ ,KC_VOLU ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_MUTE ,KC_VOLD ,_______,_______
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
diff --git a/keyboards/kudox/rev1/keymaps/jis/readme.md b/keyboards/kumaokobo/kudox/rev1/keymaps/jis/readme.md
index 0f3fae39f7..0f3fae39f7 100644
--- a/keyboards/kudox/rev1/keymaps/jis/readme.md
+++ b/keyboards/kumaokobo/kudox/rev1/keymaps/jis/readme.md
diff --git a/keyboards/kudox/columner/rules.mk b/keyboards/kumaokobo/kudox/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kudox/columner/rules.mk
+++ b/keyboards/kumaokobo/kudox/rev1/rules.mk
diff --git a/keyboards/kudox/rev2/config.h b/keyboards/kumaokobo/kudox/rev2/config.h
index 666cb49b2e..666cb49b2e 100644
--- a/keyboards/kudox/rev2/config.h
+++ b/keyboards/kumaokobo/kudox/rev2/config.h
diff --git a/keyboards/kudox/rev2/info.json b/keyboards/kumaokobo/kudox/rev2/info.json
index 98cb6bb431..98cb6bb431 100644
--- a/keyboards/kudox/rev2/info.json
+++ b/keyboards/kumaokobo/kudox/rev2/info.json
diff --git a/keyboards/kumaokobo/kudox/rev2/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox/rev2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..29ddd15fa1
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev2/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+
+#define KC_ALES LALT_T(KC_ESC)
+
+#define KC_RGENT MT(KC_RGUI, KC_ENT)
+
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_GRV , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_L2SYM, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_L1SYM,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_QUOT ,KC_MINS ,KC_EQL ,KC_ENT ,KC_LGUI ,KC_SPC , KC_RGENT,KC_DEL ,SYM_L ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_INT3 ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_AT ,KC_COLN ,KC_GRV ,_______ ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_DOT ,KC_SLSH , _______ ,KC_LCBR ,KC_RCBR ,KC_DOT ,KC_SLSH ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_CIRC ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
diff --git a/keyboards/kudox/rev2/keymaps/default/readme.md b/keyboards/kumaokobo/kudox/rev2/keymaps/default/readme.md
index 9bc4ca5051..9bc4ca5051 100644
--- a/keyboards/kudox/rev2/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/kudox/rev2/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/kudox/rev2/keymaps/jis/keymap.c b/keyboards/kumaokobo/kudox/rev2/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..c581ddb8f1
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev2/keymaps/jis/keymap.c
@@ -0,0 +1,51 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+#include"keymap_japanese.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+
+#define KC_ALES LALT_T(KC_ESC)
+
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LNG2, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_COLN ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_UP ,KC_N ,KC_M ,KC_SLSH ,JP_UNDS ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_LGUI ,KC_LALT ,KC_DEL ,KC_L2SYM,KC_SPC ,KC_ENT , KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_COMM ,KC_DOT ,KC_L1SYM,JP_BSLS
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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 ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,JP_LPRN ,JP_RPRN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , JP_HASH ,JP_DLR ,JP_PERC ,JP_PLUS ,KC_MINS ,JP_CIRC ,JP_YEN ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,JP_LBRC ,JP_RBRC ,XXXXXXX ,XXXXXXX ,XXXXXXX , JP_AMPR ,KC_SLSH ,JP_ASTR ,KC_SCLN ,JP_COLN ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,JP_LCBR ,JP_RCBR ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_VOLU ,XXXXXXX ,XXXXXXX ,KC_LT ,KC_GT ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,KC_LT ,KC_GT ,KC_LNG2 ,_______ ,_______ , KC_MUTE ,KC_VOLD ,KC_LNG1 ,_______ ,_______ ,_______ ,KC_DEL
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
diff --git a/keyboards/kudox/rev2/keymaps/jis/readme.md b/keyboards/kumaokobo/kudox/rev2/keymaps/jis/readme.md
index ddf27339d1..ddf27339d1 100644
--- a/keyboards/kudox/rev2/keymaps/jis/readme.md
+++ b/keyboards/kumaokobo/kudox/rev2/keymaps/jis/readme.md
diff --git a/keyboards/kudox/rev1/rules.mk b/keyboards/kumaokobo/kudox/rev2/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kudox/rev1/rules.mk
+++ b/keyboards/kumaokobo/kudox/rev2/rules.mk
diff --git a/keyboards/kudox/rev3/config.h b/keyboards/kumaokobo/kudox/rev3/config.h
index 04bc8cb2d2..04bc8cb2d2 100644
--- a/keyboards/kudox/rev3/config.h
+++ b/keyboards/kumaokobo/kudox/rev3/config.h
diff --git a/keyboards/kudox/rev3/info.json b/keyboards/kumaokobo/kudox/rev3/info.json
index 35144cc25a..35144cc25a 100644
--- a/keyboards/kudox/rev3/info.json
+++ b/keyboards/kumaokobo/kudox/rev3/info.json
diff --git a/keyboards/kumaokobo/kudox/rev3/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox/rev3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bf89d895f5
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/default/keymap.c
@@ -0,0 +1,73 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+#define _LIGHT 2
+
+// Shortcut to make keymap more readable
+#define SYM_L2 LT(_SYMB, KC_LNG2)
+#define TO_LIGH TO(_LIGHT)
+#define TO_QWER TO(_QWERTY)
+
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_ALEN LALT_T(KC_ENT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS, KC_EQL ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_LBRC ,KC_RBRC ,SYM_L2 ,KC_ALEN ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO_LIGH ,KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_LCBR ,KC_RCBR ,_______ ,_______ ,KC_CIRC ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LABK ,KC_UNDS ,KC_RABK
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_LIGHT] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO_QWER ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
+
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox/rev3/keymaps/default/readme.md b/keyboards/kumaokobo/kudox/rev3/keymaps/default/readme.md
index aead0ad1f1..aead0ad1f1 100644
--- a/keyboards/kudox/rev3/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/kudox/rev3/keymaps/jis/keymap.c b/keyboards/kumaokobo/kudox/rev3/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..f53d40063b
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/jis/keymap.c
@@ -0,0 +1,73 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+#include"keymap_japanese.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 _SYMB 1
+#define _LIGHT 2
+
+// Shortcut to make keymap more readable
+#define SYM_L2 LT(_SYMB, KC_LNG2)
+#define TO_LIGH TO(_LIGHT)
+#define TO_QWER TO(_QWERTY)
+
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_ALEN LALT_T(KC_ENT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ JP_ZKHK ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,JP_MINS ,JP_CIRC ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_SLSH ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,JP_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,JP_COMM ,JP_DOT ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,JP_YEN ,JP_COLN ,SYM_L2 ,KC_ALEN ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO_LIGH ,KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,JP_DQUO ,JP_QUOT ,KC_GRV ,JP_ASTR ,JP_PLUS ,JP_EQL , JP_LPRN ,JP_RPRN ,JP_PIPE ,JP_ASTR ,JP_TILD ,JP_CIRC ,JP_PIPE ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,JP_AT ,JP_COLN ,KC_GRV ,JP_SLSH ,JP_MINS , JP_LBRC ,JP_RBRC ,JP_DOT ,JP_SLSH ,JP_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , JP_LCBR ,JP_RCBR ,_______ ,_______ ,JP_CIRC ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,JP_LABK ,JP_UNDS ,JP_RABK
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_LIGHT] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW ,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN ,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO_QWER ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox/rev3/keymaps/jis/readme.md b/keyboards/kumaokobo/kudox/rev3/keymaps/jis/readme.md
index 90e7902153..90e7902153 100644
--- a/keyboards/kudox/rev3/keymaps/jis/readme.md
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/jis/readme.md
diff --git a/keyboards/kumaokobo/kudox/rev3/keymaps/via/keymap.c b/keyboards/kumaokobo/kudox/rev3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..2609e87723
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/via/keymap.c
@@ -0,0 +1,80 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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.
+enum layer_number {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = 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_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_ESC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_SLSH ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_LALT ,KC_LBRC ,KC_RBRC ,MO(_FN1),KC_ENT ,KC_LGUI ,KC_SPC , KC_SPC ,KC_RGUI ,TO(_FN2),KC_LNG1 ,KC_LEFT, KC_DOWN ,KC_RIGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN1] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_DQUO ,KC_QUOT ,KC_GRV ,KC_ASTR ,KC_PLUS ,KC_EQL , KC_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_CIRC ,KC_PIPE ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_AT ,KC_COLN ,KC_GRV ,KC_SLSH ,KC_MINS , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_MINS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_LCBR ,KC_RCBR ,KC_TRNS ,KC_TRNS ,KC_CIRC ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LABK ,KC_UNDS ,KC_RABK
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN2] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD , RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,RGB_VAD ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_P ,RGB_M_SW ,RGB_M_X,XXXXXXX ,XXXXXXX ,XXXXXXX , RGB_M_P ,RGB_M_SW,RGB_M_X ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_B ,RGB_M_SN ,RGB_M_G,XXXXXXX ,XXXXXXX , RGB_M_B ,RGB_M_SN,RGB_M_G ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX , RGB_M_R ,RGB_M_K ,RGB_M_T ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,RGB_MOD ,RGB_TOG , RGB_TOG ,RGB_MOD ,TO(_BASE),XXXXXXX,XXXXXXX ,XXXXXXX ,XXXXXXX
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_FN3] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+};
+
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox/rev3/keymaps/via/readme.md b/keyboards/kumaokobo/kudox/rev3/keymaps/via/readme.md
index cc95d79eac..cc95d79eac 100644
--- a/keyboards/kudox/rev3/keymaps/via/readme.md
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/via/readme.md
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk b/keyboards/kumaokobo/kudox/rev3/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk
+++ b/keyboards/kumaokobo/kudox/rev3/keymaps/via/rules.mk
diff --git a/keyboards/kudox/rev2/rules.mk b/keyboards/kumaokobo/kudox/rev3/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kudox/rev2/rules.mk
+++ b/keyboards/kumaokobo/kudox/rev3/rules.mk
diff --git a/keyboards/kumaokobo/kudox/rules.mk b/keyboards/kumaokobo/kudox/rules.mk
new file mode 100644
index 0000000000..261c8e2a2b
--- /dev/null
+++ b/keyboards/kumaokobo/kudox/rules.mk
@@ -0,0 +1,16 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+
+SPLIT_KEYBOARD = yes
+
+DEFAULT_FOLDER = kumaokobo/kudox/rev3
diff --git a/keyboards/kudox_full/config.h b/keyboards/kumaokobo/kudox_full/config.h
index 9512ffea8a..9512ffea8a 100644
--- a/keyboards/kudox_full/config.h
+++ b/keyboards/kumaokobo/kudox_full/config.h
diff --git a/keyboards/kudox_full/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox_full/keymaps/default/keymap.c
index c4fe5ff988..c4fe5ff988 100644
--- a/keyboards/kudox_full/keymaps/default/keymap.c
+++ b/keyboards/kumaokobo/kudox_full/keymaps/default/keymap.c
diff --git a/keyboards/kudox_full/keymaps/jis/keymap.c b/keyboards/kumaokobo/kudox_full/keymaps/jis/keymap.c
index aa55fa50a4..aa55fa50a4 100644
--- a/keyboards/kudox_full/keymaps/jis/keymap.c
+++ b/keyboards/kumaokobo/kudox_full/keymaps/jis/keymap.c
diff --git a/keyboards/kudox_full/keymaps/via/keymap.c b/keyboards/kumaokobo/kudox_full/keymaps/via/keymap.c
index cab5519d5b..cab5519d5b 100644
--- a/keyboards/kudox_full/keymaps/via/keymap.c
+++ b/keyboards/kumaokobo/kudox_full/keymaps/via/keymap.c
diff --git a/keyboards/kudox_full/keymaps/via/rules.mk b/keyboards/kumaokobo/kudox_full/keymaps/via/rules.mk
index 21b1b8d0ce..21b1b8d0ce 100644
--- a/keyboards/kudox_full/keymaps/via/rules.mk
+++ b/keyboards/kumaokobo/kudox_full/keymaps/via/rules.mk
diff --git a/keyboards/kudox_full/kudox_full.c b/keyboards/kumaokobo/kudox_full/kudox_full.c
index d69f679822..d69f679822 100644
--- a/keyboards/kudox_full/kudox_full.c
+++ b/keyboards/kumaokobo/kudox_full/kudox_full.c
diff --git a/keyboards/kudox_full/post_config.h b/keyboards/kumaokobo/kudox_full/post_config.h
index eb26f369c3..eb26f369c3 100644
--- a/keyboards/kudox_full/post_config.h
+++ b/keyboards/kumaokobo/kudox_full/post_config.h
diff --git a/keyboards/kumaokobo/kudox_full/readme.md b/keyboards/kumaokobo/kudox_full/readme.md
new file mode 100644
index 0000000000..c5af5d652d
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_full/readme.md
@@ -0,0 +1,32 @@
+# The Kudox Full keyboard
+
+![Kudox logo](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png)
+
+![Kudox Full image2](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-full-image2.jpg) | ![Kudox Full image1](https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-full-image1.jpg)
+:----:|:-----:
+ front | angle
+
+- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
+- Hardware Supported: Kudox Full PCB rev1.0 w/ Pro Micro
+- Assembly guide: [Kudox Full/README](https://github.com/kumaokobo/kudox-keyboard/blob/master/kudox-full/README.md)
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+## Building Firmware
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kumaokobo/kudox_full/rev1:default
+
+
+Flashing example for this keyboard:
+
+ make kumaokobo/kudox_full/rev1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kudox_full/rev1/config.h b/keyboards/kumaokobo/kudox_full/rev1/config.h
index f1dcbbcf3d..f1dcbbcf3d 100644
--- a/keyboards/kudox_full/rev1/config.h
+++ b/keyboards/kumaokobo/kudox_full/rev1/config.h
diff --git a/keyboards/kudox_full/rev1/info.json b/keyboards/kumaokobo/kudox_full/rev1/info.json
index 673fda9acf..673fda9acf 100644
--- a/keyboards/kudox_full/rev1/info.json
+++ b/keyboards/kumaokobo/kudox_full/rev1/info.json
diff --git a/keyboards/kudox_full/rev1/rules.mk b/keyboards/kumaokobo/kudox_full/rev1/rules.mk
index dd68e9d3b0..dd68e9d3b0 100644
--- a/keyboards/kudox_full/rev1/rules.mk
+++ b/keyboards/kumaokobo/kudox_full/rev1/rules.mk
diff --git a/keyboards/kumaokobo/kudox_full/rules.mk b/keyboards/kumaokobo/kudox_full/rules.mk
new file mode 100644
index 0000000000..06453b2337
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_full/rules.mk
@@ -0,0 +1,18 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+UNICODE_ENABLE = yes # Unicode
+LTO_ENABLE = yes
+
+SPLIT_KEYBOARD = yes
+
+DEFAULT_FOLDER = kumaokobo/kudox_full/rev1
diff --git a/keyboards/kudox_game/config.h b/keyboards/kumaokobo/kudox_game/config.h
index f998de9534..f998de9534 100644
--- a/keyboards/kudox_game/config.h
+++ b/keyboards/kumaokobo/kudox_game/config.h
diff --git a/keyboards/kudox_game/info.json b/keyboards/kumaokobo/kudox_game/info.json
index 6968b5e427..6968b5e427 100644
--- a/keyboards/kudox_game/info.json
+++ b/keyboards/kumaokobo/kudox_game/info.json
diff --git a/keyboards/kumaokobo/kudox_game/keymaps/default/keymap.c b/keyboards/kumaokobo/kudox_game/keymaps/default/keymap.c
new file mode 100644
index 0000000000..99e664138f
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_game/keymaps/default/keymap.c
@@ -0,0 +1,74 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+#define _LIGHT 2
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+#define KC_ALEN LALT_T(KC_ENT)
+#define ES_LIGH LT(_LIGHT, KC_ESC)
+
+#define CT_COPY LCTL(KC_C)
+#define CT_PASTE LCTL(KC_V)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────â”
+ ES_LIGH ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
+ //└────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
+ //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ CT_COPY ,CT_PASTE,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,
+ //├────────┼────────┘ └────────┴────────┼────────┼────────â”
+ KC_LCTL ,SYM_L ,KC_SPC
+ //└────────┘ └────────┴────────┘
+ ),
+
+ [_SYMB] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,
+ //└────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_GRV ,KC_UP ,KC_PIPE ,KC_LCBR ,KC_RCBR ,
+ //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ _______ ,_______ ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_LBRC ,KC_RBRC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ _______ ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN ,
+ //├────────┼────────┘ └────────┴────────┼────────┼────────â”
+ _______ ,_______ ,_______
+ //└────────┘ └────────┴────────┘
+ ),
+
+ [_LIGHT] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,
+ //└────────┼────────┼────────┼────────┼────────┼────────┤
+ RGB_M_P ,RGB_M_SW,RGB_M_X ,RGB_M_B ,RGB_VAD ,
+ //┌────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ _______ ,_______ ,RGB_M_SN,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────â”
+ _______ ,RGB_M_T ,XXXXXXX ,RGB_VAI ,RGB_VAD ,
+ //├────────┼────────┘ └────────┴────────┼────────┼────────â”
+ _______ ,RGB_MOD ,RGB_TOG
+ //└────────┘ └────────┴────────┘
+ )
+
+};
+
+// Runs just one time when the keyboard initializes.
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox_game/keymaps/default/readme.md b/keyboards/kumaokobo/kudox_game/keymaps/default/readme.md
index 0fbdb86a94..0fbdb86a94 100644
--- a/keyboards/kudox_game/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/kudox_game/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/kudox_game/keymaps/via/keymap.c b/keyboards/kumaokobo/kudox_game/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b0722bf470
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_game/keymaps/via/keymap.c
@@ -0,0 +1,81 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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.
+enum layer_number {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT(
+ //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
+ //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
+ KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
+ //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
+ LCTL(KC_C),LCTL(KC_V),KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
+ //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,
+ //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
+ KC_LCTL ,TO(_FN1) ,KC_SPC
+ //└──────────┘ └──────────┴──────────┘
+ ),
+
+ [_FN1] = LAYOUT(
+ //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
+ KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,
+ //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
+ KC_GRV ,KC_UP ,KC_PIPE ,KC_LCBR ,KC_RCBR ,
+ //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
+ KC_TRNS ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RIGHT ,KC_LBRC ,KC_RBRC ,
+ //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
+ KC_TRNS ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN ,
+ //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
+ TO(_FN2) ,TO(_BASE) ,KC_TRNS
+ //└──────────┘ └──────────┴──────────┘
+ ),
+
+ [_FN2] = LAYOUT(
+ //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
+ KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,
+ //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
+ RGB_M_P ,RGB_M_SW ,RGB_M_X ,RGB_M_B ,RGB_VAD ,
+ //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
+ KC_TRNS ,KC_TRNS ,RGB_M_SN ,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T ,
+ //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
+ KC_TRNS ,RGB_M_T ,KC_DEL ,RGB_VAI ,RGB_VAD ,
+ //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
+ TO(_FN1) ,RGB_MOD ,RGB_TOG
+ //└──────────┘ └──────────┴──────────┘
+ ),
+
+
+ [_FN3] = LAYOUT(
+ //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────â”
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────â”
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
+ KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
+ //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────â”
+ KC_TRNS ,KC_TRNS ,KC_TRNS
+ //└──────────┘ └──────────┴──────────┘
+ )
+};
+
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_init_user(void) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
+};
+#endif
diff --git a/keyboards/kudox_game/keymaps/via/readme.md b/keyboards/kumaokobo/kudox_game/keymaps/via/readme.md
index 203474736c..203474736c 100644
--- a/keyboards/kudox_game/keymaps/via/readme.md
+++ b/keyboards/kumaokobo/kudox_game/keymaps/via/readme.md
diff --git a/keyboards/lefty/keymaps/via/rules.mk b/keyboards/kumaokobo/kudox_game/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/lefty/keymaps/via/rules.mk
+++ b/keyboards/kumaokobo/kudox_game/keymaps/via/rules.mk
diff --git a/keyboards/kumaokobo/kudox_game/readme.md b/keyboards/kumaokobo/kudox_game/readme.md
new file mode 100644
index 0000000000..6e06be159c
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_game/readme.md
@@ -0,0 +1,26 @@
+# The Kudox Game keyboard
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox.png" alt="Kudox logo" width="600"/>
+</p>
+
+<p align="center">
+<img src="https://raw.githubusercontent.com/kumaokobo/kudox-keyboard/master/img/kudox-game-pcb.jpg" alt="Kudox Game PCB rev1.0" width="600"/>
+</p>
+
+- Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
+- Hardware Supported: Kudox Game PCB rev1.0 rev2.0 w/ Pro Micro
+
+Make example for this keyboard (after setting up your build environment):
+
+```sh
+make kumaokobo/kudox_game/rev2:default
+```
+
+Example of flashing this keyboard:
+
+```sh
+make kumaokobo/kudox_game/rev2: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/kudox_game/rev1/config.h b/keyboards/kumaokobo/kudox_game/rev1/config.h
index b0b9607f4b..b0b9607f4b 100644
--- a/keyboards/kudox_game/rev1/config.h
+++ b/keyboards/kumaokobo/kudox_game/rev1/config.h
diff --git a/keyboards/kudox_game/rev1/info.json b/keyboards/kumaokobo/kudox_game/rev1/info.json
index e5c39fce31..e5c39fce31 100644
--- a/keyboards/kudox_game/rev1/info.json
+++ b/keyboards/kumaokobo/kudox_game/rev1/info.json
diff --git a/keyboards/kudox/rev3/rules.mk b/keyboards/kumaokobo/kudox_game/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kudox/rev3/rules.mk
+++ b/keyboards/kumaokobo/kudox_game/rev1/rules.mk
diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kumaokobo/kudox_game/rev2/config.h
index 37fde91599..37fde91599 100644
--- a/keyboards/kudox_game/rev2/config.h
+++ b/keyboards/kumaokobo/kudox_game/rev2/config.h
diff --git a/keyboards/kudox_game/rev2/info.json b/keyboards/kumaokobo/kudox_game/rev2/info.json
index e811c70d5b..e811c70d5b 100644
--- a/keyboards/kudox_game/rev2/info.json
+++ b/keyboards/kumaokobo/kudox_game/rev2/info.json
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk b/keyboards/kumaokobo/kudox_game/rev2/rules.mk
index 1e3cebb145..1e3cebb145 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk
+++ b/keyboards/kumaokobo/kudox_game/rev2/rules.mk
diff --git a/keyboards/kumaokobo/kudox_game/rules.mk b/keyboards/kumaokobo/kudox_game/rules.mk
new file mode 100644
index 0000000000..569f262b38
--- /dev/null
+++ b/keyboards/kumaokobo/kudox_game/rules.mk
@@ -0,0 +1,14 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+
+DEFAULT_FOLDER = kumaokobo/kudox_game/rev2
diff --git a/keyboards/pico/65keys/config.h b/keyboards/kumaokobo/pico/65keys/config.h
index 04bc8cb2d2..04bc8cb2d2 100644
--- a/keyboards/pico/65keys/config.h
+++ b/keyboards/kumaokobo/pico/65keys/config.h
diff --git a/keyboards/pico/65keys/info.json b/keyboards/kumaokobo/pico/65keys/info.json
index 260b2db1e9..260b2db1e9 100644
--- a/keyboards/pico/65keys/info.json
+++ b/keyboards/kumaokobo/pico/65keys/info.json
diff --git a/keyboards/kumaokobo/pico/65keys/keymaps/default/keymap.c b/keyboards/kumaokobo/pico/65keys/keymaps/default/keymap.c
new file mode 100644
index 0000000000..15e0ff3168
--- /dev/null
+++ b/keyboards/kumaokobo/pico/65keys/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+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_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_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_INT3 ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_GRV ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,KC_CIRC ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
diff --git a/keyboards/pico/65keys/keymaps/default/readme.md b/keyboards/kumaokobo/pico/65keys/keymaps/default/readme.md
index 9f8fa53ebf..9f8fa53ebf 100644
--- a/keyboards/pico/65keys/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/pico/65keys/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/pico/65keys/keymaps/jis/keymap.c b/keyboards/kumaokobo/pico/65keys/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..94767aef90
--- /dev/null
+++ b/keyboards/kumaokobo/pico/65keys/keymaps/jis/keymap.c
@@ -0,0 +1,50 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+#include"keymap_japanese.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+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_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_CIRC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,JP_COLN ,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_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,JP_YEN ,JP_TILD ,_______ ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,JP_GRV ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,JP_UNDS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,_______ ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
diff --git a/keyboards/pico/65keys/keymaps/jis/readme.md b/keyboards/kumaokobo/pico/65keys/keymaps/jis/readme.md
index 49d2aa7b7a..49d2aa7b7a 100644
--- a/keyboards/pico/65keys/keymaps/jis/readme.md
+++ b/keyboards/kumaokobo/pico/65keys/keymaps/jis/readme.md
diff --git a/keyboards/kudox_game/rev1/rules.mk b/keyboards/kumaokobo/pico/65keys/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kudox_game/rev1/rules.mk
+++ b/keyboards/kumaokobo/pico/65keys/rules.mk
diff --git a/keyboards/pico/70keys/config.h b/keyboards/kumaokobo/pico/70keys/config.h
index 04bc8cb2d2..04bc8cb2d2 100644
--- a/keyboards/pico/70keys/config.h
+++ b/keyboards/kumaokobo/pico/70keys/config.h
diff --git a/keyboards/pico/70keys/info.json b/keyboards/kumaokobo/pico/70keys/info.json
index ed3c8163d1..ed3c8163d1 100644
--- a/keyboards/pico/70keys/info.json
+++ b/keyboards/kumaokobo/pico/70keys/info.json
diff --git a/keyboards/kumaokobo/pico/70keys/keymaps/default/keymap.c b/keyboards/kumaokobo/pico/70keys/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fa14063d4b
--- /dev/null
+++ b/keyboards/kumaokobo/pico/70keys/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_ESC ,KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,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_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_INT3 ,KC_BSLS ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_GRV ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,KC_CIRC ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
diff --git a/keyboards/pico/70keys/keymaps/default/readme.md b/keyboards/kumaokobo/pico/70keys/keymaps/default/readme.md
index 0b9a978d7d..0b9a978d7d 100644
--- a/keyboards/pico/70keys/keymaps/default/readme.md
+++ b/keyboards/kumaokobo/pico/70keys/keymaps/default/readme.md
diff --git a/keyboards/kumaokobo/pico/70keys/keymaps/jis/keymap.c b/keyboards/kumaokobo/pico/70keys/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..2d9414cced
--- /dev/null
+++ b/keyboards/kumaokobo/pico/70keys/keymaps/jis/keymap.c
@@ -0,0 +1,50 @@
+// Copyright Kumao Kobo <kumaokobo@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
+
+#include QMK_KEYBOARD_H
+#include"keymap_japanese.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 _SYMB 1
+
+// Shortcut to make keymap more readable
+#define SYM_L MO(_SYMB)
+#define KC_ALES LALT_T(KC_ESC)
+#define KC_L1SYM LT(_SYMB, KC_LNG1)
+#define KC_L2SYM LT(_SYMB, KC_LNG2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,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_BSPC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_CIRC ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL ,KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,JP_COLN ,KC_ENT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ KC_LSFT ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ KC_ALES ,KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ ),
+
+ [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,JP_YEN ,JP_TILD ,_______ ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,JP_GRV ,KC_MINS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,JP_UNDS ,_______ ,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,_______ ,KC_GT
+ //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
+ )
+
+};
diff --git a/keyboards/pico/70keys/keymaps/jis/readme.md b/keyboards/kumaokobo/pico/70keys/keymaps/jis/readme.md
index dda39dfb82..dda39dfb82 100644
--- a/keyboards/pico/70keys/keymaps/jis/readme.md
+++ b/keyboards/kumaokobo/pico/70keys/keymaps/jis/readme.md
diff --git a/keyboards/lefty/rev1/rules.mk b/keyboards/kumaokobo/pico/70keys/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/lefty/rev1/rules.mk
+++ b/keyboards/kumaokobo/pico/70keys/rules.mk
diff --git a/keyboards/pico/config.h b/keyboards/kumaokobo/pico/config.h
index ba80a92797..ba80a92797 100644
--- a/keyboards/pico/config.h
+++ b/keyboards/kumaokobo/pico/config.h
diff --git a/keyboards/kumaokobo/pico/readme.md b/keyboards/kumaokobo/pico/readme.md
new file mode 100644
index 0000000000..b54c42941e
--- /dev/null
+++ b/keyboards/kumaokobo/pico/readme.md
@@ -0,0 +1,24 @@
+# Pico keyboard
+
+A split keyboard kit designed for small hands.
+Pico adopted the footprint for [Kailh Mid-Height](http://www.kailh.com/en/Products/Ks/KHS/) smaller than Cherry MX compatible switches.
+
+* Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
+* Hardware Supported: Pico PCB rev1.0 w/ Pro Micro
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kumaokobo/pico/65keys:default
+
+## 65 keys
+<p align="center">
+ <img src="https://raw.githubusercontent.com/kumaokobo/pico-keyboard/master/img/pico-keyboard.jpg" alt="Pico Keyboard 65 keys" width="600"/>
+</p>
+
+## 70 keys
+<p align="center">
+ <img src="https://raw.githubusercontent.com/kumaokobo/pico-keyboard/master/img/pico-keyboard2.jpg" alt="Pico Keyboard 70 keys" width="600"/>
+</p>
+
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/kumaokobo/pico/rules.mk b/keyboards/kumaokobo/pico/rules.mk
new file mode 100644
index 0000000000..11fe77d618
--- /dev/null
+++ b/keyboards/kumaokobo/pico/rules.mk
@@ -0,0 +1,16 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+
+SPLIT_KEYBOARD = yes
+
+DEFAULT_FOLDER = kumaokobo/pico/65keys
diff --git a/keyboards/kuro/kuro65/config.h b/keyboards/kuro/kuro65/config.h
index f782e9069b..6e256f7b2e 100644
--- a/keyboards/kuro/kuro65/config.h
+++ b/keyboards/kuro/kuro65/config.h
@@ -16,65 +16,4 @@
#pragma once
-
-/* RGB Matrix defines*/
-#ifdef RGB_MATRIX_ENABLE
-// The number of LEDs connected
-# define RGB_MATRIX_LED_COUNT 69
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define USB_SUSPEND_WAKEUP_DELAY 5000
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#endif
+#define USB_SUSPEND_WAKEUP_DELAY 5000
diff --git a/keyboards/kuro/kuro65/info.json b/keyboards/kuro/kuro65/info.json
index c91a34f55c..fc89b989d3 100644
--- a/keyboards/kuro/kuro65/info.json
+++ b/keyboards/kuro/kuro65/info.json
@@ -115,6 +115,54 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [4, 6], "x": 96, "y": 64},
@@ -186,6 +234,9 @@
{"flags": 4, "matrix": [0, 12], "x": 180, "y": 0},
{"flags": 4, "matrix": [0, 14], "x": 203, "y": 0},
{"flags": 4, "matrix": [0, 15], "x": 224, "y": 0}
- ]
+ ],
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
}
}
diff --git a/keyboards/kuro/kuro65/keymaps/0x544d/keymap.c b/keyboards/kuro/kuro65/keymaps/0x544d/keymap.c
deleted file mode 100644
index bc7986f557..0000000000
--- a/keyboards/kuro/kuro65/keymaps/0x544d/keymap.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright 2023 Tobias Minn (0x544D)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- BL_WIN,
- BL_MAC,
- FN1,
- FN2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* ISO 65 layout by 0x544D (ISO German keyboard layout shown)
- *
- * ,-----------------------------------------------------------------------------------------------.
- * | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Backspace | Del |
- * |-----------------------------------------------------------------------------------------------|
- * | Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + * | Enter | PgU |
- * |---------------------------------------------------------------------------------- |-----|
- * | MO(2) | A | S | D | F | G | H | J | K | L | Ö | Ä | # ' | | PgD |
- * |-----------------------------------------------------------------------------------------------|
- * | Shift | < > | Y | X | C | V | B | N | M | , ; | . : | - _ | Shift | Up | Del |
- * |-----------------------------------------------------------------------------------------------|
- * | LCtl | LGUI | LAlt | Space |RAlt |MO(1)|RCtl | Lft | Dwn | Rgh |
- * `-----------------------------------------------------------------------------------------------'
- */
- [BL_WIN] = LAYOUT_65_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [BL_MAC] = LAYOUT_65_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
- MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Funtion Layer 1: Media Controls with arrow keys / RShift (Play Pause), F keys,
- * RGB matrix control
- * ,-----------------------------------------------------------------------------------------------.
- * | °^ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |Home |
- * |-----------------------------------------------------------------------------------------------|
- * | |RGB_T|RGB+ |RGB- |HUE+ |HUE- |SAT+ |SAT- |BGH+ |BGH- | | | | |Home |
- * |---------------------------------------------------------------------------------- |-----|
- * | | | | | | | | | | | | | | | End |
- * |-----------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | MPlay |Vol_U| End |
- * |-----------------------------------------------------------------------------------------------|
- * | | | | | |Trans| | MPrv|Vol_D| MNxt|
- * `-----------------------------------------------------------------------------------------------'
- */
- [FN1] = LAYOUT_65_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_HOME,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_VOLU, KC_END,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_MPRV, KC_VOLD, KC_MNXT
- ),
-
-
- /* Funtion Layer 2: Media Controls left hand, F keys, Page up/down, Home/end, Program/RESET
- * ,-----------------------------------------------------------------------------------------------.
- * | °^ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |Home |
- * |-----------------------------------------------------------------------------------------------|
- * | | |Vol_D|Vol_U| | | | | | |RESET| | | |Home |
- * |---------------------------------------------------------------------------------- |-----|
- * | Trans |MPrv |MPlay| MNxt| | | | | | | | | | | End |
- * |-----------------------------------------------------------------------------------------------|
- * | | | | | | | | |TG(1)| | | | |PGUP | End |
- * |-----------------------------------------------------------------------------------------------|
- * | | | | | | | | Home|PGDN | End |
- * `-----------------------------------------------------------------------------------------------'
- */
- [FN2] = LAYOUT_65_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_HOME,
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_END,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END
- )
-
-}; \ No newline at end of file
diff --git a/keyboards/kuro/kuro65/keymaps/0x544d/rules.mk b/keyboards/kuro/kuro65/keymaps/0x544d/rules.mk
deleted file mode 100644
index 1821917788..0000000000
--- a/keyboards/kuro/kuro65/keymaps/0x544d/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes # enable VIA support \ No newline at end of file
diff --git a/keyboards/kwstudio/scorpio/config.h b/keyboards/kwstudio/scorpio/config.h
deleted file mode 100644
index 2f136dd001..0000000000
--- a/keyboards/kwstudio/scorpio/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 kwstudio
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 WS2812_PIO_USE_PIO1
-
diff --git a/keyboards/kwub/bloop/keymaps/crispyy/keymap.c b/keyboards/kwub/bloop/keymaps/crispyy/keymap.c
deleted file mode 100644
index 1b4f2a3ab4..0000000000
--- a/keyboards/kwub/bloop/keymaps/crispyy/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2021 Kwabena Aduse-Poku (Kwub)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 keyboard_layers {
- _BL = 0, // Base layer
- _FL, // Function
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [_BL]= LAYOUT_625_split_bs(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLU,
- 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_VOLD,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FL), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FL]= LAYOUT_625_split_bs(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_VOLU, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT)
-};
diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h
index 0a7038363d..087f4d7675 100644
--- a/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h
+++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h
@@ -18,7 +18,7 @@
// ws2812 options
#define WS2812_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to
-#define RGBLED_NUM 4 // number of LEDs
+#define RGBLIGHT_LED_COUNT 4 // number of LEDs
#define RGBLIGHT_DEFAULT_MODE 6 // set the rainbow mode
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation
diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h
index a06078bce1..3aa0db7e38 100644
--- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h
+++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h
@@ -17,8 +17,8 @@
// ws2812 options
#define WS2812_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to
-#define RGBLED_NUM 4 // number of LEDs
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
+#define RGBLIGHT_LED_COUNT 4 // number of LEDs
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/lpad/config.h b/keyboards/laneware/lpad/config.h
index ce4da1d32e..ce4da1d32e 100644
--- a/keyboards/lpad/config.h
+++ b/keyboards/laneware/lpad/config.h
diff --git a/keyboards/lpad/info.json b/keyboards/laneware/lpad/info.json
index 0d8016f842..0d8016f842 100644
--- a/keyboards/lpad/info.json
+++ b/keyboards/laneware/lpad/info.json
diff --git a/keyboards/lpad/keymaps/default/keymap.c b/keyboards/laneware/lpad/keymaps/default/keymap.c
index 63fd98f6eb..63fd98f6eb 100644
--- a/keyboards/lpad/keymaps/default/keymap.c
+++ b/keyboards/laneware/lpad/keymaps/default/keymap.c
diff --git a/keyboards/lpad/keymaps/via/keymap.c b/keyboards/laneware/lpad/keymaps/via/keymap.c
index be180d058e..be180d058e 100644
--- a/keyboards/lpad/keymaps/via/keymap.c
+++ b/keyboards/laneware/lpad/keymaps/via/keymap.c
diff --git a/keyboards/lw75/keymaps/via/rules.mk b/keyboards/laneware/lpad/keymaps/via/rules.mk
index f1adcab005..f1adcab005 100644
--- a/keyboards/lw75/keymaps/via/rules.mk
+++ b/keyboards/laneware/lpad/keymaps/via/rules.mk
diff --git a/keyboards/laneware/lpad/readme.md b/keyboards/laneware/lpad/readme.md
new file mode 100644
index 0000000000..2a2e8b5672
--- /dev/null
+++ b/keyboards/laneware/lpad/readme.md
@@ -0,0 +1,27 @@
+# LPAD
+
+![LPAD](https://i.imgur.com/bQgqZC6h.jpg)
+
+A Macro Keyboard with a RHS rotary encoder, made and sold by Laneware Peripherals.
+
+* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
+* Hardware Supported: LPAD
+* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laneware/lpad:default
+
+Flashing example for this keyboard:
+
+ make laneware/lpad:default:flash
+
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the Top Left Switch and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lpad/rules.mk b/keyboards/laneware/lpad/rules.mk
index 524fa11adc..524fa11adc 100644
--- a/keyboards/lpad/rules.mk
+++ b/keyboards/laneware/lpad/rules.mk
diff --git a/keyboards/lw67/config.h b/keyboards/laneware/lw67/config.h
index c9f23257a3..c9f23257a3 100644
--- a/keyboards/lw67/config.h
+++ b/keyboards/laneware/lw67/config.h
diff --git a/keyboards/lw67/info.json b/keyboards/laneware/lw67/info.json
index e9bba7c858..e9bba7c858 100644
--- a/keyboards/lw67/info.json
+++ b/keyboards/laneware/lw67/info.json
diff --git a/keyboards/lw67/keymaps/ansi_split_backspace/keymap.c b/keyboards/laneware/lw67/keymaps/ansi_split_backspace/keymap.c
index 4d89777d88..4d89777d88 100644
--- a/keyboards/lw67/keymaps/ansi_split_backspace/keymap.c
+++ b/keyboards/laneware/lw67/keymaps/ansi_split_backspace/keymap.c
diff --git a/keyboards/laneware/lw67/keymaps/default/keymap.c b/keyboards/laneware/lw67/keymaps/default/keymap.c
new file mode 100644
index 0000000000..97e947fb01
--- /dev/null
+++ b/keyboards/laneware/lw67/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
+// Copyright 2023 Laneware Peripherals
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
+
diff --git a/keyboards/laneware/lw67/keymaps/iso/keymap.c b/keyboards/laneware/lw67/keymaps/iso/keymap.c
new file mode 100644
index 0000000000..8e26843868
--- /dev/null
+++ b/keyboards/laneware/lw67/keymaps/iso/keymap.c
@@ -0,0 +1,28 @@
+// Copyright 2023 Laneware Peripherals
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_DEL, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_iso(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_iso(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
+
diff --git a/keyboards/lw67/keymaps/iso_split_backspace/keymap.c b/keyboards/laneware/lw67/keymaps/iso_split_backspace/keymap.c
index a1349af56b..a1349af56b 100644
--- a/keyboards/lw67/keymaps/iso_split_backspace/keymap.c
+++ b/keyboards/laneware/lw67/keymaps/iso_split_backspace/keymap.c
diff --git a/keyboards/laneware/lw67/keymaps/via/keymap.c b/keyboards/laneware/lw67/keymaps/via/keymap.c
new file mode 100644
index 0000000000..73d2640f17
--- /dev/null
+++ b/keyboards/laneware/lw67/keymaps/via/keymap.c
@@ -0,0 +1,34 @@
+// Copyright 2023 Laneware Peripherals
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso_splitbs(
+ 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_GRAVE, KC_BSPC, KC_MPLY,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_DEL, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_iso_splitbs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_iso_splitbs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT_iso_splitbs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
diff --git a/keyboards/era/klein/keymaps/via/rules.mk b/keyboards/laneware/lw67/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/era/klein/keymaps/via/rules.mk
+++ b/keyboards/laneware/lw67/keymaps/via/rules.mk
diff --git a/keyboards/laneware/lw67/readme.md b/keyboards/laneware/lw67/readme.md
new file mode 100644
index 0000000000..de59992d43
--- /dev/null
+++ b/keyboards/laneware/lw67/readme.md
@@ -0,0 +1,22 @@
+# LW-67
+
+![LW67](https://i.imgur.com/mcM1TTi.jpg)
+
+A 65% Keyboard with a LHS rotary encoder, made and sold by Laneware Peripherals.
+
+* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
+* Hardware Supported: Macro-1
+* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laneware/lw67:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lw67/rules.mk b/keyboards/laneware/lw67/rules.mk
index 131aa72aeb..131aa72aeb 100644
--- a/keyboards/lw67/rules.mk
+++ b/keyboards/laneware/lw67/rules.mk
diff --git a/keyboards/lw75/config.h b/keyboards/laneware/lw75/config.h
index ce4da1d32e..ce4da1d32e 100644
--- a/keyboards/lw75/config.h
+++ b/keyboards/laneware/lw75/config.h
diff --git a/keyboards/lw75/info.json b/keyboards/laneware/lw75/info.json
index bb9aceb95f..bb9aceb95f 100644
--- a/keyboards/lw75/info.json
+++ b/keyboards/laneware/lw75/info.json
diff --git a/keyboards/lw75/keymaps/ansi_split_backspace/keymap.c b/keyboards/laneware/lw75/keymaps/ansi_split_backspace/keymap.c
index 6f8a8b03ca..6f8a8b03ca 100644
--- a/keyboards/lw75/keymaps/ansi_split_backspace/keymap.c
+++ b/keyboards/laneware/lw75/keymaps/ansi_split_backspace/keymap.c
diff --git a/keyboards/lw75/keymaps/default/keymap.c b/keyboards/laneware/lw75/keymaps/default/keymap.c
index b66e50460d..b66e50460d 100644
--- a/keyboards/lw75/keymaps/default/keymap.c
+++ b/keyboards/laneware/lw75/keymaps/default/keymap.c
diff --git a/keyboards/lw75/keymaps/iso/keymap.c b/keyboards/laneware/lw75/keymaps/iso/keymap.c
index b6cba59175..b6cba59175 100644
--- a/keyboards/lw75/keymaps/iso/keymap.c
+++ b/keyboards/laneware/lw75/keymaps/iso/keymap.c
diff --git a/keyboards/lw75/keymaps/iso_split_backspace/keymap.c b/keyboards/laneware/lw75/keymaps/iso_split_backspace/keymap.c
index d8b3b551ef..d8b3b551ef 100644
--- a/keyboards/lw75/keymaps/iso_split_backspace/keymap.c
+++ b/keyboards/laneware/lw75/keymaps/iso_split_backspace/keymap.c
diff --git a/keyboards/lw75/keymaps/via/keymap.c b/keyboards/laneware/lw75/keymaps/via/keymap.c
index b7e64cbcb7..b7e64cbcb7 100644
--- a/keyboards/lw75/keymaps/via/keymap.c
+++ b/keyboards/laneware/lw75/keymaps/via/keymap.c
diff --git a/keyboards/laneware/lw75/keymaps/via/rules.mk b/keyboards/laneware/lw75/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/laneware/lw75/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/laneware/lw75/readme.md b/keyboards/laneware/lw75/readme.md
new file mode 100644
index 0000000000..5b28204ada
--- /dev/null
+++ b/keyboards/laneware/lw75/readme.md
@@ -0,0 +1,25 @@
+# LW-75
+
+![LW75](https://i.imgur.com/JczcWsmh.jpg)
+
+A 75% Keyboard with a LHS rotary encoder, made and sold by Laneware Peripherals.
+
+* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
+* Hardware Supported: LW-75
+* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laneware/lw75:default
+
+Flashing example for this keyboard:
+ make laneware/lw75:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lw75/rules.mk b/keyboards/laneware/lw75/rules.mk
index 131aa72aeb..131aa72aeb 100644
--- a/keyboards/lw75/rules.mk
+++ b/keyboards/laneware/lw75/rules.mk
diff --git a/keyboards/macro1/config.h b/keyboards/laneware/macro1/config.h
index 30b3906f0d..30b3906f0d 100644
--- a/keyboards/macro1/config.h
+++ b/keyboards/laneware/macro1/config.h
diff --git a/keyboards/macro1/info.json b/keyboards/laneware/macro1/info.json
index dd22627031..dd22627031 100644
--- a/keyboards/macro1/info.json
+++ b/keyboards/laneware/macro1/info.json
diff --git a/keyboards/laneware/macro1/keymaps/default/keymap.c b/keyboards/laneware/macro1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bee64a99e5
--- /dev/null
+++ b/keyboards/laneware/macro1/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+// Copyright 2023 Laneware Peripherals
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+/*
+ * ┌───┠┌───┬───â”
+ * │K00│ │K02│K03│
+ * └───┘ └───┴───┘
+ * ┌───┬───┬───┬───â”
+ * │K10│K11│K12│K13│
+ * ├───┼───┼───┼───┤
+ * │K20│K21│K22│K23│
+ * ├───┼───┼───┤ │
+ * │K30│K31│K32│ │
+ * ├───┼───┼───┼───┤
+ * │K40│K41│K42│K43│
+ * ├───┴───┼───┤ │
+ * │K50 │K52│ │
+ * └───────┴───┴───┘
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_numpad(
+ KC_MUTE, KC_MPLY, KC_BSPC,
+ KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
+ KC_KP_4, KC_KP_5, KC_KP_6,
+ KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
+ KC_KP_0, KC_KP_DOT)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}
+};
+#endif
+
+
diff --git a/keyboards/macro1/keymaps/macropad/keymap.c b/keyboards/laneware/macro1/keymaps/macropad/keymap.c
index 68566fb53f..68566fb53f 100644
--- a/keyboards/macro1/keymaps/macropad/keymap.c
+++ b/keyboards/laneware/macro1/keymaps/macropad/keymap.c
diff --git a/keyboards/macro1/keymaps/southpaw/keymap.c b/keyboards/laneware/macro1/keymaps/southpaw/keymap.c
index b8c6bfb339..b8c6bfb339 100644
--- a/keyboards/macro1/keymaps/southpaw/keymap.c
+++ b/keyboards/laneware/macro1/keymaps/southpaw/keymap.c
diff --git a/keyboards/laneware/macro1/keymaps/via/keymap.c b/keyboards/laneware/macro1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..3e18339208
--- /dev/null
+++ b/keyboards/laneware/macro1/keymaps/via/keymap.c
@@ -0,0 +1,90 @@
+// Copyright 2023 Laneware Peripherals
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+/*
+ * ┌───┠┌───┬───â”
+ * │K00│ │K02│K03│
+ * └───┘ └───┴───┘
+ * ┌───┬───┬───┬───â”
+ * │K10│K11│K12│K13│
+ * ├───┼───┼───┼───┤
+ * │K20│K21│K22│K23│
+ * ├───┼───┼───┤ │
+ * │K30│K31│K32│ │
+ * ├───┼───┼───┼───┤
+ * │K40│K41│K42│K43│
+ * ├───┴───┼───┤ │
+ * │K50 │K52│ │
+ * └───────┴───┴───┘
+ */
+
+ /*
+ * ┌───┠┌───┬───â”
+ * │K00│ │K02│K03│
+ * └───┘ └───┴───┘
+ * ┌───┬───┬───┬───â”
+ * │K10│K11│K12│K13│
+ * ├───┼───┼───┼───┤
+ * │K20│K21│K22│K23│
+ * │ ├───┼───┼───┤
+ * │ │K31│K32│K33│
+ * ├───┼───┼───┼───┤
+ * │K40│K41│K42│K43│
+ * │ ├───┼───┴───┤
+ * │ │K51│K52 │
+ * └───┴───┴───────┘
+ */
+
+/*
+ * ┌───┠┌───┬───â”
+ * │K00│ │K01│K02│
+ * └───┘ └───┴───┘
+ * ┌───┬───┬───┬───â”
+ * │K10│K11│K12│K13│
+ * ├───┼───┼───┼───┤
+ * │K20│K21│K22│K23│
+ * ├───┼───┼───┼───┤
+ * │K30│K31│K32│K33│
+ * ├───┼───┼───┼───┤
+ * │K40│K41│K42│K43│
+ * ├───┼───┼───┼───┤
+ * │K50│K51│K52│K53│
+ * └───┴───┴───┴───┘
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_numpad(
+ KC_MUTE, KC_MPLY, KC_BSPC,
+ KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
+ KC_KP_4, KC_KP_5, KC_KP_6,
+ KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
+ KC_KP_0, KC_KP_DOT),
+
+ [1] = LAYOUT_numpad(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_numpad(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT_numpad(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS), };
+
diff --git a/keyboards/lw67/keymaps/via/rules.mk b/keyboards/laneware/macro1/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/lw67/keymaps/via/rules.mk
+++ b/keyboards/laneware/macro1/keymaps/via/rules.mk
diff --git a/keyboards/laneware/macro1/readme.md b/keyboards/laneware/macro1/readme.md
new file mode 100644
index 0000000000..c89ceb0d88
--- /dev/null
+++ b/keyboards/laneware/macro1/readme.md
@@ -0,0 +1,22 @@
+# Macro-1
+
+![Macro-1](https://i.imgur.com/pnTgKuTh.jpeg)
+
+A versitile numpad/macropad (14x6) with a rotary encoder, made and sold by Laneware Peripherals.
+
+* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
+* Hardware Supported: Macro-1
+* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laneware/macro1:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/macro1/rules.mk b/keyboards/laneware/macro1/rules.mk
index f0a88209b6..f0a88209b6 100644
--- a/keyboards/macro1/rules.mk
+++ b/keyboards/laneware/macro1/rules.mk
diff --git a/keyboards/raindrop/config.h b/keyboards/laneware/raindrop/config.h
index 1f083ec616..1f083ec616 100644
--- a/keyboards/raindrop/config.h
+++ b/keyboards/laneware/raindrop/config.h
diff --git a/keyboards/raindrop/info.json b/keyboards/laneware/raindrop/info.json
index bc67d437fa..bc67d437fa 100644
--- a/keyboards/raindrop/info.json
+++ b/keyboards/laneware/raindrop/info.json
diff --git a/keyboards/raindrop/keymaps/arrows/keymap.c b/keyboards/laneware/raindrop/keymaps/arrows/keymap.c
index a13614f751..a13614f751 100644
--- a/keyboards/raindrop/keymaps/arrows/keymap.c
+++ b/keyboards/laneware/raindrop/keymaps/arrows/keymap.c
diff --git a/keyboards/raindrop/keymaps/default/keymap.c b/keyboards/laneware/raindrop/keymaps/default/keymap.c
index 8456863bb0..8456863bb0 100644
--- a/keyboards/raindrop/keymaps/default/keymap.c
+++ b/keyboards/laneware/raindrop/keymaps/default/keymap.c
diff --git a/keyboards/raindrop/keymaps/hhkb/keymap.c b/keyboards/laneware/raindrop/keymaps/hhkb/keymap.c
index b08984c9aa..b08984c9aa 100644
--- a/keyboards/raindrop/keymaps/hhkb/keymap.c
+++ b/keyboards/laneware/raindrop/keymaps/hhkb/keymap.c
diff --git a/keyboards/raindrop/matrix_diagram.md b/keyboards/laneware/raindrop/matrix_diagram.md
index 4ba15ecabc..4ba15ecabc 100644
--- a/keyboards/raindrop/matrix_diagram.md
+++ b/keyboards/laneware/raindrop/matrix_diagram.md
diff --git a/keyboards/laneware/raindrop/readme.md b/keyboards/laneware/raindrop/readme.md
new file mode 100644
index 0000000000..f0354d3859
--- /dev/null
+++ b/keyboards/laneware/raindrop/readme.md
@@ -0,0 +1,38 @@
+# Raindrop
+
+![stacked](https://i.imgur.com/R2iPqjIh.png)
+*Casing*
+![PCB Front](https://i.imgur.com/00TpL3nh.png)
+*PCB Front*
+
+60% sized keyboard with a gasket mounted plate and aluminium case, made by Laneware Peripherals.
+
+* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
+* Hardware Supported: Raindrop PCB
+* Hardware Availability: Group Buy
+
+## Layouts
+The Raindrop PCB can be configured in the following key layouts:
+| Key Layout | Keymap | Diagram |
+| :---: | :---: | :---: |
+| Standard 60% | default | ![diagram_ansi](https://i.imgur.com/oibG44o.png) |
+| 2u Left Shift with Arrow Keys | arrows | ![diagram_arrows](https://i.imgur.com/cQ4Kwb5h.png) |
+| HHKB with 6.25 Spacebar | hhkb | ![diagram_hhkb](https://i.imgur.com/WU6gb1Qh.png) |
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laneware/raindrop:default
+
+Flashing example for this keyboard:
+
+ make laneware/raindrop:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/lefty/rev2/rules.mk b/keyboards/laneware/raindrop/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/lefty/rev2/rules.mk
+++ b/keyboards/laneware/raindrop/rules.mk
diff --git a/keyboards/laser_ninja/pumpkin_pad/config.h b/keyboards/laser_ninja/pumpkin_pad/config.h
deleted file mode 100644
index f42e9c1025..0000000000
--- a/keyboards/laser_ninja/pumpkin_pad/config.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright 2022 Joah Nelson (Jels)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 28
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#endif
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkin_pad/info.json
deleted file mode 100644
index cb76145388..0000000000
--- a/keyboards/laser_ninja/pumpkin_pad/info.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "keyboard_name": "Pumpkin Pad",
- "manufacturer": "Laser Ninja",
- "url": "",
- "maintainer": "Jels",
- "processor": "STM32F072",
- "bootloader": "stm32-dfu",
- "features": {
- "bootmagic": true,
- "command": false,
- "console": false,
- "extrakey": false,
- "mousekey": false,
- "nkro": false,
- "rgb_matrix": true
- },
- "matrix_pins": {
- "direct": [
- ["A9", "B3", "B9", "NO_PIN"],
- ["A8", "B12", "A2", "A1"],
- ["B15", "B14", "B13", "NO_PIN"]
- ]
- },
- "usb": {
- "vid": "0x6C6E",
- "pid": "0x7070",
- "device_version": "0.0.1"
- },
- "ws2812": {
- "pin": "A10"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0.5, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [2, 0], "x": 0.5, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2},
- {"matrix": [2, 2], "x": 2.5, "y": 2}
- ]
- }
- },
- "rgb_matrix": {
- "driver": "ws2812",
- "layout": [
- {"flags": 2, "x": 36, "y": 3},
- {"flags": 2, "x": 86, "y": 2},
- {"flags": 2, "x": 138, "y": 2},
- {"flags": 2, "x": 188, "y": 2},
- {"flags": 2, "x": 215, "y": 16},
- {"flags": 2, "x": 215, "y": 16},
- {"flags": 4, "matrix": [0, 2], "x": 167, "y": 17},
- {"flags": 4, "matrix": [0, 1], "x": 112, "y": 17},
- {"flags": 4, "matrix": [0, 0], "x": 57, "y": 17},
- {"flags": 2, "x": 9, "y": 15},
- {"flags": 2, "x": 9, "y": 15},
- {"flags": 2, "x": 6, "y": 34},
- {"flags": 2, "x": 9, "y": 48},
- {"flags": 2, "x": 9, "y": 48},
- {"flags": 4, "matrix": [1, 0], "x": 29, "y": 38},
- {"flags": 4, "matrix": [1, 1], "x": 84, "y": 38},
- {"flags": 4, "matrix": [1, 2], "x": 140, "y": 38},
- {"flags": 2, "x": 218, "y": 34},
- {"flags": 2, "x": 215, "y": 48},
- {"flags": 2, "x": 215, "y": 48},
- {"flags": 2, "x": 188, "y": 61},
- {"flags": 4, "matrix": [2, 2], "x": 167, "y": 59},
- {"flags": 2, "x": 138, "y": 61},
- {"flags": 4, "matrix": [2, 1], "x": 112, "y": 59},
- {"flags": 2, "x": 86, "y": 61},
- {"flags": 4, "matrix": [2, 0], "x": 57, "y": 59},
- {"flags": 2, "x": 36, "y": 61}
- ]
- }
-}
diff --git a/keyboards/laser_ninja/pumpkin_pad/readme.md b/keyboards/laser_ninja/pumpkin_pad/readme.md
deleted file mode 100644
index 452f4f6723..0000000000
--- a/keyboards/laser_ninja/pumpkin_pad/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Pumpkin Pad
-
-![pumpkin-pad](https://i.imgur.com/jFkl9rwh.jpg)
-
-A 60% PCB
-
-- Keyboard Maintainer: [Jels](https://github.com/Jels02)
-- Hardware Supported: Pumpkin Pad PCB
-- Hardware Availabililty: [Laser_Ninja](https://kennui.com/w/Laser_Ninja)
-
-Make example for this keyboard (after setting up your build environment):
-
- make laser_ninja/pumpkin_pad:default
-
-Flashing example for this keyboard:
-
- make laser_ninja/pumpkin_pad:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-- **Bootmagic reset**: Hold down the top left key and plug in the keyboard
-- **Physical reset button**: Briefly press the button on the back of the PCB
-- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/laser_ninja/pumpkinpad/config.h b/keyboards/laser_ninja/pumpkinpad/config.h
new file mode 100644
index 0000000000..fbb4aaafce
--- /dev/null
+++ b/keyboards/laser_ninja/pumpkinpad/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Joah Nelson (Jels)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* 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/laser_ninja/pumpkinpad/info.json b/keyboards/laser_ninja/pumpkinpad/info.json
new file mode 100644
index 0000000000..3908e99fc2
--- /dev/null
+++ b/keyboards/laser_ninja/pumpkinpad/info.json
@@ -0,0 +1,112 @@
+{
+ "keyboard_name": "Pumpkinpad",
+ "manufacturer": "Laser Ninja",
+ "url": "",
+ "maintainer": "Jels",
+ "processor": "STM32F072",
+ "bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": false,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["A9", "B3", "B9", "NO_PIN"],
+ ["A8", "B12", "A2", "A1"],
+ ["B15", "B14", "B13", "NO_PIN"]
+ ]
+ },
+ "usb": {
+ "vid": "0x6C6E",
+ "pid": "0x7070",
+ "device_version": "0.0.1"
+ },
+ "ws2812": {
+ "pin": "A10"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0.5, "y": 0},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [2, 0], "x": 0.5, "y": 2},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2}
+ ]
+ }
+ },
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"flags": 2, "x": 36, "y": 3},
+ {"flags": 2, "x": 86, "y": 2},
+ {"flags": 2, "x": 138, "y": 2},
+ {"flags": 2, "x": 188, "y": 2},
+ {"flags": 2, "x": 215, "y": 16},
+ {"flags": 2, "x": 215, "y": 16},
+ {"flags": 4, "matrix": [0, 2], "x": 167, "y": 17},
+ {"flags": 4, "matrix": [0, 1], "x": 112, "y": 17},
+ {"flags": 4, "matrix": [0, 0], "x": 57, "y": 17},
+ {"flags": 2, "x": 9, "y": 15},
+ {"flags": 2, "x": 9, "y": 15},
+ {"flags": 2, "x": 6, "y": 34},
+ {"flags": 2, "x": 9, "y": 48},
+ {"flags": 2, "x": 9, "y": 48},
+ {"flags": 4, "matrix": [1, 0], "x": 29, "y": 38},
+ {"flags": 4, "matrix": [1, 1], "x": 84, "y": 38},
+ {"flags": 4, "matrix": [1, 2], "x": 140, "y": 38},
+ {"flags": 2, "x": 218, "y": 34},
+ {"flags": 2, "x": 215, "y": 48},
+ {"flags": 2, "x": 215, "y": 48},
+ {"flags": 2, "x": 188, "y": 61},
+ {"flags": 4, "matrix": [2, 2], "x": 167, "y": 59},
+ {"flags": 2, "x": 138, "y": 61},
+ {"flags": 4, "matrix": [2, 1], "x": 112, "y": 59},
+ {"flags": 2, "x": 86, "y": 61},
+ {"flags": 4, "matrix": [2, 0], "x": 57, "y": 59},
+ {"flags": 2, "x": 36, "y": 61}
+ ],
+ "max_brightness": 200
+ }
+}
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c
index 8b60519b90..8b60519b90 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c
index a63a5a0047..a63a5a0047 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c
diff --git a/keyboards/mnk1800s/keymaps/via/rules.mk b/keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100755..100644
--- a/keyboards/mnk1800s/keymaps/via/rules.mk
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk
diff --git a/keyboards/laser_ninja/pumpkinpad/readme.md b/keyboards/laser_ninja/pumpkinpad/readme.md
new file mode 100644
index 0000000000..a5739029e7
--- /dev/null
+++ b/keyboards/laser_ninja/pumpkinpad/readme.md
@@ -0,0 +1,23 @@
+# Pumpkinpad
+
+![pumpkinpad](https://i.imgur.com/jFkl9rwh.jpg)
+
+A 60% PCB
+
+- Keyboard Maintainer: [Jels](https://github.com/Jels02)
+- Hardware Supported: Pumpkinpad PCB
+- Hardware Availabililty: [Laser_Ninja](https://kennui.com/w/Laser_Ninja)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make laser_ninja/pumpkinpad:default
+
+Flashing example for this keyboard:
+
+ make laser_ninja/pumpkinpad:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+- **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+- **Physical reset button**: Briefly press the button on the back of the PCB
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/laser_ninja/pumpkin_pad/rules.mk b/keyboards/laser_ninja/pumpkinpad/rules.mk
index 08a1c1568c..08a1c1568c 100644
--- a/keyboards/laser_ninja/pumpkin_pad/rules.mk
+++ b/keyboards/laser_ninja/pumpkinpad/rules.mk
diff --git a/keyboards/late9/readme.md b/keyboards/late9/readme.md
deleted file mode 100644
index 1d85e788fb..0000000000
--- a/keyboards/late9/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# LATE-9
-
-
-The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '90s. LATE-9 is intended as a dev board with 18 buttons and an OLED screen, made by through-hole components only. With this, you can experiment QMK OLED capabilities with very little expense.
-
-![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto")
-
-See the project repository for gerbers.
-
-* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy)
-* Hardware supported: ProMicro, _Elite-C (not tested)_
-* Project repository: [LATE-9 on github](https://github.com/rookiebwoy/late-9)
-
-Make example for this keyboard (after setting up your build environment):
-
- make late9/rev1:default
-
-Flashing example for this keyboard:
-
- make late9/rev1:default:flash
-
-
-When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device.
-After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json
deleted file mode 100644
index 05d0934b96..0000000000
--- a/keyboards/late9/rev1/info.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "keyboard_name": "LATE-9",
- "manufacturer": "rookiebwoy",
- "url": "https://github.com/rookiebwoy/late-9)",
- "maintainer": "rookiebwoy",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x3777",
- "device_version": "0.1.0"
- },
- "tapping": {
- "term": 400
- },
- "build": {
- "debounce_type": "sym_eager_pk"
- },
- "matrix_pins": {
- "cols": ["B5", "C6", "D4"],
- "rows": ["B4", "E6", "D7", "B3", "B2", "B6"]
- },
- "diode_direction": "ROW2COL",
- "processor": "atmega32u4",
- "bootloader": "caterina",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1, "y": 4},
- {"matrix": [4, 2], "x": 2, "y": 4},
-
- {"matrix": [5, 0], "x": 0, "y": 5},
- {"matrix": [5, 1], "x": 1, "y": 5},
- {"matrix": [5, 2], "x": 2, "y": 5}
- ]
- }
- }
-}
diff --git a/keyboards/late9/rev1/keymaps/default/keymap.c b/keyboards/late9/rev1/keymaps/default/keymap.c
deleted file mode 100644
index bed15eb57e..0000000000
--- a/keyboards/late9/rev1/keymaps/default/keymap.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2021 rookiebwoy
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Layers declarations
-enum layers {
- _BL,
- _OL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap _BL: Base Layer
- * ,-----------------------.
- * |MO(OP) | ↑ | BSPC |
- * | | | |
- * |-------|-------|-------|
- * | <- | ↓ | -> |
- * | | | |
- * |-------|-------|-------|
- * | 1 | 2 | 3 |
- * | | | |
- * |-------|-------|-------|
- * | 4 | 5 | 6 |
- * | | | |
- * |-------|-------|-------|
- * | 7 | 8 | 9 |
- * | | | |
- * |-------|-------|-------|
- * | 0 | . | = |
- * | | | |
- * `-----------------------'
- */
- [_BL] = LAYOUT(
- MO(1), KC_UP, KC_BSPC,
- KC_LEFT, KC_DOWN, KC_RIGHT,
- KC_P1, KC_P2, KC_P3,
- KC_P4, KC_P5, KC_P6,
- KC_P7, KC_P8, KC_P9,
- KC_P0, KC_PDOT, KC_PEQL
- ),
-
-/* Keymap _OP: Operators Layer
- * ,-----------------------.
- * |MO(OP) | ↑ | BSPC |
- * | | | |
- * |-------|-------|-------|
- * | <- | ↓ | -> |
- * | | | |
- * |-------|-------|-------|
- * | / | * | - |
- * | | | |
- * |-------|-------|-------|
- * | ( | ) | + |
- * | | | |
- * |-------|-------|-------|
- * | & | % | ^ |
- * | | | |
- * |-------|-------|-------|
- * | | | . | = |
- * | | | |
- * `-----------------------'
- */
- [_OL] = LAYOUT(
- MO(1), KC_UP, KC_BSPC,
- KC_LEFT, KC_DOWN, KC_RIGHT,
- KC_PSLS, KC_PAST, KC_PMNS,
- LSFT(KC_9), LSFT(KC_0), KC_PPLS,
- LSFT(KC_7), LSFT(KC_5), LSFT(KC_6),
- LSFT(KC_BSLS), KC_PDOT, KC_PEQL
- ),
-}; \ No newline at end of file
diff --git a/keyboards/late9/rev1/keymaps/multitap/keymap.c b/keyboards/late9/rev1/keymaps/multitap/keymap.c
deleted file mode 100644
index e378fb4921..0000000000
--- a/keyboards/late9/rev1/keymaps/multitap/keymap.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright 2021 rookiebwoy
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Layers declarations
-enum layers {
- _BL
-};
-
-// Tap Dance declarations
-enum {
- TD_PNCT,
- TD_ABC,
- TD_DEF,
- TD_GHI,
- TD_JKL,
- TD_MNO,
- TD_PQRS,
- TD_TUV,
- TD_WXYZ,
- TD_SPACE,
- TD_UPRCS,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap _BL: Base Layer
- * ,-----------------------.
- * |ENTER | ↑ | BSPC |
- * | | | |
- * |-------|-------|-------|
- * | <- | ↓ | -> |
- * | | | |
- * |-------|-------|-------|
- * | 1 .,' | 2 | 3 |
- * |?!-:;/ | abc | def |
- * |-------|-------|-------|
- * | 4 | 5 | 6 |
- * | ghi | jkl | mno |
- * |-------|-------|-------|
- * | 7 | 8 | 9 |
- * | pqrs | tuv | wxyz |
- * |-------|-------|-------|
- * | * | 0 | CAPS |
- * | | space | |
- * `-----------------------'
- */
- [_BL] = LAYOUT(
- KC_ENT, KC_UP, KC_BSPC,
- KC_LEFT, KC_DOWN, KC_RIGHT,
- TD(TD_PNCT), TD(TD_ABC), TD(TD_DEF),
- TD(TD_GHI), TD(TD_JKL), TD(TD_MNO),
- TD(TD_PQRS), TD(TD_TUV), TD(TD_WXYZ),
- KC_PAST, TD(TD_SPACE), TD(TD_UPRCS)
- ),
-};
-
-// Tap Dance cycles
-void dance_1 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_DOT);
- else return tap_code(KC_1);
- } else if (state->count == 2) {
- tap_code (KC_COMM);
- } else if (state->count == 3) {
- tap_code(KC_QUOT);
- } else if (state->count == 4) {
- tap_code16(KC_QUES);
- } else if (state->count == 5) {
- tap_code16(KC_EXLM);
- } else if (state->count == 6) {
- tap_code(KC_MINS);
- } else if (state->count == 7) {
- tap_code16(KC_COLN);
- } else if (state->count == 8) {
- tap_code(KC_SCLN);
- } else if (state->count == 9) {
- tap_code(KC_SLSH);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_2 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_A);
- else return tap_code(KC_2);
- } else if (state->count == 2) {
- tap_code (KC_B);
- } else if (state->count == 3) {
- tap_code(KC_C);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_3 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_D);
- else return tap_code(KC_3);
- } else if (state->count == 2) {
- tap_code (KC_E);
- } else if (state->count == 3) {
- tap_code(KC_F);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_4 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_G);
- else return tap_code(KC_4);
- } else if (state->count == 2) {
- tap_code (KC_H);
- } else if (state->count == 3) {
- tap_code(KC_I);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_5 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_J);
- else return tap_code(KC_5);
- } else if (state->count == 2) {
- tap_code (KC_K);
- } else if (state->count == 3) {
- tap_code(KC_L);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_6 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_M);
- else return tap_code(KC_6);
- } else if (state->count == 2) {
- tap_code (KC_N);
- } else if (state->count == 3) {
- tap_code(KC_O);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_7 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_P);
- else return tap_code(KC_7);
- } else if (state->count == 2) {
- tap_code (KC_Q);
- } else if (state->count == 3) {
- tap_code(KC_R);
- } else if (state->count == 4) {
- tap_code(KC_S);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_8 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_T);
- else return tap_code(KC_8);
- } else if (state->count == 2) {
- tap_code (KC_U);
- } else if (state->count == 3) {
- tap_code(KC_V);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_9 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_W);
- else return tap_code(KC_9);
- } else if (state->count == 2) {
- tap_code (KC_X);
- } else if (state->count == 3) {
- tap_code(KC_Y);
- } else if (state->count == 4) {
- tap_code(KC_Z);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_0 (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return tap_code(KC_SPACE);
- else return tap_code(KC_0);
- } else {
- reset_tap_dance (state);
- }
-}
-
-void dance_maiusc (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return set_oneshot_mods(MOD_BIT(KC_LSFT));
- else return tap_code(KC_CAPS);
- } else {
- reset_tap_dance (state);
- }
-}
-
-// Tap Dance actions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_PNCT] = ACTION_TAP_DANCE_FN (dance_1),
- [TD_ABC] = ACTION_TAP_DANCE_FN (dance_2),
- [TD_DEF] = ACTION_TAP_DANCE_FN (dance_3),
- [TD_GHI] = ACTION_TAP_DANCE_FN (dance_4),
- [TD_JKL] = ACTION_TAP_DANCE_FN (dance_5),
- [TD_MNO] = ACTION_TAP_DANCE_FN (dance_6),
- [TD_PQRS] = ACTION_TAP_DANCE_FN (dance_7),
- [TD_TUV] = ACTION_TAP_DANCE_FN (dance_8),
- [TD_WXYZ] = ACTION_TAP_DANCE_FN (dance_9),
- [TD_SPACE] = ACTION_TAP_DANCE_FN (dance_0),
- [TD_UPRCS] = ACTION_TAP_DANCE_FN (dance_maiusc),
-};
diff --git a/keyboards/late9/rev1/keymaps/multitap/readme.md b/keyboards/late9/rev1/keymaps/multitap/readme.md
deleted file mode 100644
index 2b5136c2b8..0000000000
--- a/keyboards/late9/rev1/keymaps/multitap/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# LATE-9 multitap keymap
-
-This is the intended LATE-9 layout with multitap `ON` and old mobile phone look-a-like layout..
diff --git a/keyboards/late9/rev1/keymaps/multitap/rules.mk b/keyboards/late9/rev1/keymaps/multitap/rules.mk
deleted file mode 100644
index 4141c3e7a4..0000000000
--- a/keyboards/late9/rev1/keymaps/multitap/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Enable Tap Dance feature
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/late9/rev1/rules.mk b/keyboards/late9/rev1/rules.mk
deleted file mode 100644
index 874033acc9..0000000000
--- a/keyboards/late9/rev1/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-OLED_ENABLE = yes
diff --git a/keyboards/late9/rules.mk b/keyboards/late9/rules.mk
deleted file mode 100755
index 51c1b0d2a6..0000000000
--- a/keyboards/late9/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = late9/rev1
diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h
index fbeb499c4e..7ee0dba1f5 100644
--- a/keyboards/latincompass/latin17rgb/config.h
+++ b/keyboards/latincompass/latin17rgb/config.h
@@ -16,64 +16,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-
-# define DRIVER_1_LED_TOTAL 25
-# define DRIVER_2_LED_TOTAL 24
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
diff --git a/keyboards/latincompass/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json
index 9b466c216a..a211846f62 100644
--- a/keyboards/latincompass/latin17rgb/info.json
+++ b/keyboards/latincompass/latin17rgb/info.json
@@ -31,7 +31,38 @@
"pin": "B7"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3731",
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4"],
diff --git a/keyboards/latincompass/latin17rgb/latin17rgb.c b/keyboards/latincompass/latin17rgb/latin17rgb.c
index b75a11d965..54705bf4f7 100644
--- a/keyboards/latincompass/latin17rgb/latin17rgb.c
+++ b/keyboards/latincompass/latin17rgb/latin17rgb.c
@@ -17,7 +17,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h
index a25d3b0696..94ea00468c 100644
--- a/keyboards/latincompass/latin60rgb/config.h
+++ b/keyboards/latincompass/latin60rgb/config.h
@@ -15,58 +15,6 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 60
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
+
+#define RGB_MATRIX_LED_COUNT 60
diff --git a/keyboards/latincompass/latin60rgb/info.json b/keyboards/latincompass/latin60rgb/info.json
index f11f6ac3d5..5fef17fd09 100644
--- a/keyboards/latincompass/latin60rgb/info.json
+++ b/keyboards/latincompass/latin60rgb/info.json
@@ -9,7 +9,38 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "D6", "D4", "D3"],
diff --git a/keyboards/latincompass/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c
index a915bede80..8a032d76b1 100644
--- a/keyboards/latincompass/latin60rgb/latin60rgb.c
+++ b/keyboards/latincompass/latin60rgb/latin60rgb.c
@@ -16,70 +16,70 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- { 0, K_13, J_13, L_13 },
- { 0, K_12, J_12, L_12 },
- { 0, K_11, J_11, L_11 },
- { 0, K_10, J_10, L_10 },
- { 0, K_9, J_9, L_9 },
- { 0, K_8, J_8, L_8 },
- { 0, K_7, J_7, L_7 },
- { 0, K_6, J_6, L_6 },
- { 0, K_5, J_5, L_5 },
- { 0, K_4, J_4, L_4 },
- { 0, K_3, J_3, L_3 },
- { 0, K_2, J_2, L_2 },
- { 0, K_1, J_1, L_1 },
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ { 0, SW11_CS13, SW10_CS13, SW12_CS13 },
+ { 0, SW11_CS12, SW10_CS12, SW12_CS12 },
+ { 0, SW11_CS11, SW10_CS11, SW12_CS11 },
+ { 0, SW11_CS10, SW10_CS10, SW12_CS10 },
+ { 0, SW11_CS9, SW10_CS9, SW12_CS9 },
+ { 0, SW11_CS8, SW10_CS8, SW12_CS8 },
+ { 0, SW11_CS7, SW10_CS7, SW12_CS7 },
+ { 0, SW11_CS6, SW10_CS6, SW12_CS6 },
+ { 0, SW11_CS5, SW10_CS5, SW12_CS5 },
+ { 0, SW11_CS4, SW10_CS4, SW12_CS4 },
+ { 0, SW11_CS3, SW10_CS3, SW12_CS3 },
+ { 0, SW11_CS2, SW10_CS2, SW12_CS2 },
+ { 0, SW11_CS1, SW10_CS1, SW12_CS1 },
- { 0, H_16, G_16, I_16 },
- { 0, H_15, G_15, I_15 },
- { 0, H_14, G_14, I_14 },
- { 0, H_13, G_13, I_13 },
- { 0, H_12, G_12, I_12 },
- { 0, H_11, G_11, I_11 },
- { 0, H_10, G_10, I_10 },
- { 0, H_9, G_9, I_9 },
- { 0, H_8, G_8, I_8 },
- { 0, H_7, G_7, I_7 },
- { 0, H_6, G_6, I_6 },
- { 0, H_5, G_5, I_5 },
- { 0, H_4, G_4, I_4 },
- { 0, H_3, G_3, I_3 },
- { 0, H_2, G_2, I_2 },
- { 0, H_1, G_1, I_1 },
+ { 0, SW8_CS16, SW7_CS16, SW9_CS16 },
+ { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
+ { 0, SW8_CS14, SW7_CS14, SW9_CS14 },
+ { 0, SW8_CS13, SW7_CS13, SW9_CS13 },
+ { 0, SW8_CS12, SW7_CS12, SW9_CS12 },
+ { 0, SW8_CS11, SW7_CS11, SW9_CS11 },
+ { 0, SW8_CS10, SW7_CS10, SW9_CS10 },
+ { 0, SW8_CS9, SW7_CS9, SW9_CS9 },
+ { 0, SW8_CS8, SW7_CS8, SW9_CS8 },
+ { 0, SW8_CS7, SW7_CS7, SW9_CS7 },
+ { 0, SW8_CS6, SW7_CS6, SW9_CS6 },
+ { 0, SW8_CS5, SW7_CS5, SW9_CS5 },
+ { 0, SW8_CS4, SW7_CS4, SW9_CS4 },
+ { 0, SW8_CS3, SW7_CS3, SW9_CS3 },
+ { 0, SW8_CS2, SW7_CS2, SW9_CS2 },
+ { 0, SW8_CS1, SW7_CS1, SW9_CS1 },
- { 0, E_16, D_16, F_16 },
- { 0, E_15, D_15, F_15 },
- { 0, E_14, D_14, F_14 },
- { 0, E_13, D_13, F_13 },
- { 0, E_12, D_12, F_12 },
- { 0, E_11, D_11, F_11 },
- { 0, E_10, D_10, F_10 },
- { 0, E_9, D_9, F_9 },
- { 0, E_8, D_8, F_8 },
- { 0, E_7, D_7, F_7 },
- { 0, E_6, D_6, F_6 },
- { 0, E_5, D_5, F_5 },
- { 0, E_4, D_4, F_4 },
- { 0, E_3, D_3, F_3 },
- { 0, E_2, D_2, F_2 },
- { 0, E_1, D_1, F_1 },
+ { 0, SW5_CS16, SW4_CS16, SW6_CS16 },
+ { 0, SW5_CS15, SW4_CS15, SW6_CS15 },
+ { 0, SW5_CS14, SW4_CS14, SW6_CS14 },
+ { 0, SW5_CS13, SW4_CS13, SW6_CS13 },
+ { 0, SW5_CS12, SW4_CS12, SW6_CS12 },
+ { 0, SW5_CS11, SW4_CS11, SW6_CS11 },
+ { 0, SW5_CS10, SW4_CS10, SW6_CS10 },
+ { 0, SW5_CS9, SW4_CS9, SW6_CS9 },
+ { 0, SW5_CS8, SW4_CS8, SW6_CS8 },
+ { 0, SW5_CS7, SW4_CS7, SW6_CS7 },
+ { 0, SW5_CS6, SW4_CS6, SW6_CS6 },
+ { 0, SW5_CS5, SW4_CS5, SW6_CS5 },
+ { 0, SW5_CS4, SW4_CS4, SW6_CS4 },
+ { 0, SW5_CS3, SW4_CS3, SW6_CS3 },
+ { 0, SW5_CS2, SW4_CS2, SW6_CS2 },
+ { 0, SW5_CS1, SW4_CS1, SW6_CS1 },
- { 0, B_16, A_16, C_16 },
- { 0, B_14, A_14, C_14 },
- { 0, B_13, A_13, C_13 },
- { 0, B_12, A_12, C_12 },
- { 0, B_11, A_11, C_11 },
- { 0, B_10, A_10, C_10 },
- { 0, B_9, A_9, C_9 },
- { 0, B_8, A_8, C_8 },
- { 0, B_7, A_7, C_7 },
- { 0, B_6, A_6, C_6 },
- { 0, B_5, A_5, C_5 },
- { 0, B_4, A_4, C_4 },
- { 0, B_3, A_3, C_3 },
- { 0, B_2, A_2, C_2 },
- { 0, B_1, A_1, C_1 }
+ { 0, SW2_CS16, SW1_CS16, SW3_CS16 },
+ { 0, SW2_CS14, SW1_CS14, SW3_CS14 },
+ { 0, SW2_CS13, SW1_CS13, SW3_CS13 },
+ { 0, SW2_CS12, SW1_CS12, SW3_CS12 },
+ { 0, SW2_CS11, SW1_CS11, SW3_CS11 },
+ { 0, SW2_CS10, SW1_CS10, SW3_CS10 },
+ { 0, SW2_CS9, SW1_CS9, SW3_CS9 },
+ { 0, SW2_CS8, SW1_CS8, SW3_CS8 },
+ { 0, SW2_CS7, SW1_CS7, SW3_CS7 },
+ { 0, SW2_CS6, SW1_CS6, SW3_CS6 },
+ { 0, SW2_CS5, SW1_CS5, SW3_CS5 },
+ { 0, SW2_CS4, SW1_CS4, SW3_CS4 },
+ { 0, SW2_CS3, SW1_CS3, SW3_CS3 },
+ { 0, SW2_CS2, SW1_CS2, SW3_CS2 },
+ { 0, SW2_CS1, SW1_CS1, SW3_CS1 }
};
diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h
index 584e39a327..6b15975100 100644
--- a/keyboards/latincompass/latin6rgb/config.h
+++ b/keyboards/latincompass/latin6rgb/config.h
@@ -17,62 +17,6 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 6
-#endif
-
#define B7_AUDIO
diff --git a/keyboards/latincompass/latin6rgb/info.json b/keyboards/latincompass/latin6rgb/info.json
index 0c43da36e4..775b6d259e 100644
--- a/keyboards/latincompass/latin6rgb/info.json
+++ b/keyboards/latincompass/latin6rgb/info.json
@@ -9,7 +9,38 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3731",
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5"],
diff --git a/keyboards/latincompass/latin6rgb/latin6rgb.c b/keyboards/latincompass/latin6rgb/latin6rgb.c
index a1eb38b9af..779373ae8f 100644
--- a/keyboards/latincompass/latin6rgb/latin6rgb.c
+++ b/keyboards/latincompass/latin6rgb/latin6rgb.c
@@ -17,7 +17,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h
index 35e52a8fc4..1fb828eb76 100644
--- a/keyboards/latincompass/latinpad/config.h
+++ b/keyboards/latincompass/latinpad/config.h
@@ -16,54 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#pragma once
-#define RGB_MATRIX_LED_COUNT 18
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define OLED_FONT_H "./lib/glcdfont.c"
diff --git a/keyboards/latincompass/latinpad/info.json b/keyboards/latincompass/latinpad/info.json
index 6c54145723..f007efbf88 100644
--- a/keyboards/latincompass/latinpad/info.json
+++ b/keyboards/latincompass/latinpad/info.json
@@ -9,6 +9,37 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
deleted file mode 100644
index e490d68900..0000000000
--- a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 LAZYDESIGNERS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT(KC_SLSH), KC_DEL, KC_ESC, KC_LALT, KC_SPC, LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_LCTL),
- [1] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, QK_BOOT, RGB_SPI, RGB_SPD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_SCLN, KC_NO, KC_LSFT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
- [2] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
-};
diff --git a/keyboards/leafcutterlabs/bigknob/keymaps/macos/keymap.c b/keyboards/leafcutterlabs/bigknob/keymaps/macos/keymap.c
deleted file mode 100644
index 7f75aa7121..0000000000
--- a/keyboards/leafcutterlabs/bigknob/keymaps/macos/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2021 Craig Gardner
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
- /*
- Modifications 1/2023 by Kassandra Karan for MacOS support
- * Changed Volume up and down to mac scan codes
- * MacOS doesnt support Stop, so changed default to spotlight search
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers { _MAIN };
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_KB_VOLUME_UP); // MacOS Volume Up
- } else {
- tap_code(KC_KB_VOLUME_DOWN); // MacOS Volume Down
- }
- }
- return false;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //button closest to USB is first
- [_MAIN] = LAYOUT(
- KC_MUTE, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, G(KC_SPC), KC_MNXT
- )
-};
diff --git a/keyboards/leafcutterlabs/bigknob/keymaps/macos/readme.md b/keyboards/leafcutterlabs/bigknob/keymaps/macos/readme.md
deleted file mode 100644
index 2f613042d3..0000000000
--- a/keyboards/leafcutterlabs/bigknob/keymaps/macos/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# MacOS BigKnob Layout
-
-This is a modification to the BigKnob to support MacOS. The QMK configurator does not
-support rotary encoders, so this changes the key codes to the Apple volume control
-codes. This also changes the 3rd key from stop, which MacOS does not support, to
-spotlight search.
diff --git a/keyboards/lefty/rules.mk b/keyboards/lefty/rules.mk
deleted file mode 100644
index bbf738e03b..0000000000
--- a/keyboards/lefty/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
-
-OLED_ENABLE = yes
-
-DEFAULT_FOLDER = lefty/rev2
diff --git a/keyboards/lets_split/keymaps/DE_programming/config.h b/keyboards/lets_split/keymaps/DE_programming/config.h
deleted file mode 100644
index 990d4ed8d5..0000000000
--- a/keyboards/lets_split/keymaps/DE_programming/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2020 Mose Schmiedel <mose.schmiedel@web.de>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/lets_split/keymaps/DE_programming/keymap.c b/keyboards/lets_split/keymaps/DE_programming/keymap.c
deleted file mode 100644
index a72ba4f865..0000000000
--- a/keyboards/lets_split/keymaps/DE_programming/keymap.c
+++ /dev/null
@@ -1,97 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layers {
- _QWERTZ,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwertz
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Z | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | + |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Y | X | C | V | B | N | M | , | . | - |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | AltGr| Alt |Lower |Space | Space| Raise| Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTZ] = LAYOUT(
- KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, KC_BSPC,
- KC_ESC, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_PLUS, KC_ENT,
- KC_LSFT, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_ALGR, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ° | ! | ? | § | € | ~ | $ | ( | ) | < | > | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | Vol+ | Prev | Next | Play | & | @ | { | } | [ | ] |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Vol- | | | | | | % | / | \ | ' | " |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | | |Lower | | Raise| = | * | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- DE_CIRC, DE_EXLM, DE_QUES, DE_SECT, DE_EURO, DE_TILD, DE_DLR, DE_LPRN, DE_RPRN, DE_LABK, DE_RABK, KC_BSPC,
- KC_DEL, KC_VOLU, KC_MPRV, KC_MNXT, KC_MPLY, DE_AMPR, DE_AT, DE_LCBR, DE_RCBR, DE_LBRC, DE_RBRC, KC_ENT,
- KC_LSFT, KC_VOLD, _______, _______, _______, DE_PIPE, DE_PERC, DE_SLSH, DE_BSLS, DE_QUOT, DE_DQUO, KC_RSFT,
- KC_LCTL, _______, _______, _______, _______, _______, _______, _______, DE_EQL, DE_ASTR, _______, _______
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | / | 7 | 8 | 9 | * | | | | # | Alt | ` | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | 4 | 5 | 6 | - | Pos1 | End | ä | ö | ü | ß |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| 1 | 2 | 3 | + |PageUp|PageDn| | | | |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | . | 0 | = |Lower | | Raise| | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, _______, _______, _______, DE_HASH, KC_LALT, DE_ACUT, KC_BSPC,
- KC_DEL, KC_4, KC_5, KC_6, DE_MINS, KC_HOME, KC_END, DE_ADIA, DE_ODIA, DE_UDIA, DE_SS, KC_ENT,
- KC_LSFT, KC_1, KC_2, KC_3, DE_PLUS, KC_PGUP, KC_PGDN, _______, _______, _______, _______, KC_LSFT,
- _______, DE_DOT, KC_0, DE_EQL, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/lets_split/keymaps/DE_programming/readme.md b/keyboards/lets_split/keymaps/DE_programming/readme.md
deleted file mode 100644
index 38e54609b0..0000000000
--- a/keyboards/lets_split/keymaps/DE_programming/readme.md
+++ /dev/null
@@ -1,57 +0,0 @@
-De_Programming Keymap
-======
-
-Features
---------
-
-Changed Keymap to resemble German Layout. Optimized for Programming
-
-Layout
---------
-
- Qwertz
- ,-----------------------------------------------------------------------------------.
- | Tab | Q | W | E | R | T | Z | U | I | O | P | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Esc | A | S | D | F | G | H | J | K | L | + |Enter |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| Y | X | C | V | B | N | M | , | . | - |Shift |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl | GUI | AltGr| Alt |Lower |Space |Space |Raise | Left | Down | Up |Right |
- `-----------------------------------------------------------------------------------'
-
-
- Lower
- ,-----------------------------------------------------------------------------------.
- | ° | ! | ? | § | € | ~ | $ | ( | ) | < | > | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Del | F1 | F2 | F3 | F4 | & | @ | { | } | [ | ] |Enter |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| F5 | F6 | F7 | F8 | | | % | / | \ | ' | " |Shift |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl | F9 | F10 | F11 | F12 | | Prev | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-
-
- Raise
- ,-----------------------------------------------------------------------------------.
- | / | 7 | 8 | 9 | * | | | | # | Alt | ` | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Del | 4 | 5 | 6 | - | Pos1 | End | ä | ö | ü | ß |Enter |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| 1 | 2 | 3 | + |PageUp|PageDn| | | | |Shift |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | . | 0 | = | Enter| | Prev | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-
-
- Adjust (Lower + Raise)
- ,-----------------------------------------------------------------------------------.
- | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | | | |Aud on|Audoff|AGnorm|AGswap|Qwertz| | | | |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | | | | | | | | | | | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------'
diff --git a/keyboards/lets_split/keymaps/DE_simple/config.h b/keyboards/lets_split/keymaps/DE_simple/config.h
deleted file mode 100644
index 470fc07854..0000000000
--- a/keyboards/lets_split/keymaps/DE_simple/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/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#endif
diff --git a/keyboards/lets_split/keymaps/DE_simple/keymap.c b/keyboards/lets_split/keymaps/DE_simple/keymap.c
deleted file mode 100644
index 8396bb2c68..0000000000
--- a/keyboards/lets_split/keymaps/DE_simple/keymap.c
+++ /dev/null
@@ -1,151 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.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 _QWERTZ 0
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTZ = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwertz
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Z | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | + | # |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Y | X | C | V | B | N | M | , | . | - |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | AltGr| GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTZ] = LAYOUT(
- KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, KC_BSPC,
- KC_TAB, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_PLUS, DE_HASH,
- KC_LSFT, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_ENT ,
- KC_LCTL, KC_LALT, KC_ALGR, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ° | ! | " | § | $ | % | & | / | ( | ) | = | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | @ | € | ü | ? | ´ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | | | ö | ä | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- DE_CIRC, DE_EXLM, DE_DQUO, DE_SECT, DE_DLR, DE_PERC, DE_AMPR, DE_SLSH, DE_LPRN, DE_RPRN, DE_EQL, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_AT , DE_EURO, KC_LBRC, DE_QUES, DE_QUOT,
- KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DE_PIPE , KC_SCLN, KC_QUOT, _______, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ° | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | { | [ | ] | } | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_LCBR, DE_LBRC, DE_RBRC, DE_RCBR , DE_BSLS,
- KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwertz| | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTZ, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_qwertz[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_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 QWERTZ:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwertz);
- #endif
- persistent_default_layer_set(1UL<<_QWERTZ);
- }
- 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/DE_simple/readme.md b/keyboards/lets_split/keymaps/DE_simple/readme.md
deleted file mode 100644
index c5576d6233..0000000000
--- a/keyboards/lets_split/keymaps/DE_simple/readme.md
+++ /dev/null
@@ -1,59 +0,0 @@
-De_Simple Keymap
-======
-
-Features
---------
-
-Changed Keymap to reasamble German Layout.
-
-Layout
---------
-
- Qwertz
- ,-----------------------------------------------------------------------------------.
- | Esc | Q | W | E | R | T | Z | U | I | O | P | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Tab | A | S | D | F | G | H | J | K | L | + | # |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| Y | X | C | V | B | N | M | , | . | - |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl | Alt | AltGr| GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- `-----------------------------------------------------------------------------------'
-
-
- Lower
- ,-----------------------------------------------------------------------------------.
- | ° | ! | " | § | $ | % | & | / | ( | ) | = | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Del | F1 | F2 | F3 | F4 | F5 | F6 | @ | € | ü | ? | ´ |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| F7 | F8 | F9 | F10 | F11 | F12 | | | ö | ä | |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-
-
- Raise
- ,-----------------------------------------------------------------------------------.
- | ° | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | Del | F1 | F2 | F3 | F4 | F5 | F6 | { | [ | ] | } | \ |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | Shift| F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-
-
- Adjust (Lower + Raise)
- ,-----------------------------------------------------------------------------------.
- | | Reset| | | | | | | | | | Del |
- |------+------+------+------+------+-------------+------+------+------+------+------|
- | | | |Aud on|Audoff|AGnorm|AGswap|Qwertz| | | | |
- |------+------+------+------+------+------|------+------+------+------+------+------|
- | | | | | | | | | | | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | |
- `-----------------------------------------------------------------------------------'
-
-
diff --git a/keyboards/lets_split/keymaps/adam/config.h b/keyboards/lets_split/keymaps/adam/config.h
deleted file mode 100644
index c2c45bebfd..0000000000
--- a/keyboards/lets_split/keymaps/adam/config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#ifdef KEYBOARD_lets_split_rev2
- /* RGB Underglow */
- #undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLED_NUM 8
-#endif
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200 //At 500 some bad logic takes hold
-#define PERMISSIVE_HOLD
-
-#endif
diff --git a/keyboards/lets_split/keymaps/adam/keymap.c b/keyboards/lets_split/keymaps/adam/keymap.c
deleted file mode 100644
index ea7006f6cb..0000000000
--- a/keyboards/lets_split/keymaps/adam/keymap.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define BASE 0 // default layer
-#define FLOCK 1 // symbols arrows and F keys on F held down
-#define JLOCK 2 // same as Flock but with fall thru J and mapped to J held down
-
-#define FLOCK_F LT(FLOCK, KC_F)
-#define FLOCK_J LT(JLOCK, KC_J)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[BASE] = LAYOUT (
- TD(1), KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_TAB, KC_Y, KC_U, KC_I, KC_O, KC_P,
- SFT_T(KC_A), ALT_T(KC_S),CTL_T(KC_D), FLOCK_F, GUI_T(KC_G), KC_BSPC, KC_DELETE, GUI_T(KC_H), FLOCK_J, CTL_T(KC_K), ALT_T(KC_L), SFT_T(KC_SCLN),
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE
-),
-[FLOCK] = LAYOUT (
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC,
- S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, S(KC_RBRC),
- KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDN, KC_QUES, KC_SLASH
-),
-[JLOCK] = LAYOUT (
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC,
- S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, _______, KC_UP, KC_RIGHT, S(KC_RBRC),
- KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDN, KC_QUES, KC_SLASH
-)
-};
-
-#ifdef TAP_DANCE_ENABLE
-void tap_1(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- register_code (KC_1);
- unregister_code (KC_1);
- break;
- case 2:
- register_code (KC_ESC);
- unregister_code (KC_ESC);
- break;
- case 3:
- register_code (KC_LSFT);
- register_code (KC_1);
- unregister_code (KC_1);
- unregister_code (KC_LSFT);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [0] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_ESC),
- [1] = ACTION_TAP_DANCE_FN(tap_1)
-};
-#endif
diff --git a/keyboards/lets_split/keymaps/aerialviews007/config.h b/keyboards/lets_split/keymaps/aerialviews007/config.h
deleted file mode 100644
index d9787a247f..0000000000
--- a/keyboards/lets_split/keymaps/aerialviews007/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
-
- // place overrides here
-#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
- }
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/lets_split/keymaps/aerialviews007/keymap.c b/keyboards/lets_split/keymaps/aerialviews007/keymap.c
deleted file mode 100644
index a86069bbf5..0000000000
--- a/keyboards/lets_split/keymaps/aerialviews007/keymap.c
+++ /dev/null
@@ -1,160 +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.
-enum custom_layers {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | GEsc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | @ | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- QK_GESC, 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_AT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | GEsc | A | R | S | T | D | H | N | E | I | O | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | @ | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- QK_GESC, 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_AT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | GEsc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | @ | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- QK_GESC, 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_AT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | F1 | F2 | F3 | F4 | _ | % | 7 | 8 | 9 | ^ | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F5 | F6 | F7 | F8 | ! | $ | 4 | 5 | 6 | 0 | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F8 | F9 | F10 | F12 | & | # | 1 | 2 | 3 | = | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | / | - | + | * |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4,S(KC_MINS), KC_PERC, KC_7, KC_8, KC_9, KC_CIRC, KC_DEL,
- KC_DEL, KC_F5, KC_F6, KC_F7, KC_F8, KC_EXLM, KC_DLR, KC_4, KC_5, KC_6, KC_0, KC_PIPE,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_AMPR, KC_HASH, KC_1, KC_2, KC_3, KC_EQL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PMNS, KC_PPLS, KC_PAST
-),
-
-/* Raise (Mouse & Media)
- * ,-----------------------------------------------------------------------------------.
- * | ` | | | MsUp | | { | } | | MsWup| | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | |MsLeft|MsDown|MsRght| ( | ) | Lclk |MsWdwn| Rclk | | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | [ | ] | | | Mute | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, _______, _______, KC_MS_U, _______, KC_LCBR, KC_RCBR, _______, KC_WH_U, _______, _______, KC_DEL,
- KC_DEL, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_LPRN, KC_RPRN, KC_BTN1, KC_WH_D, KC_BTN2, _______, KC_BSLS,
- _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | Reset| Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/cpeters1982/config.h b/keyboards/lets_split/keymaps/cpeters1982/config.h
deleted file mode 100644
index da37310158..0000000000
--- a/keyboards/lets_split/keymaps/cpeters1982/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-#define MASTER_RIGHT
-// #define EE_HANDS
-
-// Define Tap Dance interval
-//#define TAPPING_TERM 175
-
-// // Enable LED strip
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 10
-
-// Space Cadet
-#define LSPO_KEY KC_9
-#define RSPC_KEY KC_0
-#define DISABLE_SPACE_CADET_ROLLOVER
-
-// Auto Shift settings
-#define AUTO_SHIFT_TIMEOUT 165
-// #define NO_AUTO_SHIFT_SPECIAL
-
-#endif
diff --git a/keyboards/lets_split/keymaps/cpeters1982/keymap.c b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
deleted file mode 100644
index 72e380c968..0000000000
--- a/keyboards/lets_split/keymaps/cpeters1982/keymap.c
+++ /dev/null
@@ -1,215 +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 _COLEMAK 1
-// #define _DVORAK 2
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
-
-
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- // COLEMAK,
- // DVORAK,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-/*
-// Tap dance declerations
-enum {
- TD_GRV_TILD = 0,
-};
-
-// Tap dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_GRV_TILD] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD),
-};
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | ` ~ | Q | W | E | R | T | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Rshift|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Lalt | GUI | Esc |Lower |KC_SPC |Enter |Raise | [cmd|] alt |= Hypr| - |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LCTL, KC_LALT, KC_LGUI, KC_ESC, TG(_LOWER), LT(_ADJUST, KC_SPC), KC_ENT, TG(_RAISE), MT(MOD_RGUI, KC_LBRC), MT(MOD_RALT, KC_RBRC), MT(MOD_HYPR, KC_EQL), KC_MINS
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ESC | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bspc |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_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_MFFD, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bspc |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | up | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | left | down |right |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | % | ` | ~ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |AShftD|AShftU|REPORT| | | | [ | ] | - | = | \ |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, KC_LEFT, KC_DOWN, KC_RGHT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PERC, KC_GRV, KC_TILD,
- AS_DOWN, AS_UP, AS_RPT, _______, _______, _______, _______, KC_RBRC, KC_LBRC, KC_MINS, KC_EQL, KC_BSLS
-)
-
-
-};
-
-/* #ifdef AUDIO_ENABLE
-* float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-* float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-* float tone_colemak[][2] = SONG(COLEMAK_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 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-};
-
-#define rgblight_set_blue rgblight_sethsv (0xFF, 0xFF, 0xFF);
-#define rgblight_set_red rgblight_sethsv (0x00, 0xFF, 0xFF);
-#define rgblight_set_green rgblight_sethsv (0x78, 0xFF, 0xFF);
-#define rgblight_set_orange rgblight_sethsv (0x1E, 0xFF, 0xFF);
-#define rgblight_set_teal rgblight_sethsv (0xC3, 0xFF, 0xFF);
-#define rgblight_set_magenta rgblight_sethsv (0x12C, 0xFF, 0xFF);
-#define rgblight_set_yellow rgblight_sethsv (0x3C, 0xFF, 0xFF);
-#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF);
-#define rgblight_set_white rgblight_sethsv (0x00, 0x00, 0xFF);
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-#ifdef RGBLIGHT_ENABLE
- uint8_t default_layer = eeconfig_read_default_layer();
- if (rgb_layer_change) {
- switch (get_highest_layer(state)) {
- case _RAISE:
- rgblight_set_orange;
- rgblight_mode(5);
- break;
- case _LOWER:
- rgblight_set_teal;
- rgblight_mode(5);
- break;
- case _ADJUST:
- rgblight_set_purple;
- rgblight_mode(23);
- break;
- default:
- if (default_layer & (1UL << _COLEMAK)) {
- rgblight_set_magenta;
- }
- else if (default_layer & (1UL << _DVORAK)) {
- rgblight_set_green;
- }
- else {
- rgblight_set_blue;
- }
- rgblight_mode(1);
- break;
- }
- }
-#endif
- return state;
-}
diff --git a/keyboards/lets_split/keymaps/cpeters1982/rules.mk b/keyboards/lets_split/keymaps/cpeters1982/rules.mk
deleted file mode 100644
index 87136eef03..0000000000
--- a/keyboards/lets_split/keymaps/cpeters1982/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-AUTO_SHIFT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/lets_split/keymaps/geripgeri/config.h b/keyboards/lets_split/keymaps/geripgeri/config.h
deleted file mode 100644
index 1091789bf1..0000000000
--- a/keyboards/lets_split/keymaps/geripgeri/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
-Copyright 2019 Gergely Peidl
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// RGB lighting
-#define RGBLIGHT_SLEEP
-#undef RGBLED_NUM
-#define RGBLED_NUM 32
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-
-#define TAPPING_TERM 200
diff --git a/keyboards/lets_split/keymaps/geripgeri/keymap.c b/keyboards/lets_split/keymaps/geripgeri/keymap.c
deleted file mode 100644
index 6bd524c6b9..0000000000
--- a/keyboards/lets_split/keymaps/geripgeri/keymap.c
+++ /dev/null
@@ -1,343 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _NUMPAD,
- _ADJUST
-};
-
-enum custom_keycodes {
- NUMPAD = SAFE_RANGE,
- SLIGHTLY,
- SMILE,
- JOY,
- RELAXED,
- HEART,
- SAD,
- CRY,
- NETRURAL,
- SCREAM,
- THUMBSUP
-};
-
-enum td_extra_keys {
- U,
- O,
- NEXTPREV,
- SLASH
-};
-
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5, //send two single taps
- TRIPLE_TAP = 6,
- TRIPLE_HOLD = 7
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-int cur_dance (tap_dance_state_t *state);
-
-void u_finished (tap_dance_state_t *state, void *user_data);
-void o_finished (tap_dance_state_t *state, void *user_data);
-
-uint8_t rgb_mode = RGBLIGHT_MODE_BREATHING + 1;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | ALT |Numpad| GUI |Lower | Space| | Bksp |Raise | Left | Down | Up |Right |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINUS,
- 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, TD(SLASH), KC_ENT,
- KC_LCTL, KC_LALT, MO(_NUMPAD), KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | :) | :D | :'D | :$ | <3 | | | Home | Pgup | | { | } | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | :( | :'( | :| | :O | +1 | | | End |Pgdown| | [ | ] |PrntSc|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | |Insert| | Del | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_LOWER] = 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_EQL,
- SLIGHTLY, SMILE, JOY, RELAXED, HEART, _______, KC_HOME, KC_PGUP, _______, KC_LCBR, KC_RCBR, KC_PIPE,
- SAD, CRY, NETRURAL, SCREAM, THUMBSUP, _______, KC_END, KC_PGDN, _______, KC_LBRC, KC_RBRC, KC_PSCR,
- _______, _______, _______, _______, _______, KC_INSERT, KC_DEL, _______, TD(NEXTPREV), KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_RAISE] = 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_DEL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Reset|EEPRST| | EE | | | | | UE | IE | OE | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | AE | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- QK_BOOT, EE_CLR, _______, RALT(KC_SCLN), _______, _______, _______, TD(U), RALT(KC_Z), TD(O), _______, _______,
- _______, RALT(KC_QUOT), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Numpad
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | 7 | 8 | 9 | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | 4 | 5 | 6 | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | VAI | SAI | HUI | | | | | 3 | 2 | 1 | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | |RGBMOD|RGBTGL| | Calc | 0 | + | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_NUMPAD] = LAYOUT_ortho_4x12(
- _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______,
- RGB_VAI, RGB_SAI, RGB_HUI, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
- _______, _______, _______, _______, RGB_MOD, RGB_TOG, KC_CALC, KC_0, KC_PPLS, _______, _______, _______
-)};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case RGB_VAI:
- if(record->event.pressed) {
- rgblight_increase_val_noeeprom();
- }
- break;
- case RGB_VAD:
- if(record->event.pressed) {
- rgblight_decrease_val_noeeprom();
- }
- break;
- case RGB_SAI:
- if(record->event.pressed) {
- rgblight_increase_sat_noeeprom();
- }
- break;
- case RGB_SAD:
- if(record->event.pressed) {
- rgblight_decrease_sat_noeeprom();
- }
- break;
- case RGB_HUI:
- if(record->event.pressed) {
- rgblight_increase_hue_noeeprom();
- }
- break;
- case RGB_HUD:
- if(record->event.pressed) {
- rgblight_decrease_hue_noeeprom();
- }
- break;
- case RGB_TOG:
- if(record->event.pressed) {
- rgblight_toggle_noeeprom();
- }
- break;
- case RGB_MOD:
- if(record->event.pressed) {
- rgblight_step_noeeprom();
- rgb_mode = rgblight_get_mode();
- }
- break;
- case RGB_RMOD:
- if(record->event.pressed) {
- rgblight_step_reverse_noeeprom();
- rgb_mode = rgblight_get_mode();
- }
- break;
-
- case SLIGHTLY:
- if(record->event.pressed) {
- SEND_STRING(":slightly_smiling_face:");
- }
- break;
- case SMILE:
- if(record->event.pressed) {
- SEND_STRING(":smile:");
- }
- break;
- case JOY:
- if(record->event.pressed) {
- SEND_STRING(":joy:");
- }
- break;
- case RELAXED:
- if(record->event.pressed) {
- SEND_STRING(":relaxed:");
- }
- break;
- case HEART:
- if(record->event.pressed) {
- SEND_STRING(":heart:");
- }
- break;
- case SAD:
- if(record->event.pressed) {
- SEND_STRING(":white_frowning_face:");
- }
- break;
- case CRY:
- if(record->event.pressed) {
- SEND_STRING(":cry:");
- }
- break;
- case NETRURAL:
- if(record->event.pressed) {
- SEND_STRING(":neutral_face:");
- }
- break;
- case SCREAM:
- if(record->event.pressed) {
- SEND_STRING(":scream:");
- }
- break;
- case THUMBSUP:
- if(record->event.pressed) {
- SEND_STRING(":+1:");
- }
- break;
- default:
- return true;
- }
- return false;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- writePin(B0, !(state & (1UL << (_NUMPAD))));
-
- switch(get_highest_layer(state)) {
- case _RAISE:
- rgblight_setrgb_at(255, 255, 255, RGBLED_NUM / 2);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- case _LOWER:
- rgblight_setrgb_at(255, 255, 255, RGBLED_NUM / 2 - 1);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- case _NUMPAD:
- rgblight_setrgb_at(0,255,0, 0);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- break;
- default:
- rgb_mode = RGBLIGHT_MODE_BREATHING + 1;
- rgblight_mode_noeeprom(rgb_mode);
- break;
- }
- return state;
-}
-
-void led_set_user(uint8_t usb_led) {
- rgblight_sethsv_noeeprom(0, 255, 255);
- rgblight_mode_noeeprom(rgb_mode);
-}
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return SINGLE_TAP;
- //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.
- else return SINGLE_HOLD;
- }
- else if (state->count == 2) {
- /*
- * DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
- * action when hitting 'pp'. Suggested use case for this return value is when you want to send two
- * keystrokes of the key, and not the 'double tap' action/macro.
- */
- if (state->interrupted) return DOUBLE_SINGLE_TAP;
- else if (state->pressed) return DOUBLE_HOLD;
- else return DOUBLE_TAP;
- }
- //Assumes no one is trying to type the same letter three times (at least not quickly).
- //If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add
- //an exception here to return a 'TRIPLE_SINGLE_TAP', and define that enum just like 'DOUBLE_SINGLE_TAP'
- if (state->count == 3) {
- if (state->interrupted || !state->pressed) return TRIPLE_TAP;
- else return TRIPLE_HOLD;
- }
- else return 8; //magic number. At some point this method will expand to work for more presses
-}
-
-static tap utap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-static tap otap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void u_finished (tap_dance_state_t *state, void *user_data) {
- utap_state.state = cur_dance(state);
- switch(utap_state.state) {
- case SINGLE_TAP: SEND_STRING(SS_RALT("]")); break;
- case DOUBLE_TAP: SEND_STRING(SS_RALT("-")); break;
- case TRIPLE_TAP: SEND_STRING(SS_RALT("\\")); break;
- }
-}
-
-void o_finished (tap_dance_state_t *state, void *user_data) {
- otap_state.state = cur_dance(state);
- switch(otap_state.state) {
- case SINGLE_TAP: SEND_STRING(SS_RALT("=")); break;
- case DOUBLE_TAP: SEND_STRING(SS_RALT("0")); break;
- case TRIPLE_TAP: SEND_STRING(SS_RALT("[")); break;
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [U] = ACTION_TAP_DANCE_FN(u_finished),
- [O] = ACTION_TAP_DANCE_FN(o_finished),
- [NEXTPREV] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_MPRV),
- [SLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLASH, KC_BSLS)
- };
diff --git a/keyboards/lets_split/keymaps/geripgeri/readme.md b/keyboards/lets_split/keymaps/geripgeri/readme.md
deleted file mode 100644
index 09f1bedee7..0000000000
--- a/keyboards/lets_split/keymaps/geripgeri/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Personal Layout
-
-[Layout](http://www.keyboard-layout-editor.com/#/gists/8eae83bfb830d847c94c7ff423bbdc84)
diff --git a/keyboards/lets_split/keymaps/geripgeri/rules.mk b/keyboards/lets_split/keymaps/geripgeri/rules.mk
deleted file mode 100644
index d2259fe9d5..0000000000
--- a/keyboards/lets_split/keymaps/geripgeri/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-
diff --git a/keyboards/lets_split/keymaps/halvves/config.h b/keyboards/lets_split/keymaps/halvves/config.h
deleted file mode 100644
index 4ba90f2cae..0000000000
--- a/keyboards/lets_split/keymaps/halvves/config.h
+++ /dev/null
@@ -1,33 +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
-
-/* Select hand configuration */
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-// smooth mousekeys (copied from the ergo ez config)
-#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/lets_split/keymaps/halvves/keymap.c b/keyboards/lets_split/keymaps/halvves/keymap.c
deleted file mode 100644
index c4702d8f2b..0000000000
--- a/keyboards/lets_split/keymaps/halvves/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _UTIL,
- _MOUSE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define UTIL MO(_UTIL)
-#define MOUSE MO(_MOUSE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Util | Ctrl | Alt | GUI |Lower | Space |Raise | Mouse| Mouse| | Util |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, UTIL
-),
-
-/* 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 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Util | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Mouse| Mouse| | |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_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 ,
- UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, XXXXXXX
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Util | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Mouse| Mouse| | |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_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 ,
- UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, XXXXXXX
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = 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_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 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = 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_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
-),
-
-/* Util
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | Reset|Reset | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | LEFT | DOWN | UP | RGHT | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_UTIL] = LAYOUT_ortho_4x12(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-/* Mouse
- * ,-----------------------------------------------------------------------------------.
- * | | | M Up | | | | | | |L Clk |R Clk | W Up |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |M Left|M Down|M Rght| | | | | | | |W Down|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_MOUSE] = LAYOUT_ortho_4x12(
- XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_WH_U,
- XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/halvves/rules.mk b/keyboards/lets_split/keymaps/halvves/rules.mk
deleted file mode 100644
index 6c605daecf..0000000000
--- a/keyboards/lets_split/keymaps/halvves/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/config.h b/keyboards/lets_split/keymaps/heartrobotninja/config.h
deleted file mode 100644
index bd68b24d08..0000000000
--- a/keyboards/lets_split/keymaps/heartrobotninja/config.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define ONESHOT_TAP_TOGGLE 2
-#define ONESHOT_TIMEOUT 1000
-
-#undef LEADER_TIMEOUT
-#define LEADER_TIMEOUT 1000
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-
-#undef TAPPING_TOGGLE
-#define TAPPING_TOGGLE 2
-
-#endif
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/keymap.c b/keyboards/lets_split/keymaps/heartrobotninja/keymap.c
deleted file mode 100644
index dc7bc6712e..0000000000
--- a/keyboards/lets_split/keymaps/heartrobotninja/keymap.c
+++ /dev/null
@@ -1,180 +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 _COLE 0
-#define _LOWER 1
-#define _RAISE 2
-#define _AUX 16
-
-/* Layers */
-enum
-{
- COLE = 0,
- LOWER, // right hand 10 key.
- RAISE, // left hand Fn, right hand symbols.
- AUX,
-};
-
-/* Tap Dancery */
-enum
-{
- TD_BTK,
- TD_TDE,
- TD_LPRN,
- TD_RPRN,
- TD_MIN,
- TD_USC,
-};
-
-bool time_travel = false;
-
-// Fillers to make layering more clear
-#define ____ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | ' " `| Q | W | F | P | G | J | L | U | Y | = + | ~ ; :|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ( [ {| A | R | S | T | D | H | N | E | I | O | ) ] }|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | - , <| Z | X | C | V | B | K | M | ? | | | ^ | _ . >|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Lower |Raise | Ctrl | Alt | Bksp | Spc |Enter |LShft | ESC | < | v | > |
- * `-----------------------------------------------------------------------------------'
- */
- [_COLE] = LAYOUT(
- TD(TD_BTK), KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_EQL, TD(TD_TDE),
- TD(TD_LPRN), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, TD(TD_RPRN),
- TD(TD_MIN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_SLSH, KC_BSLS, KC_UP, TD(TD_USC),
- LOWER, RAISE, OSM(MOD_LCTL), OSM(MOD_LALT), KC_SPC, KC_BSPC, KC_ENT, OSM(MOD_LSFT), KC_ESC, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ---- | ---- | ---- | ---- | ---- | ---- | 7 | 8 | 9 | * | / | ^ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ---- | ---- | ---- | ---- | ---- | ---- | 4 | 5 | 6 | + | - | ---- |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | ---- | ---- | ---- | ---- | ---- | ---- | 1 | 2 | 3 | = | ---- | ---- |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ---- | ---- | ---- | ---- | ---- | ---- | ---- | 0 | . | ---- | ---- | ---- |
- * `-----------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT(
- ____, ____, ____, ____, ____, ____, KC_7, KC_8, KC_9, KC_PAST, KC_PSLS, KC_CIRC,
- ____, ____, ____, ____, ____, ____, KC_4, KC_5, KC_6, KC_PPLS, KC_PMNS, ____,
- ____, ____, ____, ____, ____, ____, KC_1, KC_2, KC_3, KC_PEQL, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, KC_0, KC_MNXT, ____, ____, ____),
-
- /* Raise
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | ! | @ | # | $ | % | ` ~ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 | ^ | & | * | ( | ) | - _ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | ____ | ____ | ____ | ____ | ____ | ____ | [ { | ] } | \ | | ; : | ' " | = + |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | , < | . > | / ? |
- * `-----------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_GRV,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_EQL,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_COMM, KC_DOT, KC_SLSH),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | Reset| ____ | ____ | ____ | ____ | ____ | ____ | LOCK | ____ | ____ | ____ | VUP |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ____ | ____ | RUN | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | VDWN |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | PGUP | MUTE |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | HOME | PGDN | END |
- * `-----------------------------------------------------------------------------------'
- */
- [_AUX] = LAYOUT(
- QK_BOOT, ____, ____, ____, ____, ____, ____, LGUI(KC_L), ____, ____, ____, KC_VOLU,
- ____, ____, LGUI(KC_R), ____, ____, ____, ____, ____, ____, ____, ____, KC_VOLD,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_MUTE,
- ____, ____, ____, ____, KC_TAB, KC_DEL, ____, ____, ____, KC_HOME, KC_PGDN, KC_END)
-
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_BTK] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_GRV),
- [TD_TDE] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_TILD),
- [TD_LPRN] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LPRN),
- [TD_RPRN] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RPRN),
- [TD_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_MINS),
- [TD_USC] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_UNDS)};
-
-void persistent_default_layer_set(uint16_t default_layer)
-{
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-};
-
-void matrix_scan_user(void){};
-
-void matrix_init_user(void){};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
- switch (keycode)
- {
- case COLE:
- if (record->event.pressed)
- {
- persistent_default_layer_set(1UL << _COLE);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed)
- {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _AUX);
- }
- else
- {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _AUX);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed)
- {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _AUX);
- }
- else
- {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _AUX);
- }
- return false;
- break;
- case AUX:
- if (record->event.pressed)
- {
- layer_on(_AUX);
- }
- else
- {
- layer_off(_AUX);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/rules.mk b/keyboards/lets_split/keymaps/heartrobotninja/rules.mk
deleted file mode 100644
index 9c6a366137..0000000000
--- a/keyboards/lets_split/keymaps/heartrobotninja/rules.mk
+++ /dev/null
@@ -1,22 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-TAP_DANCE_ENABLE = yes
-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.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/lets_split/keymaps/kris/keymap.c b/keyboards/lets_split/keymaps/kris/keymap.c
deleted file mode 100644
index b7789b0727..0000000000
--- a/keyboards/lets_split/keymaps/kris/keymap.c
+++ /dev/null
@@ -1,209 +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 _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift||
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Alt | Gui |Caps |Lower |Space |Space |Raise | [ | ] | - |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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT ,
- ADJUST, KC_LALT, KC_LGUI, KC_CAPS, LOWER, KC_SPC, KC_SPC, RAISE, KC_LBRC, KC_RBRC, KC_MINS, KC_RCTL
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_LALT, KC_LGUI, KC_CAPS, LOWER, KC_SPC, KC_SPC, RAISE, KC_LBRC, KC_RBRC, KC_MINS, KC_RCTL
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | 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_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 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | 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_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_4, KC_5, KC_6, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_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 ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/mypetyak/keymap.c b/keyboards/lets_split/keymaps/mypetyak/keymap.c
deleted file mode 100644
index 6214551b72..0000000000
--- a/keyboards/lets_split/keymaps/mypetyak/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2022 Christopher Bunn <mypetyak@users.noreply.github.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _COLEMAK,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define ADJUST MO(_ADJUST)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | : |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Tab | GUI | Opt |Lower |Space | Bksp |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- QK_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_COLN,
- LCTL_T(KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- ADJUST, _______, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), _______, _______, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * |Reset | Flash| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | |Colemk| | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- QK_REBOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/lets_split/keymaps/normacos/config.h b/keyboards/lets_split/keymaps/normacos/config.h
deleted file mode 100644
index e7b95250f3..0000000000
--- a/keyboards/lets_split/keymaps/normacos/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/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define _MASTER_RIGHT
-#define EE_HANDS
-
-#endif
diff --git a/keyboards/lets_split/keymaps/normacos/keymap.c b/keyboards/lets_split/keymaps/normacos/keymap.c
deleted file mode 100644
index 97900db61a..0000000000
--- a/keyboards/lets_split/keymaps/normacos/keymap.c
+++ /dev/null
@@ -1,209 +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 _NORMAN 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-// To be used in process_record_user
-enum custom_keycodes {
- NORMAN = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
- SH_LOG,
- SH_GOUP,
- SH_TERM,
- SPOT,
- SLACK,
- OUTLOOK,
- CHROME
-};
-
-// Mod taps
-#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
-#define CTL_ESC CTL_T(KC_ESC) // Tap for Escape, hold for Control
-
-// Custom macros
-#define SCN_SHT LSFT(LGUI(KC_4)) // Take a screenshot (MacOS)
-#define SCN_LCK LCTL(LGUI(KC_Q)) // Lock screen (MacOS)
-#define SH_HOME LCTL(KC_A) // Go to start of line
-#define SH_END LCTL(KC_E) // Go to end of line
-#define SH_RSCH LCTL(KC_R) // Search command history
-#define SH_CLRH LCTL(KC_U) // Erase to beginning of line
-#define SH_CLRE LCTL(KC_K) // Erase to end of line
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Norman
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | D | F | K | | J | U | R | L | ; | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |CtlEsc| A | S | E | T | G | | Y | N | I | O | H | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | P | M | , | . | / |SftEnt|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right|
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_NORMAN] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_BSPC,
- CTL_ESC, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
- SCN_LCK, KC_HOME, KC_END, KC_LALT, LOWER, KC_LGUI, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | F1 | F2 | F3 | F4 | | |NumLck| 7 | 8 | 9 | = | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |CtlEsc| F5 | F6 | F7 | F8 | | | * | 4 | 5 | 6 | + | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| F9 | F10 | F11 | F12 | | | / | 1 | 2 | 3 | - |SftEnt|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Lock | Home | End | Alt | Lower| GUI | | . | Raise| 0 | Spot |Chrome| |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PEQL, _______,
- _______, KC_F5, KC_F6, KC_F8, KC_F9, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_DEL,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
- _______, _______, _______, _______, _______, _______, KC_PDOT, _______, KC_P0, SPOT, CHROME, XXXXXXX
-),
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |CtlEsc| Log | UpDir| Slack| Term | OutLk| | = | - | \ | [ | ] | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift|ClrHom|ClrEnd|ShHome| ShEnd|Search| | Play | Mute | VolDn| VolUp|ScnSht|SftEnt|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right|
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- _______, SH_LOG, SH_GOUP, SLACK, SH_TERM, OUTLOOK, KC_EQL, KC_MINS, KC_BSLS, KC_LBRC, KC_RBRC, KC_GRV,
- _______, SH_CLRH, SH_CLRE, SH_HOME, SH_END, SH_RSCH, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, SCN_SHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | Reset| |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | AudOn|AudOff| | |Norman| | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | Lower| | | | Raise| | | | |
- * `-----------------------------------------' `-----------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, XXXXXXX, NORMAN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-)
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_norman[][2] = SONG(QWERTY_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) {
- if (record->event.pressed) {
- switch(keycode) {
- case NORMAN:
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_norman);
- #endif
- persistent_default_layer_set(1UL<<_NORMAN);
- return false;
- case LOWER:
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- case RAISE:
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- case ADJUST:
- layer_on(_ADJUST);
- return false;
- case SH_LOG: // Open Jira log work window
- SEND_STRING(SS_TAP(X_DOT));
- _delay_ms(100);
- SEND_STRING("log work");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- case SH_GOUP: // Go up a directory
- SEND_STRING("cd .."SS_TAP(X_ENTER));
- return false;
- case SH_TERM: // Open Terminal
- SEND_STRING(SS_LGUI(SS_TAP(X_SPACE)));
- _delay_ms(100);
- SEND_STRING("terminal");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- case SPOT: // Open Spotify
- SEND_STRING(SS_LGUI(SS_TAP(X_SPACE)));
- _delay_ms(100);
- SEND_STRING("spotify app");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- case SLACK: // Open Slack
- SEND_STRING(SS_LGUI(SS_TAP(X_SPACE)));
- _delay_ms(100);
- SEND_STRING("slack");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- case OUTLOOK: // Open MS Outlook
- SEND_STRING(SS_LGUI(SS_TAP(X_SPACE)));
- _delay_ms(100);
- SEND_STRING("outlook");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- case CHROME: // Open Chrome
- SEND_STRING(SS_LGUI(SS_TAP(X_SPACE)));
- _delay_ms(100);
- SEND_STRING("chrome");
- _delay_ms(100);
- SEND_STRING(SS_TAP(X_ENTER));
- return false;
- }
- } else {
- switch(keycode) {
- case LOWER:
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- case RAISE:
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- case ADJUST:
- layer_off(_ADJUST);
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/normacos/readme.md b/keyboards/lets_split/keymaps/normacos/readme.md
deleted file mode 100644
index 3b7a20632b..0000000000
--- a/keyboards/lets_split/keymaps/normacos/readme.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# normacos
-This keymap was designed specifically to be used on a MacOS High Sierra system with constant use of the Terminal, as it includes a multitude of macros for both the terminal as well as Spotlight Search.
-
-Norman keyboard layout [info page.](https://normanlayout.info/)
-
-Some Norman layout keys were placed on different layers and different positions based on available space and preference.
-
-
-Macros:
-- CtlEsc sends Escape when tapped, and Control when held.
-- SftEnt sends Enter when tapped, and Shift when held.
-- Lock locks the computer
-- Slack opens Slack through Spotlight Search
-- Term opens Terminal through Spotlight Search
-- Spot opens Spotify through Spotlight Search
-- Chrome opens Chrome through Spotlight Search
-- OutLk opens Microsoft Outlook through Spotlight Search
-- ScnSht allows the user to take a screenshot of a selected portion of the screen
-- ClrHom clears Terminal line from beginning of line up to cursor
-- ClrEnd clears Terminal line from cursor up to end of line
-- ShHome moves Terminal cursor to beginning of line
-- ShEnd moves Terminal cursor to end of line
-- Search activates Terminal Reverse Search Command History
-- Log opens the 'Log Work' modal on Atlassian's Jira web client
-- UpDir moves working directory to its parent
-
-All macros that make use of the SEND_STRING command have a 100 millisecond wait before and after "writing" to let the computer/OS/app catch up.
-Any and all empty keys shown below are will be set in the future, and do nothing as of the time of this writing.
-
-
-
-## Default (Norman)
-```
-,-----------------------------------------. ,-----------------------------------------.
-| Tab | Q | W | D | F | K | | J | U | R | L | ; | Bksp |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-|CtlEsc| A | S | E | T | G | | Y | N | I | O | H | ' |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Shift| Z | X | C | V | B | | P | M | , | . | / |SftEnt|
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right|
-`-----------------------------------------' `-----------------------------------------'
-```
-
-
-## Lower
-```
-,-----------------------------------------. ,-----------------------------------------.
-| Tab | F1 | F2 | F3 | F4 | | |NumLck| 7 | 8 | 9 | = | Bksp |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-|CtlEsc| F5 | F6 | F7 | F8 | | | * | 4 | 5 | 6 | + | Del |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Shift| F9 | F10 | F11 | F12 | | | / | 1 | 2 | 3 | - |SftEnt|
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Lock | Home | End | Alt | Lower| GUI | | . | Raise| 0 | Spot |Chrome| |
-`-----------------------------------------' `-----------------------------------------'
-```
-
-
-## Raise
-
-```
-,-----------------------------------------. ,-----------------------------------------.
-| Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-|CtlEsc| Log | UpDir| Slack| Term | OutLk| | = | - | \ | [ | ] | ` |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Shift|ClrHom|ClrEnd|ShHome| ShEnd|Search| | Play | Mute | VolDn| VolUp|ScnSht|SftEnt|
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| Lock | Home | End | Alt | Lower| GUI | | Space| Raise| Left | Down | Up | Right|
-`-----------------------------------------' `-----------------------------------------'
-```
-
-## Adjust (Lower + Raise)
-
-```
-,-----------------------------------------. ,-----------------------------------------.
-| | | | | | | | | | | | Reset| |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | | | | AudOn|AudOff| | |Norman| | | | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | | | | | | | | | | | | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | | | | Lower| | | | Raise| | | | |
-`-----------------------------------------' `-----------------------------------------'
-```
diff --git a/keyboards/lets_split/keymaps/pyrol/config.h b/keyboards/lets_split/keymaps/pyrol/config.h
deleted file mode 100644
index a87e67fe56..0000000000
--- a/keyboards/lets_split/keymaps/pyrol/config.h
+++ /dev/null
@@ -1,35 +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 MASTER_LEFT
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 8
diff --git a/keyboards/lets_split/keymaps/pyrol/keymap.c b/keyboards/lets_split/keymaps/pyrol/keymap.c
deleted file mode 100644
index d61e848c42..0000000000
--- a/keyboards/lets_split/keymaps/pyrol/keymap.c
+++ /dev/null
@@ -1,214 +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 _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _GAME 5
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
- GAME,
-};
-
-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 |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | OS | Alt |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_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT ,
- ADJUST,KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Tab |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Bksp | A | R | S | T | D | H | N | E | I | O |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | OS | Alt |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB,
- KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT ,
- ADJUST, KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB | HUE | SAT | VAL | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = 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_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_MPRV, KC_MNXT,
- RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 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 / | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB | HUE | SAT | VAL | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = 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_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, _______, _______, _______,
- RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-/* Game
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | Up | / |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Ctrl | OS | Alt |Raise |Space |Space |LOWER | ' | Left | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_GAME] = 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_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH ,
- KC_LCTL, KC_LCTL, KC_LGUI, KC_LALT, RAISE, KC_SPC, KC_SPC, LOWER, KC_QUOT, KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | | Game | | | | | | | | |Reset |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, _______, GAME, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, AU_ON, AU_OFF, 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 GAME:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_GAME);
- }
- 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/pyrol/rules.mk b/keyboards/lets_split/keymaps/pyrol/rules.mk
deleted file mode 100644
index d4c4ffab6a..0000000000
--- a/keyboards/lets_split/keymaps/pyrol/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
- BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
diff --git a/keyboards/lets_split/keymaps/shaymdev/config.h b/keyboards/lets_split/keymaps/shaymdev/config.h
deleted file mode 100644
index 3ae9165cfd..0000000000
--- a/keyboards/lets_split/keymaps/shaymdev/config.h
+++ /dev/null
@@ -1,53 +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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define _MASTER_RIGHT
-// #define EE_HANDS
-
-#undef WS2812_DI_PIN
-#define WS2812_DI_PIN D3
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLED_NUM 10
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_SLEEP
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(PLANCK_SOUND)
- // #define STARTUP_SONG SONG(NO_SOUND)
-
- #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
- }
-#endif
-
-#define TAPPING_TERM 220
diff --git a/keyboards/lets_split/keymaps/shaymdev/keymap.c b/keyboards/lets_split/keymaps/shaymdev/keymap.c
deleted file mode 100644
index fe919133a9..0000000000
--- a/keyboards/lets_split/keymaps/shaymdev/keymap.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/* Copyright 2021 Shay Merrill
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 lets_split_layers {
- _DVORAK,
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- DVORAK = SAFE_RANGE,
- QWERTY
-};
-
-#define TO_DV TO(_DVORAK)
-#define LOWER MO(_LOWER)
-#define LWR LOWER
-#define RAISE MO(_RAISE)
-#define RAS RAISE
-
-enum combos
-{
- EU_ENT,
-};
-
-const uint16_t PROGMEM eu_combo[] = {KC_E, KC_U, COMBO_END};
-
-combo_t key_combos[] = {
- [EU_ENT] = COMBO_ACTION(eu_combo),
-};
-
-void process_combo_event(uint16_t combo_index, bool pressed) {
- switch(combo_index) {
- case EU_ENT:
- if (pressed) {
- tap_code16(KC_ENT);
- }
- break;
- }
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_EQL, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSLS,
- XXXXXXX, KC_ENT, KC_LALT, TT(LWR), KC_LSFT, KC_LCTL, KC_BSPC, KC_SPC, TT(RAS), KC_DEL, KC_LGUI, XXXXXXX
-),
-
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_AMPR, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_ASTR, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_GRV, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_0, _______, _______, _______, _______ //This kp_0 is blocking the space key.... may want to do something about that.
-),
-
-[_RAISE] = LAYOUT(
- _______, KC_PSCR, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- KC_CAPS, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11, XXXXXXX,
- _______, KC_NUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST] = LAYOUT(
- TO_DV, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- RGB_TOG, RGB_MOD, VK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______,
- RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DELETE);
-
-// This globally defines all key overrides to be used
-const key_override_t **key_overrides = (const key_override_t *[]){
- &delete_key_override,
- NULL // Null terminate the array of overrides!
-};
-
-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 DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- }
- return true;
-}
-
-
-#ifdef RGBLIGHT_ENABLE
-
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 2, HSV_RED} // Light 2 LEDs, starting with LED 4
-);
-
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_CHARTREUSE} // Light 3 LEDs, starting with LED 0
-);
-
-const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {3, 2, HSV_BLUE} // Light LEDs 3-4
-);
-
-const rgblight_segment_t PROGMEM my_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {5, 2, HSV_ORANGE} // Light LEDs 5-6
-);
-
-const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {3, 4, HSV_GREEN} // Light 4 LEDs, starting with LED 3
-);
-
-
-//Later layers take precedence. This array corresponds to the magic numbers used in rgblight_set_layer_state(i, onOff)
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer,
- my_qwerty_layer, // Overrides other layers
- my_lower_layer, // Overrides other layers
- my_raise_layer, // Overrides other layers
- my_adjust_layer // Overrides other layers
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
- rgblight_disable_noeeprom(); // disables RGB, without saving settings
- //rgblight_sethsv_noeeprom(HSV_CYAN);
- //rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- // rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(1, layer_state_cmp(state, _QWERTY));
- return state;
-}
-
-#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-
-#ifdef RGBLIGHT_ENABLE
- rgblight_set_layer_state(2, layer_state_cmp(state, _LOWER));
- rgblight_set_layer_state(3, layer_state_cmp(state, _RAISE));
- rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST));
-#endif
-
- return state;
-}
diff --git a/keyboards/lets_split/keymaps/shaymdev/rules.mk b/keyboards/lets_split/keymaps/shaymdev/rules.mk
deleted file mode 100644
index 3d737cbb48..0000000000
--- a/keyboards/lets_split/keymaps/shaymdev/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-RGBLIGHT_ENABLE = yes
-VELOCIKEY_ENABLE = yes
-KEY_OVERRIDE_ENABLE = yes
-COMBO_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/lets_split/keymaps/via/config.h b/keyboards/lets_split/keymaps/via/config.h
index a676d6826d..03853dc391 100644
--- a/keyboards/lets_split/keymaps/via/config.h
+++ b/keyboards/lets_split/keymaps/via/config.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -42,6 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 10
+#define RGBLIGHT_LED_COUNT 10
#define NO_MUSIC_MODE
diff --git a/keyboards/lets_split/keymaps/vim-mode/config.h b/keyboards/lets_split/keymaps/vim-mode/config.h
deleted file mode 100644
index 1fe4384a25..0000000000
--- a/keyboards/lets_split/keymaps/vim-mode/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
-
-// comment the following lines if sounds are not desired
-#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
- }
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
diff --git a/keyboards/lets_split/keymaps/vim-mode/keymap.c b/keyboards/lets_split/keymaps/vim-mode/keymap.c
deleted file mode 100644
index 430cc823f5..0000000000
--- a/keyboards/lets_split/keymaps/vim-mode/keymap.c
+++ /dev/null
@@ -1,196 +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.
-enum layer_names {
- _QWERTY = 0,
- _COLEMAK = 1,
- _DVORAK = 2,
- _LOWER = 3,
- _RAISE = 4,
- _ADJUST = 16
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// Fillers to make layering more clear
-
-// keys in multiple locations:
-// - parenteses in both raise and lower
-// - asterix in raise and twice on lower (normal and numpad)
-// - minus/plus twice on lower (normal and numpad)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| PrtSc| GUI | Alt |Lower | Tab |Space |Raise | VolDn| VolUp| Pl/Ps| Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_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_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 ,
- ADJUST, KC_PSCR, KC_LGUI, KC_LALT, LOWER, KC_TAB, KC_SPC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | H | N | E | I | O | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| PrtSc| GUI | Alt |Lower | Tab |Space |Raise | VolDn| VolUp| Pl/Ps| Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT_ortho_4x12(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_PSCR, KC_LGUI, KC_LALT, LOWER, KC_TAB, KC_SPC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| PrtSc| GUI | Alt |Lower | Tab |Space |Raise | VolDn| VolUp| Pl/Ps| Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT_ortho_4x12(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_PSCR, KC_LGUI, KC_LALT, LOWER, KC_TAB, KC_SPC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ` | | * | ( | ) | | | 7 | 8 | 9 | * | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | _ | + | { | } | | | 4 | 5 | 6 | - | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | - | = | [ | ] | | | 1 | 2 | 3 | + | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | Alt | | | | 0 | . | Enter| |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_GRAVE,_______, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
- KC_DEL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINS, KC_BSLS,
- KC_NUM, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______, KC_1, KC_2, KC_3, KC_PLUS, _______,
- _______, _______, _______, KC_LALT, _______, _______, _______, _______, KC_0, KC_DOT, KC_ENT, _______
-),
-
-/* Raise: featuring vim-style hjkl arrow keys
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | Left | Down | Up |Right | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F6 | F7 | F8 | F9 | F10 | Home | PgDn | PgUp | End | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F11 | F12 | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, KC_PIPE,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| |QWERTY|Colemk|Dvorak| | Prev | Pl/Ps| Next | | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Mute | VolDn| VolUp| | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, _______, QWERTY, COLEMAK, DVORAK, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-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;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lets_split/keymaps/vim-mode/readme.md b/keyboards/lets_split/keymaps/vim-mode/readme.md
deleted file mode 100644
index 9bb6131b1c..0000000000
--- a/keyboards/lets_split/keymaps/vim-mode/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Vim-mode Keymap
-
-This layout is designed with the vim philosophy in mind: You should be able to do your work without lifting your hands off the keyboard. Some movement keys (like the arrow keys) have been directly borrowed from vim, and other keys (like the numpad) have been placed in easy-to-reach areas, following the vim philosophy.
-
-Based on the default keymap.
-
-## Features:
-
-* Vim-like `hjkl` arrow keys in raise layer.
-* Right-hand numpad in lower layer.
-* All brackets and the most frequently used operators are intuitively handled in the lower layer for easy access.
-* Ctrl is just to the left of the left-hand pinky.
-* The raise layer provides the symbol bar on the first row that you're used to.
-* Media keys available in adjust layer (complete) and in the bottom-right corner of the default layer (frequently used).
-* The two keys that are traditionally the keys for `space` behave differently. The right-hand key inserts a space. The left-hand key inserts a tab. This is intuitive: Both keys that would normally make up the spacebar are increasing the space, but in different manners.
-
-
-## Some things to look out for:
-
-* Page up, page down, home, and end have been placed directly under the `hjkl` arrow keys, and each key moves the same direction as the key above it. (for instance, `h` moves left. Home has therefore been placed on `n`). You may ask why this was done instead of placing page down on `f` and page up on `b`. Here's why:
- * In short, `f` and `b` are in prime locations for other types of keys, and using those keys for page down and page up would interrupt the space available for other keys. Using vim-style `f` and `b` would require either divide up the list of function keys with unrelated keys, which is unintuitive, or move all the function keys to another later, requiring restructuring that does not lend itself to an intuitive layout.
-* Audio is not tested. If it doesn't work, please open an issue.
diff --git a/keyboards/lets_split/keymaps/waples/README.md b/keyboards/lets_split/keymaps/waples/README.md
deleted file mode 100644
index 6e171d964f..0000000000
--- a/keyboards/lets_split/keymaps/waples/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Waples Let's Split keymap
-[Waples](https://www.github.com/Waples)
-
-## My (forever) Work-In-Progress keymap for my Let's Split keyboard.
-My keymap is much like the default, I just personally like to have my Enter and Escape key to be on my home row. The Escape key doubles as a Control key when held down, my Enter key functions as (right)Shift when held down.
-Everything you see below here is constantly *under construction*, so there may be some dumb things in this, which are already gotten taken out, or are still in there :P.
-
-### Layers
-I currently have the following layers in my keymap:
-* Qwerty (as default)
-* Dvorak (still learning this type of layout, so not really used much)
-* Gaming (WIP! I tried some I found, but didn't like them, so I'm in the progress of making my own)
-* Lefty (lower)
-* Righty (raise)
-* Dual (adjust)
-
-#### QWERTY
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bsp |
- |C_Esc| A | S | D | F | G | | H | J | K | L | ; |S_Ent|
- | Sft | Z | X | C | V | B | | N | M | , | . | / | " |
- |P_SCR| GUI | Alt | Cps | ^L^ | Bsp | | Spc | ^R^ | Lft | Dwn | Up! | Rgt |
-
-
-#### DVORAK
- | Tab | " | , | . | P | Y | | F | G | C | R | L | Bsp |
- |C_Esc| A | O | E | U | I | | D | H | T | N | S |S_Ent|
- | Sft | ; | Q | J | K | X | | B | M | W | V | Z | / |
- |P_SCR| GUI | Alt | Cps | ^L^ | Bsp | | Spc | ^R^ | Lft | Dwn | Up! | Rgt |
-
-
-#### GAMING
- | Tab | Q | W | E | R | T | | | | | | |QWERT|
- | Esc | A | S | D | F | G | | | | | | | |
- | Sft | Z | X | C | V | B | | | | | | | |
- | Ctl | 1 | 2 | 3 | ^L^ | Spc | | Bsp | ^R^ | Lft | Dwn | Up | Rgt |
-
-
-#### LEFTY (lower)
- | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bsp |
- | Del | | | | | | | | ( | ) | [ | ] | |
- | | | | | | | | | | | | | |
- | | | | | | | | Ins | | Hme | PgD | PgU | End |
-
-
-#### RIGHTY (raise)
- | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
- | Del | F1 | F2 | F3 | F4 | | | = | - | \ | / | | |
- | | F5 | F6 | F7 | F8 | | | | | | | | |
- | | F9 | F10 | F11 | | | | | | | | | |
-
-
-#### DUAL
- |Reset| | | | |QWERT| | GAME| | | | |Reset|
- | | Prv | Stp | Tog | Nxt | Nrm | | Swp | | | | | |
- | | | Mte | Vol-| Vol+| | | NKRO| | | | | |
- | | | | | | | |DVORK| | | | | |
-
-
diff --git a/keyboards/lets_split/keymaps/waples/config.h b/keyboards/lets_split/keymaps/waples/config.h
deleted file mode 100644
index 17172f729c..0000000000
--- a/keyboards/lets_split/keymaps/waples/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Select hand configuration */
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS // We like to have choices I guess
-
-#endif
diff --git a/keyboards/lets_split/keymaps/waples/keymap.c b/keyboards/lets_split/keymaps/waples/keymap.c
deleted file mode 100644
index a896950430..0000000000
--- a/keyboards/lets_split/keymaps/waples/keymap.c
+++ /dev/null
@@ -1,129 +0,0 @@
-// Waples layout for Let's Split (rev2)
-// Made changes from the default
-
-#include QMK_KEYBOARD_H
-
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _DVORAK 1
-#define _GAME 2
-#define _LEFTY 3
-#define _RIGHTY 4
-#define _DUAL 5
-
-enum letssplit_keycodes {
- QWERTY = SAFE_RANGE,
- DVORAK,
- GAME,
- LEFTY,
- RIGHTY,
- DUAL,
-};
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO // Toggle NKRO
-#define CTLESC MT(MOD_LCTL, KC_ESC) // Hold for left Ctrl, tap for Esc
-#define SHFTENT MT(MOD_RSFT, KC_ENT) // Hold for right 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_BSPC,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, SHFTENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_PSCR, KC_BSPC, KC_LALT, KC_CAPS, LEFTY, KC_LGUI, KC_SPC, RIGHTY, 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_BSPC,
- CTLESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, SHFTENT,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH,
- KC_PSCR, KC_LGUI, KC_LALT, KC_CAPS, LEFTY, KC_BSPC, KC_SPC, RIGHTY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_GAME] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, _______, _______, _______, _______, QWERTY,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, _______, _______, _______, _______,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, _______, _______, _______,
- KC_LCTL, KC_1, KC_2, KC_3, LEFTY, KC_SPC, KC_BSPC, RIGHTY, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
-),
-
-[_LEFTY] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
-[_RIGHTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_EQL, KC_MINS, KC_BSLS, KC_SLSH, _______, _______,
- _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_DUAL] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, QWERTY, GAME, _______, _______, _______, _______, QK_BOOT,
- _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
- _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, TG_NKRO, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, DVORAK, _______, _______, _______, _______, _______
-)
-};
-
-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) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
- case GAME:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_GAME);
- }
- return false;
- break;
- case LEFTY:
- if (record->event.pressed) {
- layer_on(_LEFTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- } else {
- layer_off(_LEFTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- }
- return false;
- break;
- case RIGHTY:
- if (record->event.pressed) {
- layer_on(_RIGHTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- } else {
- layer_off(_RIGHTY);
- update_tri_layer(_LEFTY, _RIGHTY, _DUAL);
- }
- return false;
- break;
- case DUAL:
- if (record->event.pressed) {
- layer_on(_DUAL);
- } else {
- layer_off(_DUAL);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
deleted file mode 100644
index 80e267e458..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,136 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keymap_layout {
- VANILLA = 0, // matches MF68 layout
- CS_GO, // 0x08
- FUNC, // 0x10
- SETTINGS, // 0x20
-};
-
-enum {
- TD_ESC_FUNC = 0,
- TD_ESC_CTRL,
- TD_SPC_SPAM
-};
-
-bool spam_space = false;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * ,---------. ,------------------------------------------------------------. ,---------.
- * |Vol-|Vol+| |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| | Ins|PgUp|
- * |---------| |------------------------------------------------------------| |---------|
- * | F3 | F4 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del|PgDn|
- * |---------| |------------------------------------------------------------| `---------'
- * | F5 | F6 | |Control | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |---------| |------------------------------------------------------------| ,----.
- * | F7 | F8 | |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | | Up |
- * |---------| |-------------------------------------------------------------------------.
- * | F9 | F10| |Func|Alt |Cmd | Space |Cmd |Alt |Func | |Lft| Dn |Rig |
- * `---------' `------------------------------------------------------' `-------------'
- */
- [VANILLA] = LAYOUT_split_rshift(
- KC_VOLD, KC_VOLU, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, LALT(KC_F5), KC_PGUP,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_F5, KC_F6, TD(TD_ESC_FUNC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(CS_GO), KC_UP,
- KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [CS_GO] = LAYOUT_split_rshift(
- _______, _______, QK_GESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap FUNCTION: Function Layer
- * ,---------. ,-------------------------------------------------------------. ,---------.
- * | V- | V+ | | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | Ins|Home|
- * |---------| |-------------------------------------------------------------| |---------|
- * | | | |Tab | |PgU| | | | | | Up| | | | | | | Del|End |
- * |---------| |-------------------------------------------------------------| `---------'
- * | | | |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
- * |---------| |-------------------------------------------------------------| ,----.
- * | | | |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
- * |---------| |--------------------------------------------------------------------------.
- * | | F10| |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
- * `---------' `------------------------------------------------------' `-------------'
- */
- [FUNC] = LAYOUT_split_rshift(
- _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, TO(CS_GO), KC_HOME,
- _______, _______, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_END,
- _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), XXXXXXX, _______,
- _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap SETTINGS: Settings Layer
- * ,---------. ,-----------------------------------------------------------. ,-------------.
- * | | | |FN0 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
- * |---------| |-----------------------------------------------------------| |-------------|
- * | | | |Debug| | | | | | | | | | | | |RGBTst| |RGB Mode|Val-|
- * |---------| |-----------------------------------------------------------| `-------------'
- * | | | |LayrClr|Hz+|MS+| | | | | | | | | | RST |
- * |---------| |-----------------------------------------------------------| ,----.
- * | | | |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
- * |---------| |------------------------------------------------------------------------.
- * | | | | | | | Print Debug | | | | |Sat-|Hue-|Sat+|
- * `---------' `------------------------------------------------------' `--------------'
- */
- [SETTINGS] = LAYOUT_split_rshift(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI,
- XXXXXXX, XXXXXXX, DB_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI
- )
-};
-
-void tap_space_spam_finished(tap_dance_state_t *state, void *user_data) {
- if (get_mods() & (MOD_BIT(KC_LGUI))) {
- return;
- }
- if (state->pressed) {
- spam_space = true;
- }
- tap_code(KC_SPC);
-}
-
-void tap_space_spam_reset(tap_dance_state_t *state, void *user_data) {
- spam_space = false;
- unregister_code(KC_SPC);
-}
-
-void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
- if (state->pressed) {
- layer_on(FUNC);
- } else {
- tap_code(KC_ESC);
- }
-}
-
-void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
- layer_off(FUNC);
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
- [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset),
-};
-
-void matrix_scan_user(void) {
- if (spam_space && !(get_mods() & (MOD_BIT(KC_LGUI)))) {
- tap_code(KC_SPC);
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if ((layer_state & (1 << CS_GO)) && (keycode == 44)) {
- if (get_mods() & (MOD_BIT(KC_LGUI))) {
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md
deleted file mode 100644
index 85b7b1a8d2..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for bluepad
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk
deleted file mode 100644
index 732bfcfa8f..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-AUDIO_ENABLE = no
-TAP_DANCE_ENABLE = yes
-WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
deleted file mode 100644
index 3be46837c1..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keymap_layout {
- VANILLA = 0, // matches MF68 layout
- DEFAULT_WKL, // 0x02 Function in CapsLock location, gui key disabled
- DEFAULT_OSX, // 0x04 Function in CapsLock location, gui/alt swapped for OSX
- CS_GO, // 0x08 Function in CapsLock location, gui/alt swapped for OSX
- FUNC, // 0x10
- SETTINGS, // 0x20
-};
-
-enum {
- TD_ESC_FUNC = 0,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap VANILLA: (Base Layer) Default Layer
- * ,-----------------------------------------------------------------------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------| ,----.
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |ALT |GUI |CTRL |Func| |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [VANILLA] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Keymap DEFAULT_TKL: (Base Layer) Default Layer
- * ,-----------------------------------------------------------------------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------| ,----.
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl| |Alt | Space |ALT | |CTRL |Func| |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [DEFAULT_WKL] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Keymap DEFAULT_OSX: (Base Layer) Default Layer
- * ,-----------------------------------------------------------------------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------| ,----.
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl| Opt |Cmd | Space |Cmd |Opt |CTRL |Func| |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [DEFAULT_OSX] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SCRL, KC_PAUS, LALT(KC_F5),
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- TD(TD_ESC_FUNC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [CS_GO] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap FUNCTION: Function Layer
- * ,-------------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | |
- * |-------------------------------------------------------------| |--------------|
- * |Tab | |PgU| | | | | | Up| | | | | | | | | |
- * |-------------------------------------------------------------| `--------------'
- * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
- * |-------------------------------------------------------------| ,----.
- * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
- * |-------------------------------------------------------------' ,-------------.
- * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
- * `------------------------------------------------------' `-------------'
- */
- [FUNC] = LAYOUT_tkl_ansi(
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, TO(CS_GO), _______, _______,
- XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______,
- _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap SETTINGS: Settings Layer
- * ,-----------------------------------------------------------. ,-------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * |LayClr| | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
- * |-----------------------------------------------------------| |-------------|
- * |Debug| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-|
- * |-----------------------------------------------------------| `-------------'
- * |AU_TOGG|Hz+|MS+| | | | | | | | | | RST |
- * |-----------------------------------------------------------| ,----.
- * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
- * |------------------------------------------------------------------------.
- * | | | | Print Debug | | | | |Sat-|Hue-|Sat+|
- * `------------------------------------------------------' `--------------'
- */
- [SETTINGS] = LAYOUT_tkl_ansi(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX,
- MU_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX,
- AU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI
- )
-};
-
-void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
- if (state->pressed) {
- layer_on(FUNC);
- } else {
- tap_code(KC_ESC);
- }
-}
-
-void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
- layer_off(FUNC);
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if ((layer_state & (1 << CS_GO)) && (keycode == 44)) {
- if (get_mods() & (MOD_BIT(KC_LGUI))) {
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md
deleted file mode 100644
index 56742f3b28..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for LFK87
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
deleted file mode 100644
index eb12c33f4a..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-TAP_DANCE_ENABLE = yes
-WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c
deleted file mode 100644
index 0191b3570f..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keymap_layout {
- VANILLA = 0, // matches MF68 layout
- FUNC, // 0x08
- SETTINGS, // 0x10
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap VANILLA: (Base Layer) Default Layer
- * ,-----------------------------------------------------------------------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------| ,----.
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [VANILLA] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, LGUI(KC_D), KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(FUNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Keymap FUNCTION: Function Layer
- * ,-------------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | |
- * |-------------------------------------------------------------| |--------------|
- * |Tab | |PgU| | | | | | Up| | | | | | | | | |
- * |-------------------------------------------------------------| `--------------'
- * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
- * |-------------------------------------------------------------| ,----.
- * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
- * |-------------------------------------------------------------' ,-------------.
- * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
- * `------------------------------------------------------' `-------------'
- */
- [FUNC] = LAYOUT_tkl_ansi(
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______,
- XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______,
- _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap SETTINGS: Settings Layer
- * ,-----------------------------------------------------------. ,-------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
- * |-----------------------------------------------------------| |-------------|
- * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-|
- * |-----------------------------------------------------------| `-------------'
- * |AudTgl |Hz+|MS+| | | | | | | | | | RST |
- * |-----------------------------------------------------------| ,----.
- * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
- * |--------------------------------------------------------------------------.
- * | | | | | | | | | |Sat-|Hue-|Sat+|
- * `----------------------------------------------------------------------------'
- */
- [SETTINGS] = LAYOUT_tkl_ansi(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX,
- MU_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX,
- AU_TOGG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI
- )
-};
-
-void matrix_init_user(void) {
- // This keymap only has a single base layer, so reset the default if needed
- if (eeconfig_read_default_layer() > 1) {
- eeconfig_update_default_layer(1);
- default_layer_set(1);
- }
-}
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
deleted file mode 100644
index bcd6b23d23..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h
deleted file mode 100644
index c70c7d8817..0000000000
--- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2021 Pascal Pfeil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* 1000Hz USB polling */
-#define USB_POLLING_INTERVAL_MS 1
-
-/* Force NKRO on boot up */
-#define FORCE_NKRO
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_TIMEOUT 900000
diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c
deleted file mode 100644
index 466adfea47..0000000000
--- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright 2021 Pascal Pfeil
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_numpad_6x4(
- KC_ESC, KC_TAB, KC_BSPC, MO(1),
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT
- ),
-
- /* RGB */
- [1] = LAYOUT_numpad_6x4(
- RGB_SAI, RGB_VAI, RGB_HUI, _______,
- RGB_SAD, RGB_VAD, RGB_HUD, QK_BOOT,
- RGB_M_X, RGB_M_G, RGB_MOD,
- RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_RMOD,
- RGB_M_P, RGB_M_B, RGB_M_R,
- XXXXXXX, XXXXXXX, RGB_TOG
- ),
-
- /* VIA wants four keymaps */
- [2] = LAYOUT_numpad_6x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
-
- /* VIA wants four keymaps */
- [3] = LAYOUT_numpad_6x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
-};
diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/rules.mk b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/rules.mk
deleted file mode 100644
index 36b7ba9cbc..0000000000
--- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
deleted file mode 100644
index 9e3927f545..0000000000
--- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,108 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum keymap_layout {
- VANILLA = 0, // matches MF68 layout
- FUNC, // 0x08
- SETTINGS, // 0x10
-};
-
-enum {
- TD_ESC_FUNC = 0,
- TD_ESC_CTRL,
- TD_SPC_SPAM
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap VANILLA: (Base Layer) Default Layer
- * ,-----------------------------------------------------------------------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------| ,----.
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [VANILLA] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- TD(TD_ESC_FUNC), KC_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, LALT(KC_F5),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- /* Keymap FUNCTION: Function Layer
- * ,-------------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | |
- * |-------------------------------------------------------------| |--------------|
- * |Tab | |PgU| | | | | | Up| | | | | | | | | |
- * |-------------------------------------------------------------| `--------------'
- * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
- * |-------------------------------------------------------------| ,----.
- * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
- * |-------------------------------------------------------------' ,-------------.
- * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
- * `------------------------------------------------------' `-------------'
- */
- [FUNC] = 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, _______, _______, _______, _______,
- XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
- _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______,
- _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Keymap SETTINGS: Settings Layer
- * ,-----------------------------------------------------------. ,-------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
- * |-------------------------------------------------------------| |--------------|
- * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
- * |-----------------------------------------------------------| |-------------|
- * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-|
- * |-----------------------------------------------------------| `-------------'
- * |AudTgl |Hz+|MS+| | | | | | | | | | RST |
- * |-----------------------------------------------------------| ,----.
- * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
- * |--------------------------------------------------------------------------.
- * | | | | | | | | | |Sat-|Hue-|Sat+|
- * `----------------------------------------------------------------------------'
- */
- [SETTINGS] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX,
- MU_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX,
- AU_TOGG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX
- )
-};
-
-void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
- if (state->pressed) {
- layer_on(FUNC);
- } else {
- tap_code(KC_ESC);
- }
-}
-
-void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
- layer_off(FUNC);
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
-};
-
-void matrix_init_user(void) {
- // This keymap only has a single base layer, so reset the default if needed
- if (eeconfig_read_default_layer() > 1) {
- eeconfig_update_default_layer(1);
- default_layer_set(1);
- }
-}
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/barabas/config.h b/keyboards/lily58/keymaps/barabas/config.h
deleted file mode 100644
index 5c9d0a8ec7..0000000000
--- a/keyboards/lily58/keymaps/barabas/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2020 Barabas Raffai
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define MASTER_LEFT
diff --git a/keyboards/lily58/keymaps/barabas/keymap.c b/keyboards/lily58/keymaps/barabas/keymap.c
deleted file mode 100644
index cd095f3a73..0000000000
--- a/keyboards/lily58/keymaps/barabas/keymap.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
-Copyright 2020 Barabas Raffai
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 uint8_t is_master;
-
-enum layer_number {
- _QWERTY = 0,
- _GAME,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-/* clang-format off */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | | | | | | | | | | | | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_ENT, MO(_RAISE), KC_BSPC, KC_RGUI
-),
-
- /* game layer adds the number row back */
-
-[_GAME] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | _ | + | { | } | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
- _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | GAME |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| Left | Down | Up |Right | | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| + | - | = | [ | ] | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_GAME),
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-/* clang-format on */
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-// SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master()) return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-# define RAISE_MASK (1 << _RAISE)
-# define LOWER_MASK (1 << _LOWER)
-# define GAME_MASK (1 << _GAME)
-void write_layer_state(void) {
- switch (layer_state & (~GAME_MASK)) {
- case (RAISE_MASK | LOWER_MASK):
- oled_write_P(PSTR("Adjust"), false);
- break;
- case RAISE_MASK:
- oled_write_P(PSTR("Raise"), false);
- break;
- case LOWER_MASK:
- oled_write_P(PSTR("Lower"), false);
- break;
- case 0:
- oled_write_P(PSTR("Default"), false);
- break;
- default:
- oled_write_P(PSTR("Undef-"), false);
- {
- char s[3];
- itoa(layer_state, s, 16);
- oled_write(s, false);
- }
- break;
- }
-
- if (layer_state & GAME_MASK) {
- oled_write_P(PSTR(" + Game"), false);
- }
-
- oled_advance_page(true);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- write_layer_state();
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
- } else {
- oled_write(read_logo(), false);
- }
- return false;
-}
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/barabas/readme.md b/keyboards/lily58/keymaps/barabas/readme.md
deleted file mode 100644
index db87722c0e..0000000000
--- a/keyboards/lily58/keymaps/barabas/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Barabas' Lily58 Layout
-
-Changes from the default layout:
-- Add a layer to toggle number row. I keep missing when stretching up here,
- trying to get used to the Raise layer instead.
-- [Vim](https://www.vim.org/) style arrow keys.
diff --git a/keyboards/lily58/keymaps/barabas/rules.mk b/keyboards/lily58/keymaps/barabas/rules.mk
deleted file mode 100644
index 8b1d516b71..0000000000
--- a/keyboards/lily58/keymaps/barabas/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-NKRO_ENABLE = yes
-COMMAND_ENABLE = yes
-
-SRC += ./lib/rgb_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
diff --git a/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h b/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h
deleted file mode 100644
index e5d0aa6699..0000000000
--- a/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- This is the c configuration file for the keymap
-
- Copyright 2012 Jun Wako <wakojun@gmail.com>
- Copyright 2015 Jack Humbert
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
- #pragma once
-
- //#define USE_MATRIX_I2C
-
- /* Select hand configuration */
-
- // #define MASTER_LEFT
- #define MASTER_LEFT
- // #define EE_HANDS
-
- #define QUICK_TAP_TERM 0
- #define TAPPING_TERM 200
-
- #undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLED_NUM 27
- #define RGBLIGHT_LIMIT_VAL 120
- #define RGBLIGHT_HUE_STEP 10
- #define RGBLIGHT_SAT_STEP 17
- #define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/lily58/keymaps/bongocat_wpm_responsive/keymap.c b/keyboards/lily58/keymaps/bongocat_wpm_responsive/keymap.c
deleted file mode 100644
index e4b9ad269d..0000000000
--- a/keyboards/lily58/keymaps/bongocat_wpm_responsive/keymap.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/* Copyright 2021 (@dbrglc)
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-
-enum custom_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-
-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 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |CANC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LCTRL| LAlt | LGUI | /Space / \Enter \ |BackSP| RAISE |LOWER |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_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_EQL,
- 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_DEL, 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, KC_BSPC, RAISE, LOWER
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | _ | + | { | } | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LCTRL| LAlt | LGUI | /Space / \Enter \ |BackSP| RAISE |LOWER |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
- _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LCTRL| LAlt | LGUI | /Space / \Enter \ |BackSP| RAISE |LOWER |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LCTRL| LAlt | LGUI | /Space / \Enter \ |BackSP| RAISE |LOWER |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-// const char *read_mode_icon(bool swap);
-// const char *read_host_led_state(void);
-// void set_timelog(void);
-// const char *read_timelog(void);
-
-char wpm_str[16];
-
-// WPM-responsive animation stuff here
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 40 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-#define TAP_FRAMES 2
-#define TAP_SPEED 60 // above this wpm value typing animation to triggere
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-#define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, may need fixing
-#define ANIM_SIZE 640 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint16_t anim_timer = 0;
-uint16_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-//
-// Render right OLED display animation
-//
-static void render_anim(void) {
-
- // Idle animation
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
- 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
- };
-
- // Prep animation
- static const char PROGMEM prep[][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- // Typing animation
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
- 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
- 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- //assumes 1 frame prep stage
- void animation_phase(void) {
- if(get_current_wpm() <=IDLE_SPEED){
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_clear();
- oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
- }
- if(get_current_wpm() >IDLE_SPEED && get_current_wpm() <TAP_SPEED){
- oled_clear();
- // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
- oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
- }
- if(get_current_wpm() >=TAP_SPEED){
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_clear();
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
- if(get_current_wpm() != 0) {
- if(timer_elapsed(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read();
- animation_phase();
- }
- anim_sleep = timer_read();
- } else {
- if(timer_elapsed(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read();
- animation_phase();
- }
- if(timer_elapsed(anim_sleep) > SLEEP_TIMER) {
-// oled_off();
- }
- }
-}
-
-void oled_task_user(void) {
- if (is_keyboard_master()) {
- oled_set_cursor(0,1);
- uint8_t n = get_current_wpm();
- char wpm_counter[4];
- wpm_counter[3] = '\0';
- wpm_counter[2] = '0' + n % 10;
- wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
- wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
- oled_write_P(PSTR("WPM: "), false);
- oled_write(wpm_counter, false);
- oled_set_cursor(0,3); {
- oled_write_ln(read_layer_state(), false);
- }
- } else {
- render_anim();
- }
-}
-#endif // OLED_DRIVER_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- // set_timelog();
- }
-
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/bongocat_wpm_responsive/readme.md b/keyboards/lily58/keymaps/bongocat_wpm_responsive/readme.md
deleted file mode 100644
index 2bcd7e87f8..0000000000
--- a/keyboards/lily58/keymaps/bongocat_wpm_responsive/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Responsive Bongo Cat layout for Lily58 :drum: :smile_cat:
-
-This split ergo layout follows the layout of another ergo split keyboard with the following changes:
-
-* I put the space on the Left thumb and the Enter on the right thumb :thumbsup:
-
-* Near the thumbs there are all my most used keys as a Mac User :computer:
-
-* I edit the Bongo Cat to be responsive to the Word Per Minutes that you are writing :scream_cat:
-
-## Layers
-
-### Default layer
-
-![Default layer layout](https://i.imgur.com/padJXr2.png)
-
-### Raise layer
-
-![Raise layer layout](https://i.imgur.com/iqQDUXD.png)
-
-### Lower layer
-
-![Lower layer layout](https://i.imgur.com/EzNU2hq.png) \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/bongocat_wpm_responsive/rules.mk b/keyboards/lily58/keymaps/bongocat_wpm_responsive/rules.mk
deleted file mode 100644
index 787d72e3f1..0000000000
--- a/keyboards/lily58/keymaps/bongocat_wpm_responsive/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-WPM_ENABLE = yes
-LTO_ENABLE = yes
-
- # If you want to change the display of OLED, you need to change here
- SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
- # ./lib/mode_icon_reader.c \
- # ./lib/host_led_state_reader.c \
- # ./lib/timelogger.c \ \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/chuan/config.h b/keyboards/lily58/keymaps/chuan/config.h
deleted file mode 100644
index b3a47769bf..0000000000
--- a/keyboards/lily58/keymaps/chuan/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define USE_MATRIX_I2C
-
-// #define USE_I2C
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-
-/* define tapping term */
-#define TAPPING_TERM 200
-
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-#define ENCODERS_PAD_A { F4 }
-#define ENCODERS_PAD_B { F5 }
-
-
- /* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-// Underglow
-/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_SLEEP
-*/
diff --git a/keyboards/lily58/keymaps/chuan/keymap.c b/keyboards/lily58/keymaps/chuan/keymap.c
deleted file mode 100644
index 58a19ebd5f..0000000000
--- a/keyboards/lily58/keymaps/chuan/keymap.c
+++ /dev/null
@@ -1,225 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-
-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 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |HYPER | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| - | | + |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LCtl | LGUI |LALT | /Space / \Space \ |RAISE | [ | ] |
- * | | | |/ LOWER / \ \ | ' | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_QWERTY] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- ALL_T(KC_GRV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINS, MEH_T(KC_EQL), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT,LT(_LOWER, KC_SPC), KC_SPC, LT(2,KC_QUOT), KC_LBRC, KC_RBRC
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
- * |------+------+------+------+------+------| cmd spc| | |------+------+------+------+------+------|
- * | | | |ctrl c| | |-------| |-------| | - | _ | [ | ] | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE | { | } |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- _______, _______, _______, C(KC_C), _______, _______, LGUI(KC_SPC), _______, _______, KC_MINS, KC_UNDS , KC_LBRC, KC_RBRC, KC_PIPE,
- _______, _______, _______, _______, _______, RAISE, KC_LCBR, KC_RCBR
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, _______,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_6, LCTL(LSFT(KC_TAB)),KC_UP,LCTL(KC_TAB), KC_0, _______,
- _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_RGHT, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, TG(_ADJUST),KC_PLUS, KC_MUTE ,KC_VOLD ,KC_VOLU, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | 7 | 8 | 9 |RGB ON| HUE+ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | 4 | 5 | 6 | MODE | HUE- |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | 1 | 2 | 3 | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | |DEFAULT|------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | 0 | 0 | . | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7 , KC_8 , KC_9 , RGB_TOG, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , RGB_MOD, RGB_HUD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1 , KC_2 , KC_3 , RGB_SAI, RGB_VAI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(_ADJUST), XXXXXXX, KC_0 , KC_0 , KC_DOT, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______,KC_BSPC, _______
- )
-};
-
-int RGB_current_mode;
-
-int counter = 0;
-int lastIndex = 9;
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
-}
-
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-const char *read_mode_icon(bool swap);
-const char *read_host_led_state(void);
-void set_timelog(void);
-const char *read_timelog(void);
-
-char encoder_debug[24];
-
-bool oled_task_user(void) {
- // Host Keyboard Layer Status
- snprintf(encoder_debug, sizeof(encoder_debug), "%i %i", counter, lastIndex );
- if (is_keyboard_master()) {
- // If you want to change the display of OLED, you need to change here
- oled_write_ln(read_layer_state(), false);
- // oled_write_ln(read_keylog(), false);
- // oled_write_ln(read_keylogs(), false);
- // oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
- oled_write_ln(read_host_led_state(), false);
- oled_write_ln(encoder_debug, false);
- // oled_write_ln(read_timelog(), false);
- } else {
- oled_write(read_logo(), false);
- // oled_write_ln(encoder_debug, false);
- }
- return false;
-}
-#endif //OLED_ENABLE
-
-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_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- lastIndex = index;
- if (clockwise) {
- counter++;
- tap_code(KC_PGDN);
- } else {
- counter--;
- tap_code(KC_PGUP);
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/chuan/rules.mk b/keyboards/lily58/keymaps/chuan/rules.mk
deleted file mode 100644
index 3e05cb7d92..0000000000
--- a/keyboards/lily58/keymaps/chuan/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-EXTRAKEY_ENABLE = yes
-NKRO_ENABLE = yes
-ENCODER_ENABLE = yes
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/mode_icon_reader.c \
- ./lib/host_led_state_reader.c \
- ./lib/timelogger.c \
- ./lib/keylogger.c \
diff --git a/keyboards/lily58/keymaps/datadavd/config.h b/keyboards/lily58/keymaps/datadavd/config.h
deleted file mode 100644
index c851d7ad0e..0000000000
--- a/keyboards/lily58/keymaps/datadavd/config.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 50
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-// Mouse configs
-#define MOUSEKEY_DELAY 150
-
-// Underglow
-/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_SLEEP
-*/
diff --git a/keyboards/lily58/keymaps/datadavd/keymap.c b/keyboards/lily58/keymaps/datadavd/keymap.c
deleted file mode 100644
index d0c34ef21e..0000000000
--- a/keyboards/lily58/keymaps/datadavd/keymap.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright 2021 David Dansby
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _SUPER,
- _RAISE,
- _MOUSE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |BackSP|
- * |------+------+------+------+------+------| |------+------+------+------+------+----- |
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
- * |------+------+------+------+------+------| |------+------+------+------+------+----- |
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ;: | '" |
- * |------+------+------+------+------+------| `~ | | Enter |------+------+------+------+------+------|
- * |LCTRL | Z | X | C | V | B |-------| |-------| N | M | ,< | .> | ?/ |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | [ | LAlt | LGUI | /SUPER / \Space \ |RAISE | RGUI | ] |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_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_GRV, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LBRC, KC_LALT, KC_LGUI, MO(_SUPER), KC_SPC, MO(_RAISE), KC_RGUI, KC_RBRC
-),
-/* SUPER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Pwr |Pwr Dn| Sleep| Wake | XXXX | XXXX | | \| | `~ | } | -_ | =+ |BackSP|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Tab | ESC |Enter |LCTRL | { | | ) | Tab | Up | {[ | ]} | \| |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift|LShift| LGUI | LAlt | _ | ( |-------. ,-------|BackSP| Left | Down |Right | = |Enter |
- * |------+------+------+------+------+------| CAPS | | `~ |------+------+------+------+------+------|
- * |LCTRL |LCTRL | Home |Pg Up |Pg Dwn| End |-------| |-------| B | V | C | X | Z |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |Trans | LAlt |LGUI | /Trans / \Space \ |Del | TGUI |Trans |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_SUPER] = LAYOUT(
- KC_PWR, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_BSLS, KC_GRV, KC_RCBR, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_TAB, KC_ESC, KC_ENT, KC_LCTL, KC_LCBR, KC_RPRN, KC_TAB, KC_UP, KC_LBRC, KC_RBRC, KC_TRNS,
- KC_LSFT, KC_LSFT, KC_LGUI, KC_LALT, KC_UNDS, KC_LPRN, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_EQL, KC_ENT,
- KC_LCTL, KC_LCTL, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_CAPS, KC_GRV, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_RSFT,
- KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_DEL, KC_RGUI, KC_TRNS
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | TAB | XXXX | ( | ) | TAB | | MUTE | VOLU | Up |_MOUSE|ENTER | CAPS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift|LShift| DEL | [ | ] | `~ |-------. ,-------| VOLD | Left | Down |Right |RShift|_MOUSE|
- * |------+------+------+------+------+------| BRID | | BRIU |------+------+------+------+------+------|
- * |LCTRL |LCTRL | MRWD | MPLY | MFFD | MSTP |-------| |-------| End |Pg Dwn|Pg Up | Home |RShift|RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |MS_BT2| LAlt | LGUI | /BackSP / \Trans \ |Trans |Trans | XXXX |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TAB, KC_TAB, KC_NO, KC_LPRN, KC_RPRN, KC_TAB, KC_MUTE, KC_VOLU, KC_UP, MO(_MOUSE), KC_ENT, KC_CAPS,
- KC_LSFT, KC_LSFT, KC_DEL, KC_LBRC, KC_RBRC, KC_GRV, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_RSFT, MO(_MOUSE),
- KC_LCTL, KC_LCTL, KC_MRWD, KC_MPLY, KC_MFFD, KC_MSTP, KC_BRID, KC_BRIU, KC_END, KC_PGDN, KC_PGUP, KC_HOME, KC_RSFT, KC_RSFT,
- KC_NO, KC_LALT, KC_LGUI, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO
-),
-/* MOUSE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | XXXX | XXXX |MS_W_D| MS_U |MS_W_U| XXXX | | XXXX | XXXX |LShift|Trans | LGUI | XXXX |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | XXXX |MS_BT2| MS_L | MS_D | MS_R | XXXX |-------. ,-------| XXXX | XXXX | XXXX | XXXX | XXXX |Trans |
- * |------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+------|
- * | XXXX | XXXX |MS_W_R|MS_BT3|MS_W_L| XXXX |-------| |-------| XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | XXXX | XXXX | XXXX | / MS_BT1/ \ XXXX \ |Trans | XXXX | XXXX |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_MOUSE] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_WH_D, KC_MS_U, KC_WH_U, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_TRNS, KC_LGUI, KC_NO,
- KC_NO, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_NO, KC_WH_R, KC_BTN3, KC_WH_L, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_BTN1, KC_NO, KC_TRNS, KC_NO, KC_NO
-)
-};
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-//const char *read_keylog(void);
-//const char *read_keylogs(void);
-
-// const char *read_mode_icon(bool swap);
-// const char *read_host_led_state(void);
-// void set_timelog(void);
-// const char *read_timelog(void);
-
-static void render_logo(void) {
- static const char PROGMEM my_logo[] = {
- // Paste the code from the previous step below this line!
- // 'DataDavD Logo', 128x32px
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0xf9, 0xf9, 0xf9, 0xe1, 0xe7, 0x07, 0xff, 0xff,
- 0xff, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0xff, 0xff,
- 0xff, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x61, 0x61, 0x67, 0x67, 0x67, 0x67, 0x07, 0x07, 0xff,
- 0xff, 0x01, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01, 0xff,
- 0xff, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0xf9, 0xf9, 0xf9, 0xe1, 0xe7, 0x07, 0xff,
- 0xff, 0xff, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0xff,
- 0xff, 0xff, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01,
- 0xff, 0xff, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0x19, 0xf9, 0xf9, 0xe1, 0xe1, 0x07, 0x07,
- 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x9f, 0x9f, 0x9f, 0x87, 0xe7, 0xe0, 0xff, 0xff,
- 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0xff, 0xff,
- 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9e, 0x9e, 0x9e, 0x9e, 0x80, 0x80, 0xff,
- 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0x80, 0xff,
- 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x9f, 0x9f, 0x9f, 0x87, 0xe7, 0xe0, 0xff,
- 0xff, 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0xff,
- 0xff, 0xff, 0xe0, 0xe7, 0x87, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9f, 0x9f, 0x87, 0x87, 0xe0, 0xe0,
- 0xff, 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9f, 0x9f, 0x87, 0x87, 0xe0, 0xe0,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-
- };
-
- oled_write_raw_P(my_logo, sizeof(my_logo));
-}
-
-static void render_lfc_logo(void) {
- static const char PROGMEM my_lfc_logo[] = {
- // Paste the code from the previous step below this line!
- // 'YNWA', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff,
- 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc3, 0x87,
- 0x1f, 0x3f, 0x1f, 0x8f, 0xc3, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xf0, 0xe1,
- 0xc3, 0x87, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0xfc, 0xf0, 0x00, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x81, 0x03, 0x1f, 0xff, 0xff,
- 0xff, 0xff, 0x1f, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x87, 0xe1, 0xf0, 0xc0,
- 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf1, 0xc3, 0x87, 0x1f, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xf8, 0x80, 0x03, 0x1f, 0x07, 0xc0, 0xf8, 0xff, 0xff, 0xfe, 0xf0, 0x81, 0x0f,
- 0x07, 0x80, 0xf0, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x87, 0xe1, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9,
- 0xf9, 0xf8, 0xe0, 0x03, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
- 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- };
-
- oled_write_raw_P(my_lfc_logo, sizeof(my_lfc_logo));
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_logo();
- } else {
- render_lfc_logo();
- }
- return false;
-}
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
-#endif
- }
- return true;
-}
-
-#include <stdio.h>
-#include "lily58.h"
-
-#define L_BASE 0
-#define L_SUPER (1 << 1)
-#define L_RAISE (1 << 2)
-
-char layer_state_str[24];
-
-const char *read_layer_state(void) {
- switch (layer_state)
- {
- case L_BASE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
- break;
- case L_RAISE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
- break;
- case L_SUPER:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Super");
- break;
- default:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
- }
-
- return layer_state_str;
-}
diff --git a/keyboards/lily58/keymaps/datadavd/rules.mk b/keyboards/lily58/keymaps/datadavd/rules.mk
deleted file mode 100644
index b53fed1a72..0000000000
--- a/keyboards/lily58/keymaps/datadavd/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/logo_reader.c
diff --git a/keyboards/lily58/keymaps/default/config.h b/keyboards/lily58/keymaps/default/config.h
index b16e63b6d7..5b45770f38 100644
--- a/keyboards/lily58/keymaps/default/config.h
+++ b/keyboards/lily58/keymaps/default/config.h
@@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
+#define RGBLIGHT_LED_COUNT 27
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
@@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Underglow
/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_SLEEP
*/
diff --git a/keyboards/lily58/keymaps/domnantas/config.h b/keyboards/lily58/keymaps/domnantas/config.h
deleted file mode 100644
index 830139cc03..0000000000
--- a/keyboards/lily58/keymaps/domnantas/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
-
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 100
diff --git a/keyboards/lily58/keymaps/domnantas/keymap.c b/keyboards/lily58/keymaps/domnantas/keymap.c
deleted file mode 100644
index 56812e6901..0000000000
--- a/keyboards/lily58/keymaps/domnantas/keymap.c
+++ /dev/null
@@ -1,285 +0,0 @@
- /* Copyright 2020 Domantas Petrauskas
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <stdio.h>
-
-#define LT_1 RALT(KC_1)
-#define LT_2 RALT(KC_2)
-#define LT_3 RALT(KC_3)
-#define LT_4 RALT(KC_4)
-#define LT_5 RALT(KC_5)
-#define LT_6 RALT(KC_6)
-#define LT_7 RALT(KC_7)
-#define LT_8 RALT(KC_8)
-#define LT_9 RALT(KC_9)
-#define LT_0 RALT(KC_0)
-
-// Naming according to Unicode specifications
-#define LT_A_OG KC_1
-#define LT_C_CA KC_2
-#define LT_E_OG KC_3
-#define LT_E_DO KC_4
-#define LT_I_OG KC_5
-#define LT_S_CA KC_6
-#define LT_U_OG KC_7
-#define LT_U_MA KC_8
-#define LT_Z_CA KC_EQL
-
-#define LT_EQL RALT(KC_EQL)
-
-// OLED setup
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 30
-#define TAP_FRAMES 2
-#define TAP_SPEED 40
-#define ANIM_FRAME_DURATION 200
-#define ANIM_SIZE 512
-
-char wpm_str[10];
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-static long int oled_timeout = OLED_TIMEOUT; // 10 minutes
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-const bool *is_keyboard_left(void);
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | Ą | Č | Ę | Ė | Į | | Š | Ų | Ū | ( | ) | Ž |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LCTRL | Z | X | C | V | B |-------| |-------| N | M | , | . | / | RAlt |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt |LOWER | / Space / \Enter \ | Bksp |RAISE | Del |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, LT_A_OG, LT_C_CA, LT_E_OG, LT_E_DO, LT_I_OG, LT_S_CA, LT_U_OG, LT_U_MA, KC_9, KC_0, LT_Z_CA,
- 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RALT,
- KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_ENT, KC_BSPC, MO(_RAISE), KC_DEL
- ),
-
- /* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | 4 | 5 | 6 | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| 7 | 8 | 9 | 0 | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LCTRL | = | + | - | | | |-------| |-------| | | | | \ | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt |LOWER | / Space / \ Enter\ | Bksp |RAISE | Del |
- * | | ||||||||/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_LOWER] = LAYOUT(
- _______, LT_1, LT_2, LT_3, LT_4, LT_5, LT_6, LT_7, LT_8, LT_9, LT_0, KC_GRV,
- _______, LT_4, LT_5, LT_6, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, LT_7, LT_8, LT_9, LT_0, _______, _______, _______, _______, _______, _______, _______,
- _______, LT_EQL, KC_PPLS, KC_PMNS, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |PrScr |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | F11 | F12 | | | | | | PgUp | Home | Up | End | Vol+ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| | | | | |-------. ,-------| | PgDn | Left | Down |Right | Vol- |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LCTRL | Undo | Cut | Copy |Paste | |-------| |-------| | |MPrev |MNext |MPlPa | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt |LOWER | / Space / \ Enter\ | Bksp |RAISE | Del |
- * | | | |/ / \ \ | |||||||| |
- * `----------------------------' '------''--------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR,
- _______, KC_F11, KC_F12, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD,
- _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | CAPS | | | | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt |LOWER | /Space / \Enter \ | Bksp |RAISE | Del |
- * | | ||||||||/ / \ \ | |||||||| |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_left()) return OLED_ROTATION_270;
- return OLED_ROTATION_180;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-static void render_bongo_cat(void) {
-
- // Idle animation
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 100, 130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 100, 130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 8, 4, 2, 2, 4, 24, 96, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 194, 1, 1, 2, 2, 4, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0, 129, 130, 130, 132, 8, 16, 32, 64, 128, 0, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 25, 6, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 27, 3, 0, 64, 160, 34, 36, 20, 18, 18, 18, 11, 8, 8, 8, 8, 5, 5, 9, 9, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 4, 2, 2, 2, 4, 56, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 226, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
-
- };
-
- // Prep animation
- static const char PROGMEM prep[][ANIM_SIZE] = {
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 129, 128, 128, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 225, 26, 6, 9, 49, 53, 1, 138, 124, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 24, 6, 5, 152, 153, 132, 195, 124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
-
- };
-
- // Typing animation
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 248, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 129, 128, 128, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 1, 2, 4, 8, 16, 32, 67, 135, 7, 1, 0, 184, 188, 190, 159, 95, 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 24, 6, 5, 152, 153, 132, 67, 124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 61, 124, 252, 252, 252, 252, 252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 0, 1, 225, 26, 6, 9, 49, 53, 1, 138, 124, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 64, 160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 122, 122, 121, 121, 121, 121, 57, 49, 2, 2, 4, 4, 8, 8, 8, 136, 136, 135, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
-
- };
-
- void animation_phase(void) {
- if (get_current_wpm() <= IDLE_SPEED) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
- }
-
- if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
- oled_write_raw_P(prep[0], ANIM_SIZE);
- }
-
- if (get_current_wpm() >= TAP_SPEED) {
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
- }
- }
-
- if (get_current_wpm() != 000) {
- oled_on();
-
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > oled_timeout) {
- oled_off();
- } else {
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-static void render_status(void) {
- // WPM
- oled_write_ln_P(PSTR("wpm"), false);
- sprintf(wpm_str, "%03d", get_current_wpm());
- oled_write_ln(wpm_str, false);
- oled_write_ln_P(PSTR(""), false);
-
- // Layer display
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("deflt"), false);
- break;
- case _RAISE:
- oled_write_ln_P(PSTR("raise"), false);
- break;
- case _LOWER:
- oled_write_ln_P(PSTR("lower"), false);
- break;
- case _ADJUST:
- oled_write_ln_P(PSTR("adjst"), false);
- break;
- default:
- oled_write_ln_P(PSTR("error"), false);
- }
-
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR(""), false);
- oled_write_ln_P(PSTR(""), false);
- oled_write_ln_P(PSTR("caps"), led_state.caps_lock);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_left()) {
- render_status();
- } else {
- render_bongo_cat();
- }
- return false;
-}
diff --git a/keyboards/lily58/keymaps/domnantas/readme.md b/keyboards/lily58/keymaps/domnantas/readme.md
deleted file mode 100644
index 262f7ffad6..0000000000
--- a/keyboards/lily58/keymaps/domnantas/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Domnantas layout for Lily58 Pro
-
-## Features
-
-- Optimised for lithuanian layout, but works on English too
-- Backspace, Enter and Space are under thumbs, very little hand movement
-- LShift swapped with LCtrl
-- Numpad on Lower layer for left hand
-- Navigation, media keys on Raise layer for right hand
-- Status on the left OLED
-- BONGOCAT on the right
-
-## Instructions
-Since status is always on the left and Bongocat on the right, the keymap has to be flashed with different commands:
-
-```bash
-# Right hand
-qmk flash -kb lily58/rev1 -km domnantas -bl avrdude-split-left
-# Left hand
-qmk flash -kb lily58/rev1 -km domnantas -bl avrdude-split-right
-``` \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/domnantas/rules.mk b/keyboards/lily58/keymaps/domnantas/rules.mk
deleted file mode 100644
index 2942e18ed3..0000000000
--- a/keyboards/lily58/keymaps/domnantas/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-EXTRAKEY_ENABLE = yes
-WPM_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/druotoni/boot.c b/keyboards/lily58/keymaps/druotoni/boot.c
deleted file mode 100644
index ba46f8e361..0000000000
--- a/keyboards/lily58/keymaps/druotoni/boot.c
+++ /dev/null
@@ -1,309 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "boot.h"
-#include "fast_random.h"
-#include "draw_helper.h"
-#include "gui_state.h"
-
-// boot
-#define ANIM_BOOT_FRAME_DURATION 8
-uint16_t anim_boot_timer = 0;
-uint8_t anim_boot_current_frame = 0;
-
-#define NAVI_DURATION 55
-
-// terminal stuff
-#define TERMINAL_DURATION 25
-#define TERMINAL_LINE_NUMBER 19
-#define TERMINAL_LINE_MAX 14
-
-#define LILY_DURATION 50
-
-// halt
-#define ANIM_HALT_FRAME_DURATION 55
-uint16_t anim_halt_timer = 0;
-
-void reset_boot(void) {
- // frame zero
- anim_boot_current_frame = 0;
-}
-
-static void draw_lily_key(uint8_t x, uint8_t y, uint8_t *key_number, unsigned long key_state, uint8_t color) {
- uint8_t v = *key_number;
- unsigned long mask = 1;
- mask = mask << v;
-
- // ligth the key according to the mask
- if (((key_state & mask) == mask)) {
- color = !color;
- }
-
- draw_rectangle_fill(x, y, 3, 3, color);
- *key_number = v + 1;
-}
-
-static void draw_lily_key_row(uint8_t x, uint8_t y, int w, uint8_t *key_number, unsigned long key_state, uint8_t color) {
- // row of rectangle
- for (uint8_t i = 0; i < w; i++) {
- draw_lily_key(x + (i * 4), y, key_number, key_state, color);
- }
-}
-
-static void draw_lily_render(unsigned long key_state) {
- // different orientation base on side
-#if IS_LEFT
-
- uint8_t x = 0;
- uint8_t y = 56;
- uint8_t x_ref = 10 + x;
- uint8_t y_ref = 2 + y;
- uint8_t i_key_number = 0;
-
- for (uint8_t i = 0; i < 4; i++) {
- draw_lily_key_row(x_ref, y_ref + (i * 4), 4, &i_key_number, key_state, true);
- draw_lily_key_row(x_ref - 8, y_ref + 2 + (i * 4), 2, &i_key_number, key_state, true);
- }
-
- draw_lily_key_row(x_ref + 2, y_ref + (4 * 4), 3, &i_key_number, key_state, true);
-
- uint8_t x_side = x_ref + (4 * 4);
-
- draw_lily_key(x_side, y_ref + (2 * 4) + 2, &i_key_number, key_state, true);
- draw_lily_key(x_side, y_ref + (4 * 4), &i_key_number, key_state, true);
-
- // screen
- draw_rectangle(x_side, y_ref, 4, 8, true);
-
- // frame
- drawline_hr(x + 1, y + 2, 8, true);
- oled_write_pixel(x + 8, y + 1, true);
- drawline_hr(x + 8, y, 23, true);
-
- drawline_hr(x + 1, y + 20, 10, true);
- oled_write_pixel(x + 10, y + 21, true);
- drawline_hr(x + 10, y + 22, 16, true);
-
- drawline_vb(x, y + 3, 17, true);
- drawline_vb(x + 31, y + 1, 20, true);
- oled_write_pixel(x + 30, y + 21, true);
- oled_write_pixel(x + 29, y + 22, true);
- oled_write_pixel(x + 28, y + 23, true);
- oled_write_pixel(x + 27, y + 24, true);
- oled_write_pixel(x + 26, y + 23, true);
-#endif
-
-#if IS_RIGHT
- uint8_t i_key_number = 0;
-
- for (uint8_t i = 0; i < 4; i++) {
- draw_lily_key_row(7, 58 + (i * 4), 4, &i_key_number, key_state, true);
- draw_lily_key_row(23, 60 + (i * 4), 2, &i_key_number, key_state, true);
- }
-
- draw_lily_key_row(9, 74, 3, &i_key_number, key_state, true);
-
- draw_lily_key(3, 68, &i_key_number, key_state, true);
- draw_lily_key(3, 74, &i_key_number, key_state, true);
-
- // screen
- draw_rectangle(2, 58, 4, 8, true);
-
- // frame
- drawline_hr(23, 58, 8, true);
- oled_write_pixel(23, 57, true);
- drawline_hr(1, 56, 23, true);
-
- drawline_hr(21, 76, 10, true);
- oled_write_pixel(21, 77, true);
- drawline_hr(6, 78, 16, true);
-
- drawline_vb(31, 59, 17, true);
- drawline_vb(0, 57, 20, true);
- oled_write_pixel(1, 77, true);
- oled_write_pixel(2, 78, true);
- oled_write_pixel(3, 79, true);
- oled_write_pixel(4, 80, true);
- oled_write_pixel(5, 79, true);
-#endif
-}
-
-static void draw_lily(uint8_t f) {
- // frame for the events
- uint8_t tres_stroke = 10;
- uint8_t tres_boom = 30;
- uint8_t y_start = 56;
-
- if (f == 0 || f == tres_stroke || f == tres_boom) {
- // clean screen
- oled_clear();
- }
-
- // simple lily58 with all the keys
- if (f < tres_stroke) {
- draw_lily_render(0);
- }
-
- // increase number of random keys pressed
- if (f >= tres_stroke && f < tres_boom) {
- int inter_f = interpo_pourcent(tres_stroke, tres_boom, f);
-
- unsigned long key_state = fastrand_long();
- for (int r = 100 - inter_f; r > 0; r = r - 10) {
- key_state &= fastrand_long();
- }
- draw_lily_render(key_state);
- }
-
- // statir explosion
- if (f >= tres_boom) {
- oled_clear();
- uint8_t density = (f - tres_boom);
- if (density > 4) density = 4;
- draw_static(0, y_start - 8, 32, 32, true, density);
- }
-}
-
-static void draw_startup_navi(uint8_t f) {
- // text
- oled_write_cursor(0, 5, "HELL0", false);
- oled_write_cursor(0, 7, "NAVI.", false);
-
- // prompt
- if ((f % 8) > 4) {
- oled_write_cursor(0, 12, "> ", false);
- } else {
- oled_write_cursor(0, 12, ">_", false);
- }
-
- // frame threshold
- uint8_t tres_shell = 15;
- uint8_t tres_load = 35;
-
- // rand text to init display
- if (f > tres_shell) {
- int inter_f = interpo_pourcent(tres_shell, tres_load, f);
-
- draw_random_char(1, 12, 'i', 60 + inter_f, 0);
- draw_random_char(2, 12, 'n', 20 + inter_f, 0);
- draw_random_char(3, 12, 'i', inter_f, 0);
- draw_random_char(4, 12, 't', 20 + inter_f, 0);
- }
-
- // loading propress bar
- if (f > tres_load) {
- int inter_f = interpo_pourcent(tres_load, 50, f);
-
- // ease
- float fv = inter_f / 100.00;
- fv = fv * fv * fv * fv;
- inter_f = fv * 100;
-
- draw_rectangle(0, (15 * 8), 32, 8, 1);
- draw_progress(0 + 3, (15 * 8) + 3, 26, 2, inter_f, 0, 1);
- }
-}
-
-// text dispayed on terminal
-static char *boot_ref[TERMINAL_LINE_NUMBER] = {"LT:", "RT:", "M :", " ", "cnx:", "A0:", "B0:", " ", "0x40", "0x60", "0x85", "0x0F", " ", "> run", "x ", "y ", " 100%", " ", "> key"};
-
-// prompt style for char in the font
-char scan_font[5] = {'>', 1, 1, 1, 1};
-
-static char *get_terminal_line(uint8_t i) {
- // display text
- if (i < TERMINAL_LINE_NUMBER) {
- return boot_ref[i];
- }
-
- // blank line every 3 lines
- if (i % 3 == 0) {
- return " ";
- }
-
- // display consecutive chars in the font
- i = (i - TERMINAL_LINE_NUMBER) * 4;
-
- scan_font[1] = i;
- scan_font[2] = i + 1;
- scan_font[3] = i + 2;
- scan_font[4] = i + 3;
-
- return scan_font;
-}
-
-static void draw_startup_terminal(uint8_t f) {
- // ease for printing on screen
- f = f * 2;
- f += (f / 5);
-
- // scroll text
- uint8_t i_start = 0;
- uint8_t i_nb_char = f;
-
- if (f > TERMINAL_LINE_MAX) {
- i_start = f - TERMINAL_LINE_MAX;
- i_nb_char = TERMINAL_LINE_MAX;
- }
-
- // display lines
- oled_clear();
- for (uint8_t i = 0; i < i_nb_char; i++) {
- char *s = get_terminal_line(i + i_start);
- oled_write_cursor(0, i, s, false);
- }
-}
-
-bool render_boot(void) {
- // end of the boot sequence
- if (anim_boot_current_frame >= NAVI_DURATION + TERMINAL_DURATION + LILY_DURATION) {
- anim_boot_current_frame = 0;
- oled_clear();
- return true;
- }
-
- if (timer_elapsed(anim_boot_timer) > ANIM_BOOT_FRAME_DURATION) {
- anim_boot_timer = timer_read();
- if (anim_boot_current_frame < NAVI_DURATION) {
- // 55 frames
- draw_startup_navi(anim_boot_current_frame);
- } else {
- if (anim_boot_current_frame >= NAVI_DURATION && anim_boot_current_frame < NAVI_DURATION + TERMINAL_DURATION) {
- // 25
- draw_startup_terminal(anim_boot_current_frame - NAVI_DURATION);
- } else {
- if (anim_boot_current_frame >= NAVI_DURATION + TERMINAL_DURATION) {
- // 25
- draw_lily(anim_boot_current_frame - NAVI_DURATION - TERMINAL_DURATION);
- }
- }
- }
-
- anim_boot_current_frame++;
- }
- return false;
-}
-
-void render_halt(void) {
- if (timer_elapsed(anim_halt_timer) > ANIM_HALT_FRAME_DURATION) {
- anim_halt_timer = timer_read();
-
- // comb glitch for all the screen
- draw_glitch_comb(0, 0, 32, 128, 3, true);
-
- // random moving blocks of pixels
- for (uint8_t i = 0; i < 6; i++) {
- int r = fastrand();
- int rr = fastrand();
- uint8_t x = 4 + r % 28;
- uint8_t y = rr % 128;
-
- uint8_t w = 7 + r % 20;
- uint8_t h = 3 + rr % 10;
- int s = (fastrand() % 20) - 10;
- move_block(x, y, w, h, s);
- }
- }
-}
diff --git a/keyboards/lily58/keymaps/druotoni/boot.h b/keyboards/lily58/keymaps/druotoni/boot.h
deleted file mode 100644
index 7897e17923..0000000000
--- a/keyboards/lily58/keymaps/druotoni/boot.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-bool render_boot(void);
-void render_halt(void);
-
-void reset_boot(void); \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/druotoni/burst.c b/keyboards/lily58/keymaps/druotoni/burst.c
deleted file mode 100644
index 6dd6579e73..0000000000
--- a/keyboards/lily58/keymaps/druotoni/burst.c
+++ /dev/null
@@ -1,252 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// Copyright 2020 Richard Sutherland (rich@brickbots.com)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "gui_state.h"
-#include "fast_random.h"
-#include "burst.h"
-#include "draw_helper.h"
-
-// burst stuff
-static int current_burst = 0;
-static uint16_t burst_timer = 0;
-
-// WPM stuff
-static int current_wpm = 0;
-static uint16_t wpm_timer = 0;
-
-// This smoothing is 40 keystrokes
-static const float wpm_smoothing = WPM_SMOOTHING;
-
-// store values
-uint8_t burst_scope[SIZE_SCOPE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-uint8_t wpm_scope[SIZE_SCOPE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-// current max wpm
-int max_wpm = MAX_WPM_INIT;
-
-// scope animation stuff
-#define ANIM_SCOPE_FRAME_DURATION 40
-#define ANIM_SLEEP_SCOPE_FRAME_NUMBER 10
-
-uint16_t anim_scope_timer = 0;
-uint16_t anim_scope_idle_timer = 0;
-uint16_t anim_sleep_scope_timer = 0;
-
-uint8_t anim_sleep_scope_duration[ANIM_SLEEP_SCOPE_FRAME_NUMBER] = {30, 30, 30, 30, 20, 20, 30, 30, 32, 35};
-uint8_t current_sleep_scope_frame = 0;
-uint8_t sleep_scope_frame_destination = ANIM_SLEEP_SCOPE_FRAME_NUMBER - 1;
-
-// glitch animation
-int current_glitch_scope_time = 150;
-uint32_t glitch_scope_timer = 0;
-uint8_t current_glitch_scope_index = 0;
-
-static void update_wpm(void) {
- if (wpm_timer > 0) {
- current_wpm += ((60000 / timer_elapsed(wpm_timer) / WPM_ESTIMATED_WORD_SIZE) - current_wpm) * wpm_smoothing;
- if (current_wpm > LIMIT_MAX_WPM) {
- current_wpm = LIMIT_MAX_WPM;
- }
- }
- wpm_timer = timer_read();
-}
-
-void update_scope(void) {
- update_wpm();
-
- uint16_t temps_ecoule = timer_elapsed(burst_timer);
-
- if (temps_ecoule > BURST_FENETRE) {
- // 1er frappe après longtemps
- current_burst = 40;
- } else {
- int time_pourcent = ((100 * (temps_ecoule)) / (BURST_FENETRE));
- current_burst = 100 - time_pourcent;
- }
- burst_timer = timer_read();
-}
-
-static void update_scope_array(void) {
- // shift array
- for (uint8_t i = 0; i < SIZE_SCOPE - 1; i++) {
- burst_scope[i] = burst_scope[i + 1];
- wpm_scope[i] = wpm_scope[i + 1];
- }
-
- int burst = current_burst;
- int wpm = current_wpm;
-
- // compute max wpm
- max_wpm = (wpm == 0) ? MAX_WPM_INIT : ((wpm > max_wpm) ? wpm : max_wpm);
-
- // current wpm ratio VS max
- wpm = (100 * wpm) / max_wpm;
- if (wpm > 100) wpm = 100;
-
- // update last slot of the arrays
- burst_scope[SIZE_SCOPE - 1] = burst;
- wpm_scope[SIZE_SCOPE - 1] = wpm;
-
- // apply decay to burst chart
- uint8_t pBaisse = 0;
- for (uint8_t i = 0; i < SIZE_SCOPE - (SIZE_SCOPE / 4); i++) {
- pBaisse = 2 + ((SIZE_SCOPE - 1 - i)) / 2;
- burst_scope[i] -= ((burst_scope[i] * pBaisse) / 100);
- }
-}
-
-static void RenderScopeBlack(void) {
- // clean central zone
- draw_rectangle_fill(3, 82, 28, 120, false);
-
- // redraw some parts of the frame
- drawline_hr(1, SCOPE_Y_BOTTOM, 32, 1);
- drawline_vt(0, SCOPE_Y_BOTTOM - 1, 42, 1);
- drawline_vt(31, SCOPE_Y_BOTTOM - 1, 47, 1);
-}
-
-static void render_scope_white(void) {
- static const char PROGMEM raw_logo[] = {
- 240, 8, 4, 226, 241, 248, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 127, 128, 128, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 128, 128, 127,
- };
- oled_write_raw_P_cursor(0, 10, raw_logo, sizeof(raw_logo));
-}
-
-static void render_scope_chart(void) {
- // clean the frame
- render_scope_white();
-
- uint8_t y_offset = SCOPE_Y_BOTTOM - 3;
-
- for (uint8_t i = 0; i < SIZE_SCOPE; i++) {
- // offset
- uint8_t x = 3 + i;
-
- // new black vertical line for burst
- uint8_t iCurrentBurst = burst_scope[i];
- drawline_vt(x, y_offset, (iCurrentBurst * 4) / 10, 0);
-
- // new black point for wpm, white if it's on the burst line
- uint8_t iCurrentWpm = wpm_scope[i];
- uint8_t yWpm = y_offset - ((iCurrentWpm * 4) / 10);
- oled_write_pixel(x, yWpm, !(iCurrentWpm > iCurrentBurst));
- }
-}
-
-void reset_scope(void) {
- // scope need wakeup
- anim_sleep_scope_timer = timer_read();
- current_sleep_scope_frame = ANIM_SLEEP_SCOPE_FRAME_NUMBER - 1;
-
- sleep_scope_frame_destination = 0;
-}
-
-static void render_glitch_square(void) {
- if (timer_elapsed(anim_scope_idle_timer) > 60) {
- anim_scope_idle_timer = timer_read();
- RenderScopeBlack();
-
- uint8_t color = 0;
- uint8_t size = 0;
- for (uint8_t i = 0; i < 4; i++) {
- size = 4 + (fastrand() % 6);
-
- draw_gradient(3 + (fastrand() % 19), 85 + (fastrand() % 20), size, size, 255, 255, 4);
-
- size = (fastrand() % 6);
- color = 100 + (fastrand() % 100);
- draw_gradient(3 + (fastrand() % 19), 100 + (fastrand() % 20), size, size, color, color, 4);
- }
- }
-}
-
-void render_scope_idle(void) {
- uint8_t glitch_prob = get_glitch_probability();
- get_glitch_index(&glitch_scope_timer, &current_glitch_scope_time, &current_glitch_scope_index, 150, 350, glitch_prob, 2);
-
- switch (current_glitch_scope_index) {
- case 0:
- RenderScopeBlack();
- return;
- case 1:
- render_glitch_square();
- return;
- }
-}
-
-static void RenderScopeSleep(void) {
- if (current_sleep_scope_frame == sleep_scope_frame_destination) {
- // animation finished
- render_scope_idle();
- return;
- }
-
- if (timer_elapsed(anim_sleep_scope_timer) > anim_sleep_scope_duration[current_sleep_scope_frame]) {
- anim_sleep_scope_timer = timer_read();
-
- // clean scope
- RenderScopeBlack();
-
- // render animation
- render_tv_animation(current_sleep_scope_frame, 3, 80, 25, 48);
-
- // update frame number
- if (sleep_scope_frame_destination > current_sleep_scope_frame) {
- current_sleep_scope_frame++;
- } else {
- current_sleep_scope_frame--;
- }
- }
-}
-
-void render_scope(gui_state_t t) {
- if (timer_elapsed(anim_scope_timer) > ANIM_SCOPE_FRAME_DURATION) {
- anim_scope_timer = timer_read();
-
- // shift arrays
- update_scope_array();
-
- // oled_set_cursor(0, 10);
-
- if (t == _WAKINGUP) {
- RenderScopeSleep();
- return;
- }
-
- if (t == _IDLE) {
- sleep_scope_frame_destination = ANIM_SLEEP_SCOPE_FRAME_NUMBER - 1;
- RenderScopeSleep();
- return;
- }
-
- render_scope_chart();
- }
-}
-
-static void decay_burst(void) {
- uint16_t temps_ecoule = timer_elapsed(burst_timer);
-
- int poucentageEcoule = 100;
-
- if (temps_ecoule <= BURST_FENETRE * 4) {
- poucentageEcoule = ((100 * (temps_ecoule)) / (BURST_FENETRE * 4));
- }
-
- current_burst = current_burst - poucentageEcoule;
- if (current_burst <= 0) current_burst = 0;
-}
-
-static void decay_wpm(void) {
- if (timer_elapsed(wpm_timer) > 1000) {
- wpm_timer = timer_read();
- current_wpm += (-current_wpm) * wpm_smoothing;
- }
-}
-
-void decay_scope(void) {
- decay_burst();
- decay_wpm();
-}
diff --git a/keyboards/lily58/keymaps/druotoni/burst.h b/keyboards/lily58/keymaps/druotoni/burst.h
deleted file mode 100644
index 8bc8153508..0000000000
--- a/keyboards/lily58/keymaps/druotoni/burst.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// Copyright 2020 Richard Sutherland (rich@brickbots.com)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// burst
-#define MAX_WPM_INIT 40
-#define BURST_FENETRE 500
-
-// wpm
-#define LIMIT_MAX_WPM 150
-#define WPM_ESTIMATED_WORD_SIZE 5
-#define WPM_SMOOTHING 0.0487
-
-// scope
-#define SIZE_SCOPE 26
-#define SCOPE_Y_BOTTOM 127
-
-void update_scope(void);
-void render_scope(gui_state_t t);
-
-void reset_scope(void);
-void decay_scope(void);
diff --git a/keyboards/lily58/keymaps/druotoni/config.h b/keyboards/lily58/keymaps/druotoni/config.h
deleted file mode 100644
index 37124fcaaf..0000000000
--- a/keyboards/lily58/keymaps/druotoni/config.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// Copyright 2012 Jun Wako <wakojun@gmail.com>
-// Copyright 2015 Jack Humbert
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define MASTER_LEFT
-#define OLED_DRIVER_ENABLE
-
-// tapping toggle for my layers
-#define TAPPING_TOGGLE 2
-
-// choose IS_LEFT or IS_RIGHT for compilation and flash firmware
-#define IS_LEFT 1
-//#define IS_RIGHT 1
-
-// logo glitch
-#define WITH_GLITCH
-// boot sequence
-#define WITH_BOOT
-
-// custom transport for displaying on both side
-#define SPLIT_TRANSACTION_IDS_USER USER_SYNC_A
-
-// custom font
-#ifdef OLED_FONT_H
-# undef OLED_FONT_H
-#endif
-#define OLED_FONT_H "navi_font.c"
-#undef OLED_FONT_END
-#define OLED_FONT_END 125
-
-// more space
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-#define NO_ACTION_ONESHOT
-#define DISABLE_LEADER
-
-// ???
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE
-
-// small layer state
-#define LAYER_STATE_8BIT
-
-// no debug or trace
-#ifndef NO_DEBUG
-# define NO_DEBUG
-#endif
-#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
-# define NO_PRINT
-#endif
-
-
diff --git a/keyboards/lily58/keymaps/druotoni/draw_helper.c b/keyboards/lily58/keymaps/druotoni/draw_helper.c
deleted file mode 100644
index c6761d725f..0000000000
--- a/keyboards/lily58/keymaps/druotoni/draw_helper.c
+++ /dev/null
@@ -1,768 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// Copyright 2021 ugfx
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "draw_helper.h"
-#include "fast_random.h"
-
-void drawline(uint8_t x, uint8_t y, uint8_t width, bool bHorizontal, bool bPositiveDirection, bool color) {
- if (width <= 0) return;
- uint8_t yPlus = 0;
- uint8_t yMois = 0;
- uint8_t nbtour = 0;
-
- if (!bPositiveDirection) {
- if (bHorizontal) {
- x -= width;
- } else {
- y -= width;
- }
- }
-
- yMois = (width / 2) - 1 + (width % 2);
-
- yPlus = (width / 2);
- nbtour = (width / 4) + 1;
-
- bool bWhite = color;
-
- if (bHorizontal) {
- for (uint8_t i = 0; i < nbtour; i++) {
- oled_write_pixel(x + yPlus + i, y, bWhite);
- oled_write_pixel(x + yMois - i, y, bWhite);
-
- oled_write_pixel(x + i, y, bWhite);
- oled_write_pixel(x + width - 1 - i, y, bWhite);
- }
- } else {
- for (uint8_t i = 0; i < nbtour; i++) {
- oled_write_pixel(x, y + yPlus + i, bWhite);
- oled_write_pixel(x, y + yMois - i, bWhite);
-
- oled_write_pixel(x, y + i, bWhite);
-
- oled_write_pixel(x, y + width - 1 - i, bWhite);
- }
- }
-}
-
-void drawline_vb(uint8_t x, uint8_t y, uint8_t width, bool color) { drawline(x, y, width, false, true, color); }
-
-void drawline_vt(uint8_t x, uint8_t y, uint8_t width, bool color) { drawline(x, y, width, false, false, color); }
-
-void drawline_hr(uint8_t x, uint8_t y, uint8_t width, bool color) { drawline(x, y, width, true, true, color); }
-
-void drawline_hl(uint8_t x, uint8_t y, uint8_t width, bool color) { drawline(x, y, width, true, false, color); }
-
-void draw_rectangle(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color) {
- drawline_hr(x, y, width, color);
- drawline_hr(x, y + heigth - 1, width, color);
- drawline_vb(x, y, heigth, color);
- drawline_vb(x + width - 1, y, heigth, color);
-}
-
-void draw_rectangle_fill(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color) {
- for (uint8_t i = 0; i < heigth; i++) {
- drawline_hr(x, y + i, width, color);
- }
-}
-
-void drawline_hr_heigth(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color) {
- for (int i = 0; i < heigth; i++) {
- drawline_hr(x, y - i, width, color);
- drawline_hr(x, y + i, width, color);
- }
-}
-
-void drawline_point_hr(short x, short y, short x1, bool color) {
- if (y < 0 || y > 127) return;
-
- if (x1 < x) {
- short iTemp = x;
- x = x1;
- x1 = iTemp;
- }
-
- if (x1 > 31) x1 = 31;
- if (x < 0) x = 0;
- if (x > 31) x = 31;
-
- drawline(x, y, x1 - x, true, true, color);
-}
-
-void flip_flap_x(short px, short py, uint8_t val, bool color) {
- oled_write_pixel(px + val, py, color);
- oled_write_pixel(px - val, py, color);
-}
-
-void draw_circle(uint8_t x, uint8_t y, uint8_t radius, bool color) {
- short a, b, P;
-
- // Calculate intermediates
- a = 1;
- b = radius;
- P = 4 - radius;
-
- short py, px;
-
- // Away we go using Bresenham's circle algorithm
- // Optimized to prevent double drawing
- px = x;
- py = y + b;
- oled_write_pixel(px, py, color);
- px = x;
- py = y - b;
- oled_write_pixel(px, py, color);
-
- flip_flap_x(x, y, b, color);
-
- do {
- flip_flap_x(x, y + b, a, color);
- flip_flap_x(x, y - b, a, color);
- flip_flap_x(x, y + a, b, color);
- flip_flap_x(x, y - a, b, color);
-
- if (P < 0)
- P += 3 + 2 * a++;
- else
- P += 5 + 2 * (a++ - b--);
- } while (a < b);
-
- flip_flap_x(x, y + b, a, color);
- flip_flap_x(x, y - b, a, color);
-}
-
-void draw_ellipse(uint8_t x, uint8_t y, uint8_t a, uint8_t b, bool color) {
- int dx, dy;
- int a2, b2;
- int err, e2;
-
- // short py, px;
- // Calculate intermediates
- dx = 0;
- dy = b;
- a2 = a * a;
- b2 = b * b;
- err = b2 - (2 * b - 1) * a2;
-
- // Away we go using Bresenham's ellipse algorithm
- do {
- flip_flap_x(x, y + dy, dx, color);
- flip_flap_x(x, y - dy, dx, color);
-
- e2 = 2 * err;
- if (e2 < (2 * dx + 1) * b2) {
- dx++;
- err += (2 * dx + 1) * b2;
- }
- if (e2 > -(2 * dy - 1) * a2) {
- dy--;
- err -= (2 * dy - 1) * a2;
- }
- } while (dy >= 0);
-}
-
-void draw_ellipse_fill(uint8_t x, uint8_t y, uint8_t a, uint8_t b, bool color) { return; }
-// void draw_ellipse_fill(uint8_t x, uint8_t y, uint8_t a, uint8_t b, uint8_t color) {
-// int dx, dy;
-// int a2, b2;
-// int err, e2;
-
-// // Calculate intermediates
-// dx = 0;
-// dy = b;
-// a2 = a * a;
-// b2 = b * b;
-// err = b2 - (2 * b - 1) * a2;
-
-// short py, px, px1;
-
-// // Away we go using Bresenham's ellipse algorithm
-// // This is optimized to prevent overdrawing by drawing a line only when a y is about to change value
-// do {
-// e2 = 2 * err;
-// if (e2 < (2 * dx + 1) * b2) {
-// dx++;
-// err += (2 * dx + 1) * b2;
-// }
-// if (e2 > -(2 * dy - 1) * a2) {
-// py = y + dy;
-// px = x - dx;
-// px1 = x + dx;
-// drawline_point_hr(px, py, px1, color);
-// if (y) {
-// py = y - dy;
-// px = x - dx;
-// px1 = x + dx;
-// drawline_point_hr(px, py, px1, color);
-// }
-// dy--;
-// err -= (2 * dy - 1) * a2;
-// }
-// } while (dy >= 0);
-// }
-
-bool test_limit(short x, short y) { return !(y < 0 || y > 127 || x < 0 || x > 31); }
-
-void flip_flap_y_point(short px, short py, short px1, uint8_t val, bool color) {
- // firmware size optimisation : one fonction for 2 lines of code
- drawline_point_hr(px, py + val, px1, color);
- drawline_point_hr(px, py - val, px1, color);
-}
-
-void draw_fill_circle(short x, short y, uint8_t radius, bool color) {
- short a, b, P;
-
- // Calculate intermediates
- a = 1;
- b = radius;
- P = 4 - radius;
-
- // Away we go using Bresenham's circle algorithm
- // This is optimized to prevent overdrawing by drawing a line only when a variable is about to change value
- short py, px, px1;
-
- py = y;
- px = x - b;
- px1 = x + b;
- drawline_point_hr(px, py, px1, color);
-
- py = y + b;
- px = x;
- if (test_limit(px, py)) oled_write_pixel(px, py, color);
- py = y - b;
- px = x;
- if (test_limit(px, py)) oled_write_pixel(px, py, color);
- do {
- flip_flap_y_point(x - b, y, x + b, a, color);
-
- if (P < 0) {
- P += 3 + 2 * a++;
- } else {
- flip_flap_y_point(x - a, y, x + a, b, color);
-
- P += 5 + 2 * (a++ - b--);
- }
- } while (a < b);
-
- flip_flap_y_point(x - b, y, x + b, a, color);
-}
-
-bool apres_moitie(int a, int b) { return (a > b / 2); }
-bool arrive_moitie(int a, int b) { return (a > b / 2); }
-bool avant_moitie(int a, int b) { return (a <= b / 2 && !apres_moitie(a, b)); }
-
-void draw_arc_sector(uint8_t x, uint8_t y, uint8_t radius, unsigned char sectors, unsigned char half, bool color) {
- short a, b, P;
- short py, px;
- // Calculate intermediates
- a = 1; // x in many explanations
- b = radius; // y in many explanations
- P = 4 - radius;
-
- if (half != 2) {
- // Away we go using Bresenham's circle algorithm
- // Optimized to prevent double drawing
- if (sectors & 0x06) {
- px = x;
- py = y - b;
- oled_write_pixel(px, py, color);
- } // Upper upper
- if (sectors & 0x60) {
- px = x;
- py = y + b;
- oled_write_pixel(px, py, color);
- } // Lower lower
- if (sectors & 0x81) {
- px = x + b;
- py = y;
- oled_write_pixel(px, py, color);
- } // Right right
- if (sectors & 0x18) {
- px = x - b;
- py = y;
- oled_write_pixel(px, py, color);
- } // Left left
- }
-
- bool dessiner = false;
-
- do {
- if (half == 1 && arrive_moitie(a, b)) break;
-
- if (half == 2 && avant_moitie(a, b)) {
- dessiner = false;
- } else {
- dessiner = true;
- }
-
- if (dessiner) {
- if (sectors & 0x01) {
- px = x + b;
- py = y - a;
- oled_write_pixel(px, py, color);
- } // Upper right right
- if (sectors & 0x02) {
- px = x + a;
- py = y - b;
- oled_write_pixel(px, py, color);
- } // Upper upper right
- if (sectors & 0x04) {
- px = x - a;
- py = y - b;
- oled_write_pixel(px, py, color);
- } // Upper upper left
- if (sectors & 0x08) {
- px = x - b;
- py = y - a;
- oled_write_pixel(px, py, color);
- } // Upper left left
- if (sectors & 0x10) {
- px = x - b;
- py = y + a;
- oled_write_pixel(px, py, color);
- } // Lower left left
- if (sectors & 0x20) {
- px = x - a;
- py = y + b;
- oled_write_pixel(px, py, color);
- } // Lower lower left
- if (sectors & 0x40) {
- px = x + a;
- py = y + b;
- oled_write_pixel(px, py, color);
- } // Lower lower right
- if (sectors & 0x80) {
- px = x + b;
- py = y + a;
- oled_write_pixel(px, py, color);
- } // Lower right right
- }
-
- if (P < 0)
- P += 3 + 2 * a++;
- else
- P += 5 + 2 * (a++ - b--);
- } while (a < b);
-
- if (half != 1) {
- if (sectors & 0xC0) {
- px = x + a;
- py = y + b;
- oled_write_pixel(px, py, color);
- } // Lower right
- if (sectors & 0x03) {
- px = x + a;
- py = y - b;
- oled_write_pixel(px, py, color);
- } // Upper right
- if (sectors & 0x30) {
- px = x - a;
- py = y + b;
- oled_write_pixel(px, py, color);
- } // Lower left
- if (sectors & 0x0C) {
- px = x - a;
- py = y - b;
- oled_write_pixel(px, py, color);
- } // Upper left
- }
-}
-
-void draw_static(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int color, uint8_t density) {
- unsigned long rx = fastrand_long();
- unsigned long ry = fastrand_long();
- unsigned long maskx = 1;
- unsigned long masky = 1;
- unsigned long mask_base = 1;
-
- // more 1 in the octet
- for (int r = 0; r < density; r++) {
- rx &= fastrand_long();
- ry &= fastrand_long();
- }
-
- color = ((rx >> 1) % 2) == 0;
-
- for (uint8_t i = 0; i < width; i++) {
- for (uint8_t j = 0; j < heigth; j++) {
- // new mask based on ij loop
- maskx = (mask_base << i);
- masky = (mask_base << j);
-
- // logic AND with the masks
- if (((rx & maskx) == maskx) && ((ry & masky) == masky)) {
- oled_write_pixel(x + i, y + j, color);
- }
- }
- }
-}
-
-void copy_pixel(int from, int shift, unsigned char mask) {
- if (shift == 0) return;
-
- // pixel cluster from
- char c_from = get_oled_char(from);
- char extract = c_from & mask;
-
- // pixel cluster shift
- char c_from_shift = get_oled_char(from + shift);
- c_from_shift &= ~(mask);
- c_from_shift |= extract;
- oled_write_raw_byte(c_from_shift, from + shift);
-
- // fill blank with black
- c_from &= ~(mask);
- oled_write_raw_byte(c_from, from);
-}
-
-void draw_glitch_comb(uint8_t x, uint8_t y, uint8_t width, uint16_t height, uint8_t iSize, bool odd) {
- // work only on row
- uint16_t y_start = (y / 8) * 32;
- uint8_t nb_h = height / 8;
-
- uint8_t w_max = width;
- uint16_t index = y_start + x;
-
- // shift pair even pixel
- int mask_1 = 85;
- int mask_2 = 170;
-
- if (!odd) {
- // shift odd pixel
- mask_1 = 170;
- mask_2 = 85;
- }
-
- // wobble
- uint16_t pos = 0;
- for (uint16_t j = 0; j < nb_h; j++) {
- // next line
- index = (y_start + x) + (j * 32);
-
- for (uint16_t i = 0; i < w_max; i++) {
- if (i + iSize < w_max) {
- pos = index + i;
- copy_pixel(pos + iSize, iSize * -1, mask_1);
- }
-
- if (w_max - 1 - i - iSize >= 0) {
- pos = (index + w_max - 1) - i;
- copy_pixel(pos - iSize, iSize, mask_2);
- }
- }
- }
-}
-
-void draw_random_char(uint8_t column, uint8_t row, char final_char, int value, uint8_t style) {
- if (value < 0) return;
-
- char c = final_char;
-
- if (value < 100) {
- c = ((fastrand() % 15) + 1);
- }
-
- oled_set_cursor(column, row);
- oled_write_char(c, false);
-}
-
-void get_glitch_index_new(uint16_t *glitch_timer, uint8_t *current_glitch_scope_time, uint8_t *glitch_index, uint8_t min_time, uint16_t max_time, uint8_t glitch_probobility, uint8_t glitch_frame_number) {
- if (timer_elapsed(*glitch_timer) > *current_glitch_scope_time) {
- // end of the last glitch period
- *glitch_timer = timer_read();
-
- // new random glich period
- *current_glitch_scope_time = min_time + fastrand() % (max_time - min_time);
-
- bool bGenerateGlitch = (fastrand() % 100) < glitch_probobility;
- if (!bGenerateGlitch) {
- // no glitch
- *glitch_index = 0;
- return;
- }
-
- // get a new glitch index
- *glitch_index = fastrand() % glitch_frame_number;
- }
-}
-
-uint8_t get_glitch_frame_index(uint8_t glitch_probobility, uint8_t glitch_frame_number) {
- bool bGenerateGlitch = (fastrand() % 100) < glitch_probobility;
- if (!bGenerateGlitch) {
- // no glitch
- return 0;
- }
-
- // get a new glitch index
- return fastrand() % glitch_frame_number;
-}
-
-uint8_t get_glitch_duration(uint8_t min_time, uint16_t max_time) { return min_time + fastrand() % (max_time - min_time); }
-
-void get_glitch_index(uint32_t *glitch_timer, int *current_glitch_scope_time, uint8_t *glitch_index, uint8_t min_time, uint16_t max_time, uint8_t glitch_probobility, uint8_t glitch_frame_number) {
- if (timer_elapsed32(*glitch_timer) > *current_glitch_scope_time) {
- // end of the last glitch period
- *glitch_timer = timer_read32();
-
- // new random glich period
- *current_glitch_scope_time = min_time + fastrand() % (max_time - min_time);
-
- bool bGenerateGlitch = (fastrand() % 100) < glitch_probobility;
- if (!bGenerateGlitch) {
- // no glitch
- *glitch_index = 0;
- return;
- }
-
- // get a new glitch index
- *glitch_index = fastrand() % glitch_frame_number;
- }
-}
-
-void draw_progress(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int value, uint8_t style, bool color) {
- if (value > 100) {
- value = 100;
- }
- int lenght = (width * value) / 100;
- for (uint8_t i = 0; i < lenght; i++) {
- switch (style) {
- case 0:
- drawline_vb(x + i, y, heigth - 1, color);
- break;
-
- // case 1:
- // drawline_vb(x + i, y + 1, heigth - 3, ((i % 3) < 2));
- // break;
- // case 2:
- // // . . . . .
- // drawline_vb(x + i, y + 3, 2, ((i % 2) == 0));
- // break;
- }
- }
-}
-
-void oled_write_raw_P_cursor(uint8_t col, uint8_t line, const char *data, uint16_t size) {
- // raw_P at cursor position
- oled_set_cursor(col, line);
- oled_write_raw_P(data, size);
-}
-
-void oled_write_cursor(uint8_t col, uint8_t line, const char *data, bool invert) {
- // write at cursor position
- oled_set_cursor(col, line);
- oled_write(data, invert);
-}
-
-void draw_label(const char *data, uint8_t len, uint8_t row, int value) {
- if (value < 0) return;
- if (row >= 16 || row < 0) return;
- oled_write_cursor(0, row, data, false);
-}
-
-void draw_box(const char *data, uint8_t len, uint8_t row, long value, uint8_t style) {
- if (value < 0) return;
- if (row >= 16 || row < 0) return;
-
- oled_write_cursor(0, row, data, false);
-
- uint8_t y = row * 8;
-
- uint8_t x = 6 * len;
- uint8_t w = 32 - x;
-
- if (value < 0) value = 0;
- if (value > 100) value = 100;
- draw_progress(x, y, w, 7, value, style, 1);
-}
-
-char get_oled_char(uint16_t start_index) {
- oled_buffer_reader_t reader;
- reader = oled_read_raw(start_index);
- return *reader.current_element;
-}
-
-static int get_index_first_block(uint8_t y) { return ((y / 8) * 32); }
-
-void move_block(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int shift) {
- // clip
- if (x >= 31) return;
- if (y >= 127) return;
-
- int max_screen = 32 - 1;
- if ((width + x) > max_screen + 1) width = max_screen + 1 - x;
-
- if (width <= 1) return;
-
- if ((heigth + y) > 127) heigth = 127 - y;
- if (heigth <= 1) return;
-
- // [-32 & +32]
- if (shift > max_screen) shift = max_screen;
- if (shift < -1 * max_screen) shift = -1 * max_screen;
-
- if ((width + x + shift) > max_screen) width = width - shift;
-
- int pixelTop = 8 - (y % 8);
- int pixelBottom = (y + heigth) % 8;
-
- unsigned char cMastTop = ~((unsigned)255 >> (pixelTop));
- unsigned char cMastBottom = ~((unsigned)255 << (pixelBottom));
-
- int indexFirstBloc = get_index_first_block(y) + x;
- int indexFirstBlocFull = get_index_first_block(y + pixelTop) + x;
- int indexFirstBlocEnd = get_index_first_block(y + heigth) + x;
-
- int nbBlockHeigth = (heigth - pixelTop - pixelBottom) / 8;
-
- if (nbBlockHeigth < 0) {
- // just single row
- nbBlockHeigth = 0;
- cMastBottom = 0;
- }
-
- if (shift < 0) {
- for (uint16_t i = 0; i < width; i++) {
- copy_pixel(indexFirstBloc + i, shift, cMastTop);
- copy_pixel(indexFirstBlocEnd + i, shift, cMastBottom);
-
- for (uint16_t j = 0; j < nbBlockHeigth; j++) {
- copy_pixel(indexFirstBlocFull + i + (j * 32), shift, 255);
- }
- }
-
- } else {
- for (int i = width - 1; i >= 0; i--) {
- copy_pixel(indexFirstBloc + i, shift, cMastTop);
- copy_pixel(indexFirstBlocEnd + i, shift, cMastBottom);
-
- for (uint16_t j = 0; j < nbBlockHeigth; j++) {
- copy_pixel(indexFirstBlocFull + i + (j * 32), shift, 255);
- }
- }
- }
-}
-
-int interpo_pourcent(int min, int max, int v) {
- // interpolation
- float x0 = min;
- float x1 = max;
- float y0 = 0;
- float y1 = 100;
- float xp = v;
- float yp = y0 + ((y1 - y0) / (x1 - x0)) * (xp - x0);
-
- return (int)yp;
-}
-
-uint8_t BAYER_PATTERN_4[4][4] = {{15, 135, 45, 165}, {195, 75, 225, 105}, {60, 180, 30, 150}, {240, 120, 210, 90}};
-
-void draw_gradient(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, uint8_t color_start, uint8_t color_end, uint8_t tres) {
- bool invert = color_start > color_end;
-
- if (invert) {
- color_start = 255 - color_start;
- color_end = 255 - color_end;
- }
-
- int step = (100 / tres);
- int step_minus = (100 / (tres - 1));
- int distance = color_end - color_start;
-
- for (uint8_t i = 0; i < width; i++) {
- int position = interpo_pourcent(0, width, i);
-
- float color = position;
- color = ((int)(color / step)) * step_minus;
-
- color = color_start + ((distance * color) / 100);
-
- for (uint8_t j = 0; j < heigth; j++) {
- uint8_t m = BAYER_PATTERN_4[i % 4][j % 4];
- unsigned char color_d = (color > m) ? !invert : invert;
-
- oled_write_pixel(x + i, y + j, color_d);
- }
- }
-}
-
-void render_tv_animation(uint8_t frame_number, uint8_t x, uint8_t y, uint8_t width, uint8_t heigth) {
- uint8_t xCenter = x + (width / 2);
- uint8_t yCenter = y + (heigth / 2);
-
- switch (frame_number) {
- case 0:
- // a fond : allume
- drawline_hr_heigth(x, yCenter, width, 17, true);
- break;
-
- case 1:
- drawline_hr_heigth(x, yCenter, width, 12, true);
- draw_ellipse_fill(xCenter, yCenter, 7, 15, true);
- break;
-
- case 2:
- drawline_hr_heigth(x, yCenter, width, 5, true);
- draw_ellipse_fill(xCenter, yCenter, 5, 8, true);
- break;
-
- case 3:
- drawline_hr_heigth(x, yCenter, width, 3, true);
- draw_ellipse_fill(xCenter, yCenter, 3, 4, true);
- break;
-
- case 4:
- drawline_hr_heigth(x, yCenter, width, 2, true);
- draw_fill_circle(xCenter, yCenter, 3, true);
- break;
-
- case 5:
- // central line
- drawline_hr(x, yCenter, width, true);
- draw_fill_circle(xCenter, yCenter, 2, true);
- break;
-
- case 6:
- // cross
- drawline_hr(xCenter, yCenter + 1, 2, true);
- drawline_hr(xCenter, yCenter - 1, 2, true);
-
- // central line
- drawline_hr(x, yCenter, width, true);
- break;
-
- case 7:
- // cross
- drawline_hr(xCenter, yCenter + 1, 2, true);
- drawline_hr(xCenter, yCenter - 1, 2, true);
- // central line
- drawline_hr(xCenter - 8, yCenter, 18, true);
- // static
- oled_write_pixel(xCenter - 11, yCenter, true);
- oled_write_pixel(xCenter + 12, yCenter, true);
- break;
-
- case 8:
- // cross
- drawline_hr(xCenter, yCenter + 1, 2, true);
- drawline_hr(xCenter, yCenter - 1, 2, true);
- // central line
- drawline_hr(xCenter - 2, yCenter, 4, true);
- // static
- drawline_hr(xCenter - 7, yCenter, 2, true);
- drawline_hr(xCenter + 6, yCenter, 3, true);
-
- // oled_write_pixel(xCenter - 11, yCenter, true);
- oled_write_pixel(xCenter - 9, yCenter, true);
- oled_write_pixel(xCenter + 12, yCenter, true);
- oled_write_pixel(xCenter + 14, yCenter, true);
- break;
-
- case 9:
- // central line
- drawline_hr(xCenter, yCenter, 2, true);
- break;
- }
-} \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/druotoni/draw_helper.h b/keyboards/lily58/keymaps/druotoni/draw_helper.h
deleted file mode 100644
index 991ab0d0a6..0000000000
--- a/keyboards/lily58/keymaps/druotoni/draw_helper.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// Copyright 2021 ugfx
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// line
-void drawline_vb(uint8_t x, uint8_t y, uint8_t width, bool color);
-void drawline_vt(uint8_t x, uint8_t y, uint8_t width, bool color);
-void drawline_hr(uint8_t x, uint8_t y, uint8_t width, bool color);
-void drawline_hl(uint8_t x, uint8_t y, uint8_t width, bool color);
-void drawline_hr_heigth(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color);
-
-// rectangle
-void draw_rectangle(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color);
-void draw_rectangle_fill(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, bool color);
-void draw_gradient(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, uint8_t color_start, uint8_t color_end, uint8_t tres);
-
-// circle
-void draw_fill_circle(short x, short y, uint8_t radius, bool color);
-void draw_circle(uint8_t x, uint8_t y, uint8_t radius, bool color);
-void draw_ellipse(uint8_t x, uint8_t y, uint8_t a, uint8_t b, bool color);
-void draw_ellipse_fill(uint8_t x, uint8_t y, uint8_t a, uint8_t b, bool color);
-void draw_arc_sector(uint8_t x, uint8_t y, uint8_t radius, unsigned char sectors, unsigned char half, bool color);
-void draw_static(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int color, uint8_t density);
-
-// text
-void draw_random_char(uint8_t column, uint8_t row, char final_char, int value, uint8_t style);
-void draw_label(const char *data, uint8_t len, uint8_t row, int value);
-void draw_box(const char *data, uint8_t len, uint8_t row, long value, uint8_t style);
-void draw_progress(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int value, uint8_t style, bool color);
-
-// oled drivers stuff
-char get_oled_char(uint16_t start_index);
-void oled_write_cursor(uint8_t col, uint8_t line, const char *data, bool invert);
-void oled_write_raw_P_cursor(uint8_t col, uint8_t line, const char *data, uint16_t size);
-
-// pixel manipulation
-void copy_pixel(int from, int shift, unsigned char mask);
-void move_block(uint8_t x, uint8_t y, uint8_t width, uint8_t heigth, int shift);
-void draw_glitch_comb(uint8_t x, uint8_t y, uint8_t width, uint16_t height, uint8_t iSize, bool odd);
-
-// misc
-void render_tv_animation(uint8_t frame_number, uint8_t x, uint8_t y, uint8_t width, uint8_t heigth);
-int interpo_pourcent(int min, int max, int v);
-void get_glitch_index(uint32_t *glitch_timer, int *current_glitch_scope_time, uint8_t *glitch_index, uint8_t min_time, uint16_t max_time, uint8_t glitch_probobility, uint8_t glitch_frame_number);
-void get_glitch_index_new(uint16_t *glitch_timer, uint8_t *current_glitch_scope_time, uint8_t *glitch_index, uint8_t min_time, uint16_t max_time, uint8_t glitch_probobility, uint8_t glitch_frame_number);
diff --git a/keyboards/lily58/keymaps/druotoni/fast_random.c b/keyboards/lily58/keymaps/druotoni/fast_random.c
deleted file mode 100644
index 3028b57ac6..0000000000
--- a/keyboards/lily58/keymaps/druotoni/fast_random.c
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include "fast_random.h"
-
-// seed for random
-static unsigned long g_seed = 0;
-
-int fastrand(void) {
- // todo : try with random16();
- g_seed = (214013 * g_seed + 2531011);
- return (g_seed >> 16) & 0x7FFF;
-}
-
-unsigned long fastrand_long(void) {
- g_seed = (214013 * g_seed + 2531011);
- return g_seed;
-}
diff --git a/keyboards/lily58/keymaps/druotoni/fast_random.h b/keyboards/lily58/keymaps/druotoni/fast_random.h
deleted file mode 100644
index fe8c4a40a2..0000000000
--- a/keyboards/lily58/keymaps/druotoni/fast_random.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-int fastrand(void);
-unsigned long fastrand_long(void); \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/druotoni/gui_state.c b/keyboards/lily58/keymaps/druotoni/gui_state.c
deleted file mode 100644
index d86e67ec7b..0000000000
--- a/keyboards/lily58/keymaps/druotoni/gui_state.c
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "gui_state.h"
-#include "draw_helper.h"
-
-// timer for the gui state
-uint32_t global_sleep_timer = 0;
-uint32_t global_waking_up_timer = 0;
-uint32_t global_booting_timer = 0;
-
-// timers test for states
-#ifdef WITH_BOOT
-static bool IsBooting(void) { return (timer_elapsed32(global_booting_timer) < BOOTING_TIME_TRESHOLD); }
-#else
-static bool IsBooting(void) { return false; }
-#endif
-
-// state test
-static bool IsWakingUp(void) { return (timer_elapsed32(global_waking_up_timer) < WAKING_UP_TIME_TRESHOLD); }
-static bool IsIdle(void) { return (timer_elapsed32(global_sleep_timer) > IDLE_TIME_TRESHOLD && timer_elapsed32(global_sleep_timer) < HALTING_TIME_TRESHOLD); }
-static bool IsSleep(void) { return (timer_elapsed32(global_sleep_timer) >= SLEEP_TIME_TRESHOLD); }
-static bool IsHalting(void) { return (timer_elapsed32(global_sleep_timer) >= HALTING_TIME_TRESHOLD && timer_elapsed32(global_sleep_timer) < SLEEP_TIME_TRESHOLD); }
-
-gui_state_t get_gui_state(void) {
- // get gui states by testing timers
- if (IsBooting()) return _BOOTING;
- if (IsWakingUp()) return _WAKINGUP;
- if (IsIdle()) return _IDLE;
- if (IsHalting()) return _HALTING;
- if (IsSleep()) return _SLEEP;
-
- return _UP;
-}
-
-void update_gui_state(void) {
- // what to do when a key is pressed
- gui_state_t t = get_gui_state();
-
-#ifdef WITH_BOOT
- if (t == _SLEEP) {
- // booting
- global_booting_timer = timer_read32();
- }
-
- if (t == _BOOTING) {
- // cancel booting
- global_booting_timer = 1000000;
- }
-#else
- if (t == _SLEEP) {
- // waking up
- global_waking_up_timer = timer_read32();
- }
-#endif
-
- if (t == _IDLE || t == _HALTING || t == _BOOTING) {
- // waking up
- global_waking_up_timer = timer_read32();
- }
-
- // no sleep
- global_sleep_timer = timer_read32();
-}
-
-uint8_t get_glitch_probability(void) {
- // more gliches could occur when halting time is near
- return interpo_pourcent(IDLE_TIME_TRESHOLD, HALTING_TIME_TRESHOLD, timer_elapsed32(global_sleep_timer));
-}
diff --git a/keyboards/lily58/keymaps/druotoni/gui_state.h b/keyboards/lily58/keymaps/druotoni/gui_state.h
deleted file mode 100644
index 190e02d303..0000000000
--- a/keyboards/lily58/keymaps/druotoni/gui_state.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// states timing
-#define BOOTING_TIME_TRESHOLD 7000
-#define WAKING_UP_TIME_TRESHOLD 300
-#define IDLE_TIME_TRESHOLD 4000
-#define HALTING_TIME_TRESHOLD IDLE_TIME_TRESHOLD + 6000
-#define SLEEP_TIME_TRESHOLD HALTING_TIME_TRESHOLD + 8000
-
-typedef uint8_t gui_state_t;
-enum gui_state { _WAKINGUP = 0, _IDLE, _SLEEP, _UP, _BOOTING, _HALTING };
-
-gui_state_t get_gui_state(void);
-void update_gui_state(void);
-uint8_t get_glitch_probability(void); \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/druotoni/keymap.c b/keyboards/lily58/keymaps/druotoni/keymap.c
deleted file mode 100644
index 69b36928ab..0000000000
--- a/keyboards/lily58/keymaps/druotoni/keymap.c
+++ /dev/null
@@ -1,253 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keymap_french.h"
-#include "transactions.h"
-
-// global
-#include "gui_state.h"
-#include "boot.h"
-#include "navi_logo.h"
-
-#include "draw_helper.h"
-#include "fast_random.h"
-
-// left side
-#include "layer_frame.h"
-#include "burst.h"
-
-// right side
-#include "ring.h"
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* QWERTY
-* ,-----------------------------------------. ,-----------------------------------------.
-* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
-* |------+------+------+------+------+------| |------+------+------+------+------+------|
-* | Tab | Q | W | E | R | T | | Y | U | I | O | P | ^ |
-* |------+------+------+------+------+------| |------+------+------+------+------+------|
-* |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; |RShift|
-* |------+------+------+------+------+------| " | | ) |------+------+------+------+------+------|
-* |LCTRL | Z | X | C | V | B |-------| |-------| N | M | , | . | / | $ |
-* `-----------------------------------------/ / \ \-----------------------------------------'
-* | LAlt | SPE | Space| / NAV / \Enter \ |BackSP| ] | RGUI |
-* | | | |/ / \ \ | | | |
-* `----------------------------' '------''--------------------'
-*/
- [_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_DELETE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RSFT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_Z), FR_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_LALT, TT(_RAISE), KC_SPC, TT(_LOWER), KC_ENT, KC_BSPC, KC_RBRC, KC_RGUI
- ),
-
- /* LOWER
-* ,---------------------------------------------. ,------------------------------------------------.
-* | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | DEL |
-* |------+-------+-------+------+-------+-------| |--------+--------+--------+-------+------+------|
-* | RST | F11 | F12 | DEL | paste | copy | | home | pg up | print | redo | w | |
-* |------+-------+-------+------+-------+-------| |--------+--------+--------+-------+------+------|
-* | | all | | SAV | undo | BackSP|-------. ,-------| left | down | up | right | | |
-* |------+-------+-------+------+-------+-------| enter| | |--------+--------+--------+-------+------+------|
-* | F9 | F11 | F10 | F5 | TAB | cut |-------| |-------| end | pg dw | | | | |
-* `---------------------------------------------/ / \ \-----------------------------------------------'
-* | | SPE | | / / \ \ | | MENU | |
-* | | | |/ / \ \ | | | |
-* `--------------------------------' '-------''--------------------'
-*/
- [_LOWER] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DELETE,
- QK_BOOT, KC_F11, KC_F12, KC_DELETE, RCTL(FR_V), RCTL(FR_C), KC_HOME, KC_PGUP, KC_PSCR, RCTL(FR_Y), RCTL(KC_RIGHT), _______,
- _______,RCTL(FR_A), _______,RCTL(FR_S), RCTL(FR_Z), KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
- KC_F9, KC_F11, KC_F10, KC_F5, LALT(KC_TAB), RCTL(FR_X), KC_ENT, _______, KC_END, KC_PGDN, _______, _______, _______, _______,
- _______,TT(_RAISE), _______, _______, _______, _______, KC_APP, _______),
-
-/* RAISE
-* ,-----------------------------------------. ,-------------------------------------------.
-* | | | | | | | | | | / | * | - | RGB TOG|
-* |------+------+------+------+------+------| |------+------+------+------+-----+--------|
-* | ` | [ | ] | | | | | ^ | 7 | 8 | 9 | + | RGB HUI|
-* |------+------+------+------+------+------| |------+------+------+------+-----+--------|
-* | | @ | | | & | € | # |-------. ,-------| $ | 4 | 5 | 6 | | |
-* |------+------+------+------+------+------| | | |------+------+------+------+-----+--------|
-* | F7 | F8 | F9 | F10 | # | F12 |-------| |-------| | 1 | 2 | 3 | | |
-* `-----------------------------------------/ / \ \------------------------------------------'
-* | | | | / / \ \ | | 0 | . |
-* | | | |/ / \ \ | | | |
-* `----------------------------' '------''---------------------'
-*/
- [_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, RGB_TOG,
- KC_GRV, FR_LBRC, FR_RBRC, _______, _______, _______, FR_EQL, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, RGB_HUI,
- _______, FR_AT, FR_PIPE, ALGR(KC_1), FR_EURO, FR_HASH, S(FR_EQL), KC_KP_4, KC_KP_5, KC_KP_6, _______, _______,
- KC_F7, KC_F8, KC_F9, KC_F10, FR_HASH, KC_F12, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT)
-};
-// clang-format on
-
-// sync transport
-typedef struct _sync_keycode_t {
- uint16_t keycode;
-} sync_keycode_t;
-
-// force rigth side to update
-bool b_sync_need_send = false;
-
-// last keycode typed
-sync_keycode_t last_keycode;
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- // vertical orientation
- return OLED_ROTATION_270;
-}
-
-void render(gui_state_t t) {
- // logo
- render_logo(t);
-
-#if IS_LEFT
- // left side
- render_layer_frame(t);
- render_gears();
-
- decay_scope();
- render_scope(t);
-#endif
-
-#if IS_RIGHT
- // right side
- render_circle(t);
-#endif
-}
-
-void update(uint16_t keycode) {
-#if IS_LEFT
- update_scope();
-#endif
-
-#if IS_RIGHT
- update_circle(keycode);
-#endif
-}
-
-void reset(void) {
-#if IS_LEFT
- reset_scope();
-#endif
-
-#if IS_RIGHT
- reset_ring();
-#endif
-}
-
-void set_wackingup_mode_clean(void) {
- oled_clear();
- reset();
-}
-
-bool oled_task_user(void) {
- gui_state_t t = get_gui_state();
-
- // in sleep mode => turn display off
- if (t == _SLEEP) {
- oled_off();
- return false;
- }
-
- // not in sleep mode => screen is on
- oled_on();
-
-#ifdef WITH_BOOT
- // in booting mode => display booting animation
- if (t == _BOOTING) {
- bool boot_finished = render_boot();
- if (boot_finished) {
- // end of the boot : wacking up
- set_wackingup_mode_clean();
- update_gui_state();
- }
- return false;
- }
-#endif
-
- // in halting mode => display booting animation
- if (t == _HALTING) {
- render_halt();
- return false;
- }
-
- render(t);
- return false;
-}
-
-void process_key(uint16_t keycode) {
- // update screen with the new key
- update(keycode);
-
- gui_state_t t = get_gui_state();
-
- if (t == _IDLE) {
- // wake up animation
- reset();
- }
-
- if (t == _BOOTING || t == _HALTING) {
- // cancel booting or halting : waking_up
- set_wackingup_mode_clean();
- }
-
- if (t == _SLEEP) {
- // boot sequence
- set_wackingup_mode_clean();
- reset_boot();
- }
-
- update_gui_state();
-}
-
-void user_sync_a_slave_handler(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) {
- const sync_keycode_t* m2s = (const sync_keycode_t*)in_data;
- // get the last char typed on left side and update the right side
- process_key(m2s->keycode);
-}
-
-void keyboard_post_init_user(void) {
- // callback for tranport sync data
- transaction_register_rpc(USER_SYNC_A, user_sync_a_slave_handler);
-}
-
-void housekeeping_task_user(void) {
- // only for master side
- if (!is_keyboard_master()) return;
-
- // only if a new char was typed
- if (!b_sync_need_send) return;
-
- // send the char to the slave side : sync is done
- if (transaction_rpc_send(USER_SYNC_A, sizeof(last_keycode), &last_keycode)) {
- b_sync_need_send = false;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- if (record->event.pressed) {
- // master : store keycode to sent to the other side to be process_key
- last_keycode.keycode = keycode;
- b_sync_need_send = true;
-
- // gui process the input
- process_key(keycode);
- }
- return true;
-}
-
-#if IS_LEFT
-layer_state_t layer_state_set_user(layer_state_t state) {
- // update the frame with the layer name
- update_layer_frame(state);
- return state;
-}
-#endif
diff --git a/keyboards/lily58/keymaps/druotoni/layer_frame.c b/keyboards/lily58/keymaps/druotoni/layer_frame.c
deleted file mode 100644
index 6f7ae1a253..0000000000
--- a/keyboards/lily58/keymaps/druotoni/layer_frame.c
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "gui_state.h"
-#include "layer_frame.h"
-#include "draw_helper.h"
-
-#define ANIM_LAYER_FRAME_DURATION 2
-#define ANIM_LAYER_FRAME_MAX 7
-
-// current layer
-uint8_t current_layer = _QWERTY;
-
-// layer animation stuff
-uint16_t anim_layer_frame_timer = 0;
-uint8_t current_layer_frame = ANIM_LAYER_FRAME_MAX;
-uint8_t layer_frame_destination = ANIM_LAYER_FRAME_MAX;
-
-// layer name for display
-const char* layer_name;
-static const char* layer_ref[3] = {LAYER_NAME_0, LAYER_NAME_1, LAYER_NAME_2};
-
-void update_layer_frame(layer_state_t state) {
- // reset timer
- anim_layer_frame_timer = timer_read();
-
- // direction for animation base on layer selected
- current_layer = get_highest_layer(state);
- if (current_layer == _QWERTY) {
- layer_frame_destination = 0;
- } else {
- layer_frame_destination = ANIM_LAYER_FRAME_MAX;
- }
-}
-
-static void draw_black_screen(void) {
- // clean frame center
- draw_rectangle_fill(3, 42, 26, 20, false);
- drawline_hr(17, 62, 12, false);
-}
-
-void render_gears(void) {
- // 64 bytes, 8x8 font, 8 characters, 32x16 image, 4 columns, 2 rows
- static const char PROGMEM raw_logo[] = {
- 0, 6, 6, 54, 118, 96, 230, 192, 192, 128, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 18, 226, 2, 18, 226, 2, 18, 226, 2, 1, 0, 0, 0, 0, 0, 128, 128, 128, 185, 187, 187, 131, 128, 184, 128, 128, 128, 128, 128, 128, 128, 128, 128, 191, 128, 128, 191, 128, 128, 191, 128, 0,
- };
-
- // extra line for complete the gui
- oled_write_raw_P_cursor(0, 8, raw_logo, sizeof(raw_logo));
-}
-
-void render_layer_frame(gui_state_t t) {
- // 96 bytes, 8x8 font, 12 characters, 32x24 image, 4 columns, 3 rows
- static const char PROGMEM raw_logo[] = {
- 62, 1, 0, 56, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 124, 248, 241, 226, 4, 8, 240, 0, 28, 28, 28, 0, 0, 127, 4, 8, 16, 127, 0, 124, 18, 17, 18, 124, 0, 31, 32, 64, 32, 31, 0, 0, 0, 0, 255, 255, 0, 0, 255, 62, 64, 64, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 142, 30, 62, 126, 126, 70, 70, 126, 70, 70, 126, 70, 70, 127, 127, 0, 0, 255,
- };
- oled_write_raw_P_cursor(0, 5, raw_logo, sizeof(raw_logo));
-
- // extra line for complete the gui
- drawline_hr(2, 39, 25, 1);
-
- if (current_layer_frame != layer_frame_destination) {
- if (timer_elapsed(anim_layer_frame_timer) > ANIM_LAYER_FRAME_DURATION) {
- anim_layer_frame_timer = timer_read();
-
- if (layer_frame_destination > current_layer_frame) {
- current_layer_frame++;
- } else {
- current_layer_frame--;
- }
- }
-
- // black screen
- draw_black_screen();
-
- // gradient animation on layer selection
- draw_gradient(3, 42, current_layer_frame * 4, 10, 0, 255, 7);
- draw_gradient(3 + (27 - current_layer_frame * 4), 57, current_layer_frame * 4, 6, 255, 0, 7);
-
- drawline_hr(3, 46, 22, false);
- drawline_hr(3, 47, 23, false);
-
- draw_rectangle_fill(3, 55, 24, 2, false);
- draw_rectangle_fill(24, 48, 3, 7, false);
-
- draw_rectangle_fill(3, 60, 12, 2, false);
- oled_write_pixel(15, 61, false);
- drawline_hr(14, 62, 3, false);
- drawline_hr(14, 62, 3, false);
- drawline_hr(3, 62, 11, true);
- }
-
- // get current layer name
- layer_name = layer_ref[current_layer];
-
- // gui on pause : no layer name on screen
- if (t == _IDLE || t == _SLEEP || t == _WAKINGUP) {
- layer_name = " ";
- }
-
- // display layer name in the frame
- oled_write_cursor(1, 6, layer_name, false);
-}
diff --git a/keyboards/lily58/keymaps/druotoni/layer_frame.h b/keyboards/lily58/keymaps/druotoni/layer_frame.h
deleted file mode 100644
index abbd948395..0000000000
--- a/keyboards/lily58/keymaps/druotoni/layer_frame.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// layer name : must be 3 chars
-#define LAYER_NAME_0 "ABC"
-#define LAYER_NAME_1 "NAV"
-#define LAYER_NAME_2 "SPE"
-
-enum layer_number { _QWERTY = 0, _LOWER, _RAISE };
-
-void render_gears(void);
-void render_layer_frame(gui_state_t t);
-void update_layer_frame(layer_state_t state); \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/druotoni/navi_font.c b/keyboards/lily58/keymaps/druotoni/navi_font.c
deleted file mode 100644
index 2412256e61..0000000000
--- a/keyboards/lily58/keymaps/druotoni/navi_font.c
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-const unsigned char font[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x42, 0x3A, 0x12, 0x12, 0x0E, 0x00,
- 0x0C, 0x44, 0x47, 0x24, 0x1C, 0x00,
- 0x24, 0x24, 0x14, 0x7F, 0x04, 0x00,
- 0x42, 0x3F, 0x02, 0x22, 0x1E, 0x00,
- 0x0A, 0x0A, 0x7F, 0x0A, 0x0A, 0x00,
- 0x02, 0x47, 0x42, 0x22, 0x1F, 0x00,
- 0x21, 0x15, 0x09, 0x15, 0x63, 0x00,
- 0x44, 0x44, 0x3F, 0x04, 0x04, 0x00,
- 0x22, 0x1A, 0x02, 0x7F, 0x12, 0x00,
- 0x22, 0x22, 0x12, 0x0A, 0x06, 0x00,
- 0x08, 0x47, 0x42, 0x22, 0x1E, 0x00,
- 0x10, 0x52, 0x54, 0x30, 0x16, 0x00,
- 0x40, 0x3A, 0x02, 0x3E, 0x42, 0x00,
- 0x5E, 0x52, 0x52, 0x52, 0x5E, 0x00,
- 0x04, 0x27, 0x44, 0x44, 0x3C, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x77, 0x00, 0x77, 0x00, 0x77, 0x00,
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00,
- 0x00, 0x08, 0x1C, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
- 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
- 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
- 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
- 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
- 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
- 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
- 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
- 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
- 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
- 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
- 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
- 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
- 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
- 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
- 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
- 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
- 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
- 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
- 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
- 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
- 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
- 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
- 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
- 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
- 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
- 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
- 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
- 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
- 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
- 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
- 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
- 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
- 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
- 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
- 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
- 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
- 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
- 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
- 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
- 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
- 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
- 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
- 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
- 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
- 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
- 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
- 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
- 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
- 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
- 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
- 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
- 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
- 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
- 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
- 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
- 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
- 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
- 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
- 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
- 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00
-};
diff --git a/keyboards/lily58/keymaps/druotoni/navi_logo.c b/keyboards/lily58/keymaps/druotoni/navi_logo.c
deleted file mode 100644
index 6041aa5ebc..0000000000
--- a/keyboards/lily58/keymaps/druotoni/navi_logo.c
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "gui_state.h"
-#include "navi_logo.h"
-#include "fast_random.h"
-#include "draw_helper.h"
-
-#define LOGO_SIZE 128
-
-// glitch stuff
-#define GLITCH_FRAME_NUMBER 11
-
-uint8_t current_glitch_index = 0;
-int current_glitch_time = 150;
-uint32_t glitch_timer = 0;
-
-static void render_logo_clean(void) {
- // your logo here
- static const char PROGMEM raw_logo[] = {
- 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 128, 128, 192, 192, 204, 222, 222, 204, 192, 192, 128, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 192, 240, 248, 28, 14, 7, 3, 249, 252, 255, 15, 7, 3, 225, 241, 241, 241, 241, 225, 3, 7, 15, 255, 252, 249, 3, 7, 14, 28, 248, 240, 192, 192, 227, 231, 206, 28, 56, 112, 99, 15, 31, 60, 120, 240, 225, 227, 3, 3, 227, 225, 240, 120, 60, 31, 15, 103, 112, 56, 28, 206, 231, 227, 192, 0, 1, 1, 0, 0, 0, 56, 120, 96, 192, 192, 192, 96, 127, 63, 0, 0, 63, 127, 96, 192, 192, 192, 96, 120, 56, 0, 0, 0, 1, 1, 0,
- };
- oled_write_raw_P(raw_logo, sizeof(raw_logo));
-}
-
-void render_glitch_bar(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t iProb) {
- // random horizontal scanlines
- for (uint8_t i = 0; i < height; i++) {
- bool bGenerateGlitch = (fastrand() % 100) < iProb;
-
- if (bGenerateGlitch) {
- drawline_hr(x, y + i, width, true);
- }
- }
-}
-
-void render_misc_glitch(uint8_t algo) {
- char c = 0;
- switch (algo) {
- case 7:
- // invert
- for (uint8_t i = 0; i < LOGO_SIZE; i++) {
- c = get_oled_char(i);
- oled_write_raw_byte(~(c), i);
- }
- break;
-
- case 8:
- // wobble
- for (uint8_t i = 0; i < LOGO_SIZE; i++) {
- if (i < LOGO_SIZE - 1) {
- copy_pixel(i + 1, -1, 85);
-
- copy_pixel(LOGO_SIZE - 1 - 1 - i, 1, 170);
- }
- }
- break;
- }
-}
-
-static void render_logo_glitch(void) {
-#ifdef WITH_GLITCH
- // get a random glitch index
- uint8_t glitch_prob = get_glitch_probability();
- get_glitch_index(&glitch_timer, &current_glitch_time, &current_glitch_index, 0, 150, glitch_prob, GLITCH_FRAME_NUMBER);
-
- // no glitch
- if (current_glitch_index <= 3) {
- render_logo_clean();
- return;
- }
-
- // glitch time !
- switch (current_glitch_index) {
- case 4:
- move_block(1, 11, 24, 3, 5);
- move_block(2, 19, 14, 3, 4);
- move_block(9, 22, 7, 4, 4);
- return;
-
- case 5:
- move_block(6, 25, 20, 7, 4);
- move_block(0, 8, 32, 8, 7);
- return;
- case 6:
- move_block(3, 7, 27, 4, -3);
- move_block(13, 23, 19, 4, -4);
- return;
-
- case 7:
- case 8:
- render_misc_glitch(current_glitch_index);
- return;
-
- case 9:
- render_glitch_bar(0, 0, 32, 32, 25);
- return;
-
- case 10:
- draw_static(0, 0, 32, 32, true, 0);
- return;
- }
-#endif
-}
-
-void render_logo(gui_state_t t) {
- if (t == _IDLE) {
- // on idle : glitch time !
- render_logo_glitch();
- return;
- }
-
- // standart logo
- render_logo_clean();
-}
diff --git a/keyboards/lily58/keymaps/druotoni/navi_logo.h b/keyboards/lily58/keymaps/druotoni/navi_logo.h
deleted file mode 100644
index 3504568e5d..0000000000
--- a/keyboards/lily58/keymaps/druotoni/navi_logo.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-void render_logo(gui_state_t t);
-
diff --git a/keyboards/lily58/keymaps/druotoni/readme.md b/keyboards/lily58/keymaps/druotoni/readme.md
deleted file mode 100644
index c6d47da5d7..0000000000
--- a/keyboards/lily58/keymaps/druotoni/readme.md
+++ /dev/null
@@ -1,133 +0,0 @@
-# HELL0 NAVI. Interface
-
-HELL0 NAVI. Interface is a GUI based en [Serial Experiments Lain](https://en.wikipedia.org/wiki/Serial_Experiments_Lain). Turn your [Lily58](https://github.com/kata0510/Lily58) keyboard into a Navi computer with its own Copland OS.
-
-
-Ready to dive into the Wired ?
-
-
-HELL0 NAVI provides interactive animations for both sides :
-- a scope on left side for burst, WPM and active layer
-- a ring on right side for the last key stroke
-
-
-
-
-
-
-
-## Typing animation
-
-The scope displays your burst time on a chart. The WPM is represented by an horizontal line.
-
-The ring display the last letter in the upper frame. Each time you enter a key, the Navi searches into the circular database and locks the position. A special animation is displayed when Enter, Backspce or Escape are struck.
-
-<img src="https://imgur.com/Yf7D6UN.gif" height="400" >
-
-## Startup animation
-
-Your Navi boots when it leaves the sleep mode. The animation can be canceled by typing.
-
-
-
-<img src="https://imgur.com/EXU92Ev.gif" height="400" >
-
-
-
-## Waking up animation
-
-After a period of inactivity, the scope and the ring turn off and the Navi runs in Idle mode. A new key stroke wakes them up.
-
-
-<img src="https://imgur.com/9GWa7rR.gif" height="400" >
-
-
-## Idle animation
-
-The Copland OS is still in beta test. After a while, some visual glitches will occur.
-
-
-<img src="https://imgur.com/eKZ7qgC.gif" height="400" >
-
-
-
-## Shutdown animation
-The Navi runs in sleep mode after 10 seconds in Idle mode. A nice (and difficul to render in a gif) animation is run. The OLED display turns off.
-
-# How to build & flash
-
-You need to flash each side with a specific version based on config.h configuration.
-
- ## Left side (master)
-
-IS_RIGHT needs to be commented in config.h
-```
-#define IS_LEFT 1
-//#define IS_RIGHT 1
-```
-Connect the left side and flash
-
- ## Right side (slave)
-
-Comment IS_LEFT and uncomment IS_RIGHT in config.h
-```
-//#define IS_LEFT 1
-#define IS_RIGHT 1
-```
-Connect the right side and flash
-
-# Customization
-
-## Logo
-Logo can be change in navi_logo.c.
-The new logo must be 32x32 pixels.
-```
-static void render_logo_clean(void) {
- // your logo here
- static const char PROGMEM logo_raw[] = {
- 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 128, 128, 192, 192, 204, 222, 222, 204, 192, 192, 128, 0, 0, 0, 128, 128, 0, 0,
- 0, 0, 0, 0, 192, 240, 248, 28, 14, 7, 3, 249, 252, 255, 15, 7, 3, 225, 241, 241, 241, 241, 225, 3, 7, 15, 255, 252,
- 249, 3, 7, 14, 28, 248, 240, 192, 192, 227, 231, 206, 28, 56, 112, 99, 15, 31, 60, 120, 240, 225, 227, 3, 3, 227,
- 225, 240, 120, 60, 31, 15, 103, 112, 56, 28, 206, 231, 227, 192, 0, 1, 1, 0, 0, 0, 56, 120, 96, 192, 192, 192,
- 96, 127, 63, 0, 0, 63, 127, 96, 192, 192, 192, 96, 120, 56, 0, 0, 0, 1, 1, 0,
- };
- oled_write_raw_P(logo_raw, sizeof(logo_raw));
-}
-```
-## Layer names
-
-The current version handle 3 differents layers. Names can be changed in layer_frame.h.
-```
-// layer name : must be 3 chars
-#define LAYER_NAME_0 "ABC"
-#define LAYER_NAME_1 "NAV"
-#define LAYER_NAME_2 "SPE"
-```
-
-## Timing
-
-You can tweak states timing in gui_state.h.
-```
-// states timing
-#define BOOTING_TIME_TRESHOLD 7000
-#define WAKING_UP_TIME_TRESHOLD 300
-#define IDLE_TIME_TRESHOLD 4000
-#define HALTING_TIME_TRESHOLD IDLE_TIME_TRESHOLD + 6000
-#define SLEEP_TIME_TRESHOLD HALTING_TIME_TRESHOLD + 8000
-```
-
-## Need space ?
-Boot and gliches can be commented in config.h
-```
-// states timing
-// logo glitch
-//#define WITH_GLITCH
-// boot sequence
-//#define WITH_BOOT
-```
-
-![My Navi](https://imgur.com/eYkgoZJ.png)
-> Keyboard : https://github.com/kata0510/Lily58
->
-> Case : https://github.com/BoardSodie/Lily58-Acrylic-Case
-
diff --git a/keyboards/lily58/keymaps/druotoni/ring.c b/keyboards/lily58/keymaps/druotoni/ring.c
deleted file mode 100644
index e3b7472872..0000000000
--- a/keyboards/lily58/keymaps/druotoni/ring.c
+++ /dev/null
@@ -1,494 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "gui_state.h"
-#include "ring.h"
-
-#include "fast_random.h"
-#include "draw_helper.h"
-
-char tListeTotal[SIZE_ARRAY_1] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'};
-char tListeTotal2[SIZE_ARRAY_1] = {'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ',', '.', '/', '1', '2', '3'};
-
-static char tRefArc[SIZE_ARRAY_1] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'};
-static char tRefArc2[SIZE_ARRAY_1] = {'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ',', '.', '/', '1', '2', '3'};
-
-// ring target and previous char
-char c_target = 'A';
-char c_target2 = 'Q';
-char c_last = ' ';
-char c_previous = ' ';
-
-static const char PROGMEM code_to_name[60] = {' ', ' ', ' ', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ';', '\'', ' ', ',', '.', '/', ' ', ' ', ' '};
-
-// main circle
-#define CIRCLE_ANIM_FRAME_DURATION 40
-uint16_t circle_timer = 0;
-
-// special animation for special keys
-#define ANIM_CENTER_FRAME_NUMBER 5
-#define ANIM_CENTER_FRAME_DURATION 40
-uint16_t anim_center_timer = 0;
-uint8_t anim_center_current_frame = 0;
-
-// sleep animation
-#define ANIM_SLEEP_RING_FRAME_NUMBER 9
-#define ANIM_SLEEP_RING_FRAME_DURATION 20
-uint16_t anim_sleep_ring_timer = 0;
-uint8_t current_sleep_ring_frame = 0;
-uint8_t sleep_ring_frame_destination = ANIM_SLEEP_RING_FRAME_NUMBER - 1;
-
-// glitch animation
-uint16_t anim_ring_idle_timer = 0;
-int current_glitch_ring_time = 150;
-uint32_t glitch_ring_timer = 0;
-uint8_t current_glitch_ring_index = 0;
-
-// central frame keylog animation
-#define ANIM_KEYLOG_FRAME_NUMBER 8
-#define ANIM_KEYLOG_FRAME_DURATION 20
-uint8_t anim_keylog_current_frame = 0;
-uint16_t anim_keylog_timer = 0;
-
-static const char PROGMEM raw_ring_sleep[4][64] = {{
- 192, 32, 16, 8, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 8, 16, 32, 192, 3, 4, 8, 16, 32, 32, 32, 64, 64, 64, 64, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 16, 8, 4, 3,
- },
-
- {
- 128, 64, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 32, 32, 64, 128, 0, 1, 2, 2, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 2, 1, 0,
- },
-
- {
- 248, 192, 128, 128, 128, 128, 128, 128, 128, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 128, 128, 128, 128, 128, 128, 128, 192, 248, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15,
- },
-
- {
- 255, 240, 128, 128, 0, 128, 128, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 128, 128, 0, 128, 128, 248, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 255,
- }};
-
-static const char PROGMEM raw_circle[4][128] = {{
- 0, 0, 0, 192, 32, 16, 8, 8, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 4, 8, 8, 16, 32, 192, 0, 0, 0, 240, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 238, 240, 15, 112, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 240, 255, 127, 15, 0, 0, 0, 3, 4, 8, 16, 16, 32, 64, 64, 64, 128, 128, 192, 192, 224, 224, 224, 240, 112, 120, 124, 60, 30, 30, 15, 7, 3, 0, 0, 0,
- },
- {
- 0, 0, 0, 192, 32, 16, 8, 8, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 4, 8, 8, 48, 224, 192, 0, 0, 0, 240, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 255, 255, 254, 240, 15, 112, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 224, 240, 248, 248, 254, 255, 255, 127, 15, 0, 0, 0, 3, 7, 15, 31, 30, 62, 126, 126, 126, 254, 254, 254, 254, 254, 255, 255, 255, 127, 127, 127, 63, 31, 31, 15, 7, 3, 0, 0, 0,
- },
- {
- 0, 0, 0, 192, 32, 16, 8, 8, 4, 2, 2, 2, 1, 1, 1, 1, 3, 15, 255, 255, 254, 254, 254, 252, 248, 248, 240, 224, 192, 0, 0, 0, 240, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 240, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 240, 15, 126, 252, 248, 248, 248, 248, 248, 252, 252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 127, 63, 31, 15, 7, 7, 3, 3, 3, 7, 143, 127, 15, 0, 0, 0, 3, 7, 15, 31, 31, 63, 127, 127, 127, 255, 255, 255, 255, 255, 255, 195, 128, 64, 64, 64, 32, 16, 16, 8, 4, 3, 0, 0, 0,
- },
- {
- 0, 0, 0, 192, 224, 240, 248, 248, 124, 62, 30, 14, 15, 7, 7, 3, 3, 3, 1, 1, 2, 2, 2, 4, 8, 8, 16, 32, 192, 0, 0, 0, 240, 254, 255, 31, 15, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 14, 240, 15, 115, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 112, 15, 0, 0, 0, 3, 4, 8, 16, 16, 32, 64, 64, 64, 128, 128, 128, 128, 128, 128, 128, 128, 64, 64, 64, 32, 16, 16, 8, 4, 3, 0, 0, 0,
- }};
-
-static const char PROGMEM raw_bottom[] = {
- 127, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 127,
-};
-
-static const char PROGMEM raw_middle[] = {
- 240, 8, 4, 226, 241, 248, 124, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 56, 0, 1, 62, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 0, 255, 0, 0, 127, 127, 70, 70, 126, 70, 70, 126, 70, 70, 126, 126, 62, 30, 142, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 64, 64, 62, 1, 2, 114, 114, 2, 2, 114, 114, 2, 2, 114, 114, 2, 2, 2, 2, 1, 0, 0, 0, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 0, 128, 131, 131, 132, 136, 179, 131, 132, 184, 131, 131, 188, 128, 128, 128, 128, 128, 128, 128, 143, 144, 149, 144, 149, 144, 149, 144, 149, 144, 143, 0,
-};
-
-static void rotate_right(char str[]) {
- uint8_t iSize = SIZE_ARRAY_1;
- char cFist = str[0];
-
- // rotate array to the right
- for (uint8_t i = 0; i < iSize - 1; i++) {
- str[i] = str[i + 1];
- }
- str[iSize - 1] = cFist;
-}
-
-static void rotate_left(char str[]) {
- uint8_t iSize = SIZE_ARRAY_1;
- char cLast = str[iSize - 1];
-
- // rotate array to the left
- for (uint8_t i = iSize - 1; i > 0; i--) {
- str[i] = str[i - 1];
- }
- str[0] = cLast;
-}
-
-static signed char GetPosition(char c, char tListe[]) {
- uint8_t iSize = SIZE_ARRAY_1;
-
- // find position of c in the array
- for (uint8_t i = 0; i < iSize; i++) {
- if (tListe[i] == c) return i;
- }
-
- // not found
- return -1;
-}
-
-static signed char GetDistance(char cNew, char tListe[]) {
- signed char iPositionNew = GetPosition(cNew, tListe);
- if (iPositionNew == -1) {
- // not found
- return 0;
- }
-
- return iPositionNew - CURSOR_1;
-}
-
-static bool TesterEstDansListe(char c, char tListe[]) {
- // char in the list ?
- return GetPosition(c, tListe) != -1;
-}
-
-static void SmartRotation(char c, char tListe[]) {
- signed char i = GetDistance(c, tListe);
- if (i == 0) return;
-
- // rotate in the shorter way
- if (i < 0) {
- rotate_left(tListe);
- return;
- }
-
- if (i > 0) {
- rotate_right(tListe);
- return;
- }
-}
-
-static void update_list(char cNouveau, char tListe[]) {
- signed char iDistance = GetDistance(cNouveau, tListe);
- if (iDistance != 0) {
- // the new char is in the list : rotation
- SmartRotation(cNouveau, tListe);
- }
-}
-
-static void draw_arc_sector_16(uint8_t x, uint8_t y, uint8_t radius, int position, bool color) {
- unsigned int s = 1;
- s = s << (position / 2);
-
- if (position % 4 == 0 || position % 4 == 3) {
- draw_arc_sector(x, y, radius, s, 1, color);
- } else {
- draw_arc_sector(x, y, radius, s, 2, color);
- }
-}
-
-static void render_set(uint8_t x, uint8_t y, uint8_t r, int p, bool color) {
- // 2 pixels arc sector
- draw_arc_sector_16(x, y, r, p, color);
- draw_arc_sector_16(x, y, r - 1, p, color);
-}
-
-static void draw_letter_circle(char t[], char tRef[], char ct, uint8_t x, uint8_t y, uint8_t r, bool invert) {
- char c = t[CURSOR_1];
-
- signed char p = GetPosition(c, tRef);
- signed char pt = GetPosition(ct, tRef);
-
- if (!invert) {
- draw_fill_circle(x, y, r, false);
- draw_circle(x, y, r, false);
- draw_circle(x, y, r - 1, false);
- draw_circle(x, y, r - 2, false);
- draw_circle(x, y, r - 4, true);
- draw_circle(x, y, r - 5, true);
- }
-
- int pafter = (pt + 1) % SIZE_ARRAY_1;
- int pbefore = (pt + SIZE_ARRAY_1 - 1) % SIZE_ARRAY_1;
- render_set(x, y, r, pt, true);
- render_set(x, y, r, pafter, true);
- render_set(x, y, r, pbefore, true);
-
- pafter = (pt + 2) % SIZE_ARRAY_1;
- pbefore = (pt + SIZE_ARRAY_1 - 2) % SIZE_ARRAY_1;
- render_set(x, y, r, pafter, true);
- render_set(x, y, r, pbefore, true);
-
- r -= 4;
-
- pafter = (p + 1) % SIZE_ARRAY_1;
- pbefore = (p + SIZE_ARRAY_1 - 1) % SIZE_ARRAY_1;
-
- render_set(x, y, r, p, false);
- render_set(x, y, r, pafter, false);
- render_set(x, y, r, pbefore, false);
-
- draw_circle(x, y, r - 6, true);
-}
-
-static void draw_center_circle_frame(uint8_t x, uint8_t y, uint8_t r, uint8_t f) {
- draw_fill_circle(x, y, r, 0);
- draw_circle(x, y, r, 0);
-
- if (f == 0) {
- draw_circle(x, y, r, 1);
- } else {
- // animation
- oled_write_raw_P_cursor(0, 11, raw_circle[f - 1], sizeof(raw_circle[f - 1]));
- }
-}
-
-static void render_anim_center_circle(uint8_t x, uint8_t y, uint8_t r) {
- if (anim_center_current_frame == ANIM_CENTER_FRAME_NUMBER) {
- // last frame : no animation
- return;
- }
-
- if (timer_elapsed(anim_center_timer) > ANIM_CENTER_FRAME_DURATION) {
- anim_center_timer = timer_read();
-
- draw_center_circle_frame(x, y, r, anim_center_current_frame);
-
- anim_center_current_frame++;
- }
-}
-
-static void write_char(char c) {
- // write keylog char in the frame then offset to center
- oled_set_cursor(2, 6);
- oled_write_char(c, false);
- move_block(12, 48, 6, 8, 2);
-}
-
-static void render_keylog(gui_state_t t) {
- if (anim_keylog_current_frame != ANIM_KEYLOG_FRAME_NUMBER) {
- if (timer_elapsed(anim_keylog_timer) > ANIM_KEYLOG_FRAME_DURATION) {
- // update frame number
- anim_keylog_timer = timer_read();
- anim_keylog_current_frame++;
- }
-
- // clean frame
- draw_rectangle_fill(7, 46, 21, 11, false);
-
- // comb motion to merge current and previous
- if (anim_keylog_current_frame < ANIM_KEYLOG_FRAME_NUMBER / 2) {
- // expand the previous char
- write_char(c_previous);
- draw_glitch_comb(9, 6 * 8, 18, 8, anim_keylog_current_frame + 1, true);
- } else {
- // shrink the current char
- write_char(c_last);
- draw_glitch_comb(9, 6 * 8, 18, 8, ANIM_KEYLOG_FRAME_NUMBER - anim_keylog_current_frame, false);
- }
-
- return;
- }
-
- write_char(c_last);
-}
-
-void reset_ring(void) {
- // need to open
- anim_sleep_ring_timer = timer_read();
- current_sleep_ring_frame = ANIM_SLEEP_RING_FRAME_NUMBER - 1;
- sleep_ring_frame_destination = 0;
-}
-
-static void render_tv_circle(uint8_t x, uint8_t y, uint8_t r, uint8_t f) {
- // raw image
- if (f == 2 || f == 3) {
- oled_write_raw_P_cursor(0, 12, raw_ring_sleep[f - 2], sizeof(raw_ring_sleep[f - 2]));
- return;
- }
-
- // raw image
- if (f == 5 || f == 6) {
- oled_write_raw_P_cursor(0, 12, raw_ring_sleep[f - 3], sizeof(raw_ring_sleep[f - 3]));
- return;
- }
-
- // other frames : lighter to draw than using raw image
- switch (f) {
- case 1:
- draw_circle(x, y, r, 1);
- break;
-
- case 4:
- drawline_hr(1, y, 12, 1);
- drawline_hr(19, y, 12, 1);
- drawline_vb(0, y - 1, 3, true);
- drawline_vb(31, y - 1, 3, true);
- break;
-
- case 7:
-
- oled_write_pixel(1, y, true);
- oled_write_pixel(3, y, true);
- oled_write_pixel(28, y, true);
- oled_write_pixel(30, y, true);
-
- drawline_vb(0, y - 12, 26, true);
- drawline_vb(31, y - 12, 26, true);
- break;
-
- case 8:
- drawline_vb(0, 88, 32, true);
- drawline_vb(31, 88, 32, true);
- break;
- }
-}
-
-static void render_circle_white(void) {
- // top
- oled_write_raw_P_cursor(0, 5, raw_middle, sizeof(raw_middle));
- drawline_hr(5, 39, 25, 1);
-
- // clean center
- draw_rectangle_fill(0, 80, 32, 40, false);
-
- // bottom
- drawline_vb(0, 80, 8, 1);
- drawline_vb(31, 80, 8, 1);
- oled_write_pixel(1, 80, true);
- oled_write_pixel(30, 80, true);
-
- oled_write_raw_P_cursor(0, 15, raw_bottom, sizeof(raw_bottom));
-}
-
-static void render_ring_clean_close(void) {
- render_circle_white();
- drawline_vb(0, 88, 32, true);
- drawline_vb(31, 88, 32, true);
-}
-
-static void render_glitch_square(void) {
- if (timer_elapsed(anim_ring_idle_timer) > 60) {
- anim_ring_idle_timer = timer_read();
-
- render_ring_clean_close();
-
- uint8_t size = 0;
- for (uint8_t i = 0; i < 4; i++) {
- size = 4 + (fastrand() % 6);
- draw_rectangle_fill(3 + (fastrand() % 19), 85 + (fastrand() % 20), size, size, true);
-
- size = (fastrand() % 6);
- draw_rectangle_fill(3 + (fastrand() % 19), 100 + (fastrand() % 20), size, size, true);
- }
- }
-}
-
-static void render_ring_idle(void) {
- uint8_t glitch_prob = get_glitch_probability();
- get_glitch_index(&glitch_ring_timer, &current_glitch_ring_time, &current_glitch_ring_index, 150, 350, glitch_prob, 2);
-
- switch (current_glitch_ring_index) {
- case 0:
- // no glitch
- render_ring_clean_close();
- return;
- case 1:
- // square gliches
- render_glitch_square();
- return;
- }
-}
-
-static void render_ring_sleep(void) {
- if (current_sleep_ring_frame == sleep_ring_frame_destination) {
- // no more animation needes : render the idle animation
- render_ring_idle();
- return;
- }
-
- // display wacking up / sleep animation
- if (timer_elapsed(anim_sleep_ring_timer) > ANIM_SLEEP_RING_FRAME_DURATION) {
- anim_sleep_ring_timer = timer_read();
-
- // clean + new frame
- render_circle_white();
- render_tv_circle(15, 103, 11, current_sleep_ring_frame);
-
- // update frame number
- if (sleep_ring_frame_destination > current_sleep_ring_frame) {
- current_sleep_ring_frame++;
- } else {
- current_sleep_ring_frame--;
- }
- }
-}
-
-static void render_circle_middle(void) {
- // clean
- render_circle_white();
-
- // center special animation
- if (anim_center_current_frame < ANIM_CENTER_FRAME_NUMBER) {
- render_anim_center_circle(15, 103, 15 - 4);
- return;
- }
-
- // ring render
- if (anim_center_current_frame == ANIM_CENTER_FRAME_NUMBER) {
- draw_letter_circle(tListeTotal, tRefArc, c_target, 15, 103, 15, false);
- draw_letter_circle(tListeTotal2, tRefArc2, c_target2, 15, 103, 15, true);
- }
-}
-
-void render_circle(gui_state_t t) {
- if (timer_elapsed(circle_timer) > CIRCLE_ANIM_FRAME_DURATION) {
- // new frame
- circle_timer = timer_read();
-
- // shift rings
- update_list(c_target, tListeTotal);
- update_list(c_target2, tListeTotal2);
-
- // waking up animation
- if (t == _WAKINGUP) {
- render_ring_sleep();
- return;
- }
-
- // idle animation
- if (t == _IDLE) {
- sleep_ring_frame_destination = ANIM_SLEEP_RING_FRAME_NUMBER - 1;
- render_ring_sleep();
- return;
- }
-
- // render on display
- render_circle_middle();
- render_keylog(t);
- }
-}
-
-void update_circle(uint16_t keycode) {
- // special animation for special keys
- if (keycode == KC_ESC || keycode == KC_SPACE || keycode == KC_ENTER) {
- anim_center_timer = timer_read();
- anim_center_current_frame = 0;
- return;
- }
-
- // cancel special animation on a new key
- anim_center_current_frame = ANIM_CENTER_FRAME_NUMBER;
-
- // out of scope key
- if (keycode >= 60) {
- return;
- }
-
- // keycode to char
- char c = pgm_read_byte(&code_to_name[keycode]);
-
- // stock previous char
- c_previous = c_last;
- c_last = c;
-
- // start keylog animation
- anim_keylog_current_frame = 0;
-
- // update target in ring #1 position
- if (TesterEstDansListe(c, tListeTotal)) {
- c_target = c;
- return;
- }
-
- // update target in #2 position
- if (TesterEstDansListe(c, tListeTotal2)) {
- c_target2 = c;
- return;
- }
-}
diff --git a/keyboards/lily58/keymaps/druotoni/ring.h b/keyboards/lily58/keymaps/druotoni/ring.h
deleted file mode 100644
index 9ce4520e64..0000000000
--- a/keyboards/lily58/keymaps/druotoni/ring.h
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2021 Nicolas Druoton (druotoni)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define SIZE_ARRAY_1 16
-#define CURSOR_1 9
-
-void update_circle(uint16_t);
-void render_circle(gui_state_t t);
-void reset_ring(void);
diff --git a/keyboards/lily58/keymaps/druotoni/rules.mk b/keyboards/lily58/keymaps/druotoni/rules.mk
deleted file mode 100644
index b3182cb46a..0000000000
--- a/keyboards/lily58/keymaps/druotoni/rules.mk
+++ /dev/null
@@ -1,27 +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
-#
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-LTO_ENABLE = yes
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./burst.c \
- ./navi_logo.c \
- ./gui_state.c \
- ./fast_random.c \
- ./layer_frame.c \
- ./ring.c \
- ./boot.c \
- ./draw_helper.c \
-
diff --git a/keyboards/lily58/keymaps/gaston/config.h b/keyboards/lily58/keymaps/gaston/config.h
deleted file mode 100644
index f4f3140d51..0000000000
--- a/keyboards/lily58/keymaps/gaston/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2012 Jun Wako <wakojun@gmail.com>
- * Copyright 2015 Jack Humbert
- * Copyright 2021 Gaston Jorquera
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* This is the c configuration file for the keymap. */
-
-#pragma once
-
-#define MASTER_LEFT
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 150 /* ms */
-#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
diff --git a/keyboards/lily58/keymaps/gaston/keymap.c b/keyboards/lily58/keymaps/gaston/keymap.c
deleted file mode 100644
index c98ec4254b..0000000000
--- a/keyboards/lily58/keymaps/gaston/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2021 Gaston Jorquera
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* This is the keymap configuration. */
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _MOUSE,
-};
-
-#define EN_LOWER LT(_LOWER, KC_SPC)
-#define EN_MOUSE MO(_MOUSE)
-#define MT_CESC LCTL_T(KC_ESC)
-
-/* See the readme.md file for an ASCII representation of this keymap. */
-
-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_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,
- MT_CESC, 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, EN_MOUSE,KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_RALT, KC_LALT, KC_LGUI, EN_LOWER,EN_LOWER, KC_LBRC, KC_RBRC, KC_BSLS
-),
-
-[_LOWER] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, KC_F12,
- KC_TRNS, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
- KC_TRNS, XXXXXXX, XXXXXXX, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-[_MOUSE] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, KC_ACL0, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL1, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-)
-
-};
-
-bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MT_CESC:
- // Immediately select the hold action when another key is pressed.
- return true;
- default:
- // Do not select the hold action when another key is pressed.
- return false;
- }
-}
diff --git a/keyboards/lily58/keymaps/gaston/readme.md b/keyboards/lily58/keymaps/gaston/readme.md
deleted file mode 100644
index cf8b13786e..0000000000
--- a/keyboards/lily58/keymaps/gaston/readme.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Gaston's Lily58 Keymap
-
-A simple three layers keymap to improve typing performance by reducing
-cognitive load.
-
-The main characteristics of this keymap are:
-
-* The QWERTY layer tries to be as normal as possible, without having to use
- modifiers.
- * The main thumb buttons are spaces when tapped and enable the LOWER layer
- when held.
- * Vim style arrow keys.
- * Left Control is ESC when tapped.
- * Left and right ALT in case you need different behaviors. (For example, the
- default Option and readline's Alt behavior in macOS.)
-* The LOWER layer has mostly meta keys.
-* The MOUSE layer controls the mouse.
-
-## QWERTY Layer
-
-```plain
-,-----------------------------------------. ,-----------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BSPC |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-|C_ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
-|------+------+------+------+------+------| MOUSE | | = |------+------+------+------+------+------|
-| LSFT | Z | X | C | V | B |-------| |-------| N | M | , | . | / | ENT |
-`-----------------------------------------/ LT / \ LT \----------------------------------------'
- | RALT | LALT | LGUI | / LOWER / \ LOWER \ | [ | ] | \ |
- | | | |/ SPC / \ SPC \ | | | |
- `----------------------------' '-----------------------------'
-```
-
-## LOWER Layer
-
-```plain
-,-----------------------------------------. ,-----------------------------------------.
-| TRNS | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| TRNS | | MUTE | VOLD | VOLU | | | HOME | PGDN | PGUP | END | | F12 |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| TRNS | | MPRV | MPLY | MNXT | |-------. ,-------| LEFT | DOWN | UP | RGHT | | |
-|------+------+------+------+------+------| | | |------+------+------+------+------+------|
-| TRNS | | | BRID | BRIU | |-------| |-------| | INS | DEL | | | |
-`-----------------------------------------/ / \ \----------------------------------------'
- | TRNS | TRNS | TRNS | / TRNS / \ TRNS \ | | | |
- | | | |/ / \ \ | | | |
- `----------------------------' '-----------------------------'
-```
-
-## MOUSE Layer
-
-```plain
-,-----------------------------------------. ,-----------------------------------------.
-| | | | | | | | | | | | | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | | | | | | | BTN1 | BTN2 | | | ACL0 | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | | | | | |-------. ,-------| MS_L | MS_D | MS_U | MS_R | ACL1 | |
-|------+------+------+------+------+------| TRNS | | |------+------+------+------+------+------|
-| | | | | | |-------| |-------| WH_L | WH_D | WH_U | WH_R | ACL2 | |
-`-----------------------------------------/ / \ \----------------------------------------'
- | | | | / / \ \ | | | |
- | | | |/ / \ \ | | | |
- `----------------------------' '-----------------------------'
-```
diff --git a/keyboards/lily58/keymaps/gaston/rules.mk b/keyboards/lily58/keymaps/gaston/rules.mk
deleted file mode 100644
index 4d566ddb79..0000000000
--- a/keyboards/lily58/keymaps/gaston/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-RGBLIGHT_ENABLE = no
-OLED_ENABLE = no
-
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
diff --git a/keyboards/lily58/keymaps/gshmu/config.h b/keyboards/lily58/keymaps/gshmu/config.h
deleted file mode 100644
index 84a79412da..0000000000
--- a/keyboards/lily58/keymaps/gshmu/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2022 gshmu
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_TERM 200
-#define QUICK_TAP_TERM 0
-#define PERMISSIVE_HOLD
-
-#define DYNAMIC_TAPPING_TERM_INCREMENT 10
diff --git a/keyboards/lily58/keymaps/gshmu/keymap.c b/keyboards/lily58/keymaps/gshmu/keymap.c
deleted file mode 100644
index ce4b539c07..0000000000
--- a/keyboards/lily58/keymaps/gshmu/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2022 gshmu
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ⌥(⇥) | 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 | , | . | / | ⇧(→) |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | ⌃(⌦) | ⇧(↑) | L2(â£)| / ⌘(↵) / \ ⌘(⌫) \ |L1(â£))| ⇧(↓) | ⌥(⌦) |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
-
- [_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,
- LALT_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- LALT_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,
- LSFT_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_RGHT),
- LCTL_T(KC_DEL), LSFT_T(KC_UP), LT(_RAISE, KC_SPC), LGUI_T(KC_ENTER), RGUI_T(KC_BSPC), LT(_LOWER, KC_SPC), RSFT_T(KC_DOWN), RALT_T(KC_DEL)
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| \ | | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | L3(â£)| / / \ \ | | | |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_BSLS, KC_PIPE, _______, _______, _______, _______, _______, _______,
- _______, _______, LT(_ADJUST, KC_SPC), _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F1 | F2 | F3 | F4 | F5 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F6 | F7 | F8 | F9 | F10 | | F6 | F7 | F8 | F9 | F10 | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F11 | F12 | F13 | F14 | F15 |-------. ,-------| F11 | F12 | F13 | F14 | F15 | |
- * |------+------+------+------+------+------| \ | | | |------+------+------+------+------+------|
- * | | AG(Z)| CA(A)|Cmd(C)| SG(V)| SG(B)|-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | | / / \ \ |L3(â£))| | |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______,
- _______, LAG(KC_Z), C(G(KC_A)), LGUI(KC_C), LSG(KC_V), LSG(KC_B), KC_BSLS, KC_PIPE, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, LT(_ADJUST, KC_SPC), _______, _______
-),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | Home | | | | | |-------| |-------| | | | | | End |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | PGUP | | / / \ \ | | PGDN | |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- DT_PRNT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_HOME, _______, _______, _______, _______, _______, DT_UP, DT_DOWN, _______, _______, _______, _______, _______, KC_END,
- _______, KC_PGUP, _______, _______, _______, _______, KC_PGDN, _______
- )
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/gshmu/rules.mk b/keyboards/lily58/keymaps/gshmu/rules.mk
deleted file mode 100644
index 401abfb4cf..0000000000
--- a/keyboards/lily58/keymaps/gshmu/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-OLED_ENABLE = no
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-DYNAMIC_TAPPING_TERM_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/muuko/config.h b/keyboards/lily58/keymaps/muuko/config.h
deleted file mode 100644
index 29a0801d2e..0000000000
--- a/keyboards/lily58/keymaps/muuko/config.h
+++ /dev/null
@@ -1,36 +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 EE_HANDS
-
-#define OLED_TIMEOUT 300000
-
-#define NO_MUSIC_MODE
-
-#define PERMISSIVE_HOLD
-
-#ifdef TAPPING_TERM
-#undef TAPPING_TERM
-#endif
-#define TAPPING_TERM 120
-
-#define COMBO_TERM 20
diff --git a/keyboards/lily58/keymaps/muuko/keymap.c b/keyboards/lily58/keymaps/muuko/keymap.c
deleted file mode 100644
index b5cc97ee38..0000000000
--- a/keyboards/lily58/keymaps/muuko/keymap.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright 2020 @muuko
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <stdio.h>
-#include <string.h>
-
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 20
-#define TAP_FRAMES 2
-#define TAP_SPEED 40
-#define ANIM_FRAME_DURATION 200
-#define ANIM_SIZE 512
-
-char wpm[16];
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-static long int oled_timeout = 300000;
-
-enum combos { ESCAPE_COMBO, DELETE_COMBO };
-const uint16_t PROGMEM escape_combo[] = { KC_GRV, KC_1, COMBO_END };
-const uint16_t PROGMEM delete_combo[] = { KC_DOT, KC_SLSH, COMBO_END };
-combo_t key_combos[] = {
- [ESCAPE_COMBO] = COMBO(escape_combo, KC_ESC),
- [DELETE_COMBO] = COMBO(delete_combo, KC_DEL)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LCA_T(KC_MINS),
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, RGUI_T(KC_EQL),
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, RCTL_T(KC_QUOT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_BSLS),
- KC_LGUI, KC_LALT, LT(1, KC_DEL), KC_SPC, KC_ENT, KC_BSPC, MO(1), TG(1)
- ),
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TAB, KC_MNXT, KC_HOME, KC_UP, KC_PGUP, KC_VOLU, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_PSLS, LCTL(KC_RGUI),
- KC_LCTL, KC_MPLY, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PAST, RCTL_T(KC_PEQL),
- KC_LSFT, KC_MPRV, KC_END, KC_DEL, KC_PGDN, KC_MUTE, KC_LPRN, KC_RPRN, KC_P0, KC_P1, KC_P2, KC_P3, C_S_T(KC_PDOT), KC_RSFT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master()) return OLED_ROTATION_180;
- else return rotation;
-}
-
-static void render_status(void) {
- oled_write_P(PSTR(" layer "), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_P(PSTR(" 0"), false);
- break;
- case 1:
- oled_write_P(PSTR(" 1"), false);
- break;
- default:
- oled_write_P(PSTR(" ?"), false);
- break;
- }
-
- oled_write_P(PSTR("\n\n "), false);
- sprintf(wpm, "%03d", get_current_wpm());
- oled_write(wpm, false);
- oled_write_P(PSTR(" wpm"), false);
-}
-
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
- 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
- };
- static const char PROGMEM prep[][ANIM_SIZE] = {
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
- };
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
- 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
- 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
- };
-
- void animation_phase(void) {
- if (get_current_wpm() <= IDLE_SPEED) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
-
- oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
- }
-
- if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
- oled_write_raw_P(prep[0], ANIM_SIZE);
- }
-
- if (get_current_wpm() >= TAP_SPEED) {
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
-
- oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
- }
- }
-
- sprintf(wpm, "%03d", get_current_wpm());
-
- if (strcmp(wpm, "000") != 0) {
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > oled_timeout) {
- anim_sleep = 0;
- }
- }
-
- if (timer_elapsed32(anim_sleep) > oled_timeout) {
- oled_off();
- } else {
- oled_on();
-
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
-
- animation_phase();
- }
- }
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status();
- } else {
- render_anim();
- }
- return false;
-}
-#endif
diff --git a/keyboards/lily58/keymaps/muuko/rules.mk b/keyboards/lily58/keymaps/muuko/rules.mk
deleted file mode 100644
index 004fc910f6..0000000000
--- a/keyboards/lily58/keymaps/muuko/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-COMBO_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/niolang/config.h b/keyboards/lily58/keymaps/niolang/config.h
deleted file mode 100644
index dedefc2fcf..0000000000
--- a/keyboards/lily58/keymaps/niolang/config.h
+++ /dev/null
@@ -1,46 +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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-/* RGB light */
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-# define RGBLIGHT_HUE_STEP 5 // number of steps to cycle through the hue by
-# define RGBLIGHT_SAT_STEP 10 // number of steps to increment the saturation by
-# define RGBLIGHT_VAL_STEP 10 // number of steps to increment the brightness by
-# define RGBLIGHT_SLEEP // the RGB lighting will be switched off when the host goes to sleep
-# define RGBLIGHT_LAYERS //
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#endif
diff --git a/keyboards/lily58/keymaps/niolang/keymap.c b/keyboards/lily58/keymaps/niolang/keymap.c
deleted file mode 100644
index 9a4b03668a..0000000000
--- a/keyboards/lily58/keymaps/niolang/keymap.c
+++ /dev/null
@@ -1,359 +0,0 @@
- /* Copyright 2017 F_YUUCHI
- * Copyright 2020 Drashna Jaelre <@drashna>
- * Copyright 2020 Ben Roesner (keycapsss.com)
- * Copyright 2022 Niolang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_bepo.h"
-
-
-enum layers {
- _BEPO,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-//Modification of cut/copy/paste by their combination, works in more cases
-#define KC_COPY LCTL(KC_H)
-#define KC_CUT LCTL(KC_C)
-#define KC_PSTE2 LCTL(KC_U)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* BÉPO
- * ,-----------------------------------------. ,-----------------------------------------.
- * |ESC/VM| " 1 | « 2 | » 3 | ( 4 | ) 5 | | @ 6 | + 7 | - 8 | / 9 | * 0 | W |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | B | | É | P & | O œ | È | | !^ | V | D | L | J | Z |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | Uù | I¨ | E€ | ,;' |-------. ,-------| C/ç | Tᵉ | S | R | N | M |
- * |------+------+------+------+------+------|CtPtScn| |SUPPR |------+------+------+------+------+------|
- * |LShift| À \ | Y { | X } | .:… | K ~ |-------| |-------| ’? | Q | G | H | F |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr|
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_BEPO] = LAYOUT(
- MT(KC_CAPS, KC_ESC), BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_W,
- KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
- KC_LCTL, BP_A, BP_U, BP_I, BP_E, BP_COMM, MT(BP_CCED, BP_C), BP_T, BP_S, BP_R, BP_N, BP_M,
- KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, LSFT(KC_PSCR), KC_DEL, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
- KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RALT
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | + | 7 | 8 | 9 | = | # |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 | | - | 4 | 5 | 6 | % | ^ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | c+c | c+v | Up | home | end |-------. ,-------| / | 1 | 2 | 3 | < | > |
- * |------+------+------+------+------+------|TGHi/Lo| |SUPPR |------+------+------+------+------+------|
- * |LShift| c+x | Left | Down | Right| pscr |-------| |-------| * | 0 | . | , | ( | ) |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr|
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_RABK,
- _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK,
- _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_RAISE), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_RAISE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_CIRC,
- _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK,
- _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_LOWER), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | ScLck| Ins | Pause| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | NUML | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, KC_INS, KC_PAUSE, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
- return state;
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- } else {
- return OLED_ROTATION_0;
- }
-}
-
-void render_lily58_logo(void) {
- static const char PROGMEM lily58_logo[] = {
- // 'logo', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
- 0x80, 0xe0, 0x70, 0x3c, 0x0e, 0x06, 0x0e, 0x3c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0xc0, 0xc0, 0x00,
- 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x80,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0xc0, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83,
- 0x07, 0x07, 0x0c, 0x18, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x80, 0xb6, 0xb6, 0x80,
- 0xb0, 0xb0, 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x30, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf0,
- 0x30, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe1, 0x71, 0x71, 0xf1, 0xf1, 0xe1, 0xc1, 0x81, 0x00, 0x00,
- 0x00, 0x00, 0x0c, 0x3f, 0xff, 0xf3, 0xe1, 0xc1, 0xc1, 0x81, 0x81, 0xc3, 0xff, 0x7f, 0x1c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x70, 0x78, 0xdc, 0xcc, 0x86, 0x06, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x03, 0x02, 0x06, 0x84, 0xe1, 0xfb, 0x38, 0x1c, 0x0c, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x03, 0x03, 0x06, 0x86, 0xcc, 0xdc, 0x78, 0x70, 0x20, 0x00, 0xff, 0xff, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7e, 0xf8, 0xe0, 0xf0, 0x7e, 0x1f, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xe1, 0xff, 0x7f, 0x3f, 0x00,
- 0x00, 0x00, 0x3e, 0xff, 0xff, 0xc1, 0xc0, 0x80, 0x81, 0x81, 0xc3, 0xc3, 0xff, 0xfe, 0x3c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06,
- 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04,
- 0x06, 0x06, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x00, 0x00, 0x60, 0x60, 0x70, 0x38, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
-};
- oled_write_raw_P(lily58_logo, sizeof(lily58_logo));
-}
-
-
-# define KEYLOG_LEN 6
-char keylog_str[KEYLOG_LEN] = {};
-uint8_t keylogs_str_idx = 0;
-uint16_t log_timer = 0;
-
-const char code_to_name[60] = {
- ' ', ' ', ' ', ' ', 'a', 'k', 'x', 'i', 'p', 'e',
- ',', 'c', 'd', 't', 's', 'r', 'q', ' ', 'l', 'j',
- 'b', 'o', 'u', 'e', 'v', '.', 'e', 'y', '^', 'a',
- ' ', ' ', ' ', '(', ')', '@', '+', '-', '/', '*',
- 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
- '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
-
-void add_keylog(uint16_t keycode) {
- if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
- keycode = keycode & 0xFF;
- }
-
- for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) {
- keylog_str[i] = keylog_str[i - 1];
- }
- if (keycode < 60) {
- keylog_str[0] = code_to_name[keycode];
- }
- keylog_str[KEYLOG_LEN - 1] = 0;
-
- log_timer = timer_read();
-}
-
-void update_log(void) {
- if (timer_elapsed(log_timer) > 750) {
- add_keylog(0);
- }
-}
-
-void render_keylogger_status(void) {
- oled_write_P(PSTR("KLogr"), false);
- oled_write(keylog_str, false);
-}
-
-void render_default_layer_state(void) {
- oled_write_P(PSTR("Layer"), false);
- oled_write_P(PSTR(" "), false);
- switch (get_highest_layer(layer_state)) {
- case _BEPO:
- oled_write_P(PSTR("BEPO"), false);
- break;
- case _LOWER:
- oled_write_ln_P(PSTR("LOW"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("HIGH"), false);
- break;
- case _ADJUST:
- oled_write_ln_P(PSTR("ADJ"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-}
-
-void render_keylock_status(led_t led_state) {
- oled_write_ln_P(PSTR("Lock"), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(PSTR("N"), led_state.num_lock);
- oled_write_P(PSTR("C"), led_state.caps_lock);
- oled_write_ln_P(PSTR("S"), led_state.scroll_lock);
-}
-
-void render_mod_status(uint8_t modifiers) {
- oled_write_ln_P(PSTR("Mods"), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT));
- oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL));
- oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT));
- oled_write_P(PSTR("G"), (modifiers & MOD_MASK_GUI));
-}
-
-void render_status_main(void) {
- // Show keyboard layout
- render_default_layer_state();
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- // Show host keyboard led status
- render_keylock_status(host_keyboard_led_state());
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- // Show modifier status
- render_mod_status(get_mods());
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- render_keylogger_status();
-}
-
-bool oled_task_user(void) {
- update_log();
- if (is_keyboard_master()) {
- render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_lily58_logo();
- }
- return false;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- add_keylog(keycode);
- }
- //return true;
-
-//intercepting hold/tap to change hold function
- switch (keycode) {
- case MT(KC_CAPS, KC_ESC):
- if (!record->tap.count && record->event.pressed) {
- tap_code(KC_CAPS); // Intercept hold function to send Caps Lock
- return false;
- }
- return true; // Return true for normal processing of tap keycode
- case MT(BP_CCED, BP_C):
- if (!record->tap.count && record->event.pressed) {
- tap_code(BP_CCED); // Intercept hold function to send ç
- return false;
- }
- return true; // Return true for normal processing of tap keycode
- }
- return true;
-}
-#endif // OLED_ENABLE
-
-
-// Rotary encoder related code
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { // Encoder on master side
- if(IS_LAYER_ON(_RAISE)) { // on Raise layer
- // Cursor control
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- else {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- }
- else if (index == 1) { // Encoder on slave side
- if(IS_LAYER_ON(_LOWER)) { // on Lower layer
- //
- if (clockwise) {
- tap_code(KC_RIGHT);
- } else {
- tap_code(KC_LEFT);
- }
- }
- else {
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- }
- }
- return false;
-}
-#endif
-
-//layer led modification
-// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 6, HSV_RED}, // Light 6 LEDs, starting with LED 0
- {35, 6, HSV_RED} // Light 6 LEDs, starting with LED 35
-);
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer
-);
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}
diff --git a/keyboards/lily58/keymaps/niolang/rules.mk b/keyboards/lily58/keymaps/niolang/rules.mk
deleted file mode 100644
index 83c24c8705..0000000000
--- a/keyboards/lily58/keymaps/niolang/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-EXTRAKEY_ENABLE = yes
-OLED_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/oldfieldtc/config.h b/keyboards/lily58/keymaps/oldfieldtc/config.h
deleted file mode 100644
index edfc9530b2..0000000000
--- a/keyboards/lily58/keymaps/oldfieldtc/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2022 Tommy Oldfield <@oldfieldtc>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_FORCE_HOLD
-#define TAPPING_TERM 100 \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/oldfieldtc/keymap.c b/keyboards/lily58/keymaps/oldfieldtc/keymap.c
deleted file mode 100644
index 11750e82e8..0000000000
--- a/keyboards/lily58/keymaps/oldfieldtc/keymap.c
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2022 Tommy Oldfield (@oldfieldtc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-void render_logo(void);
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |BackSP|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |LAlt/⌥|LGUI/⌘|LOWER| /Space / \Enter \ |RAISE | Play |RGUI/⌘ |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_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_MINS,
- 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_MPLY, KC_RGUI
-),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Mute |Vol - |Vol + | Play | Rwd | Fwd | | | | | | | DEL |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | Caps | | | | | |-------| |-------| | _ | + | { | } | |\ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | |LOWER | / / \ \ |RAISE | | |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NONUS_HASH,
- KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_NONUS_BACKSLASH,
- KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO
-),
-
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | # |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | |LOWER | / / \ \ |RAISE | | |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO
- ),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | |LOWER | / / \ \ |RAISE | | |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // If you want to change the display of OLED, you need to change here
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
-
- oled_write_P(PSTR("WPM: "), false);
- oled_write_ln(get_u8_str(get_current_wpm(), '0'), false);
- } else {
- render_logo();
- }
- return false;
-}
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
-
- }
- return true;
-}
-
-void render_logo(void) {
- static const char PROGMEM my_logo[] = {
- // 'punpun 2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x80, 0xe0, 0x70, 0x38, 0x1c, 0x0c, 0x06, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
-0x02, 0x02, 0x02, 0x06, 0x06, 0x06, 0x04, 0x04, 0x0c, 0x0c, 0x08, 0x08, 0x18, 0x18, 0x18, 0x10,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x10, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x70, 0x38, 0x1c, 0x06, 0x03,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x02, 0x06, 0x04, 0x04, 0x0c, 0x08, 0x18, 0x18
- };
- oled_write_raw_P(my_logo, sizeof(my_logo));
-} \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/oldfieldtc/readme.md b/keyboards/lily58/keymaps/oldfieldtc/readme.md
deleted file mode 100644
index 8aa978d52e..0000000000
--- a/keyboards/lily58/keymaps/oldfieldtc/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Lily58 keyboard keymap
-
-## Default layer
-![Default keymap layer](https://i.imgur.com/c5kbMww.jpg)
-
-[Default layer - Keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/8ff6160c16e9b9ee7e104538bfad4a59)
-
-## Lower layer
-![Lower keymap layer](https://i.imgur.com/GcLR3Uw.jpg)
-
-[Lower layer - Keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/7d77cd87c53d5eded50530242b852c20)
-
-## Raise layer
-![Raise keymap layer](https://i.imgur.com/aNVwlKJ.jpg)
-
-[Raise layer - Keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/c7a63881a13e339f1b5b847637677e5f)
-
-## Adjust layer
-![Adjust keymap layer](https://i.imgur.com/0l4c1Df.jpg)
-
-[Adjust layer - Keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/15a25bc84fa69a1b9f228574674728d3)
-
diff --git a/keyboards/lily58/keymaps/oldfieldtc/rules.mk b/keyboards/lily58/keymaps/oldfieldtc/rules.mk
deleted file mode 100644
index 004b46d641..0000000000
--- a/keyboards/lily58/keymaps/oldfieldtc/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-EXTRAKEY_ENABLE = yes
-WPM_ENABLE = yes
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
- ./lib/timelogger.c \
- # ./lib/mode_icon_reader.c \
- # ./lib/host_led_state_reader.c \ \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/paulomp90/config.h b/keyboards/lily58/keymaps/paulomp90/config.h
deleted file mode 100644
index b2cfbdd69c..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 Paulo Pereira
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 150
-#define TAP_CODE_DELAY 10 \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.c b/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.c
deleted file mode 100644
index f2e091c0b9..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2023 Paulo Pereira
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "custom_shift_keys.h"
-
-bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record) {
- static uint16_t registered_keycode = KC_NO;
-
- // If a custom shift key is registered, then this event is either
- // releasing it or manipulating another key at the same time. Either way,
- // we release the currently registered key.
- if (registered_keycode != KC_NO) {
- unregister_code16(registered_keycode);
- registered_keycode = KC_NO;
- }
-
- if (record->event.pressed) { // Press event.
- const uint8_t mods = get_mods();
-#ifndef NO_ACTION_ONESHOT
- if ((mods | get_weak_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) {
-#else
- if ((mods | get_weak_mods()) & MOD_MASK_SHIFT) { // Shift is held.
-#endif // NO_ACTION_ONESHOT
- // Continue default handling if this is a tap-hold key being held.
- if ((IS_QK_MOD_TAP(keycode) || IS_QK_LAYER_TAP(keycode)) &&
- record->tap.count == 0) {
- return true;
- }
-
- // Search for a custom shift key whose keycode is `keycode`.
- for (int i = 0; i < NUM_CUSTOM_SHIFT_KEYS; ++i) {
- if (keycode == custom_shift_keys[i].keycode) {
- registered_keycode = custom_shift_keys[i].shifted_keycode;
- if (IS_QK_MODS(registered_keycode) && // Should key be shifted?
- (QK_MODS_GET_MODS(registered_keycode) & MOD_LSFT) != 0) {
- register_code16(registered_keycode); // If so, press directly.
- } else {
- // If not, cancel shift mods, press the key, and restore mods.
- del_weak_mods(MOD_MASK_SHIFT);
-#ifndef NO_ACTION_ONESHOT
- del_oneshot_mods(MOD_MASK_SHIFT);
-#endif // NO_ACTION_ONESHOT
- unregister_mods(MOD_MASK_SHIFT);
- register_code16(registered_keycode);
- set_mods(mods);
- }
- return false;
- }
- }
- }
- }
-
- return true; // Continue with default handling.
-}
diff --git a/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.h b/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.h
deleted file mode 100644
index 2097f2bb7e..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/features/custom_shift_keys.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2023 Paulo Pereira
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#pragma once
-#include QMK_KEYBOARD_H
-
-typedef struct {
- uint16_t keycode;
- uint16_t shifted_keycode;
-} custom_shift_key_t;
-
-extern const custom_shift_key_t custom_shift_keys[];
-extern uint8_t NUM_CUSTOM_SHIFT_KEYS;
-
-bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
diff --git a/keyboards/lily58/keymaps/paulomp90/keymap.c b/keyboards/lily58/keymaps/paulomp90/keymap.c
deleted file mode 100644
index af0fafb337..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/keymap.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/* Copyright 2023 Paulo Pereira
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_portuguese.h"
-#include "features/custom_shift_keys.h"
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-/* tap dance shifts */
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_TAP,
- TD_SINGLE_HOLD,
- TD_DOUBLE_TAP
-} td_state_t;
-
-enum { LEFT_SHIFT = 0, RIGHT_SHIFT = 1 };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | '? |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | +* |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | Ç | BACK |
- * |------+------+------+------+------+------| <> | | ´` |------+------+------+------+------+------|
- * |LCTRL | Z | X | C | V | B |-------| |-------| N | M | ,; | .: | _- |Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE | RGUI | RAlt |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- TD(LEFT_SHIFT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSPC,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(RIGHT_SHIFT),
- KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_ENT, TL_UPPR, KC_RGUI, KC_RALT
- ),
-
- /* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | | | | | | | PgUp | HOME | Up | END | ºª | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| PgDn | Left | Down |Right | ~^ | DEL |
- * |------+------+------+------+------+------| <> | | ´` |------+------+------+------+------+------|
- * | | | | << | >|| | >> |-------| |-------| | Vol+ | Vol- | Mute | \| | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE | RGUI | RAlt |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
- [_LOWER] = LAYOUT(
- _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
- KC_F1, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_LBRC, KC_F12,
- _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUOT, KC_DEL,
- _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 | | PgUp | HOME | Up | END | ºª | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | 6 | 7 | 8 | 9 | 0 |-------. ,-------| PgDn | Left | Down |Right | ~^ | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | << | >|| | >> |-------| |-------| | Vol+ | Vol- | Mute | \| | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE | RGUI | RAlt |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
- [_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_LBRC, _______,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUOT, _______,
- _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |RGB ON| HUE+ | SAT+ | VAL+ | | BRG+ |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | MODE | HUE- | SAT- | VAL- | | BRG- |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE | RGUI | RAlt |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BRID, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-// SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master()) return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
- } else {
- oled_write(read_logo(), false);
- }
- return false;
-}
-#endif // OLED_ENABLE
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- #ifdef OLED_ENABLE
- set_keylog(keycode, record);
- #endif
- }
-
- return true;
-}
-
-/* Tap dance shifts */
-td_state_t cur_dance(tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) {
- return TD_SINGLE_TAP;
- } else {
- return TD_SINGLE_HOLD;
- }
- } else if (state->count == 2) {
- return TD_DOUBLE_TAP;
- }
-
- return TD_UNKNOWN;
-}
-
-static tap lshifttap_state = {.is_press_action = true, .state = TD_NONE};
-
-static tap rshifttap_state = {.is_press_action = true, .state = TD_NONE};
-
-void lshift_finished(tap_dance_state_t *state, void *user_data) {
- lshifttap_state.state = cur_dance(state);
-
- switch (lshifttap_state.state) {
- case TD_SINGLE_TAP:
- register_code16(LALT(KC_LEFT));
- break;
- case TD_SINGLE_HOLD:
- register_code(KC_LSFT);
- break;
- case TD_DOUBLE_TAP:
- tap_code16(LALT(KC_LEFT));
- register_code16(LALT(KC_LEFT));
- break;
- default:
- break;
- }
-}
-
-void lshift_reset(tap_dance_state_t *state, void *user_data) {
- switch (lshifttap_state.state) {
- case TD_SINGLE_TAP:
- unregister_code16(LALT(KC_LEFT));
- break;
- case TD_SINGLE_HOLD:
- unregister_code(KC_LSFT);
- break;
- case TD_DOUBLE_TAP:
- unregister_code16(LALT(KC_LEFT));
- break;
- }
- lshifttap_state.state = TD_NONE;
-}
-
-void rshift_finished(tap_dance_state_t *state, void *user_data) {
- rshifttap_state.state = cur_dance(state);
-
- switch (rshifttap_state.state) {
- case TD_SINGLE_TAP:
- register_code16(LALT(KC_RGHT));
- break;
- case TD_SINGLE_HOLD:
- register_code(KC_RSFT);
- break;
- case TD_DOUBLE_TAP:
- tap_code16(LALT(KC_RGHT));
- register_code16(LALT(KC_RGHT));
- break;
- default:
- break;
- }
-}
-
-void rshift_reset(tap_dance_state_t *state, void *user_data) {
- switch (rshifttap_state.state) {
- case TD_SINGLE_TAP:
- unregister_code16(LALT(KC_RGHT));
- break;
- case TD_SINGLE_HOLD:
- unregister_code(KC_RSFT);
- break;
- case TD_DOUBLE_TAP:
- unregister_code16(LALT(KC_RGHT));
- break;
- }
- rshifttap_state.state = TD_NONE;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [LEFT_SHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lshift_finished, lshift_reset),
- [RIGHT_SHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rshift_finished, rshift_reset),
-};
diff --git a/keyboards/lily58/keymaps/paulomp90/readme.md b/keyboards/lily58/keymaps/paulomp90/readme.md
deleted file mode 100644
index 9ab72cd0b2..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Paulo Lily58
-
-Lily58 is 6×4 column-staggered split keyboard.
-
-![Keymap first layer](https://i.postimg.cc/HWcgcxb8/lily58.png "Keymap first layer")
-
-- Add portuguese include
-- Add custom shift behaviour, when tap move by 1 word left <> right, when held act as shift.
-idea taken from [here](https://getreuer.info/posts/keyboards/custom-shift-keys/index.html).
-
diff --git a/keyboards/lily58/keymaps/paulomp90/rules.mk b/keyboards/lily58/keymaps/paulomp90/rules.mk
deleted file mode 100644
index d7bfc97394..0000000000
--- a/keyboards/lily58/keymaps/paulomp90/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-EXTRAKEY_ENABLE = yes # Audio control and System control
-OLED_ENABLE= yes # OLED display
-TAP_DANCE_ENABLE = yes
-TRI_LAYER_ENABLE = yes
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
- features/custom_shift_keys.c \
- # ./lib/mode_icon_reader.c \
- # ./lib/host_led_state_reader.c \
- # ./lib/timelogger.c \
diff --git a/keyboards/lily58/keymaps/pomodoro/config.h b/keyboards/lily58/keymaps/pomodoro/config.h
deleted file mode 100644
index ce2b0e4bcd..0000000000
--- a/keyboards/lily58/keymaps/pomodoro/config.h
+++ /dev/null
@@ -1,56 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 100
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-#define SPLIT_TRANSACTION_IDS_USER SYNC_POMODORO_RUNNING
-
-// Underglow
-/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_SLEEP
-*/
diff --git a/keyboards/lily58/keymaps/pomodoro/keymap.c b/keyboards/lily58/keymaps/pomodoro/keymap.c
deleted file mode 100644
index 7689a391f2..0000000000
--- a/keyboards/lily58/keymaps/pomodoro/keymap.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-Copyright 2023 Casey Borders
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |Backsp|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_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_MINS,
- 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_MPLY, MO(_LOWER), KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, MO(_RAISE), KC_MUTE
- ),
- /* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Up | | \ | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | Left | Down |Right | = | |
- * |------+------+------+------+------+------| < | | > |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-
- ),
- /* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | Vol+ | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Prev | Vol- | Next | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_RAISE] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, KC_VOLU, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-
- ),
- /* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | Oper | Out |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_OPER, KC_OUT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-// SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-const char *read_timelog(void);
-
-void toggle_pomodoro(void);
-const char* read_pomodoro_running(void);
-void update_pomodoro_display(void);
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_90;
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_pomodoro_running(), false);
- } else {
- update_pomodoro_display();
- }
- return false;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed && keycode == KC_OPER) {
- toggle_pomodoro();
- }
- return true;
-}
-
-#endif // OLED_ENABLE
diff --git a/keyboards/lily58/keymaps/pomodoro/pomodoro.c b/keyboards/lily58/keymaps/pomodoro/pomodoro.c
deleted file mode 100644
index 1c0641978d..0000000000
--- a/keyboards/lily58/keymaps/pomodoro/pomodoro.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
-Copyright 2023 Casey Borders
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-
-#include <string.h>
-
-#include "transactions.h"
-
-#ifdef OLED_ENABLE
-
-#define HEADER_SIZE 32
-const char headerBase[] PROGMEM = {
- 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF,
- 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF,
- 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF,
- 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF
-};
-char header[HEADER_SIZE];
-
-#define STATUS_WIDTH 15
-#define STATUS_HEIGHT 32
-#define STATUS_PIXELS (STATUS_WIDTH * 8)
-#define STATUS_SIZE (STATUS_WIDTH * STATUS_HEIGHT)
-const char logoBase[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7F, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x61, 0x61, 0x81, 0x81, 0x01, 0x01, 0xC1, 0xC1, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xC0, 0xFF, 0xFF, 0xC3, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x06, 0x9E, 0x9E, 0x66, 0x66, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0xF8, 0xF8, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xF8, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x86, 0x86, 0x67, 0x67, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x86, 0x86, 0x00, 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x31, 0x31, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x30, 0x30, 0x3F, 0x3F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xF3, 0x7F, 0x3F, 0x7F, 0xFF, 0xFF, 0x3B, 0xF1, 0xF7, 0xFF, 0x3F, 0x39, 0x30, 0x00, 0x01, 0x01, 0x01, 0x83, 0x86, 0x0C, 0xF8, 0xF0, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xCF, 0x07, 0x1F, 0x3F, 0x3F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xDF, 0xFC, 0x7F, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0E, 0x1C, 0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00
-};
-
-const char workBase[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3E, 0x3E, 0x3E, 0x3E, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x3E, 0x3E, 0x3E, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x7F, 0x7F, 0x7F, 0x7F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00
-};
-
-const char restBase[] PROGMEM = {
- 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00
-};
-char displayBuffer[STATUS_SIZE];
-
-#define WORK_TIME ((uint32_t)25 * 60 * 1000)
-#define REST_TIME ((uint32_t)5 * 60 * 1000)
-
-typedef enum pomo_state {
- _STOPPED,
- _WORK,
- _REST,
-} pomo_state;
-
-/* The master only needs to know if the timer is running or not */
-bool isRunning = false;
-
-/* The slave needs more info about the state and what's going on */
-pomo_state state = _STOPPED;
-uint8_t pomoCount = 0;
-uint32_t pomoTimer;
-uint32_t totalTime = 0;
-uint32_t currTime = 0;
-uint32_t lastTime = 0;
-uint16_t lastProgress = 0;
-
-const char* read_pomodoro_state(void) {
- switch (state) {
- case _STOPPED: return "STOPPED";
- case _REST: return "REST";
- case _WORK: return "WORK";
- default: return "UNKNOWN";
- }
-}
-
-const char* read_pomodoro_running(void) {
- if (isRunning) { return "RUNNING"; }
- else { return "STOPPED"; }
-}
-
-void update_display_base(void) {
- switch (state) {
- case _STOPPED: {
- memcpy_P(displayBuffer, logoBase, STATUS_SIZE);
- memset(header, 0, HEADER_SIZE);
- } break;
- case _WORK: {
- memcpy_P(displayBuffer, workBase, STATUS_SIZE);
- memcpy_P(header, headerBase, HEADER_SIZE);
- } break;
- case _REST: {
- memcpy_P(displayBuffer, restBase, STATUS_SIZE);
- memcpy_P(header, headerBase, HEADER_SIZE);
- } break;
- }
-}
-
-void update_cycle_display(void) {
- if (state == _STOPPED) { return; }
- uint8_t start = (HEADER_SIZE / 4) * (4 - pomoCount);
- for (uint8_t i = start; i < HEADER_SIZE; i++) {
- header[i] = ~header[i];
- }
-}
-
-bool syncRunning = false;
-void toggle_pomodoro(void) {
- isRunning = !isRunning;
- syncRunning = true;
-}
-
-void set_slave_pomodoro_running(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) {
- isRunning = *(bool*)in_data;
- if (isRunning) {
- /* Reset stuff and start the timer */
- pomoTimer = timer_read32();
- state = _WORK;
- totalTime = WORK_TIME;
- lastTime = 0;
- lastProgress = 0;
- currTime = 0;
- pomoCount = 1;
- update_display_base();
- update_cycle_display();
- } else {
- state = _STOPPED;
- update_display_base();
- }
-}
-
-void keyboard_post_init_user(void) {
- memcpy_P(displayBuffer, logoBase, STATUS_SIZE);
- memset(header, 0, HEADER_SIZE);
- transaction_register_rpc(SYNC_POMODORO_RUNNING, set_slave_pomodoro_running);
-}
-
-void update_pomodoro_display(void) {
- oled_set_cursor(0, 0);
- oled_write_raw(displayBuffer, STATUS_SIZE);
- oled_set_cursor(0, STATUS_WIDTH);
- oled_write_raw(header, HEADER_SIZE);
-}
-
-void update_time_display(void) {
- if (currTime > lastTime) {
- float ratio = (float)currTime / totalTime;
- uint16_t progress = (uint16_t)(ratio * STATUS_PIXELS);
-
- for (int i = lastProgress + 1; i <= progress; i++) {
- uint16_t row = i / 8;
- uint16_t bit = i % 8;
- char mask = 1 << bit;
- for (int j = 0; j < STATUS_HEIGHT; j++) {
- uint16_t index = row * STATUS_HEIGHT + j;
- if (index > STATUS_SIZE) break;
- displayBuffer[index] = displayBuffer[index] ^ mask;
- }
- }
-
- lastTime = currTime;
- lastProgress = progress;
- }
-}
-
-void housekeeping_task_user(void) {
- if (is_keyboard_master()) {
- if (syncRunning && transaction_rpc_send(SYNC_POMODORO_RUNNING, sizeof(bool), &isRunning)) {
- syncRunning = false;
- }
- } else {
- /* This is where the time will be updated */
- if (isRunning) {
- currTime = timer_elapsed32(pomoTimer);
- if (currTime >= totalTime) {
- if (state == _WORK) {
- state = _REST;
- totalTime = REST_TIME;
- } else if (state == _REST) {
- state = _WORK;
- totalTime = WORK_TIME;
- pomoCount++;
- }
-
- if (pomoCount > 4) {
- isRunning = false;
- state = _STOPPED;
- }
-
- pomoTimer = timer_read32();
- currTime = 0;
- lastTime = 0;
- lastProgress = 0;
- update_display_base();
- update_cycle_display();
- } else {
- update_time_display();
- }
- }
- }
-}
-
-#endif // OLED_ENABLE
diff --git a/keyboards/lily58/keymaps/pomodoro/rules.mk b/keyboards/lily58/keymaps/pomodoro/rules.mk
deleted file mode 100644
index a6666f7fc1..0000000000
--- a/keyboards/lily58/keymaps/pomodoro/rules.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-OLED_ENABLE = yes # OLED display
-LTO_ENABLE = yes # Link time optimisations
-EXTRAKEY_ENABLE = yes # Audio control and System control
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
- ./lib/mode_icon_reader.c \
- ./lib/host_led_state_reader.c \
- ./lib/timelogger.c \
- ./lib/keylogger.c \
- pomodoro.c \
diff --git a/keyboards/lily58/keymaps/pttbx/config.h b/keyboards/lily58/keymaps/pttbx/config.h
deleted file mode 100644
index b16e63b6d7..0000000000
--- a/keyboards/lily58/keymaps/pttbx/config.h
+++ /dev/null
@@ -1,54 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 100
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-// Underglow
-/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_SLEEP
-*/
diff --git a/keyboards/lily58/keymaps/pttbx/keymap.c b/keyboards/lily58/keymaps/pttbx/keymap.c
deleted file mode 100644
index a4977663b3..0000000000
--- a/keyboards/lily58/keymaps/pttbx/keymap.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright 2021 Paul Tan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-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 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LOWER| LGUI |LAlt | /Space / \Enter \ |BackSP| RGUI |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_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_LOWER), KC_LGUI, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, MO(_RAISE)
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | _ | + | { | } | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
- _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-// const char *read_mode_icon(bool swap);
-// const char *read_host_led_state(void);
-// void set_timelog(void);
-// const char *read_timelog(void);
-
-void oled_task_user(void) {
- if (is_keyboard_master()) {
- // If you want to change the display of OLED, you need to change here
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
- //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
- //oled_write_ln(read_host_led_state(), false);
- //oled_write_ln(read_timelog(), false);
- } else {
- oled_write(read_logo(), false);
- }
-}
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- // set_timelog();
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/pttbx/rules.mk b/keyboards/lily58/keymaps/pttbx/rules.mk
deleted file mode 100644
index e2c8a6f746..0000000000
--- a/keyboards/lily58/keymaps/pttbx/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c
diff --git a/keyboards/lily58/keymaps/via/config.h b/keyboards/lily58/keymaps/via/config.h
index 331521bcbf..284d3944b9 100644
--- a/keyboards/lily58/keymaps/via/config.h
+++ b/keyboards/lily58/keymaps/via/config.h
@@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Underglow
/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_SLEEP
*/
diff --git a/keyboards/lily58/keymaps/yuchi/config.h b/keyboards/lily58/keymaps/yuchi/config.h
deleted file mode 100644
index 55d05464bc..0000000000
--- a/keyboards/lily58/keymaps/yuchi/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
-
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 100
diff --git a/keyboards/lily58/keymaps/yuchi/keymap.c b/keyboards/lily58/keymaps/yuchi/keymap.c
deleted file mode 100644
index c8c9eea5e9..0000000000
--- a/keyboards/lily58/keymaps/yuchi/keymap.c
+++ /dev/null
@@ -1,164 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#ifdef PROTOCOL_LUFA
- #include "lufa.h"
- #include "split_util.h"
-#endif
-
-extern uint8_t is_master;
-
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-
-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 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |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_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_LOWER),KC_LGUI, KC_LALT, LT(_LOWER,KC_SPC), LT(_RAISE,KC_ENT), KC_BSPC, KC_RGUI, MO(_RAISE)
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 |-------. ,-------| 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | ` | + | { | } | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_GRAVE, KC_PLUS, KC_LCBR, KC_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| + | = | [ | ] | \ | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE |
- * | | | |/ / \ \ | | | |
- * `-------------------''-------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-// When you add source files to SRC in rules.mk, you can use functions.
-const char *read_layer_state(void);
-const char *read_logo(void);
-void set_keylog(uint16_t keycode, keyrecord_t *record);
-const char *read_keylog(void);
-const char *read_keylogs(void);
-
-// const char *read_mode_icon(bool swap);
-// const char *read_host_led_state(void);
-// void set_timelog(void);
-// const char *read_timelog(void);
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // If you want to change the display of OLED, you need to change here
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
- //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
- //oled_write_ln(read_host_led_state(), false);
- //oled_write_ln(read_timelog(), false);
- } else {
- oled_write(read_logo(), false);
- }
- return false;
-}
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- // set_timelog();
- }
- return true;
-}
diff --git a/keyboards/lily58/keymaps/yuchi/rules.mk b/keyboards/lily58/keymaps/yuchi/rules.mk
deleted file mode 100644
index f714be7c6a..0000000000
--- a/keyboards/lily58/keymaps/yuchi/rules.mk
+++ /dev/null
@@ -1,30 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-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.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-OLED_ENABLE= yes # OLED display
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/rgb_state_reader.c \
- ./lib/layer_state_reader.c \
- ./lib/logo_reader.c \
- ./lib/keylogger.c \
- # ./lib/mode_icon_reader.c \
- # ./lib/host_led_state_reader.c \
- # ./lib/timelogger.c \
diff --git a/keyboards/lily58/r2g/config.h b/keyboards/lily58/r2g/config.h
deleted file mode 100644
index 955cf70161..0000000000
--- a/keyboards/lily58/r2g/config.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2017 F_YUUCHI
-Copyright 2023 Elliot Powell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 74
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_KEYRELEASES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-
-#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#endif
-
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/lily58/r2g/info.json b/keyboards/lily58/r2g/info.json
index c7fe3e011e..3cad3dc8e8 100644
--- a/keyboards/lily58/r2g/info.json
+++ b/keyboards/lily58/r2g/info.json
@@ -22,7 +22,12 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "soft_serial_pin": "D2",
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
},
"ws2812": {
"pin": "D3"
@@ -104,6 +109,17 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "alphas_mods": true,
+ "breathing": true,
+ "hue_wave": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
"driver": "ws2812",
"split_count": [37, 37],
"layout": [
@@ -181,6 +197,9 @@
{"flags": 2, "x": 150, "y": 0}, // R RGB6
{"flags": 2, "x": 140, "y": 0}, // R RGB7
{"flags": 2, "x": 128, "y": 32} // R RGB8
- ]
+ ],
+ "max_brightness": 120,
+ "react_on_keyup": true,
+ "sleep": true
}
}
diff --git a/keyboards/lime/rev1/rev1.c b/keyboards/lime/rev1/rev1.c
index 91d00e0d2f..d08cf39810 100644
--- a/keyboards/lime/rev1/rev1.c
+++ b/keyboards/lime/rev1/rev1.c
@@ -1,38 +1,40 @@
- /* Copyright 2021 HellSingCoder
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+/* Copyright 2021 HellSingCoder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include "quantum.h"
/* Encoders */
#ifdef ENCODER_ENABLE
- bool encoder_update_user(uint8_t index, bool clockwise) {
-
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
return false;
}
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ return true;
+}
#endif
diff --git a/keyboards/linworks/fave60a/config.h b/keyboards/linworks/fave60a/config.h
deleted file mode 100644
index fd70ee7c38..0000000000
--- a/keyboards/linworks/fave60a/config.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2023 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Define RGB */
-#define RGB_MATRIX_LED_COUNT 91
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/linworks/fave60a/info.json b/keyboards/linworks/fave60a/info.json
index 97b50f7e82..6d59949b23 100644
--- a/keyboards/linworks/fave60a/info.json
+++ b/keyboards/linworks/fave60a/info.json
@@ -20,6 +20,50 @@
"pin": "A10"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{ "flags": 4, "matrix": [4, 13], "x": 208, "y": 64 },
@@ -113,7 +157,9 @@
{ "flags": 2, "x": 0, "y": 51 },
{ "flags": 2, "x": 0, "y": 35 },
{ "flags": 2, "x": 0, "y": 19 }
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/linworks/fave65h/config.h b/keyboards/linworks/fave65h/config.h
deleted file mode 100644
index 3f549797d8..0000000000
--- a/keyboards/linworks/fave65h/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 2020 <contact@vwolf.be>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Define RGB */
-#define RGB_MATRIX_LED_COUNT 67
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/linworks/fave65h/info.json b/keyboards/linworks/fave65h/info.json
index 3bcfcb0116..32a3f5252c 100644
--- a/keyboards/linworks/fave65h/info.json
+++ b/keyboards/linworks/fave65h/info.json
@@ -9,7 +9,53 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h
index 5ce329db0a..550b05415c 100644
--- a/keyboards/linworks/fave84h/config.h
+++ b/keyboards/linworks/fave84h/config.h
@@ -16,71 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* Define RGB */
#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 126
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define EECONFIG_KB_DATA_SIZE 4
#define CAPS_INDICATOR_INDEX 12
diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json
index 01619e7bc6..11ef16f2a3 100644
--- a/keyboards/linworks/fave84h/info.json
+++ b/keyboards/linworks/fave84h/info.json
@@ -23,6 +23,50 @@
"rows": ["B1", "B2", "B3", "D3", "D1", "D0"]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{"flags": 1, "matrix": [3, 13], "x": 190, "y": 40},
@@ -151,7 +195,9 @@
{"flags": 2, "x": 242, "y": 18},
{"flags": 2, "x": 242, "y": 31},
{"flags": 2, "x": 242, "y": 43}
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h
deleted file mode 100644
index e84a0ec929..0000000000
--- a/keyboards/linworks/fave87h/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 2020 <contact@vwolf.be>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Define RGB */
-#define RGB_MATRIX_LED_COUNT 87
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/linworks/fave87h/info.json b/keyboards/linworks/fave87h/info.json
index c2008c4bb2..2951b56a43 100644
--- a/keyboards/linworks/fave87h/info.json
+++ b/keyboards/linworks/fave87h/info.json
@@ -12,7 +12,53 @@
"pin": "D2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "B0", "B7", "E6"],
diff --git a/keyboards/linworks/favepada/config.h b/keyboards/linworks/favepada/config.h
deleted file mode 100644
index bee089bb43..0000000000
--- a/keyboards/linworks/favepada/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2023 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Define RGB */
-#define RGB_MATRIX_LED_COUNT 37
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
diff --git a/keyboards/linworks/favepada/info.json b/keyboards/linworks/favepada/info.json
index 005d7d06d0..2b5adcf0a6 100644
--- a/keyboards/linworks/favepada/info.json
+++ b/keyboards/linworks/favepada/info.json
@@ -9,7 +9,7 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "rgb_matrix": true,
+ "rgb_matrix": true
},
"matrix_pins": {
"cols": ["A14", "A15", "B3", "B4"],
@@ -58,6 +58,9 @@
"solid_splash": true,
"solid_multisplash": true
},
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{ "flags": 1, "matrix": [5, 2], "x": 149, "y": 59 },
@@ -98,7 +101,8 @@
{ "flags": 4, "x": 224, "y": 31 },
{ "flags": 4, "x": 224, "y": 18 }
],
- "max_brightness": 120
+ "max_brightness": 120,
+ "sleep": true
},
"ws2812": {
"pin": "B1"
diff --git a/keyboards/lpad/readme.md b/keyboards/lpad/readme.md
deleted file mode 100644
index 864f9569fa..0000000000
--- a/keyboards/lpad/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# LPAD
-
-![LPAD](https://i.imgur.com/bQgqZC6h.jpg)
-
-A Macro Keyboard with a RHS rotary encoder, made and sold by Laneware Peripherals.
-
-* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
-* Hardware Supported: LPAD
-* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
-
-Make example for this keyboard (after setting up your build environment):
-
- make lpad:default
-
-Flashing example for this keyboard:
-
- make lpad:default:flash
-
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 2 ways:
-
-* **Bootmagic reset**: Hold down the Top Left Switch and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lw67/keymaps/default/keymap.c b/keyboards/lw67/keymaps/default/keymap.c
deleted file mode 100644
index 2ab17a3590..0000000000
--- a/keyboards/lw67/keymaps/default/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
- /* Copyright 2021 Laneware Peripherals
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
-
diff --git a/keyboards/lw67/keymaps/iso/keymap.c b/keyboards/lw67/keymaps/iso/keymap.c
deleted file mode 100644
index 6e05f9b8bd..0000000000
--- a/keyboards/lw67/keymaps/iso/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
- /* Copyright 2021 Laneware Peripherals
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_DEL, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_iso(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT_iso(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
-
diff --git a/keyboards/lw67/keymaps/via/keymap.c b/keyboards/lw67/keymaps/via/keymap.c
deleted file mode 100644
index a8f4b42084..0000000000
--- a/keyboards/lw67/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
- /* Copyright 2021 Laneware Peripherals
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_iso_splitbs(
- 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_GRAVE, KC_BSPC, KC_MPLY,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_DEL, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_iso_splitbs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT_iso_splitbs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [3] = LAYOUT_iso_splitbs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
diff --git a/keyboards/lw67/readme.md b/keyboards/lw67/readme.md
deleted file mode 100644
index dacd09b5e0..0000000000
--- a/keyboards/lw67/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# LW-67
-
-![LW67](https://i.imgur.com/mcM1TTi.jpg)
-
-A 65% Keyboard with a LHS rotary encoder, made and sold by Laneware Peripherals.
-
-* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
-* Hardware Supported: Macro-1
-* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
-
-Make example for this keyboard (after setting up your build environment):
-
- make lw67:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lw75/readme.md b/keyboards/lw75/readme.md
deleted file mode 100644
index 9f64108fa5..0000000000
--- a/keyboards/lw75/readme.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# LW-75
-
-![LW75](https://i.imgur.com/JczcWsmh.jpg)
-
-A 75% Keyboard with a LHS rotary encoder, made and sold by Laneware Peripherals.
-
-* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
-* Hardware Supported: LW-75
-* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
-
-Make example for this keyboard (after setting up your build environment):
-
- make lw75:default
-
-Flashing example for this keyboard:
- make lw75:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 2 ways:
-
-* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/lxxt/config.h b/keyboards/lxxt/config.h
deleted file mode 100644
index 03ef56622c..0000000000
--- a/keyboards/lxxt/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2023 DeskDaily
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define WS2812_PIO_USE_PIO1 \ No newline at end of file
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
deleted file mode 100644
index 8860bbd010..0000000000
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ /dev/null
@@ -1,150 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-extern keymap_config_t keymap_config;
-
-enum layers {
- _L0 = 0,
- _L1,
- _L2,
- _L3,
- _L4,
- _L5,
- _L6,
- _L7,
- _L8,
- _L9
-};
-
-enum custom_keycodes {
- QMK_REV = SAFE_RANGE,
- KC_WEB,
- KC_WCLS,
- DYNAMIC_MACRO_RANGE
-};
-
-extern backlight_config_t backlight_config;
-
-#include "dynamic_macro.h"
-#define FN_ZERO LT(_L9, KC_KP_0)
-#define KC_DMR1 DM_REC1
-#define KC_DMR2 DM_REC2
-#define KC_DMP1 DM_PLY1
-#define KC_DMP2 DM_PLY2
-#define KC_DMRS DM_RSTP
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*## Layout Config:
- * .-----------. .-----------. .-----------. .-----------. .-----------.
- * |7 |8 |9 | |+ |- |* | |^ |& |! | |VLU|Ver|WFD| |VLU|NXT|FFD|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * |4 |5 |6 | |/ |% |, | |D |E |F | |MUT|C-W|CHR| |MUT|STP|PLY|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * |1 |2 |3 | |. |= |Ent| |A |B |C | |VLD|CMP|WBK| |VLD|PRV|RWD|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * |#L0|_L9/0 | |#L1|_L9 | |#L2|_L9 | |#L3|_L9 | |#L4|_L9 |
- * *-----------* *-----------* *-----------* *-----------* *-----------*
- * .-----------. .-----------. .-----------. .-----------. .-----------.
- * | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * | | | | | | | | | |MRS| | | | | | |_L3|_L4|_L5|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2|
- * |-----------| |-----------| |-----------| |-----------| |-----------|
- * |#L5|_L9 | |#L6|_L9 | |#L7|_L9 | |#L8|_L9 | |#L9| |
- * *-----------* *-----------* *-----------* *-----------* *-----------*
- */
- [_L0] = {{KC_KP_7, KC_KP_8, KC_KP_9}, {KC_KP_4, KC_KP_5, KC_KP_6}, {KC_KP_1, KC_KP_2, KC_KP_3}, {XXXXXXX, XXXXXXX, FN_ZERO}},
- [_L1] = {{KC_PPLS, KC_PMNS, KC_PAST}, {KC_PSLS, KC_PERC, KC_COMM}, {KC_PDOT, KC_EQL, KC_PENT}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L2] = {{KC_CIRC, KC_AMPR, KC_EXLM}, {S(KC_D), S(KC_E), S(KC_F)}, {S(KC_A), S(KC_B), S(KC_C)}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L3] = {{KC_VOLU, QMK_REV, KC_WFWD}, {KC_MUTE, KC_WCLS, KC_WEB }, {KC_VOLD, KC_MYCM, KC_WBAK}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L4] = {{KC_VOLU, KC_MNXT, KC_MFFD}, {KC_MUTE, KC_MSTP, KC_MPLY}, {KC_VOLD, KC_MPRV, KC_MRWD}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L5] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L6] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L7] = {{KC_DMP1, _______, KC_DMP2}, {_______, KC_DMRS, _______}, {KC_DMR1, _______, KC_DMR2}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L8] = {{_______, _______, QK_BOOT }, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L9] = {{DF(_L6), DF(_L7), DF(_L8)}, {DF(_L3), DF(_L4), DF(_L5)}, {DF(_L0), DF(_L1), DF(_L2)}, {XXXXXXX, XXXXXXX, _______}},
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMK_REV:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
- }
- return false;
- break;
- case KC_WEB:
- if (record->event.pressed) {
- SEND_STRING(SS_LGUI("r"));
- wait_ms(100);
- SEND_STRING("chrome.exe\n");
- }
- return false;
- break;
- case KC_WCLS:
- if (record->event.pressed) {
- SEND_STRING (SS_LCTL("w"));
- }
- return false;
- break;
- }
- // Dynamic Macros.
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
-
-void custom_backlight_level(uint8_t level) {
- if (level > BACKLIGHT_LEVELS)
- level = BACKLIGHT_LEVELS;
- backlight_config.level = level;
- backlight_config.enable = !!backlight_config.level;
- backlight_set(backlight_config.level);
-}
-
-void matrix_init_user(void) {
- #ifdef BACKLIGHT_ENABLE
- custom_backlight_level(0);
- #endif
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _L0:
- custom_backlight_level(0);
- break;
- case _L1:
- custom_backlight_level(1);
- break;
- case _L2:
- custom_backlight_level(2);
- break;
- case _L3:
- custom_backlight_level(3);
- break;
- case _L4:
- custom_backlight_level(4);
- break;
- case _L5:
- custom_backlight_level(5);
- break;
- case _L6:
- custom_backlight_level(6);
- break;
- case _L7:
- custom_backlight_level(6);
- break;
- case _L8:
- custom_backlight_level(6);
- break;
- case _L9:
- custom_backlight_level(0);
- break;
- default:
- custom_backlight_level(0);
- break;
- }
- return state;
-}
diff --git a/keyboards/m10a/keymaps/gam3cat/readme.md b/keyboards/m10a/keymaps/gam3cat/readme.md
deleted file mode 100644
index 5c68e8c893..0000000000
--- a/keyboards/m10a/keymaps/gam3cat/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Keymap Maintainer: Gam3cat
-make m10a:gam3cat
-## Layout Config:
- .-----------. .-----------. .-----------. .-----------. .-----------.
- |7 |8 |9 | |+ |- |* | |^ |& |! | |VLU|Ver|WFD| |VLU|NXT|FFD|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- |4 |5 |6 | |/ |% |, | |D |E |F | |MUT|C-W|CHR| |MUT|STP|PLY|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- |1 |2 |3 | |. |= |Ent| |A |B |C | |VLD|CMP|WBK| |VLD|PRV|RWD|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- |#L0|_L9/0 | |#L1|_L9 | |#L2|_L9 | |#L3|_L9 | |#L4|_L9 |
- *-----------* *-----------* *-----------* *-----------* *-----------*
- .-----------. .-----------. .-----------. .-----------. .-----------.
- | | | | | | | | |MP1| |MP2| | | |RST| |_L6|_L7|_L8|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- | | | | | | | | | |MRS| | | | | | |_L3|_L4|_L5|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- | | | | | | | | |MR1| |MR2| | | | | |_L0|_L1|_L2|
- |-----------| |-----------| |-----------| |-----------| |-----------|
- |#L5|_L9 | |#L6|_L9 | |#L7|_L9 | |#L8|_L9 | |#L9| |
- *-----------* *-----------* *-----------* *-----------* *-----------*
diff --git a/keyboards/m10a/keymaps/gam3cat/rules.mk b/keyboards/m10a/keymaps/gam3cat/rules.mk
deleted file mode 100644
index ce170ae85f..0000000000
--- a/keyboards/m10a/keymaps/gam3cat/rules.mk
+++ /dev/null
@@ -1,22 +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
-#
-TAP_DANCE_ENABLE = no # Enable TapDance functionality
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+1500)
-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 # Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = no # Enable extended unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-#VARIABLE_TRACE = no # Use this to debug changes to variable values
-KEY_LOCK_ENABLE = no # This enables key lock(+260)
-SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/macro1/keymaps/default/keymap.c b/keyboards/macro1/keymaps/default/keymap.c
deleted file mode 100644
index 047ea69808..0000000000
--- a/keyboards/macro1/keymaps/default/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
- /* Copyright 2021 Laneware Peripherals
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-/*
- * ┌───┠┌───┬───â”
- * │K00│ │K02│K03│
- * └───┘ └───┴───┘
- * ┌───┬───┬───┬───â”
- * │K10│K11│K12│K13│
- * ├───┼───┼───┼───┤
- * │K20│K21│K22│K23│
- * ├───┼───┼───┤ │
- * │K30│K31│K32│ │
- * ├───┼───┼───┼───┤
- * │K40│K41│K42│K43│
- * ├───┴───┼───┤ │
- * │K50 │K52│ │
- * └───────┴───┴───┘
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_numpad(
- KC_MUTE, KC_MPLY, KC_BSPC,
- KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
- KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
- KC_KP_4, KC_KP_5, KC_KP_6,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
- KC_KP_0, KC_KP_DOT)
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}
-};
-#endif
-
-
diff --git a/keyboards/macro1/keymaps/via/keymap.c b/keyboards/macro1/keymaps/via/keymap.c
deleted file mode 100644
index f3e53a78e9..0000000000
--- a/keyboards/macro1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,103 +0,0 @@
- /* Copyright 2021 Laneware Peripherals
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-/*
- * ┌───┠┌───┬───â”
- * │K00│ │K02│K03│
- * └───┘ └───┴───┘
- * ┌───┬───┬───┬───â”
- * │K10│K11│K12│K13│
- * ├───┼───┼───┼───┤
- * │K20│K21│K22│K23│
- * ├───┼───┼───┤ │
- * │K30│K31│K32│ │
- * ├───┼───┼───┼───┤
- * │K40│K41│K42│K43│
- * ├───┴───┼───┤ │
- * │K50 │K52│ │
- * └───────┴───┴───┘
- */
-
- /*
- * ┌───┠┌───┬───â”
- * │K00│ │K02│K03│
- * └───┘ └───┴───┘
- * ┌───┬───┬───┬───â”
- * │K10│K11│K12│K13│
- * ├───┼───┼───┼───┤
- * │K20│K21│K22│K23│
- * │ ├───┼───┼───┤
- * │ │K31│K32│K33│
- * ├───┼───┼───┼───┤
- * │K40│K41│K42│K43│
- * │ ├───┼───┴───┤
- * │ │K51│K52 │
- * └───┴───┴───────┘
- */
-
-/*
- * ┌───┠┌───┬───â”
- * │K00│ │K01│K02│
- * └───┘ └───┴───┘
- * ┌───┬───┬───┬───â”
- * │K10│K11│K12│K13│
- * ├───┼───┼───┼───┤
- * │K20│K21│K22│K23│
- * ├───┼───┼───┼───┤
- * │K30│K31│K32│K33│
- * ├───┼───┼───┼───┤
- * │K40│K41│K42│K43│
- * ├───┼───┼───┼───┤
- * │K50│K51│K52│K53│
- * └───┴───┴───┴───┘
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_numpad(
- KC_MUTE, KC_MPLY, KC_BSPC,
- KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
- KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
- KC_KP_4, KC_KP_5, KC_KP_6,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
- KC_KP_0, KC_KP_DOT),
-
- [1] = LAYOUT_numpad(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT_numpad(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS),
-
- [3] = LAYOUT_numpad(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS), };
-
diff --git a/keyboards/macro1/readme.md b/keyboards/macro1/readme.md
deleted file mode 100644
index 578a34e1c7..0000000000
--- a/keyboards/macro1/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Macro-1
-
-![Macro-1](https://i.imgur.com/pnTgKuTh.jpeg)
-
-A versitile numpad/macropad (14x6) with a rotary encoder, made and sold by Laneware Peripherals.
-
-* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
-* Hardware Supported: Macro-1
-* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
-
-Make example for this keyboard (after setting up your build environment):
-
- make macro1:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/macro3/readme.md b/keyboards/macro3/readme.md
deleted file mode 100644
index 40cf927392..0000000000
--- a/keyboards/macro3/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Macro3
-
-![Macro3](https://github.com/filterpaper/filterpaper.github.io/raw/main/images/macro3.png)
-
-Macro3 is a low-profile macro pad with dual encoder support designed by [@davidphilipbarr](https://github.com/davidphilipbarr).
-
-## Keyboard Info
-
-* Keyboard Maintainer: [filterpaper](https://github.com/filterpaper), [davidphilipbarr](https://github.com/davidphilipbarr)
-* Hardware Supported: [Macro3](https://github.com/davidphilipbarr/Macropads/tree/main/macro3)
-* Hardware Availability: order PCBs with gerber file from the repository
-
-Make example for this keyboard (after setting up your build environment):
-
- make macro3:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the top right key and plug in the controller.
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
-* **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material.
-
diff --git a/keyboards/magic_force/mf17/config.h b/keyboards/magic_force/mf17/config.h
deleted file mode 100644
index 6e9f18cd5d..0000000000
--- a/keyboards/magic_force/mf17/config.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2023 devzhaoyou (@gevzhaoyou)
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 17
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED //
-
diff --git a/keyboards/magic_force/mf17/info.json b/keyboards/magic_force/mf17/info.json
index 397a5c879a..2619c5f8b4 100644
--- a/keyboards/magic_force/mf17/info.json
+++ b/keyboards/magic_force/mf17/info.json
@@ -91,7 +91,9 @@
{"flags": 1, "matrix": [4, 0], "x": 32, "y": 64},
{"flags": 1, "matrix": [4, 1], "x": 150, "y": 64},
{"flags": 1, "matrix": [4, 2], "x": 224, "y": 64}
- ]
+ ],
+ "max_brightness": 180,
+ "sleep": true
},
"indicators": {
"caps_lock": "B15",
diff --git a/keyboards/magic_force/mf34/config.h b/keyboards/magic_force/mf34/config.h
index ce02ad5d68..1cb16c5f86 100644
--- a/keyboards/magic_force/mf34/config.h
+++ b/keyboards/magic_force/mf34/config.h
@@ -19,59 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 34
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-// rgb EFFCET --end
diff --git a/keyboards/magic_force/mf34/info.json b/keyboards/magic_force/mf34/info.json
index 86b08087cb..027904e729 100644
--- a/keyboards/magic_force/mf34/info.json
+++ b/keyboards/magic_force/mf34/info.json
@@ -16,7 +16,53 @@
"pin": "C15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["A2", "A1", "B14", "B4", "B5", "B6", "B7"],
diff --git a/keyboards/majistic/keymaps/default/config.h b/keyboards/majistic/keymaps/default/config.h
deleted file mode 100644
index 4db5715cba..0000000000
--- a/keyboards/majistic/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2020 yossiyossy
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/maple_computing/jnao/rules.mk b/keyboards/maple_computing/jnao/rules.mk
index 4c9e4991bf..a18e35e796 100644
--- a/keyboards/maple_computing/jnao/rules.mk
+++ b/keyboards/maple_computing/jnao/rules.mk
@@ -11,8 +11,6 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
index 3d47ae41e7..c50e010375 100644
--- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
+++ b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
@@ -12,7 +12,7 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 2 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 2 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h
deleted file mode 100644
index 526c0837c7..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h
+++ /dev/null
@@ -1,21 +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
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/config.h
deleted file mode 100644
index 0055bbf459..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/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 EE_HANDS \ No newline at end of file
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c
deleted file mode 100644
index d4b06c6ef3..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c
+++ /dev/null
@@ -1,189 +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.
-
-enum resfury_layers {
- _COLEMAK,
- _DVORAK,
- _QWERTY
-};
-
-enum resfury_keycodes {
- COLEMAK = SAFE_RANGE,
- DVORAK,
- QWERTY,
-};
-
-#define _LOWER 3
-#define _RAISE 4
-#define _FUNCTION 15
-#define _ADJUST 16
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define FUNCTION MO(_FUNCTION)
-#define ADJUST MO(_ADJUST)
-
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | \ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |F/TAB | A | R | S | T | D | H | N | E | I | O | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Ent |Lower | Bksp | Spc | Raise| Left | Up | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- LT(_FUNCTION,KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
-),
-
- /* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | ' | , | . | P | Y | F | G | C | R | L | / |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |F/TAB | A | O | E | U | I | D | H | T | R | L | - |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Ent |Lower | Bksp | Spc | Raise| Left | Up | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- LT(_FUNCTION,KC_TAB), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- OSM(MOD_LSFT), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, OSM(MOD_RSFT),
- KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
-),
-
-
- /* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | \ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |F/TAB | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Ent |Lower | Bksp | Spc | Raise| Left | Up | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- LT(_FUNCTION,KC_TAB), 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), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | ~ | ` | Mute | Ctl/ | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |Lower | Bksp | Spc |Adjust| Play | Vol+ | Vol- | Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- 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_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_GRV), KC_GRV, KC_MUTE, RCTL(KC_BSLS), KC_PIPE,
- _______, _______, _______, _______, _______, KC_BSPC, KC_SPC, ADJUST, KC_MPLY, KC_VOLU, KC_VOLD, KC_MNXT
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | 4 | 5 | 6 | + | - | + | - | = | [ | ] |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | 7 | 8 | 9 | * | / | * | / | . | Mute | Ctl/ | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | , | 0 | . |Adjust| Bksp | Spc |Raise | Play | Vol+ | Vol- | Next |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- _______, KC_7, KC_8, KC_9, KC_ASTR, KC_SLSH, KC_ASTR, KC_SLSH, KC_DOT, KC_MUTE, RCTL(KC_BSLS), KC_BSLS,
- _______, KC_COMM, KC_0, KC_DOT, ADJUST, KC_BSPC, KC_SPC, _______, KC_MPLY, KC_VOLU, KC_VOLD, KC_MNXT
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * |Taskmg| | | | | | | |RGBVAI|RGBSAI|RGBHUI|caltde|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |_COLEMAK| | | | | | | |RGBVAD|RGBSAD|RGBHUD|RGBTOG|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * |_DVORAK| | | | | | | | | |RGBMOD|BLSTEP|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |_QWERTY| | | | | | | | | | | QK_BOOT|
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- TSKMGR, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL,
- DF(_COLEMAK), _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG,
- DF(_DVORAK), _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, BL_STEP,
- DF(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
-),
-
-/* Function
- * ,-----------------------------------------------------------------------------------.
- * | Caps | | | | | | S(Hm)| Home | Up | End |S(End)| |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | Ctrl | Shift| Alt | | | | Left | Down |Right | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUNCTION] = LAYOUT(
- KC_CAPS, _______, _______, _______, _______, _______, S(KC_HOME), KC_HOME, KC_UP, KC_END, S(KC_END), _______,
- _______, KC_LCTL, KC_LSFT, KC_LALT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- 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 QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md
deleted file mode 100644
index 6a882307b7..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-![Let's Split Eh?](https://imgur.com/a/riUxwpl)
-
-# ResFury Let's Split, Eh Layout
-
-This layout specializes the Let's Split, Eh for Colevrak users that occasionally let others play with their toys. Adjust layer allows swapping to Colemak/Dvorak/Qwerty alphas. Heavily influenced by the default planck layout, but with up/down switched, a left hand 10-key, remapped backspace, and a few convenience keys.
-
-Master set by EE_HANDS method. \ No newline at end of file
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk
deleted file mode 100644
index 7ad666d1a3..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md
deleted file mode 100644
index b2ec771257..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-## dustypomerleau, Minidox layout
-
-The rationale behind my layout can be summarized as follows:
-
-- Symmetry is important because use-cases are hard to predict. Whenever possible, modifiers and layer keys should be available from either hand.
-- Inward rolls should be leveraged not just for alphas (Colemak DHm), but also for coding/symbols.
-- Number order—like alpha order—should be designed to favor use of the strongest fingers.
-- One-shot keys can greatly reduce the strain of typing, and should be leveraged.
-
-Some aspects of my layout are optimized for macOS (order of modifiers, manner of producing en and em dashes, coding of micro-volume adjustments, etc.), but can be easily tweaked for the OS of your choice.
-
-Shift can be a tricky modifier when used in `MT()` combinations, particularly for fast typists on split boards using serial. This can be partially mitigated with options in `config.h`, but still requires a relatively strict typing style/accuracy from the fast typist. The tendency is for faster typists to combat mod/tap mistakes by using very short intervals for `TAPPING_TERM`, but this can introduce its own set of complications. Shift is also one of the highest-yield opportunities to use `OSM()`. For these reasons, I pulled Shift onto dedicated keys in the thumbs for use during regular typing (the home row Shifts have been left in place for use during selection and keycuts).
-
-The tapdance code that I used to create mod/tap keys inside my symbol layer allows up to 2 consecutive symbols within `TAPPING_TERM`. If you think you will need to quickly nest more than that, feel free to add more `case`s.
-
-### Special thanks
-
-- Everyone on the QMK Discord, for helping me work out the code for mod/tap keys using shifted symbols.
-- Everyone on the Colemak Discord, for their initial feedback on the layout.
-- @stevep and @DreymaR, for their work on Colemak DH(m), a truly awesome typing experience (and of course Shai Coleman, for starting it all off!).
-- @ckofy, for offering a dramatic improvement on Dvorak's original number order.
-- u/That-Canadian, for designing this awesome keyboard.
-
-### Questions or comments?
-
-- GitHub @dustypomerleau
-- Twitter @duspom
-- Discord @dusty#8897
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h
deleted file mode 100644
index af4401a4a0..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// dustypomerleau, Minidox config
-
-#pragma once
-
-#define EE_HANDS
-#define ONESHOT_TIMEOUT 1000
-#define TAPPING_TERM 200
-
-// optional configuration:
-
-// #define CONVERT_TO_PROTON_C
-// #define ONESHOT_TAP_TOGGLE 2 // not compatible with QUICK_TAP_TERM 0
-// #define PERMISSIVE_HOLD
-// #define QUICK_TAP_TERM 0 // allows rapid mod use after tap event, but sacrifices double-tap to repeat
-
-// #define MOUSEKEY_DELAY 0 // delay before cursor movement (high feels sluggish, low makes fine movement difficult)
-// #define MOUSEKEY_INTERVAL 20 // time between movement reports - low settings feel like high mouse speed
-// #define MOUSEKEY_MAX_SPEED 10
-// #define MOUSEKEY_TIME_TO_MAX 60
-// #define MOUSEKEY_WHEEL_DELAY 0
-// #define MOUSEKEY_WHEEL_MAX_SPEED 8
-// #define MOUSEKEY_WHEEL_TIME_TO_MAX 4
-
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
deleted file mode 100644
index 672728fe25..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
+++ /dev/null
@@ -1,434 +0,0 @@
-// Minidox keymap by dustypomerleau
-// Thanks for checking out my keymap. The rationale behind the layout is described in the README.
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-enum my_layers {
- _CMK_DHM,
- _QWERTY,
- _SYS,
- _NAV,
- _NUM_E,
- _NUM_N,
- _SYM
-};
-
-enum my_keycodes {
- CMK_DHM = SAFE_RANGE,
- QWERTY,
- SYS,
- NAV,
- NUM_E,
- NUM_N,
- SYM
-};
-
-enum td_keycodes {
- ALT_LP,
- CTL_RCB,
- GUI_RP,
- SFT_LCB,
- SFT_PLS
-};
-
-typedef enum {
- SINGLE_TAP,
- SINGLE_HOLD,
- DOUBLE_SINGLE_TAP
-} td_state_t;
-
-static td_state_t td_state;
-int cur_dance (tap_dance_state_t *state);
-void altlp_finished (tap_dance_state_t *state, void *user_data);
-void altlp_reset (tap_dance_state_t *state, void *user_data);
-void ctlrcb_finished (tap_dance_state_t *state, void *user_data);
-void ctlrcb_reset (tap_dance_state_t *state, void *user_data);
-void guirp_finished (tap_dance_state_t *state, void *user_data);
-void guirp_reset (tap_dance_state_t *state, void *user_data);
-void sftlcb_finished (tap_dance_state_t *state, void *user_data);
-void sftlcb_reset (tap_dance_state_t *state, void *user_data);
-void sftpls_finished (tap_dance_state_t *state, void *user_data);
-void sftpls_reset (tap_dance_state_t *state, void *user_data);
-
-#define ALT_2 LALT_T(KC_2)
-#define ALT_3 LALT_T(KC_3)
-#define ALT_8 LALT_T(KC_8)
-#define ALT_D LALT_T(KC_D)
-#define ALT_E LALT_T(KC_E)
-#define ALT_K LALT_T(KC_K)
-#define ALT_LB LALT_T(KC_LBRC)
-#define ALT_S LALT_T(KC_S)
-#define CTRL_2 LCTL_T(KC_2)
-#define CTRL_4 LCTL_T(KC_4)
-#define CTRL_5 LCTL_T(KC_5)
-#define CTRL_9 LCTL_T(KC_9)
-#define CTRL_EQ LCTL_T(KC_EQL)
-#define CTRL_I LCTL_T(KC_I)
-#define CTRL_L LCTL_T(KC_L)
-#define CTRL_R LCTL_T(KC_R)
-#define CTRL_S LCTL_T(KC_S)
-#define GUI_0 LGUI_T(KC_0)
-#define GUI_1 LGUI_T(KC_1)
-#define GUI_4 LGUI_T(KC_4)
-#define GUI_7 LGUI_T(KC_7)
-#define GUI_RB LGUI_T(KC_RBRC)
-#define GUI_F LGUI_T(KC_F)
-#define GUI_J LGUI_T(KC_J)
-#define GUI_N LGUI_T(KC_N)
-#define GUI_TEA LGUI_T(KC_T)
-#define MAC_EM S(LALT(KC_MINS))
-#define MAC_EN LALT(KC_MINS)
-#define NAV_BK LT(_NAV, KC_BSPC)
-#define NAV_LK TG(_NAV)
-#define NUME_SPC LT(_NUM_E, KC_SPC)
-#define NUMLK_E TG(_NUM_E)
-#define NUMLK_N TG(_NUM_N)
-#define NUMN_SPC LT(_NUM_N, KC_SPC)
-#define SFT_0 LSFT_T(KC_0)
-#define SFT_1 LSFT_T(KC_1)
-#define SFT_6 LSFT_T(KC_6)
-#define SFT_7 LSFT_T(KC_7)
-#define SFT_A LSFT_T(KC_A)
-#define SFT_O LSFT_T(KC_O)
-#define SFT_OS OSM(MOD_LSFT)
-#define SFT_QOT LSFT_T(KC_QUOT)
-#define SYM_OS OSL(_SYM)
-#define SYS_Z LT(_SYS, KC_Z)
-#define VOL_DN S(LALT(KC_VOLD))
-#define VOL_UP S(LALT(KC_VOLU))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Colemak DHm
- *
- * ,----------------------------------. ,----------------------------------.
- * | Q | W | F | P | B | | J | L | U | Y | ' |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SFT/A| CTL/R| ALT/S| GUI/T| G | | M | GUI/N| ALT/E| CTL/I| SFT/O|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SYS/Z| X | C | D | V | | K | H | , | . | ; |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * |SFT/OS|NAV/BK| | | |NUM/SP|SFT/OS|
- * `------+------|SYM/OS| |SYM/OS|------+------'
- * | | | |
- * `------' `------'
- */
-[_CMK_DHM] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
- SFT_A, CTRL_R, ALT_S, GUI_TEA, KC_G, KC_M, GUI_N, ALT_E, CTRL_I, SFT_O,
- SYS_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SCLN,
- SFT_OS, NAV_BK, SYM_OS, SYM_OS, NUME_SPC, SFT_OS
-),
-
-/* QWERTY
- *
- * ,----------------------------------. ,----------------------------------.
- * | Q | W | E | R | T | | Y | U | I | O | P |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SFT/A| CTL/S| ALT/D| GUI/F| G | | H | GUI/J| ALT/K| CTL/L| SFT/'|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SYS/Z| X | C | V | B | | N | M | , | . | ; |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * |SFT/OS|NAV/BK| | | |NUM/SP|SFT/OS|
- * `------+------|SYM/OS| |SYM/OS|------+------'
- * | | | |
- * `------' `------'
- */
-[_QWERTY] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- SFT_A, CTRL_S, ALT_D, GUI_F, KC_G, KC_H, GUI_J, ALT_K, CTRL_L, SFT_QOT,
- SYS_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN,
- SFT_OS, NAV_BK, SYM_OS, SYM_OS, NUMN_SPC, SFT_OS
-),
-
-/* System, media, and layer lock keys
- * If you use QWERTY + the Vanilla numbers primarily, change NUMLK_E to NUMLK_N here.
- *
- * ,----------------------------------. ,----------------------------------.
- * | Boot |Debug |QWERTY|CMKDHM| | | | VOL--| VOL++|BRITE-|BRITE+|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SHIFT| CTRL | ALT | GUI |NAV LK| | POWER| VOL- | VOL+ | MUTE | MPLY |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | | |AU OFF| AU ON| | | |NUM LK| MRWD | MFFD | |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,------,-------------.
- * | | | | | | | |
- * `-------------| | | |------+------.
- * | | | |
- * `------' `------'
- */
-[_SYS] = LAYOUT(
- QK_BOOT, DB_TOGG, QWERTY, CMK_DHM, _______, _______, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, NAV_LK, KC_PWR, VOL_DN, VOL_UP, KC_MUTE, KC_MPLY,
- _______, _______, AU_OFF, AU_ON, _______, _______, NUMLK_E, KC_MRWD, KC_MFFD, _______,
- _______, _______, _______, _______, _______, _______
-),
-
-/* Navigation + mouse keys
- *
- * ,----------------------------------. ,----------------------------------.
- * | PSCR | | WH U | WH D | | | BSPC | PGDN | PGUP | HOME | END |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SHIFT| CTRL | ALT | GUI |NAV LK| | CAPS | LEFT | DOWN | UP | RIGHT|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | | ACL0 | ACL1 | ACL2 | BTN2 | | BTN1 | MS L | MS D | MS U | MS R |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * | | | | | | ENTER| |
- * `------+------| ESC | | DEL |------+------'
- * | | | |
- * `------' `------'
- */
-[_NAV] = LAYOUT(
- KC_PSCR, _______, KC_WH_U, KC_WH_D, _______, KC_BSPC, KC_PGDN, KC_PGUP, KC_HOME, KC_END,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, NAV_LK, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- _______, KC_ACL0, KC_ACL1, KC_ACL2, KC_BTN2, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
- _______, _______, KC_ESC, KC_DEL, KC_ENT, _______
-),
-
-/* Number + function keys (ergonomic number order - default pairing with Colemak)
- *
- * ,----------------------------------. ,----------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SFT/7| CTL/5| ALT/3| GUI/1| 9 | | 8 | GUI/0| ALT/2| CTL/4| SFT/6|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | F11 | F12 | - | SPACE| BSPC | | DEL |NUM LK| | | / |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * | | TAB | | | | | |
- * `------+------| ESC | | |------+------'
- * | | | |
- * `------' `------'
- */
-[_NUM_E] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- SFT_7, CTRL_5, ALT_3, GUI_1, KC_9, KC_8, GUI_0, ALT_2, CTRL_4, SFT_6,
- KC_F11, KC_F12, KC_MINS, KC_SPC, KC_BSPC, KC_DEL, NUMLK_E, _______, _______, KC_SLSH,
- _______, KC_TAB, KC_ESC, _______, _______, _______
-),
-
-/* Number + function keys (numeric number order - default pairing with QWERTY)
- *
- * ,----------------------------------. ,----------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SFT/1| CTL/2| ALT/3| GUI/4| 5 | | 6 | GUI/7| ALT/8| CTL/9| SFT/0|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | F11 | F12 | - | SPACE| BSPC | | DEL |NUM LK| | | / |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * | | TAB | | | | | |
- * `------+------| ESC | | |------+------'
- * | | | |
- * `------' `------'
- */
-[_NUM_N] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- SFT_1, CTRL_2, ALT_3, GUI_4, KC_5, KC_6, GUI_7, ALT_8, CTRL_9, SFT_0,
- KC_F11, KC_F12, KC_MINS, KC_SPC, KC_BSPC, KC_DEL, NUMLK_N, _______, _______, KC_SLSH,
- _______, KC_TAB, KC_ESC, _______, _______, _______
-),
-
-
-/* Symbols
- *
- * ,----------------------------------. ,----------------------------------.
- * | ! | @ | # | $ | % | | ^ | & | * | ? | ' |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | SFT/+| CTL/=| ALT/(| GUI/)| " | | : | GUI/]| ALT/[| CTL/}| SFT/{|
- * |------+------+------+------+------| |------+------+------+------+------|
- * | < | | | - | > | \ | | ` | _ | / | ~ | ; |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,--------------------.
- * | |ENDASH| | | |EMDASH| |
- * `------+------| | | |------+------'
- * | | | |
- * `------' `------'
- */
-[_SYM] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_QUES, KC_QUOT,
- TD(SFT_PLS), CTRL_EQ, TD(ALT_LP), TD(GUI_RP), KC_DQT, KC_COLN, GUI_RB, ALT_LB, TD(CTL_RCB), TD(SFT_LCB),
- KC_LT, KC_PIPE, KC_MINS, KC_GT, KC_BSLS, KC_GRV, KC_UNDS, KC_SLSH, KC_TILD, KC_SCLN,
- _______, MAC_EN, _______, _______, MAC_EM, _______
-)
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CMK_DHM:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_CMK_DHM);
- }
- return false;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- default:
- return true;
- }
-};
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return SINGLE_TAP;
- else return SINGLE_HOLD;
- }
- if (state->count == 2) return DOUBLE_SINGLE_TAP;
- else return 3;
-}
-
-void altlp_finished (tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_LPRN);
- break;
- case SINGLE_HOLD:
- register_mods(MOD_BIT(KC_LALT));
- break;
- case DOUBLE_SINGLE_TAP:
- tap_code16(KC_LPRN);
- register_code16(KC_LPRN);
- }
-}
-
-void altlp_reset (tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_LPRN);
- break;
- case SINGLE_HOLD:
- unregister_mods(MOD_BIT(KC_LALT));
- break;
- case DOUBLE_SINGLE_TAP:
- unregister_code16(KC_LPRN);
- }
-}
-
-void ctlrcb_finished (tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_RCBR);
- break;
- case SINGLE_HOLD:
- register_mods(MOD_BIT(KC_LCTL));
- break;
- case DOUBLE_SINGLE_TAP:
- tap_code16(KC_RCBR);
- register_code16(KC_RCBR);
- }
-}
-
-void ctlrcb_reset (tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_RCBR);
- break;
- case SINGLE_HOLD:
- unregister_mods(MOD_BIT(KC_LCTL));
- break;
- case DOUBLE_SINGLE_TAP:
- unregister_code16(KC_RCBR);
- }
-}
-
-void guirp_finished (tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_RPRN);
- break;
- case SINGLE_HOLD:
- register_mods(MOD_BIT(KC_LGUI));
- break;
- case DOUBLE_SINGLE_TAP:
- tap_code16(KC_RPRN);
- register_code16(KC_RPRN);
- }
-}
-
-void guirp_reset (tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_RPRN);
- break;
- case SINGLE_HOLD:
- unregister_mods(MOD_BIT(KC_LGUI));
- break;
- case DOUBLE_SINGLE_TAP:
- unregister_code16(KC_RPRN);
- }
-}
-
-void sftlcb_finished (tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_LCBR);
- break;
- case SINGLE_HOLD:
- register_mods(MOD_BIT(KC_LSFT));
- break;
- case DOUBLE_SINGLE_TAP:
- tap_code16(KC_LCBR);
- register_code16(KC_LCBR);
- }
-}
-
-void sftlcb_reset (tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_LCBR);
- break;
- case SINGLE_HOLD:
- unregister_mods(MOD_BIT(KC_LSFT));
- break;
- case DOUBLE_SINGLE_TAP:
- unregister_code16(KC_LCBR);
- }
-}
-
-void sftpls_finished (tap_dance_state_t *state, void *user_data) {
- td_state = cur_dance(state);
- switch (td_state) {
- case SINGLE_TAP:
- register_code16(KC_PLUS);
- break;
- case SINGLE_HOLD:
- register_mods(MOD_BIT(KC_LSFT));
- break;
- case DOUBLE_SINGLE_TAP:
- tap_code16(KC_PLUS);
- register_code16(KC_PLUS);
- }
-}
-
-void sftpls_reset (tap_dance_state_t *state, void *user_data) {
- switch (td_state) {
- case SINGLE_TAP:
- unregister_code16(KC_PLUS);
- break;
- case SINGLE_HOLD:
- unregister_mods(MOD_BIT(KC_LSFT));
- break;
- case DOUBLE_SINGLE_TAP:
- unregister_code16(KC_PLUS);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [ALT_LP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altlp_finished, altlp_reset),
- [CTL_RCB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctlrcb_finished, ctlrcb_reset),
- [GUI_RP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, guirp_finished, guirp_reset),
- [SFT_LCB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, sftlcb_finished, sftlcb_reset),
- [SFT_PLS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, sftpls_finished, sftpls_reset)
-};
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk
deleted file mode 100644
index 2a74d95536..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# dustypomerleau, Minidox rules
-
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/maple_computing/minidox/keymaps/haegin/keymap.c b/keyboards/maple_computing/minidox/keymaps/haegin/keymap.c
deleted file mode 100644
index 324f76da94..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/haegin/keymap.c
+++ /dev/null
@@ -1,86 +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 LETTERS 0
-#define SYMBOLS 1
-#define MEDIA 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- *
- * ,----------------------------------. ,----------------------------------.
- * | Q | W | E | R | T | | Y | U | I | O | P |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | A | S | D | F | G | | H | J | K | L | ; |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Z | X | C | V | B | | N | M | , | . | / |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,------,-------------.
- * | Ctrl | LOWER| | | | RAISE| Shift|
- * `-------------| Space| |BckSpc|------+------.
- * | | | |
- * `------' `------'
- */
-[LETTERS] = 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,
- CTL_T(KC_ESC), SFT_T(KC_BSPC), GUI_T(KC_SPC), LT(SYMBOLS, KC_ENT), LT(MEDIA, KC_TAB), ALT_T(LCTL(KC_B))
-),
-
-/* Raise
- *
- * ,----------------------------------. ,----------------------------------.
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Tab | Left | Down | Up | Right| | | - | = | [ | ] |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Ctrl| ` | GUI | Alt | | | | | | \ | ' |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,------,-------------.
- * | | LOWER| | | | RAISE| |
- * `-------------| | | |------+------.
- * | | | |
- * `------' `------'
- */
-[SYMBOLS] = 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_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT,
- _______, _______, _______, _______, _______, _______
-),
-
-/* Lower
- *
- * ,----------------------------------. ,----------------------------------.
- * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Esc | | | | | | | _ | + | { | } |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Caps| ~ | | | | | | | | | | " |
- * `----------------------------------' `----------------------------------'
- * ,--------------------. ,------,-------------.
- * | | LOWER| | | | RAISE| Del |
- * `-------------| | | Enter|------+------.
- * | | | |
- * `------' `------'
- */
-[MEDIA] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
- KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
- KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT,
- _______, _______, _______, KC_ENT, _______, KC_DEL
-)
-};
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
diff --git a/keyboards/maple_computing/minidox/keymaps/norman/config.h b/keyboards/maple_computing/minidox/keymaps/norman/config.h
deleted file mode 100644
index ecdf080c2c..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/norman/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PERMISSIVE_HOLD
-#define TAPPING_TERM 160
diff --git a/keyboards/maple_computing/minidox/keymaps/norman/keymap.c b/keyboards/maple_computing/minidox/keymaps/norman/keymap.c
deleted file mode 100644
index 12741089ba..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/norman/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include <sendstring_norman.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 layers {
- _NORMAN,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST
-};
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-#define DSK_LFT LGUI(LCTL(KC_LEFT))
-#define DSK_RT LGUI(LCTL(KC_RIGHT))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-[_NORMAN] = LAYOUT(
- NM_Q, NM_W, NM_D, NM_F, NM_K, NM_J, NM_U, NM_R, NM_L, NM_SCLN,
- NM_A, NM_S, NM_E, NM_T, NM_G, NM_Y, NM_N, NM_I, NM_O, NM_H,
- NM_Z, NM_X, NM_C, NM_V, NM_B, NM_P, NM_M, NM_COMM, NM_DOT, NM_SLSH,
- LGUI_T(KC_ENT), LT(_RAISE, KC_ESC), SFT_T(KC_BSPC), CTL_T(KC_SPC), LT(_LOWER, KC_TAB), ALT_T(KC_ENT)
-),
-
-[_RAISE] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_0,
- KC_CIRC, KC_AMPR, KC_TILD, KC_PIPE, KC_BSLS, KC_MINUS, KC_4, KC_5, KC_6, KC_EQL,
- KC_DQT, KC_QUOT, KC_UNDS, KC_GRV, _______, KC_ASTR, KC_1, KC_2, KC_3, _______,
- _______, _______, _______, _______, MO(_ADJUST), _______
-),
-
-
-[_LOWER] = LAYOUT(
- KC_ESC, KC_HOME, KC_UP, KC_END, _______, _______, KC_LPRN, KC_RPRN, _______, _______,
- KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, _______, KC_LBRC, KC_RBRC, _______, _______,
- KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, _______, KC_LCBR, KC_RCBR, _______, _______,
- _______, MO(_ADJUST), _______, _______, _______, _______
-),
-
-[_ADJUST] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- _______, DSK_LFT, _______, DSK_RT, _______, TSKMGR, CALTDEL, _______, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______
-)
-
-};
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
diff --git a/keyboards/maple_computing/minidox/keymaps/norman/readme.md b/keyboards/maple_computing/minidox/keymaps/norman/readme.md
deleted file mode 100644
index 018e436322..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/norman/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# Minidox Norman Layout by LeHoff
-Based on the QWERTY layout created by Khitsule.
-![lehoff](https://i.imgur.com/rKTdymp.png)
-
-[KLE link](http://www.keyboard-layout-editor.com/#/gists/86ec49f9f820a8b9b36f6e0d2ef8fff7)
-
-## Layers
-| Layer | Legend |
-| ----- | ------ |
-| Base | Top left (black) |
-| Lower | Bottom right (red) |
-| Raise | Top right (orange) |
-| Adjust | Front print |
-
-## Features
-* Raise/lower layers focus first on one-handed use
-* Numpad on right hand with raise layer
-* Navigation on left hand with lower layer (ESDF)
- * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
-* Heavy use of hold/tap dual function keys - from left to right:
- * Cmd/Enter
- * Raise/Esc
- * Shift/Backspace
- * Ctrl/Space
- * Lower/Tab
- * Alt/Enter
-
-
-## Modifier Placement Rationale
-
-There are several major driving forces at play:
-
-* I use MacOS.
-* I'm Danish so the Alt and Shift-Alt layers in MacOS simply have to work.
-* I use Vim for coding.
-* I use org-mode in Emacs to keep track of my time.
-
-* Space is on the right hand side because I almost exclusively use my right hand thumb for
- space.
-* Cmd is on the left since I often use Cmd+click to open a link in a new tab in Safari.
-* Due to my usage of Vim Esc got a spot on the modifier row.
-* Tab is on the right to enable easy navigation between winows with Cmd+Tab.
-* Shift is on the left since org-mode uses Ctrl+arrows to manipulate task state quickly,
- and since the arrow keys are activated using Lower (which has been moved to the right) and S, E, T,
- and D, it works well that way.
-* Ctrl is on the right since Ctrl+<0-9> is used in MacOS to switch between spaces.
-* Enter is on both sides since Enter is often used together with all of the modifiers. E.g.,
- Cmd+Enter to send mails in most situations, but Ctrl+Enter is used in Emacs to create a
- new task in org-mode.
-
-This means that arrows and digits are being modified from the other hand, which could be
-bad for gaming, so if you're into that you might want to re-think a few things, but in
-that case you are probably using a Windows machine and then there are other constraints
-you have to deal with.
-
-
diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h
deleted file mode 100644
index a7d11feca5..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#define EE_HANDS
-
-#define COMBO_TERM 100
diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c
deleted file mode 100644
index 33bfc7340e..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c
+++ /dev/null
@@ -1,109 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _RSTHD,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum combo_events {
- TOP_L,
- TOP_R,
- MID_L,
- MID_R,
- BOT_L,
- BOT_R,
- HN_QUOT,
- TOP_CTR,
- MID_CTR,
- BOT_CTR,
-};
-
-const uint16_t PROGMEM fk_combo[] = {KC_F, KC_K, COMBO_END};
-const uint16_t PROGMEM zl_combo[] = {KC_Z, KC_L, COMBO_END};
-const uint16_t PROGMEM hd_combo[] = {KC_H, KC_D, COMBO_END};
-const uint16_t PROGMEM mn_combo[] = {KC_M, KC_N, COMBO_END};
-const uint16_t PROGMEM pb_combo[] = {KC_P, KC_B, COMBO_END};
-const uint16_t PROGMEM xw_combo[] = {KC_X, KC_W, COMBO_END};
-const uint16_t PROGMEM hn_combo[] = {KC_H, KC_N, COMBO_END};
-const uint16_t PROGMEM kz_combo[] = {KC_K, KC_Z, COMBO_END};
-const uint16_t PROGMEM dm_combo[] = {KC_D, KC_M, COMBO_END};
-const uint16_t PROGMEM bx_combo[] = {KC_B, KC_X, COMBO_END};
-
-combo_t key_combos[] = {
- [TOP_L] = COMBO(fk_combo, KC_ESC),
- [TOP_R] = COMBO(zl_combo, KC_AT),
- [MID_L] = COMBO(hd_combo, KC_TAB),
- [MID_R] = COMBO_ACTION(mn_combo),
- [BOT_L] = COMBO(pb_combo, KC_HASH),
- [BOT_R] = COMBO(xw_combo, KC_AMPR),
- [HN_QUOT] = COMBO(hn_combo, KC_QUOT),
- [TOP_CTR] = COMBO_ACTION(kz_combo),
- [MID_CTR] = COMBO_ACTION(dm_combo),
- [BOT_CTR] = COMBO_ACTION(bx_combo),
-};
-
- void process_combo_event(uint16_t combo_index, bool pressed) {
- switch(combo_index) {
- case MID_R:
- if (pressed) {
- tap_code16(LALT(KC_3));
- }
- break;
- case TOP_CTR:
- if (pressed) {
- set_oneshot_mods(MOD_LGUI);
- }
- break;
- case MID_CTR:
- if (pressed) {
- set_oneshot_mods(MOD_LALT);
- }
- break;
- case BOT_CTR:
- if (pressed) {
- set_oneshot_mods(MOD_LCTL);
- }
- break;
- }
- }
-
-// Defines for task manager and such
-// For insertion in keymap
-#define KILL LGUI(LALT(KC_ESC)) //Force quit controls
-#define SCRCAP LCTL(LSFT(LGUI(KC_5))) //Screen capture controls
-#define DSK_LFT LGUI(LCTL(KC_LEFT))
-#define DSK_RT LGUI(LCTL(KC_RIGHT))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-[_RSTHD] = LAYOUT(
- KC_J, KC_C, KC_Y, KC_F, KC_K, KC_Z, KC_L, KC_COMM, KC_U, KC_Q,
- KC_R, KC_S, KC_T, KC_H, KC_D, KC_M, KC_N, KC_A, KC_I , KC_O,
- LCTL_T(KC_SLSH), LALT_T(KC_V), LGUI_T(KC_G), KC_P, KC_B, KC_X, KC_W, RGUI_T(KC_DOT), RALT_T(KC_SCLN),RCTL_T(KC_MINS),
- OSM(MOD_LSFT), LT(_LOWER, KC_BSPC), KC_E, KC_SPC, LT(_RAISE, KC_ENT), OSM(MOD_LSFT)
-),
-[_RAISE] = LAYOUT(
- KC_PAST, KC_7, KC_8, KC_9, KC_PLUS, KC_NUBS, LALT(KC_2), _______, LALT(KC_4), KC_DLR,
- KC_CIRC, KC_4, KC_5, KC_6, KC_EQL, LSFT(KC_NUBS), KC_GRV, KC_TILD, KC_PIPE, KC_BSLS,
- _______, RALT_T(KC_1), KC_2, KC_3,KC_PERC, _______, _______, _______, _______, _______,
- _______, MO(_ADJUST), KC_0, _______, _______, _______
-),
-[_LOWER] = LAYOUT(
- _______, KC_LBRC, KC_QUES, KC_RBRC, KC_BRMU, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU,
- KC_ESC, KC_LPRN, KC_EXLM, KC_RPRN, KC_BRMD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_VOLD,
- _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE,
- _______, _______, _______, KC_DEL, MO(_ADJUST), _______
-),
-[_ADJUST] = LAYOUT(
- _______, KC_F7, KC_F8, KC_F9, SCRCAP, _______, KC_F10, KC_F11, KC_F12, _______,
- _______, KC_F1, KC_F2, KC_F3, _______, _______, KC_F4, KC_F5, KC_F6, _______,
- OSM(MOD_LCTL),_______, _______, _______, QK_BOOT, KILL, _______, _______, _______, OSM(MOD_RCTL),
- _______, _______, _______, _______, _______, _______
-)
-
-};
diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md
deleted file mode 100644
index 877d7059e7..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# The RSTHD Layout for minidox - Empowered with Combos
-An attempt at porting Xuming Zeng’s [RSTHD](https://xsznix.wordpress.com/2016/05/16/introducing-the-rsthd-layout/) from the Ergodox to the Minidox.
-[KLE Link](http://www.keyboard-layout-editor.com/#/gists/3161700bf3573325804716b2bdafa50f)
-![RSTHD empowered with chords](https://live.staticflickr.com/65535/49926249372_77ab8eba95_z.jpg)
-
-**Symbols and media/system keys work as shown with keyboard identified by MacOS as "International/ISO" hardware (not ANSI) and "Input Source" within Preferences set to "British" (Apple).**
-
-The key feature on this keymap, aside from the layout, is to telescope seven columns into five using combos. The top row and the bottom row form the basis of the number and nav layers respectively. Combos are shown in the above drawing using paired blue legends.
-## Writing specific
-As a hobby writer I have intended to make a layout that favours prose rather than code, with symbols used in everyday writing such as various (Western) currencies in easy reach. Hardcore coders will no doubt move their favourite symbols to where they feel most comfortable!
-The thumb mounted 'E' made it difficult to adapt other keymaps to this letter layout and eventually drove this fundamental redesign. I have strove to minimise the risk of ‘negligent discharge’ of functions whilst typing - whose interruption which can be fatal to creative flow - and which my previous layouts adapted from various ones in the repository seemed prone. To this end hold-tap keys are not placed on the home row nor thumb operated 'space' and 'E' keys, shift gets its own keys, and I use combos to create a useful number of virtual keys.
-## Combos!
-I employ combos to simulate the missing inner and outer columns that the minidox lacks relative to the Ergodox. All combos operate on keys within the inner pair of columns of each side because during normal typing the index finger has to cover both these columns, making press events of adjacent keys unlikely to overlap. They are assigned names within the keymap that relate to their position on the keyboard (not to my assigned functions) so their functions can be changed at will to suit user preference without confusing the keymap.
-- The six chords spanning the neighbouring two columns of each half correspond to keys in the outer columns of the Ergodox.
-- A further four chords span the central divide, using pairs of letters that infrequently occur consecutively.
- - The three combos spanning adjacent keys over the central divide simulate the mirrored inboard columns of the RSTHD map for Ergodox, and are set to chamber one shot of their respective modifiers.
- - The quotation mark is a combo of both resting keys of the index fingers. This is inspired by ‘air quotes’ used in conversation.
-I am confident these combos will rarely be accidentally triggered. If this occurs, try reducing the tapping term.
-## Other features
-- Number pad on left. This confers many benefits for the RSTHD layout, such as leaving key symbols on the primary layer uncovered that are useful for numbers (,.:-). On this layer ‘E’ becomes ‘0’.
-- The nav cluster is now on the right hand and, upon activation ’space’ becomes ‘del’, which allows rapid navigation and editing of text.
-- Pair of one shot shift keys, since mod-tap shift assigned to letters is a bad idea IMO. Some users might choose to move the shift onto the bottom left and right combos which corresponds to where shift lives in the outer columns of the ergodox layout.
diff --git a/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c b/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c
deleted file mode 100644
index 265affc1c9..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.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 _QWERTZ 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// macro keys
-#define CALTDEL LCTL(LALT(KC_DEL)) // ctrl-alt-del
-#define CALTESC LCTL(LSFT(KC_ESC)) // ctrl-alt-esc
-#define CALT LCTL(KC_LALT) // ctrl-alt
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTZ] = LAYOUT(
- DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P,
- DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, KC_SPC,
- DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS,
- KC_LCTL, MO(_LOWER), MO(_RAISE), KC_LGUI, KC_LSFT, KC_LALT
-),
-
-[_RAISE] = LAYOUT(
- DE_EXLM, DE_QUES, DE_SECT, DE_DLR, DE_HASH, DE_PLUS, DE_7, DE_8, DE_9, DE_0,
- DE_CIRC, DE_QUOT, DE_DQUO, DE_GRV, DE_AMPR, DE_ASTR, DE_4, DE_5, DE_6, DE_EQL,
- DE_SLSH, DE_PIPE, DE_BSLS, DE_AT, DE_EURO, DE_PERC, DE_1, DE_2, DE_3, KC_TAB,
- _______, _______, _______, _______, _______, _______
-),
-
-[_LOWER] = LAYOUT(
- KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, DE_LBRC, DE_RBRC, KC_AUDIO_VOL_UP, KC_HOME, KC_PGDN, KC_PGUP, KC_END, DE_TILD,
- KC_ESC, DE_LABK, DE_LPRN, DE_RPRN, DE_RABK, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT,
- KC_BSPC, KC_DEL, DE_LCBR, DE_RCBR, KC_PSCR, _______, DE_ADIA, DE_ODIA, DE_UDIA, DE_SS,
- _______, _______, _______, _______, MO(_ADJUST), _______
-),
-
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10,
- CALTESC, CALTDEL, _______, CALT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11,
- QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12,
- _______, _______, _______, _______, _______, _______
-)};
-
-void matrix_init_user(void) {
- set_single_persistent_default_layer(_QWERTZ);
-};
diff --git a/keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md b/keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md
deleted file mode 100644
index 7ab4526fbc..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/tw1t611/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Minidox Layout by tw1t611
-![](https://imgur.com/M95KSke.png)
-
-This is a german layout with support for umlauts and the euro sign.
-You need to set your system layout to german.
-
-[keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/d58a82d8017d0c0cca044ef385def165)
-
-## Layers
-| Layer | Legend |
-| ----- | ------ |
-| Base | Top left (white) |
-| Lower | Top right (organge) |
-| Raise | Bottom right (blue) |
-| Adjust | Front print (orange + shift) |
-
-## Features
-* German layout with support for umlauts and the euro sign
-* Raise/lower layers focus first on one-handed use
-* Numpad on right hand with raise layer
-* Vim optimized
- * Easy reachable Esc
- * arrow keys on h, j, k, l
diff --git a/keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk b/keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk
deleted file mode 100644
index fcfd2225bc..0000000000
--- a/keyboards/maple_computing/minidox/keymaps/tw1t611/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-EXTRAKEY_ENABLE = yes
diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h
deleted file mode 100644
index bd9aeeecdb..0000000000
--- a/keyboards/marksard/rhymestone/rev1/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright 2020 marksard
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 40
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
- // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
- // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #undef ENABLE_RGB_MATRIX_BREATHING
-// #undef ENABLE_RGB_MATRIX_BAND_SAT
-// #undef ENABLE_RGB_MATRIX_BAND_VAL
-// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// #undef ENABLE_RGB_MATRIX_CYCLE_ALL
-// #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-// #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// #undef ENABLE_RGB_MATRIX_DUAL_BEACON
-// #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #undef ENABLE_RGB_MATRIX_RAINDROPS
-// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-
-// #undef ENABLE_RGB_MATRIX_SPLASH
-// #undef ENABLE_RGB_MATRIX_MULTISPLASH
-// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
-#endif
diff --git a/keyboards/marksard/rhymestone/rev1/info.json b/keyboards/marksard/rhymestone/rev1/info.json
index be8a846cfc..bc474f0881 100644
--- a/keyboards/marksard/rhymestone/rev1/info.json
+++ b/keyboards/marksard/rhymestone/rev1/info.json
@@ -12,7 +12,9 @@
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 150,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D4", "C6", "D7", "E6", "B4"],
diff --git a/keyboards/marksard/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h
index 3f43b16d2b..66007ee2ef 100644
--- a/keyboards/marksard/treadstone48/rev1/config.h
+++ b/keyboards/marksard/treadstone48/rev1/config.h
@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#ifndef RS_EXTRA_LED
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT {12, 0}
#else
- #define RGBLED_NUM 32
+ #define RGBLIGHT_LED_COUNT 32
#define RGBLED_SPLIT {12, 20}
#endif
diff --git a/keyboards/massdrop/alt/keymaps/b_/config.h b/keyboards/massdrop/alt/keymaps/b_/config.h
deleted file mode 100644
index 8607cd8186..0000000000
--- a/keyboards/massdrop/alt/keymaps/b_/config.h
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2021 br (@b-)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define NO_DEBUG // Disable debugging
-// #define NO_PRINT // Disable printing/debugging using hid_listen
-// #define NO_ACTION_LAYER // Disable layers
-// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features
-// #define NO_ACTION_ONESHOT // Disable one-shot modifiers
-// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro
-// #define TERMINAL_HELP
-// #define MOUSEKEY_INTERVAL 20
-// #define MOUSEKEY_DELAY 0
-// #define MOUSEKEY_TIME_TO_MAX 60
-// #define MOUSEKEY_MAX_SPEED 10
-// #define MOUSEKEY_WHEEL_DELAY 0
-//#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
-// #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enabling to allow to tweak individual keys
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 3000 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-#define TAP_CODE_DELAY 25 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-
-
-
-//Teal and Blue
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 47 // Used to determine the color for the modifiers
-
-//Teal and Blue
-//#define RGB_MATRIX_DEFAULT_HUE 120 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 50 //Used to determine the color for the modifiers
-
-
-//QMK HSV is based on 255 value wheel rather than 360
-
-//Cyan and Yellow
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 177
-
-//Cyan and Green
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 215
-
-// #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default mode, if none has been set
-#define RGB_MATRIX_DEFAULT_HUE 180 //purple alphas with green background when pressed.
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/massdrop/alt/keymaps/b_/keymap.c b/keyboards/massdrop/alt/keymaps/b_/keymap.c
deleted file mode 100644
index 9f860cbd1a..0000000000
--- a/keyboards/massdrop/alt/keymaps/b_/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2021 br (@b-)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-/* physical layout
- * [ ` ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 0 ] [ - ] [ = ] [ bksp ] [ del ]
- * [ tab* ] [ q ] [ w ] [ e ] [ r ] [ t ] [ y ] [ u ] [ i ] [ o ] [ p ] [ [ ] [ ] ] [ home ]
- * [ ctrl* ] [ a ] [ s ] [ d ] [ f ] [ g ] [ h ] [ j ] [ k ] [ l ] [ ; ] [ ' ] [ enter ] [ PgUp ]
- * [ lshift* ] [ z ] [ x ] [ c ] [ v ] [ b ] [ n ] [ m ] [ , ] [ . ] [ / ] [ rshift* ] ] [ ↑ ] [ PgDn ]
- * [ ctrl ] [ alt ] [ meta ] [ spaaaaaaaace ] [ meta ] [ alt ] [ ↠] [ ↓ ] [ → ]
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker( /* normal */
- 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, /* 15 */
- LT(1,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, /* 15 */
- LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, /* 14 */
- LM(2, MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LM(2, MOD_LSFT), KC_UP, KC_PGDN, /* 14 */
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT /* 9 */
- ),
- [1] = LAYOUT_65_ansi_blocker( /* hold tab */
- KC_GRV, KC_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_MUTE,
- KC_TRNS, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, BL_UP, BL_DOWN,BL_BRTG, BL_STEP, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_END,
- MO(3), RGB_RMOD, RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, MO(4), NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END // fn layer. f keys, media keys, backlight control, nkro-toggle, etc.
- ),
- [2] = LAYOUT_65_ansi_blocker( /* lshift + rshift = caps lock */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS // this feels like a kludge...but it works
- ),
- [3] = LAYOUT_65_ansi_blocker( /* tab+ctrl */
- KC_EXEC, KC_HELP, KC_MENU, KC_SLCT, KC_STOP, KC_AGIN, KC_UNDO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_EJCT,
- KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_FIND, BL_DOWN,BL_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU,
- KC_NO, KC_NO, KC_CUT, KC_COPY, KC_PSTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_BRID,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD // miscellaneous silly keys, subject to change
- ),
- [4] = LAYOUT_65_ansi_blocker( /* tab+b */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, /* backspace */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS // tab + b + backspace goes to bootloader
- )
-};
-
diff --git a/keyboards/massdrop/alt/keymaps/bonta/keymap.c b/keyboards/massdrop/alt/keymaps/bonta/keymap.c
deleted file mode 100644
index 5509ba6010..0000000000
--- a/keyboards/massdrop/alt/keymaps/bonta/keymap.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO //Toggle 6KRO / NKRO mode
-#define RGB_BRU RGB_VAI
-#define RGB_BRD RGB_VAD
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_MUTE,
- _______, RGB_SPD, RGB_BRU, RGB_SPI, _______, _______, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_BRD, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, TG_NKRO, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD,
- _______, _______, _______, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- )
-};
-
-// 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) {
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- }
- break;
- }
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/README.md b/keyboards/massdrop/alt/keymaps/emptyflask/README.md
deleted file mode 100644
index b07693ebac..0000000000
--- a/keyboards/massdrop/alt/keymaps/emptyflask/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### Drop (Massdrop) ALT Layout
-
-This layout is for the [Drop ALT Keyboard](https://drop.com/buy/massdrop-alt-high-profile-mechanical-keyboard).
-
-Features:
-
-* Tap caps lock for ESC, hold for CTRL
-* Prefer grave/tilde to dedicated ESC key
-* Swap home and delete. It's more compatible with my keycaps, and closer to a traditional layout.
-* Numpad layer (FN-\ to enable)
-* Method for clearing all stuck-down mods (taken from favorable-mutation, for tapped modifiers)
-
-To do:
-* Customize RGB: solid colors by default, highlight numpad keys when using that layer.
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/config.h b/keyboards/massdrop/alt/keymaps/emptyflask/config.h
deleted file mode 100644
index b3152c4209..0000000000
--- a/keyboards/massdrop/alt/keymaps/emptyflask/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define ONESHOT_TIMEOUT 3000
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c b/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c
deleted file mode 100644
index 508eac744c..0000000000
--- a/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c
+++ /dev/null
@@ -1,292 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum my_keycodes {
- U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, // USB Toggle Automatic GCR control
- DBG_TOG, // DEBUG Toggle On / Off
- DBG_MTRX, // DEBUG Toggle Matrix Prints
- DBG_KBD, // DEBUG Toggle Keyboard Prints
- DBG_MOU, // DEBUG Toggle Mouse Prints
- MD_BOOT, // Restart into bootloader after hold timeout
- HK_COSL, // Clear held-down keys
- QWERTY, // Switch to QWERTY layout
- COLEMAK, // Switch to Colemak layout
- DVORAK, // Switch to Dvorak layout
- WORKMAN, // Switch to Workman layout
-};
-
-enum my_layers {
- _QWERTY = 0,
- _COLEMAK,
- _DVORAK,
- _WORKMAN,
- _FUNCTION,
- _NUMPAD,
- _LAYOUTS,
-};
-
-#define CTL_ESC LCTL_T(KC_ESC) // Tap for ESC, hold for CTRL
-#define MD_LOCK LCTL(LGUI(KC_Q)) // MacOS lock screen shortcut
-#define MO_FUNC MO(_FUNCTION) // Hold for function layer
-#define TG_NUMP TG(_NUMPAD) // Toggle numpad layer
-#define OSL_LAY OSL(_LAYOUTS) // One-shot layer to change layout
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ BackSpace │ Home │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ Del │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ Ctrl/Esc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Return │ PgUp │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ Up │ PgDn │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * │ Ctrl │ GUI │ Alt │ Space │ Alt │ Func │▒▒│ Left │ Down │ Right │
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
- */
- [_QWERTY] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- 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_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_COLEMAK] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_DVORAK] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL,
- CTL_ESC, 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_PGUP,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_WORKMAN] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- CTL_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Function layer
- * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Del │ End │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
- * │ │ RGB │ RGB │ RGB │ RGB │ RGB │ │ USB │ USB │ │ │ │ │ │ │
- * │ │ Speed │ Val │ Speed │ Hue │ Sat │ │ Port │ GCR │ │ PrtSc │ ScrLk │ Pause │ NumPad │ Mute │
- * │ │ - │ + │ + │ + │ + │ │ │ │ │ │ │ │ │ │
- * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
- * │ │ RGB │ RGB │ RGB │ RGB │ RGB │ │ │ │ (Mac) │ │ │ │ │
- * │ CapsLock │ Mode │ Val │ Mode │ Hue │ Sat │ │ │ │ Lock │ │ │ │ Vol+ │
- * │ │ - │ - │ + │ - │ - │ │ │ │ │ │ │ │ │
- * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
- * │ │ RGB │ │ │ │ │ 6KRO/ │ │ │ │ │ │ │ │
- * │ │ On/Off│ │ │ │Restart│ NKRO │ Debug │ │ │ Layout│ │ PgUp │ Vol- │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * │ │ │ │ Clear modifiers │ │ │▒▒│ Home │ PgDn │ End │
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
- */
- [_FUNCTION] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, TG_NUMP, KC_MUTE,
- KC_CAPS, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, MD_LOCK, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, OSL_LAY, _______, KC_PGUP, KC_VOLD,
- _______, _______, _______, HK_COSL, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- /* Number pad (FN-\ to toggle)
- * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ / │ * │ - │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ + │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ + │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ = │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * │ │ │ │ 0 │ . │ │▒▒│ │ │ │
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
- */
- [_NUMPAD] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PEQL, _______, _______, _______,
- _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______
- ),
-
- /* Alternate layouts (FN-/ then one of [Q,C,D,W]) */
- [_LAYOUTS] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, QWERTY, WORKMAN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Template
- * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * │ │ │ │ │ │ │▒▒│ │ │ │
- * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
- [X] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return true;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return true;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return true;
- case WORKMAN:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WORKMAN);
- }
- return true;
- case HK_COSL:
- clear_keyboard();
- reset_oneshot_layer();
- return true;
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/README.md b/keyboards/massdrop/alt/keymaps/ewersp/README.md
deleted file mode 100644
index 8a19bb6c19..0000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-## Greetings, Traveler!
-
-This layout is for the [Massdrop ALT Keyboard](https://drop.com/buy/massdrop-alt-mechanical-keyboard) and targets Windows machines.
-
-This keymap is very similar to the default keymap for the Drop ALT, but it overloads the left alt key to behave like an additional 'Fn' key while keeping the functionality of the alt key intact.
-
-### For example:
-```
-LeftAlt + 1...N -> F1...FN
-LeftAlt + L/R Arrows -> Home/End
-LeftAlt + Home -> End
-LeftAlt + Backspace -> Delete
-LeftAlt + Esc -> Backtick (`)
-LeftAlt + Shift + Esc -> Tilde (~)
-LeftAlt + LeftShift + 4 -> Alt+F4
-```
-
-The novel part of this keymap is that it **preserves the default functionality** of the left alt key, so ```'alt + tab', 'ctrl + alt + del', 'alt + f4'```, etc. all work as expected without using any janky timers.
-
-Everything also works with other modifier keys, so ```'alt + L/R' and 'alt + shift + L/R'``` work great for text manipulation to select lines.
-
-This **'super alt'** keymap will feel very familiar for anyone **coming from macOS** since the Windows alt key is in the same position as CMD on macOS keyboards.
-
-And finally, the original alt key functionality can be toggled at any time by pressing **```'Fn + period'```** so even if you don't like it, you can turn it off.
-
-This keymap was based on the 'default' Drop ALT keymap (and _not_ 'default_md') which means it supports all the fancy QMK RGB patterns, and isn't limited to the stock options that come with the board.
-
-If you have any questions, feel free to reach out to me at: ewersp [at] gmail [dot] com.
-
-Enjoy! **<3**
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/config.h b/keyboards/massdrop/alt/keymaps/ewersp/config.h
deleted file mode 100644
index 1c801d7e3c..0000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define FORCE_NKRO
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/keymap.c b/keyboards/massdrop/alt/keymaps/ewersp/keymap.c
deleted file mode 100644
index dd9177d8a9..0000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/keymap.c
+++ /dev/null
@@ -1,242 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
- ALT_DEL, //Added to map left alt + backspace to delete
-};
-
-// Friendly layer names
-enum alt_layers {
- DEF = 0,
- ALT,
- FUNC,
- SUPR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEF] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, MO(SUPR), KC_SPC, KC_RALT, MO(FUNC),KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [ALT] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______
- ),
- [FUNC] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, EE_CLR, MD_BOOT, NK_TOGG, DBG_TOG, _______, TG(ALT), _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, KC_LALT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [SUPR] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ALT_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
- )
-};
-
-// EEPROM storage mode
-enum alt_rgb_mode {
- RGB_MODE_ALL,
- RGB_MODE_KEYLIGHT,
- RGB_MODE_UNDERGLOW,
- RGB_MODE_NONE,
-};
-
-// EEPROM storage type
-typedef union {
- uint32_t raw;
- struct {
- uint8_t rgb_mode :8;
- };
-} alt_config_t;
-
-alt_config_t alt_config;
-
-// Read from EEPROM on init to load the last saved mode
-void keyboard_post_init_kb(void) {
- alt_config.raw = eeconfig_read_user();
- switch (alt_config.rgb_mode) {
- case RGB_MODE_ALL:
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- break;
- case RGB_MODE_KEYLIGHT:
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- break;
- case RGB_MODE_UNDERGLOW:
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- break;
- case RGB_MODE_NONE:
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- break;
- }
-}
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-// If the super alt layer is the active layer
-bool super_alt_layer_active = false;
-
-// If we need to unregister alt when leaving the super alt layer
-bool need_to_unregister_alt = false;
-
-// This runs code every time that the layers get changed
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case DEF:
- // When returning to the default layer, check if we need to unregister the left alt key
- if (super_alt_layer_active && need_to_unregister_alt) {
- unregister_code(KC_LALT);
- }
-
- super_alt_layer_active = false;
- need_to_unregister_alt = false;
- break;
- case SUPR:
- super_alt_layer_active = true;
- break;
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- // These are the keys we want to 'fall though' and behave as usual when pressed with the alt modifier
- case KC_A ... KC_Z:
- case KC_TAB:
- case KC_DEL:
- case KC_UP:
- case KC_DOWN:
- case MO(FUNC):
- if (super_alt_layer_active && record->event.pressed) {
- // Only activate the alt modifier for the first key press
- if ((get_mods() & MOD_BIT(KC_LALT)) == false) {
- register_code(KC_LALT);
- need_to_unregister_alt = true;
- }
- }
- // We still want to process the keycode normally
- return true;
- case KC_F4:
- // Map alt+shift+4 to alt+f4
- if (super_alt_layer_active && (get_mods() & MOD_BIT(KC_LSFT))) {
- if (record->event.pressed) {
- register_code(KC_LALT);
- } else {
- unregister_code(KC_LALT);
- }
- }
- return true;
- case ALT_DEL:
- if (record->event.pressed) {
- register_code(KC_DEL);
- } else {
- unregister_code(KC_DEL);
- }
- return false;
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case QK_CLEAR_EEPROM:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- eeconfig_init();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- alt_config.rgb_mode = RGB_MODE_KEYLIGHT;
- break;
- }
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- alt_config.rgb_mode = RGB_MODE_UNDERGLOW;
- break;
- }
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- alt_config.rgb_mode = RGB_MODE_NONE;
- break;
- }
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- alt_config.rgb_mode = RGB_MODE_ALL;
- break;
- }
- }
- eeconfig_update_user(alt_config.raw);
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/favorable-mutation/README.md b/keyboards/massdrop/alt/keymaps/favorable-mutation/README.md
deleted file mode 100644
index 9b0ad513b4..0000000000
--- a/keyboards/massdrop/alt/keymaps/favorable-mutation/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### Massdrop Alt Layout
-
-This layout is for the [Massdrop Alt
-Keyboard](https://drop.com/buy/massdrop-alt-mechanical-keyboard)
-and targets MacOS machines.
-
-Some features:
-
-* Tap space for space, hold for cmd
-* Tap caps lock for esc, hold for ctrl
-* Dedicated key for entering default mode of [yabai window
-manager](https://github.com/koekeishiya/yabai)
-* Who needs arrow keys, anyways???
-* Method for clearing all stuck-down mods
diff --git a/keyboards/massdrop/alt/keymaps/favorable-mutation/config.h b/keyboards/massdrop/alt/keymaps/favorable-mutation/config.h
deleted file mode 100644
index 1893f2ba6e..0000000000
--- a/keyboards/massdrop/alt/keymaps/favorable-mutation/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2019 Griffin Rademacher <contact@griffin-rademacher.info>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// toggle one-shot layer keys after this many presses
-#define ONESHOT_TAP_TOGGLE 3
-
-// set time held before Mod-Tap key sends mod code
-#define TAPPING_TERM 1000
-
-// permissive hold: if holding down a Mod-Tap key while pressing another, it
-// acts as a mod, even within the tapping term
-#define PERMISSIVE_HOLD
diff --git a/keyboards/massdrop/alt/keymaps/favorable-mutation/keymap.c b/keyboards/massdrop/alt/keymaps/favorable-mutation/keymap.c
deleted file mode 100644
index 370734d06d..0000000000
--- a/keyboards/massdrop/alt/keymaps/favorable-mutation/keymap.c
+++ /dev/null
@@ -1,145 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
- HK_COSL, //Clear held-down keys
-};
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO //Toggle 6KRO / NKRO mode
-#define CTL_ESC LCTL_T(KC_ESC)
-#define TP_LSFT OSM(MOD_LSFT)
-#define TP_RSFT OSM(MOD_RSFT)
-#define TP_LALT OSM(MOD_LALT)
-#define TP_RALT OSM(MOD_RALT)
-#define KC_YBAI LCTL(KC_SPC)
-#define GUI_SPC LGUI_T(KC_SPC)
-#define KC_SPOT LGUI(KC_SPC)
-
-//TODO default layer vim-like binds that work with WM, i to type??? this leads
-//to layers of vim modes - what's the best way to deal with that?
-//also need to deal with shift not working for other mods, add to shift layer
-//most likely
-//
-//TODO tap/toggle for layers
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = 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_SPOT,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- 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_MUTE,
- TP_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_VOLU, KC_MPLY,
- TP_LALT, TG(2), KC_YBAI, GUI_SPC, TP_RALT, TG(1), KC_MRWD, KC_VOLD, KC_MFFD
- ),
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_HOME,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, KC_MRWD, KC_MFFD, _______, _______, _______, _______, KC_PGUP,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, TG_NKRO, DBG_TOG, _______, _______, _______, _______, KC_UP, KC_PGDN,
- _______, _______, _______, HK_COSL, _______, TG(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-// 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) {
-};
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case HK_COSL:
- clear_keyboard();
- reset_oneshot_layer();
- return true;
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/hlmtre/keymap.c b/keyboards/massdrop/alt/keymaps/hlmtre/keymap.c
deleted file mode 100644
index a0ea46f323..0000000000
--- a/keyboards/massdrop/alt/keymaps/hlmtre/keymap.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Copyright 2021 hlmtre
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_VOLU, KC_VOLD,
- _______, _______, _______, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/mac/keymap.c b/keyboards/massdrop/alt/keymaps/mac/keymap.c
deleted file mode 100644
index 8a5fd9543a..0000000000
--- a/keyboards/massdrop/alt/keymaps/mac/keymap.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/mac_md/keymap.c b/keyboards/massdrop/alt/keymaps/mac_md/keymap.c
deleted file mode 100644
index 2b557475a5..0000000000
--- a/keyboards/massdrop/alt/keymaps/mac_md/keymap.c
+++ /dev/null
@@ -1,258 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
- L_BRD, //LED Brightness Decrease //Working
- L_EDG_I, //LED Edge Brightness Increase
- L_EDG_D, //LED Edge Brightness Decrease
- L_EDG_M, //LED Edge lighting mode
- L_PTN, //LED Pattern Select Next //Working
- L_PTP, //LED Pattern Select Previous //Working
- L_PSI, //LED Pattern Speed Increase //Working
- L_PSD, //LED Pattern Speed Decrease //Working
- L_RATIOD,
- L_RATIOI,
- L_T_MD, //LED Toggle Mode //Working
- L_T_ONF, //LED Toggle On / Off //Broken
- L_ON, //LED On //Broken
- L_OFF, //LED Off //Broken
- L_T_BR, //LED Toggle Breath Effect //Working
- L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
- U_T_AGCR, //USB Toggle Automatic GCR control //Working
- DBG_TOG, //DEBUG Toggle On / Off //
- DBG_MTRX, //DEBUG Toggle Matrix Prints //
- DBG_KBD, //DEBUG Toggle Keyboard Prints //
- DBG_MOU, //DEBUG Toggle Mouse Prints //
- DBG_FAC, //DEBUG Factory light testing (All on white)
- MD_BOOT //Restart into bootloader after hold timeout //Working
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- L_T_BR, L_PSD, L_BRI, L_PSI, L_EDG_I, _______, _______, _______, U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- L_T_PTD, L_PTP, L_BRD, L_PTN, L_EDG_D, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, L_T_MD, L_T_ONF, _______, L_EDG_M, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, _______, DBG_FAC, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
- static uint8_t scroll_effect = 0;
-
- switch (keycode) {
- case L_BRI:
- if (record->event.pressed) {
- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
- else gcr_desired += LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_BRD:
- if (record->event.pressed) {
- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
- else gcr_desired -= LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_EDG_M:
- if (record->event.pressed) {
- led_edge_mode++;
- if (led_edge_mode > LED_EDGE_MODE_MAX) {
- led_edge_mode = LED_EDGE_MODE_ALL;
- }
- }
- return false;
- case L_EDG_I:
- if (record->event.pressed) {
- led_edge_brightness += 0.1;
- if (led_edge_brightness > 1) { led_edge_brightness = 1; }
- }
- return false;
- case L_EDG_D:
- if (record->event.pressed) {
- led_edge_brightness -= 0.1;
- if (led_edge_brightness < 0) { led_edge_brightness = 0; }
- }
- return false;
- case L_RATIOI:
- if (record->event.pressed) {
- led_ratio_brightness += 0.2;
- if (led_ratio_brightness > 2.0) { led_ratio_brightness = 2.0; }
- }
- return false;
- case L_RATIOD:
- if (record->event.pressed) {
- led_ratio_brightness -= 0.2;
- if (led_ratio_brightness < 0.0) { led_ratio_brightness = 0.0; }
- }
- return false;
- case L_PTN:
- if (record->event.pressed) {
- if (led_animation_id == led_setups_count - 1) led_animation_id = 0;
- else led_animation_id++;
- }
- return false;
- case L_PTP:
- if (record->event.pressed) {
- if (led_animation_id == 0) led_animation_id = led_setups_count - 1;
- else led_animation_id--;
- }
- return false;
- case L_PSI:
- if (record->event.pressed) {
- led_animation_speed += ANIMATION_SPEED_STEP;
- }
- return false;
- case L_PSD:
- if (record->event.pressed) {
- led_animation_speed -= ANIMATION_SPEED_STEP;
- if (led_animation_speed < 0) led_animation_speed = 0;
- }
- return false;
- case L_T_MD:
- if (record->event.pressed) {
- led_lighting_mode++;
- if (led_lighting_mode > LED_MODE_MAX_INDEX) led_lighting_mode = LED_MODE_NORMAL;
- }
- return false;
- case L_T_ONF:
- if (record->event.pressed) {
- led_enabled = !led_enabled;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_ON:
- if (record->event.pressed) {
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_OFF:
- if (record->event.pressed) {
- led_enabled = 0;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_T_BR:
- if (record->event.pressed) {
- led_animation_breathing = !led_animation_breathing;
- if (led_animation_breathing) {
- gcr_breathe = gcr_desired;
- led_animation_breathe_cur = BREATHE_MIN_STEP;
- breathe_dir = 1;
- }
- }
- return false;
- case L_T_PTD:
- if (record->event.pressed) {
- scroll_effect++;
- if (scroll_effect == 1) { //Patterns with scroll move horizontal (Right to left)
- led_animation_direction = 1;
- led_animation_orientation = 0;
- led_animation_circular = 0;
- } else if (scroll_effect == 2) { //Patterns with scroll move vertical (Top to bottom)
- led_animation_direction = 1;
- led_animation_orientation = 1;
- led_animation_circular = 0;
- } else if (scroll_effect == 3) { //Patterns with scroll move vertical (Bottom to top)
- led_animation_direction = 0;
- led_animation_orientation = 1;
- led_animation_circular = 0;
- } else if (scroll_effect == 4) { //Patterns with scroll explode from center
- led_animation_direction = 0;
- led_animation_orientation = 0;
- led_animation_circular = 1;
- } else if (scroll_effect == 5) { //Patterns with scroll implode on center
- led_animation_direction = 1;
- led_animation_orientation = 0;
- led_animation_circular = 1;
- } else { //Patterns with scroll move horizontal (Left to right)
- scroll_effect = 0;
- led_animation_direction = 0;
- led_animation_orientation = 0;
- led_animation_circular = 0;
- }
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_FAC:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- led_lighting_mode = LED_MODE_NORMAL;
- led_edge_brightness = 1;
- led_edge_mode = LED_EDGE_MODE_ALL;
- led_animation_breathing = 0;
- led_animation_id = 7; //led_programs.c led_setups leds_white index
- gcr_desired = LED_GCR_MAX;
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
-
-led_instruction_t led_instructions[] = {
- //Please see ../default_md/keymap.c for examples
-
- //All LEDs use the user's selected pattern (this is the factory default)
- { .flags = LED_FLAG_USE_ROTATE_PATTERN },
-
- //end must be set to 1 to indicate end of instruction set
- { .end = 1 }
-};
diff --git a/keyboards/massdrop/alt/keymaps/mac_md/rules.mk b/keyboards/massdrop/alt/keymaps/mac_md/rules.mk
deleted file mode 100644
index 064a6f54c1..0000000000
--- a/keyboards/massdrop/alt/keymaps/mac_md/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# This keymap requires Massdrop Configurator support
-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h
deleted file mode 100644
index 27bf1a8332..0000000000
--- a/keyboards/massdrop/alt/keymaps/pregame/config.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Copyright 2020 elijahblake81
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define NO_DEBUG // Disable debugging
-// #define NO_PRINT // Disable printing/debugging using hid_listen
-// #define NO_ACTION_LAYER // Disable layers
-// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features
-// #define NO_ACTION_ONESHOT // Disable one-shot modifiers
-// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro
-// #define TERMINAL_HELP
-// #define MOUSEKEY_INTERVAL 20
-// #define MOUSEKEY_DELAY 0
-// #define MOUSEKEY_TIME_TO_MAX 60
-// #define MOUSEKEY_MAX_SPEED 10
-// #define MOUSEKEY_WHEEL_DELAY 0
-#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
-// #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enabling to allow to tweak individual keys
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 3000 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-
-
-
-//Teal and Blue
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 47 // Used to determine the color for the modifiers
-
-//Teal and Blue
-//#define RGB_MATRIX_DEFAULT_HUE 120 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 50 //Used to determine the color for the modifiers
-
-
-//QMK HSV is based on 255 value wheel rather than 360
-
-//Cyan and Yellow
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 177
-
-//Cyan and Green
-//#define RGB_MATRIX_DEFAULT_HUE 127 // Default boot color
-//#define RGB_MATRIX_DEFAULT_SPD 215
-
-// #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default mode, if none has been set
-#define RGB_MATRIX_DEFAULT_HUE 180 //purple alphas with green background when pressed.
-// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue
-// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
-// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGBLIGHT_EFFECT_ALTERNATING // Enable alternating animation mode.
-#define RGBLIGHT_EFFECT_BREATHING // Enable breathing animation mode.
-// #define RGBLIGHT_EFFECT_CHRISTMAS // Enable christmas animation mode.
-// #define RGBLIGHT_EFFECT_KNIGHT // Enable knight animation mode.
-// #define RGBLIGHT_EFFECT_RAINBOW_MOOD // Enable rainbow mood animation mode.
-// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL // Enable rainbow swirl animation mode.
-// #define RGBLIGHT_EFFECT_RGB_TEST // Enable RGB test animation mode.
-// #define RGBLIGHT_EFFECT_SNAKE // Enable snake animation mode.
-// #define RGBLIGHT_EFFECT_STATIC_GRADIENT // Enable static gradient mode.
-
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
-// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
-// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel
-// #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by
-// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls
-// #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-// #undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-// #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-// #undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-// #undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-// #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-// #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-// #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-// #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-// #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-// #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-// #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-// #undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-// #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/massdrop/alt/keymaps/pregame/keymap.c b/keyboards/massdrop/alt/keymaps/pregame/keymap.c
deleted file mode 100644
index d111b6a554..0000000000
--- a/keyboards/massdrop/alt/keymaps/pregame/keymap.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Copyright 2020 elijahblake81
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 MILLISECONDS_IN_SECOND 1000
-
-// These are just to make it neater to use builtin HSV values in the keymap
-#define RED {HSV_RED}
-#define CORAL {HSV_CORAL}
-#define ORANGE {HSV_ORANGE}
-#define GOLDEN {HSV_GOLDENROD}
-#define GOLD {HSV_GOLD}
-#define YELLOW {HSV_YELLOW}
-#define CHART {HSV_CHARTREUSE}
-#define GREEN {HSV_GREEN}
-#define SPRING {HSV_SPRINGGREEN}
-#define TURQ {HSV_TURQUOISE}
-#define TEAL {HSV_TEAL}
-#define CYAN {HSV_CYAN}
-#define AZURE {HSV_AZURE}
-#define BLUE {HSV_BLUE}
-#define PURPLE {HSV_PURPLE}
-#define MAGENT {HSV_MAGENTA}
-#define PINK {HSV_PINK}
-
-
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-extern bool g_suspend_state;
-extern rgb_config_t rgb_matrix_config;
-bool disable_layer_color;
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, // USB Toggle Automatic GCR control
- DBG_TOG, // DEBUG Toggle On / Off
- DBG_MTRX, // DEBUG Toggle Matrix Prints
- DBG_KBD, // DEBUG Toggle Keyboard Prints
- DBG_MOU, // DEBUG Toggle Mouse Prints
- MD_BOOT, // Restart into bootloader after hold timeout
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- [DEFAULT] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- */
- [0] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_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_CALC,
- RGB_M_P, RGB_SPD, RGB_HUI, RGB_SPI, RGB_SAI, RGB_VAI, _______, U_T_AUTO, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_MYCM,
- RGB_TOG, RGB_RMOD, RGB_HUD, RGB_MOD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU,
- _______, _______, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_VOLU, KC_VOLD,
- _______, _______, _______, KC_MPLY, _______, _______, KC_HOME, KC_VOLD, KC_END
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [RGB] = LAYOUT(
- ESC: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 0: 10, MINS: 11, EQL: 12, BSPC: 13, DEL: 14,
- TAB: 15, Q: 16, W: 17, E: 18, R: 19, T: 20, Y: 21, U: 22, I: 23, O: 24, P: 25, LBRC: 26, RBRC: 27, BSLS: 28, HOME: 29,
- CAPS: 30, A: 31, S: 32, D: 33, F: 34, G: 35, H: 36, J: 37, K: 38, L: 39, SCLN: 40, QUOT: 41, ENT: 42, PGUP: 43,
- LSFT: 44, Z: 45, X: 46, C: 47, V: 48, B: 49, N: 50, M: 51, COMM: 52, DOT: 53, SLSH: 54, RSFT: 55, UP: 56, PGDN: 57,
- LCTL: 58, LGUI: 59, LALT: 60, SPC: 61, RALT: 62, FN: 63, LEFT: 64, DOWN: 65, RGHT: 66
- //UnderGlow
- :67, :68, :69, :70, :71, :72, :73, :74, :75, :76, :77, :78, :79, :80, :81,
- :82, :83, :84, :85,
- :86, :87, :88, :89,
- :90, :91, :92, :93, :94, :95, :96, :97, :98, :99, :100, :101, :102, :103, :104, :105,
- ),
- [MATRIX] = LAYOUT(
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66,
- //UnderGlow
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 88, 89,
- 86, 87,
- 84, 85,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83
- ),
- */
-};
-
-#ifdef _______
-#undef _______
-#define _______ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [0] = {
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, CHART, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, CHART, CHART, CHART, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CHART, _______,
- _______, _______, _______, _______, _______, _______, CHART, CHART, CHART,
- //UnderGlow
- CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART
- },
- [1] = {
- CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, BLUE,
- GOLD, PINK, AZURE, PINK, TURQ, TEAL, _______, RED, _______, _______, GREEN, BLUE, GOLD, _______, BLUE,
- TEAL, MAGENT, AZURE, MAGENT, TURQ, TEAL, _______, _______, _______, _______, _______, _______, GOLD, BLUE,
- _______, _______, _______, _______, _______, RED, RED, RED, _______, _______, _______, _______, GOLD, BLUE,
- _______, _______, _______, GOLD, _______, _______, PURPLE, GOLD, PURPLE,
- //UnderGlow
- CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART,
- CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART, CHART
- },
-};
-
-#undef _______
-#define _______ KC_TRNS
-#endif
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- // Enable or disable debugging
- debug_enable=false;
- debug_matrix=false;
- debug_keyboard=false;
- //rgb_enabled_flag = true; // Initially, keyboard RGB is enabled. Change to false config.h initializes RGB disabled.
-};
-
-void keyboard_post_init_user(void) {
- rgb_matrix_enable();
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- return false;
- }
- }
- return true;
-}
-void set_layer_color(int layer) {
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (hsv.h || hsv.s || hsv.v) {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- } else if (layer == 1) {
- // Only deactivate non-defined key LEDs at layers other than FN. Because at FN we have RGB adjustments and need to see them live.
- // If the values are all false then it's a transparent key and deactivate LED at this layer
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- }
-}
-bool rgb_matrix_indicators_user(void) {
- if (g_suspend_state || disable_layer_color ||
- rgb_matrix_get_flags() == LED_FLAG_NONE ||
- rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) {
- return;
- }
- set_layer_color(get_highest_layer(layer_state));
- return false;
-}
diff --git a/keyboards/massdrop/alt/keymaps/pregame/readme.md b/keyboards/massdrop/alt/keymaps/pregame/readme.md
deleted file mode 100644
index e187270560..0000000000
--- a/keyboards/massdrop/alt/keymaps/pregame/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Massdrop Alt Pregame
-
-This keymap is here to show some love to the MD Alt. This is a stripped down version of the Drop Ctrl Endgame; hence the name Pregame.
-
-## IRL
-![In Real Life](https://i.imgur.com/Xp6Mb6P.jpg)
-
-
-
-## Layers
-
-### Typing Layer
-
-![Typing Layer](https://i.imgur.com/F7iU53K.png)
-
-### Function Layer
-
-![SHORTCUT_LAYER](https://i.imgur.com/Gub1xyC.png)
-
-## Features
-
-These are the features currently supported by this keymap:
-
-### RGB Can be customized by "NAME OF COLOR" in the Keymap.c file.
- 1. Look at keymap for example. My base layer the W,A,S,D and Arrow Keys are CHART short for CHARTREUSE (Close to NVIDIA GREEN). The values to pick from are located on keymap.h file.
- 2. I have applied static colors to the Function layer that let you know which keys are available to that layer only. The not lit up keys are still accessible if set to Transparent Keycap!!!
-
-## Credits
-
-This was all converted originally from the Drop Ctrl Endgame. I took nblyumberg's version of code and converted it to fit into the alt.
-RGB timeout functionality was originally inspired by the code in this [gist](https://gist.github.com/algernon/9182469e21894192017f2bb5d478c7df).
-LED config code was mostly transferred from [matthewrobo keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/ctrl/keymaps/matthewrobo).
-
-
-**Rest of the information about RGB matrix, scan matrix, and whatever information I have used was made publicly available by many other awesome members of the community.**
diff --git a/keyboards/massdrop/alt/keymaps/pregame/rules.mk b/keyboards/massdrop/alt/keymaps/pregame/rules.mk
deleted file mode 100644
index 5981633f7c..0000000000
--- a/keyboards/massdrop/alt/keymaps/pregame/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# RGBLIGHT_ENABLE = no # Not for MD boards. This is here in case you forget.
-COMMAND_ENABLE = no # Commands for debug and configuration
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-# AUTO_SHIFT_ENABLE = yes # Auto Shift
-NKRO_ENABLE = yes # USB Nkey Rollover
-DYNAMIC_MACRO_ENABLE = no # Dynamic macro recording and play
-MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size.
-TAP_DANCE_ENABLE = no # Enable tap dance keys
-CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
-EXTRAKEY_ENABLE = yes # Audio control and System control
-# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
-# COMBO_ENABLE # Key combo feature
-# LEADER_ENABLE # Enable leader key chording
diff --git a/keyboards/massdrop/alt/keymaps/reywood/README.md b/keyboards/massdrop/alt/keymaps/reywood/README.md
deleted file mode 100644
index 5ee630dfb8..0000000000
--- a/keyboards/massdrop/alt/keymaps/reywood/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# THIS KEYMAP IS BROKEN
-
-The CTRL and ALT have both been switched to using the QMK RGB Matrix system,
-rendering any custom effects that used the old, custom Massdrop lighting system,
-BROKEN.
diff --git a/keyboards/massdrop/alt/keymaps/reywood/keymap.c b/keyboards/massdrop/alt/keymaps/reywood/keymap.c
deleted file mode 100644
index 69d09e086c..0000000000
--- a/keyboards/massdrop/alt/keymaps/reywood/keymap.c
+++ /dev/null
@@ -1,189 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "rgb_matrix_user.h"
-
-enum alt_keycodes {
- L_BRI = SAFE_RANGE, //LED Brightness Increase
- L_BRD, //LED Brightness Decrease
- L_PTN, //LED Pattern Select Next
- L_PTP, //LED Pattern Select Previous
- L_PSI, //LED Pattern Speed Increase
- L_PSD, //LED Pattern Speed Decrease
- L_T_MD, //LED Toggle Mode
- L_T_ONF, //LED Toggle On / Off
- L_ON, //LED On
- L_OFF, //LED Off
- L_T_BR, //LED Toggle Breath Effect
- L_T_PTD, //LED Toggle Scrolling Pattern Direction
- U_T_AUTO, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO //Toggle 6KRO / NKRO mode
-#define ______ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- _______, _______, _______, KC_UP, _______, _______, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, MD_BOOT, TG_NKRO, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, KC_MPLY, MO(2), _______, KC_MRWD, KC_VOLD, KC_MFFD
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- L_T_BR, L_PSD, L_BRI, L_PSI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- L_T_PTD, L_PTP, L_BRD, L_PTN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, L_T_MD, L_T_ONF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-// 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) {
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- rgb_matrix_record_key_press(record);
-
- switch (keycode) {
- case L_BRI:
- if (record->event.pressed) {
- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
- else gcr_desired += LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_BRD:
- if (record->event.pressed) {
- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
- else gcr_desired -= LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_PTN:
- if (record->event.pressed) {
- if (led_animation_id == led_setups_count - 1) led_animation_id = 0;
- else led_animation_id++;
- }
- return false;
- case L_PTP:
- if (record->event.pressed) {
- if (led_animation_id == 0) led_animation_id = led_setups_count - 1;
- else led_animation_id--;
- }
- return false;
- case L_PSI:
- if (record->event.pressed) {
- led_animation_speed += ANIMATION_SPEED_STEP;
- }
- return false;
- case L_PSD:
- if (record->event.pressed) {
- led_animation_speed -= ANIMATION_SPEED_STEP;
- if (led_animation_speed < 0) led_animation_speed = 0;
- }
- return false;
- case L_T_MD:
- if (record->event.pressed) {
- led_lighting_mode++;
- if (led_lighting_mode > LED_MODE_MAX_INDEX) led_lighting_mode = LED_MODE_NORMAL;
- }
- return false;
- case L_T_ONF:
- if (record->event.pressed) {
- led_enabled = !led_enabled;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_ON:
- if (record->event.pressed) {
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_OFF:
- if (record->event.pressed) {
- led_enabled = 0;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_T_BR:
- if (record->event.pressed) {
- led_animation_breathing = !led_animation_breathing;
- if (led_animation_breathing) {
- gcr_breathe = gcr_desired;
- led_animation_breathe_cur = BREATHE_MIN_STEP;
- breathe_dir = 1;
- }
- }
- return false;
- case L_T_PTD:
- if (record->event.pressed) {
- led_animation_direction = !led_animation_direction;
- }
- return false;
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.c b/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.c
deleted file mode 100644
index 9ea8fbede4..0000000000
--- a/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.c
+++ /dev/null
@@ -1,193 +0,0 @@
-#include "quantum.h"
-#include "md_rgb_matrix.h"
-
-extern issi3733_led_t *led_cur;
-extern uint8_t led_per_run;
-extern issi3733_led_t *lede;
-extern issi3733_led_t led_map[];
-
-static uint16_t last_boost_update;
-static uint8_t led_boosts[ISSI3733_LED_COUNT];
-static uint8_t led_boost_index;
-static uint8_t led_cur_index;
-
-#define LED_BOOST_REFRESH_INTERVAL_IN_MS 40
-#define LED_BOOST_DECAY 0.7
-#define LED_BOOST_PROPAGATE 0.5
-#define LED_BOOST_PEAK 100
-
-#define MIN_RGB 0x050008
-#define MIN_R (MIN_RGB >> 16 & 0xff)
-#define MIN_G (MIN_RGB >> 8 & 0xff)
-#define MIN_B (MIN_RGB & 0xff)
-
-#define MAX_RGB 0xc26eff
-#define MAX_R (MAX_RGB >> 16 & 0xff)
-#define MAX_G (MAX_RGB >> 8 & 0xff)
-#define MAX_B (MAX_RGB & 0xff)
-
-#define UNDERGLOW_RGB 0x4f002e
-#define UNDERGLOW_R (UNDERGLOW_RGB >> 16 & 0xff)
-#define UNDERGLOW_G (UNDERGLOW_RGB >> 8 & 0xff)
-#define UNDERGLOW_B (UNDERGLOW_RGB & 0xff)
-
-#define UNDERGLOW_SCAN_CODE 255
-
-#define max(a, b) (((a) > (b)) ? (a) : (b))
-
-#define __ -1
-static const uint8_t KEY_TO_LED_MAP[MATRIX_ROWS][MATRIX_COLS] = {
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14},
- {15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29},
- {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, __, 42, 43},
- {44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57},
- {58, 59, 60, __, __, __, 61, __, __, __, 62, 63, 64, 65, 66},
-};
-
-#define KEY_LED_COUNT 67
-#define KP(c, r) { .col = c, .row = r } // shorthand for keypos_t
-static const keypos_t LED_TO_KEY_MAP[KEY_LED_COUNT] = {
- KP(0, 0), KP(1, 0), KP(2, 0), KP(3, 0), KP(4, 0), KP(5, 0), KP(6, 0), KP(7, 0), KP(8, 0), KP(9, 0), KP(10, 0), KP(11, 0), KP(12, 0), KP(13, 0), KP(14, 0),
- KP(0, 1), KP(1, 1), KP(2, 1), KP(3, 1), KP(4, 1), KP(5, 1), KP(6, 1), KP(7, 1), KP(8, 1), KP(9, 1), KP(10, 1), KP(11, 1), KP(12, 1), KP(13, 1), KP(14, 1),
- KP(0, 2), KP(1, 2), KP(2, 2), KP(3, 2), KP(4, 2), KP(5, 2), KP(6, 2), KP(7, 2), KP(8, 2), KP(9, 2), KP(10, 2), KP(11, 2), KP(13, 2), KP(14, 2),
- KP(0, 3), KP(2, 3), KP(3, 3), KP(4, 3), KP(5, 3), KP(6, 3), KP(7, 3), KP(8, 3), KP(9, 3), KP(10, 3), KP(11, 3), KP(12, 3), KP(13, 3), KP(14, 3),
- KP(0, 4), KP(1, 4), KP(2, 4), KP(6, 4), KP(10, 4), KP(11, 4), KP(12, 4), KP(13, 4), KP(14, 4),
-};
-
-
-static void update_led_boosts(void);
-static void update_led_cur_rgb_values(void);
-static void set_nearest_led_to_max(uint8_t col, uint8_t row);
-static uint8_t calculate_new_color_component_value(uint8_t max, uint8_t min);
-static void calculate_new_led_boosts(uint8_t new_led_boosts[]);
-static uint8_t calculate_new_led_boost_at(int index);
-static uint8_t get_propagated_boost_from_neighbors(int led_position);
-static uint8_t get_led_boost_at_keypos(uint8_t row, uint8_t col);
-static void set_new_led_boosts(uint8_t* new_led_boosts);
-static uint8_t map_key_position_to_led_index(uint8_t col, uint8_t row);
-
-
-void rgb_matrix_init_user(void) {
- for (int i = 0; i < ISSI3733_LED_COUNT; i++) {
- led_boosts[i] = 0;
- }
- last_boost_update = timer_read();
- led_boost_index = 0;
- led_cur_index = 0;
-}
-
-void md_rgb_matrix_run(void) {
- uint8_t led_this_run = 0;
-
- if (led_cur == 0) { //Denotes start of new processing cycle in the case of chunked processing
- led_cur = led_map;
- led_cur_index = 0;
- }
- update_led_boosts();
-
- while (led_cur < lede && led_this_run < led_per_run) {
- update_led_cur_rgb_values();
-
- led_cur++;
- led_cur_index++;
- led_this_run++;
- }
-}
-
-void rgb_matrix_record_key_press(keyrecord_t *record) {
- if (record->event.pressed) {
- keypos_t key = record->event.key;
- set_nearest_led_to_max(key.col, key.row);
- }
-}
-
-
-static void update_led_boosts(void) {
- if (timer_elapsed(last_boost_update) > LED_BOOST_REFRESH_INTERVAL_IN_MS) {
- last_boost_update = timer_read();
-
- uint8_t new_led_boosts[ISSI3733_LED_COUNT];
- calculate_new_led_boosts(new_led_boosts);
- set_new_led_boosts(new_led_boosts);
- }
-}
-
-static void update_led_cur_rgb_values(void) {
- if (led_cur->scan == UNDERGLOW_SCAN_CODE) {
- *led_cur->rgb.r = UNDERGLOW_R;
- *led_cur->rgb.g = UNDERGLOW_G;
- *led_cur->rgb.b = UNDERGLOW_B;
- } else {
- *led_cur->rgb.r = calculate_new_color_component_value(MAX_R, MIN_R);
- *led_cur->rgb.g = calculate_new_color_component_value(MAX_G, MIN_G);
- *led_cur->rgb.b = calculate_new_color_component_value(MAX_B, MIN_B);
- }
-}
-
-static void set_nearest_led_to_max(uint8_t col, uint8_t row) {
- uint8_t led_index = map_key_position_to_led_index(col, row);
- if (led_index >= 0 && led_index < ISSI3733_LED_COUNT) {
- led_boosts[led_index] = LED_BOOST_PEAK;
- }
-}
-
-static uint8_t calculate_new_color_component_value(uint8_t max, uint8_t min) {
- uint8_t current_boost = led_boosts[led_cur_index];
- return (float)(max - min) * current_boost / LED_BOOST_PEAK + min;
-}
-
-static void calculate_new_led_boosts(uint8_t new_led_boosts[]) {
- for (int i = 0; i < ISSI3733_LED_COUNT; i++) {
- new_led_boosts[i] = calculate_new_led_boost_at(i);
- }
-}
-
-static uint8_t calculate_new_led_boost_at(int index) {
- uint8_t decayed_boost = led_boosts[index] * LED_BOOST_DECAY;
- uint8_t propagated_boost = get_propagated_boost_from_neighbors(index);
- uint8_t new_boost = (propagated_boost > decayed_boost) ? propagated_boost : decayed_boost;
- if (new_boost > LED_BOOST_PEAK) {
- new_boost = LED_BOOST_PEAK;
- }
- return new_boost;
-}
-
-static uint8_t get_propagated_boost_from_neighbors(int led_position) {
- if (led_position < 0 || led_position >= KEY_LED_COUNT) {
- return 0;
- }
- keypos_t led_keypos = LED_TO_KEY_MAP[led_position];
- uint8_t top_boost = get_led_boost_at_keypos(led_keypos.row - 1, led_keypos.col);
- uint8_t bottom_boost = get_led_boost_at_keypos(led_keypos.row + 1, led_keypos.col);
- uint8_t left_boost = get_led_boost_at_keypos(led_keypos.row, led_keypos.col - 1);
- uint8_t right_boost = get_led_boost_at_keypos(led_keypos.row, led_keypos.col + 1);
- uint8_t max_boost = max(max(top_boost, bottom_boost), max(left_boost, right_boost));
- if (max_boost > LED_BOOST_PEAK) {
- max_boost = LED_BOOST_PEAK;
- }
- return max_boost * LED_BOOST_PROPAGATE;
-}
-
-static uint8_t get_led_boost_at_keypos(uint8_t row, uint8_t col) {
- if (row < 0 || row >= MATRIX_ROWS || col < 0 || col >= MATRIX_COLS) {
- return 0;
- }
- uint8_t led_index = KEY_TO_LED_MAP[row][col];
- if (led_index < 0) {
- return 0;
- }
- return led_boosts[led_index];
-}
-
-static void set_new_led_boosts(uint8_t* new_led_boosts) {
- for (int i = 0; i < ISSI3733_LED_COUNT; i++) {
- led_boosts[i] = new_led_boosts[i];
- }
-}
-
-static uint8_t map_key_position_to_led_index(uint8_t col, uint8_t row) {
- if (row >= 0 && row < MATRIX_ROWS && col >= 0 && col < MATRIX_COLS) {
- return KEY_TO_LED_MAP[row][col];
- }
- return -1;
-}
diff --git a/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.h b/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.h
deleted file mode 100644
index 4ffd202e9b..0000000000
--- a/keyboards/massdrop/alt/keymaps/reywood/rgb_matrix_user.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-void rgb_matrix_record_key_press(keyrecord_t *record);
diff --git a/keyboards/massdrop/alt/keymaps/reywood/rules.mk b/keyboards/massdrop/alt/keymaps/reywood/rules.mk
deleted file mode 100644
index 57a697a7e7..0000000000
--- a/keyboards/massdrop/alt/keymaps/reywood/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# project specific files
-SRC += rgb_matrix_user.c
-
-# This keymap requires Massdrop Configurator support
-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h b/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h
deleted file mode 100644
index f2a7e50386..0000000000
--- a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h
+++ /dev/null
@@ -1,27 +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 MATRIX_IO_DELAY 40
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_PROCESS_LIMIT 15
-#define RGB_MATRIX_LED_FLUSH_LIMIT 10
-
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c b/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c
deleted file mode 100644
index c5905d502f..0000000000
--- a/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c
+++ /dev/null
@@ -1,164 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, VK_TOGG, KC_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, _______, RGB_TOG, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-#define IDLE_TIMER_DURATION 20000 //how many milliseconds before RGB turns off
-
-static uint32_t idle_timer; //custom timer to check if keyboard is idled.
-bool rgbkeyIdle = false; //flag for keyboard idling, nil keys for set
-bool Jelocikey_toggle = false;
-uint8_t currentWPM;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
-static uint32_t key_timer;
-idle_timer = timer_read32();
-
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
-/* case QK_VELOCIKEY_TOGGLE:
- if (record->event.pressed) {
- Jelocikey_toggle =! Jelocikey_toggle;
- }
- else {
- rgb_matrix_set_speed_noeeprom(127);
- }
- return false; */
- default:
-
- if (rgbkeyIdle) { //check if the keyboards already idle and if it is, turn it back on as key is pressed.
- rgbkeyIdle = false;
- rgb_matrix_set_suspend_state(false);
- rgb_matrix_enable_noeeprom();
- }
-
- if (Jelocikey_toggle) {
- rgb_matrix_set_speed_noeeprom(3);
- currentWPM = get_current_wpm();
- rgb_matrix_set_speed_noeeprom(currentWPM);
- rgb_matrix_set_color(13, 100, 255, 255);
- }
- return true; //Process all other keycodes normally
- }
-}
-
-void matrix_scan_user(void) {
-//custom idle rbg switch off function
- if (timer_elapsed32(idle_timer) > IDLE_TIMER_DURATION) {
- idle_timer = 0;
- timer_clear();
- rgbkeyIdle = true;
- rgb_matrix_set_suspend_state(true);
- rgb_matrix_disable_noeeprom();
- }
-}
-
-void suspend_power_down_user(void) {
- rgb_matrix_set_suspend_state(true);
-}
-
-void suspend_wakeup_init_user(void) {
- rgb_matrix_set_suspend_state(false);
-}
diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/readme.md b/keyboards/massdrop/alt/keymaps/urbanvanilla/readme.md
deleted file mode 100644
index 116ccc4eff..0000000000
--- a/keyboards/massdrop/alt/keymaps/urbanvanilla/readme.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-# Custom mapping for the Drop Alt Keyboard.
-
-A really simple set of changes/fixes
-
-# Features and changes:
-
-## *ESC is now Grave Escape.*
-Changes KC_ESC for grave escape - Escape key is also `/~ when used with the modifier key.
-
-## *RGB timer switch off*
-
-There is a timer that turns off RGB lighting after a set time. This is defined by
-
- #define IDLE_TIMER_DURATION 20000 //how many milliseconds before RGB turns off
-
-## *Keyboard chatter fix*
-
-I have left the debounce settings and instead changed
-
- wait_us(1); //Delay for output
-to 40 instead of 1 which works for other keyboards as I was getting lots of keyboard chatter on all keys previously. 20 seemed to still let key chatter go through. Seems to be working well since.
-
-
-
-
-
-
-# ALT
-
-![ALT](https://massdrop-s3.imgix.net/product-images/alt-keyboard/FP/WNxwR19gTua3nxiiQWP3_AI7B3311%20copy%20page.jpg?auto=format&fm=jpg&fit=max&w=700&h=467&dpr=1&q=80)
-
-The Massdrop ALT is a 65% mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting.
-
-Keyboard Maintainer: [Massdrop](https://github.com/massdrop)
-Hardware Supported: Massdrop, Inc. ALT PCBs utilizing Microchip's ATSAMD51J18A MCU and USB2422 2-Port USB 2.0 Hi-Speed Hub Controller, and ISSI's IS31FL3733 LED Drivers.
-Hardware Availability: [Massdrop ALT Mechanical Keyboard](https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard)
-
-Make example for this keyboard (after setting up your build environment):
-
- make massdrop/alt:default
-
-For information on flashing this keyboard, visit the following links:
-
-[Massdrop Loader Releases](https://github.com/Massdrop/mdloader/releases)
-[Massdrop Loader Repository and Instructions](https://github.com/Massdrop/mdloader)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/massdrop/alt/keymaps/urbanvanilla/rules.mk b/keyboards/massdrop/alt/keymaps/urbanvanilla/rules.mk
deleted file mode 100644
index a51c4a4ff0..0000000000
--- a/keyboards/massdrop/alt/keymaps/urbanvanilla/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-WPM_ENABLE = yes
-VELOCIKEY_ENABLE = yes # doesn't work with RGB MATRIX only RGB LIGHT :(
diff --git a/keyboards/massdrop/ctrl/keymaps/R167/keymap.c b/keyboards/massdrop/ctrl/keymaps/R167/keymap.c
deleted file mode 100644
index e9379edde1..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/R167/keymap.c
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 2021 Winston Durand (@R167)
-// SPDX-License-Identifier: MIT
-
-#include QMK_KEYBOARD_H
-
-enum ctrl_keycodes {
- U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, // USB Toggle Automatic GCR control
- DBG_TOG, // DEBUG Toggle On / Off
- DBG_MTRX, // DEBUG Toggle Matrix Prints
- DBG_KBD, // DEBUG Toggle Keyboard Prints
- DBG_MOU, // DEBUG Toggle Mouse Prints
- MD_BOOT, // Restart into bootloader after hold timeout
- SLEEP, // Macro to send CMD+ALT+Ejct & turn off lights
-};
-
-enum r167_layers {
- _QWERTY = 0, // Standard querty layout
- _FN, // Simple function keys
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_EJCT, KC_HOME, KC_VOLU,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_VOLD,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN] = LAYOUT(
- SLEEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SLEEP, KC_MPLY, _______, _______,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-// clang-format on
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
- static bool asleep = false;
- if (asleep && record->event.pressed) {
- asleep = false;
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- } break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- } break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- } break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- } break;
- }
- }
- return false;
- case SLEEP:
- if (record->event.pressed) {
- // CMD+ALT+EJECT doesn't always reliably trigger. fall back mode
- // tap_code16(G(A(KC_EJCT)));
- tap_code16(LCTL(LGUI(KC_Q)));
- asleep = true;
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- } else if (IS_RELEASED(record->event)) {
- tap_code(KC_ESCAPE);
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/ctrl/keymaps/R167/readme.md b/keyboards/massdrop/ctrl/keymaps/R167/readme.md
deleted file mode 100644
index 1b805ea6a9..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/R167/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-![Layer 0](https://i.imgur.com/iRwr7si.png)
-
-![Layer 1](https://i.imgur.com/b2qwYdR.png)
-
-# R167 massdrop ctrl
-
-The main layer is a ~standard QWERTY layout with the ALT/GUI swap for macOS
-in addition to shifting the `Fn` key one to the right so cmd/alt line up nicely.
-Addionally, I rarely use PgUp/Dn, so I've remapped those to volume control.
-
-The most interesting bit is the shortcut `Fn + Esc` which triggers the macOS sleep
-shortcut (`CMD + ALT + Eject`) and then disables LEDs since the computer will wake up
-peripherals even while the display is asleep. Keyboard is returned to all LEDs on after
-pressing any key.
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/README.md b/keyboards/massdrop/ctrl/keymaps/endgame/README.md
deleted file mode 100644
index f65b70475f..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/endgame/README.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Massdrop Ctrl Endgame
-
-This keymap is here to show some love to the MD Ctrl.
-
-## Layers
-
-### Typing Layer
-
-![Typing Layer](https://imgur.com/QUIU2SL.png)
-
-### Function Layer
-
-![Function Layer](https://imgur.com/4q4ld4X.png)
-
-### Mouse Layer
-
-![Mouse Layer](https://imgur.com/xXVFyEE.png)
-
-### Git Layer
-
-![Git Layer](https://imgur.com/WMMM0zz.png)
-
-## Features
-
-These are the features currently supported by this keymap:
-
-### RGB Time Out
-
-This allows setting a dynamic timeout for RGB to turn off. The following is supported:
-
-1. Restores on the first click of any key.
-2. Restores to its previous state before timeout. i.e. if it was edge only before timeout it will restore to edge only, same for all modes.
-3. Doesn't interfere with RGB modes. You can set keyboard to All, Edge Only or Off and timeout will not interfere with these modes.
-4. The time before RGB is turned off is dynamically adjustable using keycodes ROUT_VI to increase, ROUT_VD to decrease. They have a 10 second steps by default. Minimum value 10 seconds by default and maximum is 10 minutes.
-5. Can be toggled on or off dyncamically with the ROUT_TG keycode.
-6. Can be put in fast mode using ROUT_FM, for movie watching purposes. Default value is 3 seconds. Note that fast mode disabled ROUT_VD and ROUT_VI so to use them again you have to toggle fast mode off with ROUT_FM. It doesn't impact ROUT_TG and ROUT_TG will remember if fast mode was enabled when toggled back on, so it doesn't disable fast mode on its own, only ROUT_FM can disable or enable fast mode.
-
-### Tapdance Keys
-
-Not really a feature. I just want to document what tapdance keys this keymap has because there will be many of them.
-
-1. LGUI is used for both LGUI and toggle mouse layer for double tap.
-2. LCTRL sends LCTRL for single tap and LCTRL+LALT+T for double tap, which opens terminal in most environments.
-
-## Future Work
-
-By the time this is project has accomplished its original primary objectives, the following features will be available for the ctrl:
-
-1. Automatic RGB timeout with all the options you would need. **DONE**
-2. Macro and Shortcut layers for at least the following: Git **DONE**, IntelliJ, VIM **WIP**, Yakuake, KDE, Firefox, Slack, Discord. All using default program configuration. [This list may and probably will get longer]
-3. Custom LED configs that offer all the RGB layouts I deem useful or having a unique feature, look or feel. **DONE**
-4. Increased Dynamic Macro slots, because two simply isn't enough. This particular one falls outside Ctrl config and into QMK core modification. However, it is on the list of features I would like this keyboard to have and is a **TOP PRIORITY** for me. It won't be easy, but I will figure it out.
-5. Porting from the Drop, Inc. way of doing things to the QMK way of doing things, wherever possible. Full QMK support of this keyboard is the goal, not that it's possible, but I'd like to get as close as it gets. **WIP**
-6. An easier way to configure LED than both the QMK way and the Drop way. I'm thinking of a graphical LED config like Drop configurator that offers the advanced LED config features QMK offers. This may or may not get done depending on whether or not I get sick of QMK LED config at any point. If it does get done, it may or may not be added to QMK Configurator.
-7. Better documentation of the MD Ctrl specifications, features, etc. This will be included here in the form of C and doxygen comments. The bigger portion will be included in QMK docs if and where possible. **WIP**
-
-Additions:
-
-8. Implement Raw HID. **WIP**
-
-This list will most probably either expand or have some items removed if they're deemed not worthy, probably both. Nothing will be removed because it can't be done though, I am a firm believer in You Can Do It. Anything modified in this list will be clearly marked, for posterity.
-
-## Motivation
-
-I bought this keyboard because I believed and still believe that it offers the greatest possible value for money for any TKL fan. It was very disappointing to me after receiving it to see that this keyboard didn't get the love it should have in QMK, from either Drop, Inc. or users.
-Granted, this is a TKL RGB board which means it is hated by every single enthusiast in the community. That doesn't mean it shouldn't be getting love form its users, or most importantly its maker.
-
-Drop, Inc. have for some reason decided that they want to work on their own QMK stack. A stupid decision to say the least. Although having made this decision, they did very little actual work on this keyboard and have offered very little support and almost no time working on the firmware. To my knowledge, no one is currently working on it in a truly active fashion. A small handful of people work on the software and even then, they seem to think that their own way of doing things is better than the way chosen by the thousands in the community who have worked on QMK. Their QMK fork for the keyboard is abandoned for months. Updates are few and far between and it seems this keyboard has been forgotten in the annals of 2018 by both its maker and its users.
-
-To their credit, at least they decided to abandon their idiotic RGB setup and have opted after taking their sweet time to use QMK RGB and they did make some much needed changes to mdloader. That being said, Drop, Inc. still don't show love to this keyboard and whether or not they are actually able is questionable.
-
-So the aim of this work, starting with this Keymap, is to make the Massdrop Ctrl a true QMK keyboard instead of the marketing spiel "QMK Supported". As much as it can be made so of course within the bounds of what can be done with information openly available about the keyboard.
-
-I am not of the opinion that a mechanical keyboard is inherently superior. I am of the opinion that a mechanical keyboard is a tool that boosts productivity, enjoyment and efficiency, if it fails at that then it is no longer superior. Programmability is a huge part of that and I can no longer use any keyboard that doesn't have a level of programmability less than QMK offers.
-
-I will personally do my best for this keyboard for no reason other than it will likely be my main keyboard for years to come.
-
-## Credits
-
-RGB timeout functionality was originally inspired by the code in this [gist](https://gist.github.com/algernon/9182469e21894192017f2bb5d478c7df).
-LED config code was mostly transferred from [matthewrobo keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/ctrl/keymaps/matthewrobo).
-
-Rest of the information about RGB matrix, scan matrix, and whatever information I have used was made publicly available by many other awesome members of the community.
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
deleted file mode 100644
index 34aa3cd666..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#pragma once
-
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define NO_DEBUG // Disable debugging
-// #define NO_PRINT // Disable printing/debugging using hid_listen
-// #define NO_ACTION_LAYER // Disable layers
-// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features
-// #define NO_ACTION_ONESHOT // Disable one-shot modifiers
-// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro
-#define TERMINAL_HELP
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 10
-#define MOUSEKEY_WHEEL_DELAY 0
-#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
-#define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
-// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue
-// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
-// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
-// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
-// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel
-// #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by
-// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls
-// #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-// #undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c b/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c
deleted file mode 100644
index b58227a1fd..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifdef RGB_MATRIX_ENABLE
-#include "ctrl.h"
-
-#include "md_rgb_matrix.h"
-#include "rgb_matrix.h"
-#include "config_led.h"
-
-led_config_t g_led_config = { {
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 16, 17, 18, 19, 20, 21, 22, 23 },
- { 33, 34, 35, 36, 37, 38, 39, 40 },
- { 50, 51, 52, 53, 54, 55, 56, 57 },
- { 63, 64, 65, 66, 67, 68, 69, 70 },
- { 76, 77, 78, 79, 80, 81, 82, 83 },
- { 8, 9, 10, 11, 12, 13, 14, 15 },
- { 24, 25, 26, 27, 28, 29, 30, 31 },
- { 41, 42, 43, 44, 45, 46, 47, 48 },
- { 58, 59, 60, 61, 62, 75, 49, 32 },
- { 71, 72, 73, 74, 84, 85, 86, NO_LED }
-}, {
- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
- { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 },
- { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
- // 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
- { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 },
- { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 },
- { 217, 20 },
- // KC_TAB, KC_Q, KC_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
- { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 },
- { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 },
- { 217, 30 },
- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
- { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 },
- { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
- // 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
- { 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 },
- { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 },
- { 193, 59 }, { 205, 59 }, { 217, 59 },
- // Underglow / Border
- { 224, 64 }, { 204, 64 }, { 186, 64 }, { 167, 64 }, { 149, 64 }, { 130, 64 }, { 112, 64 }, { 94, 64 },
- { 75, 64 }, { 57, 64 }, { 38, 64 }, { 20, 64 }, { 0, 64 }, { 0, 47 }, { 0, 32 }, { 0, 17 },
- { 0, 0 }, { 20, 0 }, { 38, 0 }, { 57, 0 }, { 75, 0 }, { 94, 0 }, { 112, 0 }, { 130, 0 },
- { 149, 0 }, { 167, 0 }, { 186, 0 }, { 204, 0 }, { 224, 0 }, { 224, 17 }, { 224, 32 }, { 224, 47 }
-}, {
- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
- 1, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 1, 1, 1,
- // KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 1, 1, 1,
- 1,
- // KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 1, 1,
- 1,
- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 1,
- // 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
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 1, 1,
- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- 1, 1, 1, 4, 1, 1, 1, 1,
- 1, 1, 1,
- // Underglow / Border
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2
-} };
-
-
-#ifdef USB_LED_INDICATOR_ENABLE
-bool rgb_matrix_indicators_kb(void)
-{
- md_rgb_matrix_indicators();
- return rgb_matrix_indicators_user();
-}
-#endif // USB_LED_INDICATOR_ENABLE
-
-#endif
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c
deleted file mode 100644
index 463ccb42ba..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c
+++ /dev/null
@@ -1,489 +0,0 @@
-#include QMK_KEYBOARD_H
-#include <string.h>
-
-#define MILLISECONDS_IN_SECOND 1000
-
-// These are just to make it neater to use builtin HSV values in the keymap
-#define RED {HSV_RED}
-#define CORAL {HSV_CORAL}
-#define ORANGE {HSV_ORANGE}
-#define GOLDEN {HSV_GOLDENROD}
-#define GOLD {HSV_GOLD}
-#define YELLOW {HSV_YELLOW}
-#define CHART {HSV_CHARTREUSE}
-#define GREEN {HSV_GREEN}
-#define SPRING {HSV_SPRINGGREEN}
-#define TURQ {HSV_TURQUOISE}
-#define TEAL {HSV_TEAL}
-#define CYAN {HSV_CYAN}
-#define AZURE {HSV_AZURE}
-#define BLUE {HSV_BLUE}
-#define PURPLE {HSV_PURPLE}
-#define MAGENT {HSV_MAGENTA}
-#define PINK {HSV_PINK}
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-#define RGB_DEFAULT_TIME_OUT 30
-#define RGB_FAST_MODE_TIME_OUT 3
-#define RGB_TIME_OUT_MAX 600
-#define RGB_TIME_OUT_MIN 10
-#define RGB_TIME_OUT_STEP 10
-
-extern rgb_config_t rgb_matrix_config;
-bool disable_layer_color;
-
-bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
-bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
-bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
-bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
-uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
-uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
-led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
-
-enum layout_names {
- _KL=0, // Keys Layout: The main keyboard layout that has all the characters
- _FL, // Function Layout: The function key activated layout with default functions and some added ones
- _ML, // Mouse Layout: Mouse Keys and mouse movement
- _GL, // GIT Layout: GIT shortcuts and macros
- _VL, // VIM Layout: VIM shorcuts and macros
- _YL, // Yakuake Layout: Yakuake drop-down terminal shortcuts and macros
- _EL, // KDE Layout: Shortcuts for KDE desktop using default KDE shortcuts settings
-};
-
-enum tapdance_keycodes {
- TD_LGUI_ML = 0, // Tap dance key to switch to mouse layer _ML
- TD_APP_YL,
- TD_CTRL_TERM, // Tap dance key to open terminal on LCTRL double press
-};
-
-enum ctrl_keycodes {
- U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, // USB Toggle Automatic GCR control
- DBG_TOG, // DEBUG Toggle On / Off
- DBG_MTRX, // DEBUG Toggle Matrix Prints
- DBG_KBD, // DEBUG Toggle Keyboard Prints
- DBG_MOU, // DEBUG Toggle Mouse Prints
- MD_BOOT, // Restart into bootloader after hold timeout
- SEL_CPY, // Select Copy. Select the word cursor is pointed at and copy, using double mouse click and ctrl+c
- ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off
- ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled
- ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled
- ROUT_FM, // RGB timeout fast mode toggle
- COPY_ALL, // Copy all text using ctrl(a+c)
- TERMINAL, // CTRL+ALT+T
-};
-
-enum string_macro_keycodes {
- // The start of this enum should always be equal to end of ctrl_keycodes + 1
- G_INIT = TERMINAL + 1, // git init
- G_CLONE, // git clone
- G_CONF, // git config --global
- G_ADD, // git add
- G_DIFF, // git diff
- G_RESET, // git reset
- G_REBAS, // git rebase
- G_BRANH, // git branch
- G_CHECK, // git checkout
- G_MERGE, // git merge
- G_REMTE, // git remote add
- G_FETCH, // git fetch
- G_PULL, // git pull
- G_PUSH, // git push
- G_COMM, // git commit
- G_STAT, // git status
- G_LOG, // git log
-};
-
-static uint16_t idle_timer; // Idle LED timeout timer
-static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds
-static uint8_t key_event_counter; // This counter is used to check if any keys are being held
-
-static const char * sendstring_commands[] = {
- "git init ",
- "git clone ",
- "git config --global ",
- "git add ",
- "git diff ",
- "git reset ",
- "git rebase ",
- "git branch -b \"",
- "git checkout ",
- "git merge ",
- "git remote add ",
- "git fetch ",
- "git pull ",
- "git push ",
- "git commit ",
- "git status ",
- "git log ",
-};
-
-//Associate our tap dance key with its functionality
-tap_dance_action_t tap_dance_actions[] = {
- [TD_LGUI_ML] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, _ML),
- [TD_APP_YL] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_APP, _YL),
- [TD_CTRL_TERM] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCA(KC_T)),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- [DEFAULT] = 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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- */
- [_KL] = 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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT, KC_UP,
- TD(TD_CTRL_TERM), TD(TD_LGUI_ML), KC_LALT, KC_SPC, KC_RALT, TT(_FL), TD(TD_APP_YL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FL] = LAYOUT(
- _______, DM_PLY1, DM_PLY2, _______, _______, DM_REC1, DM_REC2, _______, _______, DM_RSTP, _______, KC_WAKE, KC_SLEP, KC_MUTE, _______, _______,
- _______, _______, TG(_ML), TG(_GL), TG(_VL), TG(_YL), _______, _______, _______, ROUT_FM, ROUT_TG, ROUT_VD, ROUT_VI, _______, KC_MSTP, KC_MPLY, KC_VOLU,
- RGB_M_P, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO, U_T_AGCR, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_BRIU,
- _______, _______, _______, _______, _______, TG(_FL), _______, _______, _______, KC_BRID, _______
- ),
- [_ML] = LAYOUT(
- _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_BTN4, KC_BTN3, KC_BTN5, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, SEL_CPY, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U,
- _______, TG(_ML), _______, _______, _______, TG(_ML), _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
- ),
- [_GL] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, G_REMTE, G_RESET, G_REBAS, _______, G_INIT, _______, G_PULL, G_PUSH, _______, _______, _______, _______, _______,
- _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, G_LOG, _______, _______, _______,
- _______, G_CONF, G_CHECK, G_CLONE, G_COMM, G_BRANH, _______, G_MERGE, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, TG(_GL), _______, _______, _______, _______, _______
- ),
- // This layout doesn't have custom keycodes for now, just custom LED config
- [_VL] = 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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TG(_VL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- // Works with https://github.com/ash0x0/config/blob/master/yakuake.shortcuts
- [_YL] = LAYOUT(
- KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP,
- KC_NO, KC_Q, KC_NO, KC_E, KC_NO, KC_T, KC_NO, KC_NO, KC_I, KC_NO, KC_P, KC_NO, KC_RBRC, KC_BSLS, KC_NO, KC_END, KC_PGDN,
- KC_NO, KC_A, KC_NO, KC_D, KC_NO, KC_G, KC_NO, KC_J, KC_K, KC_L, KC_SCLN, KC_NO, KC_NO,
- KC_NO, KC_Z, KC_X, KC_NO, KC_NO, KC_NO, KC_NO, KC_M, KC_COMM, KC_DOT, KC_NO, KC_NO, KC_UP,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(_YL), KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [RGB] = LAYOUT(
- ESC: 0, F1: 1, F2: 2, F3: 3, F4: 4, F5: 5, F6: 6, F7: 7, F8: 8, F9: 9, F10: 10, F11: 11, F12: 12, PSCR: 13, SLCK: 14, PAUS: 15,
- GRV: 16, 1: 17, 2: 18, 3: 19, 4: 20, 5: 21, 6: 22, 7: 23, 8: 24, 9: 25, 0: 26, MINS: 27, EQL: 28, BSPC: 29, INS: 30, HOME: 31, PGUP: 32,
- TAB: 33, Q: 34, W: 35, E: 36, R: 37, T: 38, Y: 39, U: 40, I: 41, O: 42, P: 43, LBRC: 44, RBRC: 45, BSLS: 46, DEL: 47, END: 48, PGDN: 49,
- CAPS: 50, A: 51, S: 52, D: 53, F: 54, G: 55, H: 56, J: 57, K: 58, L: 59, SCLN: 60, QUOT: 61, ENT: 62,
- LSFT: 63, Z: 64, X: 65, C: 66, V: 67, B: 68, N: 69, M: 70, COMM: 71, DOT: 72, SLSH: 73, RSFT: 74, UP: 75,
- LCTL: 76, LGUI: 77, LALT: 78, SPC: 79, RALT: 80, Fn: 81, APP: 82, RCTL: 83, LEFT: 84, DOWN: 85, RGHT: 86
- ),
- [MATRIX] = LAYOUT(
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86
- ),
- */
-};
-
-#ifdef _______
-#undef _______
-#define _______ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [_FL] = {
- _______, CORAL, CORAL, _______, _______, CORAL, CORAL, _______, _______, CORAL, _______, YELLOW, YELLOW, TEAL, GOLD, GOLD,
- _______, _______, PINK, PINK, PINK, PINK, _______, _______, _______, GREEN, GREEN, GREEN, GREEN, _______, TEAL, TEAL, TEAL,
- ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, _______, AZURE, AZURE, _______, _______, _______, _______, _______, TEAL, TEAL, TEAL,
- _______, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, _______, _______, _______, _______, _______, _______, _______,
- _______, ORANGE, _______, CORAL, _______, AZURE, AZURE, _______, _______, _______, _______, AZURE, SPRING,
- _______, _______, _______, _______, _______, PINK, _______, AZURE, _______, SPRING, _______
- },
- [_ML] = {
- _______, GOLD, GOLD, GOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, MAGENT, MAGENT, MAGENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, MAGENT, GOLD, MAGENT, GOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, GOLD, GOLD, GOLD, GOLD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, CORAL, _______, _______, _______, _______, _______, _______, _______, _______, GOLD,
- _______, PINK, _______, _______, _______, PINK, _______, _______, GOLD, GOLD, GOLD
- },
- [_GL] = {
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BLUE, AZURE, AZURE, _______, CYAN, _______, TURQ, PURPLE, _______, _______, _______, _______, _______,
- _______, CORAL, GREEN, GREEN, TURQ, _______, _______, _______, _______, GREEN, _______, _______, _______,
- _______, CYAN, CHART, TURQ, ORANGE, CHART, _______, CHART, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, PINK, _______, _______, _______, _______, _______
- },
- [_VL] = {
- PURPLE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, TURQ, _______, _______, _______, _______, TURQ, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, AZURE, AZURE, AZURE, PURPLE, _______, BLUE, PURPLE, PURPLE, PURPLE, BLUE, _______, _______, _______, _______, _______, _______,
- _______, PURPLE, _______, BLUE, _______, GOLD, GOLDEN, GOLDEN, GOLDEN, GOLDEN, _______, _______, _______,
- _______, _______, BLUE, BLUE, _______, _______, TURQ, _______, _______, _______, TURQ, _______, _______,
- _______, _______, _______, _______, _______, PINK, _______, _______, _______, _______, _______
- },
- [_YL] = {
- RED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- CHART, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, _______, _______, _______, _______, PURPLE, PURPLE,
- _______, RED, _______, BLUE, _______, GOLD, _______, _______, GREEN, _______, MAGENT, _______, GOLD, GOLD, _______, PURPLE, PURPLE,
- _______, BLUE, _______, BLUE, _______, MAGENT, _______, GREEN, GREEN, GREEN, MAGENT, _______, _______,
- _______, ORANGE, ORANGE, _______, _______, _______, _______, RED, MAGENT, MAGENT, _______, _______, GREEN,
- _______, _______, _______, _______, _______, PINK, _______, _______, BLUE, GREEN, BLUE
- },
-};
-
-#undef _______
-#define _______ KC_TRNS
-#endif
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- // Enable or disable debugging
- debug_enable=true;
- debug_matrix=true;
- debug_keyboard=true;
- debug_mouse=true;
-
- idle_second_counter = 0; // Counter for number of seconds keyboard has been idle.
- key_event_counter = 0; // Counter to determine if keys are being held, neutral at 0.
- rgb_time_out_seconds = RGB_DEFAULT_TIME_OUT; // RGB timeout initialized to its default configure in keymap.h
- rgb_time_out_enable = false; // Disable RGB timeout by default. Enable using toggle key.
- rgb_time_out_user_value = false; // Has to have the same initial value as rgb_time_out_enable.
- rgb_enabled_flag = true; // Initially, keyboard RGB is enabled. Change to false config.h initializes RGB disabled.
- rgb_time_out_fast_mode_enabled = false; // RGB timeout fast mode disabled initially.
- rgb_time_out_saved_flag = rgb_matrix_get_flags(); // Save RGB matrix state for when keyboard comes back from ide.
-};
-
-void keyboard_post_init_user(void) {
- rgb_matrix_enable();
-}
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- if(rgb_time_out_enable && rgb_enabled_flag) {
- // If the key event counter is not zero then some key was pressed down but not released, thus reset the timeout counter.
- if (key_event_counter) {
- idle_second_counter = 0;
- } else if (timer_elapsed(idle_timer) > MILLISECONDS_IN_SECOND) {
- idle_second_counter++;
- idle_timer = timer_read();
- }
-
- if (idle_second_counter >= rgb_time_out_seconds) {
- rgb_time_out_saved_flag = rgb_matrix_get_flags();
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- rgb_enabled_flag = false;
- idle_second_counter = 0;
- }
- }
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- // Increment key event counter for every press and decrement for every release.
- if (record->event.pressed) {
- key_event_counter++;
- } else {
- key_event_counter--;
- }
-
- if (rgb_time_out_enable) {
- idle_timer = timer_read();
- // Reset the seconds counter. Without this, something like press> leave x seconds> press, would be x seconds on the effective counter not 0 as it should.
- idle_second_counter = 0;
- if (!rgb_enabled_flag) {
- rgb_matrix_enable_noeeprom();
- rgb_matrix_set_flags(rgb_time_out_saved_flag);
- rgb_enabled_flag = true;
- }
- }
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- }
-
- if (record->event.pressed) {
- // The Yakuake config uses LGUI+Ctrl+Shift+<keycode>. KC_NO used for undesired key, all mapped ones get mods.
- if (get_highest_layer(layer_state) == _YL && keycode != TG(_YL)) {
- tap_code16(C(G(S(keycode))));
- return false;
- }
- switch (keycode) {
- case DBG_TOG:
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- return false;
- case DBG_MTRX:
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- return false;
- case DBG_KBD:
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- return false;
- case DBG_MOU:
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- return false;
- case RGB_TOG:
- rgb_time_out_enable = rgb_time_out_user_value;
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- // This line is for LED idle timer. It disables the toggle so you can turn off LED completely if you like
- rgb_time_out_enable = false;
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- return false;
- // ======================================================== CUSTOM KEYCOADS BELOW ========================================================
- case COPY_ALL:
- // Selects all and text and copy
- SEND_STRING(SS_LCTL("ac"));
- return false;
- case SEL_CPY:
- // Select word under cursor and copy. Double mouse click then ctrl+c
- tap_code16(KC_BTN1);
- tap_code16(KC_BTN1);
- tap_code16(C(KC_C));
- return false;
- case ROUT_TG:
- // Toggle idle LED timeout on or off
- rgb_time_out_enable = !rgb_time_out_enable;
- rgb_time_out_user_value = rgb_time_out_enable;
- return false;
- case ROUT_VI:
- // Increase idle LED timeout value in seconds
- // Only increase if current value is lower than RGB_TIME_OUT_MAX. Don't care what value the result will be
- // Modity RGB_TIME_OUT_STEP for bigger or smaller increments
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds <= RGB_TIME_OUT_MAX) {
- rgb_time_out_seconds += RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_VD:
- // Decrease idle LED timeout value in seconds
- // Only decrease if current value is higher than minimum value and the result is larger than zero
- // Modity RGB_TIME_OUT_STEP for bigger or smaller decrements
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds > RGB_TIME_OUT_MIN) {
- rgb_time_out_seconds -= RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_FM:
- if (rgb_time_out_fast_mode_enabled) {
- rgb_time_out_seconds = rgb_time_out_saved_seconds;
- } else {
- rgb_time_out_saved_seconds = rgb_time_out_seconds;
- rgb_time_out_seconds = RGB_FAST_MODE_TIME_OUT;
- }
- rgb_time_out_fast_mode_enabled = !rgb_time_out_fast_mode_enabled;
- return false;
- case G_INIT ... G_LOG:
- send_string_with_delay(sendstring_commands[keycode - G_INIT], 5);
- return false;
- }
- }
- return true;
-}
-
-void set_layer_color(int layer) {
- if (layer == 0) { return; }
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (hsv.h || hsv.s || hsv.v) {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- } else if (layer != 1) {
- // Only deactivate non-defined key LEDs at layers other than FN. Because at FN we have RGB adjustments and need to see them live.
- // If the values are all false then it's a transparent key and deactivate LED at this layer
- rgb_matrix_set_color(i, 0, 0, 0);
- }
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (disable_layer_color ||
- rgb_matrix_get_flags() == LED_FLAG_NONE ||
- rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) {
- return;
- }
- set_layer_color(get_highest_layer(layer_state));
- return false;
-}
-
-/* This is a test function for Raw HID, which is currently not implemented for this keyboard */
-/**
-void raw_hid_receive(uint8_t *data, uint8_t length) {
- uint8_t response[RAW_EPSIZE];
- memset(response+1, 'C', 1);
- memset(response+2, 'T', 1);
- memset(response+3, 'R', 1);
- memset(response+4, 'L', 1);
- raw_hid_send(data, length);
-}
-*/
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk b/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk
deleted file mode 100644
index c4fab8ad53..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# RGBLIGHT_ENABLE = no # Not for MD boards. This is here in case you forget.
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# AUTO_SHIFT_ENABLE = yes # Auto Shift
-NKRO_ENABLE = yes # USB Nkey Rollover
-DYNAMIC_MACRO_ENABLE = yes # Dynamic macro recording and play
-MOUSEKEY_ENABLE = yes # Enable mouse control keycodes. Increases firmware size.
-TAP_DANCE_ENABLE = yes # Enable tap dance keys
-CONSOLE_ENABLE = yes # Enable debugging console. Increases firmware size.
-SRC += config_led.c # Used to add files to the compilation/linking list.
-EXTRAKEY_ENABLE = yes # Audio control and System control
-# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
-# COMBO_ENABLE # Key combo feature
-# LEADER_ENABLE # Enable leader key chording
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/README.md b/keyboards/massdrop/ctrl/keymaps/foxx1337/README.md
deleted file mode 100644
index 4827d2bdbf..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Massdrop CTRL default layout with raw HID protocol
-
-This represents my current layout, with filtered out effects, personal defaults,
-added inactivity timeout (for rgbmatrix) and a HID protocol example.
-
-To test that this is working, there's a user application I'm using to help with
-development on [my GitHub](https://github.com/foxx1337/rawhid_io).
-
-Currently all the HID operations defined in the protocol are callable from the
-user application:
-
-- hello: gets the string "CTRLHID 1.0.0"
-- lights: toggles the rgbmatrix on/off
-- led n #RRGGBB: colors the specified led. Valid n from 0 to 117 (87-117 are on
- the edge)
-- leds start #RRGGBB #RRGGBB #RRGGBB ...: colors the range of leds from start
-- mode n: switches to the specific rgbmatrix mode. Use the last one, 11, to test
- the led operations listed above
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h b/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h
deleted file mode 100644
index 9b9d199f08..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2021 foxx1337 at yahoo dot com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default mode, if none has been set
-#define RGB_MATRIX_DEFAULT_HUE 12
-#define RGB_MATRIX_DEFAULT_SPD (UINT8_MAX / 2 + 32)
-#define RGB_MATRIX_DEFAULT_VAL 96
-// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue
-// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
-// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
-// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
-// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel
-// #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation
-// #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by
-// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls
-// #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-#define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-// #define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-#define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-#define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.c b/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.c
deleted file mode 100644
index fd7dd6b692..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2021 foxx1337 at yahoo dot com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "hid_protocol.h"
-
-uint8_t raw_hid_buffer[RAW_EPSIZE];
-
-void raw_hid_perform_send(void) {
- raw_hid_send(raw_hid_buffer, RAW_EPSIZE);
-}
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h b/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h
deleted file mode 100644
index 96f90f5e05..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2021 foxx1337 at yahoo dot com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <color.h>
-#include <raw_hid.h>
-
-#define CTRL_HID_GREETING_VERSION "CTRLHID 1.0.0"
-
-enum ctrl_hid_codes {
- // Signals end of message. Not really that useful.
- CTRL_HID_EOM = 0x00,
- CTRL_HID_OK,
- CTRL_HID_NOK,
-
- /**
- * to hid: CTRL_HID_HELLO
- * from hid: CTRL_HID_HELLO, "CTRLHID 1.0.0", CTRL_HID_EOM
- **/
- CTRL_HID_HELLO,
-
- /**
- * to hid: CTRL_HID_LIGHTS_TOGGLE
- * from hid: CTRL_HID_LIGHTS_TOGGLE, CTRL_HID_OK, is_led_timeout, CTRL_HID_EOM
- *
- * Toggles all the leds on the keyboard. is_led_timeout will be 1 if the new
- * state is off, 0 if leds are on.
- **/
- CTRL_HID_LIGHTS_TOGGLE,
-
- /**
- * to hid: CTRL_HID_LED, led_id, r, g, b
- * from hid: CTRL_HID_LED, CTRL_HID_OK, CTRL_HID_EOM
- * on error: CTRL_HID_LED, CTRL_HID_NOK, num_leds, CTRL_HID_EOM
- *
- * Sets the specific led to r, g, b. It's only visible when the hid_effect mode is active.
- **/
- CTRL_HID_LED,
-
- /**
- * to hid: CTRL_HID_LEDS, start, count, r0, g0, b0, ..., r[count-1], g[count-1], b[count-1]
- * from hid: CTRL_HID_LEDS, CTRL_HID_OK, affected_leds, CTRL_HID_EOM
- *
- * Sets affected_leds leds following start to the corresponding r, g, b value.
- * It's only visible when the hid_effect mode is active.
- **/
- CTRL_HID_LEDS,
-
- /**
- * to hid: CTRL_HID_RGBMATRIX_MODE, mode
- * from hid: CTRL_HID_RGBMATRIX_MODE, CTRL_HID_OK, CTRL_HID_EOM
- * on error: CTRL_HID_RGBMATRIX_MODE, CTRL_HID_NOK, mode_max, CTRL_HID_EOM
- *
- * Changes light mode. mode_max is hid_effect for CTRL_HID_LED and CTRL_HID_LEDS.
- */
- CTRL_HID_RGBMATRIX_MODE
-};
-
-extern uint8_t raw_hid_buffer[RAW_EPSIZE];
-
-// Defined in rgb_matrix_user.inc
-// It's 119 for Massdrop CTRL, 0 - 118.
-extern RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT];
-
-void raw_hid_perform_send(void);
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c b/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c
deleted file mode 100644
index ffeb89c60e..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright 2021 foxx1337 at yahoo dot com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "hid_protocol.h"
-
-enum ctrl_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-#define TIMEOUT_ACTIVITY 300000 // 300 seconds before lights go off
-
-uint32_t time_last_activity;
-bool is_led_timeout;
-led_flags_t led_state;
-
-keymap_config_t keymap_config;
-
-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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-void change_led_state(bool is_off) {
- is_led_timeout = is_off;
-
- if (is_led_timeout) {
- led_state = rgb_matrix_get_flags();
- if (led_state != LED_FLAG_NONE) {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- } else {
- if (led_state != LED_FLAG_NONE) {
- rgb_matrix_set_flags(led_state);
- rgb_matrix_enable_noeeprom();
- }
- }
-}
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- time_last_activity = timer_read32();
-};
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- if (!is_led_timeout && timer_elapsed32(time_last_activity) > TIMEOUT_ACTIVITY) {
- change_led_state(true);
- }
-};
-
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- time_last_activity = timer_read32();
- if (is_led_timeout) {
- change_led_state(false);
- }
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
-
-void raw_hid_say_hello(void) {
- const char *ctrl = CTRL_HID_GREETING_VERSION;
- uint8_t i = 0;
- while (ctrl[i] != 0 && i + 2 < RAW_EPSIZE) {
- raw_hid_buffer[1 + i] = ctrl[i];
- i++;
- }
- raw_hid_buffer[i] = CTRL_HID_EOM;
-}
-
-void raw_hid_lights_toggle(void) {
- change_led_state(!is_led_timeout);
-
- raw_hid_buffer[1] = CTRL_HID_OK;
- raw_hid_buffer[2] = (uint8_t) is_led_timeout;
- raw_hid_buffer[3] = CTRL_HID_EOM;
-}
-
-void raw_hid_led(uint8_t *data) {
- //rgb_matrix_set_color(data[1], data[2], data[3], data[4]);
- const uint8_t led = data[1];
-
- if (led >= RGB_MATRIX_LED_COUNT) {
- raw_hid_buffer[1] = CTRL_HID_NOK;
- raw_hid_buffer[2] = RGB_MATRIX_LED_COUNT;
- raw_hid_buffer[3] = CTRL_HID_EOM;
- return;
- }
-
- rgb_matrix_led_state[led].r = data[2];
- rgb_matrix_led_state[led].g = data[3];
- rgb_matrix_led_state[led].b = data[4];
-
- raw_hid_buffer[1] = CTRL_HID_OK;
- raw_hid_buffer[2] = CTRL_HID_EOM;
-}
-
-void raw_hid_leds(uint8_t *data) {
- const uint8_t first_led = data[1];
- const uint8_t number_leds = data[2];
-
- uint8_t i = 0;
- while (i < number_leds && first_led + i < RGB_MATRIX_LED_COUNT && i * 3 + 5 < RAW_EPSIZE) {
- rgb_matrix_led_state[first_led + i].r = data[3 + i * 3 + 0];
- rgb_matrix_led_state[first_led + i].g = data[3 + i * 3 + 1];
- rgb_matrix_led_state[first_led + i].b = data[3 + i * 3 + 2];
- i++;
- }
-
- raw_hid_buffer[1] = CTRL_HID_OK;
- raw_hid_buffer[2] = i;
- raw_hid_buffer[3] = CTRL_HID_EOM;
-}
-
-void raw_hid_rgbmatrix_mode(uint8_t *data) {
- const uint8_t mode = data[1];
- if (mode >= RGB_MATRIX_EFFECT_MAX) {
- raw_hid_buffer[1] = CTRL_HID_NOK;
- raw_hid_buffer[2] = RGB_MATRIX_EFFECT_MAX - 1;
- raw_hid_buffer[3] = CTRL_HID_EOM;
- return;
- }
- rgb_matrix_mode_noeeprom(mode);
-
- raw_hid_buffer[1] = CTRL_HID_OK;
- raw_hid_buffer[2] = CTRL_HID_EOM;
-}
-
-void raw_hid_receive(uint8_t *data, uint8_t length) {
- switch (*data) {
- case CTRL_HID_HELLO:
- raw_hid_say_hello();
- break;
- case CTRL_HID_LIGHTS_TOGGLE:
- raw_hid_lights_toggle();
- break;
- case CTRL_HID_LED:
- raw_hid_led(data);
- break;
- case CTRL_HID_LEDS:
- raw_hid_leds(data);
- break;
- case CTRL_HID_RGBMATRIX_MODE:
- raw_hid_rgbmatrix_mode(data);
- break;
- }
-
- raw_hid_perform_send();
-}
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc b/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
deleted file mode 100644
index 36d09c42e2..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2021 foxx1337 at yahoo dot com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// !!! DO NOT ADD #pragma once !!! //
-
-// Step 1.
-// Declare custom effects using the RGB_MATRIX_EFFECT macro
-// (note the lack of semicolon after the macro!)
-RGB_MATRIX_EFFECT(hid_effect)
-
-// Step 2.
-// Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block
-#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-
-RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT];
-
-// e.g: A simple effect, self-contained within a single method
-static bool hid_effect(effect_params_t* params) {
- RGB_MATRIX_USE_LIMITS(led_min, led_max);
-
- for (uint8_t i = led_min; i < led_max; i++) {
- rgb_matrix_set_color(i,
- rgb_matrix_led_state[i].r,
- rgb_matrix_led_state[i].g,
- rgb_matrix_led_state[i].b);
- }
- return led_max < RGB_MATRIX_LED_COUNT;
-}
-
-#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/rules.mk b/keyboards/massdrop/ctrl/keymaps/foxx1337/rules.mk
deleted file mode 100644
index ba6cb8f4b5..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/foxx1337/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-# Build Options
-CONSOLE_ENABLE = no # Console for debug
-RAW_ENABLE = yes # Raw device
-RGB_MATRIX_CUSTOM_USER = yes # Custom rgb matrix effect
-
-SRC += hid_protocol.c
diff --git a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
deleted file mode 100644
index 75df0ad974..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
+++ /dev/null
@@ -1,126 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum ctrl_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
-};
-
-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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-// 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) {
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c
deleted file mode 100644
index 7940711347..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c
+++ /dev/null
@@ -1,269 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum ctrl_keycodes {
- L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
- L_BRD, //LED Brightness Decrease //Working
- L_EDG_I, //LED Edge Brightness Increase
- L_EDG_D, //LED Edge Brightness Decrease
- L_EDG_M, //LED Edge lighting mode
- L_PTN, //LED Pattern Select Next //Working
- L_PTP, //LED Pattern Select Previous //Working
- L_PSI, //LED Pattern Speed Increase //Working
- L_PSD, //LED Pattern Speed Decrease //Working
- L_RATIOD,
- L_RATIOI,
- L_T_MD, //LED Toggle Mode //Working
- L_T_ONF, //LED Toggle On / Off //Broken
- L_ON, //LED On //Broken
- L_OFF, //LED Off //Broken
- L_T_BR, //LED Toggle Breath Effect //Working
- L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
- U_T_AGCR, //USB Toggle Automatic GCR control //Working
- DBG_TOG, //DEBUG Toggle On / Off //
- DBG_MTRX, //DEBUG Toggle Matrix Prints //
- DBG_KBD, //DEBUG Toggle Keyboard Prints //
- DBG_MOU, //DEBUG Toggle Mouse Prints //
- DBG_FAC, //DEBUG Factory light testing (All on white)
- MD_BOOT //Restart into bootloader after hold timeout //Working
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- L_T_BR, L_PSD, L_BRI, L_PSI, L_EDG_I, _______, _______, _______, U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- L_T_PTD, L_PTP, L_BRD, L_PTN, L_EDG_D, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, L_T_MD, L_T_ONF, _______, L_EDG_M, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, DBG_FAC, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-// 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) {
-};
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
- static uint8_t scroll_effect = 0;
-
- switch (keycode) {
- case L_BRI:
- if (record->event.pressed) {
- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
- else gcr_desired += LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_BRD:
- if (record->event.pressed) {
- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
- else gcr_desired -= LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_EDG_M:
- if (record->event.pressed) {
- led_edge_mode++;
- if (led_edge_mode > LED_EDGE_MODE_MAX) {
- led_edge_mode = LED_EDGE_MODE_ALL;
- }
- }
- return false;
- case L_EDG_I:
- if (record->event.pressed) {
- led_edge_brightness += 0.1;
- if (led_edge_brightness > 1) { led_edge_brightness = 1; }
- }
- return false;
- case L_EDG_D:
- if (record->event.pressed) {
- led_edge_brightness -= 0.1;
- if (led_edge_brightness < 0) { led_edge_brightness = 0; }
- }
- return false;
- case L_RATIOI:
- if (record->event.pressed) {
- led_ratio_brightness += 0.2;
- if (led_ratio_brightness > 2.0) { led_ratio_brightness = 2.0; }
- }
- return false;
- case L_RATIOD:
- if (record->event.pressed) {
- led_ratio_brightness -= 0.2;
- if (led_ratio_brightness < 0.0) { led_ratio_brightness = 0.0; }
- }
- return false;
- case L_PTN:
- if (record->event.pressed) {
- if (led_animation_id == led_setups_count - 1) led_animation_id = 0;
- else led_animation_id++;
- }
- return false;
- case L_PTP:
- if (record->event.pressed) {
- if (led_animation_id == 0) led_animation_id = led_setups_count - 1;
- else led_animation_id--;
- }
- return false;
- case L_PSI:
- if (record->event.pressed) {
- led_animation_speed += ANIMATION_SPEED_STEP;
- }
- return false;
- case L_PSD:
- if (record->event.pressed) {
- led_animation_speed -= ANIMATION_SPEED_STEP;
- if (led_animation_speed < 0) led_animation_speed = 0;
- }
- return false;
- case L_T_MD:
- if (record->event.pressed) {
- led_lighting_mode++;
- if (led_lighting_mode > LED_MODE_MAX_INDEX) led_lighting_mode = LED_MODE_NORMAL;
- }
- return false;
- case L_T_ONF:
- if (record->event.pressed) {
- led_enabled = !led_enabled;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_ON:
- if (record->event.pressed) {
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_OFF:
- if (record->event.pressed) {
- led_enabled = 0;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_T_BR:
- if (record->event.pressed) {
- led_animation_breathing = !led_animation_breathing;
- if (led_animation_breathing) {
- gcr_breathe = gcr_desired;
- led_animation_breathe_cur = BREATHE_MIN_STEP;
- breathe_dir = 1;
- }
- }
- return false;
- case L_T_PTD:
- if (record->event.pressed) {
- scroll_effect++;
- if (scroll_effect == 1) { //Patterns with scroll move horizontal (Right to left)
- led_animation_direction = 1;
- led_animation_orientation = 0;
- led_animation_circular = 0;
- } else if (scroll_effect == 2) { //Patterns with scroll move vertical (Top to bottom)
- led_animation_direction = 1;
- led_animation_orientation = 1;
- led_animation_circular = 0;
- } else if (scroll_effect == 3) { //Patterns with scroll move vertical (Bottom to top)
- led_animation_direction = 0;
- led_animation_orientation = 1;
- led_animation_circular = 0;
- } else if (scroll_effect == 4) { //Patterns with scroll explode from center
- led_animation_direction = 0;
- led_animation_orientation = 0;
- led_animation_circular = 1;
- } else if (scroll_effect == 5) { //Patterns with scroll implode on center
- led_animation_direction = 1;
- led_animation_orientation = 0;
- led_animation_circular = 1;
- } else { //Patterns with scroll move horizontal (Left to right)
- scroll_effect = 0;
- led_animation_direction = 0;
- led_animation_orientation = 0;
- led_animation_circular = 0;
- }
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_FAC:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- led_lighting_mode = LED_MODE_NORMAL;
- led_edge_brightness = 1;
- led_edge_mode = LED_EDGE_MODE_ALL;
- led_animation_breathing = 0;
- led_animation_id = 7; //led_programs.c led_setups leds_white index
- gcr_desired = LED_GCR_MAX;
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
-
-led_instruction_t led_instructions[] = {
- //Please see ../default_md/keymap.c for examples
-
- //All LEDs use the user's selected pattern (this is the factory default)
- { .flags = LED_FLAG_USE_ROTATE_PATTERN },
-
- //end must be set to 1 to indicate end of instruction set
- { .end = 1 }
-};
diff --git a/keyboards/massdrop/ctrl/keymaps/mac_md/rules.mk b/keyboards/massdrop/ctrl/keymaps/mac_md/rules.mk
deleted file mode 100644
index 064a6f54c1..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/mac_md/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# This keymap requires Massdrop Configurator support
-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
diff --git a/keyboards/massdrop/ctrl/keymaps/r-pufky/config.h b/keyboards/massdrop/ctrl/keymaps/r-pufky/config.h
deleted file mode 100644
index 07e69df3b9..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/r-pufky/config.h
+++ /dev/null
@@ -1,27 +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 FORCE_NKRO
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_VAL 100
-#define HSV_BACKLIGHT_COLOR HSV_BLUE
-#define HSV_GAME_COLOR 170, 255, 192 // darker blue
-#define HSV_CONTROL_COLOR 0, 255, 192 // darker red
diff --git a/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c b/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c
deleted file mode 100644
index 232b3e8dd4..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/* Copyright 2020 Robert Pufky <rpufky@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 BASE 0
-#define GAME 1
-#define CTRL 2
-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-enum ctrl_keycodes {
- U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect/Always Active
- U_T_AGCR, // USB Toggle Automatic GCR control
- L_BRI = SAFE_RANGE, // LED Brightness Increase
- L_BRD, // LED Brightness Decrease
- L_PTN, // LED Pattern Select Next
- L_PTP, // LED Pattern Select Previous
- L_PSI, // LED Pattern Speed Increase
- L_PSD, // LED Pattern Speed Decrease
- L_T_MD, // LED Toggle Mode
- L_T_ONF, // LED Toggle On / Off //Broken
- L_ON, // LED On //Broken
- L_OFF, // LED Off //Broken
- L_T_BR, // LED Toggle Breath Effect
- L_T_PTD, // LED Toggle Scrolling Pattern Direction
- DBG_TOG, // DEBUG Toggle On / Off
- DBG_MTRX, // DEBUG Toggle Matrix Print
- DBG_KBD, // DEBUG Toggle Keyboard Prints
- DBG_MOU, // DEBUG Toggle Mouse Prints
- MD_BOOT, // Restart into bootloader after hold timeout
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_NUM, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(CTRL), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [GAME] = 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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_HOME, KC_END, KC_LALT, KC_SPC, KC_RALT, MO(CTRL), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [CTRL] = LAYOUT(
- KC_EJCT, 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_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, TO(BASE), TO(GAME), _______, KC_MPRV, KC_MNXT, KC_VOLD,
- KC_CAPS, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_BRIU,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_BRID, KC_MFFD
- ),
-};
-
-// Init keyboard static color with underglow off.
-void matrix_init_user(void) {
- rgblight_sethsv(HSV_BACKLIGHT_COLOR);
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
-};
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
-};
-
-// Set backlight color based on active layer
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case GAME: {
- rgblight_sethsv_noeeprom(HSV_GAME_COLOR);
- break;
- }
- case CTRL: {
- rgblight_sethsv_noeeprom(HSV_CONTROL_COLOR);
- break;
- }
- default:
- rgblight_sethsv_noeeprom(HSV_BACKLIGHT_COLOR);
- break;
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(RGB_OFF);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(RGB_OFF);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; //Process all other keycodes normally
- }
-}
diff --git a/keyboards/massdrop/ctrl/keymaps/r-pufky/readme.md b/keyboards/massdrop/ctrl/keymaps/r-pufky/readme.md
deleted file mode 100644
index 38075b3a0f..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/r-pufky/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Massdrop Ctrl r-pufky
-
-Gaming QOL improvments; enabling useful keys for left hand & in-game overlay
-usage.
-
-## Layers
-
-### Typing Layer
-
-![Typing Layer](https://i.imgur.com/qEBaupV.png)
-
-Layer optimized to enable useful keys for typing and casual gaming without
-changing typing state, as well as specific in-game overlay keys.
-
-* Left Ctrl: Easier control key usage without always setting capslock.
-* Num Lock: Unique non visible character key for additional left-hand input
- options in game.
-* Fn: Enable Control layer, temporal.
-* F24: Non-visible F24 key; no windows function. Map to in-game overlays.
-
-### Gaming Layer
-
-![Gaming Layer](https://i.imgur.com/q4wGbFQ.png)
-
-Replaces super key with additional non-printing inputs.
-
-* Home: Non visible character key for additional input options in game.
-* End: Non visible character key for additional input options in game.
-* Left Ctrl: Easier control key usage without always setting capslock.
-* Fn: Enable Control layer, temporal.
-* F24: Non-visible F24 key; no windows function. Map to in-game overlays.
-
-### Control Layer
-
-![Function Layer](https://i.imgur.com/7Nalcyp.png)
-
-* Purple: Media keys. Note CD Eject on Escape, and OSX Prev/Next on Arrows.
-* Blue: Keyboard adminstration. Toggle NKRO (N Key Rollover) and enable
- bootloader.
-* Orange: RGB Controls.
-* Green: Toggle gaming layer.
-* Capslock: Now requires the use of the function key.
-* F13-F24: Extended function keys.
-* Bright+/-: Monitor Brightness.
diff --git a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/README.md b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/README.md
deleted file mode 100644
index 60c2d1f91f..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-Fn + P + Esc, Fn + P + `: reset effect to default
-
-Fn + P + Tab, Fn + P + Y: select previous color pattern
-Fn + P + Caps, Fn + P + H: select next color pattern
-
-Fn + P + A, Fn + P + J: (no effect for now)
-Fn + P + D, Fn + P + L: (no effect for now)
-
-
-Fn + P + Q, Fn + P + U: wave travel faster
-Fn + P + E, Fn + P + O: wave travel slower
-
-
-Fn + P + W, Fn + P + I: increase wave width
-Fn + P + S, Fn + P + K: decrease wave width
diff --git a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c
deleted file mode 100644
index b314cfea0a..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c
+++ /dev/null
@@ -1,764 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include <math.h> // sqrtf, powf
-
-#ifdef CONSOLE_ENABLE
-
-#include <print.h>
-
-#endif
-
-enum ctrl_keycodes {
- L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
- L_BRD, //LED Brightness Decrease //Working
- L_PTN, //LED Pattern Select Next //Working
- L_PTP, //LED Pattern Select Previous //Working
- L_PSI, //LED Pattern Speed Increase //Working
- L_PSD, //LED Pattern Speed Decrease //Working
- L_T_MD, //LED Toggle Mode //Working
- L_T_ONF, //LED Toggle On / Off //Broken
- L_ON, //LED On //Broken
- L_OFF, //LED Off //Broken
- L_T_BR, //LED Toggle Breath Effect //Working
- L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
- U_T_AGCR, //USB Toggle Automatic GCR control //Working
- DBG_TOG, //DEBUG Toggle On / Off //
- DBG_MTRX, //DEBUG Toggle Matrix Prints //
- DBG_KBD, //DEBUG Toggle Keyboard Prints //
- DBG_MOU, //DEBUG Toggle Mouse Prints //
- MD_BOOT, //Restart into bootloader after hold timeout //Working
-
-
- L_SP_PR, //LED Splash Pattern Select Previous
- L_SP_NE, //LED Splash Pattern Select Next
-
- L_SP_WD, //LED Splash Widen Wavefront width
- L_SP_NW, //LED Splash Narrow Wavefront width
-
- L_SP_FA, //LED Splash wave travel speed faster (shorter period)
- L_SP_SL, //LED Splash wave travel speed slower (longer period)
-
- L_CP_PR, //LED Color Pattern Select Previous
- L_CP_NX, //LEB Color Pattern Select Next
-
- S_RESET // reset all parameters
-};
-
-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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- L_T_BR, L_PSD, L_BRI, L_PSI, _______, _______, _______, _______, U_T_AGCR,_______, MO(2), _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- L_T_PTD, L_PTP, L_BRD, L_PTN, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, L_T_MD, L_T_ONF, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- S_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- S_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- L_CP_NX, L_SP_SL, L_SP_WD, L_SP_FA, _______, _______, L_CP_NX, L_SP_SL, L_SP_WD, L_SP_FA, _______, _______, _______, _______, _______, _______, _______,
- L_CP_PR, L_SP_PR, L_SP_NW, L_SP_NE, _______, _______, L_CP_PR, L_SP_PR, L_SP_NW, L_SP_NE, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define DISTANCE_NORAMLIZING_PARAMETER 3
-struct {
- uint8_t PATTERN_INDEX;
- float WAVE_WIDTH;
- float WAVE_SPEED;
- int COLOR_PATTERN_INDEX;
- float TRAVEL_DISTANCE;
-} USER_CONFIG = {
- .PATTERN_INDEX = 1,
- .WAVE_WIDTH = 10, // width of the wave in keycaps
- .WAVE_SPEED = 15, // travel how many keycaps per second
- .COLOR_PATTERN_INDEX = 0,
- .TRAVEL_DISTANCE = 25,
-};
-
-
-#define COLOR_PATTERN_RGB_COUNT 18
-static uint8_t COLOR_PATTERNS[][COLOR_PATTERN_RGB_COUNT][3] = {
- { // default rainbow color
- {255, 0, 0}, {255, 0, 0}, {255, 127, 0},
- {255, 127, 0}, {255, 255, 0}, {255, 255, 0},
- {120, 255, 0}, {120, 255, 0}, { 0, 255, 0},
- { 0, 255, 0}, { 0, 255, 120}, { 0, 255, 120},
- { 0, 0, 255}, { 0, 0, 255}, { 75, 0, 130},
- { 75, 0, 130}, { 43, 0, 130}, { 43, 0, 130},
- }, { // light rainbow color
- {248, 12, 18}, {238, 17, 0}, {255, 51, 17},
- {255, 68, 32}, {255, 102, 68}, {255, 153, 51},
- {254, 174, 45}, {204, 187, 51}, {208, 195, 16},
- {170, 204, 34}, {105, 208, 37}, { 34, 204, 170},
- { 18, 189, 185}, { 17, 170, 187}, { 68, 68, 221},
- { 51, 17, 187}, { 59, 12, 189}, { 68, 34, 153},
- }, { // white flat
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- {255, 255, 255}, {255, 255, 255}, {255, 255, 255},
- }, { // white fade, cos curve
- {255, 255, 255}, {255, 255, 255}, {252, 252, 252},
- {247, 247, 247}, {240, 240, 240}, {232, 232, 232},
- {221, 221, 221}, {209, 209, 209}, {196, 196, 196},
- {181, 181, 181}, {164, 164, 164}, {147, 147, 147},
- {128, 128, 128}, {108, 108, 108}, { 88, 88, 88},
- { 66, 66, 66}, { 45, 45, 45}, { 23, 23, 23},
- },
-};
-static const uint8_t COLOR_PATTERNS_COUNT = ARRAY_SIZE(COLOR_PATTERNS);
-
-/**
- * trimed down version of `ISSI3733_LED_MAP`:
- *
- * `ISSI3733_LED_MAP` is defined in keyboards/massdrop/ctrl/config_led.h is not directly usable,
- * the numbers inside this map could probably be related to the PCB layout instead of
- * the actual physical layout,
- *
- * this `ISSI3733_LED_MAP` is used somewhere in protocol/ but is not globally accessible
- * so one is created here
- *
- * x and y are coordinates of the physical layout
- * KC_ESC is (0, 0), gap between function keys and number rows is 1.5
- * +y is downwards
- * 1 unit is width/height of 1 standard keycap
- */
-#define MAX_LED_ID ISSI3733_LED_COUNT
-typedef struct led_info_s {
- uint16_t id;
- uint16_t scan;
- float x;
- float y;
- uint8_t distance_to[MAX_LED_ID + 1];
-} led_info_t;
-led_info_t led_info[MAX_LED_ID + 1] = {
- { .id = 0 },
- { .id = 1, .x = 0.0, .y = 0.0, .scan = 41 }, // ESC
- { .id = 2, .x = 2.0, .y = 0.0, .scan = 58 }, // F1
- { .id = 3, .x = 3.0, .y = 0.0, .scan = 59 }, // F2
- { .id = 4, .x = 3.5, .y = 0.0, .scan = 60 }, // F3
- { .id = 5, .x = 5.0, .y = 0.0, .scan = 61 }, // F4
- { .id = 6, .x = 6.5, .y = 0.0, .scan = 62 }, // F5
- { .id = 7, .x = 7.5, .y = 0.0, .scan = 63 }, // F6
- { .id = 8, .x = 8.5, .y = 0.0, .scan = 64 }, // F7
- { .id = 9, .x = 9.5, .y = 0.0, .scan = 65 }, // F8
- { .id = 10, .x = 11, .y = 0.0, .scan = 66 }, // F9
- { .id = 11, .x = 12, .y = 0.0, .scan = 67 }, // F10
- { .id = 12, .x = 13, .y = 0.0, .scan = 68 }, // F11
- { .id = 13, .x = 14, .y = 0.0, .scan = 69 }, // F12
- { .id = 14, .x = 15.5, .y = 0.0, .scan = 70 }, // Print
- { .id = 15, .x = 16.5, .y = 0.0, .scan = 71 }, // Scoll Lock
- { .id = 16, .x = 17.5, .y = 0.0, .scan = 72 }, // Pause
- { .id = 17, .x = 0.0, .y = 1.5, .scan = 53 }, // `
- { .id = 18, .x = 1.0, .y = 1.5, .scan = 30 }, // 1
- { .id = 19, .x = 2.0, .y = 1.5, .scan = 31 }, // 2
- { .id = 20, .x = 3.0, .y = 1.5, .scan = 32 }, // 3
- { .id = 21, .x = 3.5, .y = 1.5, .scan = 33 }, // 4
- { .id = 22, .x = 5.0, .y = 1.5, .scan = 34 }, // 5
- { .id = 23, .x = 6.0, .y = 1.5, .scan = 35 }, // 6
- { .id = 24, .x = 7.0, .y = 1.5, .scan = 36 }, // 7
- { .id = 25, .x = 8.0, .y = 1.5, .scan = 37 }, // 8
- { .id = 26, .x = 9.0, .y = 1.5, .scan = 38 }, // 9
- { .id = 27, .x = 10.0, .y = 1.5, .scan = 39 }, // 0
- { .id = 28, .x = 11.0, .y = 1.5, .scan = 45 }, // -
- { .id = 29, .x = 12.0, .y = 1.5, .scan = 46 }, // =
- { .id = 30, .x = 13.5, .y = 1.5, .scan = 42 }, // Backspace
- { .id = 31, .x = 15.5, .y = 1.5, .scan = 73 }, // Insert
- { .id = 32, .x = 16.6, .y = 1.5, .scan = 74 }, // Home
- { .id = 33, .x = 17.5, .y = 1.5, .scan = 75 }, // Page Up
- { .id = 34, .x = 0.2, .y = 2.5, .scan = 43 }, // Tab
- { .id = 35, .x = 1.5, .y = 2.5, .scan = 20 }, // Q
- { .id = 36, .x = 2.5, .y = 2.5, .scan = 26 }, // W
- { .id = 37, .x = 3.5, .y = 2.5, .scan = 8 }, // E
- { .id = 38, .x = 4.5, .y = 2.5, .scan = 21 }, // R
- { .id = 39, .x = 5.5, .y = 2.5, .scan = 23 }, // T
- { .id = 40, .x = 6.5, .y = 2.5, .scan = 28 }, // Y
- { .id = 41, .x = 7.5, .y = 2.5, .scan = 24 }, // U
- { .id = 42, .x = 8.5, .y = 2.5, .scan = 12 }, // I
- { .id = 43, .x = 9.5, .y = 2.5, .scan = 18 }, // O
- { .id = 44, .x = 10.5, .y = 2.5, .scan = 19 }, // P
- { .id = 45, .x = 11.5, .y = 2.5, .scan = 47 }, // [
- { .id = 46, .x = 12.5, .y = 2.5, .scan = 48 }, // ]
- { .id = 47, .x = 13.75, .y = 2.5, .scan = 49 }, /* \ */
- { .id = 48, .x = 15.5, .y = 2.5, .scan = 76 }, // Delete
- { .id = 49, .x = 16.5, .y = 2.5, .scan = 77 }, // End
- { .id = 50, .x = 17.5, .y = 2.5, .scan = 78 }, // Page Down
- { .id = 51, .x = 0.4, .y = 3.5, .scan = 57 }, // Caps Lock
- { .id = 52, .x = 2.5, .y = 3.5, .scan = 4 }, // A
- { .id = 53, .x = 3.5, .y = 3.5, .scan = 22 }, // S
- { .id = 54, .x = 4.5, .y = 3.5, .scan = 7 }, // D
- { .id = 55, .x = 5.5, .y = 3.5, .scan = 9 }, // F
- { .id = 56, .x = 6.5, .y = 3.5, .scan = 10 }, // G
- { .id = 57, .x = 7.5, .y = 3.5, .scan = 11 }, // H
- { .id = 58, .x = 8.5, .y = 3.5, .scan = 13 }, // J
- { .id = 59, .x = 9.5, .y = 3.5, .scan = 14 }, // K
- { .id = 60, .x = 10.5, .y = 3.5, .scan = 15 }, // L
- { .id = 61, .x = 11.5, .y = 3.5, .scan = 51 }, // ;
- { .id = 62, .x = 12.5, .y = 3.5, .scan = 52 }, // '
- { .id = 63, .x = 13.5, .y = 3.5, .scan = 40 }, // Enter
- { .id = 64, .x = 0.5, .y = 4.5, .scan = 225 }, // LSHIFT
- { .id = 65, .x = 2.25, .y = 4.5, .scan = 29 }, // Z
- { .id = 66, .x = 3.25, .y = 4.5, .scan = 27 }, // X
- { .id = 67, .x = 4.25, .y = 4.5, .scan = 6 }, // C
- { .id = 68, .x = 5.25, .y = 4.5, .scan = 25 }, // V
- { .id = 69, .x = 6.25, .y = 4.5, .scan = 5 }, // B
- { .id = 70, .x = 7.25, .y = 4.5, .scan = 17 }, // N
- { .id = 71, .x = 8.25, .y = 4.5, .scan = 16 }, // M
- { .id = 72, .x = 9.25, .y = 4.5, .scan = 54 }, // COMMA
- { .id = 73, .x = 10.25, .y = 4.5, .scan = 55 }, // DOT
- { .id = 74, .x = 11.25, .y = 4.5, .scan = 56 }, // SLASH
- { .id = 75, .x = 13.2, .y = 4.5, .scan = 229 }, // RSHIFT
- { .id = 76, .x = 16.5, .y = 4.5, .scan = 82 }, // UP
- { .id = 77, .x = 0.1, .y = 5.5, .scan = 224 }, // LCTRL
- { .id = 78, .x = 1.25, .y = 5.5, .scan = 227 }, // WIN
- { .id = 79, .x = 2.5, .y = 5.5, .scan = 226 }, // LALT
- { .id = 80, .x = 6.25, .y = 5.5, .scan = 44 }, // SPACE
-
-#define MAX_CACHED_SCAN_CODE 231
- { .id = 81, .x = 10.25, .y = 5.5, .scan = 230 }, // RALT
-
-#define FN_KEY_LED_ID 82
-#define FN_KEY_SCAN_CODE 20737
- { .id = 82, .x = 11.5, .y = 5.5, .scan = 20737 }, // FN
- { .id = 83, .x = 12.7, .y = 5.5, .scan = 101 }, // APP
- { .id = 84, .x = 13.75, .y = 5.5, .scan = 228 }, // RCTRL
- { .id = 85, .x = 15.5, .y = 5.5, .scan = 80 }, // LEFT
- { .id = 86, .x = 16.5, .y = 5.5, .scan = 81 }, // DOWN
- { .id = 87, .x = 17.5, .y = 5.5, .scan = 79 }, // RIGHT
-
-#define MAX_LED_ID_WITH_SCANCODE 87
-
- { .id = 88, .x = 18.5, .y = 6.5, .scan = 255 },
- { .id = 89, .x = 16.917, .y = 6.5, .scan = 255 },
- { .id = 90, .x = 15.333, .y = 6.5, .scan = 255 },
- { .id = 91, .x = 13.75, .y = 6.5, .scan = 255 },
- { .id = 92, .x = 12.167, .y = 6.5, .scan = 255 },
- { .id = 93, .x = 10.583, .y = 6.5, .scan = 255 },
- { .id = 94, .x = 9, .y = 6.5, .scan = 255 },
- { .id = 95, .x = 7.417, .y = 6.5, .scan = 255 },
- { .id = 96, .x = 5.833, .y = 6.5, .scan = 255 },
- { .id = 97, .x = 4.25, .y = 6.5, .scan = 255 },
- { .id = 98, .x = 2.667, .y = 6.5, .scan = 255 },
- { .id = 99, .x = 1.083, .y = 6.5, .scan = 255 },
- { .id = 100, .x = -0.5, .y = 6.5, .scan = 255 },
- { .id = 101, .x = -0.5, .y = 4.75, .scan = 255 },
- { .id = 102, .x = -0.5, .y = 3, .scan = 255 },
- { .id = 103, .x = -0.5, .y = 1.25, .scan = 255 },
- { .id = 104, .x = -0.5, .y = -0.5, .scan = 255 },
- { .id = 105, .x = 1.083, .y = -0.5, .scan = 255 },
- { .id = 106, .x = 2.667, .y = -0.5, .scan = 255 },
- { .id = 107, .x = 4.25, .y = -0.5, .scan = 255 },
- { .id = 108, .x = 5.833, .y = -0.5, .scan = 255 },
- { .id = 109, .x = 7.417, .y = -0.5, .scan = 255 },
- { .id = 110, .x = 9, .y = -0.5, .scan = 255 },
- { .id = 111, .x = 10.583, .y = -0.5, .scan = 255 },
- { .id = 112, .x = 12.167, .y = -0.5, .scan = 255 },
- { .id = 113, .x = 13.75, .y = -0.5, .scan = 255 },
- { .id = 114, .x = 15.333, .y = -0.5, .scan = 255 },
- { .id = 115, .x = 16.917, .y = -0.5, .scan = 255 },
- { .id = 116, .x = 18.5, .y = 1.25, .scan = 255 },
- { .id = 117, .x = 18.5, .y = 3, .scan = 255 },
- { .id = 118, .x = 18.5, .y = 4.75, .scan = 255 },
- { .id = 119, .x = 18.5, .y = 6.5, .scan = 255 },
-};
-
-/**
- * there are a few variables are used here
- * keycode, scancode, led id
- *
- * scancode relates to actual physical key press
- *
- * keycode is software key press, or scancode with modifiers (shift, ctrl, alt, etc.),
- * keycode with the value less than 255 are usually the same with scan code (I hope so)
- *
- * the led pattern are running based on led id, because led on the keyboard
- * are not limited to keys only
- */
-led_info_t* get_led_info_by_scancode(uint16_t scancode){
- static bool init = false;
- static led_info_t* scancode_to_led_info[MAX_CACHED_SCAN_CODE + 1];
- if(!init){
- for(int i = 1; i <= MAX_LED_ID_WITH_SCANCODE; ++i){
- uint16_t scan = led_info[i].scan;
- if(scan <= MAX_CACHED_SCAN_CODE){
- scancode_to_led_info[scan] = (led_info + i);
- }
- }
- init = true;
- }
-
- if(scancode <= MAX_CACHED_SCAN_CODE){
- return scancode_to_led_info[scancode];
- } else if(scancode == FN_KEY_SCAN_CODE){ // FN
- return (led_info + FN_KEY_LED_ID);
- }
- return led_info;
-}
-
-
-
-void init_led_info(void){
- for(int i = 1; i <= MAX_LED_ID; ++i){
- led_info_t *entry1 = led_info + i;
- for(int j = i; j <= MAX_LED_ID; ++j){
- led_info_t *entry2 = led_info + j;
- /**
- * distance is tripled because
- * convertion from float to int reduces accuracy
- *
- */
- uint8_t distance = (uint8_t)sqrtf(
- powf(entry1->x - entry2->x, 2.0) +
- powf(entry1->y - entry2->y, 2.0)) *
- DISTANCE_NORAMLIZING_PARAMETER;
- entry1->distance_to[j] = distance;
- entry2->distance_to[i] = distance;
- }
- }
-};
-
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- init_led_info();
-};
-
-typedef struct keystroke_s {
- uint16_t scancode;
- uint32_t timer;
- bool active;
-} keystroke_t;
-
-#define MAX_ACTIVE_KEYSTORKES 10
-keystroke_t ACTIVE_KEYSTROKES[MAX_ACTIVE_KEYSTORKES];
-
-void reset_led_for_instruction(int led_instruction_index){
- led_instructions[led_instruction_index].id0 = 0;
- led_instructions[led_instruction_index].id1 = 0;
- led_instructions[led_instruction_index].id2 = 0;
- led_instructions[led_instruction_index].id3 = 0;
-};
-void add_led_to_instruction(int led_instruction_index, int led_id){
- if(32 >= led_id && led_id >= 1){
- led_instructions[led_instruction_index].id0 += ( 1 << (led_id - 1) );
- } else if(64 >= led_id){
- led_instructions[led_instruction_index].id1 += ( 1 << (led_id - 33) );
- } else if(96 >= led_id){
- led_instructions[led_instruction_index].id2 += ( 1 << (led_id - 65) );
- } else if(128 >= led_id){
- led_instructions[led_instruction_index].id3 += ( 1 << (led_id - 97) );
- }
-};
-
-
-void wave_effect(void);
-void set_wave_color(int);
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- wave_effect();
- set_wave_color(USER_CONFIG.PATTERN_INDEX);
-};
-
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-void register_keystroke(uint16_t keycode){
- if(get_led_info_by_scancode(keycode)->id){
- uint32_t oldest_keystroke_lifespan = 0;
- int8_t oldest_keystroke_index = -1;
- bool registered = false;
-
- keystroke_t *keystroke = ACTIVE_KEYSTROKES;
- for(int i = 0; i < MAX_ACTIVE_KEYSTORKES; ++i){
- if(!keystroke->active){
- keystroke->scancode = keycode;
- keystroke->timer = timer_read32();
- keystroke->active = true;
- registered = true;
- break;
- }
-
- uint32_t lifespan = timer_elapsed32(keystroke->timer);
- if(lifespan > oldest_keystroke_lifespan){
- oldest_keystroke_index = i;
- oldest_keystroke_lifespan = lifespan;
- }
-
- ++keystroke;
- }
-
- // override the oldest keystroke
- if(!registered){
- keystroke = ACTIVE_KEYSTROKES + oldest_keystroke_index;
- keystroke->scancode = keycode;
- keystroke->timer = timer_read32();
- keystroke->active = true; // presumably active already
- }
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- case L_BRI:
- if (record->event.pressed) {
- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
- else gcr_desired += LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_BRD:
- if (record->event.pressed) {
- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
- else gcr_desired -= LED_GCR_STEP;
- if (led_animation_breathing) gcr_breathe = gcr_desired;
- }
- return false;
- case L_PTN:
- if (record->event.pressed) {
- if (led_animation_id == led_setups_count - 1) led_animation_id = 0;
- else led_animation_id++;
- }
- return false;
- case L_PTP:
- if (record->event.pressed) {
- if (led_animation_id == 0) led_animation_id = led_setups_count - 1;
- else led_animation_id--;
- }
- return false;
- case L_PSI:
- if (record->event.pressed) {
- led_animation_speed += ANIMATION_SPEED_STEP;
- }
- return false;
- case L_PSD:
- if (record->event.pressed) {
- led_animation_speed -= ANIMATION_SPEED_STEP;
- if (led_animation_speed < 0) led_animation_speed = 0;
- }
- return false;
- case L_T_MD:
- if (record->event.pressed) {
- led_lighting_mode++;
- if (led_lighting_mode > LED_MODE_MAX_INDEX) led_lighting_mode = LED_MODE_NORMAL;
- }
- return false;
- case L_T_ONF:
- if (record->event.pressed) {
- led_enabled = !led_enabled;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_ON:
- if (record->event.pressed) {
- led_enabled = 1;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_OFF:
- if (record->event.pressed) {
- led_enabled = 0;
- I2C3733_Control_Set(led_enabled);
- }
- return false;
- case L_T_BR:
- if (record->event.pressed) {
- led_animation_breathing = !led_animation_breathing;
- if (led_animation_breathing) {
- gcr_breathe = gcr_desired;
- led_animation_breathe_cur = BREATHE_MIN_STEP;
- breathe_dir = 1;
- }
- }
- return false;
- case L_T_PTD:
- if (record->event.pressed) {
- led_animation_direction = !led_animation_direction;
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
-
-
-
- case S_RESET:
- // reset all parameters
-
- USER_CONFIG.PATTERN_INDEX = 1;
- USER_CONFIG.WAVE_WIDTH = 10;
- USER_CONFIG.WAVE_SPEED = 15;
- USER_CONFIG.COLOR_PATTERN_INDEX = 0;
- USER_CONFIG.TRAVEL_DISTANCE = 25;
-
- return false;
- case L_SP_PR: // previous dripple pattern
- case L_SP_NE: // next dripple pattern
- if (record->event.pressed) {
-#define PATTERN_COUNT 7
- uint8_t incre = keycode == L_SP_PR ? PATTERN_COUNT-1 : 1;
- USER_CONFIG.PATTERN_INDEX += incre;
- USER_CONFIG.PATTERN_INDEX %= PATTERN_COUNT;
-
- if(USER_CONFIG.PATTERN_INDEX <= 4){
- USER_CONFIG.TRAVEL_DISTANCE = 25;
- USER_CONFIG.COLOR_PATTERN_INDEX = 0;
- USER_CONFIG.WAVE_SPEED = 10;
- }
-
- switch(USER_CONFIG.PATTERN_INDEX){
- case 0: // None
- break;
- case 1: // background off, wave on
- USER_CONFIG.WAVE_WIDTH = 2;
- break;
- case 2: // background on, wave off
- USER_CONFIG.WAVE_WIDTH = 5;
- break;
- case 3: // background off, rainbow wave
- USER_CONFIG.WAVE_WIDTH = 10;
- break;
- case 4: // background on, rainbow wave
- USER_CONFIG.WAVE_WIDTH = 10;
- break;
- case 5:
- USER_CONFIG.WAVE_WIDTH = 10;
-
- USER_CONFIG.COLOR_PATTERN_INDEX = 2;
- USER_CONFIG.TRAVEL_DISTANCE = 0;
- USER_CONFIG.WAVE_SPEED = 10;
- break;
- case 6:
- USER_CONFIG.WAVE_WIDTH = 10;
-
- USER_CONFIG.COLOR_PATTERN_INDEX = 3;
- USER_CONFIG.TRAVEL_DISTANCE = 2;
- USER_CONFIG.WAVE_SPEED = 10;
- break;
- }
-
- // remove effect after changing pattern
- for(int i = 0; i < MAX_ACTIVE_KEYSTORKES; ++i){
- ACTIVE_KEYSTROKES[i].active = 0;
- }
- }
- return false;
- case L_SP_WD:
- case L_SP_NW:
- if(record->event.pressed){
- short incre = keycode == L_SP_WD ? 1 : -1;
- USER_CONFIG.WAVE_WIDTH += incre;
- if(USER_CONFIG.WAVE_WIDTH < 1){
- USER_CONFIG.WAVE_WIDTH = 1;
- }
- }
- return false;
- case L_SP_FA:
- case L_SP_SL:
- if(record->event.pressed){
- short incre = keycode == L_SP_FA ? -1 : 1;
-
- USER_CONFIG.WAVE_SPEED += incre;
- if(USER_CONFIG.WAVE_SPEED > 50){
- USER_CONFIG.WAVE_SPEED = 50;
- } else if(USER_CONFIG.WAVE_SPEED < 1){
- USER_CONFIG.WAVE_SPEED = 1;
- }
- }
- return false;
- // these are the keys not in range 0x04 - 0x52
- case L_CP_PR:
- case L_CP_NX:
- if(record->event.pressed){
- uint8_t incre = keycode == L_CP_PR ? COLOR_PATTERNS_COUNT - 1 : 1;
- USER_CONFIG.COLOR_PATTERN_INDEX += incre;
- USER_CONFIG.COLOR_PATTERN_INDEX %= COLOR_PATTERNS_COUNT;
- set_wave_color(USER_CONFIG.COLOR_PATTERN_INDEX);
- }
- return false;
-
- default:
-
-
- if(record->event.pressed){
- register_keystroke(keycode);
-
-#ifdef CONSOLE_ENABLE
- led_info_t *entry = get_led_info_by_scancode(keycode);
- uprintf(("KL: kc: %u, led id: %u, x: %f, y: %f, "
- "col: %u, row: %u, pressed: %u, time: %u\n"),
- keycode, entry->id, entry->x, entry->y,
- record->event.key.col, record->event.key.row,
- record->event.pressed, record->event.time);
-#endif
- }
- return true; //Process all other keycodes normally
- }
-}
-
-led_instruction_t led_instructions[] = {
- //LEDs are normally inactive, no processing is performed on them
- //Flags are used in matching criteria for an LED to be active and indicate how to color it
- //Flags can be found in tmk_core/protocol/arm_atsam/md_rgb_matrix.h (prefixed with LED_FLAG_)
- //LED IDs can be found in config_led.h in the keyboard's directory
- //Examples are below
-
- //All LEDs use the user's selected pattern (this is the factory default)
- { .flags = LED_FLAG_USE_ROTATE_PATTERN },
-
- //Specific LEDs use the user's selected pattern while all others are off
- // { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_ROTATE_PATTERN, .id0 = 0xFFFFFFFF, .id1 = 0xAAAAAAAA, .id2 = 0x55555555, .id3 = 0x11111111 },
-
- //Specific LEDs use specified RGB values while all others are off
- // { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0xFF, .id1 = 0x00FF, .id2 = 0x0000FF00, .id3 = 0xFF000000, .r = 75, .g = 150, .b = 225 },
-
- //All LEDs use the user's selected pattern
- //On layer 1, all key LEDs (except the top row which keeps active pattern) are red while all edge LEDs are green
- //When layer 1 is active, key LEDs use red (id0 32 - 17: 1111 1111 1111 1111 0000 0000 0000 0000 = 0xFFFF0000) (except top row 16 - 1)
- //When layer 1 is active, key LEDs use red (id1 64 - 33: 1111 1111 1111 1111 1111 1111 1111 1111 = 0xFFFFFFFF)
- //When layer 1 is active, key LEDs use red (id2 87 - 65: 0000 0000 0111 1111 1111 1111 1111 1111 = 0x007FFFFF)
- //When layer 1 is active, edge LEDs use green (id2 95 - 88: 1111 1111 1000 0000 0000 0000 0000 0000 = 0xFF800000)
- //When layer 1 is active, edge LEDs use green (id3 119 - 96: 0000 0000 1111 1111 1111 1111 1111 1111 = 0x00FFFFFF)
- // { .flags = LED_FLAG_USE_ROTATE_PATTERN },
-
- #define WAVE_LED_INSTRUCTION_START 1
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0, .id1 = 0, .id2 = 0, .g = 255 },
- #define WAVE_LED_INSTRUCTION_END 18
-
- //All key LEDs use red while edge LEDs use the active pattern
- //All key LEDs use red (id0 32 - 1: 1111 1111 1111 1111 1111 1111 1111 1111 = 0xFFFFFFFF)
- //All key LEDs use red (id1 64 - 33: 1111 1111 1111 1111 1111 1111 1111 1111 = 0xFFFFFFFF)
- //All key LEDs use red (id2 87 - 65: 0000 0000 0111 1111 1111 1111 1111 1111 = 0x007FFFFF)
- //Edge uses active pattern (id2 95 - 88: 1111 1111 1000 0000 0000 0000 0000 0000 = 0xFF800000)
- //Edge uses active pattern (id3 119 - 96: 0000 0000 1111 1111 1111 1111 1111 1111 = 0x00FFFFFF)
- // { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 0xFFFFFFFF, .id1 = 0xFFFFFFFF, .id2 = 0x007FFFFF, .r = 255 },
- // { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_ROTATE_PATTERN , .id2 = 0xFF800000, .id3 = 0x00FFFFFF },
-
- { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB | LED_FLAG_MATCH_LAYER,
- .id1 = 0b00001111001111000000011110011110,
- .r = 0, .g = 255, .b = 60, .layer = 2 },
-
- //end must be set to 1 to indicate end of instruction set
- { .end = 1 }
-};
-
-
-void set_wave_color(int color_pattern_index){
- for(int i = WAVE_LED_INSTRUCTION_START; i < WAVE_LED_INSTRUCTION_END; ++i){
- for(int j = 0; j < COLOR_PATTERN_RGB_COUNT; ++j){
- led_instructions[i].r = COLOR_PATTERNS[color_pattern_index][i][0];
- led_instructions[i].g = COLOR_PATTERNS[color_pattern_index][i][1];
- led_instructions[i].b = COLOR_PATTERNS[color_pattern_index][i][2];
- }
- }
-};
-
-void wave_effect(void){
- for(int i = WAVE_LED_INSTRUCTION_START; i < WAVE_LED_INSTRUCTION_END; ++i){
- reset_led_for_instruction(i);
- }
- int wave_led_instruction_span = WAVE_LED_INSTRUCTION_END - WAVE_LED_INSTRUCTION_START;
-
-
- keystroke_t *keystroke = ACTIVE_KEYSTROKES;
- for(int i = 0; i < MAX_ACTIVE_KEYSTORKES; ++i, ++keystroke){
- if(!keystroke->active) continue;
- bool active = false;
-
- uint16_t keystroke_led_id = get_led_info_by_scancode(keystroke->scancode)->id;
-
- float elapsed_s = timer_elapsed32(keystroke->timer) / 1000.0f;
- float travel = elapsed_s * USER_CONFIG.WAVE_SPEED;
-
- for(uint16_t id = 1; id <= MAX_LED_ID; ++id){
- float normalized_distance =
- led_info[id].distance_to[keystroke_led_id] /
- (float)DISTANCE_NORAMLIZING_PARAMETER;
-
- if(travel >= normalized_distance && travel - normalized_distance >= 0 &&
- normalized_distance >= travel - USER_CONFIG.WAVE_WIDTH){
- int portion = (travel - normalized_distance) *
- wave_led_instruction_span / USER_CONFIG.WAVE_WIDTH;
- add_led_to_instruction(portion, id);
-
- active = true;
- }
- }
-
- keystroke->active = active;
- }
-};
diff --git a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/rules.mk b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/rules.mk
deleted file mode 100644
index 064a6f54c1..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# This keymap requires Massdrop Configurator support
-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
deleted file mode 100644
index 0c08219181..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright 2022 Daniel Weeks (@xanimos)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
-
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
-
-// #define NO_DEBUG // Disable debugging
-// #define NO_PRINT // Disable printing/debugging using hid_listen
-// #define NO_ACTION_LAYER // Disable layers
-// #define NO_ACTION_TAPPING // Disable tap dance and other tapping features
-// #define NO_ACTION_ONESHOT // Disable one-shot modifiers
-// #define NO_ACTION_MACRO // Disable old style macro handling: MACRO() & action_get_macro
-#define TERMINAL_HELP
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 10
-#define MOUSEKEY_WHEEL_DELAY 0
-#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
-// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
-// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
-#define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
-// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
-// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
-#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
-// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
-// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
-// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
-// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
-// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
-// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out
-// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
-// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
-// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
-// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
-// #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue
-// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
-// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
-// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
-// #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 // The number of LEDs to group the red/green colors by for the "Christmas" animation
-#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM // The number of LEDs to have the "Knight" animation travel
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // The number of LEDs to light up for the "Knight" animation
-#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 // The number of LEDs to start the "Knight" animation from the start of the strip by
-// #define RGBLIGHT_RAINBOW_SWIRL_RANGE 255 // Range adjustment for the rainbow swirl effect to get different swirls
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // The number of LEDs to light up for the "Snake" animation
-
-// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
-// #undef ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
-// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-#undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-#undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-// #undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-// #undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
-// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c b/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c
deleted file mode 100644
index 6d6338073d..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright 2022 Daniel Weeks (@xanimos)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef RGB_MATRIX_ENABLE
-#include "ctrl.h"
-
-#include "md_rgb_matrix.h"
-#include "rgb_matrix.h"
-#include "config_led.h"
-
-led_config_t g_led_config = { {
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 16, 17, 18, 19, 20, 21, 22, 23 },
- { 33, 34, 35, 36, 37, 38, 39, 40 },
- { 50, 51, 52, 53, 54, 55, 56, 57 },
- { 63, 64, 65, 66, 67, 68, 69, 70 },
- { 76, 77, 78, 79, 80, 81, 82, 83 },
- { 8, 9, 10, 11, 12, 13, 14, 15 },
- { 24, 25, 26, 27, 28, 29, 30, 31 },
- { 41, 42, 43, 44, 45, 46, 47, 48 },
- { 58, 59, 60, 61, 62, 75, 49, 32 },
- { 71, 72, 73, 74, 84, 85, 86, NO_LED }
-}, {
- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
- { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 },
- { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
- // 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
- { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 },
- { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 },
- { 217, 20 },
- // KC_TAB, KC_Q, KC_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
- { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 },
- { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 },
- { 217, 30 },
- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
- { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 },
- { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
- // 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
- { 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 },
- { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 },
- { 193, 59 }, { 205, 59 }, { 217, 59 },
- // Underglow / Border
- { 224, 64 }, { 204, 64 }, { 186, 64 }, { 167, 64 }, { 149, 64 }, { 130, 64 }, { 112, 64 }, { 94, 64 },
- { 75, 64 }, { 57, 64 }, { 38, 64 }, { 20, 64 }, { 0, 64 }, { 0, 47 }, { 0, 32 }, { 0, 17 },
- { 0, 0 }, { 20, 0 }, { 38, 0 }, { 57, 0 }, { 75, 0 }, { 94, 0 }, { 112, 0 }, { 130, 0 },
- { 149, 0 }, { 167, 0 }, { 186, 0 }, { 204, 0 }, { 224, 0 }, { 224, 17 }, { 224, 32 }, { 224, 47 }
-}, {
- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
- 1, 4, 4, 4, 4, 1, 1, 1,
- 1, 4, 4, 4, 4, 1, 1, 1,
- // KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 1, 1, 1,
- 1,
- // KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 1, 1,
- 1,
- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 1,
- // 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
- 1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 1, 1,
- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- 1, 1, 1, 4, 1, 1, 1, 1,
- 1, 1, 1,
- // Underglow / Border
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2
-} };
-
-
-#ifdef USB_LED_INDICATOR_ENABLE
-bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
- md_rgb_matrix_indicators_advanced(led_min, led_max);
- return rgb_matrix_indicators_advanced_user(led_min, led_max);
-}
-#endif // USB_LED_INDICATOR_ENABLE
-
-#endif
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
deleted file mode 100644
index 5d95018dbc..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
+++ /dev/null
@@ -1,517 +0,0 @@
-/* Copyright 2022 Daniel Weeks (@xanimos)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <string.h>
-
-#define MILLISECONDS_IN_SECOND 1000
-
-// These are just to make it neater to use builtin HSV values in the keymap
-#define RED {HSV_RED}
-#define CORAL {HSV_CORAL}
-#define ORANGE {HSV_ORANGE}
-#define GOLDEN {HSV_GOLDENROD}
-#define GOLD {HSV_GOLD}
-#define YELLOW {HSV_YELLOW}
-#define CHART {HSV_CHARTREUSE}
-#define GREEN {HSV_GREEN}
-#define SPRING {HSV_SPRINGGREEN}
-#define TURQ {HSV_TURQUOISE}
-#define TEAL {HSV_TEAL}
-#define CYAN {HSV_CYAN}
-#define AZURE {HSV_AZURE}
-#define BLUE {HSV_BLUE}
-#define PURPLE {HSV_PURPLE}
-#define MAGENT {HSV_MAGENTA}
-#define PINK {HSV_PINK}
-
-//========================================================== CONFIGURABLE DEFAULTS ==========================================================
-#define RGB_DEFAULT_TIME_OUT 30
-#define RGB_FAST_MODE_TIME_OUT 3
-#define RGB_TIME_OUT_MAX 600
-#define RGB_TIME_OUT_MIN 10
-#define RGB_TIME_OUT_STEP 10
-
-extern rgb_config_t rgb_matrix_config;
-bool disable_layer_color;
-
-bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
-bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
-bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
-bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
-uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
-uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
-led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
-
-enum layout_names {
- _KL=0, // Keys Layout: The main keyboard layout that has all the characters
- _FL, // Function Layout: The function key activated layout with default functions and some added ones
- _GL, // GIT Layout: GIT shortcuts and macros
- _NUMPAD, // Numpad Layout: Adds a numpad to the keys
-};
-
-// Tap Dance keycodes
-enum td_keycodes {
- TD_FN_SWITCH = 0
-};
-
-// Define a type containing as many tapdance states as you need
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_HOLD,
- TD_DOUBLE_HOLD
-} td_state_t;
-
-typedef struct {
- bool is_press_action;
- td_state_t state;
-} td_tap_t;
-
-// Declare your tapdance functions:
-
-// Function to determine the current tapdance state
-td_state_t cur_dance(tap_dance_state_t *state);
-
-// `finished` and `reset` functions for each tapdance keycode
-void fn_tap_finished(tap_dance_state_t *state, void *user_data);
-void fn_tap_reset(tap_dance_state_t *state, void *user_data);
-
-enum ctrl_keycodes {
- MD_BOOT = SAFE_RANGE, // Restart into bootloader after hold timeout
- ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off
- ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled
- ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled
- ROUT_FM, // RGB timeout fast mode toggle
- TOG_NPD, // Toggle Numpad On/Off
- COPY_ALL, // Copy all text using ctrl(a+c)
-};
-
-enum string_macro_keycodes {
- // The start of this enum should always be equal to end of ctrl_keycodes + 1
- G_INIT = COPY_ALL + 1, // git init
- G_CLONE, // git clone
- G_ADD, // git add
- G_DIFF, // git diff
- G_RESET, // git reset --soft
- G_BRANH, // git branch list
- G_CHECK, // git checkout
- G_REMTE, // git remote add
- G_FETCH, // git fetch
- G_PULL, // git pull
- G_PUPST, // git pull upstream
- G_PUSH, // git push
- G_PSORG, // git push -u origin
- G_PSFWL, // git push --force-with-lease
- G_COMM, // git commit
- G_COMSG, // git commit -m ": [TFS-]"
- G_STAT, // git status
- G_LOG, // git log
-};
-
-static uint16_t idle_timer; // Idle LED timeout timer
-static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds
-static uint8_t key_event_counter; // This counter is used to check if any keys are being held
-
-static const char * sendstring_commands[] = {
- "git init",
- "git clone ",
- "git add ",
- "git diff ",
- "git reset --soft ",
- "git branch --list",
- "git checkout ",
- "git remote add ",
- "git fetch ",
- "git pull",
- "git pull upstream ",
- "git push",
- "git push -u origin ",
- "git push --force-with-lease",
- "git commit ",
- "git commit -m \": [TFS-]\"",
- "git status",
- "git log",
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_KL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL,RCS(KC_M),
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
- // CAPS A S D F G H J K L ; ' ENTER
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- SC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SC_RSPC, KC_UP ,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TD(TD_FN_SWITCH), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- // CAPS A S D F G H J K L ; ' ENTER
- _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TOG_NPD, KC_BRIU,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______
- ),
- [_GL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_NUMPAD] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- TOG_NPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define __OFF__ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [_FL] = {
- // These remain on base layer rgb to see adjustments ;)
- // |----------------------------------|
- // _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, YELLOW, YELLOW, ORANGE, __OFF__, GOLD,
- // RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU,
- GOLD, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, RED, SPRING, ORANGE,
- // _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, AZURE, AZURE, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TEAL, TEAL, ORANGE,
- // _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TO(_NUMPAD), KC_BRIU,
- __OFF__, __OFF__, __OFF__, CORAL, __OFF__, RED, TURQ, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, SPRING,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, SPRING, __OFF__
- },
- [_GL] = {
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- AZURE, CHART, CHART, RED, CORAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, BLUE, PURPLE, MAGENT, PINK, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, SPRING, GREEN, TURQ, TEAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, CYAN, GOLDEN, YELLOW, GOLD, CHART, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__
- },
- [_NUMPAD] = {
- // TO(_KL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RED, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, GREEN, GREEN, GREEN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TURQ, TURQ, TURQ, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, CYAN, CYAN, AZURE, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______
- __OFF__, __OFF__, __OFF__, CYAN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__
- },
-};
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- // Enable or disable debugging
- debug_enable = false;
- debug_matrix = false;
- debug_keyboard = false;
- debug_mouse = false;
-
- idle_second_counter = 0; // Counter for number of seconds keyboard has been idle.
- key_event_counter = 0; // Counter to determine if keys are being held, neutral at 0.
- rgb_time_out_seconds = RGB_DEFAULT_TIME_OUT; // RGB timeout initialized to its default configure in keymap.h
- rgb_time_out_enable = false; // Disable RGB timeout by default. Enable using toggle key.
- rgb_time_out_user_value = false; // Has to have the same initial value as rgb_time_out_enable.
- rgb_enabled_flag = true; // Initially, keyboard RGB is enabled. Change to false config.h initializes RGB disabled.
- rgb_time_out_fast_mode_enabled = false; // RGB timeout fast mode disabled initially.
- rgb_time_out_saved_flag = rgb_matrix_get_flags(); // Save RGB matrix state for when keyboard comes back from ide.
-};
-
-void keyboard_post_init_user(void) {
- rgb_matrix_enable();
-}
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- if(rgb_time_out_enable && rgb_enabled_flag) {
- // If the key event counter is not zero then some key was pressed down but not released, thus reset the timeout counter.
- if (key_event_counter) {
- idle_second_counter = 0;
- } else if (timer_elapsed(idle_timer) > MILLISECONDS_IN_SECOND) {
- idle_second_counter++;
- idle_timer = timer_read();
- }
-
- if (idle_second_counter >= rgb_time_out_seconds) {
- rgb_time_out_saved_flag = rgb_matrix_get_flags();
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- rgb_enabled_flag = false;
- idle_second_counter = 0;
- }
- }
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- // Increment key event counter for every press and decrement for every release.
- if (record->event.pressed) {
- key_event_counter++;
-
- } else {
- key_event_counter--;
- }
-
- if (rgb_time_out_enable) {
- idle_timer = timer_read();
- // Reset the seconds counter. Without this, something like press> leave x seconds> press, would be x seconds on the effective counter not 0 as it should.
- idle_second_counter = 0;
- if (!rgb_enabled_flag) {
- rgb_matrix_enable_noeeprom();
- rgb_matrix_set_flags(rgb_time_out_saved_flag);
- rgb_enabled_flag = true;
- }
- }
-
- switch (keycode) {
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- }
-
- if (record->event.pressed) {
- switch (keycode) {
- case RGB_TOG:
- rgb_time_out_enable = rgb_time_out_user_value;
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- // This line is for LED idle timer. It disables the toggle so you can turn off LED completely if you like
- rgb_time_out_enable = false;
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- return false;
- // ======================================================== CUSTOM KEYCOADS BELOW ========================================================
- case COPY_ALL:
- // Selects all and text and copy
- SEND_STRING(SS_LCTL("ac"));
- return false;
- case ROUT_TG:
- // Toggle idle LED timeout on or off
- rgb_time_out_enable = !rgb_time_out_enable;
- rgb_time_out_user_value = rgb_time_out_enable;
- return false;
- case ROUT_VI:
- // Increase idle LED timeout value in seconds
- // Only increase if current value is lower than RGB_TIME_OUT_MAX. Don't care what value the result will be
- // Modity RGB_TIME_OUT_STEP for bigger or smaller increments
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds <= RGB_TIME_OUT_MAX) {
- rgb_time_out_seconds += RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_VD:
- // Decrease idle LED timeout value in seconds
- // Only decrease if current value is higher than minimum value and the result is larger than zero
- // Modity RGB_TIME_OUT_STEP for bigger or smaller decrements
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds > RGB_TIME_OUT_MIN) {
- rgb_time_out_seconds -= RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_FM:
- if (rgb_time_out_fast_mode_enabled) {
- rgb_time_out_seconds = rgb_time_out_saved_seconds;
- } else {
- rgb_time_out_saved_seconds = rgb_time_out_seconds;
- rgb_time_out_seconds = RGB_FAST_MODE_TIME_OUT;
- }
- rgb_time_out_fast_mode_enabled = !rgb_time_out_fast_mode_enabled;
- return false;
- case G_INIT ... G_LOG:
- send_string_with_delay(sendstring_commands[keycode - G_INIT], 5);
- return false;
- case TOG_NPD:
- if (get_highest_layer(layer_state) != _NUMPAD) {
- layer_move(_NUMPAD);
- } else {
- layer_move(_KL);
- }
- return false;
- }
- }
- return true;
-}
-
-void set_layer_color(int layer) {
- if (layer == 0) { return; }
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (hsv.h || hsv.s || hsv.v) {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- continue;
- }
- if(layer == _FL && i <= 4 && i >= 1) {
- continue; // Leave RGB for F1-F4 of function layer to adjust RGB settings
- }
-
- rgb_matrix_set_color(i, 0, 0, 0);
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (disable_layer_color ||
- rgb_matrix_get_flags() == LED_FLAG_NONE ||
- rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) {
- return;
- }
- set_layer_color(get_highest_layer(layer_state));
- return false;
-}
-
-
-
-td_state_t cur_dance(tap_dance_state_t *state) {
- if (state->pressed && !state->interrupted) {
- if (state->count == 1) { return TD_SINGLE_HOLD; }
- return TD_DOUBLE_HOLD;
- }
- return TD_UNKNOWN;
-}
-
-static td_tap_t fn_tap_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void fn_tap_finished(tap_dance_state_t *state, void *user_data) {
- fn_tap_state.state = cur_dance(state);
- switch (fn_tap_state.state) {
- case TD_SINGLE_HOLD:
- // set function layer
- layer_move(_FL);
- break;
- case TD_DOUBLE_HOLD:
- // set git layer
- layer_move(_GL);
- break;
- case TD_UNKNOWN:
- register_code(KC_APP);
- break;
- default:
- break;
- }
-}
-
-void fn_tap_reset(tap_dance_state_t *state, void *user_data) {
- switch (fn_tap_state.state) {
- case TD_UNKNOWN:
- unregister_code(KC_APP);
- break;
- case TD_DOUBLE_HOLD:
- case TD_SINGLE_HOLD:
- // Set default layer if we didn't activate numpad layer in function
- if (get_highest_layer(layer_state) != _NUMPAD) {
- layer_move(_KL);
- }
- break;
- break;
- default:
- break;
- }
- fn_tap_state.state = TD_NONE;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_FN_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_tap_finished, fn_tap_reset)
-};
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md b/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md
deleted file mode 100644
index 5be66aadf8..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/readme.md
+++ /dev/null
@@ -1,200 +0,0 @@
-# Massdrop Ctrl Xanimos
-
-This keymap is the one I use on my MD CTRL, as a professional software engineer I like to make things my own. I'm also up for spreading the love.
-Massdrop has had a pretty bad rap with qmk the past but recently it's not too bad once you put a little pizzazz into it.
-
-I started with the Endgame keymap and have re-written most of and expanded upon it.
-
-## Layers
-
-### Typing Layer
-
-_I physically switched around my RALT and Menu keys as my personal preference. The label is still in default location but you can see they are mapped to my liking._
-
- ```
- __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________
- | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE |
- | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | KC_ESC | | KC_F1 | KC_F2 | KC_F3 | KC_F4 | | KC_F5 | KC_F6 | KC_F7 | KC_F8 | | KC_F9 | KC_F10 | KC_F11 | KC_F12 | | KC_PSCR | KC_SCRL | RCS(M) |
- |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|
- ____________________________________________________________________________________________________________________________________________________________________ ________________________________
- | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | KC_GRV | KC_1 | KC_2 | KC_3 | KC_4 | KC_5 | KC_6 | KC_7 | KC_8 | KC_9 | KC_0 | KC_MINS | KC_EQL | KC_BSPC | | KC_INS | KC_HOME | KC_PGUP |
- |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________|
- | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | KC_TAB | KC_Q | KC_W | KC_E | KC_R | KC_T | KC_Y | KC_U | KC_I | KC_O | KC_P | KC_LBRC | KC_RBRC | KC_BSLS | | KC_DEL | KC_END | KC_PGDN |
- |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________|
- | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
- | KC_CAPS | KC_A | KC_S | KC_D | KC_F | KC_G | KC_H | KC_J | KC_K | KC_L | KC_SCLN | KC_QUOT | KC_ENT |
- |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________
- | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ |
- | SC_LSPO | KC_Z | KC_X | KC_C | KC_V | KC_B | KC_N | KC_M | KC_COMM | KC_DOT | KC_SLSH | SC_RSPC | | KC_UP |
- |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________
- | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | KC_LCTL | KC_LGUI | KC_LALT | KC_SPC | FN_SWTCH | KC_RALT | KC_RGUI | KC_RCTL | | KC_LEFT | KC_DOWN | KC_RGHT |
- |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________|
-
- ```
-
-### Function Layer
-
- ```
- __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________
- | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE |
- | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | ROUT_TG | ROUT_RM | ROUT_VD | ROUT_VI | | | | | | | | KC_WAKE | KC_SLEP | | | KC_PAUS | | KC_MUTE |
- |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|
- ____________________________________________________________________________________________________________________________________________________________________ ________________________________
- | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | | | | | | | | | | KC_MSTP | KC_MPLY | KC_VOLU |
- |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________|
- | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | RGB_MOD | RGB_SPI | RBG_VAI | RGB_HUI | | | | | | | | | | | KC_MPRV | KC_MNXT | KC_VOLD |
- |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________|
- | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
- | | RGB_RMOD | RGB_SPD | RGB_VAD | RGB_HUD | | | | | | | | |
- |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________
- | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ |
- | | | | COPY_ALL | | MD_BOOT | NK_TOGG | | | | | TOGGLE_NUMPAD | | KC_BRIU |
- |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________
- | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | | | | | KC_BRID | |
- |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________|
-
- ```
-
-### Git Layer
-
- ```
- __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________
- | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE |
- | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | | | | | | | | | | | | | | |
- |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|
- ____________________________________________________________________________________________________________________________________________________________________ ________________________________
- | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | G_INIT | G_CLONE | G_REMTE | G_RESET | G_PSFWL | | | | | | | | | | | | | |
- |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________|
- | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | G_PUPST | G_PULL | G_PSORG | G_PUSH | | | | | | | | | | | | | |
- |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________|
- | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
- | | G_ADD | G_STAT | G_DIFF | G_FETCH | | | | | | | | |
- |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________
- | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ |
- | | G_LOG | G_CHECK | G_COMM | G_COMSG | G_BRANH | | | | | | | | |
- |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________
- | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | | | | | | |
- |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________|
-
- ```
-
- - These are the strings that are dumped/keyed in for each associated keycode
- ```
- G_INIT "git init"
- G_CLONE "git clone "
- G_ADD "git add "
- G_DIFF "git diff "
- G_RESET "git reset --soft "
- G_BRANH "git branch --list"
- G_CHECK "git checkout "
- G_REMTE "git remote add "
- G_FETCH "git fetch "
- G_PULL "git pull"
- G_PUPST "git pull upstream "
- G_PUSH "git push"
- G_PSORG "git push -u origin "
- G_PSFWL "git push --force-with-lease"
- G_COMM "git commit "
- G_COMSG "git commit -m \": [TFS-]\""
- G_STAT "git status"
- G_LOG "git log"
- ```
-
-### Numpad Layer
-
-*activated via the __Function Layer__ and stays active until you escape*
- ```
- __________ ___________________________________________ ___________________________________________ ___________________________________________ ________________________________
- | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | PRINT | SCLCK | PAUSE |
- | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | TOG_NPD | | | | | | | | | | | | | | | | | | | |
- |__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|__________| |__________|__________|__________|
- ____________________________________________________________________________________________________________________________________________________________________ ________________________________
- | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BCKSP | | INS | HOME | PGUP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | | | | | | | | | | | | |
- |__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________| |__________|__________|__________|
- | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | DEL | END | PGDN |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | | | | KC_P7 | KC_P8 | KC_P9 | | | | | | | | | |
- |_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________| |__________|__________|__________|
- | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
- | | | | | | | KC_P4 | KC_P5 | KC_P6 | | | | |
- |_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________| __________
- | SHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | | UP |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ |
- | | | | | | KC_P1 | KC_P2 | KC_P3 | KC_PDOT | | | | | |
- |____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________| __________|__________|__________
- | CTRL | GUI | ALT | SPACE | RALT | MENU | RGUI | RCTRL | | LEFT | DOWN | RIGHT |
- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |
- | | | | KC_P0 | | | | | | | | |
- |_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________| |__________|__________|__________|
-
- ```
-
-## Features
-
-These are the features currently used by this keymap:
-
-### RGB Time Out
-
-This allows setting a dynamic timeout for RGB to turn off. The following is supported:
-
-1. Restores on the first click of any key.
-2. Restores to its previous state before timeout. i.e. if it was edge only before timeout it will restore to edge only, same for all modes.
-3. Doesn't interfere with RGB modes. You can set keyboard to All, Edge Only or Off and timeout will not interfere with these modes.
-4. The time before RGB is turned off is dynamically adjustable using keycodes ROUT_VI to increase, ROUT_VD to decrease. They have a 10 second steps by default. Minimum value 10 seconds by default and maximum is 10 minutes.
-5. Can be toggled on or off dyncamically with the ROUT_TG keycode.
-6. Can be put in fast mode using ROUT_FM, for movie watching purposes. Default value is 3 seconds. Note that fast mode disabled ROUT_VD and ROUT_VI so to use them again you have to toggle fast mode off with ROUT_FM. It doesn't impact ROUT_TG and ROUT_TG will remember if fast mode was enabled when toggled back on, so it doesn't disable fast mode on its own, only ROUT_FM can disable or enable fast mode.
-
-### Tapdance Keys
-
-Created a tapdance setup to use the same key to switch between the layers, aka a function key. ;)
-
-Layers are temporary while holding the function key down.
- - Single tap and hold: Activates the Function Layer.
- - Double tap and hold: Activates the Git Layer.
-
-### Numpad
-
-Activated in the *Function Layer* by holding down the fn key and pressing the toggle key (RSHIFT). The keeps the layer activated without needing to hold the fn key anymore.
-To leave the numpad layer press the ESC key or hold and let go of the fn key.
-
-### Space Cadet Shift
-
-The typing layer is setup to use the [Space Cadet Shift](https://docs.qmk.fm/#/feature_space_cadet). As a software engineer this is massively useful :)
-
-_Sorry ISO users, you'll need to configure it for your own setup or disable it._
-
-## Credits
-
- - [endgame](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/ctrl/keymaps/endgame) by [ash0x0](https://github.com/ash0x0)
- For the base keymap I started with. \ No newline at end of file
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk b/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk
deleted file mode 100644
index 2913eff83b..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# RGBLIGHT_ENABLE = no # Not for MD boards. This is here in case you forget.
-COMMAND_ENABLE = no # Commands for debug and configuration
-# AUTO_SHIFT_ENABLE = yes # Auto Shift
-NKRO_ENABLE = yes # USB Nkey Rollover
-DYNAMIC_MACRO_ENABLE = no # Dynamic macro recording and play
-MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size.
-TAP_DANCE_ENABLE = yes # Enable tap dance keys
-CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
-SRC += config_led.c # Used to add files to the compilation/linking list.
-EXTRAKEY_ENABLE = yes # Audio control and System control
-# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
-# COMBO_ENABLE # Key combo feature
-# LEADER_ENABLE # Enable leader key chording
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c
index a05934238a..0a3071a402 100644
--- a/keyboards/matrix/abelx/abelx.c
+++ b/keyboards/matrix/abelx/abelx.c
@@ -57,6 +57,7 @@ void housekeeping_task_kb(void) {
#ifdef RGBLIGHT_ENABLE
#include "rgblight.h"
+#include "ws2812.h"
#include "i2c_master.h"
const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
@@ -66,7 +67,7 @@ const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
{AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM},
};
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM;
@@ -77,6 +78,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
}
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
#endif
static uint16_t caps_lock_pin = DEF_PIN(TCA6424_PORT2, 3);
diff --git a/keyboards/matrix/abelx/aw9523b.c b/keyboards/matrix/abelx/aw9523b.c
index 8c6e8eaccf..860a71740d 100644
--- a/keyboards/matrix/abelx/aw9523b.c
+++ b/keyboards/matrix/abelx/aw9523b.c
@@ -51,15 +51,15 @@ void aw9523b_init(uint8_t addr)
i2c_init();
// reset chip
uint8_t data = 0;
- i2c_writeReg(addr, AW9523B_RESET, &data, 1, TIMEOUT);
+ i2c_write_register(addr, AW9523B_RESET, &data, 1, TIMEOUT);
wait_ms(1);
// set max led current
data = 0x03; // 37mA/4
- i2c_writeReg(addr, AW9523B_CTL, &data, 1, TIMEOUT);
+ i2c_write_register(addr, AW9523B_CTL, &data, 1, TIMEOUT);
// set port to led mode
data = 0;
- i2c_writeReg(addr, AW9523B_P0_LED, &data, 1, TIMEOUT);
- i2c_writeReg(addr, AW9523B_P1_LED, &data, 1, TIMEOUT);
+ i2c_write_register(addr, AW9523B_P0_LED, &data, 1, TIMEOUT);
+ i2c_write_register(addr, AW9523B_P1_LED, &data, 1, TIMEOUT);
// clear pwm buff
for (uint8_t i = 0; i < 16; i++) {
aw9523b_pwm_buf[i] = 0;
@@ -91,9 +91,9 @@ void aw9523b_update_pwm_buffers(uint8_t addr)
if (aw9523b_pwm_dirty) {
for (uint8_t i = 0; i < AW9523B_RGB_NUM; i++){
aw9523b_led led = g_aw9523b_leds[i];
- i2c_writeReg(addr, led.r, &aw9523b_pwm_buf[PWM2BUF(led.r)], 1, TIMEOUT);
- i2c_writeReg(addr, led.g, &aw9523b_pwm_buf[PWM2BUF(led.g)], 1, TIMEOUT);
- i2c_writeReg(addr, led.b, &aw9523b_pwm_buf[PWM2BUF(led.b)], 1, TIMEOUT);
+ i2c_write_register(addr, led.r, &aw9523b_pwm_buf[PWM2BUF(led.r)], 1, TIMEOUT);
+ i2c_write_register(addr, led.g, &aw9523b_pwm_buf[PWM2BUF(led.g)], 1, TIMEOUT);
+ i2c_write_register(addr, led.b, &aw9523b_pwm_buf[PWM2BUF(led.b)], 1, TIMEOUT);
}
aw9523b_pwm_dirty = false;
}
diff --git a/keyboards/matrix/abelx/info.json b/keyboards/matrix/abelx/info.json
index 35bc059810..b9aa23b756 100644
--- a/keyboards/matrix/abelx/info.json
+++ b/keyboards/matrix/abelx/info.json
@@ -10,6 +10,7 @@
},
"rgblight": {
"led_count": 9,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk
index 1c2fc05ffe..83142dd71c 100644
--- a/keyboards/matrix/abelx/rules.mk
+++ b/keyboards/matrix/abelx/rules.mk
@@ -46,3 +46,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c tca6424.c aw9523b.c
I2C_DRIVER_REQUIRED = yes
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/matrix/abelx/tca6424.c b/keyboards/matrix/abelx/tca6424.c
index 44dc7909d8..c632157256 100644
--- a/keyboards/matrix/abelx/tca6424.c
+++ b/keyboards/matrix/abelx/tca6424.c
@@ -47,13 +47,13 @@ void tca6424_init(void)
static void write_port(uint8_t p, uint8_t d)
{
- i2c_writeReg(TCA6424_ADDR, p, &d, 1, TIMEOUT);
+ i2c_write_register(TCA6424_ADDR, p, &d, 1, TIMEOUT);
}
static uint8_t read_port(uint8_t port)
{
uint8_t data = 0;
- i2c_readReg(TCA6424_ADDR, port, &data, 1, TIMEOUT);
+ i2c_read_register(TCA6424_ADDR, port, &data, 1, TIMEOUT);
return data;
}
diff --git a/keyboards/matrix/m20add/info.json b/keyboards/matrix/m20add/info.json
index 972aab9d0d..6e1a1c493f 100644
--- a/keyboards/matrix/m20add/info.json
+++ b/keyboards/matrix/m20add/info.json
@@ -10,6 +10,7 @@
},
"rgblight": {
"led_count": 20,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index f3fbe83d72..f32875cf4f 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -357,7 +357,7 @@ static void custom_effects(void)
effect_funcs[rgb_ring.effect]();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_ring.state != RING_STATE_QMK) {
return;
@@ -368,6 +368,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
}
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
void rgb_ring_init(void)
{
diff --git a/keyboards/matrix/m20add/tca6424.c b/keyboards/matrix/m20add/tca6424.c
index 38cea9f15f..c6ffa4c2fe 100644
--- a/keyboards/matrix/m20add/tca6424.c
+++ b/keyboards/matrix/m20add/tca6424.c
@@ -45,13 +45,13 @@ void tca6424_init(void)
static void write_port(uint8_t p, uint8_t d)
{
- i2c_writeReg(TCA6424_ADDR, p, &d, 1, TIMEOUT);
+ i2c_write_register(TCA6424_ADDR, p, &d, 1, TIMEOUT);
}
static uint8_t read_port(uint8_t port)
{
uint8_t data = 0;
- i2c_readReg(TCA6424_ADDR, port, &data, 1, TIMEOUT);
+ i2c_read_register(TCA6424_ADDR, port, &data, 1, TIMEOUT);
return data;
}
diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h
index a4d4c5a36a..74beabaa7a 100644
--- a/keyboards/matrix/noah/config.h
+++ b/keyboards/matrix/noah/config.h
@@ -21,54 +21,4 @@
// rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define RGB_MATRIX_LED_COUNT 72
diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json
index 507c36120e..bc546cffc9 100644
--- a/keyboards/matrix/noah/info.json
+++ b/keyboards/matrix/noah/info.json
@@ -28,6 +28,51 @@
"pin": "B1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "is31fl3731"
},
"community_layouts": ["65_iso_blocker"],
diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c
index 8246da809c..b5c52f9952 100644
--- a/keyboards/matrix/noah/noah.c
+++ b/keyboards/matrix/noah/noah.c
@@ -17,53 +17,50 @@ extern rgblight_config_t rgblight_config;
// led 0 for caps lock, led 1 for scroll lock, led 3 for num lock
// led 4 for layer 1, led 5 for layer 2, led 6 for layer 3, led 7 for layer 4
-#if RGBLED_NUM < 7
-#error "MUST set the RGBLED_NUM bigger than 7"
+#if RGBLIGHT_LED_COUNT < 7
+#error "MUST set the RGBLIGHT_LED_COUNT bigger than 7"
#endif
-rgb_led_t noah_leds[RGBLED_NUM];
+rgb_led_t noah_leds[RGBLIGHT_LED_COUNT];
static bool noah_led_mode = false;
-void rgblight_set(void) {
+void setleds_custom(rgb_led_t *ledarray, uint16_t num_leds) {
memset(&noah_leds[0], 0, sizeof(noah_leds));
if (!rgblight_config.enable) {
- for (uint8_t i = 0; i < RGBLED_NUM; i++) {
- led[i].r = 0;
- led[i].g = 0;
- led[i].b = 0;
+ for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) {
+ ledarray[i].r = 0;
+ ledarray[i].g = 0;
+ ledarray[i].b = 0;
}
}
if (noah_led_mode) {
led_t led_state = host_keyboard_led_state();
if (led_state.caps_lock) {
- noah_leds[0] = led[0];
+ noah_leds[0] = ledarray[0];
}
if (led_state.scroll_lock) {
- noah_leds[1] = led[1];
+ noah_leds[1] = ledarray[1];
}
if (led_state.num_lock) {
- noah_leds[2] = led[2];
+ noah_leds[2] = ledarray[2];
}
for (int32_t i = 0; i < 4; i++) {
if(layer_state_is(i+1)) {
- noah_leds[i + 3] = led[i + 3];
+ noah_leds[i + 3] = ledarray[i + 3];
}
}
} else {
- memcpy(&noah_leds[0], &led[0], sizeof(noah_leds));
+ memcpy(&noah_leds[0], &ledarray[0], sizeof(noah_leds));
}
- ws2812_setleds(noah_leds, RGBLED_NUM);
+ ws2812_setleds(noah_leds, RGBLIGHT_LED_COUNT);
}
-#endif
-void matrix_scan_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_task();
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif
- matrix_scan_user();
-}
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h
deleted file mode 100755
index 7adb68d347..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define ONESHOT_TAP_TOGGLE 3
-#define TAPPING_TERM 200
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
deleted file mode 100755
index 566a2f9bee..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BL 0
-#define _FN1 2
-#define _FN2 3
-#define _WIN 1
-#define _FN3 4
-//Tap Dance Declarations
-enum
-{
- TD_DOTCOM = 0
-};
-//Tap Dance Definitions
-tap_dance_action_t tap_dance_actions[] = {
- //Tap once for Esc, twice for Caps Lock
- [TD_DOTCOM] = ACTION_TAP_DANCE_DOUBLE(KC_COMMA, KC_DOT)
- // Other declarations would go here, separated by commas, if you have them
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BL] = LAYOUT_625_space(
- LT(OSL(2), KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- GUI_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(3, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD(TD_DOTCOM), OSL(2), OSM(MOD_RSFT),
- KC_ESC, KC_LALT, KC_LCTL, KC_SPC, KC_RGUI, MO(4)),
- [_WIN] = LAYOUT_625_space(
- LT(OSL(2), KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(4, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD(TD_DOTCOM), OSL(2), OSM(MOD_RSFT),
- KC_ESC, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, RGB_TOG),
- [_FN1] = LAYOUT_625_space(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- GUI_T(KC_ESC), KC_PGUP, KC_VOLU, KC_DEL, KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_TRNS,
- KC_LSFT, KC_PGDN, KC_VOLD, BL_STEP, BL_TOGG, KC_SCLN, KC_QUOT, KC_SLSH, KC_DOT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_625_space(
- KC_PWR, KC_BRID, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, QK_BOOT,
- MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT_625_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
- MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md
deleted file mode 100644
index e09e520131..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# /u/Lbibass's 6.25u spacebar Mechmini 2.0 Layout.
-
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk
deleted file mode 100755
index cf808a2b41..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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
-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
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h
deleted file mode 100755
index 2f35530627..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define ONESHOT_TAP_TOGGLE 3
-#define TAPPING_TERM 200
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c
deleted file mode 100755
index c9d9de82c0..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BL 0
-#define _FN1 2
-#define _FN2 3
-#define _WIN 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BL] = LAYOUT_split_space(
- LT(2, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- GUI_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(3, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MO(2), KC_RSFT,
- KC_ESC, KC_LALT, KC_LCTL, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, RGB_TOG),
- [_WIN] = LAYOUT_split_space(
- LT(2, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(3, KC_ENT),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MO(2), KC_RSFT,
- KC_ESC, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LCTL, RGB_TOG),
- [_FN1] = LAYOUT_split_space(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_TRNS, KC_PGUP, KC_VOLU, KC_TRNS, KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_TRNS,
- KC_LSFT, KC_PGDN, KC_VOLD, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_SLSH, KC_DOT, KC_RSFT, KC_HOME,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_split_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
- MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_END,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-};
-
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md
deleted file mode 100644
index 34888fbb19..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# /u/Lbibass's Split Space Mechmini 2.0 Layout
-
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk
deleted file mode 100755
index 7d50540f14..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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
-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
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = no
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h
deleted file mode 100755
index 262c423cc4..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* tapdance */
-#define TAPPING_TERM 180
-
-/* space cadet stuff */
-#define LSPO_KEY KC_9
-#define RSPC_KEY KC_0
-#define DISABLE_SPACE_CADET_ROLLOVER
-
-/* leader stuff */
-#define LEADER_TIMEOUT 400
-#define LEADER_PER_KEY_TIMING 300
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
deleted file mode 100644
index 85725c8c5c..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define base 0
-#define raise 1
-#define lower 2
-
-//Tap Dance Declarations
-enum {
- TD_SEMI_QUOT = 0,
- TD_COMM_MINUS = 1,
- TD_DOT_EQUAL = 2,
- TD_SLASH_BACKSLASH = 3
-};
-
-//Tap Dance Definitions
-tap_dance_action_t tap_dance_actions[] = {
- //Tap once for ;, twice for ' -not using this currently
- [TD_SEMI_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT),
- //Tap once for , twice for -
- [TD_COMM_MINUS] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_MINUS),
- //Tap once for . twice for =
- [TD_DOT_EQUAL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EQUAL),
- //Tap once for / twice for '\'
- [TD_SLASH_BACKSLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS)
-};
-
-#define CTRL_ESC CTL_T(KC_ESC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [base] = LAYOUT_2u_space_ortho(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTRL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD(1), TD(2), TD(3), SC_RSPC,
- KC_LCTL, QK_LEAD, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_VOLD, KC_MPLY, KC_VOLU, KC_GRV),
-
- [raise] = LAYOUT_2u_space_ortho(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, _______,
- _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, _______, KC_MNXT, EE_CLR),
-
- [lower] = LAYOUT_2u_space_ortho(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_4, KC_5, KC_6, KC_KP_PLUS, _______,
- _______, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, _______, _______, KC_1, KC_2, KC_3, KC_KP_MINUS, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_0, _______, _______, _______)
-
-
-};
-
-//Leader maps
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_F)) {
- // Anything you can do in a macro.
- SEND_STRING("QMK is awesome.");
- }
- //tableflip (LEADER - TF)
- if (leader_sequence_two_keys(KC_T, KC_F)) {
- set_unicode_input_mode(UNICODE_MODE_MACOS);
- send_unicode_string("(ノಠ痊ಠ)ノ彡┻â”â”»");
- }
- //screencap (LEADER - SC)
- if (leader_sequence_two_keys(KC_S, KC_C)) {
- SEND_STRING(SS_LGUI(SS_LSFT(SS_TAP(X_4))));
- }
- //screencap (LEADER - TM)
- if (leader_sequence_two_keys(KC_T, KC_M)) {
- set_unicode_input_mode(UNICODE_MODE_MACOS);
- register_unicode(0x2122); // â„¢
- }
- /*
- if (leader_sequence_three_keys(KC_D, KC_D, KC_S)) {
- SEND_STRING("https://start.duckduckgo.com"SS_TAP(X_ENTER));
- }
- */
-}
-
-//change colors and rgb modes on layer change
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case raise:
- rgblight_mode_noeeprom(1);
- rgblight_setrgb(0xc7, 0x00, 0xf4);
- break;
- case lower:
- rgblight_mode_noeeprom(1);
- rgblight_setrgb(0x00, 0xa3, 0x0d);
- break;
- default: // for any other layers, or the default layer
- rgblight_mode_noeeprom(5);
- rgblight_setrgb(0xFF, 0xB6, 0x00);
- break;
- }
- return state;
-};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk
deleted file mode 100755
index c429a6486f..0000000000
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-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
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-UNICODE_ENABLE = yes
-LEADER_ENABLE = yes
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
deleted file mode 100644
index 909bc7f83a..0000000000
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 91
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
index bdf9e7fdf5..af68bb8457 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
@@ -4,7 +4,58 @@
"pid": "0xAEC1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "ws2812",
+ "max_brightness": 220,
+ "react_on_keyup": true,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A15"],
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
index 6bdd06aba8..d63b339468 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
@@ -1,65 +1,6 @@
#pragma once
-//rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-#define DRIVER_1_LED_TOTAL 32
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
index 60fff3c7a7..fb88cb359d 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
@@ -4,7 +4,57 @@
"pid": "0xAEC2"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A7"],
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
index 9e5fe11895..d49d16e85a 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C2_1, C3_1, C4_1}, //D102-A0-0
{0, C5_1, C6_1, C7_1}, //D108-A1-1
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
index ba93133857..84075534e7 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
@@ -20,67 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_SPI_DRIVER SPID1 // default: SPID1
#define WS2812_SPI_MOSI_PAL_MODE 5 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5
-#ifdef RGB_MATRIX_ENABLE
-//rgb matrix setting
-#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_SDA
-#define RGB_MATRIX_LED_COUNT 66
-
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_DISABLE_KEYCODES
-
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-#endif
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_SDA
+
+#define RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
index 6064967f7f..62acf349c0 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
@@ -4,7 +4,56 @@
"pid": "0xAEC3"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "is31fl3741",
+ "react_on_keyup": true,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B10", "B11", "B2", "B1", "B0", "A6", "A5", "A10", "A9", "A15", "B3", "B4", "B5", "B8", "B9"],
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
index b13f223a1c..33dd2157e4 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
@@ -17,75 +17,75 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* D9-K31-00 */
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* D46-K00-01 */
- {0, CS6_SW9, CS5_SW9, CS4_SW9}, /* D59-K01-02 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* D73-K02-03 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* D75-K03-04 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* D77-K04-05 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* D79-K05-06 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* D81-K06-07 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* D83-K07-08 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* D85-K08-09 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* D87-K09-10 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* D90-K0A-11 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* D93-K0B-12 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* D95-K0C-13 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* D98-K0D-14 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* D100-K0E-15 */
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* D94-K41-16 */
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* D92-K10-17 */
- {0, CS6_SW6, CS5_SW6, CS4_SW6}, /* D89-K11-18 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* D86-K12-19 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* D84-K13-20 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* D82-K14-21 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* D80-K15-22 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* D78-K16-23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* D76-K17-24 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* D74-K18-25 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* D72-K19-26 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* D51-K1A-27 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* D10-K1B-28 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* D101-K1C-29 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* D104-K1D-30 */
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* D108-K43-31 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* D111-K20-32 */
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* D114-K21-33 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* D117-K22-34 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* D120-K23-35 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* D123-K24-36 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* D126-K25-37 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* D129-K26-38 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* D133-K27-39 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* D142-K28-40 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* D146-K29-41 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* D160-K2A-42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* D167-K2B-43 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* D168-K2D-44 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW5_CS3, SW5_CS2, SW5_CS1}, /* D9-K31-00 */
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* D46-K00-01 */
+ {0, SW9_CS6, SW9_CS5, SW9_CS4}, /* D59-K01-02 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* D73-K02-03 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* D75-K03-04 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* D77-K04-05 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* D79-K05-06 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* D81-K06-07 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* D83-K07-08 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* D85-K08-09 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* D87-K09-10 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* D90-K0A-11 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* D93-K0B-12 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* D95-K0C-13 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* D98-K0D-14 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* D100-K0E-15 */
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* D94-K41-16 */
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* D92-K10-17 */
+ {0, SW6_CS6, SW6_CS5, SW6_CS4}, /* D89-K11-18 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* D86-K12-19 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* D84-K13-20 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* D82-K14-21 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* D80-K15-22 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* D78-K16-23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* D76-K17-24 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* D74-K18-25 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* D72-K19-26 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* D51-K1A-27 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* D10-K1B-28 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* D101-K1C-29 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* D104-K1D-30 */
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, /* D108-K43-31 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* D111-K20-32 */
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, /* D114-K21-33 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* D117-K22-34 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* D120-K23-35 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* D123-K24-36 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* D126-K25-37 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* D129-K26-38 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* D133-K27-39 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* D142-K28-40 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* D146-K29-41 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* D160-K2A-42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* D167-K2B-43 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* D168-K2D-44 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* D163-K30-45 */
- {0, CS6_SW8, CS5_SW8, CS4_SW8}, /* D147-K31-46 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* D144-K32-47 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* D137-K33-48 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* D130-K34-49 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* D127-K35-50 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* D124-K36-51 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* D121-K37-52 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* D118-K38-53 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* D115-K39-54 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* D112-K3A-55 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* D109-K3B-56 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* D105-K3D-57 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* D103-K3E-58 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* D163-K30-45 */
+ {0, SW8_CS6, SW8_CS5, SW8_CS4}, /* D147-K31-46 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* D144-K32-47 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* D137-K33-48 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* D130-K34-49 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* D127-K35-50 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* D124-K36-51 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* D121-K37-52 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* D118-K38-53 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* D115-K39-54 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* D112-K3A-55 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* D109-K3B-56 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* D105-K3D-57 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* D103-K3E-58 */
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* D163-K40-59 */
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* D147-K42-60 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* D137-K44-61 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* D127-K46-62 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* D121-K48-63 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* D115-K4A-64 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* D103-K4E-65 */
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, /* D163-K40-59 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* D147-K42-60 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* D137-K44-61 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* D127-K46-62 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* D121-K48-63 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* D115-K4A-64 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* D103-K4E-65 */
};
led_config_t g_led_config = {
diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h
index 60dc290bfb..3fd2a2a490 100644
--- a/keyboards/mechlovin/delphine/rgb_led/config.h
+++ b/keyboards/mechlovin/delphine/rgb_led/config.h
@@ -1,59 +1,3 @@
#pragma once
-//rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA
-#define RGB_MATRIX_LED_COUNT 25
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/mechlovin/delphine/rgb_led/info.json b/keyboards/mechlovin/delphine/rgb_led/info.json
index 59127ea64f..6a0b8df2cf 100644
--- a/keyboards/mechlovin/delphine/rgb_led/info.json
+++ b/keyboards/mechlovin/delphine/rgb_led/info.json
@@ -25,6 +25,55 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true
}
}
diff --git a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
index a55143f2e1..feda05a071 100644
--- a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
+++ b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
// left CA
{0, C5_2, C6_2, C7_2}, //D2-0
{0, C1_1, C3_2, C4_2}, //D20-1
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/config.h b/keyboards/mechlovin/hannah60rgb/rev1/config.h
deleted file mode 100644
index 08006aa996..0000000000
--- a/keyboards/mechlovin/hannah60rgb/rev1/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 72
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/info.json b/keyboards/mechlovin/hannah60rgb/rev1/info.json
index 3eeba2ab7e..6a3510c7df 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev1/info.json
@@ -12,7 +12,56 @@
"pin": "A15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "ws2812",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"],
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h
index 4a4f4c7556..ddcde6b290 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/config.h
+++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h
@@ -1,66 +1,7 @@
#pragma once
-//rgb matrix setting
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-#define DRIVER_1_LED_TOTAL 44
-#define DRIVER_2_LED_TOTAL 34
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
# define RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/info.json b/keyboards/mechlovin/hannah60rgb/rev2/info.json
index 84524c2331..e6be250311 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev2/info.json
@@ -29,7 +29,56 @@
"pin": "A15"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"],
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
index 2e3c8d0090..c6943cc357 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
+++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
deleted file mode 100644
index e0634d85dc..0000000000
--- a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright 2020 Team Mechlovin
- * Copyright 2021 Nazerim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_bs(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13,
- KC_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_SPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
-bool led_update_user(led_t led_state) {
-
- // Toggle CAPS_LOCK LED normally
-
-# if LED_PIN_ON_STATE == 0
- // invert the whole thing to avoid having to conditionally !led_state.x later
- led_state.raw = ~led_state.raw;
-# endif
-# ifdef LED_CAPS_LOCK_PIN
- writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
-# endif
-
- // Don't call led_update_kb
- return false;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
- uint8_t layer = get_highest_layer(state);
-
-#if defined(LED_NUM_LOCK_PIN) && defined(LED_SCROLL_LOCK_PIN)
- switch (layer) {
- case 0:
- writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
- break;
- case 1:
- writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
- break;
- case 2:
- writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
- break;
- case 3:
- writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
- break;
- }
-#endif
-
- return state;
-
-}
diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/reame.md b/keyboards/mechlovin/hex4b/keymaps/nazzer/reame.md
deleted file mode 100644
index a8a686d8bc..0000000000
--- a/keyboards/mechlovin/hex4b/keymaps/nazzer/reame.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Nazzer's Hex 4b - Layers on Scroll Lock and Num Lock LED
-
-Repurposed the Scroll Lock and Num Lock LED's as Hex 4b does not have a NUM pad and default layout does not map Scroll Lock
-- Top LED shows CAPS lock status
-- Layer indicators:
-- Layer 0: bottom LED off, middle LED off
-- Layer 1: bottom LED on , middle LED off
-- Layer 2: bottom LED off, middle LED on
-- Layer 3: bottom LED on , middle LED on
-
-## Changelog
-
-### 15/11/2021 - 0.0.1
-
-- Initial release
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
index 6e73aba5d9..29520b6a8f 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
@@ -16,63 +16,4 @@
#pragma once
-//rgb matrix setting
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#undef ENABLE_RGB_MATRIX_SPLASH
-#undef ENABLE_RGB_MATRIX_MULTISPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_SDA
-#define RGB_MATRIX_LED_COUNT 91
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/info.json b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
index 347ea1b311..27a7b441e3 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/info.json
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
@@ -9,7 +9,56 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B12", "B13", "B14", "B15", "A8", "A9", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A2", "A1", "A0"],
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
index 5649f80712..8df305bb1a 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
@@ -17,98 +17,98 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS34_SW1, CS35_SW1, CS36_SW1}, //D92-K00-0
- {0, CS37_SW1, CS38_SW1, CS39_SW1}, //D94-K01-1
- {0, CS31_SW1, CS32_SW1, CS33_SW1}, //D96-K02-2
- {0, CS28_SW1, CS29_SW1, CS30_SW1}, //D98-K03-3
- {0, CS25_SW1, CS26_SW1, CS27_SW1}, //D100-K04-4
- {0, CS22_SW1, CS23_SW1, CS24_SW1}, //D102-K05-5
- {0, CS19_SW1, CS20_SW1, CS21_SW1}, //D104-K06-6
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, //D106-K07-7
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, //D108-K08-8
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, //D110-K09-9
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, //D112-K0A-10
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, //D114-K0B-11
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, //D116-K0C-12
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, //D157-K0D-13
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, //D118-K0E-14
- {0, CS19_SW7, CS20_SW7, CS21_SW7}, //D120-K0F-15
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, //D122-K0G-16
- {0, CS34_SW2, CS35_SW2, CS36_SW2}, //D93-K10-17
- {0, CS37_SW2, CS38_SW2, CS39_SW2}, //D95-K11-18
- {0, CS31_SW2, CS32_SW2, CS33_SW2}, //D97-K12-19
- {0, CS28_SW2, CS29_SW2, CS30_SW2}, //D99-K13-20
- {0, CS25_SW2, CS26_SW2, CS27_SW2}, //D101-K14-21
- {0, CS22_SW2, CS23_SW2, CS24_SW2}, //D103-K15-22
- {0, CS19_SW2, CS20_SW2, CS21_SW2}, //D105-K16-23
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, //D107-K17-24
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, //D109-K18-25
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, //D111-K19-26
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, //D113-K1A-27
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, //D115-K1B-28
- {0, CS3_SW2, CS2_SW2, CS1_SW2}, //D117-K1C-29
- {0, CS3_SW8, CS2_SW8, CS1_SW8}, //D158-K1D-30
- {0, CS3_SW7, CS2_SW7, CS1_SW7}, //D119-K1E-31
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, //D121-K1F-32
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, //D123-K1G-33
- {0, CS34_SW3, CS35_SW3, CS36_SW3}, //D124-K20-34
- {0, CS37_SW3, CS38_SW3, CS39_SW3}, //D127-K21-35
- {0, CS31_SW3, CS32_SW3, CS33_SW3}, //D130-K22-36
- {0, CS28_SW3, CS29_SW3, CS30_SW3}, //D133-K23-37
- {0, CS25_SW3, CS26_SW3, CS27_SW3}, //D135-K24-38
- {0, CS22_SW3, CS23_SW3, CS24_SW3}, //D137-K25-39
- {0, CS19_SW3, CS20_SW3, CS21_SW3}, //D139-K26-40
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, //D142-K27-41
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, //D144-K28-42
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, //D146-K29-43
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, //D148-K2A-44
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, //D151-K2B-45
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, //D154-K2C-46
- {0, CS6_SW8, CS5_SW8, CS4_SW8}, //D159-K2D-47
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, //D180-K2E-48
- {0, CS19_SW8, CS20_SW8, CS21_SW8}, //D181-K2F-49
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, //D182-K2G-50
- {0, CS34_SW4, CS35_SW4, CS36_SW4}, //D166-K30-51
- {0, CS37_SW4, CS38_SW4, CS39_SW4}, //D167-K31-52
- {0, CS31_SW4, CS32_SW4, CS33_SW4}, //D168-K32-53
- {0, CS28_SW4, CS29_SW4, CS30_SW4}, //D169-K33-54
- {0, CS25_SW4, CS26_SW4, CS27_SW4}, //D170-K34-55
- {0, CS22_SW4, CS23_SW4, CS24_SW4}, //D171-K35-56
- {0, CS19_SW4, CS20_SW4, CS21_SW4}, //D172-K36-57
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, //D173-K37-58
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, //D174-K38-59
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, //D175-K39-60
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, //D176-K3A-61
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, //D177-K3B-62
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, //D178-K3C-63
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, //D179-K3D-64
- {0, CS34_SW5, CS35_SW5, CS36_SW5}, //D125-K40-65
- {0, CS37_SW5, CS38_SW5, CS39_SW5}, //D128-K41-66
- {0, CS31_SW5, CS32_SW5, CS33_SW5}, //D131-K42-67
- {0, CS28_SW5, CS29_SW5, CS30_SW5}, //D134-K43-68
- {0, CS25_SW5, CS26_SW5, CS27_SW5}, //D136-K44-69
- {0, CS22_SW5, CS23_SW5, CS24_SW5}, //D138-K45-70
- {0, CS19_SW5, CS20_SW5, CS21_SW5}, //D140-K46-71
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, //D143-K47-72
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, //D145-K48-73
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, //D147-K49-74
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, //D149-K4A-75
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, //D152-K4B-76
- {0, CS3_SW5, CS2_SW5, CS1_SW5}, //D155-K4C-77
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, //D160-K4D-78
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, //D163-K4E-79
- {0, CS34_SW6, CS35_SW6, CS36_SW6}, //D126-K20-80
- {0, CS37_SW6, CS38_SW6, CS39_SW6}, //D129-K21-81
- {0, CS31_SW6, CS32_SW6, CS33_SW6}, //D132-K22-82
- {0, CS19_SW6, CS20_SW6, CS21_SW6}, //D141-K26-83
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, //D150-K2A-84
- {0, CS6_SW6, CS5_SW6, CS4_SW6}, //D153-K2B-85
- {0, CS3_SW6, CS2_SW6, CS1_SW6}, //D156-K2C-86
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, //D161-K2D-87
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, //D162-K2E-88
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, //D164-K2F-89
- {0, CS19_SW9, CS20_SW9, CS21_SW9}, //D165-K2G-90
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS34, SW1_CS35, SW1_CS36}, //D92-K00-0
+ {0, SW1_CS37, SW1_CS38, SW1_CS39}, //D94-K01-1
+ {0, SW1_CS31, SW1_CS32, SW1_CS33}, //D96-K02-2
+ {0, SW1_CS28, SW1_CS29, SW1_CS30}, //D98-K03-3
+ {0, SW1_CS25, SW1_CS26, SW1_CS27}, //D100-K04-4
+ {0, SW1_CS22, SW1_CS23, SW1_CS24}, //D102-K05-5
+ {0, SW1_CS19, SW1_CS20, SW1_CS21}, //D104-K06-6
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, //D106-K07-7
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, //D108-K08-8
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, //D110-K09-9
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, //D112-K0A-10
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, //D114-K0B-11
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, //D116-K0C-12
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, //D157-K0D-13
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, //D118-K0E-14
+ {0, SW7_CS19, SW7_CS20, SW7_CS21}, //D120-K0F-15
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, //D122-K0G-16
+ {0, SW2_CS34, SW2_CS35, SW2_CS36}, //D93-K10-17
+ {0, SW2_CS37, SW2_CS38, SW2_CS39}, //D95-K11-18
+ {0, SW2_CS31, SW2_CS32, SW2_CS33}, //D97-K12-19
+ {0, SW2_CS28, SW2_CS29, SW2_CS30}, //D99-K13-20
+ {0, SW2_CS25, SW2_CS26, SW2_CS27}, //D101-K14-21
+ {0, SW2_CS22, SW2_CS23, SW2_CS24}, //D103-K15-22
+ {0, SW2_CS19, SW2_CS20, SW2_CS21}, //D105-K16-23
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, //D107-K17-24
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, //D109-K18-25
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, //D111-K19-26
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, //D113-K1A-27
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, //D115-K1B-28
+ {0, SW2_CS3, SW2_CS2, SW2_CS1}, //D117-K1C-29
+ {0, SW8_CS3, SW8_CS2, SW8_CS1}, //D158-K1D-30
+ {0, SW7_CS3, SW7_CS2, SW7_CS1}, //D119-K1E-31
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, //D121-K1F-32
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, //D123-K1G-33
+ {0, SW3_CS34, SW3_CS35, SW3_CS36}, //D124-K20-34
+ {0, SW3_CS37, SW3_CS38, SW3_CS39}, //D127-K21-35
+ {0, SW3_CS31, SW3_CS32, SW3_CS33}, //D130-K22-36
+ {0, SW3_CS28, SW3_CS29, SW3_CS30}, //D133-K23-37
+ {0, SW3_CS25, SW3_CS26, SW3_CS27}, //D135-K24-38
+ {0, SW3_CS22, SW3_CS23, SW3_CS24}, //D137-K25-39
+ {0, SW3_CS19, SW3_CS20, SW3_CS21}, //D139-K26-40
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, //D142-K27-41
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, //D144-K28-42
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, //D146-K29-43
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, //D148-K2A-44
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, //D151-K2B-45
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, //D154-K2C-46
+ {0, SW8_CS6, SW8_CS5, SW8_CS4}, //D159-K2D-47
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, //D180-K2E-48
+ {0, SW8_CS19, SW8_CS20, SW8_CS21}, //D181-K2F-49
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, //D182-K2G-50
+ {0, SW4_CS34, SW4_CS35, SW4_CS36}, //D166-K30-51
+ {0, SW4_CS37, SW4_CS38, SW4_CS39}, //D167-K31-52
+ {0, SW4_CS31, SW4_CS32, SW4_CS33}, //D168-K32-53
+ {0, SW4_CS28, SW4_CS29, SW4_CS30}, //D169-K33-54
+ {0, SW4_CS25, SW4_CS26, SW4_CS27}, //D170-K34-55
+ {0, SW4_CS22, SW4_CS23, SW4_CS24}, //D171-K35-56
+ {0, SW4_CS19, SW4_CS20, SW4_CS21}, //D172-K36-57
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, //D173-K37-58
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, //D174-K38-59
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, //D175-K39-60
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, //D176-K3A-61
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, //D177-K3B-62
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, //D178-K3C-63
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, //D179-K3D-64
+ {0, SW5_CS34, SW5_CS35, SW5_CS36}, //D125-K40-65
+ {0, SW5_CS37, SW5_CS38, SW5_CS39}, //D128-K41-66
+ {0, SW5_CS31, SW5_CS32, SW5_CS33}, //D131-K42-67
+ {0, SW5_CS28, SW5_CS29, SW5_CS30}, //D134-K43-68
+ {0, SW5_CS25, SW5_CS26, SW5_CS27}, //D136-K44-69
+ {0, SW5_CS22, SW5_CS23, SW5_CS24}, //D138-K45-70
+ {0, SW5_CS19, SW5_CS20, SW5_CS21}, //D140-K46-71
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, //D143-K47-72
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, //D145-K48-73
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, //D147-K49-74
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, //D149-K4A-75
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, //D152-K4B-76
+ {0, SW5_CS3, SW5_CS2, SW5_CS1}, //D155-K4C-77
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, //D160-K4D-78
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, //D163-K4E-79
+ {0, SW6_CS34, SW6_CS35, SW6_CS36}, //D126-K20-80
+ {0, SW6_CS37, SW6_CS38, SW6_CS39}, //D129-K21-81
+ {0, SW6_CS31, SW6_CS32, SW6_CS33}, //D132-K22-82
+ {0, SW6_CS19, SW6_CS20, SW6_CS21}, //D141-K26-83
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, //D150-K2A-84
+ {0, SW6_CS6, SW6_CS5, SW6_CS4}, //D153-K2B-85
+ {0, SW6_CS3, SW6_CS2, SW6_CS1}, //D156-K2C-86
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, //D161-K2D-87
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, //D162-K2E-88
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, //D164-K2F-89
+ {0, SW9_CS19, SW9_CS20, SW9_CS21}, //D165-K2G-90
};
led_config_t g_led_config = { {
diff --git a/keyboards/mechlovin/infinity875/config.h b/keyboards/mechlovin/infinity875/config.h
index eee31e69ef..8e7f778004 100644
--- a/keyboards/mechlovin/infinity875/config.h
+++ b/keyboards/mechlovin/infinity875/config.h
@@ -37,10 +37,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 42
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#endif
diff --git a/keyboards/mechlovin/infinity875/info.json b/keyboards/mechlovin/infinity875/info.json
index bb249cf39b..cb8154a713 100644
--- a/keyboards/mechlovin/infinity875/info.json
+++ b/keyboards/mechlovin/infinity875/info.json
@@ -9,7 +9,9 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"indicators": {
"caps_lock": "D6",
diff --git a/keyboards/mechlovin/olly/jf/config.h b/keyboards/mechlovin/olly/jf/config.h
deleted file mode 100644
index 35480dc83c..0000000000
--- a/keyboards/mechlovin/olly/jf/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2021 mechlovin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#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 { D5, D6, A5, A4, A3, A6}
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/olly/jf/info.json b/keyboards/mechlovin/olly/jf/info.json
index cb0ab92fb4..b67551a111 100644
--- a/keyboards/mechlovin/olly/jf/info.json
+++ b/keyboards/mechlovin/olly/jf/info.json
@@ -1,686 +1,37 @@
{
- "keyboard_name": "Olly JF",
"manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
- "vid": "0x4D4C",
- "pid": "0xD180",
- "device_version": "0.0.1"
+ "vid": "0x4D4C"
},
- "backlight": {
- "pin": "D4",
- "breathing": true
- },
- "indicators": {
- "caps_lock": "B0",
- "num_lock": "B1",
- "scroll_lock": "B2"
+ "features": {
+ "nkro": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true
},
+ "diode_direction": "ROW2COL",
"rgblight": {
"led_count": 27,
"sleep": true,
"animations": {
+ "alternating": true,
"breathing": true,
+ "christmas": true,
+ "knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
+ "rgb_test": true,
"snake": true,
- "knight": true,
- "christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
}
},
- "ws2812": {
- "pin": "B3"
- },
"bootmagic": {
"matrix": [1, 14]
- },
- "processor": "atmega32a",
- "bootloader": "usbasploader",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
-
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
-
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
-
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
-
- {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
-
- {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
- {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
-
- {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
- {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
-
- {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
-
- {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
- {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
- {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
- {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
-
- {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
- {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
- {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
-
- {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
- {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
- {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
- {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
-
- {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
-
- {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
- {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
- {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
- {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
-
- {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
- {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
- {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
-
- {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
-
- {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
- {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
- {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
- {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
-
- {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
- {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
- {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
- {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
- {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
-
- {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
- {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
- {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
-
- {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
- {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
- {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
-
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
-
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
-
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
-
- {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
-
- {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
- {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
-
- {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
- {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
-
- {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
- {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
- {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
- {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
-
- {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
- {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
- {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
-
- {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
- {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
- {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
- {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
-
- {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
- {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
- {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
- {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
- {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
-
- {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
-
- {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
-
- {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
- {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
- {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
- {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
-
- {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
- {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
- {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
- {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
- {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
-
- {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
- {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
- {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
-
- {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
- {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
- {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
- ]
- },
- "LAYOUT_ansi_split_bs_rshift": {
- "layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
-
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
-
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
-
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
-
- {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
-
- {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
- {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
-
- {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
- {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
-
- {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
-
- {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
- {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
- {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
- {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
-
- {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
- {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
-
- {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
-
- {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
- {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
- {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
- {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
-
- {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
-
- {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
- {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
- {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
- {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
-
- {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
- {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
-
- {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
-
- {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
- {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
- {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
- {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
-
- {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
- {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
- {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
- {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
- {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
-
- {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
- {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
- {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
-
- {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
- {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
- {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
- ]
- },
- "LAYOUT_iso": {
- "layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
-
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
-
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
-
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
-
- {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
-
- {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
- {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
-
- {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
-
- {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
-
- {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
- {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
- {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
- {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
-
- {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
-
- {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
-
- {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
- {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
- {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
- {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
-
- {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
-
- {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
- {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
- {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
- {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
-
- {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
- {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
-
- {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
-
- {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
- {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
- {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
- {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
-
- {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
- {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
- {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
- {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
- {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
-
- {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
- {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
- {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
-
- {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
- {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
- {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
- ]
- },
- "LAYOUT_iso_split_bs_rshift": {
- "layout": [
- {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
-
- {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
- {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
- {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
- {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
-
- {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
-
- {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
- {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
- {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
-
- {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
-
- {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
- {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
-
- {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
- {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
-
- {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
-
- {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
- {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
- {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
- {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
-
- {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
- {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
-
- {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
-
- {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
- {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
- {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
- {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
-
- {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
- {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
- {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
- {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
-
- {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
- {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
- {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
- {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
-
- {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
- {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
- {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
- {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
- {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
-
- {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
-
- {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
- {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
- {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
- {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
-
- {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
- {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
- {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
- {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
- {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
- {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
- {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
-
- {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
- {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
- {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
-
- {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
- {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
- {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
- ]
- }
}
}
diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/readme.md b/keyboards/mechlovin/olly/jf/keymaps/via/readme.md
deleted file mode 100644
index 0453b5aef0..0000000000
--- a/keyboards/mechlovin/olly/jf/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The VIA keymap for Olly JF \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/rules.mk b/keyboards/mechlovin/olly/jf/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc..0000000000
--- a/keyboards/mechlovin/olly/jf/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/mechlovin/olly/jf/matrix_diagram.md b/keyboards/mechlovin/olly/jf/matrix_diagram.md
deleted file mode 100644
index 6cc49f8b93..0000000000
--- a/keyboards/mechlovin/olly/jf/matrix_diagram.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Matrix Diagram for Mechlovin.Studio Olly JF
-
-```
-┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───â”┌───â”┌───┬───┬───┬───â”
-│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C ││0E ││0F │0G │0H │0I │
-└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┘└───┴───┴───┴───┘
-┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───â”┌───┬───┬───┬───┠┌───────â”
-│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │0D ││1E ││1F │1G │1H │1I │ │1D │ 2u Backspace
-├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤├───┼───┼───┼───┤ └─┬─────┤ ┌───â”
-│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E ││2F │2G │2H │2I │ │ │ │ │
-├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘├───┼───┼───┼───┤ ┌──┴â”3D │ │3I │ 2u Numpad Plus
-│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3F │3G │3H │3I │ │3C │ │ │ │
-├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ├───┼───┼───┼───┤ └───┴────┘ ├───┤
-│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │┌───â”│4F │4G │4H │4I │ ISO Enter │ │
-├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┼───┴┬──┴─┬────┼───┘│4E │└───┼───┼───┼───┤ │5I │ 2u Numpad Enter
-│50 │51 │53 │56 │5A │5B │5C │┌───┼───┼───â”│5G │5H │5I │ │ │
-└─────┴───┴─────┴────────────────────────┴────┴────┴────┘│5D │5E │5F │└───┴───┴───┘ └───┘
- └───┴───┴───┘
-┌────────┠┌──────────┠┌───────â”
-│40 │ 2.25u LShift 2.75u RShift │4C │ │5G │ 2u Numpad Zero
-└────────┘ └──────────┘ └───────┘
-┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
-│50 │51 │53 │56 │5A │5B │5C │
-└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
-┌────┬────┬────┬────────────────────────┬─────┬───┬─────â”
-│50 │51 │53 │56 │5A │5B │5C │
-└────┴────┴────┴────────────────────────┴─────┴───┴─────┘
-┌────┬────┬────┬────────────────────────┬─────┬────┬────â”
-│50 │51 │53 │56 │5A │5B │5C │
-└────┴────┴────┴────────────────────────┴─────┴────┴────┘
-┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
-│50 │51 │53 │56 │5A │5B │5C │
-└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
-┌─────┬───┬─────┬──────────────────────────┬─────┬──────â”
-│50 │51 │53 │56 │5B │5C │ RWKL
-└─────┴───┴─────┴──────────────────────────┴─────┴──────┘
-```
diff --git a/keyboards/mechlovin/olly/jf/readme.md b/keyboards/mechlovin/olly/jf/readme.md
index fe9cf38cad..c40a8dfd5e 100644
--- a/keyboards/mechlovin/olly/jf/readme.md
+++ b/keyboards/mechlovin/olly/jf/readme.md
@@ -18,7 +18,11 @@ Flashing example for this keyboard:
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-**Reset Key:** 3 ways to put the Olly JF into bootloader:
-By keycode: Press the key mapped to `QK_BOOT` if it is available.
-By Bootloader: hold ESC key while plugging in (jump to bootloader)
-By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file
+## Bootloader
+
+Enter the bootloader in 4 ways:
+
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
+* **Bootloader reset**: hold ESC (0,0) key while plugging in (jump to bootloader)
+* **Bootmagic reset**: hold Insert (1,14) key while pluging in (jump to bootloader and reset EEPROM)
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/rev1/info.json b/keyboards/mechlovin/olly/jf/rev1/info.json
new file mode 100644
index 0000000000..0b6aec094f
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev1/info.json
@@ -0,0 +1,675 @@
+{
+ "keyboard_name": "Olly JF Rev1",
+ "usb": {
+ "pid": "0xD180",
+ "device_version": "0.0.1"
+ },
+ "features": {
+ "backlight": true
+ },
+ "matrix_pins": {
+ "cols": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null],
+ "rows": ["D5", "D6", "A5", "A4", "A3", "A6"],
+ "custom_lite": true
+ },
+ "matrix_size": {
+ "cols": 19,
+ "rows": 6
+ },
+ "backlight": {
+ "pin": "D4",
+ "breathing": true
+ },
+ "indicators": {
+ "caps_lock": "B0",
+ "num_lock": "B1",
+ "scroll_lock": "B2"
+ },
+ "ws2812": {
+ "pin": "B3"
+ },
+ "processor": "atmega32a",
+ "bootloader": "usbasploader",
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
+
+ {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
+
+ {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
+
+ {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
+ {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
+ {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
+ {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
+
+ {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
+ {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
+ {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
+ {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
+ {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
+ {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
+ {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
+
+ {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
+ {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
+ {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
+ {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
+ {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
+
+ {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
+ {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
+ {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
+
+ {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
+
+ {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
+
+ {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
+ {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
+ {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
+ {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
+
+ {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
+ {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
+ {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
+ {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
+ {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
+ {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
+ {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
+
+ {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
+ {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
+ {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
+ {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
+ {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
+
+ {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
+ {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
+ {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
+
+ {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
+
+ {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
+
+ {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
+ {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
+ {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
+ {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
+
+ {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
+ {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
+ {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
+ {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
+ {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
+ {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
+ {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
+
+ {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
+ {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
+ {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
+ {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
+ {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
+
+ {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
+ {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
+ {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
+
+ {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
+
+ {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
+
+ {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
+ {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
+ {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
+ {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
+
+ {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
+ {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
+ {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
+ {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
+ {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
+ {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
+ {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
+
+ {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
+ {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
+ {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
+ {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
+ {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
+
+ {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
+ {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
+ {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_iso_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 12, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 13, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 14, "y": 0},
+
+ {"label": "F13", "matrix": [0, 14], "x": 15.25, "y": 0},
+
+ {"label": "Insert", "matrix": [0, 15], "x": 16.5, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 17.5, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 18.5, "y": 0},
+ {"label": "Print Screen", "matrix": [0, 18], "x": 19.5, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Delete", "matrix": [0, 13], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25},
+
+ {"label": "Num Lock", "matrix": [1, 15], "x": 16.5, "y": 1.25},
+ {"label": "/", "matrix": [1, 16], "x": 17.5, "y": 1.25},
+ {"label": "*", "matrix": [1, 17], "x": 18.5, "y": 1.25},
+ {"label": "Pause", "matrix": [1, 18], "x": 19.5, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25},
+
+ {"label": "7", "matrix": [2, 15], "x": 16.5, "y": 2.25},
+ {"label": "8", "matrix": [2, 16], "x": 17.5, "y": 2.25},
+ {"label": "9", "matrix": [2, 17], "x": 18.5, "y": 2.25},
+ {"label": "-", "matrix": [2, 18], "x": 19.5, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "4", "matrix": [3, 15], "x": 16.5, "y": 3.25},
+ {"label": "5", "matrix": [3, 16], "x": 17.5, "y": 3.25},
+ {"label": "6", "matrix": [3, 17], "x": 18.5, "y": 3.25},
+ {"label": "+", "matrix": [3, 18], "x": 19.5, "y": 3.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Shift", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 14], "x": 15.25, "y": 4.5},
+
+ {"label": "1", "matrix": [4, 15], "x": 16.5, "y": 4.25},
+ {"label": "2", "matrix": [4, 16], "x": 17.5, "y": 4.25},
+ {"label": "3", "matrix": [4, 17], "x": 18.5, "y": 4.25},
+ {"label": "Enter", "matrix": [4, 18], "x": 19.5, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 10], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 12.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 13], "x": 14.25, "y": 5.5},
+ {"label": "\u2193", "matrix": [5, 14], "x": 15.25, "y": 5.5},
+ {"label": "\u2192", "matrix": [5, 15], "x": 16.25, "y": 5.5},
+
+ {"label": "0", "matrix": [5, 16], "x": 17.5, "y": 5.25},
+ {"label": ".", "matrix": [5, 17], "x": 18.5, "y": 5.25},
+ {"label": "Enter", "matrix": [5, 18], "x": 19.5, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c
index 6209811cf2..6209811cf2 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default/readme.md b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/readme.md
index 0dad971bdc..0dad971bdc 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default/readme.md
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/readme.md
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default_ansi/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi/keymap.c
index f646d8aa81..f646d8aa81 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default_ansi/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi/keymap.c
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default_ansi_split_bs_rshift/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi_split_bs_rshift/keymap.c
index 3807ab0f14..3807ab0f14 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default_ansi_split_bs_rshift/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_ansi_split_bs_rshift/keymap.c
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default_iso/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso/keymap.c
index c97f1dbd80..c97f1dbd80 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default_iso/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso/keymap.c
diff --git a/keyboards/mechlovin/olly/jf/keymaps/default_iso_split_bs_rshift/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso_split_bs_rshift/keymap.c
index f72820394b..f72820394b 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/default_iso_split_bs_rshift/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default_iso_split_bs_rshift/keymap.c
diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/config.h b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/config.h
index 01d7e4bc38..01d7e4bc38 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/via/config.h
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/config.h
diff --git a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/keymap.c
index 15f626d7ab..15f626d7ab 100644
--- a/keyboards/mechlovin/olly/jf/keymaps/via/keymap.c
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/keymap.c
diff --git a/keyboards/kira80/keymaps/via/rules.mk b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/kira80/keymaps/via/rules.mk
+++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/via/rules.mk
diff --git a/keyboards/mechlovin/olly/jf/matrix.c b/keyboards/mechlovin/olly/jf/rev1/matrix.c
index c01879c9a5..c01879c9a5 100644
--- a/keyboards/mechlovin/olly/jf/matrix.c
+++ b/keyboards/mechlovin/olly/jf/rev1/matrix.c
diff --git a/keyboards/mechlovin/olly/jf/rev1/matrix_diagram.md b/keyboards/mechlovin/olly/jf/rev1/matrix_diagram.md
new file mode 100644
index 0000000000..63e5476501
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev1/matrix_diagram.md
@@ -0,0 +1,37 @@
+# Matrix Diagram for Mechlovin.Studio Olly JF Rev. 1
+
+```
+┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───â”┌───â”┌───┬───┬───┬───â”
+│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C ││0E ││0F │0G │0H │0I │
+└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┘└───┴───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───â”┌───┬───┬───┬───┠┌───────â”
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │0D ││1E ││1F │1G │1H │1I │ │1D │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤├───┼───┼───┼───┤ └─┬─────┤ ┌───â”
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E ││2F │2G │2H │2I │ │ │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘├───┼───┼───┼───┤ ┌──┴â”3D │ │3I │ 2u Numpad Plus
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3F │3G │3H │3I │ │3C │ │ │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ├───┼───┼───┼───┤ └───┴────┘ ├───┤
+│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │┌───â”│4F │4G │4H │4I │ ISO Enter │ │
+├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┼───┴┬──┴─┬────┼───┘│4E │└───┼───┼───┼───┤ │5I │ 2u Numpad Enter
+│50 │51 │53 │56 │5A │5B │5C │┌───┼───┼───â”│5G │5H │5I │ │ │
+└─────┴───┴─────┴────────────────────────┴────┴────┴────┘│5D │5E │5F │└───┴───┴───┘ └───┘
+ └───┴───┴───┘
+┌────────┠┌──────────┠┌───────â”
+│40 │ 2.25u LShift 2.75u RShift │4C │ │5G │ 2u Numpad Zero
+└────────┘ └──────────┘ └───────┘
+┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
+┌────┬────┬────┬────────────────────────┬─────┬───┬─────â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴───┴─────┘
+┌────┬────┬────┬────────────────────────┬─────┬────┬────â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴────┴────┘
+┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
+┌─────┬───┬─────┬──────────────────────────┬─────┬──────â”
+│50 │51 │53 │56 │5B │5C │ RWKL
+└─────┴───┴─────┴──────────────────────────┴─────┴──────┘
+```
diff --git a/keyboards/mechlovin/olly/jf/rev1/readme.md b/keyboards/mechlovin/olly/jf/rev1/readme.md
new file mode 100644
index 0000000000..f6c114fee6
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev1/readme.md
@@ -0,0 +1,27 @@
+# Mechlovin Olly JF Rev. 1
+
+![jf](https://i.imgur.com/IrfTGE7h.png)
+
+Olly JF PCB, compatible Duck Jetfire keyboard.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://mechlovin.studio/)
+* Hardware Supported: Jetfire Korean Kustom
+* Hardware Availability: [Mechlovin' Studio](https://mechlovin.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/olly/jf/rev1:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/olly/jf/rev1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+By keycode: Press the key mapped to `QK_BOOT` if it is available.
+By Bootloader: hold ESC key while plugging in (jump to bootloader)
+By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/jf.c b/keyboards/mechlovin/olly/jf/rev1/rev1.c
index 3d18d7bb5a..3d18d7bb5a 100644
--- a/keyboards/mechlovin/olly/jf/jf.c
+++ b/keyboards/mechlovin/olly/jf/rev1/rev1.c
diff --git a/keyboards/mechlovin/olly/jf/rev1/rules.mk b/keyboards/mechlovin/olly/jf/rev1/rules.mk
new file mode 100644
index 0000000000..4442aba67d
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev1/rules.mk
@@ -0,0 +1,4 @@
+# Processor frequency
+F_CPU = 16000000
+
+SRC += matrix.c
diff --git a/keyboards/mechlovin/olly/jf/rev2/config.h b/keyboards/mechlovin/olly/jf/rev2/config.h
new file mode 100644
index 0000000000..9f70d27fba
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/config.h
@@ -0,0 +1,28 @@
+/*
+Copyright 2023 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA
+
+#define I2C_DRIVER I2CD2
+#define I2C1_SCL_PIN B10
+#define I2C1_SDA_PIN B11
+#define LED_MATRIX_LED_COUNT 114
+
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
diff --git a/keyboards/mechlovin/olly/jf/rev2/halconf.h b/keyboards/mechlovin/olly/jf/rev2/halconf.h
new file mode 100644
index 0000000000..090c0b3d3b
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/halconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2023 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#define HAL_USE_SPI TRUE
+
+
+#include_next <halconf.h>
+
diff --git a/keyboards/mechlovin/olly/jf/rev2/info.json b/keyboards/mechlovin/olly/jf/rev2/info.json
new file mode 100644
index 0000000000..600bf8a3af
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/info.json
@@ -0,0 +1,707 @@
+{
+ "keyboard_name": "Olly JF Rev2",
+ "bootloader": "stm32duino",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "command": true,
+ "console": true,
+ "led_matrix": true,
+ "nkro": true
+ },
+ "led_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "breathing": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_up_down": true,
+ "dual_beacon": true,
+ "solid_multisplash": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_splash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "is31fl3731",
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 37, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 49, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 62, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 74, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 87, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 99, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 122, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 137, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 140, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 162, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 174, "y": 0, "flags": 4},
+ {"matrix": [0, 15], "x": 186, "y": 0, "flags": 4},
+ {"matrix": [0, 16], "x": 199, "y": 0, "flags": 4},
+ {"matrix": [0, 17], "x": 211, "y": 0, "flags": 4},
+ {"matrix": [0, 18], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
+ {"matrix": [1, 1], "x": 12, "y": 13, "flags": 4},
+ {"matrix": [1, 2], "x": 24, "y": 13, "flags": 4},
+ {"matrix": [1, 3], "x": 37, "y": 13, "flags": 4},
+ {"matrix": [1, 4], "x": 49, "y": 13, "flags": 4},
+ {"matrix": [1, 5], "x": 62, "y": 13, "flags": 4},
+ {"matrix": [1, 6], "x": 74, "y": 13, "flags": 4},
+ {"matrix": [1, 7], "x": 87, "y": 13, "flags": 4},
+ {"matrix": [1, 8], "x": 99, "y": 13, "flags": 4},
+ {"matrix": [1, 9], "x": 122, "y": 13, "flags": 4},
+ {"matrix": [1, 10], "x": 124, "y": 13, "flags": 4},
+ {"matrix": [1, 11], "x": 137, "y": 13, "flags": 4},
+ {"matrix": [1, 12], "x": 140, "y": 13, "flags": 4},
+ {"matrix": [1, 13], "x": 162, "y": 13, "flags": 4},
+ {"matrix": [1, 14], "x": 174, "y": 13, "flags": 4},
+ {"matrix": [1, 15], "x": 186, "y": 13, "flags": 4},
+ {"matrix": [1, 16], "x": 199, "y": 13, "flags": 4},
+ {"matrix": [1, 17], "x": 211, "y": 13, "flags": 4},
+ {"matrix": [1, 18], "x": 224, "y": 13, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
+ {"matrix": [2, 1], "x": 12, "y": 25, "flags": 4},
+ {"matrix": [2, 2], "x": 24, "y": 25, "flags": 4},
+ {"matrix": [2, 3], "x": 37, "y": 25, "flags": 4},
+ {"matrix": [2, 4], "x": 49, "y": 25, "flags": 4},
+ {"matrix": [2, 5], "x": 62, "y": 25, "flags": 4},
+ {"matrix": [2, 6], "x": 74, "y": 25, "flags": 4},
+ {"matrix": [2, 7], "x": 87, "y": 25, "flags": 4},
+ {"matrix": [2, 8], "x": 99, "y": 25, "flags": 4},
+ {"matrix": [2, 9], "x": 122, "y": 25, "flags": 4},
+ {"matrix": [2, 10], "x": 124, "y": 25, "flags": 4},
+ {"matrix": [2, 11], "x": 137, "y": 25, "flags": 4},
+ {"matrix": [2, 12], "x": 140, "y": 25, "flags": 4},
+ {"matrix": [2, 13], "x": 162, "y": 25, "flags": 4},
+ {"matrix": [2, 14], "x": 174, "y": 25, "flags": 4},
+ {"matrix": [2, 15], "x": 186, "y": 25, "flags": 4},
+ {"matrix": [2, 16], "x": 199, "y": 25, "flags": 4},
+ {"matrix": [2, 17], "x": 211, "y": 25, "flags": 4},
+ {"matrix": [2, 18], "x": 224, "y": 25, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+ {"matrix": [3, 1], "x": 12, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 24, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 37, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 49, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 62, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 74, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 87, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 99, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 122, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 124, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 137, "y": 38, "flags": 4},
+ {"matrix": [3, 12], "x": 140, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 162, "y": 38, "flags": 4},
+ {"matrix": [3, 15], "x": 186, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 199, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 211, "y": 38, "flags": 4},
+ {"matrix": [3, 18], "x": 224, "y": 38, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4},
+ {"matrix": [4, 1], "x": 12, "y": 51, "flags": 4},
+ {"matrix": [4, 2], "x": 24, "y": 51, "flags": 4},
+ {"matrix": [4, 3], "x": 37, "y": 51, "flags": 4},
+ {"matrix": [4, 4], "x": 49, "y": 51, "flags": 4},
+ {"matrix": [4, 5], "x": 62, "y": 51, "flags": 4},
+ {"matrix": [4, 6], "x": 74, "y": 51, "flags": 4},
+ {"matrix": [4, 7], "x": 87, "y": 51, "flags": 4},
+ {"matrix": [4, 8], "x": 99, "y": 51, "flags": 4},
+ {"matrix": [4, 9], "x": 122, "y": 51, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 51, "flags": 4},
+ {"matrix": [4, 11], "x": 137, "y": 51, "flags": 4},
+ {"matrix": [4, 12], "x": 140, "y": 51, "flags": 4},
+ {"matrix": [4, 13], "x": 162, "y": 51, "flags": 4},
+ {"matrix": [4, 14], "x": 174, "y": 51, "flags": 4},
+ {"matrix": [4, 15], "x": 186, "y": 51, "flags": 4},
+ {"matrix": [4, 16], "x": 199, "y": 51, "flags": 4},
+ {"matrix": [4, 17], "x": 211, "y": 51, "flags": 4},
+ {"matrix": [4, 18], "x": 224, "y": 51, "flags": 4},
+ {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [5, 1], "x": 12, "y": 64, "flags": 4},
+ {"matrix": [5, 3], "x": 37, "y": 64, "flags": 4},
+ {"matrix": [5, 6], "x": 74, "y": 64, "flags": 4},
+ {"matrix": [5, 10], "x": 124, "y": 64, "flags": 4},
+ {"matrix": [5, 11], "x": 137, "y": 64, "flags": 4},
+ {"matrix": [5, 12], "x": 140, "y": 64, "flags": 4},
+ {"matrix": [5, 13], "x": 162, "y": 64, "flags": 4},
+ {"matrix": [5, 14], "x": 174, "y": 64, "flags": 4},
+ {"matrix": [5, 15], "x": 186, "y": 64, "flags": 4},
+ {"matrix": [5, 16], "x": 199, "y": 64, "flags": 4},
+ {"matrix": [5, 17], "x": 211, "y": 64, "flags": 4},
+ {"matrix": [5, 18], "x": 224, "y": 64, "flags": 4}
+ ]
+ },
+ "matrix_pins": {
+ "cols": ["A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "A8", "A15", "B3", "B4", "C15", "C14", "C13", "B9", "B8", "B7", "B6"],
+ "rows": ["B0", "B1", "B2", "B15", "B14", "B13"]
+ },
+ "processor": "STM32F103",
+ "usb": {
+ "device_version": "0.0.2",
+ "pid": "0xD182"
+ },
+ "ws2812": {
+ "driver": "spi",
+ "pin": "B5"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.5, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.5},
+ {"matrix": [1, 1], "x": 1, "y": 1.5},
+ {"matrix": [1, 2], "x": 2, "y": 1.5},
+ {"matrix": [1, 3], "x": 3, "y": 1.5},
+ {"matrix": [1, 4], "x": 4, "y": 1.5},
+ {"matrix": [1, 5], "x": 5, "y": 1.5},
+ {"matrix": [1, 6], "x": 6, "y": 1.5},
+ {"matrix": [1, 7], "x": 7, "y": 1.5},
+ {"matrix": [1, 8], "x": 8, "y": 1.5},
+ {"matrix": [1, 9], "x": 9, "y": 1.5},
+ {"matrix": [1, 10], "x": 10, "y": 1.5},
+ {"matrix": [1, 11], "x": 11, "y": 1.5},
+ {"matrix": [1, 12], "x": 12, "y": 1.5},
+ {"matrix": [1, 13], "x": 13, "y": 1.5},
+ {"matrix": [2, 13], "x": 14, "y": 1.5},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+ {"matrix": [1, 15], "x": 16.5, "y": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1.5},
+ {"matrix": [1, 17], "x": 18.5, "y": 1.5},
+ {"matrix": [1, 18], "x": 19.5, "y": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+ {"matrix": [2, 15], "x": 16.5, "y": 2.5},
+ {"matrix": [2, 16], "x": 17.5, "y": 2.5},
+ {"matrix": [2, 17], "x": 18.5, "y": 2.5},
+ {"matrix": [2, 18], "x": 19.5, "y": 2.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25},
+ {"matrix": [3, 15], "x": 16.5, "y": 3.5},
+ {"matrix": [3, 16], "x": 17.5, "y": 3.5},
+ {"matrix": [3, 17], "x": 18.5, "y": 3.5},
+ {"matrix": [3, 18], "x": 19.5, "y": 3.5},
+ {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.5},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.5},
+ {"matrix": [4, 14], "x": 15.25, "y": 4.75},
+ {"matrix": [4, 15], "x": 16.5, "y": 4.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4.5},
+ {"matrix": [4, 17], "x": 18.5, "y": 4.5},
+ {"matrix": [4, 18], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.5},
+ {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10.25, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.75, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.75},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.75},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.75},
+ {"matrix": [5, 16], "x": 17.5, "y": 5.5},
+ {"matrix": [5, 17], "x": 18.5, "y": 5.5},
+ {"matrix": [5, 18], "x": 19.5, "y": 5.5}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.5, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.5},
+ {"matrix": [1, 1], "x": 1, "y": 1.5},
+ {"matrix": [1, 2], "x": 2, "y": 1.5},
+ {"matrix": [1, 3], "x": 3, "y": 1.5},
+ {"matrix": [1, 4], "x": 4, "y": 1.5},
+ {"matrix": [1, 5], "x": 5, "y": 1.5},
+ {"matrix": [1, 6], "x": 6, "y": 1.5},
+ {"matrix": [1, 7], "x": 7, "y": 1.5},
+ {"matrix": [1, 8], "x": 8, "y": 1.5},
+ {"matrix": [1, 9], "x": 9, "y": 1.5},
+ {"matrix": [1, 10], "x": 10, "y": 1.5},
+ {"matrix": [1, 11], "x": 11, "y": 1.5},
+ {"matrix": [1, 12], "x": 12, "y": 1.5},
+ {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+ {"matrix": [1, 15], "x": 16.5, "y": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1.5},
+ {"matrix": [1, 17], "x": 18.5, "y": 1.5},
+ {"matrix": [1, 18], "x": 19.5, "y": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+ {"matrix": [2, 15], "x": 16.5, "y": 2.5},
+ {"matrix": [2, 16], "x": 17.5, "y": 2.5},
+ {"matrix": [2, 17], "x": 18.5, "y": 2.5},
+ {"matrix": [2, 18], "x": 19.5, "y": 2.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25},
+ {"matrix": [3, 15], "x": 16.5, "y": 3.5},
+ {"matrix": [3, 16], "x": 17.5, "y": 3.5},
+ {"matrix": [3, 17], "x": 18.5, "y": 3.5},
+ {"matrix": [3, 18], "x": 19.5, "y": 3.5},
+ {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
+ {"matrix": [4, 14], "x": 15.25, "y": 4.75},
+ {"matrix": [4, 15], "x": 16.5, "y": 4.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4.5},
+ {"matrix": [4, 17], "x": 18.5, "y": 4.5},
+ {"matrix": [4, 18], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.5},
+ {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10.25, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.75, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.75},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.75},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.75},
+ {"matrix": [5, 16], "x": 17.5, "y": 5.5},
+ {"matrix": [5, 17], "x": 18.5, "y": 5.5},
+ {"matrix": [5, 18], "x": 19.5, "y": 5.5}
+ ]
+ },
+ "LAYOUT_ansi_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.5, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.5},
+ {"matrix": [1, 1], "x": 1, "y": 1.5},
+ {"matrix": [1, 2], "x": 2, "y": 1.5},
+ {"matrix": [1, 3], "x": 3, "y": 1.5},
+ {"matrix": [1, 4], "x": 4, "y": 1.5},
+ {"matrix": [1, 5], "x": 5, "y": 1.5},
+ {"matrix": [1, 6], "x": 6, "y": 1.5},
+ {"matrix": [1, 7], "x": 7, "y": 1.5},
+ {"matrix": [1, 8], "x": 8, "y": 1.5},
+ {"matrix": [1, 9], "x": 9, "y": 1.5},
+ {"matrix": [1, 10], "x": 10, "y": 1.5},
+ {"matrix": [1, 11], "x": 11, "y": 1.5},
+ {"matrix": [1, 12], "x": 12, "y": 1.5},
+ {"matrix": [1, 13], "x": 13, "y": 1.5},
+ {"matrix": [2, 13], "x": 14, "y": 1.5},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+ {"matrix": [1, 15], "x": 16.5, "y": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1.5},
+ {"matrix": [1, 17], "x": 18.5, "y": 1.5},
+ {"matrix": [1, 18], "x": 19.5, "y": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+ {"matrix": [2, 15], "x": 16.5, "y": 2.5},
+ {"matrix": [2, 16], "x": 17.5, "y": 2.5},
+ {"matrix": [2, 17], "x": 18.5, "y": 2.5},
+ {"matrix": [2, 18], "x": 19.5, "y": 2.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25},
+ {"matrix": [3, 15], "x": 16.5, "y": 3.5},
+ {"matrix": [3, 16], "x": 17.5, "y": 3.5},
+ {"matrix": [3, 17], "x": 18.5, "y": 3.5},
+ {"matrix": [3, 18], "x": 19.5, "y": 3.5},
+ {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.5},
+ {"matrix": [4, 14], "x": 15.25, "y": 4.75},
+ {"matrix": [4, 15], "x": 16.5, "y": 4.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4.5},
+ {"matrix": [4, 17], "x": 18.5, "y": 4.5},
+ {"matrix": [4, 18], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.5},
+ {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10.25, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.75, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.75},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.75},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.75},
+ {"matrix": [5, 16], "x": 17.5, "y": 5.5},
+ {"matrix": [5, 17], "x": 18.5, "y": 5.5},
+ {"matrix": [5, 18], "x": 19.5, "y": 5.5}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.5, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.5},
+ {"matrix": [1, 1], "x": 1, "y": 1.5},
+ {"matrix": [1, 2], "x": 2, "y": 1.5},
+ {"matrix": [1, 3], "x": 3, "y": 1.5},
+ {"matrix": [1, 4], "x": 4, "y": 1.5},
+ {"matrix": [1, 5], "x": 5, "y": 1.5},
+ {"matrix": [1, 6], "x": 6, "y": 1.5},
+ {"matrix": [1, 7], "x": 7, "y": 1.5},
+ {"matrix": [1, 8], "x": 8, "y": 1.5},
+ {"matrix": [1, 9], "x": 9, "y": 1.5},
+ {"matrix": [1, 10], "x": 10, "y": 1.5},
+ {"matrix": [1, 11], "x": 11, "y": 1.5},
+ {"matrix": [1, 12], "x": 12, "y": 1.5},
+ {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+ {"matrix": [1, 15], "x": 16.5, "y": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1.5},
+ {"matrix": [1, 17], "x": 18.5, "y": 1.5},
+ {"matrix": [1, 18], "x": 19.5, "y": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+ {"matrix": [2, 15], "x": 16.5, "y": 2.5},
+ {"matrix": [2, 16], "x": 17.5, "y": 2.5},
+ {"matrix": [2, 17], "x": 18.5, "y": 2.5},
+ {"matrix": [2, 18], "x": 19.5, "y": 2.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.5},
+ {"matrix": [3, 15], "x": 16.5, "y": 3.5},
+ {"matrix": [3, 16], "x": 17.5, "y": 3.5},
+ {"matrix": [3, 17], "x": 18.5, "y": 3.5},
+ {"matrix": [3, 18], "x": 19.5, "y": 3.5},
+ {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.5},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
+ {"matrix": [4, 14], "x": 15.25, "y": 4.75},
+ {"matrix": [4, 15], "x": 16.5, "y": 4.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4.5},
+ {"matrix": [4, 17], "x": 18.5, "y": 4.5},
+ {"matrix": [4, 18], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.5},
+ {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10.25, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.75, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.75},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.75},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.75},
+ {"matrix": [5, 16], "x": 17.5, "y": 5.5},
+ {"matrix": [5, 17], "x": 18.5, "y": 5.5},
+ {"matrix": [5, 18], "x": 19.5, "y": 5.5}
+ ]
+ },
+ "LAYOUT_iso_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 1.5, "y": 0},
+ {"matrix": [0, 3], "x": 2.5, "y": 0},
+ {"matrix": [0, 4], "x": 3.5, "y": 0},
+ {"matrix": [0, 5], "x": 4.5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.5, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.5},
+ {"matrix": [1, 1], "x": 1, "y": 1.5},
+ {"matrix": [1, 2], "x": 2, "y": 1.5},
+ {"matrix": [1, 3], "x": 3, "y": 1.5},
+ {"matrix": [1, 4], "x": 4, "y": 1.5},
+ {"matrix": [1, 5], "x": 5, "y": 1.5},
+ {"matrix": [1, 6], "x": 6, "y": 1.5},
+ {"matrix": [1, 7], "x": 7, "y": 1.5},
+ {"matrix": [1, 8], "x": 8, "y": 1.5},
+ {"matrix": [1, 9], "x": 9, "y": 1.5},
+ {"matrix": [1, 10], "x": 10, "y": 1.5},
+ {"matrix": [1, 11], "x": 11, "y": 1.5},
+ {"matrix": [1, 12], "x": 12, "y": 1.5},
+ {"matrix": [1, 13], "x": 13, "y": 1.5},
+ {"matrix": [2, 13], "x": 14, "y": 1.5},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+ {"matrix": [1, 15], "x": 16.5, "y": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1.5},
+ {"matrix": [1, 17], "x": 18.5, "y": 1.5},
+ {"matrix": [1, 18], "x": 19.5, "y": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+ {"matrix": [2, 15], "x": 16.5, "y": 2.5},
+ {"matrix": [2, 16], "x": 17.5, "y": 2.5},
+ {"matrix": [2, 17], "x": 18.5, "y": 2.5},
+ {"matrix": [2, 18], "x": 19.5, "y": 2.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.5},
+ {"matrix": [3, 15], "x": 16.5, "y": 3.5},
+ {"matrix": [3, 16], "x": 17.5, "y": 3.5},
+ {"matrix": [3, 17], "x": 18.5, "y": 3.5},
+ {"matrix": [3, 18], "x": 19.5, "y": 3.5},
+ {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.5},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.5},
+ {"matrix": [4, 14], "x": 15.25, "y": 4.75},
+ {"matrix": [4, 15], "x": 16.5, "y": 4.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4.5},
+ {"matrix": [4, 17], "x": 18.5, "y": 4.5},
+ {"matrix": [4, 18], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.5},
+ {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10.25, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.75, "y": 5.5, "w": 1.25},
+ {"matrix": [5, 13], "x": 14.25, "y": 5.75},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.75},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.75},
+ {"matrix": [5, 16], "x": 17.5, "y": 5.5},
+ {"matrix": [5, 17], "x": 18.5, "y": 5.5},
+ {"matrix": [5, 18], "x": 19.5, "y": 5.5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/default/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e2a5ef0d0d
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_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_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi/keymap.c
new file mode 100644
index 0000000000..2cc1518fee
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi_split_bs_rshift/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi_split_bs_rshift/keymap.c
new file mode 100644
index 0000000000..b28913c49b
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_ansi_split_bs_rshift/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi_split_bs_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso/keymap.c
new file mode 100644
index 0000000000..9a59431a64
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso_split_bs_rshift/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso_split_bs_rshift/keymap.c
new file mode 100644
index 0000000000..196b855ceb
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/default_iso_split_bs_rshift/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso_split_bs_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/mechlovin/olly/jf/rev2/keymaps/via/keymap.c b/keyboards/mechlovin/olly/jf/rev2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..477d7bac2a
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/via/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2023 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_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_HOME, KC_END, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/kmac/keymaps/via/rules.mk b/keyboards/mechlovin/olly/jf/rev2/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/kmac/keymaps/via/rules.mk
+++ b/keyboards/mechlovin/olly/jf/rev2/keymaps/via/rules.mk
diff --git a/keyboards/mechlovin/olly/jf/rev2/matrix_diagram.md b/keyboards/mechlovin/olly/jf/rev2/matrix_diagram.md
new file mode 100644
index 0000000000..776bba84f8
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/matrix_diagram.md
@@ -0,0 +1,37 @@
+# Matrix Diagram for Mechlovin.Studio Olly JF Rev. 2
+
+```
+┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───â”┌───â”┌───┬───┬───┬───â”
+│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D ││0E ││0F │0G │0H │0I │
+└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┘└───┴───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───â”┌───┬───┬───┬───┠┌───────â”
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2D ││1E ││1F │1G │1H │1I │ │1D │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤├───┼───┼───┼───┤ └─┬─────┤ ┌───â”
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │3C ││2E ││2F │2G │2H │2I │ │ │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘├───┼───┼───┼───┤ ┌──┴â”3D │ │3I │ 2u Numpad Plus
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3F │3G │3H │3I │ │3C │ │ │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ├───┼───┼───┼───┤ └───┴────┘ ├───┤
+│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │┌───â”│4F │4G │4H │4I │ ISO Enter │ │
+├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┼───┴┬──┴─┬────┼───┘│4E │└───┼───┼───┼───┤ │5I │ 2u Numpad Enter
+│50 │51 │53 │56 │5A │5B │5C │┌───┼───┼───â”│5G │5H │5I │ │ │
+└─────┴───┴─────┴────────────────────────┴────┴────┴────┘│5D │5E │5F │└───┴───┴───┘ └───┘
+ └───┴───┴───┘
+┌────────┠┌──────────┠┌───────â”
+│40 │ 2.25u LShift 2.75u RShift │4C │ │5G │ 2u Numpad Zero
+└────────┘ └──────────┘ └───────┘
+┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
+┌────┬────┬────┬────────────────────────┬─────┬───┬─────â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴───┴─────┘
+┌────┬────┬────┬────────────────────────┬─────┬────┬────â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴────┴────┘
+┌────┬────┬────┬────────────────────────┬─────┬─────┬───â”
+│50 │51 │53 │56 │5A │5B │5C │
+└────┴────┴────┴────────────────────────┴─────┴─────┴───┘
+┌─────┬───┬─────┬──────────────────────────┬─────┬──────â”
+│50 │51 │53 │56 │5B │5C │ RWKL
+└─────┴───┴─────┴──────────────────────────┴─────┴──────┘
+```
diff --git a/keyboards/mechlovin/olly/jf/rev2/mcuconf.h b/keyboards/mechlovin/olly/jf/rev2/mcuconf.h
new file mode 100644
index 0000000000..b987f486b9
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright 2023 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+#undef STM32_I2C_USE_I2C2
+#define STM32_I2C_USE_I2C2 TRUE
diff --git a/keyboards/mechlovin/olly/jf/rev2/readme.md b/keyboards/mechlovin/olly/jf/rev2/readme.md
new file mode 100644
index 0000000000..b165c35778
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/readme.md
@@ -0,0 +1,27 @@
+# Mechlovin Olly jf/rev2
+
+![jf/rev2](https://i.imgur.com/IrfTGE7h.png)
+
+Olly jf/rev2 PCB, compatible Duck Jetfire keyboard.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://mechlovin.studio/)
+* Hardware Supported: Jetfire Korean Kustom
+* Hardware Availability: [Mechlovin' Studio](https://mechlovin.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/olly/jf/rev2:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/olly/jf/rev2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+By keycode: Press the key mapped to `QK_BOOT` if it is available.
+By Bootloader: hold ESC key while plugging in (jump to bootloader)
+By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/rev2/rev2.c b/keyboards/mechlovin/olly/jf/rev2/rev2.c
new file mode 100644
index 0000000000..04cf3b836d
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/rev2.c
@@ -0,0 +1,92 @@
+/* Copyright 2023 Mechlovin'
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+void board_init(void) {
+ AFIO->MAPR |= AFIO_MAPR_SPI1_REMAP;
+}
+
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | LED address
+ * | | */
+ { 0, C1_8 }, { 0, C3_8 }, { 0, C4_8 }, { 0, C5_8 }, { 0, C6_8 }, { 0, C7_8 }, { 0, C8_8 }, { 0, C9_8 }, { 0, C1_9 }, { 0, C2_9 }, { 0, C3_9 }, { 0, C4_9 }, { 0, C5_9 }, { 0, C6_9 }, { 0, C7_9 }, { 0, C8_9 }, { 0, C9_9 }, { 0, C1_16 },
+ { 0, C1_7 }, { 0, C2_7 }, { 0, C3_7 }, { 0, C4_7 }, { 0, C5_7 }, { 0, C6_7 }, { 0, C7_7 }, { 0, C8_7 }, { 0, C9_7 }, { 0, C1_10 }, { 0, C2_10 }, { 0, C3_10 }, { 0, C4_10 }, { 0, C5_10 }, { 0, C6_10 }, { 0, C7_10 }, { 0, C8_10 }, { 0, C9_10 }, { 0, C2_16 },
+ { 0, C1_6 }, { 0, C2_6 }, { 0, C3_6 }, { 0, C4_6 }, { 0, C5_6 }, { 0, C6_6 }, { 0, C7_6 }, { 0, C8_6 }, { 0, C9_6 }, { 0, C1_11 }, { 0, C2_11 }, { 0, C3_11 }, { 0, C4_11 }, { 0, C5_11 }, { 0, C6_11 }, { 0, C7_11 }, { 0, C8_11 }, { 0, C9_11 }, { 0, C3_16 },
+ { 0, C1_5 }, { 0, C2_5 }, { 0, C3_5 }, { 0, C4_5 }, { 0, C5_5 }, { 0, C6_5 }, { 0, C7_5 }, { 0, C8_5 }, { 0, C9_5 }, { 0, C1_12 }, { 0, C2_12 }, { 0, C3_12 }, { 0, C4_12 }, { 0, C5_12 }, { 0, C7_12 }, { 0, C8_12 }, { 0, C9_12 }, { 0, C4_16 },
+ { 0, C1_4 }, { 0, C2_4 }, { 0, C3_4 }, { 0, C4_4 }, { 0, C5_4 }, { 0, C6_4 }, { 0, C7_4 }, { 0, C8_4 }, { 0, C9_4 }, { 0, C1_13 }, { 0, C2_13 }, { 0, C3_13 }, { 0, C4_13 }, { 0, C5_13 }, { 0, C6_13 }, { 0, C7_13 }, { 0, C8_13 }, { 0, C9_13 }, { 0, C5_16 },
+ { 0, C1_3 }, { 0, C2_3 }, { 0, C4_3 }, { 0, C7_3 }, { 0, C2_14 }, { 0, C3_14 }, { 0, C4_14 }, { 0, C5_14 }, { 0, C6_14 }, { 0, C7_14 }, { 0, C8_15 }, { 0, C9_15 }, { 0, C7_16 },
+ { 0, C2_1 }, { 0, C1_1 }, { 0, C9_1 }, // Lock LED Indicator
+ { 0, C7_15 }, { 0, C6_15 }, { 0, C9_16 }, { 0, C8_16 }, { 0, C1_15 }, // Layer LED Indicator
+};
+
+
+
+bool led_matrix_indicators_kb(void) {
+ if (!led_matrix_indicators_user()) { return false; }
+ if (host_keyboard_led_state().caps_lock) {
+ led_matrix_set_value(106, 0xFF);
+ led_matrix_set_value(56, 0xFF);
+ } else {
+ led_matrix_set_value(106, 0x00);
+ }
+ if (host_keyboard_led_state().num_lock) {
+ led_matrix_set_value(107, 0xFF);
+ led_matrix_set_value(33, 0xFF);
+ } else {
+ led_matrix_set_value(107, 0x00);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ led_matrix_set_value(108, 0xFF);
+ } else {
+ led_matrix_set_value(108, 0x00);
+ }
+ // if on layer 0, turn on L1 LED, otherwise off.
+ if (layer_state_is(0)) {
+ led_matrix_set_value(109, 0xFF);
+ } else {
+ led_matrix_set_value(109, 0x00);
+ }
+ // if on layer 1, turn on L2 LED, otherwise off.
+ if (layer_state_is(1)) {
+ led_matrix_set_value(110, 0xFF);
+ } else {
+ led_matrix_set_value(110, 0x00);
+ }
+
+ // if on layer 2, turn on L3 LED, otherwise off.
+ if (layer_state_is(2)) {
+ led_matrix_set_value(111, 0xFF);
+ } else {
+ led_matrix_set_value(111, 0x00);
+ }
+
+ // if on layer 3, turn on L4 LED, otherwise off.
+ if (layer_state_is(3)) {
+ led_matrix_set_value(112, 0xFF);
+ } else {
+ led_matrix_set_value(112, 0x00);
+ }
+ // if on layer 4, turn on L5 LED, otherwise off.
+ if (layer_state_is(4)) {
+ led_matrix_set_value(113, 0xFF);
+ } else {
+ led_matrix_set_value(114, 0x00);
+ }
+
+ return true;
+}
diff --git a/keyboards/mechlovin/olly/jf/rev2/rules.mk b/keyboards/mechlovin/olly/jf/rev2/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/mechlovin/olly/jf/rev2/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/mechlovin/olly/jf/rules.mk b/keyboards/mechlovin/olly/jf/rules.mk
index 1d15495eef..fa0eceeb8a 100644
--- a/keyboards/mechlovin/olly/jf/rules.mk
+++ b/keyboards/mechlovin/olly/jf/rules.mk
@@ -1,18 +1 @@
-# Processor frequency
-F_CPU = 16000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-CUSTOM_MATRIX = lite
-
-SRC += matrix.c
+DEFAULT_FOLDER = mechlovin/olly/jf/rev1
diff --git a/keyboards/mechlovin/olly/octagon/config.h b/keyboards/mechlovin/olly/octagon/config.h
index 88918506eb..6f9d5f9a02 100644
--- a/keyboards/mechlovin/olly/octagon/config.h
+++ b/keyboards/mechlovin/olly/octagon/config.h
@@ -17,37 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef LED_MATRIX_ENABLE
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA
+
+#define LED_MATRIX_LED_COUNT 94
+
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11
-#define LED_MATRIX_LED_COUNT 94
-#define LED_MATRIX_KEYPRESSES // reacts to keypresses
-#define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
-#define ENABLE_LED_MATRIX_ALPHAS_MODS
-#define ENABLE_LED_MATRIX_BREATHING
-#define ENABLE_LED_MATRIX_BAND
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL
-#define ENABLE_LED_MATRIX_BAND_SPIRAL
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
-#define ENABLE_LED_MATRIX_DUAL_BEACON
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_WAVE_UP_DOWN
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_LED_MATRIX_SOLID_SPLASH
-#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH
-
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-
-#endif
diff --git a/keyboards/mechlovin/olly/octagon/info.json b/keyboards/mechlovin/olly/octagon/info.json
index 3621f491d8..3ef290d351 100644
--- a/keyboards/mechlovin/olly/octagon/info.json
+++ b/keyboards/mechlovin/olly/octagon/info.json
@@ -29,7 +29,30 @@
"pin": "A7"
},
"led_matrix": {
- "driver": "is31fl3731"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"],
diff --git a/keyboards/mechlovin/olly/octagon/octagon.c b/keyboards/mechlovin/olly/octagon/octagon.c
index b5eb828bc8..185ee32a3e 100644
--- a/keyboards/mechlovin/olly/octagon/octagon.c
+++ b/keyboards/mechlovin/olly/octagon/octagon.c
@@ -16,7 +16,7 @@
#include "quantum.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
diff --git a/keyboards/mechlovin/zed1800/config.h b/keyboards/mechlovin/zed1800/config.h
deleted file mode 100644
index 9bfc776bcb..0000000000
--- a/keyboards/mechlovin/zed1800/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2022 Mechlovin'
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define WEAR_LEVELING_BACKING_SIZE 4096
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
diff --git a/keyboards/mechlovin/zed1800/info.json b/keyboards/mechlovin/zed1800/info.json
index a3d862fa8c..41179a6ef1 100644
--- a/keyboards/mechlovin/zed1800/info.json
+++ b/keyboards/mechlovin/zed1800/info.json
@@ -12,6 +12,11 @@
},
"processor": "STM32F103",
"bootloader": "stm32duino",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"bootmagic": true,
"command": true,
diff --git a/keyboards/mechlovin/zed65/mono_led/config.h b/keyboards/mechlovin/zed65/mono_led/config.h
index 811841d7fe..e31259438a 100644
--- a/keyboards/mechlovin/zed65/mono_led/config.h
+++ b/keyboards/mechlovin/zed65/mono_led/config.h
@@ -17,38 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef LED_MATRIX_ENABLE
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA
+
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11
-#define LED_MATRIX_LED_COUNT 70
-#define LED_MATRIX_KEYPRESSES // reacts to keypresses
-#define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
-#define ENABLE_LED_MATRIX_ALPHAS_MODS
-#define ENABLE_LED_MATRIX_BREATHING
-#define ENABLE_LED_MATRIX_BAND
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL
-#define ENABLE_LED_MATRIX_BAND_SPIRAL
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
-#define ENABLE_LED_MATRIX_DUAL_BEACON
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
-#define ENABLE_LED_MATRIX_WAVE_UP_DOWN
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_LED_MATRIX_SOLID_SPLASH
-#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH
-
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-
-#define VIA_QMK_LED_MATRIX_ENABLE
-#endif
diff --git a/keyboards/mechlovin/zed65/mono_led/info.json b/keyboards/mechlovin/zed65/mono_led/info.json
index 228d2c50d5..aa46b1bd8b 100644
--- a/keyboards/mechlovin/zed65/mono_led/info.json
+++ b/keyboards/mechlovin/zed65/mono_led/info.json
@@ -30,7 +30,30 @@
"pin": "A7"
},
"led_matrix": {
- "driver": "is31fl3731"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "is31fl3731",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"],
diff --git a/keyboards/mechlovin/zed65/mono_led/mono_led.c b/keyboards/mechlovin/zed65/mono_led/mono_led.c
index f66c4b1359..d8570fa0a6 100644
--- a/keyboards/mechlovin/zed65/mono_led/mono_led.c
+++ b/keyboards/mechlovin/zed65/mono_led/mono_led.c
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
diff --git a/keyboards/mechlovin/zed65/no_backlight/cor65/info.json b/keyboards/mechlovin/zed65/no_backlight/cor65/info.json
index b7d873dcb0..4b3ed831c5 100644
--- a/keyboards/mechlovin/zed65/no_backlight/cor65/info.json
+++ b/keyboards/mechlovin/zed65/no_backlight/cor65/info.json
@@ -1,24 +1,24 @@
{
- "keyboard_name": "Cor65",
"manufacturer": "Mechlovin Studio",
- "url": "",
+ "keyboard_name": "Cor65",
"maintainer": "Mechlovin' Studio",
- "usb": {
- "vid": "0x4D4C",
- "pid": "0x6504",
- "device_version": "0.0.1"
+ "diode_direction": "COL2ROW",
+ "indicators": {
+ "caps_lock": "B9",
+ "on_state": 0
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A6", "A5", "A4", "A3", "A2", "C13", "B7", "B6", "B5", "B4", "B3"],
"rows": ["B12", "B13", "B14", "B15", "A1"]
},
- "diode_direction": "COL2ROW",
- "indicators": {
- "caps_lock": "B9",
- "on_state": 0
+ "url": "",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6504",
+ "vid": "0x4D4C"
},
"layouts": {
- "LAYOUT_all": {
+ "LAYOUT_65_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.25, "y": 0},
@@ -34,10 +34,8 @@
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
- {"matrix": [0, 14], "x": 14.25, "y": 0},
- {"matrix": [2, 13], "x": 15.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 16.75, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 2.75, "y": 1},
@@ -54,7 +52,6 @@
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 16.75, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3, "y": 2},
@@ -70,7 +67,6 @@
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 16.75, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
{"matrix": [3, 3], "x": 3.5, "y": 3},
@@ -84,10 +80,8 @@
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
- {"matrix": [3, 14], "x": 16.75, "y": 3},
-
- {"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
+ {"matrix": [3, 15], "x": 16.75, "y": 3},
+ {"matrix": [3, 14], "x": 15.5, "y": 3.25},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
@@ -95,13 +89,12 @@
{"matrix": [4, 7], "x": 5, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
-
{"matrix": [4, 13], "x": 14.5, "y": 4.25},
{"matrix": [4, 14], "x": 15.5, "y": 4.25},
{"matrix": [4, 15], "x": 16.5, "y": 4.25}
]
},
- "LAYOUT_65_ansi": {
+ "LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.25, "y": 0},
@@ -117,9 +110,9 @@
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
- {"matrix": [0, 14], "x": 14.25, "y": 0, "w": 2},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [2, 13], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.75, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 2.75, "y": 1},
@@ -136,7 +129,6 @@
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 16.75, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3, "y": 2},
@@ -152,7 +144,6 @@
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 16.75, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
{"matrix": [3, 3], "x": 3.5, "y": 3},
@@ -166,10 +157,8 @@
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
- {"matrix": [3, 14], "x": 16.75, "y": 3},
-
- {"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
+ {"matrix": [3, 15], "x": 16.75, "y": 3},
+ {"matrix": [3, 14], "x": 15.5, "y": 3.25},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
@@ -177,7 +166,6 @@
{"matrix": [4, 7], "x": 5, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
-
{"matrix": [4, 13], "x": 14.5, "y": 4.25},
{"matrix": [4, 14], "x": 15.5, "y": 4.25},
{"matrix": [4, 15], "x": 16.5, "y": 4.25}
@@ -201,7 +189,6 @@
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 16.75, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 2.75, "y": 1},
@@ -218,7 +205,6 @@
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 16.75, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3, "y": 2},
@@ -234,7 +220,6 @@
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 16.75, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
{"matrix": [3, 3], "x": 3.5, "y": 3},
@@ -248,20 +233,17 @@
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
- {"matrix": [3, 14], "x": 16.75, "y": 3},
-
- {"matrix": [3, 15], "x": 15.5, "y": 3.25},
-
+ {"matrix": [3, 15], "x": 16.75, "y": 3},
+ {"matrix": [3, 14], "x": 15.5, "y": 3.25},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
{"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 5.25, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5},
-
{"matrix": [4, 13], "x": 14.5, "y": 4.25},
{"matrix": [4, 14], "x": 15.5, "y": 4.25},
{"matrix": [4, 15], "x": 16.5, "y": 4.25}
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/mechwild/mercutio/keymaps/default/config.h b/keyboards/mechwild/mercutio/keymaps/default/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/config.h b/keyboards/mechwild/mercutio/keymaps/fancy/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fancy/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
deleted file mode 100644
index f29c91f9e0..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2022 Fearless Spiff
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 180
-
-#define MK_KINETIC_SPEED
-#define MOUSEKEY_DELAY 8
-#define MOUSEKEY_INTERVAL 5
-#define MOUSEKEY_MOVE_DELTA 1
-#define MOUSEKEY_INITIAL_SPEED 3
-#define MOUSEKEY_BASE_SPEED 120
-#define MOUSEKEY_DECELERATED_SPEED 100
-#define MOUSEKEY_ACCELERATED_SPEED 1000
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
deleted file mode 100644
index 76438f9dc3..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- * Copyright 2021 Jonavin Eng
- * Copyright 2022 Fearless Spiff
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-// OLED setup for bongocat
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 30
-#define TAP_FRAMES 2
-#define TAP_SPEED 40
-#define ANIM_FRAME_DURATION 200
-#define ANIM_SIZE 512
-
-#define LABEL_LENGTH 8
-
-#define KC_CAD LALT(LCTL(KC_DEL))
-#define KC_TEAMS_CAM C(S(KC_O))
-#define KC_TEAMS_MUTE C(S(KC_M))
-
-enum layers {
- QWERT,
- FN_1,
- FN_2,
- FN_MOUSE
-};
-
-enum custom_user_keycodes {
- KC_ENC = SAFE_RANGE
-};
-
-static long int oled_timeout = 1800000; // 30 minutes
-bool gui_on = true;
-char wpm_str[10];
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-// Tap Dance declarations
-enum {
- TD_TAB_ESC,
-};
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for Tab, twice for Esc
- [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
-};
-
-typedef struct {
- char label_top[LABEL_LENGTH];
- char label_mid[LABEL_LENGTH];
- char label_bottom[LABEL_LENGTH];
- uint16_t keycode;
-} encoder_key;
-
-static const encoder_key PROGMEM encoder_keys[] = {
- // list of key codes that will be scrolled through by encoder and description
- // Be aware that it only works when using one char less than defined. In this case 7 max. No idea why?
- {"Teams", "Toggle", "Mic", KC_TEAMS_MUTE},
- {"Teams", "Toggle", "Cam", KC_TEAMS_CAM},
- {"Ctrl", "Alt", "Del", KC_CAD},
- {"Caps", "Lock", "", KC_CAPS_LOCK},
- {"Pause", "", "", KC_PAUSE},
- {"PrtScr", "", "", KC_PSCR},
- {"Insert", "", "", KC_INS},
- {"Play", "", "", KC_MEDIA_PLAY_PAUSE}
-};
-
-#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys)
-
-static uint8_t selected_encoder_key_id = 0;
-static encoder_key selected_encoder_key;
-
-static void set_selected_encoder_key(uint8_t idx) {
- // make a copy from PROGMEM
- memcpy_P (&selected_encoder_key, &encoder_keys[idx], sizeof selected_encoder_key);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_ENC:
- if (record->event.pressed) {
- tap_code16(selected_encoder_key.keycode);
- }
- break;
- }
- return true;
-}
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [QWERT] = LAYOUT_all(
- KC_ENC,
- TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(FN_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT,
- KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ),
-
- [FN_1] = LAYOUT_all(
- KC_MUTE,
- QK_GESC, _______, _______, _______, DE_LCBR, DE_RCBR, _______, DE_UDIA, KC_UP, DE_ODIA, DE_QUES, KC_DEL,
- _______, DE_ADIA, DE_SS, _______, DE_LPRN, DE_RPRN, _______, KC_LEFT, KC_DOWN, KC_RIGHT, DE_HASH, _______,
- _______, _______, DE_CIRC, DE_ACUT, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL,
- _______, _______, _______, MO(FN_MOUSE), MO(FN_MOUSE), MO(FN_MOUSE), DE_BSLS, DE_SLSH, DE_TILD ),
-
- [FN_2] = LAYOUT_all(
- _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_BSPC,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
-
- [FN_MOUSE] = LAYOUT_all(
- _______,
- _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______,
- _______, _______, _______, _______, KC_ACL0, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ )
-};
-
-#ifdef ENCODER_ENABLE
- bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- if (IS_LAYER_ON(QWERT) && selected_encoder_key_id < NUMBER_OF_ENCODER_KEYS-1) {
- selected_encoder_key_id ++;
- set_selected_encoder_key(selected_encoder_key_id);
- }
- if (IS_LAYER_ON(FN_1)) {
- tap_code16(KC_PGDN);
- }
- if (IS_LAYER_ON(FN_2)) {
- tap_code(KC_VOLU);
- }
- } else {
- if (IS_LAYER_ON(QWERT) && selected_encoder_key_id > 0) {
- selected_encoder_key_id --;
- set_selected_encoder_key(selected_encoder_key_id);
- }
- if (IS_LAYER_ON(FN_1)) {
- tap_code16(KC_PGUP);
- }
- if (IS_LAYER_ON(FN_2)) {
- tap_code(KC_VOLD);
- }
- }
- return false;
- }
-#endif
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- set_selected_encoder_key(selected_encoder_key_id);
-
- return OLED_ROTATION_180; // flips the display 180 degrees
- }
-
- static void render_anim(void) {
-
- // Idle animation
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
- 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- // Prep animation
- static const char PROGMEM prep[][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- // Typing animation
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
- 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
- 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- void animation_phase(void) {
- if (get_current_wpm() <= IDLE_SPEED) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
- }
-
- if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
- oled_write_raw_P(prep[0], ANIM_SIZE);
- }
-
- if (get_current_wpm() >= TAP_SPEED) {
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
-
- if (get_current_wpm() != 000) {
- oled_on();
-
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > oled_timeout) {
- oled_off();
- } else {
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
- }
-
- bool oled_task_user(void) {
-
- render_anim();
-
- oled_set_cursor(0,0);
- oled_write(selected_encoder_key.label_top, false);
-
- oled_set_cursor(0,1);
- oled_write(selected_encoder_key.label_mid, false);
-
- oled_set_cursor(0,2);
- oled_write(selected_encoder_key.label_bottom, false);
-
- /* hide wpm display for now
- oled_set_cursor(13,3);
- oled_write_P(PSTR("WPM: "), false);
- oled_write(get_u8_str(get_current_wpm(), ' '), false);
- */
-
- return false;
- }
-
- void suspend_power_down_user(void) {
- oled_off();
- }
-#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
deleted file mode 100644
index 85b3490608..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-Fearless Spiff's Custom Mercutio Keymap
- - "Programmer"-centric and German layout based keymap
- - Based on Bongocat and Jonavin keymap
-
-Features
- - Fancy Bongocat! Yay! (borrowed from bongocat obviously)
- - Encoder selectable key codes and displayed on OLED (borrowed and multi-line-enhanced from Jonavin)
- - Change encoder_keys in keymap.c to assign your desired key selection
- - Additional encoder functionality
- - While holding FN_1, page up and down
- - While holding FN_2, volume up and down
- - Mouse controls by holding Caps-Space
- - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff)
- - Shout out to [KMonad](https://github.com/kmonad/kmonad) which enabled my laptop keyboard to behave like my Mercutio!
-
-QWERT Layer
-![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png)
-
-FN_1 Layer
-![image](https://user-images.githubusercontent.com/1927259/157032746-8aa68e1c-27b9-4cf5-88ed-a071d8238f56.png)
-
-FN_2 layer
-![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png)
-
-FN_MOUSE layer
-![image](https://user-images.githubusercontent.com/1927259/157032817-83922578-8932-42bf-a2d2-f785136b4d4e.png)
-
-
-
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
deleted file mode 100644
index fc0ec28153..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-WPM_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-VIA_ENABLE = no
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes # Audio control and System control
-KEY_LOCK_ENABLE = no
-CONSOLE_ENABLE = no
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h
deleted file mode 100644
index 9d588ed8c0..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2022 Fearless Spiff
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 180
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c
deleted file mode 100644
index c79c00a707..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- * Copyright 2021 Jonavin Eng
- * Copyright 2022 Fearless Spiff
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-// OLED setup for bongocat
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 30
-#define TAP_FRAMES 2
-#define TAP_SPEED 40
-#define ANIM_FRAME_DURATION 200
-#define ANIM_SIZE 512
-
-#define LABEL_LENGTH 8
-
-#define KC_CAD LALT(LCTL(KC_DEL))
-#define KC_TEAMS_CAM C(S(KC_O))
-#define KC_TEAMS_MUTE C(S(KC_M))
-
-enum layers {
- QWERT,
- FN_1,
- FN_2
-};
-
-enum custom_user_keycodes {
- KC_ENC = SAFE_RANGE
-};
-
-static long int oled_timeout = 1800000; // 30 minutes
-bool gui_on = true;
-char wpm_str[10];
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-// Tap Dance declarations
-enum {
- TD_TAB_ESC,
-};
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for Tab, twice for Esc
- [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
-};
-
-typedef struct {
- char label_top[LABEL_LENGTH];
- char label_mid[LABEL_LENGTH];
- char label_bottom[LABEL_LENGTH];
- uint16_t keycode;
-} encoder_key;
-
-static const encoder_key PROGMEM encoder_keys[] = {
- // list of key codes that will be scrolled through by encoder and description
- // Be aware that it only works when using one char less than defined. In this case 7 max. No idea why?
- {"Teams", "Toggle", "Mic", KC_TEAMS_MUTE},
- {"Teams", "Toggle", "Cam", KC_TEAMS_CAM},
- {"Ctrl", "Alt", "Del", KC_CAD},
- {"Caps", "Lock", "", KC_CAPS_LOCK},
- {"Pause", "", "", KC_PAUSE},
- {"PrtScr", "", "", KC_PSCR},
- {"Insert", "", "", KC_INS},
- {"Play", "", "", KC_MEDIA_PLAY_PAUSE}
-};
-
-#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys)
-
-static uint8_t selected_encoder_key_id = 0;
-static encoder_key selected_encoder_key;
-
-static void set_selected_encoder_key(uint8_t idx) {
- // make a copy from PROGMEM
- memcpy_P (&selected_encoder_key, &encoder_keys[idx], sizeof selected_encoder_key);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_ENC:
- if (record->event.pressed) {
- tap_code16(selected_encoder_key.keycode);
- }
- break;
- }
- return true;
-}
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [QWERT] = LAYOUT_all(
- KC_ENC,
- TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_PLUS, KC_ENT,
- KC_LSFT, KC_LABK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
- KC_LCTL, KC_LGUI, LT(2,KC_LALT), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), KC_RCTL ),
-
- [FN_1] = LAYOUT_all(
- KC_MUTE,
- QK_GESC, _______, KC_UP, _______, KC_LCBR, KC_RCBR, _______, _______, KC_UP, _______, KC_QUES, KC_DEL,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LPRN, KC_RPRN, KC_QUES, KC_LEFT, KC_DOWN, KC_LABK, KC_RABK, _______,
- _______, KC_BSLS, KC_SLSH, KC_PIPE, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_QUOT, KC_DQUO, KC_EQL,
- _______, _______, _______, _______, _______, _______, KC_BSLS, KC_SLSH, KC_TILD ),
-
- [FN_2] = LAYOUT_all(
- _______,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_AMPR, KC_PERC, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
- _______, _______, KC_MINS, KC_PLUS, KC_BSLS, KC_SLSH, KC_SCLN, KC_COLN, KC_QUES, KC_LBRC, KC_RBRC, KC_DOT,
- KC_DQUO, KC_QUOT, KC_DQUO, _______, _______, _______, _______, _______, KC_PIPE )
-};
-
-#ifdef ENCODER_ENABLE
- bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- if (IS_LAYER_ON(QWERT) && selected_encoder_key_id < NUMBER_OF_ENCODER_KEYS-1) {
- selected_encoder_key_id ++;
- set_selected_encoder_key(selected_encoder_key_id);
- }
- if (IS_LAYER_ON(FN_1)) {
- tap_code16(KC_PGDN);
- }
- if (IS_LAYER_ON(FN_2)) {
- tap_code(KC_VOLU);
- }
- } else {
- if (IS_LAYER_ON(QWERT) && selected_encoder_key_id > 0) {
- selected_encoder_key_id --;
- set_selected_encoder_key(selected_encoder_key_id);
- }
- if (IS_LAYER_ON(FN_1)) {
- tap_code16(KC_PGUP);
- }
- if (IS_LAYER_ON(FN_2)) {
- tap_code(KC_VOLD);
- }
- }
- return false;
- }
-#endif
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- set_selected_encoder_key(selected_encoder_key_id);
-
- return OLED_ROTATION_180; // flips the display 180 degrees
- }
-
- static void render_anim(void) {
-
- // Idle animation
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
- 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
- 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- // Prep animation
- static const char PROGMEM prep[][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
- 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- // Typing animation
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
- 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
- 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- },
-
- {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
- 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
- };
-
- void animation_phase(void) {
- if (get_current_wpm() <= IDLE_SPEED) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
- }
-
- if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
- oled_write_raw_P(prep[0], ANIM_SIZE);
- }
-
- if (get_current_wpm() >= TAP_SPEED) {
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
-
- if (get_current_wpm() != 000) {
- oled_on();
-
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > oled_timeout) {
- oled_off();
- } else {
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
- }
-
- bool oled_task_user(void) {
-
- render_anim();
-
- oled_set_cursor(0,0);
- oled_write(selected_encoder_key.label_top, false);
-
- oled_set_cursor(0,1);
- oled_write(selected_encoder_key.label_mid, false);
-
- oled_set_cursor(0,2);
- oled_write(selected_encoder_key.label_bottom, false);
-
- /* hide wpm display for now
- oled_set_cursor(13,3);
- oled_write_P(PSTR("WPM: "), false);
- oled_write(get_u8_str(get_current_wpm(), ' '), false);
- */
-
- return false;
- }
-
- void suspend_power_down_user(void) {
- oled_off();
- }
-#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md
deleted file mode 100644
index dea71bf358..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-Fearless Spiff's Custom Mercutio Keymap
- - "Programmer"-centric and German layout based keymap
- - Based on Bongocat and Jonavin keymap
-
-Features
- - Fancy Bongocat! Yay! (borrowed from bongocat obviously)
- - Encoder selectable key codes and displayed on OLED (borrowed and multi-line-enhanced from Jonavin)
- - Change encoder_keys in keymap.c to assign your desired key selection
- - Additional encoder functionality
- - While holding FN_1, page up and down
- - While holding FN_2, volume up and down
- - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff)
-
-QWERT Layer
-![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png)
-
-FN_1 Layer
-![image](https://user-images.githubusercontent.com/1927259/148683299-f2c80403-3f29-4ba8-9fc4-957729f30b05.png)
-
-FN_2 layer
-![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png)
-
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk
deleted file mode 100644
index 4775e0e11d..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-WPM_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/mechwild/mercutio/keymaps/via/config.h b/keyboards/mechwild/mercutio/keymaps/via/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/via/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h b/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h
deleted file mode 100644
index 271ab55292..0000000000
--- a/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGBLIGHT_LAYERS \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c
deleted file mode 100644
index d7fcf0f221..0000000000
--- a/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_SPC LT(2, KC_SPC)
-#define HSV_SILLY_PURPLE 180, 255, 255
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _RS3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_RS3), KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [_FN2] = LAYOUT(
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_RS3] = LAYOUT(
- KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PPLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PMNS, _______, _______, _______, _______, _______, _______, TG(_RS3), _______, _______, _______, _______, _______, _______, _______, _______,
- KC_HOME, KC_END, KC_PGUP, KC_K, KC_L, KC_M, KC_PGDN, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
- bool oled_task_user(void) {
- render_logo();
- oled_set_cursor(0,6);
-
- oled_write_ln_P(PSTR("Layer"), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("FN 1"), false);
- break;
- case 2:
- oled_write_ln_P(PSTR("FN 2"), false);
- break;
- case 3:
- oled_write_ln_P(PSTR("RS3"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_ln_P(PSTR(""), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
- return false;
- }
-#endif
-
-#ifdef RGBLIGHT_ENABLE
- // Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour}
- const rgblight_segment_t PROGMEM _rgb_fn1[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 3, HSV_GREEN},
- {12, 3, HSV_GREEN}
- );
- // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
- const rgblight_segment_t PROGMEM _rgb_fn2[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 3, HSV_GREEN},
- {12, 3, HSV_GREEN}
- );
- const rgblight_segment_t PROGMEM _rgb_rs3[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 16, HSV_SILLY_PURPLE}
- );
- const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- _rgb_fn1,
- _rgb_fn2,
- _rgb_rs3
- );
- layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _FN1));
- rgblight_set_layer_state(1, layer_state_cmp(state, _FN2));
- rgblight_set_layer_state(2, layer_state_cmp(state, _RS3));
- return state;
- }
-#endif // RGBLIGHT_ENABLE
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- #ifdef RGBLIGHT_ENABLE
- rgblight_layers = _rgb_layers;
- #endif // RGBLIGHT_ENABLE
- } \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md
deleted file mode 100644
index 4659a3aaeb..0000000000
--- a/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# A keymap customized for use by Silly. Makes use of RGB Layer indication and a remapped layer for use in specific video games.
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk
deleted file mode 100644
index 36b7ba9cbc..0000000000
--- a/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/mechwild/sugarglider/matrix.c b/keyboards/mechwild/sugarglider/matrix.c
index 96a16df542..c76a8345d3 100644
--- a/keyboards/mechwild/sugarglider/matrix.c
+++ b/keyboards/mechwild/sugarglider/matrix.c
@@ -50,7 +50,7 @@ static void select_row(uint8_t row) {
//wait_us(100);
return;
}
-
+
if (row > 1) {
mcp23018_errors += !mcp23018_set_config(I2C_ADDR, mcp23018_PORTB, ALL_INPUT);
mcp23018_errors += !mcp23018_set_config(I2C_ADDR, mcp23018_PORTA, ~(row_pos[row]));
@@ -87,8 +87,10 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
bool changed = false;
for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
changed |= read_cols_on_row(current_matrix, current_row);
+
#ifdef ENCODER_ENABLE
- encoder_read();
+ // Need to frequently read the encoder pins while scanning because the I/O expander takes a long time in comparison.
+ encoder_driver_task();
#endif
}
return changed;
diff --git a/keyboards/mehkee96/keymaps/johann/keymap.c b/keyboards/mehkee96/keymaps/johann/keymap.c
deleted file mode 100644
index 30fdb742c4..0000000000
--- a/keyboards/mehkee96/keymaps/johann/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Layer 0, default layer
-____________________________________________________________________________________________________________________________________________________________________________
-| | | | | | | | | | | | | | | | | | | |
-| ESC* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | P SCN | HOME | DEL | INSERT | P Up | P Down |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-| | | | | | | | | | | | | | | BACK | NUM | | | Play |
-| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | \ | SPACE | LOCK | / | * | Pause |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-| | | | | | | | | | | | [ | ] | | | | | |
-| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | Next |
-|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
-| | | | | | | | | | | ; | ' | | | | | |
-| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | - |
-|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
-| | | | | | | | | , | . | / | | | | | | |
-| SHIFT | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | + |
-|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
-| | | | | | | MO | | | | | | |
-| CTRL | LGUI | L ALT | SPACE | R ALT | RGUI | _FN | LEFT | DOWN | RIGHT | 0 | . | ENTER |
-|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
-*/
-
-
-
- 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_HOME, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_MPLY,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_MNXT,
- KC_CAPS, KC_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_PMNS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PPLS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
-
-
-
- /* Layer 1, function layer
-____________________________________________________________________________________________________________________________________________________________________________
-| | | | | | | | | | | | | | | VOL | VOL | | | |
-| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | | | |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-| | | | | | | | | | | | | | | | | | | |
-| | | | | | | | | | | | | | | | | | | |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-| | RGB | | RGB | HUE | HUE | SATUR. | SATUR. | VALUE | VALUE | | | | | | | | |
-| | TOGGLE | | MODE |INCREASE| DCRSE |INCREASE| DCRSE |INCREASE| DCRSE | | | | | | | | |
-|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
-| BACKLIGHT | | | | | | | | | | | | | | | | |
-| TOGGLE | | | | | | | | | | | | | | | | |
-|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
-| | | | |BACKLHT |BACKLHT |BACKLHT | | | | | | | | | | | |
-| | | | | DCRSE |TOGGLE |INCREASE| | | | | | | | | | | |
-|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
-| | | | | | | | | | | | | |
-| | | | | | | | | | | | | |
-|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
-BL_TOGG, BL_DOWN,BL_UP changes the in-switch LEDs
-*/
-
-
- LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______ , _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
-
-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/melgeek/mach80/config.h b/keyboards/melgeek/mach80/config.h
index cc4d7bc6bf..68088ba745 100755
--- a/keyboards/melgeek/mach80/config.h
+++ b/keyboards/melgeek/mach80/config.h
@@ -16,58 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define DISABLE_RGB_MATRIX_SPLASH
-#define DISABLE_RGB_MATRIX_MULTISPLASH
-#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define IS31FL3741_SDB_PIN B7
diff --git a/keyboards/melgeek/mach80/info.json b/keyboards/melgeek/mach80/info.json
index e084dda413..ade831fc36 100755
--- a/keyboards/melgeek/mach80/info.json
+++ b/keyboards/melgeek/mach80/info.json
@@ -11,6 +11,60 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"debounce": 3,
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [108, 30],
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
+ },
"community_layouts": ["tkl_ansi"],
"layouts": {
"LAYOUT_tkl_ansi": {
diff --git a/keyboards/melgeek/mach80/rev1/config.h b/keyboards/melgeek/mach80/rev1/config.h
index 072419e163..960bf58c52 100755
--- a/keyboards/melgeek/mach80/rev1/config.h
+++ b/keyboards/melgeek/mach80/rev1/config.h
@@ -16,9 +16,4 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 97
#define DRIVER_INDICATOR_LED_TOTAL 3
-
-
-#define RGB_MATRIX_CENTER { 108, 30 }
-
diff --git a/keyboards/melgeek/mach80/rev1/info.json b/keyboards/melgeek/mach80/rev1/info.json
index 1d7d87b76f..af9f7c2669 100644
--- a/keyboards/melgeek/mach80/rev1/info.json
+++ b/keyboards/melgeek/mach80/rev1/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"],
"rows": ["F0", "F1", "F4", "F5", "F6", "E6"]
diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c
index 9e5c2d8b81..a4b49610cc 100755
--- a/keyboards/melgeek/mach80/rev1/rev1.c
+++ b/keyboards/melgeek/mach80/rev1/rev1.c
@@ -19,104 +19,104 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB65 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB67 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB68 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB69 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB70 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB55 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB71 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB72 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB60 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB73 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB74 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB75 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB76 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB77 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB78 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB79 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB80 */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB83 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS33_SW8, CS32_SW8, CS31_SW8}, /* RGB81 */
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB82 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB89 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB90 */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB91 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB92 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB84 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB85 */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB88 */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB86 */
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB87 */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, /* RGB98 */
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, /* RGB99 */
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, /* RGB100 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, /* RGB101 */
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, /* RGB110 */
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, /* RGB111 */
- {0, CS39_SW7, CS38_SW7, CS37_SW7}, /* RGB112 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB67 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB68 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB69 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB70 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB55 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB71 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB72 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB60 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB61 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB73 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB74 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB75 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB76 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB77 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB78 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB79 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB80 */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB83 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW8_CS33, SW8_CS32, SW8_CS31}, /* RGB81 */
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, /* RGB82 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB89 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB90 */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB91 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB92 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB84 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB85 */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB88 */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB86 */
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB87 */
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB98 */
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, /* RGB99 */
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, /* RGB100 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, /* RGB101 */
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB110 */
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB111 */
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}, /* RGB112 */
};
led_config_t g_led_config = {
{
@@ -145,9 +145,9 @@ led_config_t g_led_config = {
};
const is31fl3741_led_t g_is31_indicator_leds[3] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB107 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB108 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB109 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB107 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB108 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB109 */
};
bool led_update_kb(led_t led_state) {
@@ -179,15 +179,8 @@ void matrix_init_kb(void) {
is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
matrix_init_user();
}
-
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(B7);
- writePinHigh(B7);
- keyboard_pre_init_user();
-}
#endif
diff --git a/keyboards/melgeek/mach80/rev2/config.h b/keyboards/melgeek/mach80/rev2/config.h
index 10d3bde47a..960bf58c52 100755
--- a/keyboards/melgeek/mach80/rev2/config.h
+++ b/keyboards/melgeek/mach80/rev2/config.h
@@ -16,9 +16,4 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 94
#define DRIVER_INDICATOR_LED_TOTAL 3
-
-
-#define RGB_MATRIX_CENTER { 108, 30 }
-
diff --git a/keyboards/melgeek/mach80/rev2/info.json b/keyboards/melgeek/mach80/rev2/info.json
index 1d7d87b76f..af9f7c2669 100644
--- a/keyboards/melgeek/mach80/rev2/info.json
+++ b/keyboards/melgeek/mach80/rev2/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"],
"rows": ["F0", "F1", "F4", "F5", "F6", "E6"]
diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c
index e9fdc2517f..1a759f38c6 100755
--- a/keyboards/melgeek/mach80/rev2/rev2.c
+++ b/keyboards/melgeek/mach80/rev2/rev2.c
@@ -19,101 +19,101 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB65 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB67 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB68 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB69 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB70 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB55 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB71 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB72 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB60 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB73 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB74 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB75 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB76 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB77 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB78 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB79 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB80 */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB83 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS33_SW8, CS32_SW8, CS31_SW8}, /* RGB81 */
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB82 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB89 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB90 */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB91 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB92 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB84 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB85 */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB88 */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB86 */
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB87 */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, /* RGB98 */
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, /* RGB99 */
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, /* RGB100 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, /* RGB101 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB67 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB68 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB69 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB70 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB55 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB71 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB72 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB60 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB61 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB73 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB74 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB75 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB76 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB77 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB78 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB79 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB80 */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB83 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW8_CS33, SW8_CS32, SW8_CS31}, /* RGB81 */
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, /* RGB82 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB89 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB90 */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB91 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB92 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB84 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB85 */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB88 */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB86 */
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB87 */
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB98 */
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, /* RGB99 */
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, /* RGB100 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, /* RGB101 */
};
led_config_t g_led_config = {
{
@@ -143,9 +143,9 @@ led_config_t g_led_config = {
};
const is31fl3741_led_t g_is31_indicator_leds[3] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB107 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB108 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB109 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB107 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB108 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB109 */
};
bool led_update_kb(led_t led_state) {
@@ -177,15 +177,8 @@ void matrix_init_kb(void) {
is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
matrix_init_user();
}
-
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(B7);
- writePinHigh(B7);
- keyboard_pre_init_user();
-}
#endif
diff --git a/keyboards/melgeek/mj61/config.h b/keyboards/melgeek/mj61/config.h
index 704699ece9..010e035e2e 100644
--- a/keyboards/melgeek/mj61/config.h
+++ b/keyboards/melgeek/mj61/config.h
@@ -16,58 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN A2
diff --git a/keyboards/melgeek/mj61/info.json b/keyboards/melgeek/mj61/info.json
index 3e62cbf28a..d34dc59364 100644
--- a/keyboards/melgeek/mj61/info.json
+++ b/keyboards/melgeek/mj61/info.json
@@ -12,6 +12,57 @@
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"debounce": 3,
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
+ },
"community_layouts": ["60_ansi"],
"layouts": {
"LAYOUT_60_ansi": {
diff --git a/keyboards/melgeek/mj61/rev1/config.h b/keyboards/melgeek/mj61/rev1/config.h
deleted file mode 100644
index ea29d94b9b..0000000000
--- a/keyboards/melgeek/mj61/rev1/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 63
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj61/rev1/info.json b/keyboards/melgeek/mj61/rev1/info.json
index 705023fb8e..67a4a004d6 100644
--- a/keyboards/melgeek/mj61/rev1/info.json
+++ b/keyboards/melgeek/mj61/rev1/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj61/rev1/rev1.c b/keyboards/melgeek/mj61/rev1/rev1.c
index 76fcb64c37..3ee0da5183 100644
--- a/keyboards/melgeek/mj61/rev1/rev1.c
+++ b/keyboards/melgeek/mj61/rev1/rev1.c
@@ -17,70 +17,70 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB1 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB2 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB3 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB4 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB5 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB6 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB7 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB8 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB9 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB10 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB11 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB12 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB13 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB14 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB15 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB16 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB17 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB18 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB19 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB20 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB21 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB22 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB23 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB24 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB25 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB26 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB27 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB28 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB29 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB30 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB31 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB32 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB33 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB34 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB35 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB36 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB37 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB38 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB39 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB40 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB41 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB42 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB43 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB44 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB45 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB46 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB47 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB48 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB49 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB50 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB51 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB52 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB53 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB54 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB55 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB56 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB57 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB58 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB59 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB60 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB62 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB63 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB1 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB2 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB3 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB4 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB5 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB6 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB7 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB8 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB9 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB10 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB11 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB12 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB13 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB14 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB15 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB16 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB17 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB18 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB19 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB20 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB21 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB22 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB23 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB24 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB25 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB26 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB27 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB28 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB29 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB30 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB31 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB32 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB33 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB34 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB35 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB36 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB37 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB38 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB39 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB40 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB41 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB42 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB43 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB44 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB45 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB46 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB47 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB48 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB49 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB50 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB51 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB52 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB53 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB54 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB55 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB56 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB57 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB58 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB59 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB60 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB61 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB62 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB63 */
};
led_config_t g_led_config = {
@@ -116,9 +116,3 @@ void suspend_wakeup_init_kb(void) {
suspend_wakeup_init_user();
}
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/mj61/rev2/config.h b/keyboards/melgeek/mj61/rev2/config.h
deleted file mode 100644
index 0cd072eb4b..0000000000
--- a/keyboards/melgeek/mj61/rev2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 71
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj61/rev2/info.json b/keyboards/melgeek/mj61/rev2/info.json
index 62b2c58f15..62c5827117 100644
--- a/keyboards/melgeek/mj61/rev2/info.json
+++ b/keyboards/melgeek/mj61/rev2/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj61/rev2/rev2.c b/keyboards/melgeek/mj61/rev2/rev2.c
index 9d13d52ebc..71d41c16b3 100644
--- a/keyboards/melgeek/mj61/rev2/rev2.c
+++ b/keyboards/melgeek/mj61/rev2/rev2.c
@@ -19,78 +19,78 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB5 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB6 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB7 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB2 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB48 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB46 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB49 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB50 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB51 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB52 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB53 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB16 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB12 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB17 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB13 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB14 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB18 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB15 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB47 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB60 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB61 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB21 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB19 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB22 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB26 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB20 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB23 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB24 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB25 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB56 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB57 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB62 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB58 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB63 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB59 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB35 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB32 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB33 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB34 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB67 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB69 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB70 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB40 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB43 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB38 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB44 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB45 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB39 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB42 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB71 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB3 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB4 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB5 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB6 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB7 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB2 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB48 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB46 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB49 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB50 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB51 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB52 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB53 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB16 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB12 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB17 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB13 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB14 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB18 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB15 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB47 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB60 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB61 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB21 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB19 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB22 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB26 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB20 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB23 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB24 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB25 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB56 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB57 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB62 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB58 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB63 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB59 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB35 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB32 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB33 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB34 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB67 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB69 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB70 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB40 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB43 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB38 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB44 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB45 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB39 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB42 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */
};
led_config_t g_led_config = {
@@ -126,9 +126,3 @@ void suspend_wakeup_init_kb(void) {
suspend_wakeup_init_user();
}
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/mj63/config.h b/keyboards/melgeek/mj63/config.h
index 704699ece9..010e035e2e 100644
--- a/keyboards/melgeek/mj63/config.h
+++ b/keyboards/melgeek/mj63/config.h
@@ -16,58 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN A2
diff --git a/keyboards/melgeek/mj63/info.json b/keyboards/melgeek/mj63/info.json
index ecd3b0fff6..c81bf9f867 100644
--- a/keyboards/melgeek/mj63/info.json
+++ b/keyboards/melgeek/mj63/info.json
@@ -12,6 +12,57 @@
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"debounce": 3,
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
+ },
"community_layouts": ["60_ansi_arrow"],
"layouts": {
"LAYOUT_60_ansi_arrow": {
diff --git a/keyboards/melgeek/mj63/rev1/config.h b/keyboards/melgeek/mj63/rev1/config.h
deleted file mode 100644
index 8abf7f5595..0000000000
--- a/keyboards/melgeek/mj63/rev1/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 65
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj63/rev1/info.json b/keyboards/melgeek/mj63/rev1/info.json
index 705023fb8e..67a4a004d6 100644
--- a/keyboards/melgeek/mj63/rev1/info.json
+++ b/keyboards/melgeek/mj63/rev1/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c
index 69e7ab5da6..e3baf32de7 100644
--- a/keyboards/melgeek/mj63/rev1/rev1.c
+++ b/keyboards/melgeek/mj63/rev1/rev1.c
@@ -19,72 +19,72 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB62 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB65 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB61 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB62 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */
};
led_config_t g_led_config = {
@@ -119,12 +119,4 @@ void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
-
#endif
-
diff --git a/keyboards/melgeek/mj63/rev2/config.h b/keyboards/melgeek/mj63/rev2/config.h
deleted file mode 100644
index 0cd072eb4b..0000000000
--- a/keyboards/melgeek/mj63/rev2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 71
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj63/rev2/info.json b/keyboards/melgeek/mj63/rev2/info.json
index 62b2c58f15..62c5827117 100644
--- a/keyboards/melgeek/mj63/rev2/info.json
+++ b/keyboards/melgeek/mj63/rev2/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj63/rev2/rev2.c b/keyboards/melgeek/mj63/rev2/rev2.c
index 5ab9cdb65a..418092ec9f 100644
--- a/keyboards/melgeek/mj63/rev2/rev2.c
+++ b/keyboards/melgeek/mj63/rev2/rev2.c
@@ -19,78 +19,78 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB5 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB6 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB7 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB2 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB48 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB46 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB49 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB50 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB51 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB52 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB53 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB16 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB12 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB17 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB13 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB14 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB18 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB15 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB47 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB60 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB61 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB21 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB19 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB22 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB26 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB20 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB23 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB24 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB25 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB56 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB57 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB62 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB58 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB63 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB59 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB35 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB32 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB33 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB34 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB69 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB70 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB40 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB43 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB38 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB44 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB45 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB39 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB42 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB71 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB72 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB3 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB4 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB5 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB6 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB7 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB2 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB48 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB46 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB49 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB50 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB51 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB52 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB53 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB16 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB12 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB17 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB13 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB14 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB18 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB15 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB47 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB60 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB61 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB21 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB19 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB22 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB26 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB20 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB23 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB24 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB25 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB56 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB57 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB62 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB58 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB63 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB59 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB35 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB32 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB33 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB34 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB69 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB70 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB40 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB43 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB38 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB44 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB45 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB39 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB42 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB72 */
};
led_config_t g_led_config = {
@@ -126,9 +126,3 @@ void suspend_wakeup_init_kb(void) {
suspend_wakeup_init_user();
}
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/mj64/config.h b/keyboards/melgeek/mj64/config.h
index 704699ece9..010e035e2e 100644
--- a/keyboards/melgeek/mj64/config.h
+++ b/keyboards/melgeek/mj64/config.h
@@ -16,58 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN A2
diff --git a/keyboards/melgeek/mj64/info.json b/keyboards/melgeek/mj64/info.json
index cbc73a262a..731996ef84 100644
--- a/keyboards/melgeek/mj64/info.json
+++ b/keyboards/melgeek/mj64/info.json
@@ -12,6 +12,57 @@
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"debounce": 3,
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
+ },
"community_layouts": ["64_ansi"],
"layouts": {
"LAYOUT_64_ansi": {
diff --git a/keyboards/melgeek/mj64/rev1/config.h b/keyboards/melgeek/mj64/rev1/config.h
deleted file mode 100644
index ab8fcd6e09..0000000000
--- a/keyboards/melgeek/mj64/rev1/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 66
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj64/rev1/info.json b/keyboards/melgeek/mj64/rev1/info.json
index 705023fb8e..67a4a004d6 100644
--- a/keyboards/melgeek/mj64/rev1/info.json
+++ b/keyboards/melgeek/mj64/rev1/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj64/rev1/rev1.c b/keyboards/melgeek/mj64/rev1/rev1.c
index fff946b20a..b9609cad1e 100644
--- a/keyboards/melgeek/mj64/rev1/rev1.c
+++ b/keyboards/melgeek/mj64/rev1/rev1.c
@@ -18,71 +18,71 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB61 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB62 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB61 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB62 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
};
led_config_t g_led_config = {
@@ -116,11 +116,4 @@ void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
-
#endif
diff --git a/keyboards/melgeek/mj64/rev2/config.h b/keyboards/melgeek/mj64/rev2/config.h
deleted file mode 100644
index ab8fcd6e09..0000000000
--- a/keyboards/melgeek/mj64/rev2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 66
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj64/rev2/info.json b/keyboards/melgeek/mj64/rev2/info.json
index 705023fb8e..67a4a004d6 100644
--- a/keyboards/melgeek/mj64/rev2/info.json
+++ b/keyboards/melgeek/mj64/rev2/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj64/rev2/rev2.c b/keyboards/melgeek/mj64/rev2/rev2.c
index 35da35b2e4..16c8e1f612 100644
--- a/keyboards/melgeek/mj64/rev2/rev2.c
+++ b/keyboards/melgeek/mj64/rev2/rev2.c
@@ -18,73 +18,73 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB61 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB62 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB65 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB61 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB62 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */
};
led_config_t g_led_config = {
@@ -119,12 +119,4 @@ void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
-
#endif
-
diff --git a/keyboards/melgeek/mj64/rev3/config.h b/keyboards/melgeek/mj64/rev3/config.h
deleted file mode 100644
index a5a1fbf3e0..0000000000
--- a/keyboards/melgeek/mj64/rev3/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 72
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj64/rev3/info.json b/keyboards/melgeek/mj64/rev3/info.json
index 62b2c58f15..62c5827117 100644
--- a/keyboards/melgeek/mj64/rev3/info.json
+++ b/keyboards/melgeek/mj64/rev3/info.json
@@ -1,7 +1,4 @@
{
- "rgb_matrix": {
- "driver": "is31fl3741"
- },
"matrix_pins": {
"cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
"rows": ["B12", "B11", "B10", "B1", "A3"]
diff --git a/keyboards/melgeek/mj64/rev3/rev3.c b/keyboards/melgeek/mj64/rev3/rev3.c
index 942bda1487..7af80c7388 100644
--- a/keyboards/melgeek/mj64/rev3/rev3.c
+++ b/keyboards/melgeek/mj64/rev3/rev3.c
@@ -18,79 +18,79 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB5 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB6 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB7 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB2 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB48 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB46 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB49 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB50 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB51 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB52 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB53 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB16 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB12 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB17 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB13 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB14 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB18 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB15 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB47 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB60 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB61 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB21 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB19 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB22 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB26 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB20 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB23 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB24 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB25 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB56 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB57 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB62 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB58 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB63 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB59 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB35 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB32 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB33 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB34 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB67 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB69 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB70 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB40 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB43 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB38 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB44 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB45 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB39 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB42 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB71 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB72 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB3 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB4 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB5 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB6 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB7 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB2 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB48 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB46 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB49 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB50 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB51 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB52 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB53 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB16 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB12 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB17 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB13 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB14 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB18 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB15 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB47 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB60 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB61 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB21 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB19 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB22 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB26 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB20 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB23 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB24 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB25 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB56 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB57 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB62 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB58 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB63 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB59 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB35 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB32 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB33 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB34 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB67 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB69 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB70 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB40 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB43 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB38 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB44 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB45 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB39 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB42 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB72 */
};
led_config_t g_led_config = {
@@ -126,9 +126,3 @@ void suspend_wakeup_init_kb(void) {
suspend_wakeup_init_user();
}
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/config.h
index 704699ece9..010e035e2e 100644
--- a/keyboards/melgeek/mj65/config.h
+++ b/keyboards/melgeek/mj65/config.h
@@ -16,58 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN A2
diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/info.json
index 061b4bc83e..773c9a3198 100644
--- a/keyboards/melgeek/mj65/info.json
+++ b/keyboards/melgeek/mj65/info.json
@@ -9,7 +9,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1", "B14"],
diff --git a/keyboards/melgeek/mj65/rev3/config.h b/keyboards/melgeek/mj65/rev3/config.h
deleted file mode 100644
index 7fc5f0afd1..0000000000
--- a/keyboards/melgeek/mj65/rev3/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 76
-#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/melgeek/mj65/rev3/rev3.c b/keyboards/melgeek/mj65/rev3/rev3.c
index 6d851aa847..1392d5af4e 100644
--- a/keyboards/melgeek/mj65/rev3/rev3.c
+++ b/keyboards/melgeek/mj65/rev3/rev3.c
@@ -18,83 +18,83 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB61 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB62 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB67 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB69 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB70 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB71 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB72 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB73 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB74 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB75 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB76 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB61 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB62 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB67 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB69 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB70 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB72 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB73 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB74 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB75 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB76 */
};
led_config_t g_led_config = {
@@ -131,9 +131,3 @@ void suspend_wakeup_init_kb(void) {
}
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/mj6xy/rev3/config.h b/keyboards/melgeek/mj6xy/rev3/config.h
index 288c8e3a3e..b3932491c1 100755
--- a/keyboards/melgeek/mj6xy/rev3/config.h
+++ b/keyboards/melgeek/mj6xy/rev3/config.h
@@ -16,5 +16,4 @@
#pragma once
-# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
-# define RGBLIGHT_DEFAULT_SPD 10
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
diff --git a/keyboards/melgeek/mj6xy/rev3/info.json b/keyboards/melgeek/mj6xy/rev3/info.json
index dba086e493..e690065639 100644
--- a/keyboards/melgeek/mj6xy/rev3/info.json
+++ b/keyboards/melgeek/mj6xy/rev3/info.json
@@ -24,6 +24,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "speed": 10
}
},
"ws2812": {
diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/mojo68/config.h
index e661efb2a9..68088ba745 100755
--- a/keyboards/melgeek/mojo68/config.h
+++ b/keyboards/melgeek/mojo68/config.h
@@ -16,57 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN B7
diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/info.json
index 7e160d0c59..8938bd8a13 100755
--- a/keyboards/melgeek/mojo68/info.json
+++ b/keyboards/melgeek/mojo68/info.json
@@ -9,7 +9,52 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/melgeek/mojo68/rev1/config.h b/keyboards/melgeek/mojo68/rev1/config.h
index 2a93a475cf..960bf58c52 100755
--- a/keyboards/melgeek/mojo68/rev1/config.h
+++ b/keyboards/melgeek/mojo68/rev1/config.h
@@ -16,5 +16,4 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 68
#define DRIVER_INDICATOR_LED_TOTAL 3
diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c
index cd6d4ec413..af17d96c6d 100755
--- a/keyboards/melgeek/mojo68/rev1/rev1.c
+++ b/keyboards/melgeek/mojo68/rev1/rev1.c
@@ -18,75 +18,75 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB61 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB62 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB67 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB61 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB62 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB67 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
};
led_config_t g_led_config = {
@@ -113,9 +113,9 @@ led_config_t g_led_config = {
};
const is31fl3741_led_t g_is31_indicator_leds[3] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB124 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB125 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB126 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB124 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB125 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB126 */
};
bool led_update_kb(led_t led_state) {
@@ -147,15 +147,8 @@ void matrix_init_kb(void) {
is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
matrix_init_user();
}
-
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(B7);
- writePinHigh(B7);
- keyboard_pre_init_user();
-}
#endif
diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/config.h
index a4e89e5a90..010e035e2e 100644
--- a/keyboards/melgeek/mojo75/config.h
+++ b/keyboards/melgeek/mojo75/config.h
@@ -16,59 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN A2
diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/info.json
index c22c5710a5..e934cb9f4b 100644
--- a/keyboards/melgeek/mojo75/info.json
+++ b/keyboards/melgeek/mojo75/info.json
@@ -9,7 +9,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B12", "B13", "B14", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mojo75/rev1/config.h b/keyboards/melgeek/mojo75/rev1/config.h
deleted file mode 100644
index 44435f2220..0000000000
--- a/keyboards/melgeek/mojo75/rev1/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 92
-#define DRIVER_INDICATOR_LED_TOTAL 0
-
diff --git a/keyboards/melgeek/mojo75/rev1/rev1.c b/keyboards/melgeek/mojo75/rev1/rev1.c
index e64c163c78..18daafebf8 100644
--- a/keyboards/melgeek/mojo75/rev1/rev1.c
+++ b/keyboards/melgeek/mojo75/rev1/rev1.c
@@ -18,99 +18,99 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB2 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB3 */
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB4 */
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB5 */
- {0, CS6_SW6, CS5_SW6, CS4_SW6}, /* RGB6 */
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB7 */
- {0, CS6_SW8, CS5_SW8, CS4_SW8}, /* RGB8 */
- {0, CS6_SW9, CS5_SW9, CS4_SW9}, /* RGB9 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB55 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB56 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB57 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB58 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB59 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB60 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB61 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB10 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB11 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB12 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB13 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB14 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB15 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB16 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB17 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB18 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB62 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB63 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB64 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB65 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB66 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB67 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB68 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB69 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB19 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB20 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB21 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB22 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB23 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB24 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB25 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB26 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB27 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB70 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB71 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB72 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB86 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB73 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB74 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB28 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB29 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB30 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB31 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB32 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB33 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB34 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB35 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB36 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB75 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB76 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB77 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB78 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB79 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB80 */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, /* RGB91 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB37 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB38 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB39 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB40 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB41 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB42 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB43 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB44 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB45 */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB84 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB83 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB82 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB85 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB81 */
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, /* RGB87 */
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, /* RGB89 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB46 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB47 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB48 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB49 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB50 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB51 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB52 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB53 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB54 */
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, /* RGB88 */
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, /* RGB92 */
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, /* RGB90 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB1 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB2 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB3 */
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* RGB4 */
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* RGB5 */
+ {0, SW6_CS6, SW6_CS5, SW6_CS4}, /* RGB6 */
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, /* RGB7 */
+ {0, SW8_CS6, SW8_CS5, SW8_CS4}, /* RGB8 */
+ {0, SW9_CS6, SW9_CS5, SW9_CS4}, /* RGB9 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB55 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB56 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB57 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB58 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB59 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB60 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB61 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB10 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB11 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB12 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB13 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB14 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB15 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB16 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB17 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB18 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB62 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB63 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB64 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB65 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB66 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB67 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB68 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB69 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB19 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB20 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB21 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB22 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB23 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB24 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB25 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB26 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB27 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB70 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB71 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB72 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB86 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB73 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB74 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB28 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB29 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB30 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB31 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB32 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB33 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB34 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB35 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB36 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB75 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB76 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB77 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB78 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB79 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB80 */
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB91 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB37 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB38 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB39 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB40 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB41 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB42 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB43 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB44 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB45 */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB84 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB83 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB82 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB85 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB81 */
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, /* RGB87 */
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, /* RGB89 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB46 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB47 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB48 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB49 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB50 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB51 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB52 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB53 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB54 */
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, /* RGB88 */
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB92 */
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB90 */
};
led_config_t g_led_config = {
@@ -149,12 +149,4 @@ void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(A2);
- writePinHigh(A2);
- keyboard_pre_init_user();
-}
-
#endif
-
diff --git a/keyboards/melgeek/tegic/config.h b/keyboards/melgeek/tegic/config.h
index 723706d610..68088ba745 100755
--- a/keyboards/melgeek/tegic/config.h
+++ b/keyboards/melgeek/tegic/config.h
@@ -16,55 +16,5 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define IS31FL3741_SDB_PIN B7
diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/info.json
index c54f53ca61..755ae3db3e 100644
--- a/keyboards/melgeek/tegic/info.json
+++ b/keyboards/melgeek/tegic/info.json
@@ -9,7 +9,58 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [84, 24],
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/melgeek/tegic/rev1/config.h b/keyboards/melgeek/tegic/rev1/config.h
deleted file mode 100755
index bba7c01f5f..0000000000
--- a/keyboards/melgeek/tegic/rev1/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2020 MelGeek <melgeek001365@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 RGB_MATRIX_LED_COUNT 91
-//#define DRIVER_INDICATOR_LED_TOTAL 3
-
-
-#define RGB_MATRIX_CENTER { 84, 24 }
-
diff --git a/keyboards/melgeek/tegic/rev1/rev1.c b/keyboards/melgeek/tegic/rev1/rev1.c
index 6dc2e8d180..b087264919 100755
--- a/keyboards/melgeek/tegic/rev1/rev1.c
+++ b/keyboards/melgeek/tegic/rev1/rev1.c
@@ -19,103 +19,103 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB55 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB56 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB57 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB58 */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB59 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB60 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB1 */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB2 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB3 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB4 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB5 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB6 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB7 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB8 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB9 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB55 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB56 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB57 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB58 */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB59 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB60 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB18 */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB61 */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB62 */
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB63 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB64 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB65 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB66 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB67 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB68 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB10 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB11 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB12 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB13 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB14 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB15 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB16 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB17 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB18 */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB61 */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB62 */
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB63 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB65 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB66 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB67 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB19 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB21 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB22 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB23 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB24 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB25 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB26 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB27 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB127 */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB128 */
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, /* RGB129 */
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, /* RGB130 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB136 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB135 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB19 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB21 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB22 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB23 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB24 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB25 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB26 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB27 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB127 */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB128 */
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB129 */
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB130 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB136 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB135 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB34 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB35 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB36 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB138 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB139 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB137 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB131 */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB132 */
- {0, CS33_SW8, CS32_SW8, CS31_SW8}, /* RGB133*/
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB28 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB29 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB30 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB31 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB32 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB33 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB34 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB35 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB36 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB138 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB139 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB137 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB131 */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB132 */
+ {0, SW8_CS33, SW8_CS32, SW8_CS31}, /* RGB133*/
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB37 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB38 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB39 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB40 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB41 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB42 */
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB43 */
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB44 */
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* RGB45 */
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB134 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB145 */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB144*/
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB148 */
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB147 */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB146 */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB140 */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB141 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB37 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB38 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB39 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB40 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB41 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB42 */
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, /* RGB43 */
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, /* RGB44 */
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB45 */
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, /* RGB134 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB145 */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB144*/
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB148 */
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB147 */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB146 */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB140 */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB141 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB49 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB52 */
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB53 */
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB54 */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB142 */
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB143 */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, /* RGB149 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB46 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB47 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB48 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB49 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB50 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB51 */
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, /* RGB52 */
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, /* RGB53 */
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB142 */
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB143 */
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB149 */
};
led_config_t g_led_config = {
{
@@ -142,14 +142,4 @@ led_config_t g_led_config = {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
}
};
-
-
-
-
#endif
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(B7);
- writePinHigh(B7);
- keyboard_pre_init_user();
-}
diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/config.h
index d78cbab672..5d5ce04668 100644
--- a/keyboards/melgeek/z70ultra/config.h
+++ b/keyboards/melgeek/z70ultra/config.h
@@ -16,60 +16,6 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 69
+
#define DRIVER_INDICATOR_LED_TOTAL 6
diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/info.json
index ae555e046b..471929f9db 100644
--- a/keyboards/melgeek/z70ultra/info.json
+++ b/keyboards/melgeek/z70ultra/info.json
@@ -9,7 +9,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B1", "A10", "B5", "B4", "B3", "A15", "A2", "A1", "A0", "C15", "C14", "C13"],
diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c
index f978edea92..1cb46df643 100644
--- a/keyboards/melgeek/z70ultra/z70ultra.c
+++ b/keyboards/melgeek/z70ultra/z70ultra.c
@@ -18,78 +18,78 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS28_SW1, CS30_SW1, CS29_SW1}, /* RGB10 */
- {0, CS28_SW2, CS30_SW2, CS29_SW2}, /* RGB11 */
- {0, CS28_SW3, CS30_SW3, CS29_SW3}, /* RGB12 */
- {0, CS28_SW4, CS30_SW4, CS29_SW4}, /* RGB13 */
- {0, CS28_SW5, CS30_SW5, CS29_SW5}, /* RGB14 */
- {0, CS28_SW6, CS30_SW6, CS29_SW6}, /* RGB15 */
- {0, CS28_SW7, CS30_SW7, CS29_SW7}, /* RGB16 */
- {0, CS28_SW8, CS30_SW8, CS29_SW8}, /* RGB17 */
- {0, CS28_SW9, CS30_SW9, CS29_SW9}, /* RGB18 */
- {0, CS31_SW1, CS33_SW1, CS32_SW1}, /* RGB28 */
- {0, CS31_SW2, CS33_SW2, CS32_SW2}, /* RGB29 */
- {0, CS31_SW3, CS33_SW3, CS32_SW3}, /* RGB30 */
- {0, CS31_SW4, CS33_SW4, CS32_SW4}, /* RGB31 */
- {0, CS31_SW5, CS33_SW5, CS32_SW5}, /* RGB32 */
- {0, CS31_SW6, CS33_SW6, CS32_SW6}, /* RGB33 */
- {0, CS25_SW1, CS27_SW1, CS26_SW1}, /* RGB1 */
- {0, CS25_SW2, CS27_SW2, CS26_SW2}, /* RGB2 */
- {0, CS25_SW3, CS27_SW3, CS26_SW3}, /* RGB3 */
- {0, CS25_SW4, CS27_SW4, CS26_SW4}, /* RGB4 */
- {0, CS25_SW5, CS27_SW5, CS26_SW5}, /* RGB5 */
- {0, CS25_SW6, CS27_SW6, CS26_SW6}, /* RGB6 */
- {0, CS25_SW7, CS27_SW7, CS26_SW7}, /* RGB7 */
- {0, CS25_SW8, CS27_SW8, CS26_SW8}, /* RGB8 */
- {0, CS25_SW9, CS27_SW9, CS26_SW9}, /* RGB9 */
- {0, CS34_SW1, CS36_SW1, CS35_SW1}, /* RGB46 */
- {0, CS34_SW2, CS36_SW2, CS35_SW2}, /* RGB47 */
- {0, CS34_SW3, CS36_SW3, CS35_SW3}, /* RGB48 */
- {0, CS34_SW4, CS36_SW4, CS35_SW4}, /* RGB49 */
- {0, CS34_SW5, CS36_SW5, CS35_SW5}, /* RGB50 */
- {0, CS31_SW7, CS33_SW7, CS32_SW7}, /* RGB34 */
- {0, CS22_SW1, CS24_SW1, CS23_SW1}, /* RGB37 */
- {0, CS22_SW2, CS24_SW2, CS23_SW2}, /* RGB38 */
- {0, CS22_SW3, CS24_SW3, CS23_SW3}, /* RGB39 */
- {0, CS22_SW4, CS24_SW4, CS23_SW4}, /* RGB40 */
- {0, CS22_SW5, CS24_SW5, CS23_SW5}, /* RGB41 */
- {0, CS22_SW6, CS24_SW6, CS23_SW6}, /* RGB42 */
- {0, CS22_SW7, CS24_SW7, CS23_SW7}, /* RGB43 */
- {0, CS22_SW8, CS24_SW8, CS23_SW8}, /* RGB44 */
- {0, CS22_SW9, CS24_SW9, CS23_SW9}, /* RGB45 */
- {0, CS34_SW9, CS36_SW9, CS35_SW9}, /* RGB54 */
- {0, CS34_SW8, CS36_SW8, CS35_SW8}, /* RGB53 */
- {0, CS34_SW7, CS36_SW7, CS35_SW7}, /* RGB52 */
- {0, CS34_SW6, CS36_SW6, CS35_SW6}, /* RGB51 */
- {0, CS31_SW8, CS33_SW8, CS32_SW8}, /* RGB35 */
- {0, CS19_SW2, CS21_SW2, CS20_SW2}, /* RGB56 */
- {0, CS19_SW4, CS21_SW4, CS20_SW4}, /* RGB60 */
- {0, CS19_SW5, CS21_SW5, CS20_SW5}, /* RGB59 */
- {0, CS19_SW6, CS21_SW6, CS20_SW6}, /* RGB60 */
- {0, CS19_SW7, CS21_SW7, CS20_SW7}, /* RGB61 */
- {0, CS19_SW8, CS21_SW8, CS20_SW8}, /* RGB62 */
- {0, CS19_SW9, CS21_SW9, CS20_SW9}, /* RGB63 */
- {0, CS19_SW3, CS21_SW3, CS20_SW3}, /* RGB57 */
- {0, CS19_SW1, CS21_SW1, CS20_SW1}, /* RGB55 */
- {0, CS37_SW5, CS39_SW5, CS38_SW5}, /* RGB23 */
- {0, CS37_SW6, CS39_SW6, CS38_SW6}, /* RGB24 */
- {0, CS37_SW7, CS39_SW7, CS38_SW7}, /* RGB25 */
- {0, CS37_SW8, CS39_SW8, CS38_SW8}, /* RGB26 */
- {0, CS31_SW9, CS33_SW9, CS32_SW9}, /* RGB36 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS28, SW1_CS30, SW1_CS29}, /* RGB10 */
+ {0, SW2_CS28, SW2_CS30, SW2_CS29}, /* RGB11 */
+ {0, SW3_CS28, SW3_CS30, SW3_CS29}, /* RGB12 */
+ {0, SW4_CS28, SW4_CS30, SW4_CS29}, /* RGB13 */
+ {0, SW5_CS28, SW5_CS30, SW5_CS29}, /* RGB14 */
+ {0, SW6_CS28, SW6_CS30, SW6_CS29}, /* RGB15 */
+ {0, SW7_CS28, SW7_CS30, SW7_CS29}, /* RGB16 */
+ {0, SW8_CS28, SW8_CS30, SW8_CS29}, /* RGB17 */
+ {0, SW9_CS28, SW9_CS30, SW9_CS29}, /* RGB18 */
+ {0, SW1_CS31, SW1_CS33, SW1_CS32}, /* RGB28 */
+ {0, SW2_CS31, SW2_CS33, SW2_CS32}, /* RGB29 */
+ {0, SW3_CS31, SW3_CS33, SW3_CS32}, /* RGB30 */
+ {0, SW4_CS31, SW4_CS33, SW4_CS32}, /* RGB31 */
+ {0, SW5_CS31, SW5_CS33, SW5_CS32}, /* RGB32 */
+ {0, SW6_CS31, SW6_CS33, SW6_CS32}, /* RGB33 */
+ {0, SW1_CS25, SW1_CS27, SW1_CS26}, /* RGB1 */
+ {0, SW2_CS25, SW2_CS27, SW2_CS26}, /* RGB2 */
+ {0, SW3_CS25, SW3_CS27, SW3_CS26}, /* RGB3 */
+ {0, SW4_CS25, SW4_CS27, SW4_CS26}, /* RGB4 */
+ {0, SW5_CS25, SW5_CS27, SW5_CS26}, /* RGB5 */
+ {0, SW6_CS25, SW6_CS27, SW6_CS26}, /* RGB6 */
+ {0, SW7_CS25, SW7_CS27, SW7_CS26}, /* RGB7 */
+ {0, SW8_CS25, SW8_CS27, SW8_CS26}, /* RGB8 */
+ {0, SW9_CS25, SW9_CS27, SW9_CS26}, /* RGB9 */
+ {0, SW1_CS34, SW1_CS36, SW1_CS35}, /* RGB46 */
+ {0, SW2_CS34, SW2_CS36, SW2_CS35}, /* RGB47 */
+ {0, SW3_CS34, SW3_CS36, SW3_CS35}, /* RGB48 */
+ {0, SW4_CS34, SW4_CS36, SW4_CS35}, /* RGB49 */
+ {0, SW5_CS34, SW5_CS36, SW5_CS35}, /* RGB50 */
+ {0, SW7_CS31, SW7_CS33, SW7_CS32}, /* RGB34 */
+ {0, SW1_CS22, SW1_CS24, SW1_CS23}, /* RGB37 */
+ {0, SW2_CS22, SW2_CS24, SW2_CS23}, /* RGB38 */
+ {0, SW3_CS22, SW3_CS24, SW3_CS23}, /* RGB39 */
+ {0, SW4_CS22, SW4_CS24, SW4_CS23}, /* RGB40 */
+ {0, SW5_CS22, SW5_CS24, SW5_CS23}, /* RGB41 */
+ {0, SW6_CS22, SW6_CS24, SW6_CS23}, /* RGB42 */
+ {0, SW7_CS22, SW7_CS24, SW7_CS23}, /* RGB43 */
+ {0, SW8_CS22, SW8_CS24, SW8_CS23}, /* RGB44 */
+ {0, SW9_CS22, SW9_CS24, SW9_CS23}, /* RGB45 */
+ {0, SW9_CS34, SW9_CS36, SW9_CS35}, /* RGB54 */
+ {0, SW8_CS34, SW8_CS36, SW8_CS35}, /* RGB53 */
+ {0, SW7_CS34, SW7_CS36, SW7_CS35}, /* RGB52 */
+ {0, SW6_CS34, SW6_CS36, SW6_CS35}, /* RGB51 */
+ {0, SW8_CS31, SW8_CS33, SW8_CS32}, /* RGB35 */
+ {0, SW2_CS19, SW2_CS21, SW2_CS20}, /* RGB56 */
+ {0, SW4_CS19, SW4_CS21, SW4_CS20}, /* RGB60 */
+ {0, SW5_CS19, SW5_CS21, SW5_CS20}, /* RGB59 */
+ {0, SW6_CS19, SW6_CS21, SW6_CS20}, /* RGB60 */
+ {0, SW7_CS19, SW7_CS21, SW7_CS20}, /* RGB61 */
+ {0, SW8_CS19, SW8_CS21, SW8_CS20}, /* RGB62 */
+ {0, SW9_CS19, SW9_CS21, SW9_CS20}, /* RGB63 */
+ {0, SW3_CS19, SW3_CS21, SW3_CS20}, /* RGB57 */
+ {0, SW1_CS19, SW1_CS21, SW1_CS20}, /* RGB55 */
+ {0, SW5_CS37, SW5_CS39, SW5_CS38}, /* RGB23 */
+ {0, SW6_CS37, SW6_CS39, SW6_CS38}, /* RGB24 */
+ {0, SW7_CS37, SW7_CS39, SW7_CS38}, /* RGB25 */
+ {0, SW8_CS37, SW8_CS39, SW8_CS38}, /* RGB26 */
+ {0, SW9_CS31, SW9_CS33, SW9_CS32}, /* RGB36 */
- {0, CS6_SW1, CS8_SW1, CS7_SW1}, /* RGB64 */
- {0, CS6_SW3, CS8_SW3, CS7_SW3}, /* RGB66 */
- {0, CS6_SW4, CS8_SW4, CS7_SW4}, /* RGB67 */
- {0, CS6_SW5, CS8_SW5, CS7_SW5}, /* RGB69 */
- {0, CS6_SW6, CS8_SW6, CS7_SW6}, /* RGB70 */
- {0, CS6_SW2, CS8_SW2, CS7_SW2}, /* RGB65 */
+ {0, SW1_CS6, SW1_CS8, SW1_CS7}, /* RGB64 */
+ {0, SW3_CS6, SW3_CS8, SW3_CS7}, /* RGB66 */
+ {0, SW4_CS6, SW4_CS8, SW4_CS7}, /* RGB67 */
+ {0, SW5_CS6, SW5_CS8, SW5_CS7}, /* RGB69 */
+ {0, SW6_CS6, SW6_CS8, SW6_CS7}, /* RGB70 */
+ {0, SW2_CS6, SW2_CS8, SW2_CS7}, /* RGB65 */
- {0, CS37_SW1, CS39_SW1, CS38_SW1}, /* RGB19 */
- {0, CS37_SW2, CS39_SW2, CS38_SW2}, /* RGB20 */
- {0, CS37_SW3, CS39_SW3, CS38_SW3}, /* RGB21 */
- {0, CS37_SW4, CS39_SW4, CS38_SW4}, /* RGB22 */
- {0, CS37_SW9, CS39_SW9, CS38_SW9}, /* RGB27 */
+ {0, SW1_CS37, SW1_CS39, SW1_CS38}, /* RGB19 */
+ {0, SW2_CS37, SW2_CS39, SW2_CS38}, /* RGB20 */
+ {0, SW3_CS37, SW3_CS39, SW3_CS38}, /* RGB21 */
+ {0, SW4_CS37, SW4_CS39, SW4_CS38}, /* RGB22 */
+ {0, SW9_CS37, SW9_CS39, SW9_CS38}, /* RGB27 */
};
led_config_t g_led_config = {
{
@@ -118,12 +118,12 @@ led_config_t g_led_config = {
};
const is31fl3741_led_t g_is31_indicator_leds[6] = {
- {0, CS5_SW1, CS3_SW1, CS4_SW1}, /* RGB71 */
- {0, CS5_SW2, CS3_SW2, CS4_SW2}, /* RGB72 */
- {0, CS5_SW3, CS3_SW3, CS4_SW3}, /* RGB73 */
- {0, CS5_SW4, CS3_SW4, CS4_SW4}, /* RGB74 */
- {0, CS5_SW5, CS3_SW5, CS4_SW5}, /* RGB75 */
- {0, CS5_SW6, CS3_SW6, CS4_SW6}, /* RGB76 */
+ {0, SW1_CS5, SW1_CS3, SW1_CS4}, /* RGB71 */
+ {0, SW2_CS5, SW2_CS3, SW2_CS4}, /* RGB72 */
+ {0, SW3_CS5, SW3_CS3, SW3_CS4}, /* RGB73 */
+ {0, SW4_CS5, SW4_CS3, SW4_CS4}, /* RGB74 */
+ {0, SW5_CS5, SW5_CS3, SW5_CS4}, /* RGB75 */
+ {0, SW6_CS5, SW6_CS3, SW6_CS4}, /* RGB76 */
};
bool led_update_kb(led_t led_state) {
@@ -161,7 +161,7 @@ void matrix_init_kb(void) {
is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
matrix_init_user();
}
diff --git a/keyboards/merge/um70/config.h b/keyboards/merge/um70/config.h
index 04569dc989..2d9f73d61a 100644
--- a/keyboards/merge/um70/config.h
+++ b/keyboards/merge/um70/config.h
@@ -20,11 +20,6 @@
#define MASTER_LEFT
#define SPLIT_MODS_ENABLE
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 83
-# define RGB_MATRIX_SPLIT { 39, 44 }
-#endif
-
#define B6_AUDIO
#ifdef AUDIO_ENABLE
diff --git a/keyboards/merge/um70/info.json b/keyboards/merge/um70/info.json
index 95f3bb1cea..9c120b9224 100644
--- a/keyboards/merge/um70/info.json
+++ b/keyboards/merge/um70/info.json
@@ -24,6 +24,10 @@
"ws2812": {
"pin": "D3"
},
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "split_count": [39, 44]
+ },
"rgblight": {
"led_count": 83,
"max_brightness": 150,
diff --git a/keyboards/merge/um80/config.h b/keyboards/merge/um80/config.h
index 70a5d7ba59..d23f9163a7 100644
--- a/keyboards/merge/um80/config.h
+++ b/keyboards/merge/um80/config.h
@@ -20,11 +20,6 @@
#define MASTER_LEFT
#define SPLIT_MODS_ENABLE
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 100
-# define RGB_MATRIX_SPLIT { 48, 52 }
-#endif
-
#define AUDIO_PIN B6
#ifdef AUDIO_ENABLE
diff --git a/keyboards/miiiw/blackio83/config.h b/keyboards/miiiw/blackio83/config.h
index 73c98722e9..055e8e3579 100644
--- a/keyboards/miiiw/blackio83/config.h
+++ b/keyboards/miiiw/blackio83/config.h
@@ -18,39 +18,3 @@
// EEPROM i2c chip
#define EEPROM_I2C_24LC256
-
-/* Disable the animations you don't want/need. You will need to disable a good number of these *
- * because they take up a lot of space. Disable until you can successfully compile your firmware. */
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
diff --git a/keyboards/miiiw/blackio83/info.json b/keyboards/miiiw/blackio83/info.json
index 107e288099..ef0e15efb9 100644
--- a/keyboards/miiiw/blackio83/info.json
+++ b/keyboards/miiiw/blackio83/info.json
@@ -31,6 +31,40 @@
},
"processor": "STM32F072",
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "center_point": [62, 42],
+ "default": {
+ "animation": "solid_color"
+ },
"driver": "ws2812",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
diff --git a/keyboards/miiiw/blackio83/rev_0100/config.h b/keyboards/miiiw/blackio83/rev_0100/config.h
index e68a9d0b16..b1eec364ed 100644
--- a/keyboards/miiiw/blackio83/rev_0100/config.h
+++ b/keyboards/miiiw/blackio83/rev_0100/config.h
@@ -36,9 +36,6 @@
/* RGB Matrix config */
#define RGB_EN_PIN A8
-#define RGBLED_NUM 83
-#define RGB_MATRIX_LED_COUNT 83
-#define RGB_MATRIX_CENTER { 62, 42 }
// PWM RGB Underglow Defines
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB
diff --git a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
deleted file mode 100644
index b28ac84acb..0000000000
--- a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2023 ArthurCyy <https://github.com/ArthurCyy>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "blackio83.h"
diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h
index 2bda7f75bb..130f99d7b7 100644
--- a/keyboards/miller/gm862/config.h
+++ b/keyboards/miller/gm862/config.h
@@ -1,58 +1,3 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-# define RGB_MATRIX_LED_COUNT 62
-#endif
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/miller/gm862/gm862.c b/keyboards/miller/gm862/gm862.c
index b677ae3be4..534ef6cdc6 100644
--- a/keyboards/miller/gm862/gm862.c
+++ b/keyboards/miller/gm862/gm862.c
@@ -1,68 +1,68 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- {0, B_1, A_1, C_1},
- {0, B_2, A_2, C_2},
- {0, B_3, A_3, C_3},
- {0, B_4, A_4, C_4},
- {0, B_5, A_5, C_5},
- {0, B_6, A_6, C_6},
- {0, B_7, A_7, C_7},
- {0, B_8, A_8, C_8},
- {0, B_9, A_9, C_9},
- {0, B_10, A_10, C_10},
- {0, B_11, A_11, C_11},
- {0, B_12, A_12, C_12},
- {0, B_13, A_13, C_13},
- {0, B_14, A_14, C_14},
- {0, E_1, D_1, F_1},
- {0, E_2, D_2, F_2},
- {0, E_3, D_3, F_3},
- {0, E_4, D_4, F_4},
- {0, E_5, D_5, F_5},
- {0, E_6, D_6, F_6},
- {0, E_7, D_7, F_7},
- {0, E_8, D_8, F_8},
- {0, E_9, D_9, F_9},
- {0, E_10, D_10, F_10},
- {0, E_11, D_11, F_11},
- {0, E_12, D_12, F_12},
- {0, E_13, D_13, F_13},
- {0, E_14, D_14, F_14},
- {0, H_1, G_1, I_1},
- {0, H_2, G_2, I_2},
- {0, H_3, G_3, I_3},
- {0, H_4, G_4, I_4},
- {0, H_5, G_5, I_5},
- {0, H_6, G_6, I_6},
- {0, H_7, G_7, I_7},
- {0, H_8, G_8, I_8},
- {0, H_9, G_9, I_9},
- {0, H_10, G_10, I_10},
- {0, H_11, G_11, I_11},
- {0, H_12, G_12, I_12},
- {0, H_13, G_13, I_13},
- {0, K_1, J_1, L_1},
- {0, K_2, J_2, L_2},
- {0, K_3, J_3, L_3},
- {0, K_4, J_4, L_4},
- {0, K_5, J_5, L_5},
- {0, K_6, J_6, L_6},
- {0, K_7, J_7, L_7},
- {0, K_8, J_8, L_8},
- {0, K_9, J_9, L_9},
- {0, K_10, J_10, L_10},
- {0, K_11, J_11, L_11},
- {0, K_14, J_14, L_14},
- {0, B_16, A_16, C_16},
- {0, E_16, D_16, F_16},
- {0, H_16, G_16, I_16},
- {0, K_16, J_16, L_16},
- {0, K_15, J_15, L_15},
- {0, K_12, J_12, L_12},
- {0, K_13, J_13, L_13},
- {0, H_14, G_14, I_14},
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ {0, SW2_CS1, SW1_CS1, SW3_CS1},
+ {0, SW2_CS2, SW1_CS2, SW3_CS2},
+ {0, SW2_CS3, SW1_CS3, SW3_CS3},
+ {0, SW2_CS4, SW1_CS4, SW3_CS4},
+ {0, SW2_CS5, SW1_CS5, SW3_CS5},
+ {0, SW2_CS6, SW1_CS6, SW3_CS6},
+ {0, SW2_CS7, SW1_CS7, SW3_CS7},
+ {0, SW2_CS8, SW1_CS8, SW3_CS8},
+ {0, SW2_CS9, SW1_CS9, SW3_CS9},
+ {0, SW2_CS10, SW1_CS10, SW3_CS10},
+ {0, SW2_CS11, SW1_CS11, SW3_CS11},
+ {0, SW2_CS12, SW1_CS12, SW3_CS12},
+ {0, SW2_CS13, SW1_CS13, SW3_CS13},
+ {0, SW2_CS14, SW1_CS14, SW3_CS14},
+ {0, SW5_CS1, SW4_CS1, SW6_CS1},
+ {0, SW5_CS2, SW4_CS2, SW6_CS2},
+ {0, SW5_CS3, SW4_CS3, SW6_CS3},
+ {0, SW5_CS4, SW4_CS4, SW6_CS4},
+ {0, SW5_CS5, SW4_CS5, SW6_CS5},
+ {0, SW5_CS6, SW4_CS6, SW6_CS6},
+ {0, SW5_CS7, SW4_CS7, SW6_CS7},
+ {0, SW5_CS8, SW4_CS8, SW6_CS8},
+ {0, SW5_CS9, SW4_CS9, SW6_CS9},
+ {0, SW5_CS10, SW4_CS10, SW6_CS10},
+ {0, SW5_CS11, SW4_CS11, SW6_CS11},
+ {0, SW5_CS12, SW4_CS12, SW6_CS12},
+ {0, SW5_CS13, SW4_CS13, SW6_CS13},
+ {0, SW5_CS14, SW4_CS14, SW6_CS14},
+ {0, SW8_CS1, SW7_CS1, SW9_CS1},
+ {0, SW8_CS2, SW7_CS2, SW9_CS2},
+ {0, SW8_CS3, SW7_CS3, SW9_CS3},
+ {0, SW8_CS4, SW7_CS4, SW9_CS4},
+ {0, SW8_CS5, SW7_CS5, SW9_CS5},
+ {0, SW8_CS6, SW7_CS6, SW9_CS6},
+ {0, SW8_CS7, SW7_CS7, SW9_CS7},
+ {0, SW8_CS8, SW7_CS8, SW9_CS8},
+ {0, SW8_CS9, SW7_CS9, SW9_CS9},
+ {0, SW8_CS10, SW7_CS10, SW9_CS10},
+ {0, SW8_CS11, SW7_CS11, SW9_CS11},
+ {0, SW8_CS12, SW7_CS12, SW9_CS12},
+ {0, SW8_CS13, SW7_CS13, SW9_CS13},
+ {0, SW11_CS1, SW10_CS1, SW12_CS1},
+ {0, SW11_CS2, SW10_CS2, SW12_CS2},
+ {0, SW11_CS3, SW10_CS3, SW12_CS3},
+ {0, SW11_CS4, SW10_CS4, SW12_CS4},
+ {0, SW11_CS5, SW10_CS5, SW12_CS5},
+ {0, SW11_CS6, SW10_CS6, SW12_CS6},
+ {0, SW11_CS7, SW10_CS7, SW12_CS7},
+ {0, SW11_CS8, SW10_CS8, SW12_CS8},
+ {0, SW11_CS9, SW10_CS9, SW12_CS9},
+ {0, SW11_CS10, SW10_CS10, SW12_CS10},
+ {0, SW11_CS11, SW10_CS11, SW12_CS11},
+ {0, SW11_CS14, SW10_CS14, SW12_CS14},
+ {0, SW2_CS16, SW1_CS16, SW3_CS16},
+ {0, SW5_CS16, SW4_CS16, SW6_CS16},
+ {0, SW8_CS16, SW7_CS16, SW9_CS16},
+ {0, SW11_CS16, SW10_CS16, SW12_CS16},
+ {0, SW11_CS15, SW10_CS15, SW12_CS15},
+ {0, SW11_CS12, SW10_CS12, SW12_CS12},
+ {0, SW11_CS13, SW10_CS13, SW12_CS13},
+ {0, SW8_CS14, SW7_CS14, SW9_CS14},
};
led_config_t g_led_config = { {
diff --git a/keyboards/miller/gm862/info.json b/keyboards/miller/gm862/info.json
index 952bb34397..1249b0a5ab 100644
--- a/keyboards/miller/gm862/info.json
+++ b/keyboards/miller/gm862/info.json
@@ -9,7 +9,38 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3733",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B5", "B6", "C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/miniaxe/keymaps/underglow/rules.mk b/keyboards/miniaxe/keymaps/underglow/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/miniaxe/keymaps/underglow/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/miniaxe/readme.md b/keyboards/miniaxe/readme.md
deleted file mode 100644
index 57ed01a917..0000000000
--- a/keyboards/miniaxe/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-MiniAxe
-===
-
-![MiniAxe](https://i.imgur.com/1ApzrCz.jpg)
-
-Yet another split ortholinear keyboard with 3x5+3 keys.
-
-Keyboard Maintainer: [ka2hiro](https://github.com/ka2hiro) [@ka2hiro](https://twitter.com/ka2hiro)
-Hardware Supported: MiniAxe PCB, ATMEGA32U4
-Hardware Availability: [@ka2hiro](https://twitter.com/ka2hiro)
-
-Make example for this keyboard (after setting up your build environment):
-
- make miniaxe:default:dfu
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/minimacro5/keymaps/kabraxcis/keymap.c b/keyboards/minimacro5/keymaps/kabraxcis/keymap.c
deleted file mode 100644
index 6b7026ce20..0000000000
--- a/keyboards/minimacro5/keymaps/kabraxcis/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2020 dezlidezlidezli
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- _MAIN,
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder*/
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) { /* Second encoder*/
- if (clockwise) {
- tap_code(KC_3);
- } else {
- tap_code(KC_4);
- }
- } else if (index == 2) { /* Third encoder*/
- if (clockwise) {
- tap_code(KC_5);
- } else {
- tap_code(KC_6);
- }
- } else if (index == 3) { /* Fourth encoder*/
- if (clockwise) {
- tap_code(KC_7);
- } else {
- tap_code(KC_8);
- }
- } else if (index == 4) { /* Fifth encoder*/
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-
-//
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_1x5(
- KC_CAPS, KC_MNXT, KC_MPLY, KC_MPRV, KC_CAPS
- )
-};
diff --git a/keyboards/minimacro5/keymaps/voaraq/keymap.c b/keyboards/minimacro5/keymaps/voaraq/keymap.c
deleted file mode 100644
index 9af37167dc..0000000000
--- a/keyboards/minimacro5/keymaps/voaraq/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2020 dezlidezlidezli
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- _MAIN,
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder*/
- if (clockwise) {
- tap_code(KC_1);
- } else {
- tap_code(KC_2);
- }
- } else if (index == 1) { /* Second encoder*/
- if (clockwise) {
- tap_code(KC_3);
- } else {
- tap_code(KC_4);
- }
- } else if (index == 2) { /* Third encoder*/
- if (clockwise) {
- tap_code(KC_5);
- } else {
- tap_code(KC_6);
- }
- } else if (index == 3) { /* Fourth encoder*/
- if (clockwise) {
- tap_code(KC_7);
- } else {
- tap_code(KC_8);
- }
- } else if (index == 4) { /* Fifth encoder*/
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-
-//
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //buttion closest to usb is first
- [_MAIN] = LAYOUT_ortho_1x5(
- KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MUTE
- )
-};
diff --git a/keyboards/mino/readme.md b/keyboards/mino/readme.md
deleted file mode 100644
index e13718b86c..0000000000
--- a/keyboards/mino/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# mino
-
-![Mino](https://i.imgur.com/f5kHu8Qh.jpg)
-
-A 47 key board with a retro twist.
-
-* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
-* Hardware Supported: Mino PCB
-* Hardware Availability: Groupbuy
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. For the default keymap it is the middle spacebar on the second layer.
-
-Make example for this keyboard (after setting up your build environment):
-
- make mino/hotswap:default
-
-Flashing example for this keyboard:
-
- make mino/hotswap:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mino_plus/mino_plus.c b/keyboards/mino_plus/mino_plus.c
deleted file mode 100644
index cd651b6d17..0000000000
--- a/keyboards/mino_plus/mino_plus.c
+++ /dev/null
@@ -1,248 +0,0 @@
-// Copyright 2023 ShandonCodes (@ShandonCodes)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include "quantum.h"
-
-#ifdef OLED_ENABLE
-#define FRAMES 5
-#define ANIMATION_SIZE 512
-#define TAP_SPEED 30
-
-uint8_t current_frame = 0;
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint32_t ANIM_FRAME_DURATION = 1000;
-
-static void render_animation(void) {
- static const char PROGMEM animation_frames[FRAMES][ANIMATION_SIZE] = {
- // 'Base', 32x128px
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
- 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
- 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
- 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
- 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
- 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
- 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
- 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
- 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
- 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
- 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
- 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
- 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
- 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
- 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
-
- // 'Frame_1', 32x128px
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x4c, 0x4c, 0xfc, 0xfc, 0x4c,
- 0x4c, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x04,
- 0x04, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
- 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
- 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
- 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
- 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
- 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
- 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
- 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
- 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
- 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
- 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
- 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
- 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
- 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
- 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
-
- // 'Frame_2', 32x128px
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40,
- 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x3f, 0x7f, 0x44,
- 0x44, 0x7f, 0x7c, 0x44, 0x44, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
- 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
- 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
- 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
- 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
- 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
- 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
- 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
- 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
- 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
- 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
- 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
- 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
- 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
- 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
-
- // 'Frame_3', 32x128px
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x44, 0x44, 0xfc, 0xfc, 0x44,
- 0x44, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x43, 0x47, 0xc4,
- 0x44, 0x47, 0x47, 0xc4, 0x44, 0x47, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
- 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
- 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
- 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
- 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
- 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
- 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
- 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
- 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
- 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
- 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
- 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
- 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
- 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
-
- // 'Frame_4', 32x128px
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40,
- 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc4, 0x44, 0x7f, 0x7f, 0xe6,
- 0x66, 0x7f, 0x7e, 0xe4, 0x64, 0x7c, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
- 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
- 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
- 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
- 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
- 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
- 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
- 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
- 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
- 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
- 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
- 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
- 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
- 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
- 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}
- };
-
- void animate_phase(void) {
- current_frame = (current_frame + 1) % FRAMES;
- oled_write_raw_P(animation_frames[current_frame], ANIMATION_SIZE);
- }
-
- if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if (get_current_wpm() > TAP_SPEED){
- ANIM_FRAME_DURATION = 100;
- } else {
- ANIM_FRAME_DURATION = 1000;
- }
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animate_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animate_phase();
- }
- }
- }
-}
-
-static void render_status(void) {
- // Host Keyboard Layer Status
- oled_write_ln_P(PSTR("Layer"), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("1"), false);
- break;
- case 2:
- oled_write_ln_P(PSTR("2"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-}
-
-oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
-
-bool oled_task_kb(void) {
- render_animation();
- render_status();
-
- oled_write_ln_P(PSTR("WPM:"), false);
- oled_write_ln(get_u8_str(get_current_wpm(), '0'), false);
-
- return false;
-}
-#endif \ No newline at end of file
diff --git a/keyboards/mino_plus/readme.md b/keyboards/mino_plus/readme.md
deleted file mode 100644
index 0a85b6dc58..0000000000
--- a/keyboards/mino_plus/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# mino_plus
-
-![mino_plus](https://i.imgur.com/vZJ6kaNh.jpg)
-
-A 65% keyboard, inspried by tetrominos.
-
-* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
-* Hardware Supported: Mino Plus PCB
-* Hardware Availability: https://store.shandon.codes/mino-plus/
-
-Make example for this keyboard (after setting up your build environment):
-
- make mino_plus/soldered:default
- make mino_plus/hotswap:default
-
-Flashing example for this keyboard:
-
- make mino_plus/soldered:default:flash
- make mino_plus/hotswap:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `FN` + `R` if it is available.
diff --git a/keyboards/misonoworks/karina/keymaps/voltex/keymap.c b/keyboards/misonoworks/karina/keymaps/voltex/keymap.c
deleted file mode 100644
index f06522f92a..0000000000
--- a/keyboards/misonoworks/karina/keymaps/voltex/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-Copyright 2020 MisonoWorks
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 {
- DEFAULT,
- SUPER,
- META,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [DEFAULT] = LAYOUT(
- KC_TRNS, KC_TRNS,
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
- KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL
- ),
-
- [SUPER] = LAYOUT(
- KC_ESC, KC_TRNS,
- KC_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS
- ),
-
- [META] = LAYOUT(
- KC_TRNS, KC_TRNS,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS, KC_P2, KC_P0, KC_P1, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD
- )
-
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MS_LEFT);
- } else {
- tap_code(KC_MS_RIGHT);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_MS_U);
- } else {
- tap_code(KC_MS_D);
- }
- }
- return true;
-}
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
deleted file mode 100644
index 842556324f..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c
+++ /dev/null
@@ -1,123 +0,0 @@
-// This is the Dvorak-friendly layout for the Mitosis by CarVac (/u/CarVac)
-// It features space on the left thumb, shift on the right thumb, a
-// number layer with all the numbers on the home row, and a function layer
-// that provides mouse keys among other things.
-
-#include QMK_KEYBOARD_H
-
-enum mitosis_layers
-{
- _STD,
- _NUM,
- _FN
-};
-
-
-//Mousekeys
-#define MOUSEKEY_DELAY 300
-#define MOUSEKEY_INTERNAL 50
-#define MOUSEKEY_MAX_SPEED 20
-#define MOUSEKEY_TIME_TO_MAX 30
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY
- * .--------------------------------------------..--------------------------------------------.
- * | Q | W | E | R | T || Y | U | I | O | P |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | A | S | D | F | G || J | H | K | L | ; |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | Z | X | C | V | B || N | M | , | . | / |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | PGUP | TAB | LCTRL | SPACE || LSHIFT | ENTER | UP | PSCR |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | PGDN | LGUI | LALT | FN || NUM | LEFT | DOWN | RIGHT |
- * '-----------------------------------''-----------------------------------'
- */
- [_STD] = LAYOUT( /* Standard; as compatible with dvorak and qwerty as possible */
- 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_PGUP, KC_TAB, KC_LCTL, KC_SPC, KC_LSFT, KC_ENT, KC_UP, KC_PSCR,
- KC_PGDN, KC_LGUI, KC_LALT, MO(_FN), MO(_NUM), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Number layout, for data entry and programming purposes (Dvorak result in parens)
- * .--------------------------------------------..--------------------------------------------.
- * | TAB | (,<) | (.>) | - ([{) | = (]}) || ] (=+) | pad * | pad + | pad - | [ (/?) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | F11 | F12 | | || | | | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | | | | || | | | |
- * '-----------------------------------''-----------------------------------'
- */
- [_NUM] = LAYOUT( /* Number layout along the home row for maximum speed*/
- KC_TAB, _______, _______, KC_MINS, KC_EQL, KC_RBRC, KC_PAST, KC_PPLS, KC_PMNS, KC_LBRC,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
- /* Fn layout, for typing purposes (Dvorak result in parens)
- * .--------------------------------------------..--------------------------------------------.
- * | ` | | MS_U | | || WH_U | WH_L | BTN3 | WH_R | [ (/?) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | ESC | MS_L | MS_D | MS_R | || WH_D | BTN1 | BTN2 | | ' (-_) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | APP | MPRV | MPLY | MSTP | MNXT || | BSPC | DEL | INS | \ |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | VOLU | | | || | | PGUP | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | VOLD | | | || | HOME | PGDN | END |
- * '-----------------------------------''-----------------------------------'
- */
- [_FN] = LAYOUT( /* Function Layer, primary alternative layer featuring numpad on right hand,
- cursor keys on left hand, and all symbols*/
- KC_GRV, _______, KC_MS_U, _______, _______, KC_WH_U, KC_WH_L, KC_BTN3, KC_WH_R, KC_LBRC,
- KC_ESC, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_WH_D, KC_BTN1, KC_BTN2, _______, KC_QUOT,
- KC_APP, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, _______, KC_BSPC, KC_DEL, KC_INS, KC_BSLS,
- KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, _______,
- KC_VOLD, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- /* blank key layout template
- * .--------------------------------------------..--------------------------------------------.
- * | | | | | || | | | | |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | | | | | || | | | | |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | | | | | || | | | | |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | | | | || | | | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | | | | || | | | |
- * '-----------------------------------''-----------------------------------'
- */
-
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- switch (layer) {
- case _STD:
- set_led_off;
- break;
- case _FN:
- set_led_blue;
- break;
- case _NUM:
- set_led_red;
- break;
- default:
- break;
- }
-};
diff --git a/keyboards/mitosis/keymaps/carvac_dv/rules.mk b/keyboards/mitosis/keymaps/carvac_dv/rules.mk
deleted file mode 100644
index 6c605daecf..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
deleted file mode 100644
index 07816067b4..0000000000
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-#include QMK_KEYBOARD_H
-
-enum mitosis_layers
-{
- _QWERTY,
- _WORKMAN,
- _NUMBERS,
- _PUNCT,
- _MOUSE,
- _LAYERS,
- _GAMING,
- _UNICODE,
- _NUMPAD
-};
-
-
-//Mousekeys
-#define MOUSEKEY_DELAY 300
-#define MOUSEKEY_INTERNAL 50
-#define MOUSEKEY_MAX_SPEED 20
-#define MOUSEKEY_TIME_TO_MAX 30
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-
-// Fillers to make layering more clear
-#define XXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // https://github.com/nhou7/qmk_firmware_amj40/blob/master/doc/keycode.txt
- /* 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', ', <', '. >', '\' "' ],
- [ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back', ],
- [ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt', ]
- */
- [_QWERTY] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE,
- KC_BSPC, KC_DELETE, KC_LCTL, TG( 2 ), TG( 3 ), KC_RCTL, KC_ENTER, KC_BSPC,
- KC_LALT, KC_0, KC_LSFT, KC_SPACE, KC_SPACE, KC_RSFT, KC_CAPS, KC_RALT
- ),
- /*
- ['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :' ],
- ['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I' ],
- ['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "' ],
- [ '', '', '', '',/ ** / '', '', '', '', ],
- [ '', '4', '', '',/ ** / '', '', '', '', ]
- */
- [_WORKMAN] = LAYOUT(
- KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,
- KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
- KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMMA, KC_DOT, KC_QUOTE,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp' ],
- [' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end' ],
- ['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.' ],
- // --
- [ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '', ],
- [ '', '6', '', '',/ ** / '', '', '', '', ]
- */
- [_NUMBERS] = LAYOUT(
- KC_9, KC_8, KC_7, KC_6, KC_5, KC_F2, KC_PGDN, KC_UP, KC_TAB, KC_PGUP,
- KC_4, KC_3, KC_2, KC_1, KC_0, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END,
- LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_LGUI, KC_D, KC_UNDERSCORE, KC_COMMA, KC_MINUS, KC_DOT,
- _______, _______, _______, TG( 2 ), TG( 3 ), _______, _______, _______,
- _______, KC_2, _______, _______, _______, _______, _______, _______
- ),
- /*
- [ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%' ],
- [ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '=' ],
- [ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/' ],
- // --
- ['', '', '', 'L_8',/ ** / 'L_=7', '', '', '', ],
- ['', '7', '', '',/ ** / '', '', '', '', ]
- */
- [_PUNCT] = LAYOUT(
- KC_HASH, KC_AT, KC_AMPERSAND, KC_DOT, KC_SCLN, KC_UNDERSCORE, KC_COMMA, KC_PIPE, KC_CIRCUMFLEX, KC_PERCENT,
- KC_ASTERISK, KC_PLUS, KC_LCBR, KC_LPRN, KC_COLON, KC_DQUO, KC_RPRN, KC_RCBR, KC_MINUS, KC_EQUAL,
- KC_BSLS, KC_QUESTION, KC_LT, KC_LBRC, KC_DOLLAR, KC_TILDE, KC_RBRC, KC_GT, KC_EXCLAIM, KC_SLASH,
- _______, _______, _______, TG( 4 ), TG( 3 ), _______, _______, _______,
- _______, KC_3, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU' ],
- ['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD' ],
- ['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3' ],
- // --
- [ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '', ],
- [ '', '8', '', '',/ ** / '', '', '', '', ]
- */
- [_MOUSE] = LAYOUT(
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MENU, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MENU, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
- KC_F11, KC_F12, KC_GRAVE, KC_MUTE, KC_ESCAPE, KC_PSCR, KC_SCRL, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_MS_BTN3,
- _______, _______, _______, TG( 4 ), TG( 5 ), _______, _______, _______,
- _______, KC_4, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!' ],
- ['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!' ],
- ['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!' ],
- // --
- [ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '', ],
- [ '', '9', '', '',/ ** / '', '', '', '', ]
- */
- [_LAYERS] = LAYOUT(
- KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, TG( 1 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- TG( 6 ), KC_EXCLAIM, TG( 7 ), KC_EXCLAIM, TG( 8 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- _______, _______, _______, TG( 5 ), TG( 5 ), _______, _______, _______,
- _______, KC_5, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1' ],
- ['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2' ],
- ['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3' ],
- // --
- [ '', '', '', 'L_=A',/ ** / 'A', '', '', '', ],
- [ '', 'A', '', '',/ ** / '', '', '', '', ]
- */
- [_GAMING] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P, KC_Y, KC_UP, KC_K, KC_1,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_LEFT, KC_DOWN, KC_RIGHT, KC_2,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_M, KC_ASTERISK, KC_ASTERISK, KC_ASTERISK, KC_3,
- _______, _______, _______, TG( 6 ), KC_6, _______, _______, _______,
- _______, KC_6, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
- ['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
- ['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* / ],
- // --
- [ '', '', '', 'L_=B',/ ** / 'B', '', '', '', ],
- [ '', 'B', '', '',/ ** / '', '', '', '', ]
- */
- [_UNICODE] = LAYOUT(
- UC(0x00A2), UC(0x00BC), UC(0x00BD), UC(0x03A3), UC(0x00D8), UC(0x250F), UC(0x2533), UC(0x2513), UC(0x03BB), UC(0x2018),
- UC(0x00F1), UC(0x00A9), UC(0x00B0), UC(0x00B1), UC(0x2B0F), UC(0x2523), UC(0x254B), UC(0x252B), UC(0x0394), UC(0x2019),
- UC(0x00A1), UC(0x00BF), UC(0x00D7), UC(0x00F7), UC(0x03C0), UC(0x2517), UC(0x253B), UC(0x251B), UC(0x201C), UC(0x201D),
- _______, _______, _______, TG( 7 ), KC_7, _______, _______, _______,
- _______, KC_7, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD' ],
- ['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus' ],
- ['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr' ],
- // --
- [ '', '', '', 'L_=C',/ ** / 'C', '', '', '', ],
- [ '', 'C', '', '',/ ** / '', '', '', '', ]
- */
- [_NUMPAD] = LAYOUT(
- KC_KP_DOT, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_EQUAL, KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, KC_VOLU, KC_VOLD,
- KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NUM, KC_WWW_BACK, KC_AUDIO_MUTE, KC_RGUI, KC_PAUSE,
- KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, KC_KP_ENTER, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_INSERT,
- _______, _______, _______, TG( 8 ), KC_8, _______, _______, _______,
- _______, KC_8, _______, _______, _______, _______, _______, _______
- )// ,
- /*
- * /
- [_] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
- */
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- switch (layer) {
- case _QWERTY:
- case _WORKMAN:
- set_led_off;
- break;
- case _NUMBERS:
- set_led_blue;
- break;
- case _PUNCT:
- set_led_red;
- break;
- case _MOUSE:
- set_led_green;
- break;
- case _LAYERS:
- set_led_yellow;
- break;
- case _UNICODE:
- set_led_cyan;
- break;
- default:
- break;
- }
-};
-
-void matrix_init_user(void) {
- set_unicode_input_mode(UNICODE_MODE_LINUX); // or UNICODE_MODE_WINCOMPOSE
-};
diff --git a/keyboards/mitosis/keymaps/nzen/readme.md b/keyboards/mitosis/keymaps/nzen/readme.md
deleted file mode 100644
index c11981bd4d..0000000000
--- a/keyboards/mitosis/keymaps/nzen/readme.md
+++ /dev/null
@@ -1,75 +0,0 @@
-
-### personal layout: Nzen
-
-Levels
-
-* Qwerty, with quotes in place of slash question.
-* Workman
-* Numbers and navigation, left and right hands respectively
-* Punctuation, mostly symmetric
-* Function and mouse, l/r respectively
-* Layer hub, to reach workman or upper layers
-* Gaming, qwert and arrows
-* Unicode, some numerics and one of the box styles
-* Numpad and media, l/r respectively
-
-Bottom cluster is the same on all levels and mostly symmetric. The 'ring fingers' differ between the two sides. N is a number corresponding to the current layer. Toggle layer will be one down and one up.
-
-* back del/enter ctrl toggle-layer
-* alt N/caps shift space
-
-You can preview the layout by cloning [this webpage](https://gitlab.com/Nzen/impatient-broth-nenem). The page imitates qmk's fallthrough.
-
-['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', ', <', '. >', '\' "'
-[ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back',
-[ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt',
-
-['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :'
-['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I'
-['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "'
-[ '', '', '', '',/ ** / '', '', '', '',
-[ '', '4', '', '',/ ** / '', '', '', '',
-
-['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp'
-[' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end'
-['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.'
-[ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '',
-[ '', '6', '', '',/ ** / '', '', '', '',
-
-[ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%'
-[ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '='
-[ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/'
-['', '', '', 'L_8',/ ** / 'L_=7', '', '', '',
-['', '7', '', '',/ ** / '', '', '', '',
-
-['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU'
-['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD'
-['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3'
-[ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '',
-[ '', '8', '', '',/ ** / '', '', '', '',
-
-['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!'
-['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!'
-['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!'
-[ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '',
-[ '', '9', '', '',/ ** / '', '', '', '',
-
-['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1'
-['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2'
-['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3'
-[ '', '', '', 'L_=A',/ ** / 'A', '', '', '',
-[ '', 'A', '', '',/ ** / '', '', '', '',
-
-['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
-['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
-['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* /
-[ '', '', '', 'L_=B',/ ** / 'B', '', '', '',
-[ '', 'B', '', '',/ ** / '', '', '', '',
-
-['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD'
-['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus'
-['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr'
-[ '', '', '', 'L_=C',/ ** / 'C', '', '', '',
-[ '', 'C', '', '',/ ** / '', '', '', '',
diff --git a/keyboards/mitosis/keymaps/nzen/rules.mk b/keyboards/mitosis/keymaps/nzen/rules.mk
deleted file mode 100644
index eaba18db96..0000000000
--- a/keyboards/mitosis/keymaps/nzen/rules.mk
+++ /dev/null
@@ -1,8 +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
-#
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/miuni32/keymaps/adam-lee/config.h b/keyboards/miuni32/keymaps/adam-lee/config.h
deleted file mode 100644
index df06a26206..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-// place overrides here
-
-#endif \ No newline at end of file
diff --git a/keyboards/miuni32/keymaps/adam-lee/keymap.c b/keyboards/miuni32/keymaps/adam-lee/keymap.c
deleted file mode 100644
index d6f5f40fdd..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Level 0: Default Layer
- * ,---------------------------------------------------------------------------------------.
- * | Q | W | E | R | T | Y | U | I | O | P | BSP |
- * |---------------------------------------------------------------------------------------|
- * | A | S | D | F | G | H | J | K | L | ENT |LT(1|,)|
- * |---------------------------------------------------------------------------------------|
- * |LT(3|Z)| X | C | V | SPC | B | N | M | RSFT |LT(2|.)|
- * |---------------------------------------------------------------------------------------|
- */
- [0] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, LT(1, KC_COMMA),
- LT(3, KC_Z), KC_X, KC_C, KC_V, KC_SPC, KC_B, KC_N, KC_M, KC_RSFT, LT(2, KC_DOT)
- ),
- /* Level 1: Numbers Layer
- * ,---------------------------------------------------------------------------------------.
- * | ESC | 7 | 8 | 9 | / | * | . | , | ( | ) | DEL |
- * |---------------------------------------------------------------------------------------|
- * | TAB | 4 | 5 | 6 | - | + | HOME | UP | END | PGUP | TRNS |
- * |---------------------------------------------------------------------------------------|
- * | LATL | 1 | 2 | 3 | 0 | LEFT | DOWN | RGHT | PGDN | RSHFT |
- * |---------------------------------------------------------------------------------------|
- */
- [1] = LAYOUT(
- KC_ESC, KC_7, KC_8, KC_9, KC_SLSH, KC_ASTR, KC_DOT, KC_COMM, KC_LPRN, KC_RPRN, KC_DEL,
- KC_TAB, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
- KC_LALT, KC_1, KC_2, KC_3, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_RSFT
- ),
- /* Level 2: Symbols Layer
- * ,---------------------------------------------------------------------------------------.
- * | ! | @ | # | $ | % | ^ | & | * | - | + | = |
- * |---------------------------------------------------------------------------------------|
- * | { | } | [ | ] | TRNS | TRNS | \ | ; | : | ` | ? |
- * |---------------------------------------------------------------------------------------|
- * | LSFT | LCTL | L | T | TAB | N | TRNS | TRNS | RCTL | TRNS |
- * |---------------------------------------------------------------------------------------|
- */
- [2] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL,
- KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, KC_SCLN, KC_COLN, KC_GRV, KC_QUES,
- KC_LSFT, KC_LCTL, KC_L, KC_T, KC_TAB, KC_N, _______, _______, KC_RCTL, _______
- ),
- /* Level 3: RGB Layer
- * ,---------------------------------------------------------------------------------------.
- * | QK_BOOT | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
- * |---------------------------------------------------------------------------------------|
- * |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD| NO |RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD| TRNS | TRNS |
- * |---------------------------------------------------------------------------------------|
- * | TRNS | TRNS | TRNS | TRNS | F7 | F8 | F9 | F10 | F11 | F12 |
- * |---------------------------------------------------------------------------------------|
- */
- [3] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______,
- _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
- )
-};
diff --git a/keyboards/miuni32/keymaps/adam-lee/readme.md b/keyboards/miuni32/keymaps/adam-lee/readme.md
deleted file mode 100644
index 4cff8ef5a3..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for miuni32 \ No newline at end of file
diff --git a/keyboards/miuni32/keymaps/adam-lee/rules.mk b/keyboards/miuni32/keymaps/adam-lee/rules.mk
deleted file mode 100644
index 1022078ba6..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h b/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h
deleted file mode 100644
index d057ce4f34..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 Cassandra de la Cruz-Munoz cassandra.delacruzmunoz@gmaill.com @cassdelacruzmunoz
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should 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 RGBLIGHT_LAYERS
-#define RGBLIGHT_SLEEP
-#define MIDI_ADVANCED
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c b/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
deleted file mode 100644
index 7d347edb66..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Copyright 2020 Cassandra de la Cruz-Munoz cassandra.delacruzmunoz@gmaill.com @cassdelacruzmunoz
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received 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] = {
- /* Level 0: Default Layer
- * ,---------------------------------------------------------------------------------------.
- * | Q | W | E | R | T | Y | U | I | O | P | BSP |
- * |---------------------------------------------------------------------------------------|
- * | A | S | D | F | G | H | J | K | L | ENT |LT(1|,)|
- * |---------------------------------------------------------------------------------------|
- * | Z | X | C | V | SPC | B | N | M | RSFT | . |
- * |---------------------------------------------------------------------------------------|
- */
- [0] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, LT(1, KC_COMMA),
- KC_Z, KC_X, KC_C, KC_V, KC_SPC, KC_B, KC_N, KC_M, KC_RSFT, KC_DOT
- ),
- /* Level 1: Layers Layer
- * ,---------------------------------------------------------------------------------------.
- * | TO(2) | TO(3) | TO(4) | TO(5) | TO(6) | TO(7) | TO(8) | TO(9) | TO(10)| TO(11)| TO(12)|
- * |---------------------------------------------------------------------------------------|
- * | TO(13)| TO(14)| TO(15)| TO(16)| TO(17)| TO(18)| TO(19)| TO(20)| TO(21)| TO(22)| TRNS |
- * |---------------------------------------------------------------------------------------|
- * | TO(23)| TO(24)| TO(25)| TO(26)| | TO(27)| TO(28)| TO(29)| TO(30)| TO(31)|
- * |---------------------------------------------------------------------------------------|
- */
- [1] = LAYOUT(
- TO(2), TO(3), TO(4), TO(5), TO(6),//TO(7), TO(8), TO(9), TO(10), TO(11), TO(12),
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- //TO(13), TO(14), TO(15), TO(16), TO(17), TO(18), TO(19), TO(20), TO(21), TO(22), _______,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
- //TO(23), TO(24), TO(25), TO(26), KC_NO, TO(27), TO(28), TO(29), TO(30), TO(31)
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- /* Level 2: Numbers Layer
- * ,---------------------------------------------------------------------------------------.
- * | ESC | 7 | 8 | 9 | / | * | . | , | ( | ) | DEL |
- * |---------------------------------------------------------------------------------------|
- * | TAB | 4 | 5 | 6 | - | + | HOME | UP | END | PGUP | TG(2) |
- * |---------------------------------------------------------------------------------------|
- * | LALT | 1 | 2 | 3 | 0 | LEFT | DOWN | RGHT | PGDN | RSHFT |
- * |---------------------------------------------------------------------------------------|
- */
- [2] = LAYOUT(
- KC_ESC, KC_7, KC_8, KC_9, KC_SLSH, KC_ASTR, KC_DOT, KC_COMM, KC_LPRN, KC_RPRN, KC_DEL,
- KC_TAB, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, KC_HOME, KC_UP, KC_END, KC_PGUP, TG(2),
- KC_LALT, KC_1, KC_2, KC_3, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_RSFT
- ),
- /* Level 3: Symbols Layer
- * ,---------------------------------------------------------------------------------------.
- * | ! | @ | # | $ | % | ^ | & | * | - | + | = |
- * |---------------------------------------------------------------------------------------|
- * | { | } | [ | ] | ' | | \ | ; | : | ` | TG(3) |
- * |---------------------------------------------------------------------------------------|
- * | LSFT | LCTL | | | TAB | | | | RCTL | ? |
- * |---------------------------------------------------------------------------------------|
- */
- [3] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL,
- KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_QUOT, KC_NO, KC_BSLS, KC_SCLN, KC_COLN, KC_GRV, TG(3),
- KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_RCTL, KC_QUES
- ),
- /* Level 4: F-keys and Media Layer
- * ,---------------------------------------------------------------------------------------.
- * | QK_BOOT | MUTE | VOLU | MPLY | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
- * |---------------------------------------------------------------------------------------|
- * | LGUI | MPRV | VOLD | MNXT | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TG(4) |
- * |---------------------------------------------------------------------------------------|
- * | TRNS | TRNS | TRNS | TRNS | F7 | F8 | F9 | F10 | F11 | F12 |
- * |---------------------------------------------------------------------------------------|
- */
- [4] = LAYOUT(
- QK_BOOT, KC_MUTE, KC_VOLU, KC_MPLY, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_LGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(4),
- KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
- ),
- /* Level 5: Commands Layer
- * ,---------------------------------------------------------------------------------------.
- * | CUT | PSCR | BRIU | PWR | | | | | | | |
- * |---------------------------------------------------------------------------------------|
- * | COPY | FIND | BRID | SLEP | | | | | | | TG(5) |
- * |---------------------------------------------------------------------------------------|
- * | PSTE | | | WAKE | | | | | | |
- * |---------------------------------------------------------------------------------------|
- */
- [5] = LAYOUT(
- KC_CUT, KC_PSCR, KC_BRIU, KC_PWR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_COPY, KC_FIND, KC_BRID, KC_SLEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(5),
- KC_PSTE, KC_NO, KC_NO, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- /* Level 6: MIDI Layer
- * ,---------------------------------------------------------------------------------------.
- * | C1 | E1 | G1 | B1 | D2 | F2 | A2 | C3 | E3 | G3 | |
- * |---------------------------------------------------------------------------------------|
- * | D1 | F1 | A1 | C2 | E2 | G2 | B2 | D3 | F3 | A3 | TG(6) |
- * |---------------------------------------------------------------------------------------|
- * | OCTD | OCTU | TRNSD | TRNSU | | | | | | |
- * |---------------------------------------------------------------------------------------|
- */
- [6] = LAYOUT(
- MI_C1, MI_E1, MI_G1, MI_B1, MI_D2, MI_F2, MI_A2, MI_C3, MI_E3, MI_G3, KC_NO,
- MI_D1, MI_F1, MI_A1, MI_C2, MI_E2, MI_G2, MI_B2, MI_D3, MI_F3, MI_A3, TG(6),
- MI_OCTD, MI_OCTU, MI_TRSD, MI_TRSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- )
-};
-
-// Light LEDs 0 through 16 in white when keyboard layer 0 is active
-const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_WHITE}
-);
-// Light LEDs 0 through 16 in blue when keyboard layer 1 is active
-const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_BLUE}
-);
-// Light LEDs 0 through 16 in green when keyboard layer 2 is active
-const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_GREEN}
-);
-// Light LEDs 0 through 16 in yellow when keyboard layer 3 is active
-const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_YELLOW}
-);
-// Light LEDs 0 through 16 in red when keyboard layer 4 is active
-const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_RED}
-);
-// Light LEDs 0 through 16 in cyan when keyboard layer 5 is active
-const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_CYAN}
-);
-// Light LEDs 0 through 16 in orange when keyboard layer 6 is active
-const rgblight_segment_t PROGMEM my_layer6_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 17, HSV_ORANGE}
-);
-
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_layer0_layer,
- my_layer1_layer,
- my_layer2_layer,
- my_layer3_layer,
- my_layer4_layer,
- my_layer5_layer,
- my_layer6_layer
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- for (int i = 0; i < 7; i++) {
- rgblight_set_layer_state(i, layer_state_cmp(state, i));
- }
- return state;
-}
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md b/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md
deleted file mode 100644
index b9e42964cf..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Cass de la Cruz-Munoz's keymap for Miuni32
-
-7 layers:
-
-* QUERTY
-* Layer access
-* Numberpad, navigation keys
-* Symbols
-* Function and media keys
-* Assorted command keys
-* MIDI keys
-
-![QUERTY](https://imgur.com/0B3Xl2D.png)
-![Layers](https://imgur.com/Rb9KRgL.png)
-![Numberpad & Navigation](https://imgur.com/psq5U5o.png)
-![Symbols](https://imgur.com/nbxOjCG.png)
-![Function & Media](https://imgur.com/AZe6Vib.png)
-![Commands](https://imgur.com/Pl0NYbw.png)
-![MIDI](https://imgur.com/c6BcDe2.png)
diff --git a/keyboards/mixi/keymaps/default/keymap.c b/keyboards/mixi/keymaps/default/keymap.c
index d14a692a89..29f19349cc 100644
--- a/keyboards/mixi/keymaps/default/keymap.c
+++ b/keyboards/mixi/keymaps/default/keymap.c
@@ -59,13 +59,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
+ {0, RGBLIGHT_LED_COUNT, HSV_BLUE}
);
const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
+ {0, RGBLIGHT_LED_COUNT, HSV_GREEN}
);
const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
+ {0, RGBLIGHT_LED_COUNT, HSV_RED}
);
const rgblight_segment_t* const PROGMEM _rgb_layers[] =
diff --git a/keyboards/mixi/keymaps/via/keymap.c b/keyboards/mixi/keymaps/via/keymap.c
index ef5aace888..adcf448503 100644
--- a/keyboards/mixi/keymaps/via/keymap.c
+++ b/keyboards/mixi/keymaps/via/keymap.c
@@ -76,13 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
+ {0, RGBLIGHT_LED_COUNT, HSV_BLUE}
);
const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
+ {0, RGBLIGHT_LED_COUNT, HSV_GREEN}
);
const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
+ {0, RGBLIGHT_LED_COUNT, HSV_RED}
);
const rgblight_segment_t* const PROGMEM _rgb_layers[] =
diff --git a/keyboards/ml/gas75/config.h b/keyboards/ml/gas75/config.h
deleted file mode 100644
index f4a2ec49cd..0000000000
--- a/keyboards/ml/gas75/config.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2022 ML
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 3
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json
index 9831c7beb6..492573c9be 100644
--- a/keyboards/ml/gas75/info.json
+++ b/keyboards/ml/gas75/info.json
@@ -10,7 +10,51 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["D1", "D2", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "E6", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c
index d07f193526..71409bf939 100644
--- a/keyboards/mlego/m48/keymaps/default/keymap.c
+++ b/keyboards/mlego/m48/keymaps/default/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c
index 91649631dc..d180c3e8ac 100644
--- a/keyboards/mlego/m48/keymaps/via/keymap.c
+++ b/keyboards/mlego/m48/keymaps/via/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60/keymaps/default/keymap.c b/keyboards/mlego/m60/keymaps/default/keymap.c
index dbfcad3152..d997bd2dc0 100644
--- a/keyboards/mlego/m60/keymaps/default/keymap.c
+++ b/keyboards/mlego/m60/keymaps/default/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60/keymaps/via/keymap.c b/keyboards/mlego/m60/keymaps/via/keymap.c
index 8d0cddae80..fc3ab612d0 100644
--- a/keyboards/mlego/m60/keymaps/via/keymap.c
+++ b/keyboards/mlego/m60/keymaps/via/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60_split/keymaps/default/keymap.c b/keyboards/mlego/m60_split/keymaps/default/keymap.c
index 2f51794c1c..506aa45f30 100644
--- a/keyboards/mlego/m60_split/keymaps/default/keymap.c
+++ b/keyboards/mlego/m60_split/keymaps/default/keymap.c
@@ -29,10 +29,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60_split/keymaps/via/keymap.c b/keyboards/mlego/m60_split/keymaps/via/keymap.c
index 756639bfd9..29270b0425 100644
--- a/keyboards/mlego/m60_split/keymaps/via/keymap.c
+++ b/keyboards/mlego/m60_split/keymaps/via/keymap.c
@@ -29,10 +29,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60_split/rev1/config.h b/keyboards/mlego/m60_split/rev1/config.h
index 90ea0bd56c..564add296d 100644
--- a/keyboards/mlego/m60_split/rev1/config.h
+++ b/keyboards/mlego/m60_split/rev1/config.h
@@ -18,6 +18,3 @@
#define SPLIT_HAND_PIN B9
#define SERIAL_USART_TX_PIN B6
#define SERIAL_USART_SPEED 921600
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_DEFAULT_HUE 213
diff --git a/keyboards/mlego/m60_split/rev1/info.json b/keyboards/mlego/m60_split/rev1/info.json
index 89744c8b86..8280ffa022 100644
--- a/keyboards/mlego/m60_split/rev1/info.json
+++ b/keyboards/mlego/m60_split/rev1/info.json
@@ -36,6 +36,12 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 213
+ },
+ "layers": {
+ "enabled": true
}
},
"split": {
diff --git a/keyboards/mlego/m65/m65.c b/keyboards/mlego/m65/m65.c
index 12ea866f1e..506ac2e30d 100644
--- a/keyboards/mlego/m65/m65.c
+++ b/keyboards/mlego/m65/m65.c
@@ -9,10 +9,10 @@ static bool toggle_rse = false;
#if defined(RGBLIGHT_ENABLE)
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_OFF});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_AZURE});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CORAL});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_OFF});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_AZURE});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CORAL});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
diff --git a/keyboards/mnk1800s/readme.md b/keyboards/mnk1800s/readme.md
deleted file mode 100755
index eb4e1b0ef5..0000000000
--- a/keyboards/mnk1800s/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# MNK1800s
-
-This is a southpaw 65% keyboard. It supports VIA.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A TKL keyboard with STM32F072CB
-* Hardware Availability: https://www.monokei.co
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make mnk1800s:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or CLI (`make mnk1800s:<keymap>:flash`)
diff --git a/keyboards/mnk50/readme.md b/keyboards/mnk50/readme.md
deleted file mode 100755
index f8484e9d36..0000000000
--- a/keyboards/mnk50/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# MNK40
-
-This is a 40% keyboard. It supports VIA.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A 40% keyboard with STM32F072CB
-* Hardware Availability: https://www.monokei.co
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make mnk50:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or CLI (`make mnk50:<keymap>:flash`)
diff --git a/keyboards/mnk75/readme.md b/keyboards/mnk75/readme.md
deleted file mode 100755
index 631ca246e7..0000000000
--- a/keyboards/mnk75/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# MNK75
-
-This is a 75% layout PCB. It supports VIA.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A 75% keyboard with STM32F072CB
-* Hardware Availability: https://monokei.co/
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make mnk75:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or CLI (`make mnk75:<keymap>:flash`)
diff --git a/keyboards/mode/m256wh/info.json b/keyboards/mode/m256wh/info.json
index 6caaa754ed..bbd3c17e97 100644
--- a/keyboards/mode/m256wh/info.json
+++ b/keyboards/mode/m256wh/info.json
@@ -4,9 +4,11 @@
"maintainer": "Gondolindrim",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
diff --git a/keyboards/mode/m256ws/info.json b/keyboards/mode/m256ws/info.json
index 6a36d4af8e..820ed536c2 100644
--- a/keyboards/mode/m256ws/info.json
+++ b/keyboards/mode/m256ws/info.json
@@ -4,12 +4,14 @@
"maintainer": "Gondolindrim",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h
index 04fda276e6..f984cf28de 100644
--- a/keyboards/mode/m60h/config.h
+++ b/keyboards/mode/m60h/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json
index 5fee979149..b33ea3a9c3 100644
--- a/keyboards/mode/m60h/info.json
+++ b/keyboards/mode/m60h/info.json
@@ -31,6 +31,9 @@
"static_gradient": true,
"twinkle": true
},
+ "default": {
+ "animation": "rainbow_swirl"
+ },
"driver": "ws2812",
"led_count": 20,
"max_brightness": 120,
diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h
index 04fda276e6..f984cf28de 100644
--- a/keyboards/mode/m60h_f/config.h
+++ b/keyboards/mode/m60h_f/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json
index f4bcddfe75..014472bc68 100644
--- a/keyboards/mode/m60h_f/info.json
+++ b/keyboards/mode/m60h_f/info.json
@@ -31,6 +31,9 @@
"static_gradient": true,
"twinkle": true
},
+ "default": {
+ "animation": "rainbow_swirl"
+ },
"driver": "ws2812",
"led_count": 20,
"max_brightness": 120,
diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h
index 04fda276e6..f984cf28de 100644
--- a/keyboards/mode/m60s/config.h
+++ b/keyboards/mode/m60s/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
diff --git a/keyboards/mode/m60s/info.json b/keyboards/mode/m60s/info.json
index 368f2fff82..6a03219427 100644
--- a/keyboards/mode/m60s/info.json
+++ b/keyboards/mode/m60s/info.json
@@ -31,6 +31,9 @@
"static_gradient": true,
"twinkle": true
},
+ "default": {
+ "animation": "rainbow_swirl"
+ },
"driver": "ws2812",
"led_count": 20,
"max_brightness": 120,
diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h
index 4d3a7d5ca4..5672c10fc5 100644
--- a/keyboards/mode/m75s/config.h
+++ b/keyboards/mode/m75s/config.h
@@ -17,6 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define BACKLIGHT_DEFAULT_LEVEL 20
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
diff --git a/keyboards/moky/moky88/info.json b/keyboards/moky/moky88/info.json
index 79d5373ea8..38ed4dbd28 100644
--- a/keyboards/moky/moky88/info.json
+++ b/keyboards/moky/moky88/info.json
@@ -35,7 +35,7 @@
]
},
"rgb_matrix": {
- "driver": "aw20216",
+ "driver": "aw20216s",
"max_brightness": 108,
"animations": {
"alphas_mods": true,
diff --git a/keyboards/momokai/aurora/config.h b/keyboards/momokai/aurora/config.h
deleted file mode 100644
index 8fd619bdbf..0000000000
--- a/keyboards/momokai/aurora/config.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2023 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-
-
-#define RGB_MATRIX_LED_COUNT 6
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- // #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/momokai/aurora/info.json b/keyboards/momokai/aurora/info.json
index 1a04cadff2..888398aa36 100644
--- a/keyboards/momokai/aurora/info.json
+++ b/keyboards/momokai/aurora/info.json
@@ -43,6 +43,34 @@
"pin": "C7"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_spiral": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
"driver": "ws2812",
"layout": [
{ "flags": 4, "matrix": [2, 0], "x": 51, "y": 51 },
@@ -51,7 +79,9 @@
{ "flags": 4, "matrix": [2, 1], "x": 102, "y": 51 },
{ "flags": 4, "matrix": [2, 2], "x": 154, "y": 51 },
{ "flags": 4, "matrix": [1, 2], "x": 154, "y": 38 }
- ]
+ ],
+ "max_brightness": 200,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/momokai/tap_duo/config.h b/keyboards/momokai/tap_duo/config.h
index 153f611690..1e3d24282d 100644
--- a/keyboards/momokai/tap_duo/config.h
+++ b/keyboards/momokai/tap_duo/config.h
@@ -27,64 +27,3 @@
#define MOUSEKEY_WHEEL_INTERVAL 80
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-
-
-//TODO: implement RGB Matrix
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 4
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- // #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- // #define ENABLE_RGB_MATRIX_HUE_BREATHING
- // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- // #define ENABLE_RGB_MATRIX_HUE_WAVE
- // #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- // #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- // #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/momokai/tap_duo/info.json b/keyboards/momokai/tap_duo/info.json
index 262576b31a..9a0a9a2e1d 100644
--- a/keyboards/momokai/tap_duo/info.json
+++ b/keyboards/momokai/tap_duo/info.json
@@ -12,7 +12,34 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "B2", "D1", "D2", "D3"],
@@ -36,5 +63,4 @@
]
}
}
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
diff --git a/keyboards/momokai/tap_trio/config.h b/keyboards/momokai/tap_trio/config.h
deleted file mode 100644
index a4a21d3f24..0000000000
--- a/keyboards/momokai/tap_trio/config.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2022 Momokai
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-//TODO: implement RGB Matrix
-// #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 5
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- #define ENABLE_RGB_MATRIX_SOLID_COLOR
- // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- // #define ENABLE_RGB_MATRIX_HUE_BREATHING
- // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- // #define ENABLE_RGB_MATRIX_HUE_WAVE
- // #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- // #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/momokai/tap_trio/info.json b/keyboards/momokai/tap_trio/info.json
index afc5aa2015..f995501969 100644
--- a/keyboards/momokai/tap_trio/info.json
+++ b/keyboards/momokai/tap_trio/info.json
@@ -12,7 +12,34 @@
"pin": "F0"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "B2", "B7", "D1", "D2", "D3"],
@@ -34,5 +61,4 @@
]
}
}
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
diff --git a/keyboards/mnk1800s/config.h b/keyboards/monokei/mnk1800s/config.h
index 79fdc4275f..79fdc4275f 100755
--- a/keyboards/mnk1800s/config.h
+++ b/keyboards/monokei/mnk1800s/config.h
diff --git a/keyboards/mnk1800s/info.json b/keyboards/monokei/mnk1800s/info.json
index 9cf4f0f122..9cf4f0f122 100755
--- a/keyboards/mnk1800s/info.json
+++ b/keyboards/monokei/mnk1800s/info.json
diff --git a/keyboards/mnk1800s/keymaps/default/keymap.c b/keyboards/monokei/mnk1800s/keymaps/default/keymap.c
index 34b8428ba2..34b8428ba2 100644
--- a/keyboards/mnk1800s/keymaps/default/keymap.c
+++ b/keyboards/monokei/mnk1800s/keymaps/default/keymap.c
diff --git a/keyboards/mnk1800s/keymaps/default/readme.md b/keyboards/monokei/mnk1800s/keymaps/default/readme.md
index 8d0f371ca3..8d0f371ca3 100755
--- a/keyboards/mnk1800s/keymaps/default/readme.md
+++ b/keyboards/monokei/mnk1800s/keymaps/default/readme.md
diff --git a/keyboards/mnk1800s/keymaps/default_2u_bs/keymap.c b/keyboards/monokei/mnk1800s/keymaps/default_2u_bs/keymap.c
index 5e5466470f..5e5466470f 100644
--- a/keyboards/mnk1800s/keymaps/default_2u_bs/keymap.c
+++ b/keyboards/monokei/mnk1800s/keymaps/default_2u_bs/keymap.c
diff --git a/keyboards/mnk1800s/keymaps/via/keymap.c b/keyboards/monokei/mnk1800s/keymaps/via/keymap.c
index 3c1e7ce276..3c1e7ce276 100644
--- a/keyboards/mnk1800s/keymaps/via/keymap.c
+++ b/keyboards/monokei/mnk1800s/keymaps/via/keymap.c
diff --git a/keyboards/mnk1800s/keymaps/via/readme.md b/keyboards/monokei/mnk1800s/keymaps/via/readme.md
index f4f03694cb..f4f03694cb 100755
--- a/keyboards/mnk1800s/keymaps/via/readme.md
+++ b/keyboards/monokei/mnk1800s/keymaps/via/readme.md
diff --git a/keyboards/mnk50/keymaps/via/rules.mk b/keyboards/monokei/mnk1800s/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100755
--- a/keyboards/mnk50/keymaps/via/rules.mk
+++ b/keyboards/monokei/mnk1800s/keymaps/via/rules.mk
diff --git a/keyboards/mnk1800s/matrix_diagram.md b/keyboards/monokei/mnk1800s/matrix_diagram.md
index ba2e2d751e..ba2e2d751e 100644
--- a/keyboards/mnk1800s/matrix_diagram.md
+++ b/keyboards/monokei/mnk1800s/matrix_diagram.md
diff --git a/keyboards/monokei/mnk1800s/readme.md b/keyboards/monokei/mnk1800s/readme.md
new file mode 100755
index 0000000000..610baba72b
--- /dev/null
+++ b/keyboards/monokei/mnk1800s/readme.md
@@ -0,0 +1,32 @@
+# MNK1800s
+
+This is a southpaw 65% keyboard. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A TKL keyboard with STM32F072CB
+* Hardware Availability: https://www.monokei.co
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make monokei/mnk1800s:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make monokei/mnk1800s:<keymap>:flash`)
diff --git a/keyboards/mnk1800s/rules.mk b/keyboards/monokei/mnk1800s/rules.mk
index 7c0709f41e..7c0709f41e 100644
--- a/keyboards/mnk1800s/rules.mk
+++ b/keyboards/monokei/mnk1800s/rules.mk
diff --git a/keyboards/mnk50/config.h b/keyboards/monokei/mnk50/config.h
index 79fdc4275f..79fdc4275f 100755
--- a/keyboards/mnk50/config.h
+++ b/keyboards/monokei/mnk50/config.h
diff --git a/keyboards/mnk50/info.json b/keyboards/monokei/mnk50/info.json
index 3d4c98edc7..3d4c98edc7 100755
--- a/keyboards/mnk50/info.json
+++ b/keyboards/monokei/mnk50/info.json
diff --git a/keyboards/mnk50/keymaps/default/keymap.c b/keyboards/monokei/mnk50/keymaps/default/keymap.c
index 4baabc8694..4baabc8694 100644
--- a/keyboards/mnk50/keymaps/default/keymap.c
+++ b/keyboards/monokei/mnk50/keymaps/default/keymap.c
diff --git a/keyboards/mnk50/keymaps/default/readme.md b/keyboards/monokei/mnk50/keymaps/default/readme.md
index b78cf94011..b78cf94011 100755
--- a/keyboards/mnk50/keymaps/default/readme.md
+++ b/keyboards/monokei/mnk50/keymaps/default/readme.md
diff --git a/keyboards/mnk50/keymaps/via/keymap.c b/keyboards/monokei/mnk50/keymaps/via/keymap.c
index 2e26561c2e..2e26561c2e 100644
--- a/keyboards/mnk50/keymaps/via/keymap.c
+++ b/keyboards/monokei/mnk50/keymaps/via/keymap.c
diff --git a/keyboards/mnk50/keymaps/via/readme.md b/keyboards/monokei/mnk50/keymaps/via/readme.md
index 9c61657a72..9c61657a72 100755
--- a/keyboards/mnk50/keymaps/via/readme.md
+++ b/keyboards/monokei/mnk50/keymaps/via/readme.md
diff --git a/keyboards/mnk75/keymaps/via/rules.mk b/keyboards/monokei/mnk50/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100755
--- a/keyboards/mnk75/keymaps/via/rules.mk
+++ b/keyboards/monokei/mnk50/keymaps/via/rules.mk
diff --git a/keyboards/monokei/mnk50/readme.md b/keyboards/monokei/mnk50/readme.md
new file mode 100755
index 0000000000..ebbe44378b
--- /dev/null
+++ b/keyboards/monokei/mnk50/readme.md
@@ -0,0 +1,32 @@
+# MNK40
+
+This is a 40% keyboard. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 40% keyboard with STM32F072CB
+* Hardware Availability: https://www.monokei.co
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make monokei/mnk50:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make monokei/mnk50:<keymap>:flash`)
diff --git a/keyboards/mnk50/rules.mk b/keyboards/monokei/mnk50/rules.mk
index 7c0709f41e..7c0709f41e 100644
--- a/keyboards/mnk50/rules.mk
+++ b/keyboards/monokei/mnk50/rules.mk
diff --git a/keyboards/mnk75/config.h b/keyboards/monokei/mnk75/config.h
index 79fdc4275f..79fdc4275f 100755
--- a/keyboards/mnk75/config.h
+++ b/keyboards/monokei/mnk75/config.h
diff --git a/keyboards/mnk75/info.json b/keyboards/monokei/mnk75/info.json
index 421e830a1b..421e830a1b 100755
--- a/keyboards/mnk75/info.json
+++ b/keyboards/monokei/mnk75/info.json
diff --git a/keyboards/mnk75/keymaps/default/keymap.c b/keyboards/monokei/mnk75/keymaps/default/keymap.c
index acabed3ae8..acabed3ae8 100644
--- a/keyboards/mnk75/keymaps/default/keymap.c
+++ b/keyboards/monokei/mnk75/keymaps/default/keymap.c
diff --git a/keyboards/mnk75/keymaps/default/readme.md b/keyboards/monokei/mnk75/keymaps/default/readme.md
index 934ada1fef..934ada1fef 100755
--- a/keyboards/mnk75/keymaps/default/readme.md
+++ b/keyboards/monokei/mnk75/keymaps/default/readme.md
diff --git a/keyboards/mnk75/keymaps/via/keymap.c b/keyboards/monokei/mnk75/keymaps/via/keymap.c
index 5ef3086971..5ef3086971 100644
--- a/keyboards/mnk75/keymaps/via/keymap.c
+++ b/keyboards/monokei/mnk75/keymaps/via/keymap.c
diff --git a/keyboards/mnk75/keymaps/via/readme.md b/keyboards/monokei/mnk75/keymaps/via/readme.md
index 3cac4633fe..3cac4633fe 100755
--- a/keyboards/mnk75/keymaps/via/readme.md
+++ b/keyboards/monokei/mnk75/keymaps/via/readme.md
diff --git a/keyboards/moonlander/keymaps/via/rules.mk b/keyboards/monokei/mnk75/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644..100755
--- a/keyboards/moonlander/keymaps/via/rules.mk
+++ b/keyboards/monokei/mnk75/keymaps/via/rules.mk
diff --git a/keyboards/mnk75/matrix_diagram.md b/keyboards/monokei/mnk75/matrix_diagram.md
index 3d06d921cf..3d06d921cf 100644
--- a/keyboards/mnk75/matrix_diagram.md
+++ b/keyboards/monokei/mnk75/matrix_diagram.md
diff --git a/keyboards/monokei/mnk75/readme.md b/keyboards/monokei/mnk75/readme.md
new file mode 100755
index 0000000000..4e34f5257f
--- /dev/null
+++ b/keyboards/monokei/mnk75/readme.md
@@ -0,0 +1,32 @@
+# MNK75
+
+This is a 75% layout PCB. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 75% keyboard with STM32F072CB
+* Hardware Availability: https://monokei.co/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make monokei/mnk75:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make monokei/mnk75:<keymap>:flash`)
diff --git a/keyboards/mnk75/rules.mk b/keyboards/monokei/mnk75/rules.mk
index 50f3a3d151..50f3a3d151 100644
--- a/keyboards/mnk75/rules.mk
+++ b/keyboards/monokei/mnk75/rules.mk
diff --git a/keyboards/monsgeek/m1/config.h b/keyboards/monsgeek/m1/config.h
index 3963f1fbae..4aa6012330 100644
--- a/keyboards/monsgeek/m1/config.h
+++ b/keyboards/monsgeek/m1/config.h
@@ -35,15 +35,8 @@
/* I2C Config for LED Driver */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
+
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define DRIVER_1_LED_TOTAL 63
-#define DRIVER_2_LED_TOTAL 21
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 22)
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/monsgeek/m1/info.json b/keyboards/monsgeek/m1/info.json
index 23d3d714c6..5d5d030214 100644
--- a/keyboards/monsgeek/m1/info.json
+++ b/keyboards/monsgeek/m1/info.json
@@ -178,7 +178,9 @@
{ "flags": 2, "x":224, "y":51},
{ "flags": 2, "x":224, "y":57},
{ "flags": 2, "x":224, "y":64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT_all": {
diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c
index b85adbc0bf..006eb66d7f 100644
--- a/keyboards/monsgeek/m1/m1.c
+++ b/keyboards/monsgeek/m1/m1.c
@@ -17,128 +17,128 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, D_2, E_2, F_2},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, A_15, B_15, C_15},
- {0, G_13, H_13, I_13},
- {1, D_3, E_3, F_3},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB1_CA15, CB2_CA15, CB3_CA15},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
- {0, J_1, K_1, L_1},
- {0, A_16, B_16, C_16},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, D_7, E_7, F_7},
- {1, D_4, E_4, F_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB1_CA16, CB2_CA16, CB3_CA16},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
- {0, D_15, E_15, F_15},
- {1, D_6, E_6, F_6},
- {1, D_5, E_5, F_5},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
- {1, G_6, H_6, I_6},
- {1, G_7, H_7, I_7},
- {1, G_8, H_8, I_8},
- {1, G_9, H_9, I_9},
- {1, G_10, H_10, I_10},
- {1, G_11, H_11, I_11},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
+ {1, CB7_CA8, CB8_CA8, CB9_CA8},
+ {1, CB7_CA9, CB8_CA9, CB9_CA9},
+ {1, CB7_CA10, CB8_CA10, CB9_CA10},
+ {1, CB7_CA11, CB8_CA11, CB9_CA11},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_4, K_4, L_4},
- {1, J_5, K_5, L_5},
- {1, J_6, K_6, L_6},
- {1, J_7, K_7, L_7},
- {1, J_8, K_8, L_8},
- {1, J_9, K_9, L_9},
- {1, J_10, K_10, L_10},
- {1, J_11, K_11, L_11},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA8, CB11_CA8, CB12_CA8},
+ {1, CB10_CA9, CB11_CA9, CB12_CA9},
+ {1, CB10_CA10, CB11_CA10, CB12_CA10},
+ {1, CB10_CA11, CB11_CA11, CB12_CA11},
};
// clang-format on
diff --git a/keyboards/monsgeek/m3/config.h b/keyboards/monsgeek/m3/config.h
index 02c0fc6abc..ba77115d40 100644
--- a/keyboards/monsgeek/m3/config.h
+++ b/keyboards/monsgeek/m3/config.h
@@ -37,12 +37,8 @@
/* I2C Config for LED Driver */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
+
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define RGB_MATRIX_LED_COUNT 87
-
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/monsgeek/m3/info.json b/keyboards/monsgeek/m3/info.json
index df99a6a22c..09ce11c447 100644
--- a/keyboards/monsgeek/m3/info.json
+++ b/keyboards/monsgeek/m3/info.json
@@ -152,7 +152,8 @@
{ "flags": 4, "matrix": [5, 14], "x":196, "y": 64},
{ "flags": 4, "matrix": [5, 15], "x":210, "y": 64},
{ "flags": 4, "matrix": [5, 16], "x":224, "y": 64}
- ]
+ ],
+ "sleep": true
},
"community_layouts": ["tkl_ansi"],
"layouts": {
diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c
index b7e197e6ac..9a93a7d7d4 100644
--- a/keyboards/monsgeek/m3/m3.c
+++ b/keyboards/monsgeek/m3/m3.c
@@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -25,103 +25,103 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
/*row0*/
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
- {1, A_15, B_15, C_15},
- {1, A_16, B_16, C_16},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB1_CA15, CB2_CA15, CB3_CA15},
+ {1, CB1_CA16, CB2_CA16, CB3_CA16},
/*row1*/
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
/*row2*/
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
/*row3*/
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
/*row4*/
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, J_4, K_4, L_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
/*row5*/
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
};
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/monsgeek/m5/config.h b/keyboards/monsgeek/m5/config.h
index 20c69b34f1..d18d1fdacd 100644
--- a/keyboards/monsgeek/m5/config.h
+++ b/keyboards/monsgeek/m5/config.h
@@ -36,14 +36,9 @@
/* I2C Config for LED Driver */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
+
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
#define I2C1_SCL_PAL_MODE 4
-#define RGB_MATRIX_LED_COUNT 108
-
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/monsgeek/m5/info.json b/keyboards/monsgeek/m5/info.json
index e4ecba91ce..77d474d5db 100644
--- a/keyboards/monsgeek/m5/info.json
+++ b/keyboards/monsgeek/m5/info.json
@@ -176,7 +176,9 @@
{ "flags": 4, "matrix": [5, 16], "x": 176, "y": 64 },
{ "flags": 4, "matrix": [5, 18], "x": 199, "y": 64 },
{ "flags": 4, "matrix": [5, 19], "x": 214, "y": 64 }
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c
index 83dd4b6b79..822214a05c 100644
--- a/keyboards/monsgeek/m5/m5.c
+++ b/keyboards/monsgeek/m5/m5.c
@@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
@@ -25,125 +25,125 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
/*row0*/
- {1, A_1, B_1, C_1},
- {1, A_2, B_2, C_2},
- {1, A_3, B_3, C_3},
- {1, A_4, B_4, C_4},
- {1, A_5, B_5, C_5},
- {1, A_6, B_6, C_6},
- {1, A_7, B_7, C_7},
- {1, A_8, B_8, C_8},
- {1, A_9, B_9, C_9},
- {1, A_10, B_10, C_10},
- {1, A_11, B_11, C_11},
- {1, A_12, B_12, C_12},
- {1, A_13, B_13, C_13},
- {1, A_14, B_14, C_14},
- {1, A_15, B_15, C_15},
- {1, A_16, B_16, C_16},
- {1, D_11, E_11, F_11},
- {1, D_12, E_12, F_12},
- {1, D_13, E_13, F_13},
- {1, D_14, E_14, F_14},
+ {1, CB1_CA1, CB2_CA1, CB3_CA1},
+ {1, CB1_CA2, CB2_CA2, CB3_CA2},
+ {1, CB1_CA3, CB2_CA3, CB3_CA3},
+ {1, CB1_CA4, CB2_CA4, CB3_CA4},
+ {1, CB1_CA5, CB2_CA5, CB3_CA5},
+ {1, CB1_CA6, CB2_CA6, CB3_CA6},
+ {1, CB1_CA7, CB2_CA7, CB3_CA7},
+ {1, CB1_CA8, CB2_CA8, CB3_CA8},
+ {1, CB1_CA9, CB2_CA9, CB3_CA9},
+ {1, CB1_CA10, CB2_CA10, CB3_CA10},
+ {1, CB1_CA11, CB2_CA11, CB3_CA11},
+ {1, CB1_CA12, CB2_CA12, CB3_CA12},
+ {1, CB1_CA13, CB2_CA13, CB3_CA13},
+ {1, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB1_CA15, CB2_CA15, CB3_CA15},
+ {1, CB1_CA16, CB2_CA16, CB3_CA16},
+ {1, CB4_CA11, CB5_CA11, CB6_CA11},
+ {1, CB4_CA12, CB5_CA12, CB6_CA12},
+ {1, CB4_CA13, CB5_CA13, CB6_CA13},
+ {1, CB4_CA14, CB5_CA14, CB6_CA14},
/*row1*/
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1 },
- {1, D_2, E_2, F_2},
- {1, D_3, E_3, F_3},
- {1, D_4, E_4, F_4},
- {1, D_5, E_5, F_5},
- {1, D_6, E_6, F_6},
- {1, D_7, E_7, F_7},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1 },
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
/*row2*/
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, D_8, E_8, F_8},
- {1, D_9, E_9, F_9},
- {1, D_10, E_10, F_10},
- {1, G_7, H_7, I_7},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB4_CA8, CB5_CA8, CB6_CA8},
+ {1, CB4_CA9, CB5_CA9, CB6_CA9},
+ {1, CB4_CA10, CB5_CA10, CB6_CA10},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
/*row3*/
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, G_13, H_13, I_13},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
- {1, G_6, H_6, I_6},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
/*row4*/
- {0, J_1, K_1, L_1},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, J_4, K_4, L_4},
- {1, J_7, K_7, L_7},
- {1, J_8, K_8, L_8},
- {1, J_9, K_9, L_9},
- {1, J_10, K_10, L_10},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA8, CB11_CA8, CB12_CA8},
+ {1, CB10_CA9, CB11_CA9, CB12_CA9},
+ {1, CB10_CA10, CB11_CA10, CB12_CA10},
/*row5*/
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_5, K_5, L_5},
- {1, J_6, K_6, L_6},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
};
#endif
diff --git a/keyboards/monsgeek/m6/config.h b/keyboards/monsgeek/m6/config.h
index f01b8abb68..3586c2cb46 100644
--- a/keyboards/monsgeek/m6/config.h
+++ b/keyboards/monsgeek/m6/config.h
@@ -33,14 +33,9 @@
/* I2C Config for LED Driver */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
+
#define I2C1_SCL_PAL_MODE 4
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
-#define RGB_MATRIX_LED_COUNT 92
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_TRIGGER_ON_KEYDOWN
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/monsgeek/m6/info.json b/keyboards/monsgeek/m6/info.json
index 3ec89cc497..7931d0d122 100644
--- a/keyboards/monsgeek/m6/info.json
+++ b/keyboards/monsgeek/m6/info.json
@@ -157,7 +157,9 @@
{ "flags": 2, "x":224, "y":51},
{ "flags": 2, "x":224, "y":57},
{ "flags": 2, "x":224, "y":64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true,
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/monsgeek/m6/m6.c b/keyboards/monsgeek/m6/m6.c
index dc20a9916f..ef7fc92015 100644
--- a/keyboards/monsgeek/m6/m6.c
+++ b/keyboards/monsgeek/m6/m6.c
@@ -17,112 +17,112 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, A_1, B_1, C_1},
- {0, A_2, B_2, C_2},
- {0, A_3, B_3, C_3},
- {0, A_4, B_4, C_4},
- {0, A_5, B_5, C_5},
- {0, A_6, B_6, C_6},
- {0, A_7, B_7, C_7},
- {0, A_8, B_8, C_8},
- {0, A_9, B_9, C_9},
- {0, A_10, B_10, C_10},
- {0, A_11, B_11, C_11},
- {0, A_12, B_12, C_12},
- {0, A_13, B_13, C_13},
- {0, A_14, B_14, C_14},
- {1, D_1, E_1, F_1},
+ {0, CB1_CA1, CB2_CA1, CB3_CA1},
+ {0, CB1_CA2, CB2_CA2, CB3_CA2},
+ {0, CB1_CA3, CB2_CA3, CB3_CA3},
+ {0, CB1_CA4, CB2_CA4, CB3_CA4},
+ {0, CB1_CA5, CB2_CA5, CB3_CA5},
+ {0, CB1_CA6, CB2_CA6, CB3_CA6},
+ {0, CB1_CA7, CB2_CA7, CB3_CA7},
+ {0, CB1_CA8, CB2_CA8, CB3_CA8},
+ {0, CB1_CA9, CB2_CA9, CB3_CA9},
+ {0, CB1_CA10, CB2_CA10, CB3_CA10},
+ {0, CB1_CA11, CB2_CA11, CB3_CA11},
+ {0, CB1_CA12, CB2_CA12, CB3_CA12},
+ {0, CB1_CA13, CB2_CA13, CB3_CA13},
+ {0, CB1_CA14, CB2_CA14, CB3_CA14},
+ {1, CB4_CA1, CB5_CA1, CB6_CA1},
- {0, D_1, E_1, F_1},
- {0, D_2, E_2, F_2},
- {0, D_3, E_3, F_3},
- {0, D_4, E_4, F_4},
- {0, D_5, E_5, F_5},
- {0, D_6, E_6, F_6},
- {0, D_7, E_7, F_7},
- {0, D_8, E_8, F_8},
- {0, D_9, E_9, F_9},
- {0, D_10, E_10, F_10},
- {0, D_11, E_11, F_11},
- {0, D_12, E_12, F_12},
- {0, D_13, E_13, F_13},
- {0, D_14, E_14, F_14},
- {1, D_2, E_2, F_2},
+ {0, CB4_CA1, CB5_CA1, CB6_CA1},
+ {0, CB4_CA2, CB5_CA2, CB6_CA2},
+ {0, CB4_CA3, CB5_CA3, CB6_CA3},
+ {0, CB4_CA4, CB5_CA4, CB6_CA4},
+ {0, CB4_CA5, CB5_CA5, CB6_CA5},
+ {0, CB4_CA6, CB5_CA6, CB6_CA6},
+ {0, CB4_CA7, CB5_CA7, CB6_CA7},
+ {0, CB4_CA8, CB5_CA8, CB6_CA8},
+ {0, CB4_CA9, CB5_CA9, CB6_CA9},
+ {0, CB4_CA10, CB5_CA10, CB6_CA10},
+ {0, CB4_CA11, CB5_CA11, CB6_CA11},
+ {0, CB4_CA12, CB5_CA12, CB6_CA12},
+ {0, CB4_CA13, CB5_CA13, CB6_CA13},
+ {0, CB4_CA14, CB5_CA14, CB6_CA14},
+ {1, CB4_CA2, CB5_CA2, CB6_CA2},
- {0, G_1, H_1, I_1},
- {0, G_2, H_2, I_2},
- {0, G_3, H_3, I_3},
- {0, G_4, H_4, I_4},
- {0, G_5, H_5, I_5},
- {0, G_6, H_6, I_6},
- {0, G_7, H_7, I_7},
- {0, G_8, H_8, I_8},
- {0, G_9, H_9, I_9},
- {0, G_10, H_10, I_10},
- {0, G_11, H_11, I_11},
- {0, G_12, H_12, I_12},
- {0, A_15, B_15, C_15},
- {0, G_13, H_13, I_13},
- {1, D_3, E_3, F_3},
+ {0, CB7_CA1, CB8_CA1, CB9_CA1},
+ {0, CB7_CA2, CB8_CA2, CB9_CA2},
+ {0, CB7_CA3, CB8_CA3, CB9_CA3},
+ {0, CB7_CA4, CB8_CA4, CB9_CA4},
+ {0, CB7_CA5, CB8_CA5, CB9_CA5},
+ {0, CB7_CA6, CB8_CA6, CB9_CA6},
+ {0, CB7_CA7, CB8_CA7, CB9_CA7},
+ {0, CB7_CA8, CB8_CA8, CB9_CA8},
+ {0, CB7_CA9, CB8_CA9, CB9_CA9},
+ {0, CB7_CA10, CB8_CA10, CB9_CA10},
+ {0, CB7_CA11, CB8_CA11, CB9_CA11},
+ {0, CB7_CA12, CB8_CA12, CB9_CA12},
+ {0, CB1_CA15, CB2_CA15, CB3_CA15},
+ {0, CB7_CA13, CB8_CA13, CB9_CA13},
+ {1, CB4_CA3, CB5_CA3, CB6_CA3},
- {0, J_1, K_1, L_1},
- {0, A_16, B_16, C_16},
- {0, J_2, K_2, L_2},
- {0, J_3, K_3, L_3},
- {0, J_4, K_4, L_4},
- {0, J_5, K_5, L_5},
- {0, J_6, K_6, L_6},
- {0, J_7, K_7, L_7},
- {0, J_8, K_8, L_8},
- {0, J_9, K_9, L_9},
- {0, J_10, K_10, L_10},
- {0, J_11, K_11, L_11},
- {0, J_12, K_12, L_12},
- {1, D_7, E_7, F_7},
- {1, D_4, E_4, F_4},
+ {0, CB10_CA1, CB11_CA1, CB12_CA1},
+ {0, CB1_CA16, CB2_CA16, CB3_CA16},
+ {0, CB10_CA2, CB11_CA2, CB12_CA2},
+ {0, CB10_CA3, CB11_CA3, CB12_CA3},
+ {0, CB10_CA4, CB11_CA4, CB12_CA4},
+ {0, CB10_CA5, CB11_CA5, CB12_CA5},
+ {0, CB10_CA6, CB11_CA6, CB12_CA6},
+ {0, CB10_CA7, CB11_CA7, CB12_CA7},
+ {0, CB10_CA8, CB11_CA8, CB12_CA8},
+ {0, CB10_CA9, CB11_CA9, CB12_CA9},
+ {0, CB10_CA10, CB11_CA10, CB12_CA10},
+ {0, CB10_CA11, CB11_CA11, CB12_CA11},
+ {0, CB10_CA12, CB11_CA12, CB12_CA12},
+ {1, CB4_CA7, CB5_CA7, CB6_CA7},
+ {1, CB4_CA4, CB5_CA4, CB6_CA4},
- {0, J_13, K_13, L_13},
- {0, J_14, K_14, L_14},
- {0, J_15, K_15, L_15},
- {0, J_16, K_16, L_16},
- {0, G_14, H_14, I_14},
- {0, G_15, H_15, I_15},
- {0, G_16, H_16, I_16},
- {0, D_15, E_15, F_15},
- {1, D_6, E_6, F_6},
- {1, D_5, E_5, F_5},
+ {0, CB10_CA13, CB11_CA13, CB12_CA13},
+ {0, CB10_CA14, CB11_CA14, CB12_CA14},
+ {0, CB10_CA15, CB11_CA15, CB12_CA15},
+ {0, CB10_CA16, CB11_CA16, CB12_CA16},
+ {0, CB7_CA14, CB8_CA14, CB9_CA14},
+ {0, CB7_CA15, CB8_CA15, CB9_CA15},
+ {0, CB7_CA16, CB8_CA16, CB9_CA16},
+ {0, CB4_CA15, CB5_CA15, CB6_CA15},
+ {1, CB4_CA6, CB5_CA6, CB6_CA6},
+ {1, CB4_CA5, CB5_CA5, CB6_CA5},
- {1, G_1, H_1, I_1},
- {1, G_2, H_2, I_2},
- {1, G_3, H_3, I_3},
- {1, G_4, H_4, I_4},
- {1, G_5, H_5, I_5},
- {1, G_6, H_6, I_6},
- {1, G_7, H_7, I_7},
- {1, G_8, H_8, I_8},
- {1, G_9, H_9, I_9},
- {1, G_10, H_10, I_10},
- {1, G_11, H_11, I_11},
+ {1, CB7_CA1, CB8_CA1, CB9_CA1},
+ {1, CB7_CA2, CB8_CA2, CB9_CA2},
+ {1, CB7_CA3, CB8_CA3, CB9_CA3},
+ {1, CB7_CA4, CB8_CA4, CB9_CA4},
+ {1, CB7_CA5, CB8_CA5, CB9_CA5},
+ {1, CB7_CA6, CB8_CA6, CB9_CA6},
+ {1, CB7_CA7, CB8_CA7, CB9_CA7},
+ {1, CB7_CA8, CB8_CA8, CB9_CA8},
+ {1, CB7_CA9, CB8_CA9, CB9_CA9},
+ {1, CB7_CA10, CB8_CA10, CB9_CA10},
+ {1, CB7_CA11, CB8_CA11, CB9_CA11},
- {1, J_1, K_1, L_1},
- {1, J_2, K_2, L_2},
- {1, J_3, K_3, L_3},
- {1, J_4, K_4, L_4},
- {1, J_5, K_5, L_5},
- {1, J_6, K_6, L_6},
- {1, J_7, K_7, L_7},
- {1, J_8, K_8, L_8},
- {1, J_9, K_9, L_9},
- {1, J_10, K_10, L_10},
- {1, J_11, K_11, L_11},
+ {1, CB10_CA1, CB11_CA1, CB12_CA1},
+ {1, CB10_CA2, CB11_CA2, CB12_CA2},
+ {1, CB10_CA3, CB11_CA3, CB12_CA3},
+ {1, CB10_CA4, CB11_CA4, CB12_CA4},
+ {1, CB10_CA5, CB11_CA5, CB12_CA5},
+ {1, CB10_CA6, CB11_CA6, CB12_CA6},
+ {1, CB10_CA7, CB11_CA7, CB12_CA7},
+ {1, CB10_CA8, CB11_CA8, CB12_CA8},
+ {1, CB10_CA9, CB11_CA9, CB12_CA9},
+ {1, CB10_CA10, CB11_CA10, CB12_CA10},
+ {1, CB10_CA11, CB11_CA11, CB12_CA11},
};
// clang-format on
diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h
index 770c20f019..e32abb6630 100644
--- a/keyboards/monstargear/xo87/rgb/config.h
+++ b/keyboards/monstargear/xo87/rgb/config.h
@@ -16,60 +16,5 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 110
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255.
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/monstargear/xo87/rgb/info.json b/keyboards/monstargear/xo87/rgb/info.json
index 96b0319945..c96111b0f2 100644
--- a/keyboards/monstargear/xo87/rgb/info.json
+++ b/keyboards/monstargear/xo87/rgb/info.json
@@ -12,7 +12,54 @@
"pin": "D7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 100,
+ "sleep": true
},
"rgblight": {
"max_brightness": 100
diff --git a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h b/keyboards/monstargear/xo87/rgb/keymaps/default/config.h
deleted file mode 100644
index 910a014d79..0000000000
--- a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 datafx
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once \ No newline at end of file
diff --git a/keyboards/monstargear/xo87/solderable/solderable.h b/keyboards/monstargear/xo87/solderable/solderable.h
index 2758a3a3ff..70e8a6c8d5 100644
--- a/keyboards/monstargear/xo87/solderable/solderable.h
+++ b/keyboards/monstargear/xo87/solderable/solderable.h
@@ -43,11 +43,11 @@ typedef struct{
rgb_;
#define colorAGSize 10
-#define colorBGSize RGBLED_NUM-10
+#define colorBGSize RGBLIGHT_LED_COUNT-10
typedef struct{
rgb_ colorAG[colorAGSize];
- rgb_ colorBG[RGBLED_NUM-10];
+ rgb_ colorBG[RGBLIGHT_LED_COUNT-10];
}
backLedRgbG_;
diff --git a/keyboards/montsinger/rebound/rev1/rules.mk b/keyboards/montsinger/rebound/rev1/rules.mk
index fc1633fe63..309e55c9f4 100644
--- a/keyboards/montsinger/rebound/rev1/rules.mk
+++ b/keyboards/montsinger/rebound/rev1/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/montsinger/rebound/rev2/rules.mk b/keyboards/montsinger/rebound/rev2/rules.mk
index 02bef78ce3..f957b56f25 100644
--- a/keyboards/montsinger/rebound/rev2/rules.mk
+++ b/keyboards/montsinger/rebound/rev2/rules.mk
@@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/montsinger/rebound/rev3/rules.mk b/keyboards/montsinger/rebound/rev3/rules.mk
index 02bef78ce3..f957b56f25 100644
--- a/keyboards/montsinger/rebound/rev3/rules.mk
+++ b/keyboards/montsinger/rebound/rev3/rules.mk
@@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/montsinger/rebound/rev4/rules.mk b/keyboards/montsinger/rebound/rev4/rules.mk
index f52c1697f7..0fc2e835d7 100644
--- a/keyboards/montsinger/rebound/rev4/rules.mk
+++ b/keyboards/montsinger/rebound/rev4/rules.mk
@@ -12,8 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
-LAYOUTS_HAS_RGB = no
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = yes
AUDIO_SUPPORTED = no
diff --git a/keyboards/moondrop/dash75/info.json b/keyboards/moondrop/dash75/info.json
index 13e28fb325..59f956815e 100644
--- a/keyboards/moondrop/dash75/info.json
+++ b/keyboards/moondrop/dash75/info.json
@@ -3,14 +3,16 @@
"keyboard_name": "Dash 75",
"maintainer": "vinorodrigues",
"bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": false,
- "lto": true
+ "nkro": false
},
"diode_direction": "COL2ROW",
"matrix_pins": {
diff --git a/keyboards/moondrop/dash75/keymaps/via/keymap.json b/keyboards/moondrop/dash75/keymaps/via/keymap.json
index d811aaa780..91faa45808 100644
--- a/keyboards/moondrop/dash75/keymaps/via/keymap.json
+++ b/keyboards/moondrop/dash75/keymaps/via/keymap.json
@@ -7,8 +7,7 @@
"author": "vinorodrigues",
"config": {
"features": {
- "via": true,
- "lto": true
+ "via": true
}
},
"layers": [
diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h
deleted file mode 100644
index 3ceb45f54d..0000000000
--- a/keyboards/moonlander/config.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
- * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-#define WEBUSB_LANDING_PAGE_URL u8"configure.ergodox-ez.com"
-
-/* key matrix size */
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 7
-
-/* PCB default pin-out */
-// #define MATRIX_ROW_PINS { B10, B11, B12, B13, B14, B15 }
-// #define MATRIX_COL_PINS { A0, A1, A2, A3, A6, A7, B0 }
-
-// #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 }
-// #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 }
-
-// #define MCP23_LED_R GPB7
-// #define MCP23_LED_G GPB6
-// #define MCP23_LED_B GPA7
-
-#define EEPROM_I2C_24LC128
-
-// Not needed, is default address:
-// #define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10100000
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* 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 IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-
-#define DRIVER_1_LED_TOTAL 36
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#define RGB_MATRIX_CENTER { 120, 36 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// #define RGB_MATRIX_LED_PROCESS_LIMIT 5
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 26
-
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 400
-#define MOUSEKEY_WHEEL_INTERVAL MOUSEKEY_INTERVAL
-#define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED
-#define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX
-
-#define MUSIC_MAP
-
-#define FIRMWARE_VERSION_SIZE 17
-#define DYNAMIC_KEYMAP_EEPROM_ADDR (EECONFIG_SIZE + FIRMWARE_VERSION_SIZE)
-
-#define AUDIO_PIN A5
-#define AUDIO_PIN_ALT A4
-#define AUDIO_PIN_ALT_AS_NEGATIVE
diff --git a/keyboards/moonlander/info.json b/keyboards/moonlander/info.json
deleted file mode 100644
index 1a7982ed57..0000000000
--- a/keyboards/moonlander/info.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "keyboard_name": "Moonlander Mark I",
- "manufacturer": "ZSA Technology Labs",
- "url": "zsa.io/moonlander",
- "maintainer": "ZSA via Drashna",
- "usb": {
- "vid": "0x3297",
- "pid": "0x1969",
- "device_version": "0.0.1"
- },
- "dynamic_keymap": {
- "layer_count": 8
- },
- "eeprom": {
- "driver": "i2c"
- },
- "rgb_matrix": {
- "driver": "is31fl3731"
- },
- "processor": "STM32F303",
- "bootloader": "stm32-dfu",
- "layout_aliases": {
- "LAYOUT_moonlander": "LAYOUT"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0.375},
- {"matrix": [0, 1], "x": 1, "y": 0.375},
- {"matrix": [0, 2], "x": 2, "y": 0.125},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0.125},
- {"matrix": [0, 5], "x": 5, "y": 0.25},
- {"matrix": [0, 6], "x": 6, "y": 0.25},
-
- {"matrix": [6, 0], "x": 10, "y": 0.25},
- {"matrix": [6, 1], "x": 11, "y": 0.25},
- {"matrix": [6, 2], "x": 12, "y": 0.125},
- {"matrix": [6, 3], "x": 13, "y": 0},
- {"matrix": [6, 4], "x": 14, "y": 0.125},
- {"matrix": [6, 5], "x": 15, "y": 0.375},
- {"matrix": [6, 6], "x": 16, "y": 0.375},
-
- {"matrix": [1, 0], "x": 0, "y": 1.375},
- {"matrix": [1, 1], "x": 1, "y": 1.375},
- {"matrix": [1, 2], "x": 2, "y": 1.125},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1.125},
- {"matrix": [1, 5], "x": 5, "y": 1.25},
- {"matrix": [1, 6], "x": 6, "y": 1.25},
-
- {"matrix": [7, 0], "x": 10, "y": 1.25},
- {"matrix": [7, 1], "x": 11, "y": 1.25},
- {"matrix": [7, 2], "x": 12, "y": 1.125},
- {"matrix": [7, 3], "x": 13, "y": 1},
- {"matrix": [7, 4], "x": 14, "y": 1.125},
- {"matrix": [7, 5], "x": 15, "y": 1.375},
- {"matrix": [7, 6], "x": 16, "y": 1.375},
-
- {"matrix": [2, 0], "x": 0, "y": 2.375},
- {"matrix": [2, 1], "x": 1, "y": 2.375},
- {"matrix": [2, 2], "x": 2, "y": 2.125},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2.125},
- {"matrix": [2, 5], "x": 5, "y": 2.25},
- {"matrix": [2, 6], "x": 6, "y": 2.25},
-
- {"matrix": [8, 0], "x": 10, "y": 2.25},
- {"matrix": [8, 1], "x": 11, "y": 2.25},
- {"matrix": [8, 2], "x": 12, "y": 2.125},
- {"matrix": [8, 3], "x": 13, "y": 2},
- {"matrix": [8, 4], "x": 14, "y": 2.125},
- {"matrix": [8, 5], "x": 15, "y": 2.375},
- {"matrix": [8, 6], "x": 16, "y": 2.375},
-
- {"matrix": [3, 0], "x": 0, "y": 3.375},
- {"matrix": [3, 1], "x": 1, "y": 3.375},
- {"matrix": [3, 2], "x": 2, "y": 3.125},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3.125},
- {"matrix": [3, 5], "x": 5, "y": 3.25},
-
- {"matrix": [9, 1], "x": 11, "y": 3.25},
- {"matrix": [9, 2], "x": 12, "y": 3.125},
- {"matrix": [9, 3], "x": 13, "y": 3},
- {"matrix": [9, 4], "x": 14, "y": 3.125},
- {"matrix": [9, 5], "x": 15, "y": 3.375},
- {"matrix": [9, 6], "x": 16, "y": 3.375},
-
- {"matrix": [4, 0], "x": 0, "y": 4.375},
- {"matrix": [4, 1], "x": 1, "y": 4.375},
- {"matrix": [4, 2], "x": 2, "y": 4.125},
- {"matrix": [4, 3], "x": 3, "y": 4},
- {"matrix": [4, 4], "x": 4, "y": 4.125},
- {"matrix": [5, 3], "x": 5, "y": 4.5, "w": 2},
-
- {"matrix": [11, 3], "x": 10, "y": 4.5, "w": 2},
- {"matrix": [10, 2], "x": 12, "y": 4.125},
- {"matrix": [10, 3], "x": 13, "y": 4},
- {"matrix": [10, 4], "x": 14, "y": 4.125},
- {"matrix": [10, 5], "x": 15, "y": 4.375},
- {"matrix": [10, 6], "x": 16, "y": 4.375},
-
- {"matrix": [5, 0], "x": 5, "y": 5.5, "h": 1.5},
- {"matrix": [5, 1], "x": 6, "y": 5.5, "h": 1.5},
- {"matrix": [5, 2], "x": 7, "y": 5.5, "h": 1.5},
-
- {"matrix": [11, 4], "x": 9, "y": 5.5, "h": 1.5},
- {"matrix": [11, 5], "x": 10, "y": 5.5, "h": 1.5},
- {"matrix": [11, 6], "x": 11, "y": 5.5, "h": 1.5}
- ]
- }
- }
-}
diff --git a/keyboards/moonlander/keymaps/shahn-neo/config.h b/keyboards/moonlander/keymaps/shahn-neo/config.h
deleted file mode 100644
index 1fbac32517..0000000000
--- a/keyboards/moonlander/keymaps/shahn-neo/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2020 Sönke Hahn <SoenkeHahn@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 ORYX_CONFIGURATOR
diff --git a/keyboards/moonlander/keymaps/shahn-neo/keymap.c b/keyboards/moonlander/keymaps/shahn-neo/keymap.c
deleted file mode 100644
index fc174a62fe..0000000000
--- a/keyboards/moonlander/keymaps/shahn-neo/keymap.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2020 Sönke Hahn <SoenkeHahn@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum layers {
- BASE, // default layer
- L_3,
- L_4,
-};
-
-enum custom_keycodes {
- a_umlaut = SAFE_RANGE,
- o_umlaut,
- u_umlaut,
- eszett,
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_moonlander(
- XXXXXXX, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , XXXXXXX, XXXXXXX, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , XXXXXXX,
- KC_TAB , KC_X , KC_V , KC_L , KC_C , KC_W , XXXXXXX, XXXXXXX, KC_K , KC_H , KC_G , KC_F , KC_Q , eszett ,
- XXXXXXX, KC_U , KC_I , KC_A , KC_E , KC_O , XXXXXXX, XXXXXXX, KC_S , KC_N , KC_R , KC_T , KC_D , KC_Y ,
- XXXXXXX, u_umlaut, o_umlaut, a_umlaut, KC_P , KC_Z , KC_B , KC_M , KC_COMM, KC_DOT , KC_J , XXXXXXX,
- XXXXXXX, XXXXXXX , XXXXXXX , KC_LGUI , MO(L_4), XXXXXXX, XXXXXXX, MO(L_4), KC_RGUI, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, KC_LSFT, MO(L_3), MO(L_3), KC_RSFT, KC_SPC
- ),
-
- [L_3] = LAYOUT_moonlander(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_UNDS, KC_LBRC, KC_RBRC, KC_CIRC, XXXXXXX, XXXXXXX, KC_EXLM, KC_LABK, KC_RABK, KC_EQL , KC_AMPR, XXXXXXX,
- XXXXXXX, KC_BSLS, KC_SLSH, KC_LCBR, KC_RCBR, KC_ASTR, XXXXXXX, XXXXXXX, KC_QUES, KC_LPRN, KC_RPRN, KC_MINS, KC_COLN, KC_AT ,
- XXXXXXX, KC_HASH, KC_DLR , KC_PIPE, KC_TILD, KC_GRV , KC_PLUS, KC_PERC, KC_DQUO, KC_QUOT, KC_SCLN, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [L_4] = LAYOUT_moonlander(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_PGUP, KC_BSPC, KC_UP , KC_DEL , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_7 , KC_8 , KC_9 , XXXXXXX, XXXXXXX,
- XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , XXXXXXX, XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , XXXXXXX, XXXXXXX,
- XXXXXXX, KC_ESC , KC_TAB , XXXXXXX, KC_ENT , XXXXXXX, XXXXXXX, KC_1 , KC_2 , KC_3 , XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_0
- ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- ML_LED_1(false);
- ML_LED_2(false);
- ML_LED_3(false);
- ML_LED_4(false);
- ML_LED_5(false);
- ML_LED_6(false);
-
- switch (get_highest_layer(state)) {
- case 1:
- ML_LED_1(1);
- ML_LED_4(1);
- break;
- case 2:
- ML_LED_2(1);
- ML_LED_5(1);
- break;
- case 3:
- ML_LED_3(1);
- break;
- case 4:
- ML_LED_4(1);
- break;
- case 5:
- ML_LED_5(1);
- break;
- case 6:
- ML_LED_6(1);
- break;
- default:
- break;
- }
-
- return state;
-}
-
-// only works after executing
-// $ xmodmap -e "keycode 138 = Multi_key"
-#define compose_key SS_TAP(X_MENU)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch (keycode) {
- case a_umlaut:
- SEND_STRING(compose_key "\"a");
- return false;
- case o_umlaut:
- SEND_STRING(compose_key "\"o");
- return false;
- case u_umlaut:
- SEND_STRING(compose_key "\"u");
- return false;
- case eszett:
- SEND_STRING(compose_key "ss");
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/moonlander/keymaps/shahn-neo/readme.md b/keyboards/moonlander/keymaps/shahn-neo/readme.md
deleted file mode 100644
index d2c9c88746..0000000000
--- a/keyboards/moonlander/keymaps/shahn-neo/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Sönke Hahn's Neo layout for the Moonlander keyboard
-
-This is my personal keyboard layout based on the Neo keyboard layout:
-https://en.wikipedia.org/wiki/Neo_(keyboard_layout)
-This layout is not meant as a general layout for other people using the
-Neo keyboard layout. It's very specific to my personal needs.
-It still might be useful as inspiration to other people who want to
-create a Neo layout.
-
-Some notes:
-
-- I've put the ctrl key, the shift keys and the modifiers to switch to
- layer 4 in the middle to be operated by the thumbs. I wanted to avoid
- having to use my pinkies on the outer rows of the keyboard.
-- The umlauts (äöü) and the ß only work on linux when configuring the
- compose key properly. See `compose_key` in `./keymap.c`.
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
deleted file mode 100644
index 36017fcd12..0000000000
--- a/keyboards/moonlander/matrix.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
- * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "moonlander.h"
-#include "i2c_master.h"
-
-/*
-#define MATRIX_ROW_PINS { B10, B11, B12, B13, B14, B15 } outputs
-#define MATRIX_COL_PINS { A0, A1, A2, A3, A6, A7, B0 } inputs
- */
-/* matrix state(1:on, 0:off) */
-extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-static matrix_row_t raw_matrix_right[MATRIX_COLS];
-
-#define ROWS_PER_HAND (MATRIX_ROWS / 2)
-#ifndef MOONLANDER_I2C_TIMEOUT
-# define MOONLANDER_I2C_TIMEOUT 100
-#endif
-
-extern bool mcp23018_leds[3];
-extern bool is_launching;
-
-bool mcp23018_initd = false;
-static uint8_t mcp23018_reset_loop;
-
-uint8_t mcp23018_tx[3];
-uint8_t mcp23018_rx[1];
-
-void mcp23018_init(void) {
- i2c_init();
-
- // #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 } outputs
- // #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 } inputs
-
- mcp23018_tx[0] = 0x00; // IODIRA
- mcp23018_tx[1] = 0b00000000; // A is output
- mcp23018_tx[2] = 0b00111111; // B is inputs
-
- if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
- dprintf("error hori\n");
- } else {
- mcp23018_tx[0] = 0x0C; // GPPUA
- mcp23018_tx[1] = 0b10000000; // A is not pulled-up
- mcp23018_tx[2] = 0b11111111; // B is pulled-up
-
- if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
- dprintf("error hori\n");
- } else {
- mcp23018_initd = is_launching = true;
- }
- }
-}
-
-void matrix_init_custom(void) {
- dprintf("matrix init\n");
- // debug_matrix = true;
- // outputs
- setPinOutput(B10);
- setPinOutput(B11);
- setPinOutput(B12);
- setPinOutput(B13);
- setPinOutput(B14);
- setPinOutput(B15);
-
- // inputs
- setPinInputLow(A0);
- setPinInputLow(A1);
- setPinInputLow(A2);
- setPinInputLow(A3);
- setPinInputLow(A6);
- setPinInputLow(A7);
- setPinInputLow(B0);
-
- mcp23018_init();
-}
-
-bool matrix_scan_custom(matrix_row_t current_matrix[]) {
- bool changed = false;
-
- // Try to re-init right side
- if (!mcp23018_initd) {
- if (++mcp23018_reset_loop == 0) {
- // if (++mcp23018_reset_loop >= 1300) {
- // 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_init();
- if (!mcp23018_initd) {
- print("right side not responding\n");
- } else {
- print("right side attached\n");
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init();
-#endif
- }
- }
- }
-
- matrix_row_t data = 0;
- // actual matrix
- for (uint8_t row = 0; row <= ROWS_PER_HAND; row++) {
- // strobe row
- switch (row) {
- case 0: writePinHigh(B10); break;
- case 1: writePinHigh(B11); break;
- case 2: writePinHigh(B12); break;
- case 3: writePinHigh(B13); break;
- case 4: writePinHigh(B14); break;
- case 5: writePinHigh(B15); break;
- case 6: break; // Left hand has 6 rows
- }
-
- // right side
- if (mcp23018_initd) {
- // #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 } outputs
- // #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 } inputs
-
- // select row
- mcp23018_tx[0] = 0x12; // GPIOA
- mcp23018_tx[1] = (0b01111111 & ~(1 << (row))) | ((uint8_t)!mcp23018_leds[2] << 7); // activate row
- mcp23018_tx[2] = ((uint8_t)!mcp23018_leds[1] << 6) | ((uint8_t)!mcp23018_leds[0] << 7); // activate row
-
- if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
- dprintf("error hori\n");
- mcp23018_initd = false;
- }
-
- // read col
-
- mcp23018_tx[0] = 0x13; // GPIOB
- if (MSG_OK != i2c_readReg(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx[0], &mcp23018_rx[0], 1, MOONLANDER_I2C_TIMEOUT)) {
- dprintf("error vert\n");
- mcp23018_initd = false;
- }
-
- data = ~(mcp23018_rx[0] & 0b00111111);
- // data = 0x01;
- } else {
- data = 0;
- }
-
- if (raw_matrix_right[row] != data) {
- raw_matrix_right[row] = data;
- changed = true;
- }
-
-
- // left side
- if (row < ROWS_PER_HAND) {
- // i2c comm incur enough wait time
- if (!mcp23018_initd) {
- // need wait to settle pin state
- matrix_io_delay();
- }
- // read col data
- data = (
- (readPin(A0) << 0 ) |
- (readPin(A1) << 1 ) |
- (readPin(A2) << 2 ) |
- (readPin(A3) << 3 ) |
- (readPin(A6) << 4 ) |
- (readPin(A7) << 5 ) |
- (readPin(B0) << 6 )
- );
- // unstrobe row
- switch (row) {
- case 0: writePinLow(B10); break;
- case 1: writePinLow(B11); break;
- case 2: writePinLow(B12); break;
- case 3: writePinLow(B13); break;
- case 4: writePinLow(B14); break;
- case 5: writePinLow(B15); break;
- case 6: break;
- }
-
- if (current_matrix[row] != data) {
- current_matrix[row] = data;
- changed = true;
- }
- }
- }
- for (uint8_t row = 0; row < ROWS_PER_HAND; row++) {
- current_matrix[11 - row] = 0;
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- current_matrix[11 - row] |= ((raw_matrix_right[6 - col] & (1 << row) ? 1 : 0) << col);
- }
- }
- return changed;
-}
-
-// DO NOT REMOVE
-// Needed for proper wake/sleep
-void matrix_power_up(void) {
- bool temp_launching = is_launching;
-
- matrix_init_custom();
-
- is_launching = temp_launching;
- if (!is_launching) {
- ML_LED_1(false);
- ML_LED_2(false);
- ML_LED_3(false);
- ML_LED_4(false);
- ML_LED_5(false);
- ML_LED_6(false);
- }
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- }
-
-}
-
-bool is_transport_connected(void) {
- return mcp23018_initd;
-} \ No newline at end of file
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
deleted file mode 100644
index 5b52ba7031..0000000000
--- a/keyboards/moonlander/moonlander.c
+++ /dev/null
@@ -1,469 +0,0 @@
-/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
- * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "moonlander.h"
-
-keyboard_config_t keyboard_config;
-
-bool mcp23018_leds[3] = {0, 0, 0};
-bool is_launching = false;
-
-#ifdef DYNAMIC_MACRO_ENABLE
-static bool is_dynamic_recording = false;
-
-void dynamic_macro_record_start_user(int8_t direction) { is_dynamic_recording = true; }
-
-void dynamic_macro_record_end_user(int8_t direction) {
- is_dynamic_recording = false;
- ML_LED_3(false);
-}
-#endif
-
-void moonlander_led_task(void) {
- if (is_launching) {
- ML_LED_1(false);
- ML_LED_2(false);
- ML_LED_3(false);
- ML_LED_4(false);
- ML_LED_5(false);
- ML_LED_6(false);
-
- ML_LED_1(true);
- wait_ms(250);
- ML_LED_2(true);
- wait_ms(250);
- ML_LED_3(true);
- wait_ms(250);
- ML_LED_4(true);
- wait_ms(250);
- ML_LED_5(true);
- wait_ms(250);
- ML_LED_6(true);
- wait_ms(250);
- ML_LED_1(false);
- wait_ms(250);
- ML_LED_2(false);
- wait_ms(250);
- ML_LED_3(false);
- wait_ms(250);
- ML_LED_4(false);
- wait_ms(250);
- ML_LED_5(false);
- wait_ms(250);
- ML_LED_6(false);
- wait_ms(250);
- is_launching = false;
- layer_state_set_kb(layer_state);
- }
-#ifdef DYNAMIC_MACRO_ENABLE
- else if (is_dynamic_recording) {
- ML_LED_3(true);
- wait_ms(100);
- ML_LED_3(false);
- wait_ms(155);
- }
-#endif
-#if !defined(MOONLANDER_USER_LEDS)
- else {
- layer_state_set_kb(layer_state);
- }
-#endif
-}
-
-static THD_WORKING_AREA(waLEDThread, 128);
-static THD_FUNCTION(LEDThread, arg) {
- (void)arg;
- chRegSetThreadName("LEDThread");
- while (true) {
- moonlander_led_task();
- }
-}
-
-void keyboard_pre_init_kb(void) {
- setPinOutput(B5);
- setPinOutput(B4);
- setPinOutput(B3);
-
- writePinLow(B5);
- writePinLow(B4);
- writePinLow(B3);
-
- chThdCreateStatic(waLEDThread, sizeof(waLEDThread), NORMALPRIO - 16, LEDThread, NULL);
-
- /* the array is initialized to 0, no need to re-set it here */
- // mcp23018_leds[0] = 0; // blue
- // mcp23018_leds[1] = 0; // green
- // mcp23018_leds[2] = 0; // red
-
- keyboard_pre_init_user();
-}
-
-#if !defined(MOONLANDER_USER_LEDS)
-layer_state_t layer_state_set_kb(layer_state_t state) {
- state = layer_state_set_user(state);
- if (is_launching || !keyboard_config.led_level) return state;
- bool LED_1 = false;
- bool LED_2 = false;
- bool LED_3 = false;
- bool LED_4 = false;
- bool LED_5 = false;
-#if !defined(CAPS_LOCK_STATUS)
- bool LED_6 = false;
-#endif
-
- uint8_t layer = get_highest_layer(state);
- switch (layer) {
- case 1:
- LED_1 = true;
- LED_4 = true;
- break;
- case 2:
- LED_2 = true;
- LED_5 = true;
- break;
- case 3:
- LED_3 = true;
-#if !defined(CAPS_LOCK_STATUS)
- LED_6 = true;
-#endif
- break;
- case 4:
- LED_4 = true;
- break;
- case 5:
- LED_5 = true;
- break;
- case 6:
-#if !defined(CAPS_LOCK_STATUS)
- LED_6 = true;
-#endif
- break;
- default:
- break;
- }
-
- ML_LED_1(LED_1);
- ML_LED_2(LED_2);
- ML_LED_3(LED_3);
- ML_LED_4(LED_4);
- ML_LED_5(LED_5);
-#if !defined(CAPS_LOCK_STATUS)
- ML_LED_6(LED_6);
-#endif
-
- return state;
-}
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
-// clang-format off
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, C3_2, C1_1, C4_2}, // 1
- {0, C2_2, C1_2, C4_3},
- {0, C2_3, C1_3, C3_3},
- {0, C2_4, C1_4, C3_4},
- {0, C2_5, C1_5, C3_5},
- {0, C2_6, C1_6, C3_6},
- {0, C2_7, C1_7, C3_7},
- {0, C2_8, C1_8, C3_8},
- {0, C3_1, C2_1, C4_1},
-
- {0, C7_8, C6_8, C8_8}, // 10
- {0, C7_7, C6_7, C9_8},
- {0, C8_7, C6_6, C9_7},
- {0, C8_6, C7_6, C9_6},
- {0, C8_5, C7_5, C9_5},
- {0, C8_4, C7_4, C9_4},
- {0, C8_3, C7_3, C9_3},
- {0, C8_2, C7_2, C9_2},
- {0, C8_1, C7_1, C9_1},
-
- {0, C3_10, C1_9, C4_10}, // 19
- {0, C2_10, C1_10, C4_11},
- {0, C2_11, C1_11, C3_11},
- {0, C2_12, C1_12, C3_12},
- {0, C2_13, C1_13, C3_13},
- {0, C2_14, C1_14, C3_14},
- {0, C2_15, C1_15, C3_15},
- {0, C2_16, C1_16, C3_16},
- {0, C3_9, C2_9, C4_9},
-
- {0, C7_16, C6_16, C8_16}, // 28
- {0, C7_15, C6_15, C9_16},
- {0, C8_15, C6_14, C9_15},
- {0, C8_10, C7_10, C9_10},
- {0, C8_9, C7_9, C9_9},
- {0, C8_11, C7_11, C9_11},
- {0, C8_12, C7_12, C9_12},
- {0, C8_13, C7_13, C9_13},
- {0, C8_14, C7_14, C9_14},
-
- {1, C3_2, C1_1, C4_2}, // 1
- {1, C2_2, C1_2, C4_3},
- {1, C2_3, C1_3, C3_3},
- {1, C2_4, C1_4, C3_4},
- {1, C2_5, C1_5, C3_5},
- {1, C2_6, C1_6, C3_6},
- {1, C2_7, C1_7, C3_7},
- {1, C2_8, C1_8, C3_8},
- {1, C3_1, C2_1, C4_1},
-
- {1, C7_8, C6_8, C8_8}, // 10
- {1, C7_7, C6_7, C9_8},
- {1, C8_7, C6_6, C9_7},
- {1, C8_6, C7_6, C9_6},
- {1, C8_5, C7_5, C9_5},
- {1, C8_4, C7_4, C9_4},
- {1, C8_3, C7_3, C9_3},
- {1, C8_2, C7_2, C9_2},
- {1, C8_1, C7_1, C9_1},
-
- {1, C3_10, C1_9, C4_10}, // 19
- {1, C2_10, C1_10, C4_11},
- {1, C2_11, C1_11, C3_11},
- {1, C2_12, C1_12, C3_12},
- {1, C2_13, C1_13, C3_13},
- {1, C2_14, C1_14, C3_14},
- {1, C2_15, C1_15, C3_15},
- {1, C2_16, C1_16, C3_16},
- {1, C3_9, C2_9, C4_9},
-
- {1, C7_16, C6_16, C8_16}, // 28
- {1, C7_15, C6_15, C9_16},
- {1, C8_15, C6_14, C9_15},
- {1, C8_10, C7_10, C9_10},
- {1, C8_9, C7_9, C9_9},
- {1, C8_11, C7_11, C9_11},
- {1, C8_12, C7_12, C9_12},
- {1, C8_13, C7_13, C9_13},
- {1, C8_14, C7_14, C9_14},
-
-};
-
-led_config_t g_led_config = { {
- { 0, 5, 10, 15, 20, 25, 29 },
- { 1, 6, 11, 16, 21, 26, 30 },
- { 2, 7, 12, 17, 22, 27, 31 },
- { 3, 8, 13, 18, 23, 28, NO_LED },
- { 4, 9, 14, 19, 24, NO_LED, NO_LED },
- { 32, 33, 34, 35, NO_LED, NO_LED, NO_LED },
- { 65, 61, 56, 51, 46, 41, 36 },
- { 66, 62, 57, 52, 47, 42, 37 },
- { 67, 63, 58, 53, 48, 43, 38 },
- { NO_LED, 64, 59, 54, 49, 44, 39 },
- { NO_LED, NO_LED, 60, 55, 50, 45, 40 },
- { NO_LED, NO_LED, NO_LED, 71, 70, 69, 68 }
-}, {
- { 0, 4}, { 0, 20}, { 0, 36}, { 0, 52}, { 0, 68},
- { 16, 3}, { 16, 19}, { 16, 35}, { 16, 51}, { 16, 67},
- { 32, 1}, { 32, 17}, { 32, 33}, { 32, 49}, { 32, 65},
- { 48, 0}, { 48, 16}, { 48, 32}, { 48, 48}, { 48, 64},
- { 64, 1}, { 64, 17}, { 64, 33}, { 64, 49}, { 64, 65},
- { 80, 3}, { 80, 19}, { 80, 35}, { 80, 51},
- { 96, 4}, { 96, 20}, { 96, 36},
- { 88, 69}, {100, 80}, {112, 91}, {108, 69},
-
- {240, 4}, {240, 20}, {240, 36}, {240, 52}, {240, 68},
- {224, 3}, {224, 19}, {224, 35}, {224, 51}, {224, 67},
- {208, 1}, {208, 17}, {208, 33}, {208, 49}, {208, 65},
- {192, 0}, {192, 16}, {192, 32}, {192, 48}, {192, 64},
- {176, 1}, {176, 17}, {176, 33}, {176, 49}, {176, 65},
- {160, 3}, {160, 19}, {160, 35}, {160, 51},
- {144, 4}, {144, 20}, {144, 36},
- {152, 69}, {140, 80}, {128, 91}, {132, 69}
-}, {
- 1, 1, 1, 1, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4,
- 1, 1, 1,
- 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4, 1,
- 4, 4, 4, 4,
- 1, 1, 1,
- 1, 1, 1, 1
-} };
-// clang-format on
-
-#endif
-
-#ifdef AUDIO_ENABLE
-bool music_mask_kb(uint16_t keycode) {
- switch (keycode) {
- case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
- case QK_TO ... QK_TO_MAX:
- case QK_MOMENTARY ... QK_MOMENTARY_MAX:
- case QK_DEF_LAYER ... QK_DEF_LAYER_MAX:
- case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
- case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
- case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
- case QK_LAYER_MOD ... QK_LAYER_MOD_MAX:
- case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX:
- case QK_MOD_TAP ... QK_MOD_TAP_MAX:
- case AU_ON ... AU_PREV:
- case QK_BOOT:
- case QK_CLEAR_EEPROM:
- return false;
- default:
- return music_mask_user(keycode);
- }
-}
-#endif
-
-#ifdef SWAP_HANDS_ENABLE
-// swap-hands action needs a matrix to define the swap
-// clang-format off
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- /* Left hand, matrix positions */
- {{6,6}, {5,6}, {4,6}, {3,6}, {2,6}, {1,6},{0,6}},
- {{6,7}, {5,7}, {4,7}, {3,7}, {2,7}, {1,7},{0,7}},
- {{6,8}, {5,8}, {4,8}, {3,8}, {2,8}, {1,8},{0,8}},
- {{6,9}, {5,9}, {4,9}, {3,9}, {2,9}, {1,9},{0,9}},
- {{6,10},{5,10},{4,10},{3,10},{2,10},{1,10},{0,10}},
- {{6,11},{5,11},{4,11},{3,11},{2,11},{1,11},{0,11}},
- /* Right hand, matrix positions */
- {{6,0}, {5,0}, {4,0}, {3,0}, {2,0}, {1,0},{0,0}},
- {{6,1}, {5,1}, {4,1}, {3,1}, {2,1}, {1,1},{0,1}},
- {{6,2}, {5,2}, {4,2}, {3,2}, {2,2}, {1,2},{0,2}},
- {{6,3}, {5,3}, {4,3}, {3,3}, {2,3}, {1,3},{0,3}},
- {{6,4}, {5,4}, {4,4}, {3,4}, {2,4}, {1,4},{0,4}},
- {{6,5}, {5,5}, {4,5}, {3,5}, {2,5}, {1,5},{0,5}},
-};
-// clang-format on
-
-void keyboard_post_init_kb(void) {
- rgb_matrix_enable_noeeprom();
- keyboard_post_init_user();
-}
-#endif
-
-#if defined(AUDIO_ENABLE) && defined(MUSIC_MAP)
-// clang-format off
-__attribute__ ((weak))
-const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = {
- {58, 59, 60, 61, 62, 63, 64},
- {44, 45, 46, 47, 48, 49, 50},
- {30, 31, 32, 33, 34, 35, 36},
- {18, 19, 20, 21, 22, 23, 0},
- { 8, 9, 10, 11, 12, 0, 0},
- { 0, 1, 2, 3, 0, 0, 0},
- {65, 66, 67, 68, 69, 70, 71},
- {51, 52, 53, 54, 55, 56, 57},
- {37, 38, 39, 40, 41, 42, 43},
- { 0, 24, 25, 26, 27, 28, 29},
- { 0, 0, 13, 14, 15, 16, 17},
- { 0, 0, 0, 4, 5, 6, 7}
-};
-// clang-format on
-#endif
-
-#ifdef CAPS_LOCK_STATUS
-void led_update_ports(led_t led_state) {
- ML_LED_6(led_state.caps_lock);
-}
-#endif
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_user(keycode, record)) { return false; }
- switch (keycode) {
-#if !defined(MOONLANDER_USER_LEDS)
- case LED_LEVEL:
- if (record->event.pressed) {
- keyboard_config.led_level ^= 1;
- eeconfig_update_kb(keyboard_config.raw);
- if (keyboard_config.led_level) {
- layer_state_set_kb(layer_state);
- } else {
- ML_LED_1(false);
- ML_LED_2(false);
- ML_LED_3(false);
- ML_LED_4(false);
- ML_LED_5(false);
- ML_LED_6(false);
- }
- }
- break;
-#endif
-#ifdef RGB_MATRIX_ENABLE
- case TOGGLE_LAYER_COLOR:
- if (record->event.pressed) {
- keyboard_config.disable_layer_led ^= 1;
- if (keyboard_config.disable_layer_led) rgb_matrix_set_color_all(0, 0, 0);
- eeconfig_update_kb(keyboard_config.raw);
- }
- break;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- keyboard_config.rgb_matrix_enable = false;
- rgb_matrix_set_color_all(0, 0, 0);
- } break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- keyboard_config.rgb_matrix_enable = true;
- } break;
- }
- eeconfig_update_kb(keyboard_config.raw);
- }
- return false;
-#endif
- }
- return true;
-}
-
-void matrix_init_kb(void) {
- keyboard_config.raw = eeconfig_read_kb();
-
- if (!keyboard_config.led_level && !keyboard_config.led_level_res) {
- keyboard_config.led_level = true;
- keyboard_config.led_level_res = 0b11;
- eeconfig_update_kb(keyboard_config.raw);
- }
-#ifdef RGB_MATRIX_ENABLE
- if (keyboard_config.rgb_matrix_enable) {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- } else {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- }
-#endif
- matrix_init_user();
-}
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- keyboard_config.raw = 0;
- keyboard_config.rgb_matrix_enable = true;
- keyboard_config.led_level = true;
- keyboard_config.led_level_res = 0b11;
- eeconfig_update_kb(keyboard_config.raw);
- eeconfig_init_user();
-}
diff --git a/keyboards/moonlander/readme.md b/keyboards/moonlander/readme.md
deleted file mode 100644
index 733780abde..0000000000
--- a/keyboards/moonlander/readme.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Moonlander
-
-![Moonlander](https://zsa.io/static/gallery-white-case-7a2ef555f8f7f4ce1b9030477b16e517.png)
-
-A next-gen split, ergonomic keyboard with an active left side, USB type C, integrated wrist rest, and a thumb cluster that can move.
-
-
-* Keyboard Maintainer: [drashna](https://github.com/drashna), [ZSA](https://github.com/zsa/)
-* Hardware Supported: Moonlander MK 1 (STM32F303xC)
-* Hardware Availability: [ZSA Store](https://zsa.io/moonlander/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make moonlander:default
-
-Flashing example for this keyboard:
-
- make moonlander:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-
-## Moonlander Customization
-
-### Indicator LEDs
-
-There are 6 functions for enabling and disabling the LEDs on the top of the boards. The functions are `ML_LED_1(bool)` through `ML_LED_6(bool)`, with the first LED being the left most LED on the left hand, and the sixth LED being the right most LED on the right side.
-
-By default, the Indicator LEDs are used to indicate the layer state for the keyboard. If you wish to change this (and indicate caps/num/scroll lock status instead), then define `MOONLANDER_USER_LEDS` in your `config.h` file.
-
-
-### Oryx Configuration
-
-To enable the features from Oryx (ZSA's Configurator), either compile the `default` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file.
-
-This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR` keycode. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx.
-
-### RGB Matrix Features
-
-If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`.
-
-This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.
-
-Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.
-
-### Detecting split / Gaming mode
-
-To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak).
-
-Example for enabling a specific layer while right side is disconnected:
-
-```
-void housekeeping_task_user(void) {
- if (!is_transport_connected()) {
- // set layer
- }
-}
-``` \ No newline at end of file
diff --git a/keyboards/mss_studio/m63_rgb/config.h b/keyboards/mss_studio/m63_rgb/config.h
deleted file mode 100644
index 357f61e77c..0000000000
--- a/keyboards/mss_studio/m63_rgb/config.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2021 Mss Studio
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 75
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/mss_studio/m63_rgb/info.json b/keyboards/mss_studio/m63_rgb/info.json
index 197a78a924..3ac3725f1b 100644
--- a/keyboards/mss_studio/m63_rgb/info.json
+++ b/keyboards/mss_studio/m63_rgb/info.json
@@ -13,7 +13,52 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"],
diff --git a/keyboards/mss_studio/m64_rgb/config.h b/keyboards/mss_studio/m64_rgb/config.h
deleted file mode 100644
index dc228f8c62..0000000000
--- a/keyboards/mss_studio/m64_rgb/config.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2021 Mss Studio
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 76
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/mss_studio/m64_rgb/info.json b/keyboards/mss_studio/m64_rgb/info.json
index c1850d1191..f956ac50b5 100644
--- a/keyboards/mss_studio/m64_rgb/info.json
+++ b/keyboards/mss_studio/m64_rgb/info.json
@@ -13,7 +13,52 @@
"pin": "B15"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"],
diff --git a/keyboards/mt/mt40/rules.mk b/keyboards/mt/mt40/rules.mk
index b50ebe5888..5aa98ed4d8 100644
--- a/keyboards/mt/mt40/rules.mk
+++ b/keyboards/mt/mt40/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h
index 2f69547df9..cc215ee9a1 100644
--- a/keyboards/mt/mt64rgb/config.h
+++ b/keyboards/mt/mt64rgb/config.h
@@ -15,69 +15,10 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
-#define RGB_MATRIX_LED_PROCESS_LIMIT 20
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define RGB_MATRIX_LED_COUNT 64
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-// # define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/mt/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json
index f2723823ee..b311502eef 100644
--- a/keyboards/mt/mt64rgb/info.json
+++ b/keyboards/mt/mt64rgb/info.json
@@ -29,7 +29,40 @@
"pin": "B0"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3733",
+ "led_flush_limit": 26,
+ "led_process_limit": 20,
+ "max_brightness": 160
},
"matrix_pins": {
"cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"],
diff --git a/keyboards/mt/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c
index 7a6831f6d0..bcf26de231 100644
--- a/keyboards/mt/mt64rgb/mt64rgb.c
+++ b/keyboards/mt/mt64rgb/mt64rgb.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -24,74 +24,74 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, A_1, B_1, C_1},
- {0, D_1, E_1, F_1},
- {0, G_1, H_1, I_1},
- {0, J_1, K_1, L_1},
- {0, A_6, B_6, C_6},
- {0, D_6, E_6, F_6},
- {0, G_6, H_6, I_6},
- {0, J_6, K_6, L_6},
- {0, A_11, B_11, C_11},
- {0, D_11, E_11, F_11},
- {0, G_11, H_11, I_11},
- {0, J_11, K_11, L_11},
- {0, A_16, B_16, C_16},
- {0, D_16, E_16, F_16},
+ {0, SW1_CS1, SW2_CS1, SW3_CS1},
+ {0, SW4_CS1, SW5_CS1, SW6_CS1},
+ {0, SW7_CS1, SW8_CS1, SW9_CS1},
+ {0, SW10_CS1, SW11_CS1, SW12_CS1},
+ {0, SW1_CS6, SW2_CS6, SW3_CS6},
+ {0, SW4_CS6, SW5_CS6, SW6_CS6},
+ {0, SW7_CS6, SW8_CS6, SW9_CS6},
+ {0, SW10_CS6, SW11_CS6, SW12_CS6},
+ {0, SW1_CS11, SW2_CS11, SW3_CS11},
+ {0, SW4_CS11, SW5_CS11, SW6_CS11},
+ {0, SW7_CS11, SW8_CS11, SW9_CS11},
+ {0, SW10_CS11, SW11_CS11, SW12_CS11},
+ {0, SW1_CS16, SW2_CS16, SW3_CS16},
+ {0, SW4_CS16, SW5_CS16, SW6_CS16},
- {0, A_2, B_2, C_2},
- {0, D_2, E_2, F_2},
- {0, G_2, H_2, I_2},
- {0, J_2, K_2, L_2},
- {0, A_7, B_7, C_7},
- {0, D_7, E_7, F_7},
- {0, G_7, H_7, I_7},
- {0, J_7, K_7, L_7},
- {0, A_12, B_12, C_12},
- {0, D_12, E_12, F_12},
- {0, G_12, H_12, I_12},
- {0, J_12, K_12, L_12},
- {0, G_16, H_16, I_16},
- {0, J_16, K_16, L_16},
+ {0, SW1_CS2, SW2_CS2, SW3_CS2},
+ {0, SW4_CS2, SW5_CS2, SW6_CS2},
+ {0, SW7_CS2, SW8_CS2, SW9_CS2},
+ {0, SW10_CS2, SW11_CS2, SW12_CS2},
+ {0, SW1_CS7, SW2_CS7, SW3_CS7},
+ {0, SW4_CS7, SW5_CS7, SW6_CS7},
+ {0, SW7_CS7, SW8_CS7, SW9_CS7},
+ {0, SW10_CS7, SW11_CS7, SW12_CS7},
+ {0, SW1_CS12, SW2_CS12, SW3_CS12},
+ {0, SW4_CS12, SW5_CS12, SW6_CS12},
+ {0, SW7_CS12, SW8_CS12, SW9_CS12},
+ {0, SW10_CS12, SW11_CS12, SW12_CS12},
+ {0, SW7_CS16, SW8_CS16, SW9_CS16},
+ {0, SW10_CS16, SW11_CS16, SW12_CS16},
- {0, A_3, B_3, C_3},
- {0, D_3, E_3, F_3},
- {0, G_3, H_3, I_3},
- {0, J_3, K_3, L_3},
- {0, A_8, B_8, C_8},
- {0, D_8, E_8, F_8},
- {0, G_8, H_8, I_8},
- {0, J_8, K_8, L_8},
- {0, A_13, B_13, C_13},
- {0, D_13, E_13, F_13},
- {0, G_13, H_13, I_13},
- {0, J_13, K_13, L_13},
- {0, A_15, B_15, C_15},
+ {0, SW1_CS3, SW2_CS3, SW3_CS3},
+ {0, SW4_CS3, SW5_CS3, SW6_CS3},
+ {0, SW7_CS3, SW8_CS3, SW9_CS3},
+ {0, SW10_CS3, SW11_CS3, SW12_CS3},
+ {0, SW1_CS8, SW2_CS8, SW3_CS8},
+ {0, SW4_CS8, SW5_CS8, SW6_CS8},
+ {0, SW7_CS8, SW8_CS8, SW9_CS8},
+ {0, SW10_CS8, SW11_CS8, SW12_CS8},
+ {0, SW1_CS13, SW2_CS13, SW3_CS13},
+ {0, SW4_CS13, SW5_CS13, SW6_CS13},
+ {0, SW7_CS13, SW8_CS13, SW9_CS13},
+ {0, SW10_CS13, SW11_CS13, SW12_CS13},
+ {0, SW1_CS15, SW2_CS15, SW3_CS15},
- {0, A_4, B_4, C_4},
- {0, D_4, E_4, F_4},
- {0, G_4, H_4, I_4},
- {0, J_4, K_4, L_4},
- {0, A_9, B_9, C_9},
- {0, D_9, E_9, F_9},
- {0, G_9, H_9, I_9},
- {0, J_9, K_9, L_9},
- {0, A_14, B_14, C_14},
- {0, D_14, E_14, F_14},
- {0, G_14, H_14, I_14},
- {0, J_14, K_14, L_14},
- {0, D_15, E_15, F_15},
- {0, G_15, H_15, I_15},
+ {0, SW1_CS4, SW2_CS4, SW3_CS4},
+ {0, SW4_CS4, SW5_CS4, SW6_CS4},
+ {0, SW7_CS4, SW8_CS4, SW9_CS4},
+ {0, SW10_CS4, SW11_CS4, SW12_CS4},
+ {0, SW1_CS9, SW2_CS9, SW3_CS9},
+ {0, SW4_CS9, SW5_CS9, SW6_CS9},
+ {0, SW7_CS9, SW8_CS9, SW9_CS9},
+ {0, SW10_CS9, SW11_CS9, SW12_CS9},
+ {0, SW1_CS14, SW2_CS14, SW3_CS14},
+ {0, SW4_CS14, SW5_CS14, SW6_CS14},
+ {0, SW7_CS14, SW8_CS14, SW9_CS14},
+ {0, SW10_CS14, SW11_CS14, SW12_CS14},
+ {0, SW4_CS15, SW5_CS15, SW6_CS15},
+ {0, SW7_CS15, SW8_CS15, SW9_CS15},
- {0, A_5, B_5, C_5},
- {0, D_5, E_5, F_5},
- {0, G_5, H_5, I_5},
- {0, J_5, K_5, L_5},
- {0, A_10, B_10, C_10},
- {0, D_10, E_10, F_10},
- {0, G_10, H_10, I_10},
- {0, J_10, K_10, L_10},
- {0, J_15, K_15, L_15}
+ {0, SW1_CS5, SW2_CS5, SW3_CS5},
+ {0, SW4_CS5, SW5_CS5, SW6_CS5},
+ {0, SW7_CS5, SW8_CS5, SW9_CS5},
+ {0, SW10_CS5, SW11_CS5, SW12_CS5},
+ {0, SW1_CS10, SW2_CS10, SW3_CS10},
+ {0, SW4_CS10, SW5_CS10, SW6_CS10},
+ {0, SW7_CS10, SW8_CS10, SW9_CS10},
+ {0, SW10_CS10, SW11_CS10, SW12_CS10},
+ {0, SW10_CS15, SW11_CS15, SW12_CS15}
};
led_config_t g_led_config = {{
diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h
index 34ec1be86a..9b115d527d 100644
--- a/keyboards/mt/mt84/config.h
+++ b/keyboards/mt/mt84/config.h
@@ -15,70 +15,10 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
- #define RGB_MATRIX_LED_PROCESS_LIMIT 20
- #define RGB_MATRIX_LED_FLUSH_LIMIT 26
- #define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
- #define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
+#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
+#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC
- #define DRIVER_1_LED_TOTAL 44
- #define DRIVER_2_LED_TOTAL 40
- #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
- // RGB Matrix Animation modes. Explicitly enabled
- // For full list of effects, see:
- // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- // # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
- // # define ENABLE_RGB_MATRIX_BAND_SAT
- // # define ENABLE_RGB_MATRIX_BAND_VAL
- // # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- // # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- // # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- // # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- // # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
- // # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
- // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
- // # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- // # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- // # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- // # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- // # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- // # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
+#define RGB_MATRIX_LED_COUNT 84
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/mt/mt84/info.json b/keyboards/mt/mt84/info.json
index 74343e3583..7b41b09b57 100644
--- a/keyboards/mt/mt84/info.json
+++ b/keyboards/mt/mt84/info.json
@@ -23,7 +23,43 @@
"pin": "B0"
},
"rgb_matrix": {
- "driver": "is31fl3737"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "is31fl3737",
+ "led_flush_limit": 26,
+ "led_process_limit": 20,
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7", "E6"],
diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c
index fd4811e63a..276c92fc06 100644
--- a/keyboards/mt/mt84/mt84.c
+++ b/keyboards/mt/mt84/mt84.c
@@ -16,7 +16,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -24,95 +24,95 @@ const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, A_11, B_11, C_11},
- {0, D_11, E_11, F_11},
- {0, G_11, H_11, I_11},
- {0, J_11, K_11, L_11},
- {0, A_12, B_12, C_12},
- {0, D_12, E_12, F_12},
- {0, G_12, H_12, I_12},
- {0, J_12, K_12, L_12},
- {1, A_11, B_11, C_11},
- {1, D_11, E_11, F_11},
- {1, G_11, H_11, I_11},
- {1, J_11, K_11, L_11},
- {1, A_12, B_12, C_12},
- {1, D_12, E_12, F_12},
- {1, G_12, H_12, I_12},
- {1, J_12, K_12, L_12},
+ {0, SW1_CS11, SW2_CS11, SW3_CS11},
+ {0, SW4_CS11, SW5_CS11, SW6_CS11},
+ {0, SW7_CS11, SW8_CS11, SW9_CS11},
+ {0, SW10_CS11, SW11_CS11, SW12_CS11},
+ {0, SW1_CS12, SW2_CS12, SW3_CS12},
+ {0, SW4_CS12, SW5_CS12, SW6_CS12},
+ {0, SW7_CS12, SW8_CS12, SW9_CS12},
+ {0, SW10_CS12, SW11_CS12, SW12_CS12},
+ {1, SW1_CS11, SW2_CS11, SW3_CS11},
+ {1, SW4_CS11, SW5_CS11, SW6_CS11},
+ {1, SW7_CS11, SW8_CS11, SW9_CS11},
+ {1, SW10_CS11, SW11_CS11, SW12_CS11},
+ {1, SW1_CS12, SW2_CS12, SW3_CS12},
+ {1, SW4_CS12, SW5_CS12, SW6_CS12},
+ {1, SW7_CS12, SW8_CS12, SW9_CS12},
+ {1, SW10_CS12, SW11_CS12, SW12_CS12},
- {0, A_1, B_1, C_1},
- {0, D_1, E_1, F_1},
- {0, G_1, H_1, I_1},
- {0, J_1, K_1, L_1},
- {0, A_6, B_6, C_6},
- {0, D_6, E_6, F_6},
- {0, G_6, H_6, I_6},
- {0, J_6, K_6, L_6},
- {1, A_1, B_1, C_1},
- {1, D_1, E_1, F_1},
- {1, G_1, H_1, I_1},
- {1, J_1, K_1, L_1},
- {1, A_6, B_6, C_6},
- {1, D_6, E_6, F_6},
- {1, G_6, H_6, I_6},
+ {0, SW1_CS1, SW2_CS1, SW3_CS1},
+ {0, SW4_CS1, SW5_CS1, SW6_CS1},
+ {0, SW7_CS1, SW8_CS1, SW9_CS1},
+ {0, SW10_CS1, SW11_CS1, SW12_CS1},
+ {0, SW1_CS6, SW2_CS6, SW3_CS6},
+ {0, SW4_CS6, SW5_CS6, SW6_CS6},
+ {0, SW7_CS6, SW8_CS6, SW9_CS6},
+ {0, SW10_CS6, SW11_CS6, SW12_CS6},
+ {1, SW1_CS1, SW2_CS1, SW3_CS1},
+ {1, SW4_CS1, SW5_CS1, SW6_CS1},
+ {1, SW7_CS1, SW8_CS1, SW9_CS1},
+ {1, SW10_CS1, SW11_CS1, SW12_CS1},
+ {1, SW1_CS6, SW2_CS6, SW3_CS6},
+ {1, SW4_CS6, SW5_CS6, SW6_CS6},
+ {1, SW7_CS6, SW8_CS6, SW9_CS6},
- {0, A_2, B_2, C_2},
- {0, D_2, E_2, F_2},
- {0, G_2, H_2, I_2},
- {0, J_2, K_2, L_2},
- {0, A_7, B_7, C_7},
- {0, D_7, E_7, F_7},
- {0, G_7, H_7, I_7},
- {0, J_7, K_7, L_7},
- {1, A_2, B_2, C_2},
- {1, D_2, E_2, F_2},
- {1, G_2, H_2, I_2},
- {1, J_2, K_2, L_2},
- {1, A_7, B_7, C_7},
- {1, D_7, E_7, F_7},
- {1, G_7, H_7, I_7},
+ {0, SW1_CS2, SW2_CS2, SW3_CS2},
+ {0, SW4_CS2, SW5_CS2, SW6_CS2},
+ {0, SW7_CS2, SW8_CS2, SW9_CS2},
+ {0, SW10_CS2, SW11_CS2, SW12_CS2},
+ {0, SW1_CS7, SW2_CS7, SW3_CS7},
+ {0, SW4_CS7, SW5_CS7, SW6_CS7},
+ {0, SW7_CS7, SW8_CS7, SW9_CS7},
+ {0, SW10_CS7, SW11_CS7, SW12_CS7},
+ {1, SW1_CS2, SW2_CS2, SW3_CS2},
+ {1, SW4_CS2, SW5_CS2, SW6_CS2},
+ {1, SW7_CS2, SW8_CS2, SW9_CS2},
+ {1, SW10_CS2, SW11_CS2, SW12_CS2},
+ {1, SW1_CS7, SW2_CS7, SW3_CS7},
+ {1, SW4_CS7, SW5_CS7, SW6_CS7},
+ {1, SW7_CS7, SW8_CS7, SW9_CS7},
- {0, A_3, B_3, C_3},
- {0, D_3, E_3, F_3},
- {0, G_3, H_3, I_3},
- {0, J_3, K_3, L_3},
- {0, A_8, B_8, C_8},
- {0, D_8, E_8, F_8},
- {0, G_8, H_8, I_8},
- {0, J_8, K_8, L_8},
- {1, A_3, B_3, C_3},
- {1, D_3, E_3, F_3},
- {1, G_3, H_3, I_3},
- {1, J_3, K_3, L_3},
- {1, A_8, B_8, C_8},
- {1, G_8, H_8, I_8},
+ {0, SW1_CS3, SW2_CS3, SW3_CS3},
+ {0, SW4_CS3, SW5_CS3, SW6_CS3},
+ {0, SW7_CS3, SW8_CS3, SW9_CS3},
+ {0, SW10_CS3, SW11_CS3, SW12_CS3},
+ {0, SW1_CS8, SW2_CS8, SW3_CS8},
+ {0, SW4_CS8, SW5_CS8, SW6_CS8},
+ {0, SW7_CS8, SW8_CS8, SW9_CS8},
+ {0, SW10_CS8, SW11_CS8, SW12_CS8},
+ {1, SW1_CS3, SW2_CS3, SW3_CS3},
+ {1, SW4_CS3, SW5_CS3, SW6_CS3},
+ {1, SW7_CS3, SW8_CS3, SW9_CS3},
+ {1, SW10_CS3, SW11_CS3, SW12_CS3},
+ {1, SW1_CS8, SW2_CS8, SW3_CS8},
+ {1, SW7_CS8, SW8_CS8, SW9_CS8},
- {0, A_4, B_4, C_4},
- {0, D_4, E_4, F_4},
- {0, G_4, H_4, I_4},
- {0, J_4, K_4, L_4},
- {0, A_9, B_9, C_9},
- {0, D_9, E_9, F_9},
- {0, G_9, H_9, I_9},
- {0, J_9, K_9, L_9},
- {1, A_4, B_4, C_4},
- {1, D_4, E_4, F_4},
- {1, G_4, H_4, I_4},
- {1, J_4, K_4, L_4},
- {1, A_9, B_9, C_9},
- {1, G_9, H_9, I_9},
+ {0, SW1_CS4, SW2_CS4, SW3_CS4},
+ {0, SW4_CS4, SW5_CS4, SW6_CS4},
+ {0, SW7_CS4, SW8_CS4, SW9_CS4},
+ {0, SW10_CS4, SW11_CS4, SW12_CS4},
+ {0, SW1_CS9, SW2_CS9, SW3_CS9},
+ {0, SW4_CS9, SW5_CS9, SW6_CS9},
+ {0, SW7_CS9, SW8_CS9, SW9_CS9},
+ {0, SW10_CS9, SW11_CS9, SW12_CS9},
+ {1, SW1_CS4, SW2_CS4, SW3_CS4},
+ {1, SW4_CS4, SW5_CS4, SW6_CS4},
+ {1, SW7_CS4, SW8_CS4, SW9_CS4},
+ {1, SW10_CS4, SW11_CS4, SW12_CS4},
+ {1, SW1_CS9, SW2_CS9, SW3_CS9},
+ {1, SW7_CS9, SW8_CS9, SW9_CS9},
- {0, A_5, B_5, C_5},
- {0, D_5, E_5, F_5},
- {0, G_5, H_5, I_5},
- {0, D_10, E_10, F_10},
- {1, D_5, E_5, F_5},
- {1, G_5, H_5, I_5},
- {1, J_5, K_5, L_5},
- {1, A_10, B_10, C_10},
- {1, D_10, E_10, F_10},
- {1, G_10, H_10, I_10}
+ {0, SW1_CS5, SW2_CS5, SW3_CS5},
+ {0, SW4_CS5, SW5_CS5, SW6_CS5},
+ {0, SW7_CS5, SW8_CS5, SW9_CS5},
+ {0, SW4_CS10, SW5_CS10, SW6_CS10},
+ {1, SW4_CS5, SW5_CS5, SW6_CS5},
+ {1, SW7_CS5, SW8_CS5, SW9_CS5},
+ {1, SW10_CS5, SW11_CS5, SW12_CS5},
+ {1, SW1_CS10, SW2_CS10, SW3_CS10},
+ {1, SW4_CS10, SW5_CS10, SW6_CS10},
+ {1, SW7_CS10, SW8_CS10, SW9_CS10}
};
led_config_t g_led_config = {{
diff --git a/keyboards/mt/mt980/keymaps/walker/config.h b/keyboards/mt/mt980/keymaps/walker/config.h
deleted file mode 100644
index 0bd3959938..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5
-#define ONESHOT_TIMEOUT 5000
diff --git a/keyboards/mt/mt980/keymaps/walker/keymap.c b/keyboards/mt/mt980/keymaps/walker/keymap.c
deleted file mode 100644
index f0817dd33d..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
-#include QMK_KEYBOARD_H
-
-bool numlock_on = true;
-
-typedef struct {
- bool is_press_action;
- int state;
-} tap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- TRIPLE_TAP = 5,
- TRIPLE_HOLD = 6
-};
-
-enum {
- ALT_L1 = 0
-};
-
-int cur_dance (tap_dance_state_t *state);
-void alt_finished (tap_dance_state_t *state, void *user_data);
-void alt_reset (tap_dance_state_t *state, void *user_data);
-
-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_NO, KC_INS, KC_PSCR, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, TD(ALT_L1), KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUSE, KC_SCRL, KC_HOME, KC_END,
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->pressed) return SINGLE_HOLD;
- else return SINGLE_TAP;
- }
- else if (state->count == 2) {
- if (state->pressed) return DOUBLE_HOLD;
- else return DOUBLE_TAP;
- }
- else if (state->count == 3) {
- if (state->interrupted || !state->pressed) return TRIPLE_TAP;
- else return TRIPLE_HOLD;
- }
- else return 8;
-}
-
-static tap alttap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void alt_finished (tap_dance_state_t *state, void *user_data) {
- alttap_state.state = cur_dance(state);
- switch (alttap_state.state) {
- case SINGLE_TAP: set_oneshot_layer(1, ONESHOT_START); clear_oneshot_layer_state(ONESHOT_PRESSED); break;
- case SINGLE_HOLD: register_code(KC_LALT); break;
- case DOUBLE_TAP: set_oneshot_layer(1, ONESHOT_START); set_oneshot_layer(1, ONESHOT_PRESSED); break;
- case DOUBLE_HOLD: register_code(KC_LALT); layer_on(1); break;
- }
-}
-
-void alt_reset (tap_dance_state_t *state, void *user_data) {
- switch (alttap_state.state) {
- case SINGLE_TAP: break;
- case SINGLE_HOLD: unregister_code(KC_LALT); break;
- case DOUBLE_TAP: break;
- case DOUBLE_HOLD: layer_off(1); unregister_code(KC_LALT); break;
- }
- alttap_state.state = 0;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [ALT_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,alt_finished, alt_reset)
-};
-
-bool led_update_keymap(led_t led_state) {
- if (led_state.num_lock) {
- numlock_on = true;
- }
- else {
- numlock_on = false;
- }
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
- case KC_TRNS:
- case KC_NO:
- /* Always cancel one-shot layer when another key gets pressed */
- if (record->event.pressed && is_oneshot_layer_active())
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- return true;
- case QK_BOOT:
- /* Don't allow reset from oneshot layer state */
- if (record->event.pressed && is_oneshot_layer_active()) {
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- return false;
- }
- return true;
- case KC_PPLS:
- if (!numlock_on) {
- if (is_oneshot_layer_active() || layer_state & 0x2) {
- if (record->event.pressed)
- register_code(KC_HOME);
- else
- unregister_code(KC_HOME);
- clear_oneshot_layer_state(ONESHOT_START);
- }
- else {
- if (record->event.pressed)
- register_code(KC_PGUP);
- else
- unregister_code(KC_PGUP);
- }
- return false;
- }
- return true;
- case KC_PENT:
- if (!numlock_on) {
- if (is_oneshot_layer_active() || layer_state & 0x2) {
- if (record->event.pressed)
- register_code(KC_END);
- else
- unregister_code(KC_END);
- clear_oneshot_layer_state(ONESHOT_START);
- }
- else {
- if (record->event.pressed)
- register_code(KC_PGDN);
- else
- unregister_code(KC_PGDN);
- }
- return false;
- }
- return true;
- case KC_NUM:
- /* Shift + NumLock will be treated as shift-Insert */
- if ((keyboard_report->mods & MOD_BIT (KC_LSFT)) || (keyboard_report->mods & MOD_BIT (KC_RSFT))) {
- if (record->event.pressed) {
- register_code(KC_INS);
- unregister_code(KC_INS);
- }
- return false;
- }
- else
- return true;
- default:
- return true;
- }
- return true;
-}
diff --git a/keyboards/mt/mt980/keymaps/walker/rules.mk b/keyboards/mt/mt980/keymaps/walker/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/mtbkeys/mtb60/hotswap/config.h b/keyboards/mtbkeys/mtb60/hotswap/config.h
index 56a9edf0aa..19881718ef 100644
--- a/keyboards/mtbkeys/mtb60/hotswap/config.h
+++ b/keyboards/mtbkeys/mtb60/hotswap/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL /* Set default RGB */
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/mtbkeys/mtb60/hotswap/info.json b/keyboards/mtbkeys/mtb60/hotswap/info.json
index deb6f6a0fe..554587e816 100644
--- a/keyboards/mtbkeys/mtb60/hotswap/info.json
+++ b/keyboards/mtbkeys/mtb60/hotswap/info.json
@@ -24,6 +24,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"ws2812": {
diff --git a/keyboards/mtbkeys/mtb60/solder/config.h b/keyboards/mtbkeys/mtb60/solder/config.h
index 56a9edf0aa..19881718ef 100644
--- a/keyboards/mtbkeys/mtb60/solder/config.h
+++ b/keyboards/mtbkeys/mtb60/solder/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL /* Set default RGB */
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/mtbkeys/mtb60/solder/info.json b/keyboards/mtbkeys/mtb60/solder/info.json
index 9fdca32a3e..dae43e6969 100644
--- a/keyboards/mtbkeys/mtb60/solder/info.json
+++ b/keyboards/mtbkeys/mtb60/solder/info.json
@@ -24,6 +24,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"ws2812": {
diff --git a/keyboards/mwstudio/alicekk/config.h b/keyboards/mwstudio/alicekk/config.h
deleted file mode 100644
index 26ff90fa59..0000000000
--- a/keyboards/mwstudio/alicekk/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2022 TW59420 <https://github.com/TW59420>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/mwstudio/mw65_rgb/config.h b/keyboards/mwstudio/mw65_rgb/config.h
deleted file mode 100644
index 0459b58d36..0000000000
--- a/keyboards/mwstudio/mw65_rgb/config.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2021 TW59420 <https://github.com/TW59420>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 83
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_KEYPRESSES
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/mwstudio/mw65_rgb/info.json b/keyboards/mwstudio/mw65_rgb/info.json
index 73e3c0ea24..502a112c43 100644
--- a/keyboards/mwstudio/mw65_rgb/info.json
+++ b/keyboards/mwstudio/mw65_rgb/info.json
@@ -12,7 +12,50 @@
"pin": "B3"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/mwstudio/mw75/config.h b/keyboards/mwstudio/mw75/config.h
deleted file mode 100644
index b28f3547a7..0000000000
--- a/keyboards/mwstudio/mw75/config.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2021 TW59420 <https://github.com/TW59420>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_LED_COUNT 97
-#define RGB_MATRIX_KEYPRESSES
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/mwstudio/mw75/info.json b/keyboards/mwstudio/mw75/info.json
index 197a58d7ab..61533f6266 100644
--- a/keyboards/mwstudio/mw75/info.json
+++ b/keyboards/mwstudio/mw75/info.json
@@ -9,7 +9,52 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"matrix_pins": {
"cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/mwstudio/mw75r2/config.h b/keyboards/mwstudio/mw75r2/config.h
deleted file mode 100644
index c2019d6cd3..0000000000
--- a/keyboards/mwstudio/mw75r2/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2021 TW59420 <https://github.com/TW59420>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_LED_COUNT 21
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
diff --git a/keyboards/mwstudio/mw75r2/info.json b/keyboards/mwstudio/mw75r2/info.json
index 8f9d19e016..950ded1e80 100644
--- a/keyboards/mwstudio/mw75r2/info.json
+++ b/keyboards/mwstudio/mw75r2/info.json
@@ -18,6 +18,28 @@
"pin": "B3"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/nack/config.h b/keyboards/nack/config.h
index 8ac70be2dc..8a0b30f8ad 100644
--- a/keyboards/nack/config.h
+++ b/keyboards/nack/config.h
@@ -17,62 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
- #define WS2812_SPI_DRIVER SPID1
- #define WS2812_SPI_MOSI_PAL_MODE 5
- #define RGB_MATRIX_LED_COUNT 52
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // Max brightness of LEDs
- #define RGB_MATRIX_DEFAULT_VAL 64
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
+#define WS2812_SPI_DRIVER SPID1
+#define WS2812_SPI_MOSI_PAL_MODE 5
#ifdef AUDIO_ENABLE
#define AUDIO_PIN A5
diff --git a/keyboards/nack/info.json b/keyboards/nack/info.json
index 4fd9981145..4af3f64126 100644
--- a/keyboards/nack/info.json
+++ b/keyboards/nack/info.json
@@ -13,10 +13,58 @@
"driver": "spi"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 64
+ },
"driver": "ws2812",
"hue_steps": 10,
"sat_steps": 10,
- "val_steps": 10
+ "val_steps": 10,
+ "max_brightness": 128
},
"matrix_pins": {
"cols": ["A6", "A7", "A8", "A9", "A10", "B0", "B1", "B2", "B6", "B7", "C13", "C14", "C15"],
diff --git a/keyboards/nack/keymaps/farfalleflickan/keymap.c b/keyboards/nack/keymaps/farfalleflickan/keymap.c
deleted file mode 100644
index ec0b2434fa..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/keymap.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Copyright 2020 farfalleflickan <farfalleflickan@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap.h"
-
-#define ____ _______
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- BASE,
- NOGUI,
- NUM,
- FN
-};
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- CK_LSFT = SAFE_RANGE, // Shift
- CK_RALT, // AltGr
- CK_BSPC_DEL, // Backspace or Del (if pressed with CK_LSFT or CK_RALT)
- KK_RESET
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT(
-/* __________________________________________________________________________________________________________________________________________________________________________
- | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |----TAB-----|---Q--------|-----W------|-----E------|-----R------|----T-------|-----Y------|-----U------|----I-------|------O-----|----P-------|----Å-------|--( ¨^~ )---|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
-// | |----ESC-----|---A--------|---S--------|----D-------|-----F------|-----G------|-----H------|-----J------|-----K------|-----L------|-----Ö------|-----Ä------|--( '* )----|
- 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_NUHS,
-// | |---SHIFT----|---Z--------|---X--------|----C-------|-----V------|-----B------|-----N------|------M-----|---( ,; )---|---( .: )---|---( -_ )---|----UP------|-BACKSPACE--|
- CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, CK_BSPC_DEL,
-// | |---CTRL-----|---ALT------|---META-----|----FN_1----|----------SPACE----------|----FN_2----|----AltGr---|--( <>| )---|---ENTER----|-LEFT-------|---DOWN-----|--RIGHT-----|
- KC_LCTL, KC_LALT, KC_LGUI, MO(NUM), KC_SPC, KC_NO, MO(FN), CK_RALT, KC_NUBS, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
-// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
- ),
- [NOGUI] = LAYOUT(
-/* __________________________________________________________________________________________________________________________________________________________________________
- | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |----TAB-----|---Q--------|-----W------|-----E------|-----R------|----T-------|-----Y------|-----U------|----I-------|------O-----|----P-------|----Å-------|--( ¨^~ )---|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
-// | |----ESC-----|---A--------|---S--------|----D-------|-----F------|-----G------|-----H------|-----J------|-----K------|-----L------|-----Ö------|-----Ä------|--( '* )----|
- 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_NUHS,
-// | |---SHIFT----|---Z--------|---X--------|----C-------|-----V------|-----B------|-----N------|------M-----|---( ,; )---|---( .: )---|---( -_ )---|----UP------|-BACKSPACE--|
- CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, CK_BSPC_DEL,
-// | |---CTRL-----|---ALT------|---META-----|----FN_1----|----------SPACE----------|----FN_2----|----AltGr---|--( <>| )---|---ENTER----|-LEFT-------|---DOWN-----|--RIGHT-----|
- KC_LCTL, KC_LALT, KC_NO, MO(NUM), KC_SPC, KC_NO, TO(BASE), CK_RALT, KC_NUBS, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
-// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
- ),
- [NUM] = LAYOUT(
-/* __________________________________________________________________________________________________________________________________________________________________________
- | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |---TAB------|---( 1! )---|--( 2"@ )---|--( 3#£ )---|---( 4¤$ )--|--( 5%€ )---|---( 6& )---|--( 7/{ )---|--( 8([ )---|--( 9)] )---|--( 0=} )---|---( +?\ )--|---( ´` )---|
- ____, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
-// | |----ESC-----|-----F1-----|-----F2-----|----F3------|----F4------|----F5------|-----F6-----|-----F7------|----F8-----|-----F9-----|-----F10----|----F11-----|----F12-----|
- ____, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
-// | |---SHIFT----|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
- ____, KC_P0, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_PGUP, KC_NO,
-// | |---CTRL-----|---ALT------|---META-----|---FN_1-----|------------|------------|----FN_2----|--AltGr-----|---( §½ )---|------------|------------|------------|------------|
- ____, ____, ____, TO(BASE), KC_NO, KC_NO, MO(FN), ____, KC_GRV, KC_PDOT, KC_HOME, KC_PGDN, KC_END
-// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
- ),
- [FN] = LAYOUT(
-/* __________________________________________________________________________________________________________________________________________________________________________
- | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-QK_BOOT KBD--|
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KK_RESET,
-// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
- MU_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
-// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|-RGB LIGHT +|------------|
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, KC_NO,
-// | |------------|------------|------------|---FN_1-----|------------|------------|----FN_2----|------------|------------|------------|------------|-RGB LIGHT -|------------|
- KC_NO, KC_NO, KC_NO, TO(BASE), KC_NO, KC_NO, TO(BASE), TO(NOGUI), KC_NO, KC_NO, KC_NO, RGB_VAD, KC_NO
-// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
- )
-};
-
-// Interrupt bools
-bool lshift = false, ralt = false;
-
-// Number of items that are saved in prev_kcs
-uint8_t prev_indx = 0;
-// Used to save the last 6 actual keycodes
-uint16_t prev_kcs[6] = {0, 0, 0, 0, 0, 0};
-
-/*
-Used to add a keycode to a prev_kcs to remember it.
-When full the last code gets discarded and replaced by
-the new one.
-*/
-void add_to_prev(uint16_t kc){
- for (int i=0; i<prev_indx; i++){
- if (kc == prev_kcs[i])
- return;
- }
- if (prev_indx == 6){
- for (int i=5; i>0; i--){
- prev_kcs[i] = prev_kcs[i-1];
- }
- prev_kcs[0] = kc;
- } else {
- prev_kcs[prev_indx] = kc;
- prev_indx++;
- }
-}
-
-/*
-Unregisters all codes saved in prev_kcs and resets prev_indx.
-gets called on multiple occasions mainly when shift is released
-and when frankenkeycodes are pressed. Prevents output of
-wrong characters when really specific key combinations
-that would never occur during normal usage are pressed.
-*/
-void unreg_prev(void){
- if (prev_indx == 0)
- return;
- for (int i=0; i<prev_indx; i++){
- unregister_code(prev_kcs[i]);
- }
- prev_indx = 0;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
- switch (keycode) {
- case CK_LSFT:
- if(record->event.pressed) {
- unregister_code(KC_LSFT);
- register_code(KC_LSFT);
- lshift = true;
- } else {
- unreg_prev();
- unregister_code(KC_LSFT);
- lshift = false;
- }
- return false;
- break;
- case CK_RALT:
- if(record->event.pressed) {
- unregister_code(KC_RALT);
- register_code(KC_RALT);
- ralt = true;
- } else {
- unreg_prev();
- unregister_code(KC_RALT);
- ralt = false;
- }
- return false;
- break;
- case CK_BSPC_DEL:
- if (ralt==true) {
- RALT_NO(KC_BSPC,KC_DEL);
- } else {
- SHIFT_NO(KC_BSPC,KC_DEL);
- }
- break;
- case KK_RESET: // Basically, turn off RGB before resetting
- if (record->event.pressed) {
- key_timer = timer_read32();
- #ifdef RGB_MATRIX_ENABLE
- rgb_matrix_disable_noeeprom();
- #endif
- } else {
- if (timer_elapsed32(key_timer) >= 20) {
- reset_keyboard();
- }
- }
- break;
- default:
- if(record->event.pressed) {
- timer_timeout_keymap();
- if (lshift)
- register_code(KC_LSFT);
- else
- unregister_code(KC_LSFT);
-
- if (ralt)
- register_code(KC_ALGR);
- else
- unregister_code(KC_ALGR);
- }
- break;
- }
- return true;
-}
-
-__attribute__((weak))
-void timer_timeout_keymap(void){
-}
diff --git a/keyboards/nack/keymaps/farfalleflickan/keymap.h b/keyboards/nack/keymaps/farfalleflickan/keymap.h
deleted file mode 100644
index 212f45ffdb..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/keymap.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2020 farfalleflickan <farfalleflickan@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#include "quantum.h"
-
-void add_to_prev(uint16_t kc);
-void unreg_prev(void);
-void timer_timeout_keymap(void);
-bool process_record_user(uint16_t keycode, keyrecord_t *record);
-
-// Normal shift status
-#define SHIFT_NORM(kc1, kc2) \
-if (record->event.pressed) { \
- timer_timeout_keymap(); \
- if (lshift) { \
- register_code(KC_LSFT); \
- unregister_code(kc2); \
- register_code(kc2); \
- add_to_prev(kc2); \
- } else { \
- unregister_code(KC_LSFT); \
- unregister_code(kc1); \
- register_code(kc1); \
- } \
-} else { \
- unregister_code(kc1); \
- unregister_code(kc2); \
-} \
-return false;
-
-// Always shifted
-#define SHIFT_ALL(kc1, kc2) \
-if (record->event.pressed) { \
- timer_timeout_keymap(); \
- register_code(KC_LSFT); \
- if (lshift) { \
- unregister_code(kc2); \
- register_code(kc2); \
- add_to_prev(kc2); \
- } else { \
- unregister_code(kc1); \
- register_code(kc1); \
- add_to_prev(kc1); \
- } \
-} else { \
- unregister_code(kc1); \
- unregister_code(kc2); \
- unreg_prev(); \
- if (lshift) \
- register_code(KC_LSFT); \
- else \
- unregister_code(KC_LSFT); \
-} \
-return false;
-
-// Never shifted
-#define SHIFT_NO(kc1, kc2) \
-if (record->event.pressed) { \
- timer_timeout_keymap(); \
- unregister_code(KC_LSFT); \
- if (lshift) { \
- unregister_code(kc2); \
- register_code(kc2); \
- add_to_prev(kc2); \
- } else { \
- unregister_code(kc1); \
- register_code(kc1); \
- } \
-} else { \
- unregister_code(kc1); \
- unregister_code(kc2); \
- unreg_prev(); \
- if (lshift) \
- register_code(KC_LSFT); \
- else \
- unregister_code(KC_LSFT); \
-} \
-return false;
-
-//Never RALT
-#define RALT_NO(kc1, kc2) \
-if (record->event.pressed) { \
- timer_timeout_keymap(); \
- unregister_code(KC_RALT); \
- if (ralt) { \
- unregister_code(kc2); \
- register_code(kc2); \
- add_to_prev(kc2); \
- } else { \
- unregister_code(kc1); \
- register_code(kc1); \
- } \
-} else { \
- unregister_code(kc1); \
- unregister_code(kc2); \
- unreg_prev(); \
- if (ralt) \
- register_code(KC_RALT); \
- else \
- unregister_code(KC_RALT); \
-} \
-return false;
diff --git a/keyboards/nack/keymaps/farfalleflickan/readme.md b/keyboards/nack/keymaps/farfalleflickan/readme.md
deleted file mode 100644
index fbe5c6f5e3..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# farfalleflickan's keymap for nack
diff --git a/keyboards/nacly/sodium62/info.json b/keyboards/nacly/sodium62/info.json
index 94c812dd95..de4f22d607 100644
--- a/keyboards/nacly/sodium62/info.json
+++ b/keyboards/nacly/sodium62/info.json
@@ -4,8 +4,8 @@
"url": "https://nacly.net",
"maintainer": "nacly",
"usb": {
- "vid": "0xBEEF",
- "pid": "0xFED0",
+ "vid": "0x6E61",
+ "pid": "0x636C",
"device_version": "0.0.1"
},
"matrix_pins": {
diff --git a/keyboards/nacly/sodium62/keymaps/via/keymap.c b/keyboards/nacly/sodium62/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c07d91a392
--- /dev/null
+++ b/keyboards/nacly/sodium62/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 NaCly
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_LGUI, KC_A, KC_S, KC_D, LT(1,KC_F), KC_G, KC_H, LT(2,KC_J), KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, KC_EQL, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_ESC
+ ),
+ //Holding F
+ [1] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LGUI, KC_NO, KC_NO, KC_NO, _______, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ //Holding J
+ [2] = LAYOUT(
+ KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_F14, KC_F15, KC_ENT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, TG(3)
+ ),
+ //game layer
+ [3] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, LT(2,KC_J), KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_NO, KC_M, KC_GRV, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_HOME, KC_END, TO(0)
+ )
+};
diff --git a/keyboards/nacly/sodium62/keymaps/via/rules.mk b/keyboards/nacly/sodium62/keymaps/via/rules.mk
new file mode 100644
index 0000000000..16d33cd89f
--- /dev/null
+++ b/keyboards/nacly/sodium62/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+
diff --git a/keyboards/nasu/keymaps/mariocs/config.h b/keyboards/nasu/keymaps/mariocs/config.h
deleted file mode 100644
index 18b30b7859..0000000000
--- a/keyboards/nasu/keymaps/mariocs/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2021 Mario Cadenas (@MarioCadenas)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/nasu/keymaps/mariocs/keymap.c b/keyboards/nasu/keymaps/mariocs/keymap.c
deleted file mode 100644
index d8cae4295d..0000000000
--- a/keyboards/nasu/keymaps/mariocs/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 MarioCadenas (@MarioCadenas)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum {
- TD_LGUI,
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- layer_state_cmp(state, 1) ? setPinInputHigh(B0) : setPinInputLow(B0);
-
- return state;
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_LGUI] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, 1),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_alice_split_bs( /* Base */
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_TRNS, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
- KC_LCTL, KC_LALT, KC_SPC, TD(TD_LGUI), KC_SPC, KC_RALT, KC_RCTL),
-
-[1] = LAYOUT_alice_split_bs( /* FN */
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_alice_split_bs( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_alice_split_bs( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/nasu/keymaps/mariocs/readme.md b/keyboards/nasu/keymaps/mariocs/readme.md
deleted file mode 100644
index b5b0e66aa8..0000000000
--- a/keyboards/nasu/keymaps/mariocs/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Mariocs's keymap for Nasu.
-
-![Layer 0](https://i.imgur.com/kxC7RL5.png)
-
-![Layer 1](https://i.imgur.com/v0cYmXb.png)
-
-![Layer 2](https://i.imgur.com/FJ4y9hP.png)
-
-
-# Functionality
-
-* Via enabled.
-* When layer 1 is activated (Toggled os just temporarily), the numlock led will be switched on.
-* Double tapping `LGUI` key will toggle layer 1.
diff --git a/keyboards/nasu/keymaps/mariocs/rules.mk b/keyboards/nasu/keymaps/mariocs/rules.mk
deleted file mode 100644
index 791d5ab502..0000000000
--- a/keyboards/nasu/keymaps/mariocs/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/nek_type_a/nek_type_a.h b/keyboards/nek_type_a/nek_type_a.h
index dda9e2bdde..fe6fb27a45 100644
--- a/keyboards/nek_type_a/nek_type_a.h
+++ b/keyboards/nek_type_a/nek_type_a.h
@@ -21,9 +21,7 @@
#include <stdbool.h>
#include <util/delay.h>
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define I2C_ADDR (0b0100000<<1)
#define IODIRA 0x00 // i/o direction register
#define IODIRB 0x01
#define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/neopad/readme.md b/keyboards/neopad/readme.md
deleted file mode 100644
index 9e83e9bb6d..0000000000
--- a/keyboards/neopad/readme.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Neopad
-
-Neopad is a little macropad with four switches and two rotary encoders, made by through hole components only.
-_Actually the number of switches is six, because even the encoder are allowed to click._
-
-![Neopad](https://i.imgur.com/TgOkj2Fh.jpg "Neopad first proto")
-
-The Neopad in the photo above is the first prototype. See the project repository for revision 1 update and KiCad files.
-
-* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy)
-* Hardware supported: ProMicro, _Elite-C (not tested)_
-* Project repository: [Neopad on github](https://github.com/rookiebwoy/neopad)
-
-Make example for this keyboard (after setting up your build environment):
-
- make neopad/rev1:default
-
-Flashing example for this keyboard:
-
- make neopad/rev1:default:flash
-
-When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
diff --git a/keyboards/neopad/rules.mk b/keyboards/neopad/rules.mk
deleted file mode 100755
index 8fc1afe955..0000000000
--- a/keyboards/neopad/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = neopad/rev1
diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c
index 9def73d6a4..31f88a71f9 100644
--- a/keyboards/neson_design/700e/700e.c
+++ b/keyboards/neson_design/700e/700e.c
@@ -20,6 +20,7 @@
#include "quantum.h"
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3731.h"
+#include "ws2812.h"
enum {
SELF_TESTING,
@@ -336,7 +337,7 @@ void housekeeping_task_kb(void)
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_state.state != NORMAL) return;
@@ -353,6 +354,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
ws2812_setleds(leds, 4);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
bool led_update_kb(led_t led_state)
{
bool res = led_update_user(led_state);
diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h
index 2fdcead121..d92c9deb5d 100644
--- a/keyboards/neson_design/700e/config.h
+++ b/keyboards/neson_design/700e/config.h
@@ -18,22 +18,8 @@
*/
#pragma once
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-
-#define DRIVER_1_LED_TOTAL 32
-#define DRIVER_2_LED_TOTAL 32
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
+#define IS31FL3731_LED_COUNT 64
#define USB_SUSPEND_WAKEUP_DELAY 1000
diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json
index 12a979ab11..3b74e9609a 100644
--- a/keyboards/neson_design/700e/info.json
+++ b/keyboards/neson_design/700e/info.json
@@ -20,6 +20,7 @@
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 68,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/neson_design/700e/rules.mk b/keyboards/neson_design/700e/rules.mk
index 5650ed1fee..dd1db38bab 100644
--- a/keyboards/neson_design/700e/rules.mk
+++ b/keyboards/neson_design/700e/rules.mk
@@ -12,4 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
NO_USB_STARTUP_CHECK = yes
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
+WS2812_DRIVER_REQUIRED = yes
I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h
index 22c12dfb97..92aa189fae 100644
--- a/keyboards/neson_design/n6/config.h
+++ b/keyboards/neson_design/n6/config.h
@@ -18,20 +18,6 @@
*/
#pragma once
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-
-#define DRIVER_1_LED_TOTAL 32
-#define DRIVER_2_LED_TOTAL 32
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
+#define IS31FL3731_LED_COUNT 64
diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json
index 3f383b4f8f..c48824d80f 100644
--- a/keyboards/neson_design/n6/info.json
+++ b/keyboards/neson_design/n6/info.json
@@ -23,6 +23,7 @@
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 65,
+ "driver": "custom",
"max_brightness": 192,
"animations": {
"breathing": true,
diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c
index 38b634eeb7..b878b9368d 100644
--- a/keyboards/neson_design/n6/n6.c
+++ b/keyboards/neson_design/n6/n6.c
@@ -20,6 +20,7 @@
#include "quantum.h"
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3731.h"
+#include "ws2812.h"
enum {
SELF_TESTING,
@@ -338,7 +339,7 @@ void housekeeping_task_kb(void)
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_state.state != NORMAL) return;
@@ -348,6 +349,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 1);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
bool led_update_kb(led_t led_state)
{
bool res = led_update_user(led_state);
diff --git a/keyboards/neson_design/n6/rules.mk b/keyboards/neson_design/n6/rules.mk
index a3e4abe6cd..4c9ce45352 100644
--- a/keyboards/neson_design/n6/rules.mk
+++ b/keyboards/neson_design/n6/rules.mk
@@ -11,4 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
+WS2812_DRIVER_REQUIRED = yes
I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json
index 477ac3ba7c..1c86d9a1ae 100644
--- a/keyboards/neson_design/nico/info.json
+++ b/keyboards/neson_design/nico/info.json
@@ -25,7 +25,8 @@
"pin": "B0"
},
"rgblight": {
- "led_count": 5
+ "led_count": 5,
+ "driver": "custom"
},
"url": "",
"usb": {
diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c
index b4d15777b7..bf8eeb87dd 100644
--- a/keyboards/neson_design/nico/nico.c
+++ b/keyboards/neson_design/nico/nico.c
@@ -18,6 +18,7 @@
*/
#include "quantum.h"
+#include "ws2812.h"
#ifdef RGBLIGHT_ENABLE
static bool alert = false;
@@ -53,20 +54,20 @@ void housekeeping_task_kb(void)
alert = !alert;
last_ticks = timer_read();
}
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
} else {
if (backup) {
led[4].r = caps_led.r;
led[4].g = caps_led.g;
led[4].b = caps_led.b;
backup = false;
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
}
}
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
start_led[2].r = start_led[0].r;
start_led[2].g = start_led[0].g;
@@ -79,7 +80,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
uint8_t tmp = start_led[4].g;
start_led[4].g = start_led[4].r;
start_led[4].r = tmp;
- ws2812_setleds(start_led, RGBLED_NUM);
+ ws2812_setleds(start_led, RGBLIGHT_LED_COUNT);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif \ No newline at end of file
diff --git a/keyboards/neson_design/nico/rules.mk b/keyboards/neson_design/nico/rules.mk
index 6e7633bfe0..9a69649289 100644
--- a/keyboards/neson_design/nico/rules.mk
+++ b/keyboards/neson_design/nico/rules.mk
@@ -1 +1 @@
-# This file intentionally left blank
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/newgame40/post_config.h b/keyboards/newgame40/post_config.h
index 247178beec..7ac270c932 100644
--- a/keyboards/newgame40/post_config.h
+++ b/keyboards/newgame40/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 17
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/ning/tiny_board/tb16_rgb/config.h b/keyboards/ning/tiny_board/tb16_rgb/config.h
deleted file mode 100644
index 849035d1c3..0000000000
--- a/keyboards/ning/tiny_board/tb16_rgb/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2023 Ning (@ningjx)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 16
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
diff --git a/keyboards/ning/tiny_board/tb16_rgb/info.json b/keyboards/ning/tiny_board/tb16_rgb/info.json
index 337c61fabe..57a2438c3d 100644
--- a/keyboards/ning/tiny_board/tb16_rgb/info.json
+++ b/keyboards/ning/tiny_board/tb16_rgb/info.json
@@ -13,6 +13,12 @@
"rgb_matrix": true
},
"rgb_matrix": {
+ "animations": {
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "typing_heatmap"
+ },
"driver": "ws2812"
},
"matrix_pins": {
diff --git a/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c b/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c
deleted file mode 100644
index e9529fe91e..0000000000
--- a/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2023 Ning (@ningjx)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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] = {
- /*
- * ┌───┬───┬───┬───â”
- * │ 7 │ 8 │ 9 │RGB│
- * ├───┼───┼───┼───┤
- * │ 4 │ 5 │ 6 │MOD│
- * ├───┼───┼───┼───┤
- * │ 1 │ 2 │ 3 │ - │
- * ├───┼───┼───┼───┤
- * │ 0 │ . │Ent│ + │
- * └───┴───┴───┴───┘
- */
- [0] = LAYOUT_ortho_4x4(
- KC_P7, KC_P8, KC_P9, RGB_TOG,
- KC_P4, KC_P5, KC_P6, RGB_MODE_FORWARD,
- KC_P1, KC_P2, KC_P3, KC_PMNS,
- KC_P0, KC_PDOT, KC_PENT, KC_PPLS
- )
-};
diff --git a/keyboards/nopunin10did/jabberwocky/v1/config.h b/keyboards/nopunin10did/jabberwocky/v1/config.h
index 1eb25da282..ae6256b351 100644
--- a/keyboards/nopunin10did/jabberwocky/v1/config.h
+++ b/keyboards/nopunin10did/jabberwocky/v1/config.h
@@ -21,6 +21,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* Reducing layer count to 3 for via support */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/nopunin10did/jabberwocky/v1/info.json b/keyboards/nopunin10did/jabberwocky/v1/info.json
index 983b48ab1a..59ecc815b0 100644
--- a/keyboards/nopunin10did/jabberwocky/v1/info.json
+++ b/keyboards/nopunin10did/jabberwocky/v1/info.json
@@ -17,6 +17,9 @@
"caps_lock": "B0",
"num_lock": "D1"
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/nopunin10did/jabberwocky/v2/config.h b/keyboards/nopunin10did/jabberwocky/v2/config.h
index 7be9070afe..b00b2242dc 100644
--- a/keyboards/nopunin10did/jabberwocky/v2/config.h
+++ b/keyboards/nopunin10did/jabberwocky/v2/config.h
@@ -21,6 +21,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* Reducing layer count to 3 for via support */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/nopunin10did/jabberwocky/v2/info.json b/keyboards/nopunin10did/jabberwocky/v2/info.json
index 64848c0552..263ae7df8f 100644
--- a/keyboards/nopunin10did/jabberwocky/v2/info.json
+++ b/keyboards/nopunin10did/jabberwocky/v2/info.json
@@ -18,6 +18,9 @@
"pin": "D6",
"levels": 6
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "B7",
"num_lock": "C6"
diff --git a/keyboards/novelkeys/nk20/config.h b/keyboards/novelkeys/nk20/config.h
index 55d8b53e83..317cc2c3e8 100644
--- a/keyboards/novelkeys/nk20/config.h
+++ b/keyboards/novelkeys/nk20/config.h
@@ -17,65 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* RGB options */
-
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-
-#define RGB_MATRIX_LED_COUNT 20
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk20/info.json b/keyboards/novelkeys/nk20/info.json
index 3ad31f8a33..6d25ca4c21 100644
--- a/keyboards/novelkeys/nk20/info.json
+++ b/keyboards/novelkeys/nk20/info.json
@@ -13,7 +13,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 210,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B13", "B14", "B15", "A4"],
diff --git a/keyboards/novelkeys/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c
index c4a14e7087..dd0a94a8e6 100755
--- a/keyboards/novelkeys/nk65/nk65.c
+++ b/keyboards/novelkeys/nk65/nk65.c
@@ -28,135 +28,135 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, B_1, A_1, C_1}, //LA1
- {0, E_1, D_1, F_1}, //LA2
- {0, H_1, G_1, I_1}, //LA3
- {0, K_1, J_1, L_1}, //LA4
- {0, B_2, A_2, C_2}, //LA5
- {0, E_2, D_2, F_2}, //LA6
- {0, H_2, G_2, I_2}, //LA7
- {0, K_2, J_2, L_2}, //LA8
- {0, B_3, A_3, C_3}, //LA9
- {0, E_3, D_3, F_3}, //LA10
- {0, H_3, G_3, I_3}, //LA11
- {0, K_3, J_3, L_3}, //LA12
- {0, B_4, A_4, C_4}, //LA13
- {0, E_4, D_4, F_4}, //LA14
- {0, H_4, G_4, I_4}, //LA15
- {0, K_4, J_4, L_4}, //LA16
- {0, B_5, A_5, C_5}, //LA17
- {0, E_5, D_5, F_5}, //LA18
- {0, H_5, G_5, I_5}, //LA19
- {0, K_5, J_5, L_5}, //LA20
- {0, B_6, A_6, C_6}, //LA21
- {0, E_6, D_6, F_6}, //LA22
- {0, H_6, G_6, I_6}, //LA23
- {0, K_6, J_6, L_6}, //LA24
- {0, B_7, A_7, C_7}, //LA25
- {0, E_7, D_7, F_7}, //LA26
- {0, H_7, G_7, I_7}, //LA27
- {0, K_7, J_7, L_7}, //LA28
- {0, B_8, A_8, C_8}, //LA29
- {0, E_8, D_8, F_8}, //LA30
- {0, H_8, G_8, I_8}, //LA31
- {0, K_8, J_8, L_8}, //LA32
- {0, B_9, A_9, C_9}, //LA33
- {0, E_9, D_9, F_9}, //LA34
- {0, H_9, G_9, I_9}, //LA35
- {0, K_9, J_9, L_9}, //LA36
- {0, B_10, A_10, C_10}, //LA37
- {0, E_10, D_10, F_10}, //LA38
- {0, H_10, G_10, I_10}, //LA39
- {0, K_10, J_10, L_10}, //LA40
- {0, B_11, A_11, C_11}, //LA41
- {0, E_11, D_11, F_11}, //LA42
- {0, H_11, G_11, I_11}, //LA43
- {0, K_11, J_11, L_11}, //LA44
- {0, B_12, A_12, C_12}, //LA45
- {0, E_12, D_12, F_12}, //LA46
- {0, H_12, G_12, I_12}, //LA47
- {0, K_12, J_12, L_12}, //LA48
- {0, B_13, A_13, C_13}, //LA49
- {0, E_13, D_13, F_13}, //LA50
- {0, H_13, G_13, I_13}, //LA51
- {0, K_13, J_13, L_13}, //LA52
- {0, B_14, A_14, C_14}, //LA53
- {0, E_14, D_14, F_14}, //LA54
- {0, H_14, G_14, I_14}, //LA55
- {0, K_14, J_14, L_14}, //LA56
- {0, B_15, A_15, C_15}, //LA57
- {0, E_15, D_15, F_15}, //LA58
- {0, H_15, G_15, I_15}, //LA59
- {0, K_15, J_15, L_15}, //LA60
- {0, B_16, A_16, C_16}, //LA61
- {0, E_16, D_16, F_16}, //LA62
- {0, H_16, G_16, I_16}, //LA63
- {0, K_16, J_16, L_16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
+ {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
- {1, B_1, A_1, C_1}, //LB1
- {1, E_1, D_1, F_1}, //LB2
- {1, H_1, G_1, I_1}, //LB3
- {1, K_1, J_1, L_1}, //LB4
- {1, B_2, A_2, C_2}, //LB5
- {1, E_2, D_2, F_2}, //LB6
- {1, H_2, G_2, I_2}, //LB7
- {1, K_2, J_2, L_2}, //LB8
- {1, B_3, A_3, C_3}, //LB9
- {1, E_3, D_3, F_3}, //LB10
- {1, H_3, G_3, I_3}, //LB11
- {1, K_3, J_3, L_3}, //LB12
- {1, B_4, A_4, C_4}, //LB13
- {1, E_4, D_4, F_4}, //LB14
- {1, H_4, G_4, I_4}, //LB15
- {1, K_4, J_4, L_4}, //LB16
- {1, B_5, A_5, C_5}, //LB17
- {1, E_5, D_5, F_5}, //LB18
- {1, H_5, G_5, I_5}, //LB19
- {1, K_5, J_5, L_5}, //LB20
- {1, B_6, A_6, C_6}, //LB21
- {1, E_6, D_6, F_6}, //LB22
- {1, H_6, G_6, I_6}, //LB23
- {1, K_6, J_6, L_6}, //LB24
- {1, B_7, A_7, C_7}, //LB25
- {1, E_7, D_7, F_7}, //LB26
- {1, H_7, G_7, I_7}, //LB27
- {1, K_7, J_7, L_7}, //LB28
- {1, B_8, A_8, C_8}, //LB29
- {1, E_8, D_8, F_8}, //LB30
- {1, H_8, G_8, I_8}, //LB31
- {1, K_8, J_8, L_8}, //LB32
- {1, B_9, A_9, C_9}, //LB33
- {1, E_9, D_9, F_9}, //LB34
- {1, H_9, G_9, I_9}, //LB35
- {1, K_9, J_9, L_9}, //LB36
- {1, B_10, A_10, C_10}, //LB37
- {1, E_10, D_10, F_10}, //LB38
- {1, H_10, G_10, I_10}, //LB39
- {1, K_10, J_10, L_10}, //LB40
- {1, B_11, A_11, C_11}, //LB41
- {1, E_11, D_11, F_11}, //LB42
- {1, H_11, G_11, I_11}, //LB43
- {1, K_11, J_11, L_11}, //LB44
- {1, B_12, A_12, C_12}, //LB45
- {1, E_12, D_12, F_12}, //LB46
- {1, H_12, G_12, I_12}, //LB47
- {1, K_12, J_12, L_12}, //LB48
- {1, B_13, A_13, C_13}, //LB49
- {1, E_13, D_13, F_13}, //LB50
- {1, H_13, G_13, I_13}, //LB51
- {1, K_13, J_13, L_13}, //LB52
- {1, B_14, A_14, C_14}, //LB53
- {1, E_14, D_14, F_14}, //LB54
- {1, H_14, G_14, I_14}, //LB55
- {1, K_14, J_14, L_14}, //LB56
- {1, B_15, A_15, C_15}, //LB57
- {1, E_15, D_15, F_15}, //LB58
- {1, H_15, G_15, I_15}, //LB59
- {1, K_15, J_15, L_15}, //LB60
- {1, B_16, A_16, C_16}, //LB61
- {1, E_16, D_16, F_16}, //LB62
- {1, H_16, G_16, I_16}, //LB63
- {1, K_16, J_16, L_16}, //LB64
+ {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1
+ {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2
+ {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3
+ {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4
+ {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5
+ {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6
+ {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7
+ {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8
+ {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9
+ {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10
+ {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11
+ {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12
+ {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13
+ {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14
+ {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15
+ {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16
+ {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17
+ {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18
+ {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19
+ {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20
+ {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21
+ {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22
+ {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23
+ {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24
+ {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25
+ {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26
+ {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27
+ {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28
+ {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29
+ {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30
+ {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31
+ {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32
+ {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33
+ {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34
+ {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35
+ {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36
+ {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37
+ {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38
+ {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39
+ {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40
+ {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41
+ {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42
+ {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43
+ {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44
+ {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45
+ {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46
+ {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47
+ {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48
+ {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49
+ {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50
+ {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51
+ {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52
+ {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53
+ {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54
+ {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55
+ {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56
+ {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57
+ {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58
+ {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59
+ {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60
+ {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61
+ {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62
+ {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63
+ {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64
};
#endif
diff --git a/keyboards/novelkeys/nk65b/config.h b/keyboards/novelkeys/nk65b/config.h
index e236351344..40e3b54053 100755
--- a/keyboards/novelkeys/nk65b/config.h
+++ b/keyboards/novelkeys/nk65b/config.h
@@ -17,65 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* RGB options */
-
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 1
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-
-#define RGB_MATRIX_LED_COUNT 68
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk65b/info.json b/keyboards/novelkeys/nk65b/info.json
index eb6565aea6..8e6e01fe46 100755
--- a/keyboards/novelkeys/nk65b/info.json
+++ b/keyboards/novelkeys/nk65b/info.json
@@ -13,7 +13,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 130,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B12", "B13", "B14", "B15", "A8", "A9"],
diff --git a/keyboards/novelkeys/nk87/nk87.c b/keyboards/novelkeys/nk87/nk87.c
index e701bfaccf..420141c728 100755
--- a/keyboards/novelkeys/nk87/nk87.c
+++ b/keyboards/novelkeys/nk87/nk87.c
@@ -28,135 +28,135 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, B_1, A_1, C_1}, //LA1
- {0, E_1, D_1, F_1}, //LA2
- {0, H_1, G_1, I_1}, //LA3
- {0, K_1, J_1, L_1}, //LA4
- {0, B_2, A_2, C_2}, //LA5
- {0, E_2, D_2, F_2}, //LA6
- {0, H_2, G_2, I_2}, //LA7
- {0, K_2, J_2, L_2}, //LA8
- {0, B_3, A_3, C_3}, //LA9
- {0, E_3, D_3, F_3}, //LA10
- {0, H_3, G_3, I_3}, //LA11
- {0, K_3, J_3, L_3}, //LA12
- {0, B_4, A_4, C_4}, //LA13
- {0, E_4, D_4, F_4}, //LA14
- {0, H_4, G_4, I_4}, //LA15
- {0, K_4, J_4, L_4}, //LA16
- {0, B_5, A_5, C_5}, //LA17
- {0, E_5, D_5, F_5}, //LA18
- {0, H_5, G_5, I_5}, //LA19
- {0, K_5, J_5, L_5}, //LA20
- {0, B_6, A_6, C_6}, //LA21
- {0, E_6, D_6, F_6}, //LA22
- {0, H_6, G_6, I_6}, //LA23
- {0, K_6, J_6, L_6}, //LA24
- {0, B_7, A_7, C_7}, //LA25
- {0, E_7, D_7, F_7}, //LA26
- {0, H_7, G_7, I_7}, //LA27
- {0, K_7, J_7, L_7}, //LA28
- {0, B_8, A_8, C_8}, //LA29
- {0, E_8, D_8, F_8}, //LA30
- {0, H_8, G_8, I_8}, //LA31
- {0, K_8, J_8, L_8}, //LA32
- {0, B_9, A_9, C_9}, //LA33
- {0, E_9, D_9, F_9}, //LA34
- {0, H_9, G_9, I_9}, //LA35
- {0, K_9, J_9, L_9}, //LA36
- {0, B_10, A_10, C_10}, //LA37
- {0, E_10, D_10, F_10}, //LA38
- {0, H_10, G_10, I_10}, //LA39
- {0, K_10, J_10, L_10}, //LA40
- {0, B_11, A_11, C_11}, //LA41
- {0, E_11, D_11, F_11}, //LA42
- {0, H_11, G_11, I_11}, //LA43
- {0, K_11, J_11, L_11}, //LA44
- {0, B_12, A_12, C_12}, //LA45
- {0, E_12, D_12, F_12}, //LA46
- {0, H_12, G_12, I_12}, //LA47
- {0, K_12, J_12, L_12}, //LA48
- {0, B_13, A_13, C_13}, //LA49
- {0, E_13, D_13, F_13}, //LA50
- {0, H_13, G_13, I_13}, //LA51
- {0, K_13, J_13, L_13}, //LA52
- {0, B_14, A_14, C_14}, //LA53
- {0, E_14, D_14, F_14}, //LA54
- {0, H_14, G_14, I_14}, //LA55
- {0, K_14, J_14, L_14}, //LA56
- {0, B_15, A_15, C_15}, //LA57
- {0, E_15, D_15, F_15}, //LA58
- {0, H_15, G_15, I_15}, //LA59
- {0, K_15, J_15, L_15}, //LA60
- {0, B_16, A_16, C_16}, //LA61
- {0, E_16, D_16, F_16}, //LA62
- {0, H_16, G_16, I_16}, //LA63
- {0, K_16, J_16, L_16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
+ {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
- {1, B_1, A_1, C_1}, //LB1
- {1, E_1, D_1, F_1}, //LB2
- {1, H_1, G_1, I_1}, //LB3
- {1, K_1, J_1, L_1}, //LB4
- {1, B_2, A_2, C_2}, //LB5
- {1, E_2, D_2, F_2}, //LB6
- {1, H_2, G_2, I_2}, //LB7
- {1, K_2, J_2, L_2}, //LB8
- {1, B_3, A_3, C_3}, //LB9
- {1, E_3, D_3, F_3}, //LB10
- {1, H_3, G_3, I_3}, //LB11
- {1, K_3, J_3, L_3}, //LB12
- {1, B_4, A_4, C_4}, //LB13
- {1, E_4, D_4, F_4}, //LB14
- {1, H_4, G_4, I_4}, //LB15
- {1, K_4, J_4, L_4}, //LB16
- {1, B_5, A_5, C_5}, //LB17
- {1, E_5, D_5, F_5}, //LB18
- {1, H_5, G_5, I_5}, //LB19
- {1, K_5, J_5, L_5}, //LB20
- {1, B_6, A_6, C_6}, //LB21
- {1, E_6, D_6, F_6}, //LB22
- {1, H_6, G_6, I_6}, //LB23
- {1, K_6, J_6, L_6}, //LB24
- {1, B_7, A_7, C_7}, //LB25
- {1, E_7, D_7, F_7}, //LB26
- {1, H_7, G_7, I_7}, //LB27
- {1, K_7, J_7, L_7}, //LB28
- {1, B_8, A_8, C_8}, //LB29
- {1, E_8, D_8, F_8}, //LB30
- {1, H_8, G_8, I_8}, //LB31
- {1, K_8, J_8, L_8}, //LB32
- {1, B_9, A_9, C_9}, //LB33
- {1, E_9, D_9, F_9}, //LB34
- {1, H_9, G_9, I_9}, //LB35
- {1, K_9, J_9, L_9}, //LB36
- {1, B_10, A_10, C_10}, //LB37
- {1, E_10, D_10, F_10}, //LB38
- {1, H_10, G_10, I_10}, //LB39
- {1, K_10, J_10, L_10}, //LB40
- {1, B_11, A_11, C_11}, //LB41
- {1, E_11, D_11, F_11}, //LB42
- {1, H_11, G_11, I_11}, //LB43
- {1, K_11, J_11, L_11}, //LB44
- {1, B_12, A_12, C_12}, //LB45
- {1, E_12, D_12, F_12}, //LB46
- {1, H_12, G_12, I_12}, //LB47
- {1, K_12, J_12, L_12}, //LB48
- {1, B_13, A_13, C_13}, //LB49
- {1, E_13, D_13, F_13}, //LB50
- {1, H_13, G_13, I_13}, //LB51
- {1, K_13, J_13, L_13}, //LB52
- {1, B_14, A_14, C_14}, //LB53
- {1, E_14, D_14, F_14}, //LB54
- {1, H_14, G_14, I_14}, //LB55
- {1, K_14, J_14, L_14}, //LB56
- {1, B_15, A_15, C_15}, //LB57
- {1, E_15, D_15, F_15}, //LB58
- {1, H_15, G_15, I_15}, //LB59
- {1, K_15, J_15, L_15}, //LB60
- {1, B_16, A_16, C_16}, //LB61
- {1, E_16, D_16, F_16}, //LB62
- {1, H_16, G_16, I_16}, //LB63
- {1, K_16, J_16, L_16}, //LB64
+ {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1
+ {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2
+ {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3
+ {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4
+ {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5
+ {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6
+ {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7
+ {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8
+ {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9
+ {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10
+ {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11
+ {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12
+ {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13
+ {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14
+ {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15
+ {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16
+ {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17
+ {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18
+ {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19
+ {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20
+ {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21
+ {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22
+ {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23
+ {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24
+ {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25
+ {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26
+ {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27
+ {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28
+ {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29
+ {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30
+ {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31
+ {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32
+ {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33
+ {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34
+ {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35
+ {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36
+ {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37
+ {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38
+ {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39
+ {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40
+ {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41
+ {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42
+ {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43
+ {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44
+ {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45
+ {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46
+ {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47
+ {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48
+ {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49
+ {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50
+ {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51
+ {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52
+ {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53
+ {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54
+ {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55
+ {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56
+ {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57
+ {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58
+ {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59
+ {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60
+ {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61
+ {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62
+ {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63
+ {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64
};
#endif
diff --git a/keyboards/novelkeys/nk87b/config.h b/keyboards/novelkeys/nk87b/config.h
index a0bbb315d4..a79137e7d9 100644
--- a/keyboards/novelkeys/nk87b/config.h
+++ b/keyboards/novelkeys/nk87b/config.h
@@ -17,65 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* RGB options */
-
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-
-#define RGB_MATRIX_LED_COUNT 87
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk87b/info.json b/keyboards/novelkeys/nk87b/info.json
index 269db89ed3..cbcc8e2e18 100755
--- a/keyboards/novelkeys/nk87b/info.json
+++ b/keyboards/novelkeys/nk87b/info.json
@@ -13,7 +13,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 114,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"],
diff --git a/keyboards/novelkeys/nk_plus/config.h b/keyboards/novelkeys/nk_plus/config.h
index 2d3322bab2..40e3b54053 100644
--- a/keyboards/novelkeys/nk_plus/config.h
+++ b/keyboards/novelkeys/nk_plus/config.h
@@ -17,64 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* RGB options */
-
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 1
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-
-#define RGB_MATRIX_LED_COUNT 76
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk_plus/info.json b/keyboards/novelkeys/nk_plus/info.json
index 51a23057c4..41beca3682 100755
--- a/keyboards/novelkeys/nk_plus/info.json
+++ b/keyboards/novelkeys/nk_plus/info.json
@@ -27,6 +27,51 @@
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
@@ -106,7 +151,8 @@
{"flags": 1, "matrix": [4, 15], "x": 211, "y": 64},
{"flags": 1, "matrix": [4, 16], "x": 224, "y": 64}
],
- "max_brightness": 120
+ "max_brightness": 120,
+ "sleep": true
},
"ws2812": {
"driver": "pwm",
diff --git a/keyboards/null/st110r2/info.json b/keyboards/null/st110r2/info.json
new file mode 100644
index 0000000000..b83e9746e1
--- /dev/null
+++ b/keyboards/null/st110r2/info.json
@@ -0,0 +1,596 @@
+{
+ "manufacturer": "[null]",
+ "keyboard_name": "ST110 r2",
+ "maintainer": "user176176",
+ "bootloader": "halfkay",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "D0",
+ "compose": "B5",
+ "kana": "B4",
+ "num_lock": "B7",
+ "scroll_lock": "D1"
+ },
+ "matrix_pins": {
+ "cols": ["F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "C0", "C1", "C2", "C3", "C4", "C5", "C6"],
+ "rows": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"]
+ },
+ "processor": "at90usb1286",
+ "url": "https://null-src.com/posts/nkbm-st110r2/post.php",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xFEED"
+ },
+ "community_layouts": ["fullsize_ansi", "fullsize_iso", "fullsize_jis"],
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0},
+ {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0},
+ {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0},
+ {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25},
+ {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25},
+ {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25},
+ {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25},
+ {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25},
+ {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25},
+ {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25},
+ {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25},
+ {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15},
+ {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15},
+ {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15},
+ {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15},
+ {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15},
+ {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15},
+ {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25},
+ {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25},
+ {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25},
+ {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25},
+ {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25},
+ {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25},
+ {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2},
+ {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25},
+ {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25},
+ {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25},
+ {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75},
+ {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25},
+ {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25},
+ {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25},
+ {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25},
+ {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2},
+ {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25},
+ {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.25, "y": 5.25, "w": 1.25},
+ {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.5, "y": 5.25},
+ {"label": "K54/5E/KC_NO", "matrix": [5, 4], "x": 4.5, "y": 5.25, "w": 1.75},
+ {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 6.25, "y": 5.25, "w": 1.25},
+ {"label": "K57/5H/KC_NO", "matrix": [5, 7], "x": 7.5, "y": 5.25, "w": 1.75},
+ {"label": "K58/5I/KC_NO", "matrix": [5, 8], "x": 9.25, "y": 5.25},
+ {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25},
+ {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25},
+ {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25},
+ {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25},
+ {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2},
+ {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_fullsize_ansi": {
+ "layout": [
+ {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0},
+ {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0},
+ {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0},
+ {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25},
+ {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25},
+ {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25},
+ {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25},
+ {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25},
+ {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25},
+ {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25},
+ {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15},
+ {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15},
+ {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15},
+ {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15},
+ {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15},
+ {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15},
+ {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "K3C/3M/KC_NUBS", "matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25},
+ {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25},
+ {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25},
+ {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25},
+ {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25},
+ {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25},
+ {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2},
+ {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25},
+ {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25},
+ {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25},
+ {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25},
+ {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25},
+ {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25},
+ {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25},
+ {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2},
+ {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "K5D/5N/KC_APP", "matrix": [5, 13], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "K5E/5O/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"label": "K6A/6K/KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25},
+ {"label": "K6B/6L/KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25},
+ {"label": "K6C/6M/KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25},
+ {"label": "K7D/7N/KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2},
+ {"label": "K7E/7O/KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_fullsize_iso": {
+ "layout": [
+ {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0},
+ {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0},
+ {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0},
+ {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25},
+ {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25},
+ {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25},
+ {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25},
+ {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25},
+ {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25},
+ {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25},
+ {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15},
+ {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15},
+ {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15},
+ {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15},
+ {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15},
+ {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15},
+ {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25},
+ {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25},
+ {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25},
+ {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25},
+ {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25},
+ {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25},
+ {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2},
+ {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25},
+ {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25},
+ {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25},
+ {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25},
+ {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25},
+ {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25},
+ {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25},
+ {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2},
+ {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "K5D/5N/KC_APP", "matrix": [5, 13], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "K5E/5O/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"label": "K6A/6K/KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25},
+ {"label": "K6B/6L/KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25},
+ {"label": "K6C/6M/KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25},
+ {"label": "K7D/7N/KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2},
+ {"label": "K7E/7O/KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_fullsize_jis": {
+ "layout": [
+ {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0},
+ {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0},
+ {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0},
+ {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25},
+ {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25},
+ {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25},
+ {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25},
+ {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25},
+ {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25},
+ {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25},
+ {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25},
+ {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15},
+ {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15},
+ {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15},
+ {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15},
+ {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15},
+ {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15},
+ {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25},
+ {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25},
+ {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25},
+ {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25},
+ {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25},
+ {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25},
+ {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2},
+ {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25},
+ {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25},
+ {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25},
+ {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75},
+ {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25},
+ {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25},
+ {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25},
+ {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25},
+ {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2},
+ {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 1.25},
+ {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 5, "y": 5.25, "w": 3.25},
+ {"label": "K57/5H/KC_INT4", "matrix": [5, 7], "x": 8.25, "y": 5.25, "w": 1.25},
+ {"label": "K58/5I/KC_INT2", "matrix": [5, 8], "x": 9.5, "y": 5.25, "w": 1.25},
+ {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.75, "y": 5.25},
+ {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.75, "y": 5.25},
+ {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25},
+ {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25},
+ {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25},
+ {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25},
+ {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2},
+ {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0},
+ {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0},
+ {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0},
+ {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25},
+ {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25},
+ {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25},
+ {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25},
+ {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25},
+ {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25},
+ {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25},
+ {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25},
+ {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15},
+ {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15},
+ {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15},
+ {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15},
+ {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15},
+ {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15},
+ {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25},
+ {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25},
+ {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25},
+ {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25},
+ {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25},
+ {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25},
+ {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2},
+ {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25},
+ {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25},
+ {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25},
+ {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75},
+ {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25},
+ {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25},
+ {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25},
+ {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25},
+ {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2},
+ {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25},
+ {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.25, "y": 5.25, "w": 1.25},
+ {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.5, "y": 5.25},
+ {"label": "K54/5E/KC_NO", "matrix": [5, 4], "x": 4.5, "y": 5.25, "w": 1.75},
+ {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 6.25, "y": 5.25, "w": 1.25},
+ {"label": "K57/5H/KC_NO", "matrix": [5, 7], "x": 7.5, "y": 5.25, "w": 1.75},
+ {"label": "K58/5I/KC_NO", "matrix": [5, 8], "x": 9.25, "y": 5.25},
+ {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.25, "y": 5.25, "w": 1.25},
+ {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.25},
+ {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25},
+ {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25},
+ {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25},
+ {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25},
+ {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25},
+ {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2},
+ {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/null/st110r2/keymaps/ansi_std/keymap.c b/keyboards/null/st110r2/keymaps/ansi_std/keymap.c
new file mode 100644
index 0000000000..b350c1c28a
--- /dev/null
+++ b/keyboards/null/st110r2/keymaps/ansi_std/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───┠┌───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┠├───┼───┼───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┠├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ↠│ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [0] = LAYOUT_fullsize_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ )
+};
diff --git a/keyboards/null/st110r2/keymaps/default/keymap.c b/keyboards/null/st110r2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e163012807
--- /dev/null
+++ b/keyboards/null/st110r2/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ ┌───┠├───┼───┼───┼───┤
+ * │Shft│<|>│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \_│ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┼───┴┬──┴┬──┴───┼───┼───┴──┬┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┠├───┴───┼───┤Ent│
+ * │Ctrl│GUI│Alt │MHN│Space │SPC│Space │HNK│KNA │Alt │App │Ctrl│ │ ↠│ ↓ │ → │ │ 0 │ . │ │
+ * └────┴───┴────┴───┴──────┴───┴──────┴───┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [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_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT
+ )
+};
diff --git a/keyboards/null/st110r2/keymaps/iso_default/keymap.c b/keyboards/null/st110r2/keymaps/iso_default/keymap.c
new file mode 100644
index 0000000000..13f31bbf1d
--- /dev/null
+++ b/keyboards/null/st110r2/keymaps/iso_default/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┠├───┼───┼───┼───┤
+ * │Shft│<|>│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \_│ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┼───┴┬──┴┬──┴───┼───┼───┴──┬┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┠├───┴───┼───┤Ent│
+ * │Ctrl│GUI│Alt │MHN│Space │SPC│Space │HNK│KNA │Alt │App │Ctrl│ │ ↠│ ↓ │ → │ │ 0 │ . │ │
+ * └────┴───┴────┴───┴──────┴───┴──────┴───┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [0] = LAYOUT_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT
+ )
+};
diff --git a/keyboards/null/st110r2/keymaps/iso_std/keymap.c b/keyboards/null/st110r2/keymaps/iso_std/keymap.c
new file mode 100644
index 0000000000..a1873be5c8
--- /dev/null
+++ b/keyboards/null/st110r2/keymaps/iso_std/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───┠┌───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┠├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┠├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ↠│ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [0] = LAYOUT_fullsize_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ )
+};
diff --git a/keyboards/null/st110r2/keymaps/jis_std/keymap.c b/keyboards/null/st110r2/keymaps/jis_std/keymap.c
new file mode 100644
index 0000000000..95c76bfb55
--- /dev/null
+++ b/keyboards/null/st110r2/keymaps/jis_std/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───┬───┬───┬───â”
+ * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │ │ 4 │ 5 │ 6 │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┠├───┼───┼───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┼───┴┬──┴─┬─┴─┬─┴─┬─┴─┬────┤ ┌───┼───┼───┠├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt│GUI│App│Ctrl│ │ ↠│ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────┴────────────┴────┴────┴───┴───┴───┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [0] = LAYOUT_fullsize_jis(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ )
+};
diff --git a/keyboards/null/st110r2/readme.md b/keyboards/null/st110r2/readme.md
new file mode 100644
index 0000000000..c4959b4003
--- /dev/null
+++ b/keyboards/null/st110r2/readme.md
@@ -0,0 +1,31 @@
+# null/st110r2
+
+null ST110r2 is a custom PCB/keyboard project that supports multiple layouts and is built on top of the Filco and the clones alike.
+
+![st110r2_zoom](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r21-both1.png)
+![st110r2_full](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r21-both3.png)
+
+* Keyboard Maintainer: [user176176](https://github.com/user176176)
+* Hardware Supported: [null] 最高タイプ (SaikouType) NKBM-ST110r2.x keyboard PCBs with Teensy 2.0++.
+* Hardware Availability: [NKBM-ST110r2 - null-src.com](https://null-src.com/posts/nkbm-st110r2/post.php)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make null/st110r2:default
+
+Flashing example for this keyboard:
+
+ make null/st110r2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the reset button on Teensy
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+![st110r2_pcb](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r2_PCB.jpg)
+![st110r2_build](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r2.1_rosewill_top.jpg)
diff --git a/keyboards/null/st110r2/rules.mk b/keyboards/null/st110r2/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/null/st110r2/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c b/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c
deleted file mode 100644
index a53335003f..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c
+++ /dev/null
@@ -1,543 +0,0 @@
-/* Copyright 2021 dogspace <https://github.com/dogspace>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- KC_CUST = SAFE_RANGE,
-};
-
-enum layer_names {
- _MA,
- _L1,
- _L2,
- _L3
-};
-
-// NOTE: Default keymap layers were designed for ANSI split-space layout http://www.keyboard-layout-editor.com/#/gists/f28bd5ff4e62f69e89896df3a59671c6
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MA] = LAYOUT_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_MUTE, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, LCTL(KC_F),
- KC_CAPS, MO(_L2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_CALC,
- TG(_L2), 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_WHOM,
- MO(_L3), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_L1), LCTL(KC_C), LCTL(KC_V), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_L1] = LAYOUT_ansi(
- KC_GRAVE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, _______, _______, _______, _______, _______, _______,
- _______, LCTL(KC_Z), KC_LCTL, KC_LSFT, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, LCTL(KC_SLSH), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, LCTL(KC_X), _______, _______, _______, _______
- ),
- [_L2] = LAYOUT_ansi(
- KC_GRAVE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, KC_PAST, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_4, KC_5, KC_6, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_PMNS, KC_1, KC_2, KC_3, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_0, KC_PSLS, _______, _______, _______, _______, _______
- ),
- [_L3] = LAYOUT_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_SYRQ, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
-/*=========================================== OLED CONFIGURATION ===========================================*/
-bool oled_horizontal = true; // OLED rotation (true = horizontal, false = vertical)
-bool ansi_layout = true; // ANSI or ISO layout (true = ANSI, false = ISO)
-bool split_space = true; // Split spacebar (true = split spacebar, false = 6.25u or 7u spacebar)
-bool three_mods_left = true; // Left mods layout (true = 3x 1.25u keys, false = 2x 1.5u keys)
-bool three_mods_right = false; // Right mods layout (true = 3x 1u keys, false = 2x 1.5u keys)
-bool graph_direction = true; // Graph movement (true = right to left, false = left to right)
-float graph_top_wpm = 100.0; // Minimum WPM required to reach the top of the graph
-int graph_refresh = 1000; // In milliseconds, determines the graph-line frequency
-int icon_med_wpm = 50; // WPM required to display the medium snail
-int icon_fast_wpm = 72; // WPM required to display the fast snail
-// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal
-#define MA_LAYER_NAME "QWERTY" // Layer _MA name
-#define L1_LAYER_NAME "ARROWS" // Layer _L1 name
-#define L2_LAYER_NAME "NUMPAD" // Layer _L2 name
-#define L3_LAYER_NAME "FUNCTN" // Layer _L3 name
-/*================================================================================================================*/
-bool first_loop = true;
-int timer = 0;
-int wpm_limit = 20;
-int max_wpm = -1;
-int wpm_icon = -1;
-int graph_lines[64];
-
-// Set OLED rotation
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (oled_horizontal) {
- return OLED_ROTATION_180;
- } else {
- return OLED_ROTATION_90;
- }
-}
-
-// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary
-static void write_pixel(int x, int y, bool onoff) {
- if (oled_horizontal) {
- oled_write_pixel(x, y, onoff);
- } else {
- oled_write_pixel(y, 127 - x, onoff);
- }
-}
-
-// Draw static background image to OLED (keyboard with no bottom row)
-static void render_background(void) {
- if (oled_horizontal) {
- static const char PROGMEM oled_keymap_horizontal[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x84, 0x80, 0x80, 0x80, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04,
- 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
- 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
- 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
- 0x80, 0x04, 0x04, 0x04, 0x04, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(oled_keymap_horizontal, sizeof(oled_keymap_horizontal));
- } else {
- static const char PROGMEM oled_keymap_vertical[] = {
- 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
- 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
- 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
- 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(oled_keymap_vertical, sizeof(oled_keymap_vertical));
- }
-}
-
-// Location of OLED keyboard's top left pixel, relative to the display
-static const int keymap_template[2] = {41, 0};
-// Location of key highlights top left pixels, relative to keymap_template {X, Y, Key length in px}
-static int keymap_coords[MATRIX_ROWS][MATRIX_COLS][3] = {
- { {12, 15, 1}, {5, 0, 1}, {10, 0, 1}, {15, 0, 1}, {20, 0, 1}, {25, 0, 1}, {30, 0, 1}, {35, 0, 1}, {40, 0, 1}, {45, 0, 1}, {50, 0, 1}, {55, 0, 1}, {60, 0, 1}, {65, 0, 1}, {70, 0, 8}, {82, 0, 1} },
- { {0, 5, 1}, {5, 5, 5}, {14, 5, 1}, {19, 5, 1}, {24, 5, 1}, {29, 5, 1}, {34, 5, 1}, {39, 5, 1}, {44, 5, 1}, {49, 5, 1}, {54, 5, 1}, {59, 5, 1}, {64, 5, 1}, {69, 5, 1}, {74, 5, 4}, {82, 5, 1} },
- { {0, 10, 1}, {5, 10, 6}, {15, 10, 1}, {20, 10, 1}, {25, 10, 1}, {30, 10, 1}, {35, 10, 1}, {40, 10, 1}, {45, 10, 1}, {50, 10, 1}, {55, 10, 1}, {60, 10, 1}, {65, 10, 1}, {0, 0, 0}, {70, 10, 8}, {82, 10, 1} },
- { {0, 15, 1}, {5, 15, 8}, {17, 15, 1}, {22, 15, 1}, {27, 15, 1}, {32, 15, 1}, {37, 15, 1}, {42, 15, 1}, {47, 15, 1}, {52, 15, 1}, {57, 15, 1}, {62, 15, 1}, {67, 15, 6}, {0, 0, 0}, {77, 15, 1}, {82, 15, 1} },
- { {0, 20, 1}, {5, 20, 2}, {11, 20, 2}, {17, 20, 2}, {0, 0, 0}, {0, 0, 0}, {23, 20, 12}, {0, 0, 0}, {0, 0, 0}, {39, 20, 3}, {56, 20, 4}, {64, 20, 4}, {72, 20, 1}, {0, 0, 0}, {77, 20, 1}, {82, 20, 1} }
-};
-
-// Draw the bottom row of the keyboard (based on OLED config variables), update coordinates
-static void render_fn_row(void) {
- // Update locations of spacebar and modifier key highlights
- if ((split_space == false) && (three_mods_left == false)) {
- keymap_coords[4][1][2] = 3;
- keymap_coords[4][2][0] = 12;
- keymap_coords[4][2][2] = 3;
- keymap_coords[4][3][0] = 0;
- keymap_coords[4][3][1] = 0;
- keymap_coords[4][3][2] = 0;
- keymap_coords[4][6][0] = 19;
- keymap_coords[4][6][2] = 34;
- } else if ((split_space == false) && (three_mods_left == true)) {
- keymap_coords[4][6][2] = 30;
- }
- if ((split_space == false) && (three_mods_right == true)) {
- keymap_coords[4][9][0] = 57;
- keymap_coords[4][9][2] = 1;
- keymap_coords[4][10][0] = 62;
- keymap_coords[4][10][2] = 1;
- keymap_coords[4][11][0] = 67;
- keymap_coords[4][11][2] = 1;
- }
- // Draw modifiers
- for (int i = 0; i < 16; i++) {
- if (keymap_coords[4][i][2] != 0) {
- for (int p = 0; p < keymap_coords[4][i][2]; p++) {
- int x = keymap_template[0] + keymap_coords[4][i][0] + 2 + p;
- write_pixel(x, 22, true);
- }
- }
- }
- // Draw second line for split spacebar
- if (split_space == true) {
- for (int i = 0; i < 6; i++) {
- int x = keymap_template[0] + 46 + 2 + i;
- write_pixel(x, 22, true);
- }
- }
-}
-
-// Update OLED keyboard with ISO layout, update coordinates
-static void render_iso(void) {
- for (int i = 0; i < 6; i++) {
- // Turn off ANSI enter
- write_pixel(keymap_template[0] + 73 + i, keymap_template[1] + 12, false);
- if (i < 4) {
- // Turn off part of ANSI left shift
- write_pixel(keymap_template[0] + 10 + i, keymap_template[1] + 17, false);
- // Draw vertical line for ISO enter
- write_pixel(keymap_template[0] + 79, keymap_template[1] + 8 + i, true);
- }
- }
- // Update locations of shift and grave key highlights
- keymap_coords[3][1][2] = 3;
- keymap_coords[1][14][0] = 70;
- keymap_coords[1][14][1] = 10;
- keymap_coords[1][14][2] = 1;
-}
-
-// Toggles pixels surrounding key
-static void render_keymap(uint8_t key_row, uint8_t key_col, bool onoff) {
- int length = keymap_coords[key_row][key_col][2] + 4;
- int left = keymap_coords[key_row][key_col][0] + keymap_template[0];
- int top = keymap_coords[key_row][key_col][1] + keymap_template[1];
- int right = left + length - 1;
- int bottom = top + 4;
-
- // Special case 1 - Draw enter key on ISO layout, return
- if ((ansi_layout == false) && (key_row == 2) && (key_col == 14)) {
- for (int i = 0; i < 10; i++) {
- write_pixel(keymap_template[0] + 81, keymap_template[1] + 5 + i, onoff);
- if (i < 5) {
- write_pixel(keymap_template[0] + 74, keymap_template[1] + 5 + i, onoff);
- }
- if (i < 6) {
- write_pixel(keymap_template[0] + 75, keymap_template[1] + 9 + i, onoff);
- }
- if (i < 7) {
- write_pixel(keymap_template[0] + 75 + i, keymap_template[1] + 5, onoff);
- write_pixel(keymap_template[0] + 75 + i, keymap_template[1] + 14, onoff);
- }
- }
- return;
- }
- // Draw top and bottom walls (horizontal for <length>px)
- for (int x = 0; x < length; x++) {
- write_pixel(left + x, top, onoff);
- write_pixel(left + x, bottom, onoff);
- }
- // Draw left and right walls (vertical for 5px)
- for (int y = 0; y < 5; y++) {
- write_pixel(left, top + y, onoff);
- write_pixel(right, top + y, onoff);
- }
- // Special case 2 - Draw right spacebar on split-space layout
- if ((split_space == true) && (key_row == 4) && (key_col == 6)) {
- int start = keymap_template[0] + 46;
- int stop = keymap_template[0] + 55;
- for (int x = start; x < stop; x++) {
- write_pixel(x, top, onoff);
- write_pixel(x, bottom, onoff);
- }
- for (int y = 0; y < 5; y++) {
- write_pixel(start, top + y, onoff);
- write_pixel(stop, top + y, onoff);
- }
- }
-}
-
-// Write active layer name
-static void render_layer_state(void) {
- if (oled_horizontal) {
- oled_set_cursor(0, 0);
- } else {
- oled_set_cursor(0, 15);
- }
- switch (get_highest_layer(layer_state)) {
- case _MA:
- oled_write_P(PSTR(MA_LAYER_NAME), false);
- break;
- case _L1:
- oled_write_P(PSTR(L1_LAYER_NAME), false);
- break;
- case _L2:
- oled_write_P(PSTR(L2_LAYER_NAME), false);
- break;
- case _L3:
- oled_write_P(PSTR(L3_LAYER_NAME), false);
- break;
- default:
- oled_write("ERROR", false);
- break;
- }
-}
-
-// Update WPM counters
-static void render_wpm_counters(int current_wpm) {
- int cursorposition_cur = 2;
- int cursorposition_max = 1;
- if (oled_horizontal == false) {
- cursorposition_cur = 13;
- cursorposition_max = 14;
- }
-
- char wpm_counter[4];
- wpm_counter[3] = '\0';
- wpm_counter[2] = '0' + current_wpm % 10;
- wpm_counter[1] = '0' + (current_wpm / 10) % 10;
- wpm_counter[0] = '0' + (current_wpm / 100) % 10;
- oled_set_cursor(0, cursorposition_cur);
- oled_write(wpm_counter, false);
-
- if (current_wpm > max_wpm) {
- max_wpm = current_wpm;
- wpm_limit = max_wpm + 20;
- oled_set_cursor(0, cursorposition_max);
- oled_write(wpm_counter, false);
- }
-}
-
-// Update WPM snail icon
-static void render_wpm_icon(int current_wpm) {
- // wpm_icon is used to prevent unnecessary redraw
- if ((current_wpm < icon_med_wpm) && (wpm_icon != 0)) {
- wpm_icon = 0;
- } else if ((current_wpm >= icon_med_wpm) && (current_wpm < icon_fast_wpm) && (wpm_icon != 1)) {
- wpm_icon = 1;
- } else if ((current_wpm >= icon_fast_wpm) && (wpm_icon != 2)) {
- wpm_icon = 2;
- } else {
- return;
- }
- static const char PROGMEM snails[][2][24] = {
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00},
- {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}},
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00},
- {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}},
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00},
- {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}}
- };
- if (oled_horizontal) {
- oled_set_cursor(3, 1);
- oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0]));
- oled_set_cursor(3, 2);
- oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1]));
- } else {
- oled_set_cursor(0, 11);
- oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0]));
- oled_set_cursor(0, 12);
- oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1]));
- }
-}
-
-// Update WPM graph
-static void render_wpm_graph(int current_wpm) {
- int line_height = ((current_wpm / graph_top_wpm) * 7);
- if (line_height > 7) {
- line_height = 7;
- }
- // Count graph line pixels, return if nothing to draw
- int pixel_count = line_height;
- for (int i = 0; i < 63; i++) {
- pixel_count += graph_lines[i];
- }
- if (pixel_count == 0) {
- return;
- }
- // Shift array elements left or right depending on graph_direction, append new graph line
- if (graph_direction) {
- for (int i = 0; i < 63; i++) {
- graph_lines[i] = graph_lines[i + 1];
- }
- graph_lines[63] = line_height;
- } else {
- for (int i = 63; i > 0; i--) {
- graph_lines[i] = graph_lines[i - 1];
- }
- graph_lines[0] = line_height;
- }
- // Draw all graph lines (left to right, bottom to top)
- int draw_count, arrpos;
- for (int x = 1; x <= 127; x += 2) {
- arrpos = x / 2;
- draw_count = graph_lines[arrpos];
- for (int y = 31; y >= 25; y--) {
- if (draw_count > 0) {
- write_pixel(x, y, true);
- draw_count--;
- } else {
- write_pixel(x, y, false);
- }
- }
- }
-}
-
-// Call OLED functions
-bool oled_task_user(void) {
- // Draw OLED keyboard, prevent redraw
- if (first_loop) {
- render_background();
- render_fn_row();
- if (ansi_layout == false) {
- render_iso();
- }
- first_loop = false;
- }
- // Get current WPM, subtract 25% for accuracy and prevent large jumps caused by simultaneous keypresses
- int current_wpm = get_current_wpm();
- // Note: This will most likely be removed once QMK's WPM calculation is updated
- current_wpm -= current_wpm >> 2;
- if (current_wpm > wpm_limit) {
- current_wpm = max_wpm;
- set_current_wpm(max_wpm);
- }
- // Write active layer name to display
- render_layer_state();
- // Update WPM counters
- render_wpm_counters(current_wpm);
- // Update WPM snail icon
- render_wpm_icon(current_wpm);
- // Update WPM graph every graph_refresh milliseconds
- if (timer_elapsed(timer) > graph_refresh) {
- render_wpm_graph(current_wpm);
- timer = timer_read();
- }
- return false;
-}
-#endif
-
-// Called by QMK during key processing
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // Forwards keystrokes from an external input device over UART/TRRS
- process_record_remote_kb(keycode, record);
-
- #ifdef OLED_ENABLE
- // Toggle pixels surrounding key
- render_keymap(record->event.key.row, record->event.key.col, record->event.pressed);
- #endif
-
- return true;
-}
-
-// Rotary encoder - RGB and OLED settings
-void change_RGB(bool clockwise) {
- // While on any layer except default: // Rotary = RGB Mode
- bool shift = get_mods() & MOD_MASK_SHIFT; // Rotary + Shift = OLED Brightness
- bool ctrl = get_mods() & MOD_MASK_CTRL; // Rotary + Ctrl = RGB Brightness
- bool gui = get_mods() & MOD_MASK_GUI; // Rotary + Gui = RGB Saturation
- bool alt = get_mods() & MOD_MASK_ALT; // Rotary + Alt = RGB Hue
-
- if (clockwise) {
- if (shift) {
- int new_brightness = oled_get_brightness() + 10;
- if (new_brightness < 255) {
- oled_set_brightness(new_brightness);
- } else {
- oled_set_brightness(255);
- }
- } else if (ctrl) {
- rgblight_increase_val();
- } else if (gui) {
- rgblight_increase_sat();
- } else if (alt) {
- rgblight_increase_hue();
- } else {
- rgblight_step();
- }
- } else {
- if (shift) {
- int new_brightness = oled_get_brightness() - 10;
- if (new_brightness > 0) {
- oled_set_brightness(new_brightness);
- } else {
- oled_set_brightness(0);
- }
- } else if (ctrl) {
- rgblight_decrease_val();
- } else if (gui) {
- rgblight_decrease_sat();
- } else if (alt) {
- rgblight_decrease_hue();
- } else {
- rgblight_step_reverse();
- }
- }
-}
-
-// Rotary encoder behavior - Change volume on default layer, RGB/OLED on other layers
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (layer_state_is(0)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else {
- change_RGB(clockwise);
- }
- return true;
-}
-
-// Initialize remote keyboard, if connected
-void matrix_init_user(void) {
- matrix_init_remote_kb();
-}
-
-// Scan and parse keystrokes from remote keyboard, if connected
-void matrix_scan_user(void) {
- matrix_scan_remote_kb();
-}
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md b/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md
deleted file mode 100644
index 5ea93b01af..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# SnailMap
-
-![KeySnail](https://i.imgur.com/yEQJyI2h.png)
-
-## :snail: Display
-
-- Mini keyboard that highlights the currently pressed keys
-- Snail icon that changes based on the current WPM
-- Current and max WPM counters
-- Active layer name
-- WPM graph
-
-## :gear: Customization
-
-The `OLED configuration variables` can be used to easily customize the display
-
-```
-oled_horizontal - Horizontal or vertical orientation
-ansi_layout - ANSI or ISO layout
-split_space - Bottom row spacebar
-three_mods_left - Left modifier keys
-three_mods_right - Right modifier keys
-graph_direction - Graph movement direction
-graph_refresh - Frequency of graph lines
-graph_top_wpm - WPM required to reach the top of the graph
-icon_med_wpm - WPM required to display the medium snail
-icon_fast_wpm - WPM required to display the fast snail
-MA_LAYER_NAME - Layer 0 display name
-L1_LAYER_NAME - Layer 1 display name
-L2_LAYER_NAME - Layer 2 display name
-L3_LAYER_NAME - Layer 3 display name
-```
-___
-
-###### *Keymap created by* [dogspace](https://github.com/dogspace)
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk b/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk
deleted file mode 100644
index 4e0f1b619a..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no \ No newline at end of file
diff --git a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
index b71f9119ef..4e2f7dd4d6 100644
--- a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
@@ -112,7 +112,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} else {
rgblight_timer_disable();
uint8_t val = rgblight_get_val();
- rgblight_sethsv_range(255, 255, val, 0, RGBLED_NUM-1);
+ rgblight_sethsv_range(255, 255, val, 0, RGBLIGHT_LED_COUNT-1);
}
deafened = !deafened;
}
diff --git a/keyboards/nullbitsco/scramble/keymaps/oled/config.h b/keyboards/nullbitsco/scramble/keymaps/oled/config.h
index cd980b0936..67a896c8af 100644
--- a/keyboards/nullbitsco/scramble/keymaps/oled/config.h
+++ b/keyboards/nullbitsco/scramble/keymaps/oled/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
// Alternate boot pins for accessing the bootloader,
// since the boot switch is blocked by the OLED.
-#define BOOTMAGIC_LITE_ROW 1
-#define BOOTMAGIC_LITE_COLUMN 2
+#define BOOTMAGIC_ROW 1
+#define BOOTMAGIC_COLUMN 2
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/config.h b/keyboards/nullbitsco/snap/keymaps/typehud/config.h
deleted file mode 100644
index 62c11709a2..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2022 Chris Tanaka <https://github.com/christanaka>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* space savers */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-#define NO_ACTION_TAPPING
-#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
-
-// Old configuration
-#define OLED_BRIGHTNESS 128
-#define OLED_TIMEOUT 30000
-#define OLED_UPDATE_INTERVAL 200
-
-// Selectively undefine to save space
-// VIA support won't fit otherwise
-#ifdef RGBLIGHT_ENABLE
-#undef RGBLIGHT_EFFECT_TWINKLE
-#endif //RGB LIGHT_ENABLE
-
-// Split configuration
-#define SPLIT_TRANSPORT_MIRROR
-#define SPLIT_WPM_ENABLE
-
-// Typehud configuration
-#define TYPEHUD_FILLGRAPH
-#define TYPEHUD_MATRIX_COLS 16
-// #define TYPEHUD_MASTER
-// #define TYPEHUD_MATRIX_ROTATE_90
-// #define TYPEHUD_MATRIX_ROTATE_180
-// #define TYPEHUD_MATRIX_ROTATE_270
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c b/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c
deleted file mode 100644
index 231c9d8545..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* Copyright 2022 Chris Tanaka <https://github.com/christanaka>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "typehud.h"
-
-// clang-format off
-enum layers {
- _BASE,
- _VIA1,
- _VIA2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS,
- KC_F13, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_F14, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_F15, KC_CAPS, KC_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_F16, KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_F17, KC_LCTL, KC_LGUI, KC_LALT, MO(_VIA1), KC_SPC, KC_SPC, MO(_VIA1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_VIA1] = LAYOUT_all(
- QK_BOOT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
- [_VIA2] = LAYOUT_all(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- )
-};
-// clang-format on
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
- [_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
-};
-#endif
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- oled_clear();
-
-#ifdef TYPEHUD_MASTER
- if (is_keyboard_master()) {
-#else
- if (!is_keyboard_master()) {
-#endif
- typehud_init();
- }
-
- if (is_keyboard_left())
- return OLED_ROTATION_0;
- else
- return OLED_ROTATION_180;
-}
-
-static void render_status(void) {
- oled_set_cursor(0, 0);
- oled_write_P(PSTR("SNAP75 "), false);
- oled_write_P(PSTR("Layer "), false);
- switch (get_highest_layer(layer_state)) {
- case _VIA1:
- oled_write_P(PSTR("FN1 "), false);
- break;
- case _VIA2:
- oled_write_P(PSTR("FN2 "), false);
- break;
- default: // use BASE case as default
- oled_write_P(PSTR("Base"), false);
- }
-
- // Host Keyboard LED Status
- oled_set_cursor(0, 1);
- static led_t persistent_led_state = {0};
- led_t led_state = host_keyboard_led_state();
-
- // Only update if the LED state has changed
- // Otherwise, the OLED will not turn off if an LED is on.
- if (persistent_led_state.raw != led_state.raw) {
- persistent_led_state = led_state;
-
- oled_write_ln_P(PSTR(" "), false);
-
- if (led_state.caps_lock) {
- oled_set_cursor(0, 1);
- oled_write_P(PSTR("CAPS"), false);
- }
-
- if (led_state.num_lock) {
- oled_set_cursor(5, 1);
- oled_write_P(PSTR("NUM"), true);
- }
-
- if (led_state.scroll_lock) {
- oled_set_cursor(9, 1);
- oled_write_P(PSTR("SCR"), false);
- }
- }
-
- // WPM and max WPM
- oled_set_cursor(0, 2);
- oled_write_P(PSTR("WPM "), false);
- uint8_t current_wpm = get_current_wpm();
- oled_write(get_u8_str(current_wpm, '0'), true);
-
- oled_set_cursor(8, 2);
- oled_write_P(PSTR("MAX "), false);
- static uint8_t max_wpm;
- max_wpm = MAX(max_wpm, current_wpm);
- oled_write(get_u8_str(max_wpm, '0'), true);
-}
-
-bool oled_task_user(void) {
-#ifdef TYPEHUD_MASTER
- if (is_keyboard_master()) {
-#else
- if (!is_keyboard_master()) {
-#endif
- typehud_render();
- } else {
- render_status();
- }
-
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- typehud_process_record(record);
- return true;
-}
-
-bool should_process_keypress(void) {
- return true;
-}
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/readme.md b/keyboards/nullbitsco/snap/keymaps/typehud/readme.md
deleted file mode 100644
index d5f50f310c..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/readme.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Typehud Keymap
-
-VIA compatible keymap that displays a live wpm HUD on your OLED.
-
-<https://nullbits.co/static/file/snap-typehud.webp>
-
-## Configuration
-
-Configuration options (other than the keymap itself) can be found in `typehud/config.h`.
-
-### Graph Type
-
-By default the graph is filled. For a non-filled graph remove or comment out the following line:
-
-```c
-#define TYPEHUD_FILLGRAPH
-```
-
-### Keyboard Matrix Orientation
-
-To change the keyboard matrix orientation add one of the following:
-
-- `TYPEHUD_MATRIX_ROTATE_90`
-- `TYPEHUD_MATRIX_ROTATE_180`
-- `TYPEHUD_MATRIX_ROTATE_270`
-
-### Keyboard Matrix Key Overrides
-
-If the number of physical keys doesn't match the keyboard matrix rows/columns you can override it:
-
-```c
-#define TYPEHUD_MATRIX_ROWS 6
-#define TYPEHUD_MATRIX_COLS 16
-```
-
-In addition if the position of the physical keys doesn't match the matrix you can override it. Negative numbers will shift the keys left/up and positive numbers will shift the keys right/down:
-
-```c
-#define TYPEHUD_MATRIX_ROW_SHIFT -1
-#define TYPEHUD_MATRIX_COL_SHIFT -2
-```
-
-### Split Keyboard Side
-
-For split keyboards, the keymap assumes it will be rendered to the slave side.
-
-To render to master instead, add the following configuration line:
-
-```c
-#define TYPEHUD_MASTER
-```
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk b/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk
deleted file mode 100644
index 16bd6085c0..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-
-SRC += typehud.c
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/typehud.c b/keyboards/nullbitsco/snap/keymaps/typehud/typehud.c
deleted file mode 100644
index ad884f843b..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/typehud.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* Copyright 2023 Jay Greco
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "typehud.h"
-
-static bool is_initialized;
-static uint16_t timer;
-static int8_t bar_height;
-static uint8_t wpm_arr[_GRAPH_WIDTH];
-static uint8_t point_arr[_GRAPH_WIDTH];
-
-
-static void
- render_graph(uint8_t wpm),
- render_caret(void),
- render_axis(void),
- render_bar(void),
- render_init(void);
-
-/*
- * Renders the wpm counter.
- */
-static void render_wpm(uint8_t wpm) {
- oled_set_cursor(0, 0);
- oled_write("WPM", false);
- oled_set_cursor(0, 1);
- oled_write(get_u8_str(wpm, '0'), false);
-}
-
-/*
- * Renders the keyboard matrix.
- */
-static void render_matrix(keyrecord_t *record) {
- uint8_t x = _MATRIX_X;
- uint8_t y = _MATRIX_Y;
- uint8_t width = _MATRIX_WIDTH;
- uint8_t height = _MATRIX_HEIGHT;
-#ifdef SPLIT_KEYBOARD
- uint8_t rows = _NML_MATRIX_ROWS;
- uint8_t cols = _NML_MATRIX_COLS;
-#endif
-
- // On initial render draw the matrix outline
- if (!is_initialized) {
- for (uint8_t i = 1; i <= width - 2; i++) {
- oled_write_pixel(x + i, y, true);
- oled_write_pixel(x + i, y + height - 1, true);
- }
- for (uint8_t j = 1; j <= height - 2; j++) {
- oled_write_pixel(x, y + j, true);
- oled_write_pixel(x + width - 1, y + j, true);
- }
- return;
- }
-
- // Determine position based on matrix rotation
- // For split keyboards the keys on the right half get appended as additional rows and
- // have their columns reset at 0
-#ifdef SPLIT_KEYBOARD
- uint8_t row = (record->event.key.row % rows);
- uint8_t col = record->event.key.col;
- if (record->event.key.row >= rows) {
- col += (cols / 2);
- }
-#else
- uint8_t row = record->event.key.row;
- uint8_t col = record->event.key.col;
-#endif
-
-#ifdef TYPEHUD_MATRIX_ROW_SHIFT
- row += TYPEHUD_MATRIX_ROW_SHIFT;
-#endif
-#ifdef TYPEHUD_MATRIX_COL_SHIFT
- col += TYPEHUD_MATRIX_COL_SHIFT;
-#endif
-
- // Scale position to key size
- uint8_t size = _MATRIX_SIZE;
- row *= size;
- col *= size;
-
- // Render key in matrix
- for (int i = 0; i < size; i++) {
- for (int j = 0; j < size; j++) {
-#if defined(TYPEHUD_MATRIX_ROTATE_90)
- uint8_t key_x = x + width - 1 - size - row;
- uint8_t key_y = y + 1 + col;
-#elif defined(TYPEHUD_MATRIX_ROTATE_180)
- uint8_t key_x = x + width - 1 - size - col;
- uint8_t key_y = y + height - 1 - size - row;
-#elif defined(TYPEHUD_MATRIX_ROTATE_270)
- uint8_t key_x = x + 1 + row;
- uint8_t key_y = y + height - 1 - size - col;
-#else
- uint8_t key_x = x + 1 + col;
- uint8_t key_y = y + 1 + row;
-#endif
- oled_write_pixel(key_x + i, key_y + j, record->event.pressed);
- }
- }
-}
-
-/*
- * Renders the graph.
- */
-static void render_graph(uint8_t wpm) {
- uint8_t x = _GRAPH_X;
- uint8_t y = _GRAPH_Y + _GRAPH_HEIGHT;
- uint8_t width = _GRAPH_WIDTH;
- uint8_t height = _GRAPH_HEIGHT;
-
- // Handle intial graph render
- if (!is_initialized) {
- for (uint8_t i = 0; i < width; i++) {
- oled_write_pixel(x + i, y, true);
- }
- return;
- }
-
- uint8_t i = 0;
-
- // Shift all graph points except last to the left and re-render
- for (; i < width - 1; i++) {
- int8_t point_delta = point_arr[i + 1] - point_arr[i];
-
-#ifdef TYPEHUD_FILLGRAPH
- if (point_delta < 0) {
-#else
- if (point_delta != 0) {
-#endif
- oled_write_pixel(x + i, y - point_arr[i], false);
- }
-
- wpm_arr[i] = wpm_arr[i + 1];
- point_arr[i] = point_arr[i + 1];
-
- if (point_delta != 0) {
- oled_write_pixel(x + i, y - point_arr[i], true);
- }
- }
-
- // Clear last graph point
- if (wpm > wpm_arr[i] && point_arr[i] + 1 <= height) {
-#ifndef TYPEHUD_FILLGRAPH
- oled_write_pixel(x + i, y - point_arr[i], false);
-#endif
- point_arr[i] = point_arr[i] + 1;
- } else if ((wpm < wpm_arr[i] && point_arr[i] - 1 >= 0) || (wpm <= 0 && point_arr[i] > 0)) {
- oled_write_pixel(x + i, y - point_arr[i], false);
- point_arr[i] = point_arr[i] - 1;
- }
-
- // Render last graph point
- wpm_arr[i] = wpm;
-
- if (point_arr[i] != point_arr[i - 1]) {
- oled_write_pixel(x + i, y - point_arr[i], true);
- }
-}
-
-/*
- * Renders the caret.
- */
-static void render_caret(void) {
- uint8_t x = _GRAPH_X + _GRAPH_WIDTH + _GRAPH_RPAD + _CARET_WIDTH;
- uint8_t y = 0;
- uint8_t width = _CARET_WIDTH;
- uint8_t height = _CARET_HEIGHT;
- uint8_t g_width = _GRAPH_WIDTH;
- uint8_t g_height = _GRAPH_HEIGHT;
-
- // Handle initial caret render
- if (!is_initialized) {
- y = g_height - point_arr[g_width - 1];
-
- for (uint8_t i = 0; i < width; i++) {
- for (uint8_t j = i; j < height - i; j++) {
- oled_write_pixel(x - i, y - j, true);
- }
- }
- return;
- }
-
- // Handle caret updates and re-render
- int8_t point_delta = point_arr[g_width - 1] - point_arr[g_width - 2];
- if (point_delta > 0) {
- y = g_height - point_arr[g_width - 2];
- if (y - height + 1 > 0) {
- for (uint8_t i = 0; i < width; i++) {
- oled_write_pixel(x - i, y - i, false);
- oled_write_pixel(x - i, y - height + i, true);
- }
- }
- } else if (point_delta < 0) {
- y = g_height - point_arr[g_width - 1];
- if (y - height + 1 > 0) {
- for (uint8_t i = 0; i < width; i++) {
- oled_write_pixel(x - i, y - height + i, false);
- oled_write_pixel(x - i, y - i, true);
- }
- }
- }
-}
-
-/*
- * Renders the axis.
- */
-static void render_axis(void) {
- uint8_t x = _AXIS_X;
- uint8_t y = _AXIS_HEIGHT;
- uint8_t width = _AXIS_WIDTH;
- uint8_t height = _AXIS_HEIGHT;
- uint8_t tick_width = _AXIS_TICK_WIDTH;
- uint8_t subtick_width = _AXIS_SUBTICK_WIDTH;
- uint8_t interval = _AXIS_INTERVAL;
- uint8_t tick_interval = _AXIS_TICK_INTERVAL;
-
- for (uint8_t j = 0; j <= height; j += interval) {
- uint8_t curr_tick_width = 0;
-
- // Determine tick width and draw extra point if at interval
- if (j % tick_interval == 0) {
- curr_tick_width = tick_width;
- oled_write_pixel(x, y - j, true);
- } else {
- curr_tick_width = subtick_width;
- }
-
- // Draw tick
- for (uint8_t i = 0; i < curr_tick_width; i++) {
- oled_write_pixel(x + width - i, y - j, true);
- }
- }
-}
-
-/*
- * Renders the input bar.
- */
-static void render_bar(void) {
- uint8_t x = _BAR_X;
- uint8_t width = _BAR_WIDTH;
- uint8_t height = _BAR_HEIGHT;
-
- // Increment bar height
- bar_height = (bar_height + 1) % height;
-
- // When bar resets back to 0, clear bar pixels
- if (bar_height % height == 0) {
- for (uint8_t i = 0; i < width; i++) {
- for (uint8_t j = 0; j < height; j++) {
- oled_write_pixel(x + i, j, false);
- }
- }
- }
-
- // Draw new bar pixels
- for (uint8_t i = 0; i < width; i++) {
- oled_write_pixel(x + i, height - bar_height, true);
- }
-}
-
-/*
- * Renders the initial frame for all components.
- */
-static void render_init(void) {
- render_graph(0);
- render_caret();
- render_matrix(NULL);
- render_axis();
-}
-
-/*
- * Initializes and resets the typehud.
- */
-void typehud_init(void) {
- // Reset variables
- is_initialized = false;
- timer = 0;
- bar_height = -1;
-
- for (uint8_t i = 0; i < _GRAPH_WIDTH; i++) {
- wpm_arr[i] = 0;
- point_arr[i] = 0;
- }
-
- // Draw the initial graph
- for (uint8_t i = 0; i < _GRAPH_WIDTH; i++) {
- oled_write_pixel(_GRAPH_X + i, _GRAPH_HEIGHT, true);
- }
-}
-
-/*
- * Renders the typehud.
- */
-void typehud_render(void) {
- uint8_t wpm = get_current_wpm();
-
- // Run initial rendering once
- if (!is_initialized) {
- render_init();
- is_initialized = true;
- }
-
- // Render wpm
- render_wpm(wpm);
-
- // Render next graph and caret frame when timer reaches refresh rate
- if (timer_elapsed(timer) > _GRAPH_REFRESH) {
- render_graph(wpm);
- render_caret();
- timer = timer_read();
- }
-}
-
-/*
- * Handles keypresses for the typehud.
- */
-void typehud_process_record(keyrecord_t *record) {
- // For split keyboards, only draw on correct side
-#ifdef SPLIT_KEYBOARD
-# ifdef TYPEHUD_MASTER
- if (!is_keyboard_master()) {
-# else
- if (is_keyboard_master()) {
-# endif
- return;
- }
-#endif
- // Render/update matrix
- render_matrix(record);
-
- // Render/update input bar on keypress
- if (record->event.pressed) {
- render_bar();
- }
-}
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/typehud.h b/keyboards/nullbitsco/snap/keymaps/typehud/typehud.h
deleted file mode 100644
index c3ed876c42..0000000000
--- a/keyboards/nullbitsco/snap/keymaps/typehud/typehud.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2022 Chris Tanaka <https://github.com/christanaka>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-#define _OLED_WIDTH (OLED_DISPLAY_WIDTH - 1)
-#define _OLED_HEIGHT (OLED_DISPLAY_HEIGHT - 1)
-
-#ifdef SPLIT_KEYBOARD
-#define _PHYSICAL_PARTS 2
-#else
-#define _PHYSICAL_PARTS 1
-#endif
-
-#ifdef TYPEHUD_MATRIX_ROWS
-#define _NML_MATRIX_ROWS TYPEHUD_MATRIX_ROWS
-#else
-# ifdef SPLIT_KEYBOARD
-#define _NML_MATRIX_ROWS (MATRIX_ROWS / 2)
-# else
-#define _NML_MATRIX_ROWS MATRIX_ROWS
-# endif
-#endif
-
-#ifdef TYPEHUD_MATRIX_COLS
-#define _NML_MATRIX_COLS TYPEHUD_MATRIX_COLS
-#else
-#define _NML_MATRIX_COLS (MATRIX_COLS * _PHYSICAL_PARTS)
-#endif
-
-#define _MATRIX_SIZE 2
-#if defined(TYPEHUD_MATRIX_ROTATE_90) || defined(TYPEHUD_MATRIX_ROTATE_270)
-#define _MATRIX_WIDTH (_NML_MATRIX_ROWS * _MATRIX_SIZE + 2)
-#define _MATRIX_HEIGHT (_NML_MATRIX_COLS * _MATRIX_SIZE + 2)
-#else
-#define _MATRIX_WIDTH (_NML_MATRIX_COLS * _MATRIX_SIZE + 2)
-#define _MATRIX_HEIGHT (_NML_MATRIX_ROWS * _MATRIX_SIZE + 2)
-#endif
-#define _MATRIX_X 0
-#define _MATRIX_Y (_OLED_HEIGHT - _MATRIX_HEIGHT + 1)
-#define _MATRIX_RPAD 2
-#define _MATRIX_PAD_WIDTH (_MATRIX_WIDTH + _MATRIX_RPAD)
-
-#define _BAR_WIDTH 3
-#define _BAR_HEIGHT _OLED_HEIGHT
-#define _BAR_X (_OLED_WIDTH - _BAR_WIDTH)
-
-#define _AXIS_WIDTH 5
-#define _AXIS_HEIGHT _OLED_HEIGHT
-#define _AXIS_TICK_WIDTH 3
-#define _AXIS_SUBTICK_WIDTH 2
-#define _AXIS_INTERVAL 3
-#define _AXIS_TICK_INTERVAL 15
-#define _AXIS_RPAD 2
-#define _AXIS_PAD_WIDTH (_AXIS_WIDTH + _AXIS_RPAD)
-#define _AXIS_X (_OLED_WIDTH - _BAR_WIDTH - _AXIS_PAD_WIDTH)
-
-#define _CARET_WIDTH 3
-#define _CARET_HEIGHT 5
-
-#define _GRAPH_RPAD 2
-#define _GRAPH_MAX_WIDTH (_OLED_WIDTH - _BAR_WIDTH - _AXIS_PAD_WIDTH - _CARET_WIDTH - _GRAPH_RPAD - _MATRIX_PAD_WIDTH)
-#define _GRAPH_WIDTH (_GRAPH_MAX_WIDTH - 4)
-#define _GRAPH_HEIGHT 31
-#define _GRAPH_REFRESH 300
-#define _GRAPH_X (_MATRIX_WIDTH + _MATRIX_RPAD)
-#define _GRAPH_Y 0
-// clang-format on
-
-void
- typehud_init(void),
- typehud_render(void),
- typehud_process_record(keyrecord_t *record);
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
deleted file mode 100644
index d14723df03..0000000000
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
+++ /dev/null
@@ -1,289 +0,0 @@
-/* Copyright 2021 dogspace <https://github.com/dogspace>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _LAY0,
- _LAY1,
- _LAY2,
- _LAY3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_LAY0] = LAYOUT(
- KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_P0, KC_PDOT, KC_PENT
- ),
- [_LAY1] = LAYOUT(
- _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- [_LAY2] = LAYOUT(
- _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- [_LAY3] = LAYOUT(
- _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- )
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
- [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
- [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
- [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
-};
-#endif
-
-#ifdef OLED_ENABLE
-/*=========================================== OLED CONFIGURATION ===========================================*/
-#define OLED_ROTATE true // OLED rotation (flip 180* from default orientation)
-#define GRAPH_DIRECTION true // Graph movement (true = right to left, false = left to right)
-#define GRAPH_TOP_WPM 100.0 // Minimum WPM required to reach the top of the graph
-#define GRAPH_REFRESH 1000 // In milliseconds, determines the graph-line frequency
-#define ICON_MED_WPM 10 // WPM required to display the medium snail
-#define ICON_FAST_WPM 25 // WPM required to display the fast snail
-
-// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal
-#define MA_LAYER_NAME "LAY 0" // Layer _MA name
-#define L1_LAYER_NAME "LAY 1" // Layer _L1 name
-#define L2_LAYER_NAME "LAY 2" // Layer _L2 name
-#define L3_LAYER_NAME "LAY 3" // Layer _L3 name
-
-#define CAPLCK_STR "CAPLK" // Caps Lock string
-#define NUMLCK_STR "NUMLK" // Num Lock string
-#define SCRLK_STR "SCRLK" // Scroll Lock string
-#define EMPTY_STR " " // Empty string
-
-/*================================================================================================================*/
-
-typedef struct oled_params {
- bool first_loop : 1;
- uint8_t wpm_icon : 7;
- uint16_t timer;
- uint8_t wpm_limit;
- uint8_t max_wpm;
- uint8_t graph_lines[32];
-} oled_params;
-
-oled_params oled_data;
-
-void oled_init_data(void) {
- // Initialize oled params
- oled_data.first_loop = true;
- oled_data.wpm_icon = 5;
- oled_data.timer = 0;
- oled_data.wpm_limit = 20;
- oled_data.max_wpm = 0;
-
- for (int i=0; i<32; i++) {
- oled_data.graph_lines[i] = 0;
- }
-}
-
-// Set OLED rotation
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- oled_init_data();
- return OLED_ROTATE ? OLED_ROTATION_270 : OLED_ROTATION_90;
-}
-
-// Draw static background image to OLED (keyboard with no bottom row)
-static void render_background(void) {
- static const char PROGMEM nullbits_n_oled[] = {
- 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
- 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
- 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00,
- };
- oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled));
-}
-
-// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary
-static void write_pixel(uint8_t x, uint8_t y, bool onoff) {
- oled_write_pixel(y, 127 - x, onoff);
-}
-
-// Write active layer name
-static void render_layer_state(void) {
- oled_set_cursor(0, 15);
- switch (get_highest_layer(layer_state)) {
- case _LAY0:
- oled_write_P(PSTR(MA_LAYER_NAME), false);
- break;
- case _LAY1:
- oled_write_P(PSTR(L1_LAYER_NAME), false);
- break;
- case _LAY2:
- oled_write_P(PSTR(L2_LAYER_NAME), false);
- break;
- case _LAY3:
- oled_write_P(PSTR(L3_LAYER_NAME), false);
- break;
- default:
- oled_write("ERROR", false);
- break;
- }
-}
-
-// Update WPM counters
-static void render_wpm_counters(uint8_t current_wpm) {
- uint8_t cursorposition_cur = 13;
- uint8_t cursorposition_max = 14;
-
- oled_set_cursor(0, cursorposition_cur);
- oled_write(get_u8_str(current_wpm, '0'), false);
-
- if (current_wpm > oled_data.max_wpm) {
- oled_data.max_wpm = current_wpm;
- oled_data.wpm_limit = oled_data.max_wpm + 20;
- oled_set_cursor(0, cursorposition_max);
- oled_write(get_u8_str(current_wpm, '0'), false);
- }
-}
-
-static void render_led_status(void) {
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_set_cursor(0, 8);
- oled_write_P(led_state.caps_lock ? PSTR(CAPLCK_STR) : PSTR(EMPTY_STR), false);
- oled_set_cursor(0, 9);
- oled_write_P(led_state.num_lock ? PSTR(NUMLCK_STR) : PSTR(EMPTY_STR), false);
- oled_set_cursor(0, 10);
- oled_write_P(led_state.scroll_lock ? PSTR(SCRLK_STR) : PSTR(EMPTY_STR), false);
-}
-
-// Update WPM snail icon
-static void render_wpm_icon(uint8_t current_wpm) {
- // wpm_icon is used to prevent unnecessary redraw
- if ((current_wpm < ICON_MED_WPM) && (oled_data.wpm_icon != 0)) {
- oled_data.wpm_icon = 0;
- } else if ((current_wpm >= ICON_MED_WPM) && (current_wpm < ICON_FAST_WPM) && (oled_data.wpm_icon != 1)) {
- oled_data.wpm_icon = 1;
- } else if ((current_wpm >= ICON_FAST_WPM) && (oled_data.wpm_icon != 2)) {
- oled_data.wpm_icon = 2;
- } else {
- return;
- }
- static const char PROGMEM snails[][2][24] = {
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00},
- {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}},
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00},
- {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}},
- {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00},
- {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}}
- };
- oled_set_cursor(0, 11);
- oled_write_raw_P(snails[oled_data.wpm_icon][0], sizeof(snails[oled_data.wpm_icon][0]));
- oled_set_cursor(0, 12);
- oled_write_raw_P(snails[oled_data.wpm_icon][1], sizeof(snails[oled_data.wpm_icon][1]));
-}
-
-// Update WPM graph
-static void render_wpm_graph(uint8_t current_wpm) {
- uint8_t line_height = ((current_wpm / GRAPH_TOP_WPM) * 7);
- if (line_height > 7) {
- line_height = 7;
- }
- // Count graph line pixels, return if nothing to draw
- uint8_t pixel_count = line_height;
- for (int i = 0; i < 31; i++) {
- pixel_count += oled_data.graph_lines[i];
- }
- if (pixel_count == 0) {
- return;
- }
- // Shift array elements left or right depending on GRAPH_DIRECTION pend new graph line
- if (GRAPH_DIRECTION) {
- for (int i = 0; i < 31; i++) {
- oled_data.graph_lines[i] = oled_data.graph_lines[i + 1];
- }
- oled_data.graph_lines[31] = line_height;
- } else {
- for (int i = 31; i > 0; i--) {
- oled_data.graph_lines[i] = oled_data.graph_lines[i - 1];
- }
- oled_data.graph_lines[0] = line_height;
- }
- // Draw all graph lines (left to right, bottom to top)
- uint16_t draw_count, arrpos;
- for (int x = 1; x <= 63; x += 2) {
- arrpos = x / 2;
- draw_count = oled_data.graph_lines[arrpos];
- for (int y = 31; y >= 25; y--) {
- if (draw_count > 0) {
- write_pixel(x, y, true);
- draw_count--;
- } else {
- write_pixel(x, y, false);
- }
- }
- }
-}
-
-// Call OLED functions
-bool oled_task_user(void) {
- // Draw OLED keyboard, prevent redraw
- if (oled_data.first_loop) {
- render_background();
- oled_data.first_loop = false;
- }
- // Get current WPM, subtract 25% for accuracy and prevent large jumps caused by simultaneous keypresses
- uint8_t current_wpm = get_current_wpm();
- // Write active layer name to display
- render_layer_state();
- // Update WPM counters
- render_wpm_counters(current_wpm);
- // Update WPM snail icon
- render_wpm_icon(current_wpm);
- // Update LED status
- render_led_status();
- // Update WPM graph every graph_refresh milliseconds
- if (timer_elapsed(oled_data.timer) > GRAPH_REFRESH) {
- render_wpm_graph(current_wpm);
- oled_data.timer = timer_read();
- }
- return false;
-}
-#endif
-
-bool wpm_keycode_user(uint16_t keycode) {
- // Count all keycodes on the macropad
- return true;
-}
-
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
deleted file mode 100644
index 605f034e1d..0000000000
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
-VIA_ENABLE = yes
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/numatreus/keymaps/yohewi/keymap.c b/keyboards/numatreus/keymaps/yohewi/keymap.c
deleted file mode 100644
index 5b53389f98..0000000000
--- a/keyboards/numatreus/keymaps/yohewi/keymap.c
+++ /dev/null
@@ -1,61 +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.
-
-enum layer_number {
- _QWERTY,
- _LOWER,
- _RAISE,
-};
-
-enum custom_keycodes {
- BASE = SAFE_RANGE,
- LOWER,
- RAISE,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- * 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 tab ctl lw spc bspc|| GRV ent RS / alt -
- */
-
- [_QWERTY] = LAYOUT( /* Qwerty */
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
- SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_BSLS) ,
- KC_ESC, KC_TAB, KC_LCTL, MO(_LOWER), KC_SPC, KC_BSPC, LALT(KC_GRV), KC_ENT, MO(_RAISE), KC_DOT, KC_RALT, KC_MINS ),
-
-
- /*
- * 1 2 3 4 5 || 6 7 8 9 0
- * # < > = - || _ + ENT
- * [ ] ( ) & || ` . UP \
- * TRANS TRANS TRANS TRANS TRANS TRANS|| TRANS TRANS RS LEFT DPWM RGHT
- */
- [_RAISE] = LAYOUT( /* [> RAISE <] */
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ,
- KC_HASH, KC_LABK, KC_RABK, KC_EQL, KC_MINS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_ENT ,
- KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_TRNS, KC_DOT, KC_UP, KC_BSLS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT ),
-
- /*
- * ! @ # $ % || ^ & * ( )
- * F1 F2 F3 F4 F5 || F6 F7 F8 F9 F10
- * F11 F12 reset || , UP \
- * TRNS TRNS TRNS TRNS TRNS TRNS||TRNS TRNS TRNS LEFT DPWM RGHT
- */
-
- [_LOWER] = LAYOUT( /* [> LOWER <] */
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN ,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
- KC_F11, KC_F12, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_TRNS, KC_QUOT, KC_UP, KC_BSLS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, TO(_QWERTY), KC_LEFT, KC_DOWN, KC_RGHT )
-};
diff --git a/keyboards/oddforge/vea/config.h b/keyboards/oddforge/vea/config.h
index 963f3ea313..316f8392c0 100644
--- a/keyboards/oddforge/vea/config.h
+++ b/keyboards/oddforge/vea/config.h
@@ -24,6 +24,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 9
diff --git a/keyboards/oddforge/vea/info.json b/keyboards/oddforge/vea/info.json
index b5299b1f3e..9b55d0f2b5 100644
--- a/keyboards/oddforge/vea/info.json
+++ b/keyboards/oddforge/vea/info.json
@@ -11,6 +11,9 @@
"backlight": {
"pin": "D4"
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"rgblight": {
"led_count": 18,
"sleep": true,
diff --git a/keyboards/ok60/keymaps/ebrowncross/keymap.c b/keyboards/ok60/keymaps/ebrowncross/keymap.c
deleted file mode 100644
index 4ef2f9964c..0000000000
--- a/keyboards/ok60/keymaps/ebrowncross/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// An ISO UK keymap
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LGUI, KC_MENU, KC_LCTL
- ),
-
- [1] = LAYOUT_60_iso(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, KC_PSCR,
- _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
- _______, _______, _______, _______, _______, MO(2), _______, _______
- ),
-
- [2] = LAYOUT_60_iso(
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
+++ /dev/null
@@ -1,27 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
deleted file mode 100644
index 8bc5d09d80..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Copyright 2020 Toyoshima Hidenori <t@toyo.dev>
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-#define EISU LALT(KC_GRV)
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_RGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_ESC, KC_LALT, KC_ESC, KC_LSFT, RAISE, KC_SPC, KC_ENT, LOWER, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_LOWER] = LAYOUT(
- KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
- KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
- KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_MINS, KC_EQL, KC_LT, KC_GT, KC_QUES, KC_RSFT,
- KC_LCTL, KC_ESC, KC_LALT, KC_LNG2, KC_LNG1, RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME,KC_PGDN, KC_PGUP, KC_END
- ),
-
- /* Raise
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_RAISE] = LAYOUT(
- KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
- KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
- KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_UNDS, KC_PLUS, KC_LT, KC_GT, KC_QUES, KC_RSFT,
- KC_LCTL, KC_ESC, KC_LALT, KC_LNG2, KC_LNG1, RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
-
- /* Adjust
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| | | |||||||| | | |||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_ADJUST] = LAYOUT(
- _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
- _______, _______, BL_TOGG, BL_BRTG, BL_UP , BL_DOWN,_______, _______, _______, _______, _______, _______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 ,_______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
deleted file mode 100644
index ebc13043a7..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# ToyoshimaHidenori's keymap for Ergodash mini
-
-This is the ToyoshimaHidenori's keymap configuration for Ergodash mini.
-There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
-
-## Layers
-
-### Qwerty
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Lower
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Raise
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Adjust
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| | | | | | | | | | | |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| | | | |||||||| | | |||||||| | | |||||||| | | | |
-,----------------------------------------------------------------------------------------------------------------------.
-```
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
deleted file mode 100644
index 11b62b9bff..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
+++ /dev/null
@@ -1,27 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
deleted file mode 100644
index 9636b761bc..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright 2021 Yoshihiro Saito
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-// Shift + ( = <
-const key_override_t left_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_LEFT_PAREN, KC_LEFT_ANGLE_BRACKET);
-
-// Shift + ) = >
-const key_override_t right_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_RIGHT_PAREN, KC_RIGHT_ANGLE_BRACKET);
-
-const key_override_t **key_overrides = (const key_override_t *[]){
- &left_paren_angle_bracket_override,
- &right_paren_angle_bracket_override,
- NULL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty */
- [_QWERTY] = LAYOUT(
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, KC_RPRN, 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_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, LOWER, CTL_T(KC_SPC), SC_SENT, RAISE, KC_RGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Lower */
- [_LOWER] = LAYOUT(
- XXXXXXX, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F11, KC_GRV, KC_CIRC, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F12, KC_BSLS, KC_TILD, KC_MINS, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Raise */
- [_RAISE] = LAYOUT(
- XXXXXXX, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, XXXXXXX, XXXXXXX, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Adjust */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______ ,_______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
deleted file mode 100644
index 67a6ed9b90..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# yoshimaru46's keymap for Ergodash mini
-
-This is the yoshimaru46's keymap configuration for Ergodash mini.
-There are three layers, QWERTY(default), LOWER, and RAISE.
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
deleted file mode 100644
index f85c6a4151..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
-AUDIO_ENABLE = no
-KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h
+++ /dev/null
@@ -1,27 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json
deleted file mode 100644
index 8f8d308553..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json
+++ /dev/null
@@ -1,460 +0,0 @@
-[
- {
- "name": "gsm-ErgoDash",
- "notes": "Front Legend = \"Adust\" layer (both lower and Raise)\n\n\nLayout Positions are an aproximation and not exact"
- },
- [
- {
- "x": 3,
- "t": "#0000ff\n#ff0000"
- },
- "\nF3\n\n\n\n\n\n\n\n3 #",
- {
- "x": 11
- },
- "\nF8\n\n\n\n\n\n\n\n8 *"
- ],
- [
- {
- "y": -0.875,
- "x": 2
- },
- "\nF2\n\n\n\n\n\n\n\n2 @",
- {
- "x": 1
- },
- "\nF4\n\n\n\n\n\n\n\n4 $",
- {
- "x": 9
- },
- "\nF7\n\n\n\n\n\n\n\n7 &",
- {
- "x": 1
- },
- "\nF9\n\n\n\n\n\n\n\n9 ("
- ],
- [
- {
- "y": -0.875,
- "x": 5
- },
- "\nF5\n\n\n\n\n\n\n\n5 %",
- {
- "x": 7
- },
- "\nF6\n\n\n\n\n\n\n\n6 &"
- ],
- [
- {
- "y": -0.875,
- "t": "#000000",
- "a": 3
- },
- "Esc\n\n\n\nreset",
- {
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "\nF1\n\n\n\n\n\n\n\n1 !",
- {
- "x": 15
- },
- "\nF10\n\n\n\n\n\n\n\n0 )",
- {
- "t": "#000000",
- "a": 7,
- "fa": [
- 2
- ]
- },
- "Bksp"
- ],
- [
- {
- "y": -0.625,
- "x": 6,
- "f": 3
- },
- "= +",
- {
- "x": 5,
- "f": 3
- },
- "- _"
- ],
- [
- {
- "y": -0.75,
- "x": 3,
- "f": 3
- },
- "E",
- {
- "x": 11,
- "f": 3
- },
- "I"
- ],
- [
- {
- "y": -0.875,
- "x": 2,
- "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
- "a": 4,
- "f": 3
- },
- "PgUP\nUP\n\n\n\n\n\n\n\nW",
- {
- "x": 1,
- "t": "#000000",
- "a": 3,
- "f": 3
- },
- "R\n\n\n\nrgb_tog",
- {
- "x": 9,
- "a": 7,
- "f": 3
- },
- "U",
- {
- "x": 1,
- "f": 3
- },
- "O"
- ],
- [
- {
- "y": -0.875,
- "x": 5,
- "a": 3,
- "f": 3
- },
- "T\n\n\n\nbl_tog",
- {
- "x": 7,
- "a": 7,
- "f": 3
- },
- "Y"
- ],
- [
- {
- "y": -0.875,
- "f": 3
- },
- "Tab",
- {
- "f": 3
- },
- "Q",
- {
- "x": 15,
- "f": 3
- },
- "P",
- {
- "f": 3
- },
- "] }"
- ],
- [
- {
- "y": -0.625,
- "x": 6
- },
- "",
- {
- "x": 5,
- "f": 3
- },
- "[ {"
- ],
- [
- {
- "y": -0.75,
- "x": 3,
- "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
- "a": 0,
- "f": 3
- },
- "End\nRIGHT\n\n\nrgb_sai\n\n\n\n\nD",
- {
- "x": 11,
- "t": "#000000",
- "a": 7,
- "f": 3
- },
- "K"
- ],
- [
- {
- "y": -0.875,
- "x": 2,
- "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
- "a": 0,
- "f": 3
- },
- "PgDwn\nDOWN\n\n\nrgb_hai\n\n\n\n\nS",
- {
- "x": 1,
- "t": "#000000",
- "a": 3,
- "f": 3
- },
- "F\n\n\n\nrgb_val",
- {
- "x": 9,
- "a": 7,
- "f": 3
- },
- "J",
- {
- "x": 1,
- "f": 3
- },
- "L"
- ],
- [
- {
- "y": -0.875,
- "x": 5,
- "a": 3,
- "f": 3
- },
- "G\n\n\n\nbl_inc",
- {
- "x": 7,
- "a": 7,
- "f": 3
- },
- "H"
- ],
- [
- {
- "y": -0.875,
- "c": "#0000ff",
- "t": "#ffffffff",
- "f": 3
- },
- "Raise",
- {
- "c": "#cccccc",
- "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
- "a": 4,
- "f": 3
- },
- "Home\nLEFT\n\n\n\n\n\n\n\nA",
- {
- "x": 15,
- "t": "#000000",
- "a": 7,
- "f": 3
- },
- ": ;",
- {
- "f": 3
- },
- "' \""
- ],
- [
- {
- "y": -0.625,
- "x": 6
- },
- "",
- {
- "x": 5
- },
- ""
- ],
- [
- {
- "y": -0.75,
- "x": 3,
- "a": 3,
- "f": 3
- },
- "C\n\n\n\nrgb_sad",
- {
- "x": 11,
- "a": 7,
- "f": 3
- },
- ", <"
- ],
- [
- {
- "y": -0.875,
- "x": 2,
- "a": 3,
- "f": 3
- },
- "X\n\n\n\nrgb_sad",
- {
- "x": 1,
- "f": 3
- },
- "V\n\n\n\nrgb_vad",
- {
- "x": 9,
- "a": 7,
- "f": 3
- },
- "M",
- {
- "x": 1,
- "f": 3
- },
- ". >"
- ],
- [
- {
- "y": -0.875,
- "x": 5,
- "a": 3,
- "f": 3
- },
- "B\n\n\n\nbl_dec",
- {
- "x": 7,
- "a": 7,
- "f": 3
- },
- "N"
- ],
- [
- {
- "y": -0.875,
- "a": 3,
- "f": 3
- },
- "Shift\n\n\n\neep_rst",
- {
- "a": 7,
- "f": 3
- },
- "Z",
- {
- "x": 15,
- "f": 3
- },
- "/ ?",
- {
- "f": 3
- },
- "Shift"
- ],
- [
- {
- "y": -0.25,
- "x": 2,
- "f": 3
- },
- "Alt",
- {
- "x": 13,
- "f": 3
- },
- "DOWN"
- ],
- [
- {
- "y": -0.9749999999999996,
- "x": 3.5,
- "f": 3
- },
- "Ctrl",
- {
- "x": 10.15,
- "f": 3
- },
- "LEFT"
- ],
- [
- {
- "y": -0.7750000000000004,
- "f": 3
- },
- "`~",
- {
- "f": 3
- },
- "\\|",
- {
- "x": 15,
- "f": 3
- },
- "UP",
- {
- "f": 3
- },
- "RIGHT"
- ],
- [
- {
- "r": 30,
- "rx": 6.5,
- "ry": 4.25,
- "y": -0.25,
- "x": -0.2999999999999998,
- "c": "#eb7c15",
- "f": 3,
- "h": 2
- },
- "Space",
- {
- "c": "#cccccc",
- "f": 3
- },
- "Del"
- ],
- [
- {
- "x": -1.2999999999999998,
- "c": "#ff0000",
- "f": 3
- },
- "Lower",
- {
- "x": 1,
- "c": "#cccccc",
- "t": "#0000ff\n#ff0000",
- "a": 4
- },
- "\nApp\n\n\n\n\n\n\n\nOS"
- ],
- [
- {
- "r": -30,
- "rx": 13,
- "y": -0.5,
- "x": -2,
- "t": "#000000",
- "a": 7,
- "f": 3
- },
- "PrtScr",
- {
- "c": "#eb7c15",
- "f": 3,
- "h": 2
- },
- "Space"
- ],
- [
- {
- "x": -2,
- "c": "#cccccc",
- "f": 3
- },
- "Enter",
- {
- "x": 1,
- "c": "#0000ff",
- "t": "#ffffff",
- "f": 3
- },
- "Raise"
- ]
-] \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
deleted file mode 100644
index 7ed548b765..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
+++ /dev/null
@@ -1,124 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- LOWER = SAFE_RANGE,
- RAISE,
-};
-
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 |Backsp|
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | | [ | Y | U | I | O | P | ] |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Raise| A | S | D | F | G | | | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B |||||||| Del | | |||||||| N | M | , | . | / | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | ` | \ | ALt | Ctrl |||||||| Lower| Space| LGui|||||||| Enter| Space| Raise|||||||| Left | Down | Up | Right|
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
- RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_GRV,KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC,KC_LGUI, KC_ENT ,KC_SPC , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | | Up | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Raise| Left | Down | Rght | | | | | | | | | | | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| | | | | |||||||| | | |||||||| | | | | | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| Lower| Space| |||||||| | Space| Raise|||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_LOWER] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
- XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC , RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Raise
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | | PgUp | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Raise| Home | PgDwn| End | | | | | | | | | | | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | Shift| | | | | |||||||| | | |||||||| | | | | | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| Lower| Space| |||||||| |Space | Raise|||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_RAISE] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
- XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC , RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Adjust (Both Raise and Lower Together)
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | Reset| | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | | | |rgbtog|bl_tog| | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | Raise| |rgbhui|rgbsai|rgbvai|bl_inc| | | | | | | | | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * |EE_CLR| |rgbhud|rgbdec|rgbvad|bl_dec|||||||| | | |||||||| | | | | | Shift|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| Lower| Space| |||||||| | Space| Raise|||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_ADJUST] = LAYOUT(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- EE_CLR, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
- XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- 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;
- }
- return true;
-}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk
deleted file mode 100644
index 11b62b9bff..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
+++ /dev/null
@@ -1,27 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
deleted file mode 100644
index 3b52ba975e..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
+++ /dev/null
@@ -1,219 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-// clang-format off
-enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST };
-
-enum custom_keycodes { JP = SAFE_RANGE, US, SHIFT, LOWER, RAISE, ADJUST,
- CSTM_0, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, CSTM_6, CSTM_7, CSTM_8, CSTM_9,
- CIRC, AT, LBRC, RBRC, BSLS, AMPR, QUOT, LPRN, RPRN, EQL, TILD, PIPE, GRV, LCBR,
- PLUS, ASTR, RCBR, UNDS, MINS, SCLN, COMM, DOT, SLSH, EXLM, HASH, DLR, PERC, DEL };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | CTRL | A | S | D | F | G | EISU | <- ONLY FOR MAC -> | KANA | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, JP_KANA, JP_KANA, CSTM_6, CSTM_7, CSTM_8, CSTM_9, CSTM_0, GRV ,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, JP_MHEN, JP_HENK, KC_Y, KC_U, KC_I, KC_O, KC_P, BSLS ,
- KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LNG2, JP_LANG1,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT ,
- SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SHIFT , SHIFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFT ,
- SHIFT, ADJUST, KC_LALT, KC_LCTL, LOWER, KC_SPC ,XXXXXXX, XXXXXXX,KC_ENT , RAISE, KC_LCTL, KC_LALT, ADJUST, SHIFT
- ),
-
- /* Lower
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_LOWER] = LAYOUT(
- KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
- TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE ,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, MINS, UNDS, _______, _______, PLUS, EQL, LBRC, RBRC, XXXXXXX, _______,
- _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______
- ),
-
- /* Raise
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_RAISE] = LAYOUT(
- KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
- TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE ,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______,
- _______, XXXXXXX, LBRC, RBRC, MINS, UNDS, _______, _______, PLUS, EQL, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______
- ),
-
- /* Adjust
- * ,----------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | US | | JP | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
- * | | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
- * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
- * | | | { | } | | | | | | | | { | } | | |
- * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
- * | | | | |||||||| | | |||||||| | | |||||||| | | | |
- * ,----------------------------------------------------------------------------------------------------------------------.
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, US , JP, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______,
- _______, _______, LCBR, RCBR, _______, _______, _______, _______, _______, _______, LCBR, RCBR, _______, _______,
- _______, _______, _______, _______, _______, _______,_______, _______,_______, _______, _______, _______, _______, _______
- )};
-// clang-format on
-
-#ifdef AUDIO_ENABLE
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-#endif
-
-#define JP_LAYOUT true
-#define US_LAYOUT false
-
-#ifdef MASTER_LEFT
-bool LAYOUT_STATUS = US_LAYOUT;
-#else
-bool LAYOUT_STATUS = JP_LAYOUT;
-#endif
-
-bool SHIFT_PRESSED = false;
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-#define SEND_STRING_RESTORE(STR) (SHIFT_PRESSED ? SEND_STRING(STR SS_DOWN(X_LSFT)) : SEND_STRING(STR SS_UP(X_LSFT)))
-
-#define KEY(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
-
-#define KEY_SHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_LSFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
-
-#define KEY_UPSHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_UP(X_LSFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
-
-#define SHIFT_DU(CODE_DOWN, CODE_UP) (SHIFT_PRESSED ? CODE_DOWN : CODE_UP)
-#define CASE_US(CODE, US, JP) \
- case CODE: \
- (LAYOUT_STATUS == JP_LAYOUT ? JP : US); \
- return false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- CASE_US(CSTM_0, KEY(0), SHIFT_DU(KEY_SHIFT(9), KEY(0)));
- CASE_US(CSTM_1, KEY(1), KEY(1));
- CASE_US(CSTM_2, KEY(2), SHIFT_DU(KEY_UPSHIFT(LBRACKET), KEY(2)));
- CASE_US(CSTM_3, KEY(3), KEY(3));
- CASE_US(CSTM_4, KEY(4), KEY(4));
- CASE_US(CSTM_5, KEY(5), KEY(5));
- CASE_US(CSTM_6, KEY(6), SHIFT_DU(KEY_UPSHIFT(EQUAL), KEY(6)));
- CASE_US(CSTM_7, KEY(7), SHIFT_DU(KEY_SHIFT(6), KEY(7)));
- CASE_US(CSTM_8, KEY(8), SHIFT_DU(KEY_SHIFT(QUOTE), KEY(8)));
- CASE_US(CSTM_9, KEY(9), SHIFT_DU(KEY_SHIFT(8), KEY(9)));
- CASE_US(DEL, KEY(DELETE), KEY_UPSHIFT(BSPACE));
- CASE_US(TILD, KEY_SHIFT(GRAVE), KEY_SHIFT(EQUAL));
- CASE_US(EXLM, KEY_SHIFT(1), KEY_SHIFT(1));
- CASE_US(AT, KEY_SHIFT(2), KEY(LBRACKET));
- CASE_US(HASH, KEY_SHIFT(3), KEY_SHIFT(3));
- CASE_US(DLR, KEY_SHIFT(4), KEY_SHIFT(4));
- CASE_US(PERC, KEY_SHIFT(5), KEY_SHIFT(5));
- CASE_US(CIRC, KEY_SHIFT(6), KEY(EQUAL));
- CASE_US(AMPR, KEY_SHIFT(7), KEY_SHIFT(6));
- CASE_US(ASTR, KEY_SHIFT(8), KEY_SHIFT(QUOTE));
- CASE_US(LPRN, KEY_SHIFT(9), KEY_SHIFT(8));
- CASE_US(RPRN, KEY_SHIFT(0), KEY_SHIFT(9));
- CASE_US(LBRC, KEY(LBRACKET), SHIFT_DU(KEY_SHIFT(RBRACKET), KEY(RBRACKET)));
- CASE_US(RBRC, KEY(RBRACKET), SHIFT_DU(KEY_SHIFT(NONUS_HASH), KEY(NONUS_HASH)));
- CASE_US(LCBR, KEY_SHIFT(LBRACKET), KEY_SHIFT(RBRACKET));
- CASE_US(RCBR, KEY_SHIFT(RBRACKET), KEY_SHIFT(NONUS_HASH));
- CASE_US(GRV, KEY(GRAVE), SHIFT_DU(KEY_SHIFT(EQUAL), KEY_SHIFT(LBRACKET)));
- CASE_US(BSLS, KEY(BSLASH), SHIFT_DU(KEY_SHIFT(INT3), KEY(INT3)));
- CASE_US(PIPE, KEY_SHIFT(BSLASH), KEY_SHIFT(INT3));
- CASE_US(MINS, KEY(MINUS), SHIFT_DU(KEY_SHIFT(INT1), KEY(MINUS)));
- CASE_US(UNDS, KEY_SHIFT(MINUS), KEY_SHIFT(INT1));
- CASE_US(EQL, KEY(EQUAL), SHIFT_DU(KEY_SHIFT(SCOLON), KEY_SHIFT(MINUS)));
- CASE_US(PLUS, KEY_SHIFT(EQUAL), KEY_SHIFT(SCOLON));
- CASE_US(SCLN, KEY(SCOLON), SHIFT_DU(KEY_UPSHIFT(QUOTE), KEY(SCOLON)));
- CASE_US(QUOT, KEY(QUOTE), SHIFT_DU(KEY_SHIFT(2), KEY_SHIFT(7)));
- case JP:
- if (record->event.pressed) {
- LAYOUT_STATUS = JP_LAYOUT;
- }
- return false;
- break;
- case US:
- if (record->event.pressed) {
- LAYOUT_STATUS = US_LAYOUT;
- }
- return false;
- break;
- case SHIFT:
- if (record->event.pressed) {
- SEND_STRING(SS_DOWN(X_LSFT));
- SHIFT_PRESSED = true;
- } else {
- SEND_STRING(SS_UP(X_LSFT));
- SHIFT_PRESSED = false;
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- } else {
- layer_off(_LOWER);
- }
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- } else {
- layer_off(_RAISE);
- }
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
deleted file mode 100644
index 1f5eee6014..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
+++ /dev/null
@@ -1 +0,0 @@
-{"keyboard":"ergodash/rev1","keymap":"m47ch4ns_keymap","layout":"LAYOUT_3key_1us","layers":[["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_NO","KC_NO","KC_6","KC_7","KC_8","KC_9","KC_0","KC_GRV","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_NO","KC_NO","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSLS","KC_LCTL","KC_A","KC_S","KC_D","KC_F","KC_G","KC_NO","KC_NO","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_LSFT","KC_RSFT","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_LSFT","ANY(ADJUST)","KC_LALT","KC_LGUI","ANY(LOWER)","KC_SPC","KC_ENT","ANY(RAISE)","KC_RGUI","KC_RALT","ANY(ADJUST)","KC_RSFT"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_LBRC","KC_RBRC","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_LBRC","KC_RBRC","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END","KC_TRNS","KC_TRNS","KC_TRNS","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
deleted file mode 100644
index 598f258e1c..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# m47ch4n's keymap for Ergodash rev1
-
-This is the m47ch4n's keymap configuration for Ergodash rev1.
-There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
-
-## Layers
-
-### Qwerty
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| CTRL | A | S | D | F | G | EISU |<-- ONLY FOR MAC -->| KANA | H | J | K | L | ; | ' |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Lower
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Raise
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-### Adjust
-
-```
-,----------------------------------------------------------------------------------------------------------------------.
-| | | | | | | US | | JP | | | | | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| | | | | | | | | | | | | | | |
-|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
-| | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
-|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
-| | | { | } | | | | | | | | { | } | | |
-|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
-| | | | |||||||| | | |||||||| | | |||||||| | | | |
-,----------------------------------------------------------------------------------------------------------------------.
-```
-
-If your pc connect this keyboard with JIS(JP) layout, you should press JP MODE key.
-
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
deleted file mode 100644
index bb9e33b082..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
-AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
deleted file mode 100644
index 2493fe09e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
+++ /dev/null
@@ -1,30 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 250
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
deleted file mode 100644
index e197874ab5..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
+++ /dev/null
@@ -1,199 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-enum layers {
- _WINDOWS,
- _LINUX,
- _NUMPAD,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- WINDOWS = SAFE_RANGE,
- LINUX,
- NUMPAD,
- LOWER,
- RAISE,
- ADJUST
-};
-
-#define CTL_ENT MT(MOD_RCTL, KC_PENT)
-#define NUMPAD MO(_NUMPAD)
-#define SHELL LCA(KC_T)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Windows Qwerty
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_WINDOWS] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, 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_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, KC_F5, KC_RALT, KC_RGUI, CTL_ENT
- ),
-
- /* Linux Qwerty
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_LINUX] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, 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_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, SHELL, KC_RALT, KC_RGUI, CTL_ENT
- ),
-
- /* Numpad
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_NUMPAD] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_BSPC,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, NUMPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, KC_PDOT, KC_PENT, KC_PENT
- ),
-
- /* Lower
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | ( | { | [ | | | | ] | } | ) | | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | | |PageUp | | | | | | | | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | |VolDown| VolUp | | |PageDwn| | | | | | | | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_LOWER] = LAYOUT(
- KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, KC_VOLD, KC_VOLU, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_CAPS,
- _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______
- ),
-
- /* Raise
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | ( | { | [ | | | | ] | } | ) | | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | | | | End | | | Left | Down | Up | Right | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | | | | | | | | | | | | |
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_RAISE] = LAYOUT(
- KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, KC_CAPS,
- _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______
- ),
-
- /* Adjust
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- * |XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * | Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
- * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
- * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
- * .---------------------------------------------------------------------------------------------------------------------------------------.
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, WINDOWS, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, XXXXXXX, XXXXXXX, BL_BRTG, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case WINDOWS:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WINDOWS);
- }
- return false;
- break;
- case LINUX:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_LINUX);
- }
- 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);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
deleted file mode 100644
index 7ab665a8d4..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# ShadowProgr's layout for ErgoDash
-
-There are 2 different QWERTY base layers for use with Windows and Linux OSes. Beside those 2 there are also a numpad layer and 3 modifier layers (lower, raise and adjust).
-
-## Layouts
-### Windows
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
-.---------------------------------------------------------------------------------------------------------------------------------------.
-```
-### Linux
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
-.---------------------------------------------------------------------------------------------------------------------------------------.
-```
-### Numpad
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
-.---------------------------------------------------------------------------------------------------------------------------------------.
-```
-### Lower
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | ( | { | [ | | | | ] | } | ) | | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | | |PageUp | | | | | | | | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| |VolDown| VolUp | | |PageDwn| | | | | | | | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
-.---------------------------------------------------------------------------------------------------------------------------------------.
-```
-### Raise
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | ( | { | [ | | | | ] | } | ) | | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | | | | End | | | Left | Down | Up | Right | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | | | | | | | | | | | | |
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
-.---------------------------------------------------------------------------------------------------------------------------------------.
-```
-### Adjust
-```
-.---------------------------------------------------------------------------------------------------------------------------------------.
-|XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-|XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-| Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
-|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
-|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
-.---------------------------------------------------------------------------------------------------------------------------------------.
-``` \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
deleted file mode 100644
index 30d8419904..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,27 +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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
deleted file mode 100644
index 938f3950fd..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-enum layers {
- _QWERTZ,
- _MOD,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTZ] = LAYOUT(
- _______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , KC_RSFT ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,_______ ,
- KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_BSPC , KC_DEL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA ,
- KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,DE_UNDS , KC_LALT ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_ODIA ,
- _______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_SPC , KC_ENT ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UDIA ,
- _______ ,_______ ,_______ ,_______ , KC_LCTL ,KC_SPC ,KC_LSFT , MO(_MOD),KC_ENT ,KC_LGUI , _______ ,_______ ,_______ ,_______
- ),
- [_MOD] = LAYOUT(
- KC_F11 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,RGB_MOD , QK_BOOT,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 ,
- DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_TOG , _______ ,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
- DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_M_P , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
- _______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,_______ , _______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
- _______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______
- ),
-}; \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md
deleted file mode 100644
index 54ee4d4f1f..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Tw1t611 Ergodash Layout
-
-This is a german layout for the ergodash keyboard. The Umlauts are placed on the right side.
-It uses two layers and has vim like aligned arrow keys.
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk
deleted file mode 100644
index bb9e33b082..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
-AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h
index 99e7de0d87..8cf1e8238d 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/config.h
+++ b/keyboards/omkbd/runner3680/5x6_5x8/config.h
@@ -21,11 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 70
-#define RGB_MATRIX_SPLIT { 30, 40 } // Number of LEDs
-#endif
-
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json
index ed687ddb3d..8a7b34597e 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/info.json
+++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json
@@ -9,7 +9,8 @@
"device_version": "0.0.5"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "split_count": [30, 40]
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
deleted file mode 100644
index 818ea7d4af..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2021 omkbd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
deleted file mode 100644
index e23ba19d7a..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 omkbd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _NAV,
- _SYMBOL,
- _MEDIA
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LALT, KC_LGUI, MO(2), MO(1), KC_SPC, KC_SPC, MO(1), MO(2), KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-[_NAV] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
-),
-
-[_SYMBOL] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_BSPC,
- KC_TRNS, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_NO, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_ESC, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_TRNS, KC_UP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-[_MEDIA] = LAYOUT(
- KC_NO, KC_SCRL, KC_PAUS, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_G, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_MRWD, KC_VOLD, KC_MFFD
-)
-
-};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
deleted file mode 100644
index 8110dbaa1f..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGB_MATRIX_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/opendeck/32/rev1/config.h b/keyboards/opendeck/32/rev1/config.h
index d5e824fdfb..446cb047fa 100644
--- a/keyboards/opendeck/32/rev1/config.h
+++ b/keyboards/opendeck/32/rev1/config.h
@@ -15,60 +15,11 @@
*/
#pragma once
-// RGB matrix
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT (4 * 8 * 3)
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_SPIRAL
+#define IS31FL3731_SDB_PIN D2
+#define IS31FL3731_IRQ_PIN D3
+
#define RGB_MATRIX_DISABLE_KEYCODES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
// Slim down the ROM
#define NO_ACTION_LAYER
diff --git a/keyboards/opendeck/32/rev1/info.json b/keyboards/opendeck/32/rev1/info.json
index 2d72d9d0b4..9ff22ec125 100644
--- a/keyboards/opendeck/32/rev1/info.json
+++ b/keyboards/opendeck/32/rev1/info.json
@@ -4,7 +4,56 @@
"rows": ["C7", "C6", "B6", "B5"]
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_spiral"
+ },
+ "driver": "is31fl3731",
+ "sleep": true
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
diff --git a/keyboards/opendeck/32/rev1/rev1.c b/keyboards/opendeck/32/rev1/rev1.c
index 0b062ecd38..8b3f9c0222 100644
--- a/keyboards/opendeck/32/rev1/rev1.c
+++ b/keyboards/opendeck/32/rev1/rev1.c
@@ -17,7 +17,7 @@
#include "rev1.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -93,18 +93,18 @@ void keyboard_pre_init_kb(void) {
setPinOutput(POWER_LED_PIN);
writePinLow(POWER_LED_PIN);
- // Enable RGB driver IC
- setPinOutput(RGB_DISABLE_N_PIN);
- writePinHigh(RGB_DISABLE_N_PIN);
-
// We don't use this feature of the IS31FL3731 but it is electrically connected
// Make sure not to drive it
- setPinInput(RGB_IRQ_N_PIN);
+ setPinInput(IS31FL3731_IRQ_PIN);
+
+ keyboard_pre_init_user();
}
-void keyboard_post_init_user(void) {
+void keyboard_post_init_kb(void) {
// RGB enabled by default, no way to turn off. No need to expend EEPROM write cycles here.
rgb_matrix_enable_noeeprom();
+
+ keyboard_post_init_user();
}
#endif
diff --git a/keyboards/opendeck/32/rev1/rev1.h b/keyboards/opendeck/32/rev1/rev1.h
index 69777d95ab..455b2ac753 100644
--- a/keyboards/opendeck/32/rev1/rev1.h
+++ b/keyboards/opendeck/32/rev1/rev1.h
@@ -19,8 +19,6 @@
#include "quantum.h"
#define POWER_LED_PIN F1
-#define RGB_DISABLE_N_PIN D2
-#define RGB_IRQ_N_PIN D3
// If you want something similar to what Taran from LMG does in https://github.com/TaranVH/2nd-keyboard
// you can create a "wrapper key" by uncommenting the row below and chosing your wrapper keycode.
diff --git a/keyboards/org60/keymaps/boardy/keymap.c b/keyboards/org60/keymaps/boardy/keymap.c
deleted file mode 100644
index 48373de375..0000000000
--- a/keyboards/org60/keymaps/boardy/keymap.c
+++ /dev/null
@@ -1,114 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-// Keyboard Layers
-enum keyboard_layers {
- _BASE, // Base Layer
- _FUNCTION, // Function Layer
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- /*
- 0: Base Layer
- .--------------------------------------------------------------------------------------------------------------------------------------.
- | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | |
- | | | | | | | | | | | | | | |
- | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | { | ] | | |
- | | | | | | | | | | | | | | |
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | : | " | |
- | | | | | | | | | | | | | |
- | PrntScr | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | < | > | ? |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- | | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- | Shift | Z | X | C | V | B | N | M | , | . | / |â–‘â–‘â–‘â–‘â–‘â–‘| Up |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- | Ctrl | Win | Alt | Space | FnO |â–‘â–‘â–‘â–‘â–‘â–‘| Left | Down | Right |
- '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- //--------------------------------------------------------------------------------------------------------------------------------------.
- // | | | | | | | | | | | | | |
- // | | | | | | | | | | | | | |
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | | | | | | | | | |
- // | | | | | | | | | | | | |
- KC_PSCR, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- // | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_NO,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- // | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTION),KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT),
- //--------------------------------------------------------------------------------------------------------------------------------------'
-
-
- [_FUNCTION] = LAYOUT(
- /*
- 1: Function Layer
- .--------------------------------------------------------------------------------------------------------------------------------------.
- | | | | | | | | | | | | | | |
- | | | | | | | | | | | | | | |
- | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | |
- | | | | | RGB | RGB | RGB | RGB | | | | | | |
- | Reset | 7 | 8 | 9 | Toggle | Mode | Pwr+ | Pwr- | | Insert | Pause | Home | End | Sleep |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | |
- | | | | | RGB | RGB | RGB | RGB | | | Page | Page | |
- | Caps Lock | 4 | 5 | 6 | Hue+ | Hue- | Sat+ | Sat- | | | Up | Down | Enter |
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- | | | | | | Back | Back | | Prev | Next | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- | Shift | 1 | 2 | 3 | | Light+ | Light- | | Track | Track | |â–‘â–‘â–‘â–‘â–‘â–‘| Up |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- |--------------------------------------------------------------------------------------------------------------------------------------|
- | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- | Ctrl | Win | Alt | 0 | Fn0 |â–‘â–‘â–‘â–‘â–‘â–‘| Mute | Down | Right |
- '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- //--------------------------------------------------------------------------------------------------------------------------------------.
- // | | | | | | | | | | | | | |
- // | | | | | | | | | | | | | |
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NO,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | | | | | | | | | | |
- // | | | | | | | | | | | | | |
- QK_BOOT, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, KC_NO, KC_INS, KC_PAUS, KC_HOME, KC_END, KC_SLEP,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | | | | | | | | | |
- // | | | | | | | | | | | | |
- KC_CAPS, KC_4, KC_5, KC_6, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_NO, KC_NO, KC_PGUP, KC_PGDN, KC_NO, KC_ENT,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- // | | | | | | | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| |â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|
- KC_LSFT, KC_NO, KC_1, KC_2, KC_3, KC_NO, BL_UP, BL_DOWN, KC_NO, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_VOLU, KC_NO,
- //--------------------------------------------------------------------------------------------------------------------------------------|
- // | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- // | | | | |â–‘â–‘â–‘â–‘â–‘â–‘| | | |
- KC_LCTL, KC_LGUI, KC_LALT, KC_0, MO(_FUNCTION),KC_NO, KC_MUTE, KC_VOLD, KC_MPLY),
- //--------------------------------------------------------------------------------------------------------------------------------------'
-
-};
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/org60/keymaps/boardy/readme.md b/keyboards/org60/keymaps/boardy/readme.md
deleted file mode 100644
index 3643fbce30..0000000000
--- a/keyboards/org60/keymaps/boardy/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Boardy layout
-
-![Uses this layout](http://i.imgur.com/k3g488o.jpg)
-
-This is my custom layout for my board Boardy designed to be used with an [Org60] and custom plate.
-
-[Org60]: https://world.taobao.com/item/544441405112.htm
diff --git a/keyboards/org60/keymaps/boardy/rules.mk b/keyboards/org60/keymaps/boardy/rules.mk
deleted file mode 100644
index 88ac79ecad..0000000000
--- a/keyboards/org60/keymaps/boardy/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-
-# 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
-#
-CONSOLE_ENABLE = no # Enable debugging console
-COMMAND_ENABLE = no # Commands for debug and configuration
-TAP_DANCE_ENABLE = no # Tap Dance skills
-UNICODE_ENABLE = no # Unicode
-
diff --git a/keyboards/ortho5by12/rules.mk b/keyboards/ortho5by12/rules.mk
index bf02b03119..6fe874e748 100644
--- a/keyboards/ortho5by12/rules.mk
+++ b/keyboards/ortho5by12/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/orthodox/keymaps/rfvizarra/config.h b/keyboards/orthodox/keymaps/rfvizarra/config.h
deleted file mode 100644
index 92b3713350..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2017 Art Ortenburger
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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
-
-
-#ifdef AUDIO_ENABLE
-#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
-}
-#endif
-
-#define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#endif
diff --git a/keyboards/orthodox/keymaps/rfvizarra/keymap.c b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
deleted file mode 100644
index af9f8d5e20..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/keymap.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-This is the keymap for the keyboard
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2017 Art Ortenburger
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _NAV 5
-#define _NAV2 6
-#define _MEDIA 7
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LGUI, KC_LALT, MO(_MEDIA) , KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- MO(_NAV),KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_LOWER), KC_LSFT, CTL_T(KC_ENT), KC_RALT, KC_SPC, MO(_RAISE), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI
- ),
-
- [_COLEMAK] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_LOWER), KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, MO(_RAISE), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH, KC_LGUI
- ),
-
- [_DVORAK] = LAYOUT(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_LCTL, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_LOWER), KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, MO(_RAISE), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LGUI
- ),
-
- [_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCTL, _______, _______, KC_RCTL, 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_COMM, KC_DOT, KC_END, _______
- ),
-
- [_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, _______, _______, KC_F12, KC_PGUP, KC_COMM, KC_DOT, KC_PGDN, _______
- ),
-
- [_NAV] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_NAV2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_MEDIA] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_MPLY, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_ADJUST] = LAYOUT(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY , COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- state = update_tri_layer_state(state, _LOWER, _NAV, _NAV2);
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- }
- return true;
-}
-
diff --git a/keyboards/orthodox/keymaps/rfvizarra/readme.md b/keyboards/orthodox/keymaps/rfvizarra/readme.md
deleted file mode 100644
index 10a60ebfd3..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# A personal Orthodox Layout
-
-![Orthodox](https://i.imgur.com/RQ5SKj4.jpg)
-
-This is the layout for my daily driver orthodox. It's based on a custom handwire keyboard that I've been using for quite some time. It's based on Plank's/Let's split layouts for the lower/raise layers. I added the shift, control/enter, alt/altgr and del to the thumb cluster.
-
-To build the firmware run from qmk's project folder
-
- make orthodox/rev3:rfvizarra
-
-And to flash it, run
-
- make orthodox/rev3:rfvizarra:avrdude
-
-reset your keyboard pro micro while connected to the PC with a micro usb cable.
-
-Repeat on both halves.
-
-See [install build tools](https://docs.qmk.fm/install-build-tools) then the [build/compile instructions](https://docs.qmk.fm/build-compile-instructions) for more information.
diff --git a/keyboards/orthodox/keymaps/shaymdev/config.h b/keyboards/orthodox/keymaps/shaymdev/config.h
deleted file mode 100644
index 79d7cddec0..0000000000
--- a/keyboards/orthodox/keymaps/shaymdev/config.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2017 Art Ortenburger
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLED_NUM 14
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_KNIGHT
-
-// #define RGBLED_SPLIT { 5, 5 }
-#undef WS2812_DI_PIN
-#define WS2812_DI_PIN D3
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_SLEEP
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(PLANCK_SOUND)
- // #define STARTUP_SONG SONG(NO_SOUND)
-
- #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
- }
-#endif
-
-#define TAPPING_TERM 220
diff --git a/keyboards/orthodox/keymaps/shaymdev/keymap.c b/keyboards/orthodox/keymaps/shaymdev/keymap.c
deleted file mode 100644
index 24fca7661e..0000000000
--- a/keyboards/orthodox/keymaps/shaymdev/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-This is the keymap for the keyboard
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2017 Art Ortenburger
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 orthodox_layers
-{
- _DVORAK,
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum combos
-{
- EU_ENT,
-};
-
-const uint16_t PROGMEM eu_combo[] = {KC_E, KC_U, COMBO_END};
-
-combo_t key_combos[] = {
- [EU_ENT] = COMBO_ACTION(eu_combo),
-};
-
-void process_combo_event(uint16_t combo_index, bool pressed) {
- switch(combo_index) {
- case EU_ENT:
- if (pressed) {
- tap_code16(KC_ENT);
- }
- break;
- }
-}
-
-
-enum custom_keycodes {
- DVORAK = SAFE_RANGE,
- QWERTY,
- VELOCI
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-#define TO_DV TO(_DVORAK)
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-[_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_TAB, GUI_T(KC_A), ALT_T(KC_O), KC_E, KC_U, KC_I, KC_ENT, KC_LALT, KC_DEL, KC_LGUI, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_EQL, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, TT(LOWER), KC_LSFT, KC_LCTL, KC_BSPC, ALT_T(KC_SPC), TT(RAISE), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSLS
-),
-
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, _______, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT
-),
-
-[_LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_AMPR, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_ASTR, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_GRV, _______, _______, _______, _______, _______, KC_KP_0, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______
-),
-
-[_RAISE] = LAYOUT(
- _______, KC_PSCR, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- KC_CAPS, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11, XXXXXXX,
- _______, KC_NUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX
-),
-
-[_ADJUST] = LAYOUT(
- TO_DV, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP,
- RGB_TOG, RGB_MOD, VK_TOGG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY, DVORAK, _______, _______, _______,
- RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-)
-
-
-};
-
-const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DELETE);
-
-// This globally defines all key overrides to be used
-const key_override_t **key_overrides = (const key_override_t *[]){
- &delete_key_override,
- NULL // Null terminate the array of overrides!
-};
-
-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 DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
-// case VELOCI:
-// #ifdef VELOCIKEY_ENABLE
-// velocikey_toggle();
-// return false;
-// #endif
-// break;
- }
- return true;
-}
-
-#ifdef RGBLIGHT_ENABLE
-
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 6, HSV_RED} // Light 6 LEDs, starting with LED 4
-);
-
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_CHARTREUSE} // Light 3 LEDs, starting with LED 0
-);
-
-const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 3, HSV_BLUE} // Light LEDs 5-6
-);
-
-const rgblight_segment_t PROGMEM my_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {7, 3, HSV_ORANGE} // Light LEDs 7-8
-);
-
-const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 6, HSV_GREEN} // Light 10 LEDs, starting with LED 0
-);
-
-
-// Later layers take precedence. This array corresponds to the magic numbers used in rgblight_set_layer_state(i, onOff)
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer,
- my_qwerty_layer, // Overrides other layers
- my_lower_layer, // Overrides other layers
- my_raise_layer, // Overrides other layers
- my_adjust_layer // Overrides other layers
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
- rgblight_enable_noeeprom(); // Enables RGB, without saving settings
- //rgblight_sethsv_noeeprom(HSV_CYAN);
- //rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(1, layer_state_cmp(state, _QWERTY));
- return state;
-}
-
-#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-
-#ifdef RGBLIGHT_ENABLE
- rgblight_set_layer_state(2, layer_state_cmp(state, _LOWER));
- rgblight_set_layer_state(3, layer_state_cmp(state, _RAISE));
- rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST));
-#endif
-
- return state;
-}
diff --git a/keyboards/orthodox/keymaps/shaymdev/rules.mk b/keyboards/orthodox/keymaps/shaymdev/rules.mk
deleted file mode 100644
index c6ecb2372f..0000000000
--- a/keyboards/orthodox/keymaps/shaymdev/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-MOUSEKEY_ENABLE = no
-RGBLIGHT_ENABLE = yes
-VELOCIKEY_ENABLE = yes
-KEY_OVERRIDE_ENABLE = yes
-COMBO_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/orthograph/config.h b/keyboards/orthograph/config.h
new file mode 100644
index 0000000000..137c5601c9
--- /dev/null
+++ b/keyboards/orthograph/config.h
@@ -0,0 +1,20 @@
+/*
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#define EE_HANDS // need to flash eeprom with eeprom-lefthand.eep for left, etc
+
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
diff --git a/keyboards/orthograph/info.json b/keyboards/orthograph/info.json
new file mode 100644
index 0000000000..19d3f6b2fb
--- /dev/null
+++ b/keyboards/orthograph/info.json
@@ -0,0 +1,229 @@
+{
+ "keyboard_name": "Orthograph",
+ "url": "https://github.com/vladkvit",
+ "maintainer": "vladkvit",
+ "manufacturer": "vladkvit",
+ "build": {
+ "debounce_type": "asym_eager_defer_pk",
+ "lto": true
+ },
+ "debounce": 4,
+ "usb": {
+ "vid": "0x564B",
+ "pid": "0x0602",
+ "device_version": "1.0.0"
+ },
+ "features": {
+ "rgb_matrix": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "development_board": "elite_c",
+ "matrix_pins": {
+ "cols": ["B5", "B4", "D7", "C6", "D4", "D2", "D3", "F4"],
+ "rows": ["F5", "F6", "F7", "B1", "B3", "B2"]
+ },
+ "diode_direction": "COL2ROW",
+ "split": {
+ "enabled": true,
+ "soft_serial_pin": "E6",
+ "transport": {
+ "sync_matrix_state": true
+ },
+ "usb_detect":{
+ "enabled": true
+ }
+ },
+ "rgb_matrix": {
+ "default": {
+ "animation": "band_val"
+ },
+ "driver": "is31fl3733",
+ "split_count": [36, 46],
+ "layout": [
+ {"matrix":[0, 0], "flags":4, "x":0, "y":0},
+ {"matrix":[0, 1], "flags":4, "x":16, "y":0},
+ {"matrix":[0, 2], "flags":4, "x":32, "y":0},
+ {"matrix":[0, 3], "flags":4, "x":48, "y":0},
+ {"matrix":[0, 4], "flags":4, "x":64, "y":0},
+ {"matrix":[0, 5], "flags":4, "x":80, "y":0},
+ {"matrix":[1, 0], "flags":4, "x":0, "y":12},
+ {"matrix":[1, 1], "flags":4, "x":16, "y":12},
+ {"matrix":[1, 2], "flags":4, "x":32, "y":12},
+ {"matrix":[1, 3], "flags":4, "x":48, "y":12},
+ {"matrix":[1, 4], "flags":4, "x":64, "y":12},
+ {"matrix":[1, 5], "flags":4, "x":80, "y":12},
+ {"matrix":[2, 0], "flags":4, "x":0, "y":24},
+ {"matrix":[2, 1], "flags":4, "x":16, "y":24},
+ {"matrix":[2, 2], "flags":4, "x":32, "y":24},
+ {"matrix":[2, 3], "flags":4, "x":48, "y":24},
+ {"matrix":[2, 4], "flags":4, "x":64, "y":24},
+ {"matrix":[2, 5], "flags":4, "x":80, "y":24},
+ {"matrix":[3, 0], "flags":1, "x":0, "y":36},
+ {"matrix":[3, 1], "flags":4, "x":16, "y":36},
+ {"matrix":[3, 2], "flags":4, "x":32, "y":36},
+ {"matrix":[3, 3], "flags":4, "x":48, "y":36},
+ {"matrix":[3, 4], "flags":4, "x":64, "y":36},
+ {"matrix":[3, 5], "flags":4, "x":80, "y":36},
+ {"matrix":[4, 0], "flags":4, "x":0, "y":48},
+ {"matrix":[4, 1], "flags":4, "x":16, "y":48},
+ {"matrix":[4, 2], "flags":4, "x":32, "y":48},
+ {"matrix":[4, 3], "flags":4, "x":48, "y":48},
+ {"matrix":[4, 4], "flags":4, "x":64, "y":48},
+ {"matrix":[4, 5], "flags":4, "x":80, "y":48},
+ {"matrix":[5, 0], "flags":4, "x":0, "y":60},
+ {"matrix":[5, 1], "flags":4, "x":16, "y":60},
+ {"matrix":[5, 2], "flags":4, "x":32, "y":60},
+ {"matrix":[5, 3], "flags":4, "x":48, "y":60},
+ {"matrix":[5, 4], "flags":4, "x":64, "y":60},
+ {"matrix":[5, 5], "flags":4, "x":80, "y":60},
+ {"matrix":[6, 0], "flags":4, "x":96, "y":0},
+ {"matrix":[6, 1], "flags":4, "x":112, "y":0},
+ {"matrix":[6, 2], "flags":4, "x":128, "y":0},
+ {"matrix":[6, 3], "flags":4, "x":144, "y":0},
+ {"matrix":[6, 4], "flags":4, "x":160, "y":0},
+ {"matrix":[6, 5], "flags":4, "x":176, "y":0},
+ {"matrix":[6, 6], "flags":4, "x":192, "y":0},
+
+
+ {"matrix":[7, 0], "flags":4, "x":96, "y":12},
+ {"matrix":[7, 1], "flags":4, "x":112, "y":12},
+ {"matrix":[7, 2], "flags":4, "x":128, "y":12},
+ {"matrix":[7, 3], "flags":4, "x":144, "y":12},
+ {"matrix":[7, 4], "flags":4, "x":160, "y":12},
+ {"matrix":[7, 5], "flags":4, "x":176, "y":12},
+ {"matrix":[7, 6], "flags":4, "x":192, "y":12},
+ {"matrix":[7, 7], "flags":4, "x":208, "y":12},
+ {"matrix":[8, 0], "flags":4, "x":96, "y":24},
+ {"matrix":[8, 1], "flags":4, "x":112, "y":24},
+ {"matrix":[8, 2], "flags":4, "x":128, "y":24},
+ {"matrix":[8, 3], "flags":4, "x":144, "y":24},
+ {"matrix":[8, 4], "flags":4, "x":160, "y":24},
+ {"matrix":[8, 5], "flags":4, "x":176, "y":24},
+ {"matrix":[8, 6], "flags":4, "x":192, "y":24},
+ {"matrix":[8, 7], "flags":4, "x":208, "y":24},
+ {"matrix":[9, 0], "flags":4, "x":96, "y":36},
+ {"matrix":[9, 1], "flags":4, "x":112, "y":36},
+ {"matrix":[9, 2], "flags":4, "x":128, "y":36},
+ {"matrix":[9, 3], "flags":4, "x":144, "y":36},
+ {"matrix":[9, 4], "flags":4, "x":160, "y":36},
+ {"matrix":[9, 5], "flags":4, "x":176, "y":36},
+ {"matrix":[9, 6], "flags":4, "x":192, "y":36},
+ {"matrix":[10, 0], "flags":4, "x":96, "y":48},
+ {"matrix":[10, 1], "flags":4, "x":112, "y":48},
+ {"matrix":[10, 2], "flags":4, "x":128, "y":48},
+ {"matrix":[10, 3], "flags":4, "x":144, "y":48},
+ {"matrix":[10, 4], "flags":4, "x":160, "y":48},
+ {"matrix":[10, 5], "flags":4, "x":176, "y":48},
+ {"matrix":[10, 6], "flags":4, "x":192, "y":48},
+ {"matrix":[10, 7], "flags":4, "x":208, "y":48},
+ {"matrix":[11, 0], "flags":4, "x":96, "y":60},
+ {"matrix":[11, 1], "flags":4, "x":112, "y":60},
+ {"matrix":[11, 2], "flags":4, "x":128, "y":60},
+ {"matrix":[11, 3], "flags":4, "x":144, "y":60},
+ {"matrix":[11, 4], "flags":4, "x":160, "y":60},
+ {"matrix":[11, 5], "flags":4, "x":176, "y":60},
+ {"matrix":[11, 6], "flags":4, "x":192, "y":60},
+ {"matrix":[11, 7], "flags":4, "x":208, "y":60}
+
+ ],
+ "animations": {
+ "alphas_mods": true,
+ "band_val": true,
+ "cycle_spiral": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "label":"Esc", "x":0.75, "y":0, "w":1.5},
+ {"matrix": [0, 1], "label":"F1", "x":2.25, "y":0},
+ {"matrix": [0, 2], "label":"F2", "x":3.25, "y":0},
+ {"matrix": [0, 3], "label":"F3", "x":4.25, "y":0},
+ {"matrix": [0, 4], "label":"F4", "x":5.25, "y":0},
+ {"matrix": [0, 5], "label":"F5", "x":6.25, "y":0},
+ {"matrix": [6, 0], "label":"F6", "x":12.5, "y":0},
+ {"matrix": [6, 1], "label":"F7", "x":13.5, "y":0},
+ {"matrix": [6, 2], "label":"F8", "x":14.5, "y":0},
+ {"matrix": [6, 3], "label":"F9", "x":15.5, "y":0},
+ {"matrix": [6, 4], "label":"F10", "x":16.5, "y":0},
+ {"matrix": [6, 5], "label":"F11", "x":17.5, "y":0},
+ {"matrix": [6, 6], "label":"F12", "x":18.5, "y":0},
+ {"matrix": [1, 0], "label":"~", "x":0.75, "y":1, "w":1.5},
+ {"matrix": [1, 1], "label":"1", "x":2.25, "y":1},
+ {"matrix": [1, 2], "label":"2", "x":3.25, "y":1},
+ {"matrix": [1, 3], "label":"3", "x":4.25, "y":1},
+ {"matrix": [1, 4], "label":"4", "x":5.25, "y":1},
+ {"matrix": [1, 5], "label":"5", "x":6.25, "y":1},
+ {"matrix": [7, 0], "label":"^", "x":12.5, "y":1},
+ {"matrix": [7, 1], "label":"&", "x":13.5, "y":1},
+ {"matrix": [7, 2], "label":"*", "x":14.5, "y":1},
+ {"matrix": [7, 3], "label":"(", "x":15.5, "y":1},
+ {"matrix": [7, 4], "label":")", "x":16.5, "y":1},
+ {"matrix": [7, 5], "label":"_", "x":17.5, "y":1},
+ {"matrix": [7, 6], "label":"+", "x":18.5, "y":1},
+ {"matrix": [7, 7], "label":"Backspace", "x":19.5, "y":1, "w":1.5},
+ {"matrix": [2, 0], "label":"Tab", "x":0.75, "y":2, "w":1.5},
+ {"matrix": [2, 1], "label":"Q", "x":2.25, "y":2},
+ {"matrix": [2, 2], "label":"W", "x":3.25, "y":2},
+ {"matrix": [2, 3], "label":"E", "x":4.25, "y":2},
+ {"matrix": [2, 4], "label":"R", "x":5.25, "y":2},
+ {"matrix": [2, 5], "label":"T", "x":6.25, "y":2},
+ {"matrix": [8, 0], "label":"Y", "x":12.5, "y":2},
+ {"matrix": [8, 1], "label":"U", "x":13.5, "y":2},
+ {"matrix": [8, 2], "label":"I", "x":14.5, "y":2},
+ {"matrix": [8, 3], "label":"O", "x":15.5, "y":2},
+ {"matrix": [8, 4], "label":"P", "x":16.5, "y":2},
+ {"matrix": [8, 5], "label":"{", "x":17.5, "y":2},
+ {"matrix": [8, 6], "label":"}", "x":18.5, "y":2},
+ {"matrix": [8, 7], "label":"|", "x":19.5, "y":2, "w":1.5},
+ {"matrix": [3, 0], "label":"Caps", "x":0.75, "y":3, "w":1.5},
+ {"matrix": [3, 1], "label":"A", "x":2.25, "y":3},
+ {"matrix": [3, 2], "label":"S", "x":3.25, "y":3},
+ {"matrix": [3, 3], "label":"D", "x":4.25, "y":3},
+ {"matrix": [3, 4], "label":"F", "x":5.25, "y":3},
+ {"matrix": [3, 5], "label":"G", "x":6.25, "y":3},
+ {"matrix": [9, 0], "label":"H", "x":12.5, "y":3},
+ {"matrix": [9, 1], "label":"J", "x":13.5, "y":3},
+ {"matrix": [9, 2], "label":"K", "x":14.5, "y":3},
+ {"matrix": [9, 3], "label":"L", "x":15.5, "y":3},
+ {"matrix": [9, 4], "label":":", "x":16.5, "y":3},
+ {"matrix": [9, 5], "label":"\"", "x":17.5, "y":3},
+ {"matrix": [9, 6], "label":"Enter", "x":18.5, "y":3, "w":2.25},
+ {"matrix": [4, 0], "label":"Shift", "x":0.75, "y":4, "w":1.5},
+ {"matrix": [4, 1], "label":"Z", "x":2.25, "y":4},
+ {"matrix": [4, 2], "label":"X", "x":3.25, "y":4},
+ {"matrix": [4, 3], "label":"C", "x":4.25, "y":4},
+ {"matrix": [4, 4], "label":"V", "x":5.25, "y":4},
+ {"matrix": [4, 5], "label":"B", "x":6.25, "y":4},
+ {"matrix": [10, 0], "label":"N", "x":12.5, "y":4},
+ {"matrix": [10, 1], "label":"M", "x":13.5, "y":4},
+ {"matrix": [10, 2], "label":"<", "x":14.5, "y":4},
+ {"matrix": [10, 3], "label":">", "x":15.5, "y":4},
+ {"matrix": [10, 4], "label":"?", "x":16.5, "y":4},
+ {"matrix": [10, 5], "label":"Shift", "x":17.5, "y":4, "w":1.5},
+ {"matrix": [10, 6], "label":"\u2191", "x":19, "y":4},
+ {"matrix": [10, 7], "label":"mx", "x":20, "y":4},
+ {"matrix": [5, 0], "label":"Ctrl", "x":1, "y":5, "w":1.25},
+ {"matrix": [5, 1], "label":"Win", "x":2.25, "y":5, "w":1.25},
+ {"matrix": [5, 2], "label":"Alt", "x":3.5, "y":5, "w":1.25},
+ {"matrix": [5, 3], "label":"Menu", "x":4.75, "y":5, "w":1.25},
+ {"matrix": [5, 4], "label":"space", "x":0, "y":4.75, "h":2},
+ {"matrix": [5, 5], "label":"fn", "x":1, "y":4.75, "h":2},
+ {"matrix": [11, 0], "label":"space2", "x":-2, "y":4.5, "h":2},
+ {"matrix": [11, 1], "label":"fn", "x":-1.0, "y":4.5, "h":2},
+ {"matrix": [11, 2], "label":"Alt", "x":14.25, "y":5, "w":1.25},
+ {"matrix": [11, 3], "label":"Win", "x":15.5, "y":5, "w":1.25},
+ {"matrix": [11, 4], "label":"Ctrl", "x":16.75, "y":5, "w":1.25},
+ {"matrix": [11, 5], "label":"\u2190", "x":18, "y":5},
+ {"matrix": [11, 6], "label":"\u2193", "x":19, "y":5},
+ {"matrix": [11, 7], "label":"\u2192", "x":20, "y":5}
+
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/orthograph/keymaps/default/keymap.json b/keyboards/orthograph/keymaps/default/keymap.json
new file mode 100644
index 0000000000..fcd2e26edc
--- /dev/null
+++ b/keyboards/orthograph/keymaps/default/keymap.json
@@ -0,0 +1,24 @@
+{
+ "keyboard": "orthograph",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "layers":
+ [
+ [
+ "KC_ESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12",
+ "KC_GRAVE","KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PSCR",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_APP", "KC_SPC", "MO(1)", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_HOME", "KC_PGUP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_DEL", "KC_END", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_MODE_FORWARD","KC_TRNS", "RGB_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ]
+ ]
+} \ No newline at end of file
diff --git a/keyboards/orthograph/orthograph.c b/keyboards/orthograph/orthograph.c
new file mode 100644
index 0000000000..9d824574d1
--- /dev/null
+++ b/keyboards/orthograph/orthograph.c
@@ -0,0 +1,128 @@
+/* Copyright 2023 vladkvit
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+{0, SW1_CS6, SW2_CS6, SW3_CS6},
+{0, SW1_CS5, SW2_CS5, SW3_CS5},
+{0, SW1_CS4, SW2_CS4, SW3_CS4},
+{0, SW1_CS3, SW2_CS3, SW3_CS3},
+{0, SW1_CS2, SW2_CS2, SW3_CS2},
+{0, SW1_CS1, SW2_CS1, SW3_CS1},
+
+{0, SW4_CS6, SW5_CS6, SW6_CS6},
+{0, SW4_CS5, SW5_CS5, SW6_CS5},
+{0, SW4_CS4, SW5_CS4, SW6_CS4},
+{0, SW4_CS3, SW5_CS3, SW6_CS3},
+{0, SW4_CS2, SW5_CS2, SW6_CS2},
+{0, SW4_CS1, SW5_CS1, SW6_CS1},
+
+{0, SW7_CS6, SW8_CS6, SW9_CS6},
+{0, SW7_CS5, SW8_CS5, SW9_CS5},
+{0, SW7_CS4, SW8_CS4, SW9_CS4},
+{0, SW7_CS3, SW8_CS3, SW9_CS3},
+{0, SW7_CS2, SW8_CS2, SW9_CS2},
+{0, SW7_CS1, SW8_CS1, SW9_CS1},
+
+{0, SW1_CS14, SW2_CS14, SW3_CS14},
+{0, SW1_CS13, SW2_CS13, SW3_CS13},
+{0, SW1_CS12, SW2_CS12, SW3_CS12},
+{0, SW1_CS11, SW2_CS11, SW3_CS11},
+{0, SW1_CS10, SW2_CS10, SW3_CS10},
+{0, SW1_CS9, SW2_CS9, SW3_CS9},
+
+{0, SW4_CS14, SW5_CS14, SW6_CS14},
+{0, SW4_CS13, SW5_CS13, SW6_CS13},
+{0, SW4_CS12, SW5_CS12, SW6_CS12},
+{0, SW4_CS11, SW5_CS11, SW6_CS11},
+{0, SW4_CS10, SW5_CS10, SW6_CS10},
+{0, SW4_CS9, SW5_CS9, SW6_CS9},
+
+{0, SW7_CS14, SW8_CS14, SW9_CS14},
+{0, SW7_CS13, SW8_CS13, SW9_CS13},
+{0, SW7_CS12, SW8_CS12, SW9_CS12},
+{0, SW7_CS11, SW8_CS11, SW9_CS11},
+{0, SW7_CS10, SW8_CS10, SW9_CS10},
+{0, SW7_CS9, SW8_CS9, SW9_CS9},
+
+//----------------
+
+
+{0, SW1_CS6, SW2_CS6, SW3_CS6},
+{0, SW1_CS5, SW2_CS5, SW3_CS5},
+{0, SW1_CS4, SW2_CS4, SW3_CS4},
+{0, SW1_CS3, SW2_CS3, SW3_CS3},
+{0, SW1_CS2, SW2_CS2, SW3_CS2},
+{0, SW1_CS1, SW2_CS1, SW3_CS1},
+{0, SW1_CS16, SW2_CS16, SW3_CS16},
+// {0, SW1_CS15, SW2_CS15, SW3_CS15},
+
+
+{0, SW4_CS6, SW5_CS6, SW6_CS6},
+{0, SW4_CS5, SW5_CS5, SW6_CS5},
+{0, SW4_CS4, SW5_CS4, SW6_CS4},
+{0, SW4_CS3, SW5_CS3, SW6_CS3},
+{0, SW4_CS2, SW5_CS2, SW6_CS2},
+{0, SW4_CS1, SW5_CS1, SW6_CS1},
+{0, SW4_CS16, SW5_CS16, SW6_CS16},
+{0, SW4_CS15, SW5_CS15, SW6_CS15},
+
+{0, SW7_CS6, SW8_CS6, SW9_CS6},
+{0, SW7_CS5, SW8_CS5, SW9_CS5},
+{0, SW7_CS4, SW8_CS4, SW9_CS4},
+{0, SW7_CS3, SW8_CS3, SW9_CS3},
+{0, SW7_CS2, SW8_CS2, SW9_CS2},
+{0, SW7_CS1, SW8_CS1, SW9_CS1},
+{0, SW7_CS16, SW8_CS16, SW9_CS16},
+{0, SW7_CS15, SW8_CS15, SW9_CS15},
+
+{0, SW1_CS14, SW2_CS14, SW3_CS14},
+{0, SW1_CS13, SW2_CS13, SW3_CS13},
+{0, SW1_CS12, SW2_CS12, SW3_CS12},
+{0, SW1_CS11, SW2_CS11, SW3_CS11},
+{0, SW1_CS10, SW2_CS10, SW3_CS10},
+{0, SW1_CS9, SW2_CS9, SW3_CS9},
+{0, SW1_CS8, SW2_CS8, SW3_CS8},
+// {0, SW1_CS7, SW2_CS7, SW3_CS7},
+
+{0, SW4_CS14, SW5_CS14, SW6_CS14},
+{0, SW4_CS13, SW5_CS13, SW6_CS13},
+{0, SW4_CS12, SW5_CS12, SW6_CS12},
+{0, SW4_CS11, SW5_CS11, SW6_CS11},
+{0, SW4_CS10, SW5_CS10, SW6_CS10},
+{0, SW4_CS9, SW5_CS9, SW6_CS9},
+{0, SW4_CS8, SW5_CS8, SW6_CS8},
+{0, SW4_CS7, SW5_CS7, SW6_CS7},
+
+{0, SW7_CS14, SW8_CS14, SW9_CS14},
+{0, SW7_CS13, SW8_CS13, SW9_CS13},
+{0, SW7_CS12, SW8_CS12, SW9_CS12},
+{0, SW7_CS11, SW8_CS11, SW9_CS11},
+{0, SW7_CS10, SW8_CS10, SW9_CS10},
+{0, SW7_CS9, SW8_CS9, SW9_CS9},
+{0, SW7_CS8, SW8_CS8, SW9_CS8},
+{0, SW7_CS7, SW8_CS7, SW9_CS7}
+};
+
+#endif
diff --git a/keyboards/orthograph/readme.md b/keyboards/orthograph/readme.md
new file mode 100644
index 0000000000..126ab6d1d9
--- /dev/null
+++ b/keyboards/orthograph/readme.md
@@ -0,0 +1,25 @@
+# Orthograph
+
+Split ortho keyboard with RGB backlighting
+
+* Keyboard Maintainer: [vladkvit](https://github.com/vladkvit)
+* Hardware Supported: Two PCBs + thin Pro Micro compatible boards (Elite C has been extensively tested). Boards with castellated holes (Elite C style) are much easier to install. Maximum thickness is around 3-3.5mm, so a stock Pro Micro (4mm) will not work.
+* Hardware Availability: https://github.com/vladkvit/orthograph_keyboard for PCB, https://cad.onshape.com/documents/4f736d64448134c948af475a/w/ccab05fd44a7db98ce27216a/e/49ebfb6b27080b9b45bea74a?renderMode=0&uiState=64dd45dbc62cae486db10048 and https://cad.onshape.com/documents/5ff52821d2cb196f3db3d1e8/w/04b7cb21b748da89c8df31e6/e/486b72e32db97b2dfdf00af8 for the hardware
+
+Make example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb orthograph -km default
+
+Flashing example for this keyboard:
+ qmk flash -kb orthograph -km default
+ Then, flash EEPROM with handedness (left / right) on both sides.
+
+The reset button is on the underside of each half of the keyboard.
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/orthograph/rules.mk b/keyboards/orthograph/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/orthograph/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/owlab/spring/config.h b/keyboards/owlab/spring/config.h
deleted file mode 100644
index 461903ea2e..0000000000
--- a/keyboards/owlab/spring/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 OwLab
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-# define RGBLIGHT_DEFAULT_VAL 127
diff --git a/keyboards/owlab/spring/info.json b/keyboards/owlab/spring/info.json
index d5813e78c8..f55f08addc 100644
--- a/keyboards/owlab/spring/info.json
+++ b/keyboards/owlab/spring/info.json
@@ -29,6 +29,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "val": 127
}
},
"ws2812": {
diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h
index 8599c084d2..96c0c784c0 100644
--- a/keyboards/owlab/voice65/hotswap/config.h
+++ b/keyboards/owlab/voice65/hotswap/config.h
@@ -17,66 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define OWL_VOLUME_RANGE 50
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-/* RGB matrix */
#ifdef RGB_MATRIX_ENABLE
-# define USE_I2CV2
# define RGB_MATRIX_DISABLE_KEYCODES
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_DEFAULT_VAL 128
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-# define RGB_MATRIX_LED_COUNT 67
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/owlab/voice65/hotswap/hotswap.c b/keyboards/owlab/voice65/hotswap/hotswap.c
index b4c0c02c32..79179d1661 100644
--- a/keyboards/owlab/voice65/hotswap/hotswap.c
+++ b/keyboards/owlab/voice65/hotswap/hotswap.c
@@ -17,74 +17,74 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1-1 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB2-2 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB3-3 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB4-4 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB5-5 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB6-6 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB7-7 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB8-8 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB9-9 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB10-0 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB11--- */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, /* RGB12-+= */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB13-BS */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB14-DEL */
- {0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB15-TAB ----ROW1*/
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB16-Q */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB17-W */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB18-E */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB19-R */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB20-T */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB21-Y */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB22-U */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB23-I */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB24-O */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB25-P */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB26-[ */
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, /* RGB27-] */
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, /* RGB28-\ */
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB29-PGUP */
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB30-CAPS---ROW2*/
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB31-A-- */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB32-S-- */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB33-D-- */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB34-F-- */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB35-G-- */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB36-H-- */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB37-J-- */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB38-K-- */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB39-L-- */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB40-;:- */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB41-''- */
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, /* RGB42-ENTER- */
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB43-PGDN */
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB44-LSF --ROW3*/
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB45-Z -*/
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB46-X -*/
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB47-C -*/
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB48-V -*/
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB49-B -*/
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB50-N -*/
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB51-M -*/
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB52-,< -*/
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB53->. -*/
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB54-? -*/
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB55-RSF -*/
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, /* RGB56-UP -*/
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB57--MO-- */
- {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* RGB58-lct-- row4*/
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB59-lwin- */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB60-lalt- */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB61-sp- */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB62-ralt- */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB63-rct- */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB64-left- */
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, /* RGB65-dn- */
- {0, CS39_SW7, CS38_SW7, CS37_SW7}, /* RGB66-right- */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, /* RGB0-ESC ROW0*/
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB1-1 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB2-2 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB3-3 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB4-4 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB5-5 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB6-6 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB7-7 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB8-8 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB9-9 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB10-0 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB11--- */
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB12-+= */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB13-BS */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB14-DEL */
+ {0, SW2_CS3, SW2_CS2, SW2_CS1}, /* RGB15-TAB ----ROW1*/
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB16-Q */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB17-W */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB18-E */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB19-R */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB20-T */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB21-Y */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB22-U */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB23-I */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB24-O */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB25-P */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB26-[ */
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, /* RGB27-] */
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB28-\ */
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, /* RGB29-PGUP */
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, /* RGB30-CAPS---ROW2*/
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB31-A-- */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB32-S-- */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB33-D-- */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB34-F-- */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB35-G-- */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB36-H-- */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB37-J-- */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB38-K-- */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB39-L-- */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB40-;:- */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB41-''- */
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, /* RGB42-ENTER- */
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, /* RGB43-PGDN */
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB44-LSF --ROW3*/
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* RGB45-Z -*/
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB46-X -*/
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB47-C -*/
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB48-V -*/
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB49-B -*/
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB50-N -*/
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB51-M -*/
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB52-,< -*/
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB53->. -*/
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB54-? -*/
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB55-RSF -*/
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, /* RGB56-UP -*/
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB57--MO-- */
+ {0, SW5_CS3, SW5_CS2, SW5_CS1}, /* RGB58-lct-- row4*/
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* RGB59-lwin- */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB60-lalt- */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB61-sp- */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB62-ralt- */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB63-rct- */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB64-left- */
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB65-dn- */
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}, /* RGB66-right- */
};
led_config_t g_led_config = { {
diff --git a/keyboards/owlab/voice65/hotswap/info.json b/keyboards/owlab/voice65/hotswap/info.json
index 7b1ff47794..d32b74cfcb 100644
--- a/keyboards/owlab/voice65/hotswap/info.json
+++ b/keyboards/owlab/voice65/hotswap/info.json
@@ -10,7 +10,59 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 128
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"],
diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h
index 9533e00a02..96c0c784c0 100644
--- a/keyboards/owlab/voice65/soldered/config.h
+++ b/keyboards/owlab/voice65/soldered/config.h
@@ -17,67 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define OWL_VOLUME_RANGE 50
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-/* RGB matrix*/
#ifdef RGB_MATRIX_ENABLE
-# define USE_I2CV2
# define RGB_MATRIX_DISABLE_KEYCODES
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_DEFAULT_VAL 128
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-# define RGB_MATRIX_LED_COUNT 71
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/owlab/voice65/soldered/info.json b/keyboards/owlab/voice65/soldered/info.json
index 8e96d68928..4cae769a94 100644
--- a/keyboards/owlab/voice65/soldered/info.json
+++ b/keyboards/owlab/voice65/soldered/info.json
@@ -10,7 +10,59 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 128
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"],
diff --git a/keyboards/owlab/voice65/soldered/soldered.c b/keyboards/owlab/voice65/soldered/soldered.c
index 301a5adc59..23144914fe 100644
--- a/keyboards/owlab/voice65/soldered/soldered.c
+++ b/keyboards/owlab/voice65/soldered/soldered.c
@@ -17,78 +17,78 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1-1 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB2-2 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB3-3 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB4-4 */
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB5-5 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB6-6 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB7-7 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB8-8 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB9-9 */
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB10-0 */
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, /* RGB11--- */
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, /* RGB12-+= */
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB13-BS */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB14-BACKSPACE SPLIT */
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB15-DEL */
- {0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB16-TAB ----ROW1*/
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB17-Q */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB18-W */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB19-E */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB20-R */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB21-T */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB22-Y */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB23-U */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB24-I */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB25-O */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB26-P */
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB27-[ */
- {0, CS39_SW7, CS38_SW7, CS37_SW7}, /* RGB28-] */
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB29-\ */
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB30-PGUP */
- {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB31-CAPS---ROW2*/
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB32-A-- */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB33-S-- */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB34-D-- */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB35-F-- */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB36-G-- */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB37-H-- */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB38-J-- */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB39-K-- */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB40-L-- */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB41-;:- */
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB42-''- */
- {0, CS39_SW8, CS38_SW8, CS37_SW8}, /* RGB43-ENTER- */
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB44-PGDN */
- {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB45-LSF --ROW3*/
- {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB46-LSF split -*/
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB47-Z -*/
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB48-X -*/
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB49-C -*/
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB50-V -*/
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB51-B -*/
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB52-N -*/
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB53-M -*/
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB54-<, -*/
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB55->. -*/
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB56-?/ -*/
- {0, CS39_SW9, CS38_SW9, CS37_SW9}, /* RGB57-RSF -*/
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB58-UP -*/
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, /* RGB59--MO-- */
- {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* RGB60-lct-- row4*/
- {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB61-lwin- */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB62-lalt- */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB63-sp2.25- */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB64-sp7U6.25U1.25U- */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB65-sp2.75U- */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB66-ralt- */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB67-rctrl- */
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB68-left- */
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, /* RGB69-dn- */
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB70-right- */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS3, SW1_CS2, SW1_CS1}, /* RGB0-ESC ROW0*/
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB1-1 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB2-2 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB3-3 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB4-4 */
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB5-5 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB6-6 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB7-7 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB8-8 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB9-9 */
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, /* RGB10-0 */
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, /* RGB11--- */
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB12-+= */
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, /* RGB13-BS */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB14-BACKSPACE SPLIT */
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, /* RGB15-DEL */
+ {0, SW2_CS3, SW2_CS2, SW2_CS1}, /* RGB16-TAB ----ROW1*/
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB17-Q */
+ {0, SW2_CS9, SW2_CS8, SW2_CS7}, /* RGB18-W */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB19-E */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB20-R */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB21-T */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB22-Y */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB23-U */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB24-I */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB25-O */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB26-P */
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, /* RGB27-[ */
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}, /* RGB28-] */
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, /* RGB29-\ */
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, /* RGB30-PGUP */
+ {0, SW3_CS3, SW3_CS2, SW3_CS1}, /* RGB31-CAPS---ROW2*/
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB32-A-- */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB33-S-- */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB34-D-- */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB35-F-- */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB36-G-- */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB37-H-- */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB38-J-- */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB39-K-- */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB40-L-- */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB41-;:- */
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, /* RGB42-''- */
+ {0, SW8_CS39, SW8_CS38, SW8_CS37}, /* RGB43-ENTER- */
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, /* RGB44-PGDN */
+ {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB45-LSF --ROW3*/
+ {0, SW4_CS6, SW4_CS5, SW4_CS4}, /* RGB46-LSF split -*/
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB47-Z -*/
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB48-X -*/
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB49-C -*/
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB50-V -*/
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB51-B -*/
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB52-N -*/
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB53-M -*/
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB54-<, -*/
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB55->. -*/
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, /* RGB56-?/ -*/
+ {0, SW9_CS39, SW9_CS38, SW9_CS37}, /* RGB57-RSF -*/
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB58-UP -*/
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB59--MO-- */
+ {0, SW5_CS3, SW5_CS2, SW5_CS1}, /* RGB60-lct-- row4*/
+ {0, SW5_CS6, SW5_CS5, SW5_CS4}, /* RGB61-lwin- */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB62-lalt- */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB63-sp2.25- */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB64-sp7U6.25U1.25U- */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB65-sp2.75U- */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66-ralt- */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB67-rctrl- */
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, /* RGB68-left- */
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB69-dn- */
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB70-right- */
};
led_config_t g_led_config = { {
diff --git a/keyboards/eu_isolation/config.h b/keyboards/p3d/eu_isolation/config.h
index de7206efe2..de7206efe2 100644
--- a/keyboards/eu_isolation/config.h
+++ b/keyboards/p3d/eu_isolation/config.h
diff --git a/keyboards/eu_isolation/info.json b/keyboards/p3d/eu_isolation/info.json
index f181418cf0..f181418cf0 100644
--- a/keyboards/eu_isolation/info.json
+++ b/keyboards/p3d/eu_isolation/info.json
diff --git a/keyboards/eu_isolation/keymaps/default/config.h b/keyboards/p3d/eu_isolation/keymaps/default/config.h
index ad4389af3e..ad4389af3e 100644
--- a/keyboards/eu_isolation/keymaps/default/config.h
+++ b/keyboards/p3d/eu_isolation/keymaps/default/config.h
diff --git a/keyboards/eu_isolation/keymaps/default/keymap.c b/keyboards/p3d/eu_isolation/keymaps/default/keymap.c
index 65dc381974..65dc381974 100644
--- a/keyboards/eu_isolation/keymaps/default/keymap.c
+++ b/keyboards/p3d/eu_isolation/keymaps/default/keymap.c
diff --git a/keyboards/eu_isolation/keymaps/default/readme.md b/keyboards/p3d/eu_isolation/keymaps/default/readme.md
index b1f90f9ef4..b1f90f9ef4 100644
--- a/keyboards/eu_isolation/keymaps/default/readme.md
+++ b/keyboards/p3d/eu_isolation/keymaps/default/readme.md
diff --git a/keyboards/eu_isolation/keymaps/default/rules.mk b/keyboards/p3d/eu_isolation/keymaps/default/rules.mk
index ab1e438182..ab1e438182 100644
--- a/keyboards/eu_isolation/keymaps/default/rules.mk
+++ b/keyboards/p3d/eu_isolation/keymaps/default/rules.mk
diff --git a/keyboards/p3d/eu_isolation/readme.md b/keyboards/p3d/eu_isolation/readme.md
new file mode 100644
index 0000000000..44cb4277e4
--- /dev/null
+++ b/keyboards/p3d/eu_isolation/readme.md
@@ -0,0 +1,31 @@
+# EU ISOlation
+
+![euisolation](https://i.imgur.com/5LGsiJZh.jpg)
+
+EU ISOlation is an ortholinear 40% keyboard designed to use up your spare iso
+enters from you collection of keyboard kits.
+
+* Keyboard Maintainer: Originally by [TuckTuckFloof](https://github.com/TuckTuckFloof)
+ cleaned up and merged to QMK by [aadriance](https://github.com/aadriance)
+* Hardware Supported: EU ISOlation
+* Hardware Availability: Originally a [P3DStore](https://p3dstore.com/) group buy.
+ Open source pcb info available on [TuckTuckFloofs github](https://github.com/TuckTuckFloof/EUISO-pcb)
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+## Information
+
+Make example for this keyboard (after setting up your build environment):
+
+ make p3d/eu_isolation:default
+
+Flashing example for this keyboard:
+
+ make p3d/eu_isolation:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/eu_isolation/rules.mk b/keyboards/p3d/eu_isolation/rules.mk
index 20825c8cfa..20825c8cfa 100644
--- a/keyboards/eu_isolation/rules.mk
+++ b/keyboards/p3d/eu_isolation/rules.mk
diff --git a/keyboards/q4z/config.h b/keyboards/p3d/q4z/config.h
index 67553a4432..67553a4432 100644
--- a/keyboards/q4z/config.h
+++ b/keyboards/p3d/q4z/config.h
diff --git a/keyboards/q4z/info.json b/keyboards/p3d/q4z/info.json
index dc02296131..dc02296131 100644
--- a/keyboards/q4z/info.json
+++ b/keyboards/p3d/q4z/info.json
diff --git a/keyboards/q4z/keymaps/default/config.h b/keyboards/p3d/q4z/keymaps/default/config.h
index 88392557de..88392557de 100644
--- a/keyboards/q4z/keymaps/default/config.h
+++ b/keyboards/p3d/q4z/keymaps/default/config.h
diff --git a/keyboards/q4z/keymaps/default/keymap.c b/keyboards/p3d/q4z/keymaps/default/keymap.c
index 4a7c28acb1..4a7c28acb1 100644
--- a/keyboards/q4z/keymaps/default/keymap.c
+++ b/keyboards/p3d/q4z/keymaps/default/keymap.c
diff --git a/keyboards/q4z/keymaps/default/readme.md b/keyboards/p3d/q4z/keymaps/default/readme.md
index 28186f64d8..28186f64d8 100644
--- a/keyboards/q4z/keymaps/default/readme.md
+++ b/keyboards/p3d/q4z/keymaps/default/readme.md
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick/rules.mk b/keyboards/p3d/q4z/keymaps/default/rules.mk
index ab1e438182..ab1e438182 100644
--- a/keyboards/ibnuda/squiggle/keymaps/rick/rules.mk
+++ b/keyboards/p3d/q4z/keymaps/default/rules.mk
diff --git a/keyboards/p3d/q4z/readme.md b/keyboards/p3d/q4z/readme.md
new file mode 100644
index 0000000000..f6f4afecc8
--- /dev/null
+++ b/keyboards/p3d/q4z/readme.md
@@ -0,0 +1,20 @@
+# Q4Z
+
+![Q4Z](https://cdn.shopify.com/s/files/1/0501/7537/7592/products/q4n-6_470x.jpg?v=1623373518)
+
+Q4Z is a play on everybody's favorite 10.25u layout. With the addition of 5 number keys and a handle,
+this little board is ready for whatever a raging gamer can throw it at.
+
+* Keyboard Maintainer: [Ryan Boone](https://github.com/rjboone) (Drmmr#0004)
+* Hardware Supported: Pro Micro or equivalent
+* Hardware Availability: This board is available to purchase from [P3D Store](https://p3dstore.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make p3d/q4z:default
+
+Flashing example for this keyboard:
+
+ make p3d/q4z:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/q4z/rules.mk b/keyboards/p3d/q4z/rules.mk
index 6d3709762d..6d3709762d 100644
--- a/keyboards/q4z/rules.mk
+++ b/keyboards/p3d/q4z/rules.mk
diff --git a/keyboards/spacey/info.json b/keyboards/p3d/spacey/info.json
index 289eff730f..289eff730f 100644
--- a/keyboards/spacey/info.json
+++ b/keyboards/p3d/spacey/info.json
diff --git a/keyboards/spacey/keymaps/default/keymap.c b/keyboards/p3d/spacey/keymaps/default/keymap.c
index 8d0b138390..8d0b138390 100644
--- a/keyboards/spacey/keymaps/default/keymap.c
+++ b/keyboards/p3d/spacey/keymaps/default/keymap.c
diff --git a/keyboards/spacey/keymaps/default/readme.md b/keyboards/p3d/spacey/keymaps/default/readme.md
index 808ab68264..808ab68264 100644
--- a/keyboards/spacey/keymaps/default/readme.md
+++ b/keyboards/p3d/spacey/keymaps/default/readme.md
diff --git a/keyboards/spacey/keymaps/via/keymap.c b/keyboards/p3d/spacey/keymaps/via/keymap.c
index 17dec84fc7..17dec84fc7 100644
--- a/keyboards/spacey/keymaps/via/keymap.c
+++ b/keyboards/p3d/spacey/keymaps/via/keymap.c
diff --git a/keyboards/flygone60/rev3/keymaps/via/rules.mk b/keyboards/p3d/spacey/keymaps/via/rules.mk
index 43061db1dd..43061db1dd 100644
--- a/keyboards/flygone60/rev3/keymaps/via/rules.mk
+++ b/keyboards/p3d/spacey/keymaps/via/rules.mk
diff --git a/keyboards/p3d/spacey/readme.md b/keyboards/p3d/spacey/readme.md
new file mode 100644
index 0000000000..252cc39f86
--- /dev/null
+++ b/keyboards/p3d/spacey/readme.md
@@ -0,0 +1,19 @@
+# spacey
+
+![spacey](https://i.imgur.com/Dzon2hbh.jpeg)
+
+Spacey, designed by Vanilla Keyboards is a 45/65% keyboard with a little personality. Hosting ortholinear alphas with traditional modifiers, diamond shaped arrows, rotary encoder, and a couple optional spacebars at the top of the board, it's a balance between functional and unique.
+
+* Keyboard Maintainer: [vanilla](https://github.com/vanillakeyboards)
+* Hardware Supported: Elite C, Spacey PCB plates and acrylic drop_in case
+* Hardware Availability: [P3D Store](https://p3dstore.com/collections/ended-group-buys/products/spacey?variant=37742593147064)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make p3d/spacey:default
+
+Flashing example for this keyboard:
+
+ make p3d/spacey:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/spacey/rules.mk b/keyboards/p3d/spacey/rules.mk
index b03b6fa905..b03b6fa905 100644
--- a/keyboards/spacey/rules.mk
+++ b/keyboards/p3d/spacey/rules.mk
diff --git a/keyboards/synapse/config.h b/keyboards/p3d/synapse/config.h
index 9f86bdabd7..9f86bdabd7 100644
--- a/keyboards/synapse/config.h
+++ b/keyboards/p3d/synapse/config.h
diff --git a/keyboards/synapse/info.json b/keyboards/p3d/synapse/info.json
index 85659dc8a5..85659dc8a5 100644
--- a/keyboards/synapse/info.json
+++ b/keyboards/p3d/synapse/info.json
diff --git a/keyboards/synapse/keymaps/7u_space/config.h b/keyboards/p3d/synapse/keymaps/7u_space/config.h
index e398cb5b2d..e398cb5b2d 100644
--- a/keyboards/synapse/keymaps/7u_space/config.h
+++ b/keyboards/p3d/synapse/keymaps/7u_space/config.h
diff --git a/keyboards/synapse/keymaps/7u_space/keymap.c b/keyboards/p3d/synapse/keymaps/7u_space/keymap.c
index b530e91c78..b530e91c78 100644
--- a/keyboards/synapse/keymaps/7u_space/keymap.c
+++ b/keyboards/p3d/synapse/keymaps/7u_space/keymap.c
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk b/keyboards/p3d/synapse/keymaps/7u_space/rules.mk
index ab1e438182..ab1e438182 100644
--- a/keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk
+++ b/keyboards/p3d/synapse/keymaps/7u_space/rules.mk
diff --git a/keyboards/synapse/keymaps/default/config.h b/keyboards/p3d/synapse/keymaps/default/config.h
index e398cb5b2d..e398cb5b2d 100644
--- a/keyboards/synapse/keymaps/default/config.h
+++ b/keyboards/p3d/synapse/keymaps/default/config.h
diff --git a/keyboards/synapse/keymaps/default/keymap.c b/keyboards/p3d/synapse/keymaps/default/keymap.c
index 3428272ee9..3428272ee9 100644
--- a/keyboards/synapse/keymaps/default/keymap.c
+++ b/keyboards/p3d/synapse/keymaps/default/keymap.c
diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/rules.mk b/keyboards/p3d/synapse/keymaps/default/rules.mk
index ab1e438182..ab1e438182 100644
--- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/rules.mk
+++ b/keyboards/p3d/synapse/keymaps/default/rules.mk
diff --git a/keyboards/p3d/synapse/readme.md b/keyboards/p3d/synapse/readme.md
new file mode 100644
index 0000000000..8de1e779d5
--- /dev/null
+++ b/keyboards/p3d/synapse/readme.md
@@ -0,0 +1,27 @@
+# synapse
+
+![synapse](https://i.imgur.com/OQNNPBhh.jpg)
+
+Stagger PCB for Cervello!
+
+* Keyboard Maintainer: https://github.com/qpockets
+* Hardware Availability: [P3D Store](https://p3dstore.com/products/cervello-acrylic-keyboard-case-and-pcb-group-buy?_pos=4&_sid=fd078da46&_ss=r&variant=40398412677304) Group Buy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make p3d/synapse:default
+
+Flashing example for this keyboard:
+
+ make p3d/synapse:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+*
diff --git a/keyboards/synapse/rules.mk b/keyboards/p3d/synapse/rules.mk
index ebe0d0e0e3..ebe0d0e0e3 100644
--- a/keyboards/synapse/rules.mk
+++ b/keyboards/p3d/synapse/rules.mk
diff --git a/keyboards/synapse/synapse.c b/keyboards/p3d/synapse/synapse.c
index 0b532eaab6..0b532eaab6 100644
--- a/keyboards/synapse/synapse.c
+++ b/keyboards/p3d/synapse/synapse.c
diff --git a/keyboards/tw40/config.h b/keyboards/p3d/tw40/config.h
index 99549d9efa..99549d9efa 100644
--- a/keyboards/tw40/config.h
+++ b/keyboards/p3d/tw40/config.h
diff --git a/keyboards/tw40/info.json b/keyboards/p3d/tw40/info.json
index 79f3d7fbaa..79f3d7fbaa 100644
--- a/keyboards/tw40/info.json
+++ b/keyboards/p3d/tw40/info.json
diff --git a/keyboards/tw40/keymaps/default/keymap.c b/keyboards/p3d/tw40/keymaps/default/keymap.c
index 11b3d0d6e9..11b3d0d6e9 100644
--- a/keyboards/tw40/keymaps/default/keymap.c
+++ b/keyboards/p3d/tw40/keymaps/default/keymap.c
diff --git a/keyboards/tw40/keymaps/default/readme.md b/keyboards/p3d/tw40/keymaps/default/readme.md
index 4dfa184e29..4dfa184e29 100644
--- a/keyboards/tw40/keymaps/default/readme.md
+++ b/keyboards/p3d/tw40/keymaps/default/readme.md
diff --git a/keyboards/tw40/keymaps/via/keymap.c b/keyboards/p3d/tw40/keymaps/via/keymap.c
index ffa7470bc1..ffa7470bc1 100644
--- a/keyboards/tw40/keymaps/via/keymap.c
+++ b/keyboards/p3d/tw40/keymaps/via/keymap.c
diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/rules.mk b/keyboards/p3d/tw40/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/rules.mk
+++ b/keyboards/p3d/tw40/keymaps/via/rules.mk
diff --git a/keyboards/p3d/tw40/readme.md b/keyboards/p3d/tw40/readme.md
new file mode 100644
index 0000000000..1019ca4914
--- /dev/null
+++ b/keyboards/p3d/tw40/readme.md
@@ -0,0 +1,19 @@
+# Training Wheel 40
+
+![tw40](https://cdn.shopify.com/s/files/1/0501/7537/7592/products/tw40_600x.jpg?v=1607835284)
+
+* Keyboard Maintainer: [KnoblesseOblige](https://github.com/KnoblesseOblige)
+* Hardware Supported: Training Wheel 40 PCB
+* Hardware Availability: https://p3dstore.com/products/tw40-gb
+
+Make example for this keyboard (after setting up your build environment):
+
+ make p3d/tw40:default
+
+To flash a new firmware plug in the keyboard while holding Esc (top left key) and then run the commands below.
+
+Flashing example for this keyboard:
+
+ make p3d/tw40:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/tw40/rules.mk b/keyboards/p3d/tw40/rules.mk
index 2eba275490..2eba275490 100644
--- a/keyboards/tw40/rules.mk
+++ b/keyboards/p3d/tw40/rules.mk
diff --git a/keyboards/pangorin/tan67/config.h b/keyboards/pangorin/tan67/config.h
deleted file mode 100644
index 9583631647..0000000000
--- a/keyboards/pangorin/tan67/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2023 Pangorin <https://github.com/pangorin>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#ifdef RGB_MATRIX_ENABLE
- /* RGB Matrix config */
- #define RGB_MATRIX_LED_COUNT 84
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#endif
diff --git a/keyboards/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h
deleted file mode 100644
index ede3d42de5..0000000000
--- a/keyboards/paprikman/albacore/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2021 paprikman
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 8
- #define RGB_DISABLE_WHEN_USB_SUSPENDED
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220
- #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define DISABLE_RGB_MATRIX_BAND_SAT
- #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define DISABLE_RGB_MATRIX_SPLASH
- #define DISABLE_RGB_MATRIX_MULTISPLASH
- #define DISABLE_RGB_MATRIX_SOLID_SPLASH
- #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
- #define DISABLE_RGB_MATRIX_DIGITAL_RAIN
-#endif
diff --git a/keyboards/paprikman/albacore/info.json b/keyboards/paprikman/albacore/info.json
index 5fad6237fa..bee94e84b1 100644
--- a/keyboards/paprikman/albacore/info.json
+++ b/keyboards/paprikman/albacore/info.json
@@ -9,7 +9,9 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 220,
+ "sleep": true
},
"matrix_pins": {
"cols": ["C6", "B6", "B5", "B4"],
diff --git a/keyboards/pauperboards/brick/info.json b/keyboards/pauperboards/brick/info.json
index 112a84ff1a..8ebe32ded4 100644
--- a/keyboards/pauperboards/brick/info.json
+++ b/keyboards/pauperboards/brick/info.json
@@ -23,8 +23,7 @@
"mousekey": true,
"nkro": true,
"encoder": true,
- "rgblight": true,
- "lto": true
+ "rgblight": true
},
"build": {
"lto": true
diff --git a/keyboards/pearl/keymaps/cijanzen/README.md b/keyboards/pearl/keymaps/cijanzen/README.md
deleted file mode 100644
index 745442955f..0000000000
--- a/keyboards/pearl/keymaps/cijanzen/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# cijanzen's Pearl 40%
-
-## Layout
-
-The firmware offers five layers:
-
-1. Base layer
-2. Numbers and arrows (Fn1)
-3. F-row and navigation (Fn2)
-4. Media and RGB controls (Fn3)
-5. Utils (Fn2+Fn3)
-
-A few specifics worth mentioning:
-- Autoshift has been enabled to allow for easier access of shifted keys
-- Tab will operate as tab key on tap and fn layer on hold
-- Indicator LEDs indicate the current layer
-
-
-![cijanzen's Pearl 40% layout](https://raw.githubusercontent.com/christopherjanzen/qmk_firmware/bab090ee24866e6c38892ffc5ffa53813aec3832/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg)
-
-Base for this firmware copied from jetpacktuxedo's and rask's QMK firmware
-
----
-
-## Compiling and flashing
-
-To compile and flash the HEX follow the [Pearl 40% instructions](https://gist.github.com/clee/a43f198a70de0e6dae22d7638b41440a).
-
-You might need to check the comments at the bottom of the gist as well.
diff --git a/keyboards/pearl/keymaps/cijanzen/config.h b/keyboards/pearl/keymaps/cijanzen/config.h
deleted file mode 100644
index 46e9b9f0af..0000000000
--- a/keyboards/pearl/keymaps/cijanzen/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#undef BACKLIGHT_LEVELS
-#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/pearl/keymaps/cijanzen/keymap.c b/keyboards/pearl/keymaps/cijanzen/keymap.c
deleted file mode 100644
index 1b23cab992..0000000000
--- a/keyboards/pearl/keymaps/cijanzen/keymap.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define ____ KC_TRNS
-// Tab on tap or Function layer 1 on hold
-#define FN_TAB LT(1, KC_TAB)
-#define KC_SLP KC_SYSTEM_SLEEP
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // BASE LAYER
- [0] = LAYOUT_all(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- FN_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2),
- KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_BSPC, KC_SPC, MO(3), MO(1)
- ),
- // BASE LAYER TWO (Fn1)
- [1] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_UP, KC_QUOT, KC_BSLS,
- ____, ____, ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_RGHT, KC_RSFT,
- ____, ____, ____, KC_DEL, KC_DEL, ____, KC_RGUI, ____
- ),
- // FROW LAYER AND ARROWS (Fn2)
- [2] = 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_PGUP, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, KC_HOME, KC_PGDN, KC_END, ____,
- MO(4), ____, ____, ____, ____, ____, ____, ____
- ),
- // MEDIA AND RGB (Fn3)
- [3] = LAYOUT_all(
- ____, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL,
- ____, ____, ____, RGB_HUI, RGB_SAI, RGB_VAI, ____, ____, ____, ____, ____, ____,
- ____, RGB_MOD, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_TOGG, BL_STEP, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____
- ),
- // UTIL (Fn1+Fn3)
- [4] = LAYOUT_all(
- KC_SLP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, QK_BOOT,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____
- ),
-};
-
-/**
- * Status LED layer indicators courtesy of jetpacktuxedo's firmware
- */
-layer_state_t layer_state_set_kb(layer_state_t state)
-{
- if (state & (1<<1)) { // if we are on layer 1
- PORTD |= (1 << PD0); // light num lock led
- } else if (state & (1<<2)) { // if we are on layer 2
-
- if (state & (1<<4)) {
- PORTD |= (1 << PD0); // light all indicator leds
- PORTD |= (1 << PD1);
- PORTD |= (1 << PD6);
- } else {
- PORTD &= ~(1 << PD0);
- PORTD |= (1 << PD1); // light caps lock led
- PORTD &= ~(1 << PD6);
- }
- } else if (state & (1<<3)) { // if we are on layer 3
- PORTD |= (1 << PD6); // light scroll lock led
- } else if (state & (1<<4)) { // if we are stuck on layer 4
- PORTD |= (1 << PD0); // light all indicator leds
- PORTD |= (1 << PD1);
- PORTD |= (1 << PD6);
- } else {
- PORTD &= ~(1 << PD0);
- PORTD &= ~(1 << PD1);
- PORTD &= ~(1 << PD6);
- }
-
- return state;
-}
diff --git a/keyboards/pearl/keymaps/cijanzen/rules.mk b/keyboards/pearl/keymaps/cijanzen/rules.mk
deleted file mode 100644
index 900468e149..0000000000
--- a/keyboards/pearl/keymaps/cijanzen/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# build options
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-# TAP_DANCE_ENABLE = yes
-AUTO_SHIFT_ENABLE = yes
diff --git a/keyboards/pearl/keymaps/phil/keymap.c b/keyboards/pearl/keymaps/phil/keymap.c
deleted file mode 100755
index 79dfd4ce37..0000000000
--- a/keyboards/pearl/keymaps/phil/keymap.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-Copyright 2017 Luiz Ribeiro <luizribeiro@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/>.
-*/
-
-// Layer shorthand
-#define COLEMAK 0
-#define QWERTY 1
-#define WIN 2
-#define _FN1 3
-#define _FN2 4
-#define LIGHT 5
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [COLEMAK] = LAYOUT_all(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_NO, KC_BSPC,
- LGUI_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- LSFT_T(KC_DEL), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
- KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_NO, LT(_FN2, KC_SPC), TG(QWERTY), TG(WIN)
- ),
- [QWERTY] = LAYOUT_all(
- KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, KC_TRNS,
- KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS,
- KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [WIN] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS,
- LCTL_T(KC_ESC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_MNXT, KC_NO, KC_PIPE, KC_PLUS, KC_LBRC, KC_RBRC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_TRNS,
- KC_TRNS, KC_MPLY, KC_SPC, KC_UNDS, KC_EQUAL, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_MPRV, KC_NO, KC_BSLS, KC_MINUS, KC_LCBR, KC_RCBR, KC_NO, KC_MUTE, KC_VOLU, KC_VOLD, KC_CAPS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_FN2] = LAYOUT_all(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_NO, 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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_CAPS,
- TG(LIGHT), KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [LIGHT] = LAYOUT_all(
- QK_BOOT, KC_NO, BL_ON, BL_UP, BL_BRTG, RGB_M_P, RGB_M_B, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO,
- KC_NO, KC_NO, BL_TOGG, BL_STEP, KC_NO, RGB_M_SN, RGB_M_K, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO,
- KC_NO, KC_NO, BL_OFF, BL_DOWN, KC_NO, KC_NO, KC_NO, RGB_RMOD, RGB_M_SW, RGB_M_R, RGB_M_G, KC_NO,
- TG(LIGHT), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-};
-
-layer_state_t layer_state_set_kb(layer_state_t state) {
- if (state & (1<<QWERTY)){
- PORTD &= ~(1 << PD0);
- } else {
- PORTD |= (1 << PD0);
- }
-
- if (state & (1<<WIN)){
- PORTD &= ~(1 << PD1);
- }
- else{
- PORTD |= (1 << PD1);
- }
-
- if (state & (1<<LIGHT)){
- PORTD &= ~(1 << PD6);
- }
- else{
- PORTD |= (1 << PD6);
- }
- return state;
-}
diff --git a/keyboards/pearl/keymaps/rask/.editorconfig b/keyboards/pearl/keymaps/rask/.editorconfig
deleted file mode 100644
index 866353dcd6..0000000000
--- a/keyboards/pearl/keymaps/rask/.editorconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-root = true
-
-[*.c]
-indent_size = 4
-indent_style = space
diff --git a/keyboards/pearl/keymaps/rask/README.md b/keyboards/pearl/keymaps/rask/README.md
deleted file mode 100644
index 79465ffd9d..0000000000
--- a/keyboards/pearl/keymaps/rask/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# rask's Pearl 40%
-
-## Layout
-
-The firmware offers five layers:
-
-1. Base layer
-2. Base with numbers and symbols (Fn1)
-3. Base with F-row and arrows (Fn2)
-4. Base with media and RGB controls (Fn3)
-5. More nav and utils (Fn2+Fn3, aka NavFn)
-
-![rask's Pearl 40% layout](https://i.imgur.com/gKVQapZ.png)
-
-Base for this firmware copied from jetpacktuxedo's QMK firmware.
-
----
-
-## Compiling and flashing
-
-To compile a HEX follow the Pearl 40% instructions.
-
-Flashing instructions also available at Pearl 40% instructions.
diff --git a/keyboards/pearl/keymaps/rask/keymap.c b/keyboards/pearl/keymaps/rask/keymap.c
deleted file mode 100644
index 1ab4badb51..0000000000
--- a/keyboards/pearl/keymaps/rask/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define ____ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // BASE LAYER
- [0] = LAYOUT_all(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(3),
- KC_LCTL, KC_LALT, KC_BSPC, MO(1), MO(1), KC_SPC, KC_RALT, KC_LGUI
- ),
- // BASE LAYER TWO (Fn1)
- [1] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_QUOT, KC_BSLS,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_RSFT,
- ____, ____, ____, ____, ____, ____, ____, ____
- ),
- // FROW LAYER AND ARROWS (Fn2)
- [2] = 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_UP, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN,KC_RGHT, MO(4),
- ____, ____, ____, ____, ____, ____, ____, ____
- ),
- // MEDIA AND RGB (Fn3)
- [3] = LAYOUT_all(
- ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_MPRV,KC_MPLY, KC_MNXT, KC_DEL,
- ____, ____, ____, RGB_HUI, RGB_SAI,RGB_VAI,____, ____, ____, ____, ____, ____,
- ____, RGB_MOD, RGB_TOG, RGB_HUD, RGB_SAD,RGB_VAD,____, ____, ____, ____, ____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____
- ),
- // UTIL (Fn1+Fn3)
- [4] = LAYOUT_all(
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP,____, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, KC_HOME, KC_PGDN,KC_END, ____,
- QK_BOOT, ____, ____, ____, ____, ____, ____, ____
- ),
-};
-
-/**
- * Status LED layer indicators courtesy of jetpacktuxedo's firmware
- */
-layer_state_t layer_state_set_kb(layer_state_t state)
-{
- // if we are on layer 1
- if (state & (1<<1)){
- // light num lock led
- PORTD |= (1 << PD0);
- } else{
- PORTD &= ~(1 << PD0);
- }
-
- // if we are on layer 2
- if (state & (1<<2)){
- // light caps lock led
- PORTD |= (1 << PD1);
- } else{
- PORTD &= ~(1 << PD1);
- }
-
- // if we are on layer 3
- if (state & (1<<3)){
- // light scroll lock led
- PORTD |= (1 << PD6);
- } else{
- PORTD &= ~(1 << PD6);
- }
-
- /*
- // if we are on layer 4
- if (state & (1<<4)){
- // light all leds
- PORTD |= (1 << PD0);
- PORTD |= (1 << PD1);
- PORTD |= (1 << PD6);
- } else{
- PORTD &= ~(1 << PD0);
- PORTD &= ~(1 << PD1);
- PORTD &= ~(1 << PD6);
- }
- */
-
- return state;
-}
diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h
index 062ba8102e..1f54b79bd0 100644
--- a/keyboards/percent/canoe_gen2/config.h
+++ b/keyboards/percent/canoe_gen2/config.h
@@ -21,59 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* Backlight configuration
- */
-#define RGB_MATRIX_LED_COUNT 77
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/info.json
index 0cdb8f9819..0fe5d0e894 100644
--- a/keyboards/percent/canoe_gen2/info.json
+++ b/keyboards/percent/canoe_gen2/info.json
@@ -12,7 +12,40 @@
"pin": "B7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "D0", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "F6", "F7"],
diff --git a/keyboards/percent/skog_lite/keymaps/binman/keymap.c b/keyboards/percent/skog_lite/keymaps/binman/keymap.c
deleted file mode 100755
index 67f74eeb90..0000000000
--- a/keyboards/percent/skog_lite/keymaps/binman/keymap.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG, MO(1),
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, KC_VOLU, KC_MPLY,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_MRWD, KC_VOLD, KC_MFFD,
- KC_CAPS, KC_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_NO, KC_LGUI, KC_SPC, KC_RGUI, KC_NO, KC_RALT, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, RGB_RMOD, KC_TRNS,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_HUI, RGB_SAI,
- KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_HUD, RGB_SAD,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPI,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, KC_NO
- )
-};
diff --git a/keyboards/percent/skog_lite/keymaps/binman/readme.md b/keyboards/percent/skog_lite/keymaps/binman/readme.md
deleted file mode 100755
index d4bf1929d6..0000000000
--- a/keyboards/percent/skog_lite/keymaps/binman/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# binman Skog Lite layout
-
-This mostly just changes the "TKL" section of the board to be media and lighting controls. Bottom row has also been modified a bit. \ No newline at end of file
diff --git a/keyboards/phage_studio/pila87/config.h b/keyboards/phage_studio/pila87/config.h
deleted file mode 100644
index 2f4f0fac76..0000000000
--- a/keyboards/phage_studio/pila87/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2022 Phage Studio
- * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 91
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
- #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- /* RGB Matrix effect */
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
- #define ENABLE_RGB_MATRIX_CYCLE_ALL
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
- #define ENABLE_RGB_MATRIX_DUAL_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
- #define ENABLE_RGB_MATRIX_RAINDROPS
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
- #define ENABLE_RGB_MATRIX_HUE_BREATHING
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM
- #define ENABLE_RGB_MATRIX_HUE_WAVE
- #define ENABLE_RGB_MATRIX_PIXEL_RAIN
- #define ENABLE_RGB_MATRIX_PIXEL_FLOW
- #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
diff --git a/keyboards/phage_studio/pila87/info.json b/keyboards/phage_studio/pila87/info.json
index c7157bc573..4d12cf2573 100644
--- a/keyboards/phage_studio/pila87/info.json
+++ b/keyboards/phage_studio/pila87/info.json
@@ -9,7 +9,53 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"processor": "STM32F103",
"bootloader": "stm32duino",
diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h
deleted file mode 100644
index 8724fc556d..0000000000
--- a/keyboards/phase_studio/titan65/hotswap/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 67
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/info.json
index a455235168..2c1f3e2854 100644
--- a/keyboards/phase_studio/titan65/hotswap/info.json
+++ b/keyboards/phase_studio/titan65/hotswap/info.json
@@ -12,7 +12,8 @@
"pin": "E6"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 150
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "F0", "F1", "C7", "F4", "F5", "F6"],
diff --git a/keyboards/phentech/rpk_001/config.h b/keyboards/phentech/rpk_001/config.h
index baa207f065..1e3198dacb 100644
--- a/keyboards/phentech/rpk_001/config.h
+++ b/keyboards/phentech/rpk_001/config.h
@@ -4,9 +4,8 @@
#pragma once
/* RGB Config */
-#define DRIVER_1_CS B6
-#define DRIVER_1_EN B7
-#define RGB_MATRIX_LED_COUNT 67
+#define AW20216S_CS_PIN_1 B6
+#define AW20216S_EN_PIN B7
/* SPI Config */
#define SPI_DRIVER SPIDQ
@@ -16,9 +15,3 @@
/* SPI Flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
-
-/* RGB Matrix */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
diff --git a/keyboards/phentech/rpk_001/info.json b/keyboards/phentech/rpk_001/info.json
index d047c36456..d61c83607a 100644
--- a/keyboards/phentech/rpk_001/info.json
+++ b/keyboards/phentech/rpk_001/info.json
@@ -42,9 +42,8 @@
"on_state": 0
},
"rgb_matrix": {
- "driver": "aw20216",
+ "driver": "aw20216s",
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -161,7 +160,9 @@
{ "flags": 1, "matrix": [4, 11], "x": 192, "y": 64},
{ "flags": 1, "matrix": [4, 13], "x": 208, "y": 64},
{ "flags": 1, "matrix": [4, 14], "x": 224, "y": 64}
- ]
+ ],
+ "react_on_keyup": true,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/phentech/rpk_001/rpk_001.c b/keyboards/phentech/rpk_001/rpk_001.c
index 9f1a118759..5ccd8d7393 100644
--- a/keyboards/phentech/rpk_001/rpk_001.c
+++ b/keyboards/phentech/rpk_001/rpk_001.c
@@ -7,84 +7,84 @@
// clang-format off
-const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 1 1
- {0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 2 2
- {0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 3 3
- {0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 4 4
- {0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 5 5
- {0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 6 6
- {0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 7 7
- {0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 8 8
- {0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 9 9
- {0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 10 0
- {0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 11 -
- {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 12 =
- {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 13 Backspace
+ {0, SW1_CS1, SW1_CS2, SW1_CS3 }, // 0 Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3 }, // 1 1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3 }, // 2 2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3 }, // 3 3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3 }, // 4 4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3 }, // 5 5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3 }, // 6 6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3 }, // 7 7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3 }, // 8 8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3 }, // 9 9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3 }, // 10 0
+ {0, SW12_CS1, SW12_CS2, SW12_CS3 }, // 11 -
+ {0, SW1_CS16, SW1_CS17, SW1_CS18 }, // 12 =
+ {0, SW2_CS16, SW2_CS17, SW2_CS18 }, // 13 Backspace
- {0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 14 Tab
- {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 15 Q
- {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 16 W
- {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 17 E
- {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 18 R
- {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 19 T
- {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 20 Y
- {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 21 U
- {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 22 I
- {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 23 O
- {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 24 P
- {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 25 [
- {0, CS16_SW4, CS17_SW4, CS18_SW4 }, // 26 ]
- {0, CS16_SW5, CS17_SW5, CS18_SW5 }, // 27 \|
- {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 28 Del
+ {0, SW1_CS4, SW1_CS5, SW1_CS6 }, // 14 Tab
+ {0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 15 Q
+ {0, SW3_CS4, SW3_CS5, SW3_CS6 }, // 16 W
+ {0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 17 E
+ {0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 18 R
+ {0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 19 T
+ {0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 20 Y
+ {0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 21 U
+ {0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 22 I
+ {0, SW10_CS4, SW10_CS5, SW10_CS6 }, // 23 O
+ {0, SW11_CS4, SW11_CS5, SW11_CS6 }, // 24 P
+ {0, SW12_CS4, SW12_CS5, SW12_CS6 }, // 25 [
+ {0, SW4_CS16, SW4_CS17, SW4_CS18 }, // 26 ]
+ {0, SW5_CS16, SW5_CS17, SW5_CS18 }, // 27 \|
+ {0, SW3_CS16, SW3_CS17, SW3_CS18 }, // 28 Del
- {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 29 Caps Lock
- {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 30 A
- {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 31 S
- {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 32 D
- {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 33 F
- {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 34 G
- {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 35 H
- {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 36 J
- {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 37 K
- {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 38 L
- {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 39 ;
- {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 40 '
- {0, CS16_SW7, CS17_SW7, CS18_SW7 }, // 41 Enter
- {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 42 Home
+ {0, SW1_CS7, SW1_CS8, SW1_CS9 }, // 29 Caps Lock
+ {0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 30 A
+ {0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 31 S
+ {0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 32 D
+ {0, SW5_CS7, SW5_CS8, SW5_CS9 }, // 33 F
+ {0, SW6_CS7, SW6_CS8, SW6_CS9 }, // 34 G
+ {0, SW7_CS7, SW7_CS8, SW7_CS9 }, // 35 H
+ {0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 36 J
+ {0, SW9_CS7, SW9_CS8, SW9_CS9 }, // 37 K
+ {0, SW10_CS7, SW10_CS8, SW10_CS9 }, // 38 L
+ {0, SW11_CS7, SW11_CS8, SW11_CS9 }, // 39 ;
+ {0, SW12_CS7, SW12_CS8, SW12_CS9 }, // 40 '
+ {0, SW7_CS16, SW7_CS17, SW7_CS18 }, // 41 Enter
+ {0, SW6_CS16, SW6_CS17, SW6_CS18 }, // 42 Home
- {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 43 Shift_L
- {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 44 Z
- {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 45 X
- {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 46 C
- {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 47 V
- {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 48 B
- {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 49 N
- {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 50 M
- {0, CS10_SW10, CS11_SW10, CS12_SW10 }, // 51 ,
- {0, CS10_SW11, CS11_SW11, CS12_SW11 }, // 52 .
- {0, CS10_SW12, CS11_SW12, CS12_SW12 }, // 53 /
- {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 54 Shift_R
- {0, CS16_SW10, CS17_SW10, CS18_SW10 }, // 55 Up
- {0, CS16_SW8, CS17_SW8, CS18_SW8 }, // 56 END
+ {0, SW1_CS10, SW1_CS11, SW1_CS12 }, // 43 Shift_L
+ {0, SW3_CS10, SW3_CS11, SW3_CS12 }, // 44 Z
+ {0, SW4_CS10, SW4_CS11, SW4_CS12 }, // 45 X
+ {0, SW5_CS10, SW5_CS11, SW5_CS12 }, // 46 C
+ {0, SW6_CS10, SW6_CS11, SW6_CS12 }, // 47 V
+ {0, SW7_CS10, SW7_CS11, SW7_CS12 }, // 48 B
+ {0, SW8_CS10, SW8_CS11, SW8_CS12 }, // 49 N
+ {0, SW9_CS10, SW9_CS11, SW9_CS12 }, // 50 M
+ {0, SW10_CS10, SW10_CS11, SW10_CS12 }, // 51 ,
+ {0, SW11_CS10, SW11_CS11, SW11_CS12 }, // 52 .
+ {0, SW12_CS10, SW12_CS11, SW12_CS12 }, // 53 /
+ {0, SW9_CS16, SW9_CS17, SW9_CS18 }, // 54 Shift_R
+ {0, SW10_CS16, SW10_CS17, SW10_CS18 }, // 55 Up
+ {0, SW8_CS16, SW8_CS17, SW8_CS18 }, // 56 END
- {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 57 Ctrl_L
- {0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 58 Win_L
- {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 59 Alt_L
- {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 60 Space
- {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 61 Alt_R
- {0, CS13_SW10, CS14_SW10, CS15_SW10 }, // 62 Ctrl_R
- {0, CS13_SW11, CS14_SW11, CS15_SW11 }, // 63 FN
- {0, CS13_SW12, CS14_SW12, CS15_SW12 }, // 64 Left
- {0, CS16_SW12, CS17_SW12, CS18_SW12 }, // 65 Down
- {0, CS16_SW11, CS17_SW11, CS18_SW11 }, // 66 Right
+ {0, SW1_CS13, SW1_CS14, SW1_CS15 }, // 57 Ctrl_L
+ {0, SW2_CS13, SW2_CS14, SW2_CS15 }, // 58 Win_L
+ {0, SW3_CS13, SW3_CS14, SW3_CS15 }, // 59 Alt_L
+ {0, SW6_CS13, SW6_CS14, SW6_CS15 }, // 60 Space
+ {0, SW9_CS13, SW9_CS14, SW9_CS15 }, // 61 Alt_R
+ {0, SW10_CS13, SW10_CS14, SW10_CS15 }, // 62 Ctrl_R
+ {0, SW11_CS13, SW11_CS14, SW11_CS15 }, // 63 FN
+ {0, SW12_CS13, SW12_CS14, SW12_CS15 }, // 64 Left
+ {0, SW12_CS16, SW12_CS17, SW12_CS18 }, // 65 Down
+ {0, SW11_CS16, SW11_CS17, SW11_CS18 }, // 66 Right
};
// clang-format on
diff --git a/keyboards/phoenix/phoenix.c b/keyboards/phoenix/phoenix.c
index 706a65b4de..e870f987f4 100644
--- a/keyboards/phoenix/phoenix.c
+++ b/keyboards/phoenix/phoenix.c
@@ -2,7 +2,7 @@
#include "usb_main.h"
#include "phoenix.h"
-void bootmagic_lite(void) {
+void bootmagic_scan(void) {
matrix_scan();
wait_ms(5);
matrix_scan();
diff --git a/keyboards/pica40/keymaps/zzeneg/config.h b/keyboards/pica40/keymaps/zzeneg/config.h
deleted file mode 100644
index f29f5ba1a7..0000000000
--- a/keyboards/pica40/keymaps/zzeneg/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define TAPPING_FORCE_HOLD
-#define TAPPING_FORCE_HOLD_PER_KEY
-#define TAPPING_TERM 150
-#define TAPPING_TERM_PER_KEY
-
-#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
diff --git a/keyboards/pica40/keymaps/zzeneg/keymap.c b/keyboards/pica40/keymaps/zzeneg/keymap.c
deleted file mode 100644
index ea73ef0e21..0000000000
--- a/keyboards/pica40/keymaps/zzeneg/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_number {
- _QWERTY = 0,
- _GAME,
- _NAV,
- _NUMBER,
- _SYMBOL,
- _FUNC
-};
-
-// Left-hand home row mods
-#define HOME_A LGUI_T(KC_A)
-#define HOME_S LALT_T(KC_S)
-#define HOME_D LCTL_T(KC_D)
-#define HOME_F LSFT_T(KC_F)
-
-// Right-hand home row mods
-#define HOME_J RSFT_T(KC_J)
-#define HOME_K RCTL_T(KC_K)
-#define HOME_L LALT_T(KC_L)
-#define HOME_SCLN RGUI_T(KC_SCLN)
-
-// bottom mods
-#define SYM_SPC LT(_SYMBOL, KC_SPC)
-#define NUM_TAB LT(_NUMBER, KC_TAB)
-#define FUNC_ESC LT(_FUNC, KC_ESC)
-#define FUNC_ENT LT(_FUNC, KC_ENT)
-#define NAV_BSPC LT(_NAV, KC_BSPC)
-#define RALT_DEL RALT_T(KC_DEL)
-
-// game layer mods
-#define LALT_EQL LALT_T(KC_EQL)
-#define LSFT_MINS LSFT_T(KC_MINS)
-#define LCTL_ESC LCTL_T(KC_ESC)
-#define LGUI_QUOT LGUI_T(KC_QUOT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * .----------------------------------. ,----------------------------------.
- * | Q | W | E | R | T | | Y | U | I | O | P |
- * .------+------+------+------+------+------| |------+------+------+------+------+------.
- * | = | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | - | Z | X | C | V | B |-------. .-------| N | M | , | . | / | ` |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Esc | Tab | / Space / \ Enter \ | Bsps | Del |
- * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | RAlt |
- * `-------------''-------' '-------''-------------'
- */
- [_QWERTY] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_EQL, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_SCLN, KC_QUOT,
- KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_GRV,
- FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL
- ),
-
- [_GAME] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- LALT_EQL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LGUI_QUOT,
- LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_GAME),
- LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL
- ),
-
- [_NAV] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX,
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, LALT(KC_UP), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_INS,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LALT(KC_DOWN), KC_HOME, KC_END, KC_APP, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX
- ),
-
- [_NUMBER] = LAYOUT(
- KC_BSLS, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, KC_COMM, KC_4, KC_5, KC_6, KC_LBRC, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_ENT, KC_DOT, KC_1, KC_2, KC_3, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_BSPC, _______, TG(_GAME), XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [_SYMBOL] = LAYOUT(
- LSFT(KC_BSLS), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, LSFT(KC_COMM), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_LBRC), XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_ENT, LSFT(KC_DOT), LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_BSPC, _______, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- [_FUNC] = LAYOUT(
- KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LCTL, KC_F11, KC_F4, KC_F5, KC_F6, KC_PAUS, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_DEL, KC_F10, KC_F1, KC_F2, KC_F3, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, XXXXXXX
- )
-};
-
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // allow multiple space, backspace, delete
- case SYM_SPC:
- case NAV_BSPC:
- case RALT_DEL:
- return false;
- default:
- return true;
- }
-}
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- // different tapping term for different fingers
- switch (keycode) {
- // pinkies
- case HOME_A:
- case HOME_SCLN:
- return TAPPING_TERM + 70;
- // ring
- case HOME_S:
- case HOME_L:
- return TAPPING_TERM + 40;
- // middle
- case HOME_D:
- case HOME_K:
- return TAPPING_TERM + 20;
- // index and thumb
- default:
- return TAPPING_TERM;
- }
-}
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_NAV] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_NUMBER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_SYMBOL] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_FUNC] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
-};
-#endif // ENCODER_MAP_ENABLE
-
-#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
-
-const rgblight_segment_t PROGMEM game_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_ORANGE});
-const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_PURPLE});
-const rgblight_segment_t PROGMEM capslockword_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_MAGENTA});
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(game_layer, capslock_layer, capslockword_layer);
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(1, led_state.caps_lock);
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _GAME));
- return state;
-}
-
-void caps_word_set_user(bool active) {
- rgblight_set_layer_state(2, active);
-}
-
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-#endif // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
-
-#ifdef OLED_ENABLE
-
-void render_layer(void) {
- switch (get_highest_layer(layer_state)) {
- case _NUMBER:
- oled_write_ln_P(PSTR("NMBR"), false);
- break;
- case _SYMBOL:
- oled_write_ln_P(PSTR("SMBL"), false);
- break;
- case _NAV:
- oled_write_ln_P(PSTR("NAV"), false);
- break;
- case _FUNC:
- oled_write_ln_P(PSTR("FUNC"), false);
- break;
- default:
- oled_write_ln_P(PSTR(" "), false);
- break;
- }
-}
-
-bool oled_task_user(void) {
- render_layer();
- return true;
-}
-
-#endif // OLED_ENABLE
-
diff --git a/keyboards/pica40/keymaps/zzeneg/rules.mk b/keyboards/pica40/keymaps/zzeneg/rules.mk
deleted file mode 100644
index afd8d2c6bf..0000000000
--- a/keyboards/pica40/keymaps/zzeneg/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-CAPS_WORD_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/pica40/rev2/post_rules.mk b/keyboards/pica40/rev2/post_rules.mk
deleted file mode 100644
index e4dda1925b..0000000000
--- a/keyboards/pica40/rev2/post_rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# if ENCODER_ENABLE is set, add defines but avoid adding encoder.c as it's replaced by custom code in rev2.c
-ifeq ($(strip $(ENCODER_ENABLE)), yes)
- ENCODER_ENABLE := no
- OPT_DEFS += -DENCODER_ENABLE
- ifeq ($(strip $(ENCODER_MAP_ENABLE)), yes)
- OPT_DEFS += -DENCODER_MAP_ENABLE
- endif
-endif
diff --git a/keyboards/pica40/rev2/rev2.c b/keyboards/pica40/rev2/rev2.c
index c585ec56d6..2ee73dcc6b 100644
--- a/keyboards/pica40/rev2/rev2.c
+++ b/keyboards/pica40/rev2/rev2.c
@@ -2,99 +2,29 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "rev2.h"
+#include "gpio.h"
#ifdef ENCODER_ENABLE // code based on encoder.c
-static const pin_t encoders_pad_a[] = ENCODERS_PAD_A;
-static const pin_t encoders_pad_b[] = ENCODERS_PAD_B;
-
-static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
-static uint8_t encoder_state = 3;
-static int8_t encoder_pulses = 0;
-static uint8_t encoder_value = 0;
-
-typedef struct encoder_sync_data {
- int value;
-} encoder_sync_data;
+#define ENCODER_PIN_A (((pin_t[])ENCODERS_PAD_A)[0])
+#define ENCODER_PIN_B (((pin_t[])ENCODERS_PAD_B)[0])
// custom handler that returns encoder B pin status from slave side
void encoder_sync_slave_handler(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) {
- encoder_sync_data *data = (encoder_sync_data *)out_data;
- data->value = readPin(encoders_pad_b[0]);
-}
-
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
- return true;
+ *(uint8_t *)out_data = readPin(ENCODER_PIN_B) ? 1 : 0;
}
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) return false;
-
- tap_code(clockwise ? KC_VOLU : KC_VOLD);
+void encoder_quadrature_init_pin(uint8_t index, bool pad_b) {}
- return false;
-}
-
-#ifdef ENCODER_MAP_ENABLE
-static void encoder_exec_mapping(uint8_t index, bool clockwise) {
- action_exec(clockwise ? ENCODER_CW_EVENT(index, true) : ENCODER_CCW_EVENT(index, true));
- wait_ms(ENCODER_MAP_KEY_DELAY);
- action_exec(clockwise ? ENCODER_CW_EVENT(index, false) : ENCODER_CCW_EVENT(index, false));
- wait_ms(ENCODER_MAP_KEY_DELAY);
-}
-#endif // ENCODER_MAP_ENABLE
-
-void encoder_init(void) {
- setPinInputHigh(encoders_pad_a[0]);
- setPinInputHigh(encoders_pad_b[0]);
- wait_us(100);
- transaction_register_rpc(ENCODER_SYNC, encoder_sync_slave_handler);
-}
-
-bool encoder_read(void) {
- // ignore if running on slave side
- if (!is_keyboard_master()) return false;
-
- bool changed = false;
- encoder_sync_data data = {0};
- // request pin B status from slave side
- if (transaction_rpc_recv(ENCODER_SYNC, sizeof(data), &data)) {
- uint8_t new_status = (readPin(encoders_pad_a[0]) << 0) | (data.value << 1);
- if ((encoder_state & 0x3) != new_status) {
- encoder_state <<= 2;
- encoder_state |= new_status;
- encoder_pulses += encoder_LUT[encoder_state & 0xF];
-
- if (encoder_pulses >= ENCODER_RESOLUTION) {
- encoder_value++;
- changed = true;
-#ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(0, false);
-#else // ENCODER_MAP_ENABLE
- encoder_update_kb(0, false);
-#endif // ENCODER_MAP_ENABLE
- }
-
- if (encoder_pulses <= -ENCODER_RESOLUTION) {
- encoder_value--;
- changed = true;
-#ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(0, true);
-#else // ENCODER_MAP_ENABLE
- encoder_update_kb(0, true);
-#endif // ENCODER_MAP_ENABLE
- }
-
- encoder_pulses %= ENCODER_RESOLUTION;
- }
+uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) {
+ if(pad_b) {
+ uint8_t data = 0;
+ transaction_rpc_recv(ENCODER_SYNC, sizeof(data), &data);
+ return data;
}
- return changed;
+ return readPin(ENCODER_PIN_A) ? 1 : 0;
}
-// do not use standard split encoder transactions
-void encoder_state_raw(uint8_t *slave_state) {}
-void encoder_update_raw(uint8_t *slave_state) {}
-
#endif // ENCODER_ENABLE
#ifdef PICA40_RGBLIGHT_TIMEOUT
@@ -125,6 +55,12 @@ bool should_set_rgblight = false;
void keyboard_post_init_kb(void) {
setPinOutput(PICA40_RGB_POWER_PIN);
+#ifdef ENCODER_ENABLE
+ setPinInputHigh(ENCODER_PIN_A);
+ setPinInputHigh(ENCODER_PIN_B);
+ transaction_register_rpc(ENCODER_SYNC, encoder_sync_slave_handler);
+#endif // ENCODER_ENABLE
+
#ifdef PICA40_RGBLIGHT_TIMEOUT
idle_timer = timer_read();
check_rgblight_timer = timer_read();
diff --git a/keyboards/pico/65keys/keymaps/default/config.h b/keyboards/pico/65keys/keymaps/default/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/pico/65keys/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/pico/65keys/keymaps/default/keymap.c b/keyboards/pico/65keys/keymaps/default/keymap.c
deleted file mode 100644
index eb0ea05fc2..0000000000
--- a/keyboards/pico/65keys/keymaps/default/keymap.c
+++ /dev/null
@@ -1,46 +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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-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_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_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_INT3 ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_GRV ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,KC_CIRC ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/pico/65keys/keymaps/jis/config.h b/keyboards/pico/65keys/keymaps/jis/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/pico/65keys/keymaps/jis/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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
diff --git a/keyboards/pico/65keys/keymaps/jis/keymap.c b/keyboards/pico/65keys/keymaps/jis/keymap.c
deleted file mode 100644
index 9f3f640f01..0000000000
--- a/keyboards/pico/65keys/keymaps/jis/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include QMK_KEYBOARD_H
-#include"keymap_japanese.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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-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_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_CIRC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,JP_COLN ,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_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,JP_YEN ,JP_TILD ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,JP_GRV ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,JP_UNDS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,_______ ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/pico/70keys/keymaps/default/keymap.c b/keyboards/pico/70keys/keymaps/default/keymap.c
deleted file mode 100644
index 3c3ab50c17..0000000000
--- a/keyboards/pico/70keys/keymaps/default/keymap.c
+++ /dev/null
@@ -1,46 +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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_ESC ,KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,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_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,KC_ASTR ,KC_TILD ,KC_INT3 ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,KC_GRV ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,KC_CIRC ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,KC_UNDS ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/pico/70keys/keymaps/jis/keymap.c b/keyboards/pico/70keys/keymaps/jis/keymap.c
deleted file mode 100644
index 5727cb7841..0000000000
--- a/keyboards/pico/70keys/keymaps/jis/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include QMK_KEYBOARD_H
-#include"keymap_japanese.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 _SYMB 1
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define KC_ALES LALT_T(KC_ESC)
-#define KC_L1SYM LT(_SYMB, KC_LNG1)
-#define KC_L2SYM LT(_SYMB, KC_LNG2)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_GRV ,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_BSPC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,JP_AT ,JP_CIRC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,JP_COLN ,KC_ENT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- KC_LSFT ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_UP ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- KC_ALES ,KC_ALES ,KC_ENT ,KC_DEL ,KC_LGUI ,KC_L2SYM,KC_SPC , KC_SPC ,KC_L1SYM,KC_RGUI ,KC_DEL ,KC_LEFT ,KC_DOWN ,KC_RGHT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = 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_LPRN ,KC_RPRN ,KC_PIPE ,JP_YEN ,JP_TILD ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LBRC ,KC_RBRC ,KC_DOT ,KC_SLSH ,JP_GRV ,KC_MINS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┬────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_LCBR ,KC_RCBR ,_______ ,_______ ,_______ ,JP_UNDS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┴────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,KC_LT ,_______ ,KC_GT
- //└────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/pico/readme.md b/keyboards/pico/readme.md
deleted file mode 100644
index 891bb174fe..0000000000
--- a/keyboards/pico/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Pico keyboard
-
-A split keyboard kit designed for small hands.
-Pico adopted the footprint for [Kailh Mid-Height](http://www.kailh.com/en/Products/Ks/KHS/) smaller than Cherry MX compatible switches.
-
-* Keyboard Maintainer: [Kumao Kobo](https://github.com/kumaokobo)
-* Hardware Supported: Pico PCB rev1.0 w/ Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
- make pico/65keys:default
-
-## 65 keys
-<p align="center">
- <img src="https://raw.githubusercontent.com/kumaokobo/pico-keyboard/master/img/pico-keyboard.jpg" alt="Pico Keyboard 65 keys" width="600"/>
-</p>
-
-## 70 keys
-<p align="center">
- <img src="https://raw.githubusercontent.com/kumaokobo/pico-keyboard/master/img/pico-keyboard2.jpg" alt="Pico Keyboard 70 keys" width="600"/>
-</p>
-
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/pico/rules.mk b/keyboards/pico/rules.mk
deleted file mode 100644
index fac3912a25..0000000000
--- a/keyboards/pico/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-SPLIT_KEYBOARD = yes
-
-DEFAULT_FOLDER = pico/65keys
diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h
deleted file mode 100644
index ecc59f31bd..0000000000
--- a/keyboards/pierce/keymaps/durken1/config.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2022 durken (https://github.com/durken1/)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// default but important
-#define TAPPING_TERM 220
-
-// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define QUICK_TAP_TERM 0
-
-#define PERMISSIVE_HOLD
-
-// Combo settings
-#define COMBO_TERM 35
-
-#ifdef PS2_DRIVER_USART
-#define PS2_CLOCK_PIN D5
-#define PS2_DATA_PIN D2
-
-/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
-/* set DDR of CLOCK as input to be slave */
-#define PS2_MOUSE_ROTATE 270 // compensate for east-facing device orientation
-#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
-
-#ifdef AUTO_BUTTONS
- #define AUTO_BUTTONS_TIMEOUT 750
-#endif
diff --git a/keyboards/pierce/keymaps/durken1/keymap.c b/keyboards/pierce/keymaps/durken1/keymap.c
deleted file mode 100644
index 5bc2f4d307..0000000000
--- a/keyboards/pierce/keymaps/durken1/keymap.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Copyright 2022 durken (https://github.com/durken1/)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_swedish.h"
-
-enum layers {
- BASE,
- MBO,
- SYM,
- NUM,
- FN
-};
-
-enum combos {
- WF_ARNG,
- EI_ADIA,
- UK_ODIA
-};
-
-#if defined PS2_MOUSE_ENABLE
-#include "ps2_mouse.h"
-#endif
-
-#if defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE
-
-static uint16_t auto_buttons_timer;
-extern int tp_buttons; // mousekey button state set in action.c and used in ps2_mouse.c
-
-void ps2_mouse_moved_user(report_mouse_t *mouse_report) {
- if (auto_buttons_timer) {
- auto_buttons_timer = timer_read();
- } else {
- if (!tp_buttons) {
- layer_on(MBO);
- auto_buttons_timer = timer_read();
- }
- }
-}
-
-void matrix_scan_user(void) {
- if (auto_buttons_timer && (timer_elapsed(auto_buttons_timer) > AUTO_BUTTONS_TIMEOUT)) {
- if (!tp_buttons) {
- layer_off(MBO);
- auto_buttons_timer = 0;
- }
- }
-}
-
-#endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE
-
-// Left-hand home row mods
-#define GUI_A LGUI_T(KC_A)
-#define ALT_R LALT_T(KC_R)
-#define SFT_S LSFT_T(KC_S)
-#define CTRL_T LCTL_T(KC_T)
-
-// Right-hand home row mods
-#define CTL_N RCTL_T(KC_N)
-#define SFT_E RSFT_T(KC_E)
-#define ALT_I LALT_T(KC_I)
-#define GUI_O LGUI_T(KC_O)
-
-#define NUM_SPC LT(NUM, KC_SPC)
-#define FN_ENT LT(FN, KC_ENT)
-#define SYM_BSP LT(SYM, KC_BSPC)
-
-const uint16_t PROGMEM arng_combo[] = {ALT_R, SFT_S, COMBO_END};
-const uint16_t PROGMEM adia_combo[] = {SFT_E, ALT_I, COMBO_END};
-const uint16_t PROGMEM odia_combo[] = {SE_U, SE_K, COMBO_END};
-
-combo_t key_combos[] = {
- [WF_ARNG] = COMBO(arng_combo, SE_ARNG),
- [EI_ADIA] = COMBO(adia_combo, SE_ADIA),
- [UK_ODIA] = COMBO(odia_combo, SE_ODIA)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_split_3x5_3(
- // BASE
- //,--------------------------------------------, ,--------------------------------------------.
- SE_Q, SE_W, SE_F, SE_P, SE_B, SE_Y, SE_L, SE_U, SE_K, SE_QUOT,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- GUI_A, ALT_R, SFT_S, CTRL_T, SE_G, SE_M, CTL_N, SFT_E, ALT_I, GUI_O,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- SE_Z, SE_X, SE_C, SE_D, SE_V, SE_J, SE_H, SE_COMM, SE_DOT, SE_MINS,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_ESC, NUM_SPC, KC_TAB, FN_ENT, SYM_BSP, KC_DEL
- //`--------------------------' '--------------------------'
-
- ),
-
-
- [MBO] = LAYOUT_split_3x5_3(
- // Mouse
- //,--------------------------------------------, ,--------------------------------------------.
- _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, KC_BSPC, _______
- //`--------------------------' '--------------------------'
-
- ),
-
- [SYM] = LAYOUT_split_3x5_3(
- // Symbols
- //,--------------------------------------------, ,--------------------------------------------.
- SE_SECT, SE_ACUT, SE_SLSH, SE_TILD, _______, _______, SE_PIPE, SE_BSLS, SE_DIAE, SE_CIRC,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- SE_EXLM, SE_DLR, SE_LPRN, SE_LBRC, _______, _______, SE_RBRC, SE_RPRN, SE_HASH, SE_QUES,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- _______, SE_PERC, SE_LCBR, SE_LABK, _______, _______, SE_RABK, SE_RCBR, SE_AMPR, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- SE_AT, SE_EQL, SE_DQUO, _______, _______, _______
- //`--------------------------' '--------------------------'
- ),
-
- [NUM] = LAYOUT_split_3x5_3(
- // Numbers
- //,--------------------------------------------, ,--------------------------------------------.
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, SE_7, SE_8, SE_9, SE_QUOT,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- SE_PLUS, SE_MINS, SE_ASTR, SE_SLSH, SE_CIRC, _______, SE_4, SE_5, SE_6, _______,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- _______, _______, KC_VOLD, KC_VOLU, _______, KC_SPC, SE_1, SE_2, SE_3, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, SE_COMM, SE_0, SE_DOT
- //`--------------------------' '--------------------------'
- ),
-
- [FN] = LAYOUT_split_3x5_3(
- // FN
- //,--------------------------------------------, ,--------------------------------------------.
- _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_PSCR, KC_CAPS, _______, _______, _______, _______
- //`--------------------------' '--------------------------'
- )
-};
diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk
deleted file mode 100644
index bea18c02d1..0000000000
--- a/keyboards/pierce/keymaps/durken1/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-EXTRAKEY_ENABLE = yes
-TRACKPOINT = yes
-AUTO_BUTTONS = yes
-COMBO_ENABLE = yes
diff --git a/keyboards/pisces/config.h b/keyboards/pisces/config.h
index 4cb5aaf54e..cbdce6f83e 100644
--- a/keyboards/pisces/config.h
+++ b/keyboards/pisces/config.h
@@ -18,6 +18,8 @@
/* Select hand configuration */
#define SPLIT_HAND_MATRIX_GRID B0,B7
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
+
#define MATRIX_MASKED
#define SPLIT_USB_DETECT
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index 93d0823714..74d8d21155 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -52,63 +52,6 @@
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
-#define RGB_MATRIX_LED_COUNT 47
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_LED_PROCESS_LIMIT 5
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index dfadb820ae..522fd70033 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -21,67 +21,67 @@
keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, B_12, A_12, C_12},
- {0, B_11, A_11, C_11},
- {0, B_10, A_10, C_10},
- {0, B_9, A_9, C_9},
- {0, B_8, A_8, C_8},
- {0, B_7, A_7, C_7},
-
- {0, H_12, G_12, I_12},
- {0, H_11, G_11, I_11},
- {0, H_10, G_10, I_10},
- {0, H_9, G_9, I_9},
- {0, H_8, G_8, I_8},
- {0, H_7, G_7, I_7},
-
- {0, B_6, A_6, C_6},
- {0, B_5, A_5, C_5},
- {0, B_4, A_4, C_4},
- {0, B_3, A_3, C_3},
- {0, B_2, A_2, C_2},
- {0, B_1, A_1, C_1},
-
- {0, H_6, G_6, I_6},
- {0, H_5, G_5, I_5},
- {0, H_4, G_4, I_4},
- {0, H_3, G_3, I_3},
- {0, H_2, G_2, I_2},
- {0, H_1, G_1, I_1},
-
- {0, E_12, D_12, F_12},
- {0, E_11, D_11, F_11},
- {0, E_10, D_10, F_10},
- {0, E_9, D_9, F_9},
- {0, E_8, D_8, F_8},
- {0, E_7, D_7, F_7},
-
- {0, K_12, J_12, L_12},
- {0, K_11, J_11, L_11},
- {0, K_10, J_10, L_10},
- {0, K_9, J_9, L_9},
- {0, K_8, J_8, L_8},
- {0, K_7, J_7, L_7},
-
- {0, E_6, D_6, F_6},
- {0, E_5, D_5, F_5},
- {0, E_4, D_4, F_4},
- {0, E_3, D_3, F_3},
- {0, E_2, D_2, F_2},
- {0, E_1, D_1, F_1},
-
- {0, K_6, J_6, L_6},
- {0, K_5, J_5, L_5},
- {0, K_4, J_4, L_4},
- {0, K_3, J_3, L_3},
- {0, K_2, J_2, L_2},
+ {0, SW2_CS12, SW1_CS12, SW3_CS12},
+ {0, SW2_CS11, SW1_CS11, SW3_CS11},
+ {0, SW2_CS10, SW1_CS10, SW3_CS10},
+ {0, SW2_CS9, SW1_CS9, SW3_CS9},
+ {0, SW2_CS8, SW1_CS8, SW3_CS8},
+ {0, SW2_CS7, SW1_CS7, SW3_CS7},
+
+ {0, SW8_CS12, SW7_CS12, SW9_CS12},
+ {0, SW8_CS11, SW7_CS11, SW9_CS11},
+ {0, SW8_CS10, SW7_CS10, SW9_CS10},
+ {0, SW8_CS9, SW7_CS9, SW9_CS9},
+ {0, SW8_CS8, SW7_CS8, SW9_CS8},
+ {0, SW8_CS7, SW7_CS7, SW9_CS7},
+
+ {0, SW2_CS6, SW1_CS6, SW3_CS6},
+ {0, SW2_CS5, SW1_CS5, SW3_CS5},
+ {0, SW2_CS4, SW1_CS4, SW3_CS4},
+ {0, SW2_CS3, SW1_CS3, SW3_CS3},
+ {0, SW2_CS2, SW1_CS2, SW3_CS2},
+ {0, SW2_CS1, SW1_CS1, SW3_CS1},
+
+ {0, SW8_CS6, SW7_CS6, SW9_CS6},
+ {0, SW8_CS5, SW7_CS5, SW9_CS5},
+ {0, SW8_CS4, SW7_CS4, SW9_CS4},
+ {0, SW8_CS3, SW7_CS3, SW9_CS3},
+ {0, SW8_CS2, SW7_CS2, SW9_CS2},
+ {0, SW8_CS1, SW7_CS1, SW9_CS1},
+
+ {0, SW5_CS12, SW4_CS12, SW6_CS12},
+ {0, SW5_CS11, SW4_CS11, SW6_CS11},
+ {0, SW5_CS10, SW4_CS10, SW6_CS10},
+ {0, SW5_CS9, SW4_CS9, SW6_CS9},
+ {0, SW5_CS8, SW4_CS8, SW6_CS8},
+ {0, SW5_CS7, SW4_CS7, SW6_CS7},
+
+ {0, SW11_CS12, SW10_CS12, SW12_CS12},
+ {0, SW11_CS11, SW10_CS11, SW12_CS11},
+ {0, SW11_CS10, SW10_CS10, SW12_CS10},
+ {0, SW11_CS9, SW10_CS9, SW12_CS9},
+ {0, SW11_CS8, SW10_CS8, SW12_CS8},
+ {0, SW11_CS7, SW10_CS7, SW12_CS7},
+
+ {0, SW5_CS6, SW4_CS6, SW6_CS6},
+ {0, SW5_CS5, SW4_CS5, SW6_CS5},
+ {0, SW5_CS4, SW4_CS4, SW6_CS4},
+ {0, SW5_CS3, SW4_CS3, SW6_CS3},
+ {0, SW5_CS2, SW4_CS2, SW6_CS2},
+ {0, SW5_CS1, SW4_CS1, SW6_CS1},
+
+ {0, SW11_CS6, SW10_CS6, SW12_CS6},
+ {0, SW11_CS5, SW10_CS5, SW12_CS5},
+ {0, SW11_CS4, SW10_CS4, SW12_CS4},
+ {0, SW11_CS3, SW10_CS3, SW12_CS3},
+ {0, SW11_CS2, SW10_CS2, SW12_CS2},
};
diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json
index 6848239279..044e187c4b 100644
--- a/keyboards/planck/ez/info.json
+++ b/keyboards/planck/ez/info.json
@@ -7,7 +7,55 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3737"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "is31fl3737",
+ "led_process_limit": 5,
+ "led_flush_limit": 26,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index a19a4fceaa..9d3db5cdb7 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -14,8 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
ENCODER_ENABLE = yes
-LAYOUTS_HAS_RGB = no
-
RGB_MATRIX_SUPPORTED = yes
RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no
diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h
index 6d12061b51..7c78d7cd3c 100644
--- a/keyboards/planck/light/config.h
+++ b/keyboards/planck/light/config.h
@@ -9,55 +9,3 @@
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-
-#define DRIVER_1_LED_TOTAL 25
-#define DRIVER_2_LED_TOTAL 24
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json
index b6f3df8fe6..8fc112664b 100644
--- a/keyboards/planck/light/info.json
+++ b/keyboards/planck/light/info.json
@@ -9,6 +9,51 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c
index 828319c66d..44bd89dc11 100644
--- a/keyboards/planck/light/light.c
+++ b/keyboards/planck/light/light.c
@@ -16,7 +16,7 @@
#include "quantum.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/planck/light/rules.mk b/keyboards/planck/light/rules.mk
index dbc992922b..a8efaf98f4 100644
--- a/keyboards/planck/light/rules.mk
+++ b/keyboards/planck/light/rules.mk
@@ -12,5 +12,3 @@ MIDI_ENABLE = yes # MIDI support
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = yes
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev1/rules.mk b/keyboards/planck/rev1/rules.mk
index 8827627e99..99b8691962 100644
--- a/keyboards/planck/rev1/rules.mk
+++ b/keyboards/planck/rev1/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev2/rules.mk b/keyboards/planck/rev2/rules.mk
index 8827627e99..99b8691962 100644
--- a/keyboards/planck/rev2/rules.mk
+++ b/keyboards/planck/rev2/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev3/rules.mk b/keyboards/planck/rev3/rules.mk
index 8827627e99..99b8691962 100644
--- a/keyboards/planck/rev3/rules.mk
+++ b/keyboards/planck/rev3/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev4/rules.mk b/keyboards/planck/rev4/rules.mk
index 78e1ba9f7b..73d6182ff4 100644
--- a/keyboards/planck/rev4/rules.mk
+++ b/keyboards/planck/rev4/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev5/rules.mk b/keyboards/planck/rev5/rules.mk
index 78e1ba9f7b..73d6182ff4 100644
--- a/keyboards/planck/rev5/rules.mk
+++ b/keyboards/planck/rev5/rules.mk
@@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h
index a0a997f860..7fec8be56b 100644
--- a/keyboards/planck/rev6/config.h
+++ b/keyboards/planck/rev6/config.h
@@ -43,12 +43,8 @@
/*
* WS2812 Underglow Matrix options
*/
-#define RGB_MATRIX_LED_COUNT 9
-
#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 2
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/planck/rev6/info.json b/keyboards/planck/rev6/info.json
index a6ad35281d..add17963b4 100644
--- a/keyboards/planck/rev6/info.json
+++ b/keyboards/planck/rev6/info.json
@@ -16,7 +16,8 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/rev6/rules.mk b/keyboards/planck/rev6/rules.mk
index 048b723c4c..ce96f94079 100644
--- a/keyboards/planck/rev6/rules.mk
+++ b/keyboards/planck/rev6/rules.mk
@@ -14,5 +14,3 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = no
ENCODER_ENABLE = yes
DIP_SWITCH_ENABLE = yes
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h
index a0a997f860..7fec8be56b 100644
--- a/keyboards/planck/rev6_drop/config.h
+++ b/keyboards/planck/rev6_drop/config.h
@@ -43,12 +43,8 @@
/*
* WS2812 Underglow Matrix options
*/
-#define RGB_MATRIX_LED_COUNT 9
-
#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 2
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/info.json
index d224561c7f..aff2eef5d7 100644
--- a/keyboards/planck/rev6_drop/info.json
+++ b/keyboards/planck/rev6_drop/info.json
@@ -16,7 +16,8 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/rev6_drop/rules.mk b/keyboards/planck/rev6_drop/rules.mk
index 3eb3eac7eb..022a5ccd53 100644
--- a/keyboards/planck/rev6_drop/rules.mk
+++ b/keyboards/planck/rev6_drop/rules.mk
@@ -17,5 +17,3 @@ ENCODER_ENABLE = yes
DIP_SWITCH_ENABLE = yes
SRC += matrix.c
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/planck/rev7/config.h b/keyboards/planck/rev7/config.h
index 678cb1d438..a5e49c8a53 100644
--- a/keyboards/planck/rev7/config.h
+++ b/keyboards/planck/rev7/config.h
@@ -30,8 +30,6 @@
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 2
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/planck/rev7/info.json b/keyboards/planck/rev7/info.json
index 72dce51d83..d674af98d1 100644
--- a/keyboards/planck/rev7/info.json
+++ b/keyboards/planck/rev7/info.json
@@ -13,7 +13,8 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
@@ -25,7 +26,14 @@
},
"encoder": {
"rotary": [
- {"pin_a": "B12", "pin_b": "B13"}
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"},
+ {"pin_a": "B12", "pin_b": "B13"}
]
},
"features": {
diff --git a/keyboards/planck/rev7/matrix.c b/keyboards/planck/rev7/matrix.c
index c89c399a40..350ce93ce0 100644
--- a/keyboards/planck/rev7/matrix.c
+++ b/keyboards/planck/rev7/matrix.c
@@ -32,31 +32,16 @@
#define STM32_IWDG_RL_MS(s) STM32_IWDG_RL_US(s * 1000.0)
#define STM32_IWDG_RL_S(s) STM32_IWDG_RL_US(s * 1000000.0)
-#if !defined(PLANCK_ENCODER_RESOLUTION)
-# define PLANCK_ENCODER_RESOLUTION 4
-#endif
-
#if !defined(PLANCK_WATCHDOG_TIMEOUT)
# define PLANCK_WATCHDOG_TIMEOUT 1.0
#endif
-#ifdef ENCODER_MAP_ENABLE
-#error "The encoder map feature is not currently supported by the Planck's encoder matrix"
-#endif
-
/* matrix state(1:on, 0:off) */
static pin_t matrix_row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static pin_t matrix_col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static matrix_row_t matrix_inverted[MATRIX_COLS];
-#ifdef ENCODER_ENABLE
-int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
-uint8_t encoder_state[8] = {0};
-int8_t encoder_pulses[8] = {0};
-uint8_t encoder_value[8] = {0};
-#endif
-
void matrix_init_custom(void) {
// actual matrix setup - cols
for (int i = 0; i < MATRIX_COLS; i++) {
@@ -84,31 +69,6 @@ void matrix_init_custom(void) {
#endif
}
-#ifdef ENCODER_ENABLE
-bool encoder_update(uint8_t index, uint8_t state) {
- bool changed = false;
- uint8_t i = index;
-
- encoder_pulses[i] += encoder_LUT[state & 0xF];
-
- if (encoder_pulses[i] >= PLANCK_ENCODER_RESOLUTION) {
- encoder_value[index]++;
- changed = true;
- encoder_update_kb(index, false);
- }
- if (encoder_pulses[i] <= -PLANCK_ENCODER_RESOLUTION) {
- encoder_value[index]--;
- changed = true;
- encoder_update_kb(index, true);
- }
- encoder_pulses[i] %= PLANCK_ENCODER_RESOLUTION;
-#ifdef ENCODER_DEFAULT_POS
- encoder_pulses[i] = 0;
-#endif
- return changed;
-}
-#endif
-
bool matrix_scan_custom(matrix_row_t current_matrix[]) {
#ifndef PLANCK_WATCHDOG_DISABLE
// reset watchdog
@@ -149,40 +109,16 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
changed |= old != current_matrix[row];
}
-#ifdef ENCODER_ENABLE
- // encoder-matrix functionality
-
- // set up C/rows for encoder read
- for (int i = 0; i < MATRIX_ROWS; i++) {
- setPinOutput(matrix_row_pins[i]);
- writePinHigh(matrix_row_pins[i]);
- }
-
- // set up A & B for reading
- setPinInputHigh(B12);
- setPinInputHigh(B13);
-
- for (int i = 0; i < MATRIX_ROWS; i++) {
- writePinLow(matrix_row_pins[i]);
- wait_us(10);
- uint8_t new_status = (palReadPad(GPIOB, 12) << 0) | (palReadPad(GPIOB, 13) << 1);
- if ((encoder_state[i] & 0x3) != new_status) {
- encoder_state[i] <<= 2;
- encoder_state[i] |= new_status;
- encoder_update(i, encoder_state[i]);
- }
- writePinHigh(matrix_row_pins[i]);
- }
-
- // revert A & B to matrix state
- setPinInputLow(B12);
- setPinInputLow(B13);
-
- // revert C/rows to matrix state
- for (int i = 0; i < MATRIX_ROWS; i++) {
- setPinInputLow(matrix_row_pins[i]);
- }
-#endif
-
return changed;
}
+
+uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) {
+ pin_t pin = pad_b ? B13: B12;
+ setPinInputHigh(pin);
+ writePinLow(matrix_row_pins[index]);
+ wait_us(10);
+ uint8_t ret = readPin(pin) ? 1 : 0;
+ setPinInputLow(matrix_row_pins[index]);
+ setPinInputLow(pin);
+ return ret;
+}
diff --git a/keyboards/planck/rev7/rules.mk b/keyboards/planck/rev7/rules.mk
index 38710bc00b..04b21019ae 100644
--- a/keyboards/planck/rev7/rules.mk
+++ b/keyboards/planck/rev7/rules.mk
@@ -5,5 +5,3 @@ CUSTOM_MATRIX = lite
DIP_SWITCH_ENABLE = yes
SRC += matrix.c
-
-LAYOUTS_HAS_RGB = no
diff --git a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c b/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c
deleted file mode 100644
index 8ef6c0499d..0000000000
--- a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_NO, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-
- LAYOUT(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, QK_BOOT,
- KC_CAPS, RGB_RMOD,RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_TOG, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- DDRD |= (1 << 1); PORTD &= ~(1 << 1);
- } else {
- DDRD &= ~(1 << 1); PORTD &= ~(1 << 1);
- }
- return false;
-}
diff --git a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c b/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
deleted file mode 100644
index b6988e1cdc..0000000000
--- a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_minila(
- 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_GRAVE, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [1] = LAYOUT_minila(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_RMOD, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_MPLY
- ),
-
- [2] = LAYOUT_minila(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_RMOD, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-};
diff --git a/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md b/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md
deleted file mode 100644
index cd9a221087..0000000000
--- a/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# A personal keymap for Play Keyboard60 based on the minila layout
-
-![Mininla layout](https://i.imgur.com/K7ONE1k.jpg)
-
-To build the firmware use
-
- make playkbtw/pk60:rfvizarra
-
-or if you prefer to use docker
-
- util/docker_build.sh playkbtw/pk60:rfvizarra
diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h
index 6e30ee857a..3922034290 100644
--- a/keyboards/playkbtw/pk64rgb/config.h
+++ b/keyboards/playkbtw/pk64rgb/config.h
@@ -16,27 +16,9 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_KEYPRESSES
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
- #define RGB_MATRIX_LED_PROCESS_LIMIT 20
- #define RGB_MATRIX_LED_FLUSH_LIMIT 26
- #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
- #define RGB_MATRIX_LED_COUNT 64
+#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define DISABLE_RGB_MATRIX_BAND_SAT
-#define DISABLE_RGB_MATRIX_BAND_VAL
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#endif
+#define RGB_MATRIX_LED_COUNT 64
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json
index 727b9c0a5c..ee2849f14f 100644
--- a/keyboards/playkbtw/pk64rgb/info.json
+++ b/keyboards/playkbtw/pk64rgb/info.json
@@ -9,7 +9,10 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "driver": "is31fl3733",
+ "led_flush_limit": 26,
+ "led_process_limit": 20,
+ "max_brightness": 160
},
"matrix_pins": {
"cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"],
diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c
index 427d1cf04e..b745c82b9d 100644
--- a/keyboards/playkbtw/pk64rgb/pk64rgb.c
+++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -25,74 +25,74 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
* | | | B location
* | | | | */
- {0, A_1, B_1, C_1},
- {0, D_1, E_1, F_1},
- {0, G_1, H_1, I_1},
- {0, J_1, K_1, L_1},
- {0, A_6, B_6, C_6},
- {0, D_6, E_6, F_6},
- {0, G_6, H_6, I_6},
- {0, J_6, K_6, L_6},
- {0, A_11, B_11, C_11},
- {0, D_11, E_11, F_11},
- {0, G_11, H_11, I_11},
- {0, J_11, K_11, L_11},
- {0, A_16, B_16, C_16},
- {0, D_16, E_16, F_16},
+ {0, SW1_CS1, SW2_CS1, SW3_CS1},
+ {0, SW4_CS1, SW5_CS1, SW6_CS1},
+ {0, SW7_CS1, SW8_CS1, SW9_CS1},
+ {0, SW10_CS1, SW11_CS1, SW12_CS1},
+ {0, SW1_CS6, SW2_CS6, SW3_CS6},
+ {0, SW4_CS6, SW5_CS6, SW6_CS6},
+ {0, SW7_CS6, SW8_CS6, SW9_CS6},
+ {0, SW10_CS6, SW11_CS6, SW12_CS6},
+ {0, SW1_CS11, SW2_CS11, SW3_CS11},
+ {0, SW4_CS11, SW5_CS11, SW6_CS11},
+ {0, SW7_CS11, SW8_CS11, SW9_CS11},
+ {0, SW10_CS11, SW11_CS11, SW12_CS11},
+ {0, SW1_CS16, SW2_CS16, SW3_CS16},
+ {0, SW4_CS16, SW5_CS16, SW6_CS16},
- {0, A_2, B_2, C_2},
- {0, D_2, E_2, F_2},
- {0, G_2, H_2, I_2},
- {0, J_2, K_2, L_2},
- {0, A_7, B_7, C_7},
- {0, D_7, E_7, F_7},
- {0, G_7, H_7, I_7},
- {0, J_7, K_7, L_7},
- {0, A_12, B_12, C_12},
- {0, D_12, E_12, F_12},
- {0, G_12, H_12, I_12},
- {0, J_12, K_12, L_12},
- {0, G_16, H_16, I_16},
- {0, J_16, K_16, L_16},
+ {0, SW1_CS2, SW2_CS2, SW3_CS2},
+ {0, SW4_CS2, SW5_CS2, SW6_CS2},
+ {0, SW7_CS2, SW8_CS2, SW9_CS2},
+ {0, SW10_CS2, SW11_CS2, SW12_CS2},
+ {0, SW1_CS7, SW2_CS7, SW3_CS7},
+ {0, SW4_CS7, SW5_CS7, SW6_CS7},
+ {0, SW7_CS7, SW8_CS7, SW9_CS7},
+ {0, SW10_CS7, SW11_CS7, SW12_CS7},
+ {0, SW1_CS12, SW2_CS12, SW3_CS12},
+ {0, SW4_CS12, SW5_CS12, SW6_CS12},
+ {0, SW7_CS12, SW8_CS12, SW9_CS12},
+ {0, SW10_CS12, SW11_CS12, SW12_CS12},
+ {0, SW7_CS16, SW8_CS16, SW9_CS16},
+ {0, SW10_CS16, SW11_CS16, SW12_CS16},
- {0, A_3, B_3, C_3},
- {0, D_3, E_3, F_3},
- {0, G_3, H_3, I_3},
- {0, J_3, K_3, L_3},
- {0, A_8, B_8, C_8},
- {0, D_8, E_8, F_8},
- {0, G_8, H_8, I_8},
- {0, J_8, K_8, L_8},
- {0, A_13, B_13, C_13},
- {0, D_13, E_13, F_13},
- {0, G_13, H_13, I_13},
- {0, J_13, K_13, L_13},
- {0, A_15, B_15, C_15},
+ {0, SW1_CS3, SW2_CS3, SW3_CS3},
+ {0, SW4_CS3, SW5_CS3, SW6_CS3},
+ {0, SW7_CS3, SW8_CS3, SW9_CS3},
+ {0, SW10_CS3, SW11_CS3, SW12_CS3},
+ {0, SW1_CS8, SW2_CS8, SW3_CS8},
+ {0, SW4_CS8, SW5_CS8, SW6_CS8},
+ {0, SW7_CS8, SW8_CS8, SW9_CS8},
+ {0, SW10_CS8, SW11_CS8, SW12_CS8},
+ {0, SW1_CS13, SW2_CS13, SW3_CS13},
+ {0, SW4_CS13, SW5_CS13, SW6_CS13},
+ {0, SW7_CS13, SW8_CS13, SW9_CS13},
+ {0, SW10_CS13, SW11_CS13, SW12_CS13},
+ {0, SW1_CS15, SW2_CS15, SW3_CS15},
- {0, A_4, B_4, C_4},
- {0, D_4, E_4, F_4},
- {0, G_4, H_4, I_4},
- {0, J_4, K_4, L_4},
- {0, A_9, B_9, C_9},
- {0, D_9, E_9, F_9},
- {0, G_9, H_9, I_9},
- {0, J_9, K_9, L_9},
- {0, A_14, B_14, C_14},
- {0, D_14, E_14, F_14},
- {0, G_14, H_14, I_14},
- {0, J_14, K_14, L_14},
- {0, D_15, E_15, F_15},
- {0, G_15, H_15, I_15},
+ {0, SW1_CS4, SW2_CS4, SW3_CS4},
+ {0, SW4_CS4, SW5_CS4, SW6_CS4},
+ {0, SW7_CS4, SW8_CS4, SW9_CS4},
+ {0, SW10_CS4, SW11_CS4, SW12_CS4},
+ {0, SW1_CS9, SW2_CS9, SW3_CS9},
+ {0, SW4_CS9, SW5_CS9, SW6_CS9},
+ {0, SW7_CS9, SW8_CS9, SW9_CS9},
+ {0, SW10_CS9, SW11_CS9, SW12_CS9},
+ {0, SW1_CS14, SW2_CS14, SW3_CS14},
+ {0, SW4_CS14, SW5_CS14, SW6_CS14},
+ {0, SW7_CS14, SW8_CS14, SW9_CS14},
+ {0, SW10_CS14, SW11_CS14, SW12_CS14},
+ {0, SW4_CS15, SW5_CS15, SW6_CS15},
+ {0, SW7_CS15, SW8_CS15, SW9_CS15},
- {0, A_5, B_5, C_5},
- {0, D_5, E_5, F_5},
- {0, G_5, H_5, I_5},
- {0, J_5, K_5, L_5},
- {0, A_10, B_10, C_10},
- {0, D_10, E_10, F_10},
- {0, G_10, H_10, I_10},
- {0, J_10, K_10, L_10},
- {0, J_15, K_15, L_15}
+ {0, SW1_CS5, SW2_CS5, SW3_CS5},
+ {0, SW4_CS5, SW5_CS5, SW6_CS5},
+ {0, SW7_CS5, SW8_CS5, SW9_CS5},
+ {0, SW10_CS5, SW11_CS5, SW12_CS5},
+ {0, SW1_CS10, SW2_CS10, SW3_CS10},
+ {0, SW4_CS10, SW5_CS10, SW6_CS10},
+ {0, SW7_CS10, SW8_CS10, SW9_CS10},
+ {0, SW10_CS10, SW11_CS10, SW12_CS10},
+ {0, SW10_CS15, SW11_CS15, SW12_CS15}
};
led_config_t g_led_config = {{
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
index 94bd6ef6af..86af11fc94 100644
--- a/keyboards/ploopyco/mouse/config.h
+++ b/keyboards/ploopyco/mouse/config.h
@@ -32,3 +32,6 @@
/* PMW33XX Settings */
#define PMW33XX_CS_PIN B0
+
+/* Custom encoder needs to specify just how many encoders we have */
+#define NUM_ENCODERS 1
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json
index 5dc53392ff..1f110aad71 100644
--- a/keyboards/ploopyco/mouse/info.json
+++ b/keyboards/ploopyco/mouse/info.json
@@ -31,6 +31,12 @@
["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
]
},
+ "features": {
+ "encoder": true
+ },
+ "encoder": {
+ "driver": "custom"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/mouse/mouse.c b/keyboards/ploopyco/mouse/mouse.c
index e2dada4a15..5f4a82e474 100644
--- a/keyboards/ploopyco/mouse/mouse.c
+++ b/keyboards/ploopyco/mouse/mouse.c
@@ -66,8 +66,6 @@ uint8_t OptLowPin = OPT_ENC1;
bool debug_encoder = false;
bool is_drag_scroll = false;
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
@@ -83,7 +81,14 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
return true;
}
-void process_wheel(void) {
+void encoder_driver_init(void) {
+ setPinInput(OPT_ENC1);
+ setPinInput(OPT_ENC2);
+
+ opt_encoder_init();
+}
+
+void encoder_driver_task(void) {
// Lovingly ripped from the Ploopy Source
// If the mouse wheel was just released, do not scroll.
@@ -111,12 +116,10 @@ void process_wheel(void) {
int dir = opt_encoder_handler(p1, p2);
if (dir == 0) return;
- encoder_update_kb(0, dir > 0);
+ encoder_queue_event(0, dir == 1);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
- process_wheel();
-
if (is_drag_scroll) {
mouse_report.h = mouse_report.x;
#ifdef PLOOPY_DRAGSCROLL_INVERT
@@ -177,9 +180,6 @@ void keyboard_pre_init_kb(void) {
// debug_mouse = true;
// debug_encoder = true;
- setPinInput(OPT_ENC1);
- setPinInput(OPT_ENC2);
-
/* Ground all output pins connected to ground. This provides additional
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
@@ -204,8 +204,6 @@ void keyboard_pre_init_kb(void) {
void pointing_device_init_kb(void) {
pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
- // initialize the scroll wheel's optical encoder
- opt_encoder_init();
}
void eeconfig_init_kb(void) {
diff --git a/keyboards/ploopyco/mouse/rules.mk b/keyboards/ploopyco/mouse/rules.mk
index 17df9cc3c9..6356950780 100644
--- a/keyboards/ploopyco/mouse/rules.mk
+++ b/keyboards/ploopyco/mouse/rules.mk
@@ -16,9 +16,6 @@ POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pmw3360
MOUSEKEY_ENABLE = yes # Mouse keys
-ENCODER_ENABLE := no
-OPTS_DEF += -DENCODER_ENABLE
-
ANALOG_DRIVER_REQUIRED = yes
SRC += opt_encoder.c
diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h
index de0ed1ebec..a1f3695d81 100644
--- a/keyboards/ploopyco/trackball/config.h
+++ b/keyboards/ploopyco/trackball/config.h
@@ -31,3 +31,6 @@
/* PMW33XX Settings */
#define PMW33XX_CS_PIN B0
#define POINTING_DEVICE_INVERT_Y
+
+/* Custom encoder needs to specify just how many encoders we have */
+#define NUM_ENCODERS 1
diff --git a/keyboards/ploopyco/trackball/info.json b/keyboards/ploopyco/trackball/info.json
index 2c30755aa1..110264ef1c 100644
--- a/keyboards/ploopyco/trackball/info.json
+++ b/keyboards/ploopyco/trackball/info.json
@@ -12,6 +12,12 @@
"bootmagic": {
"matrix": [0, 3]
},
+ "features": {
+ "encoder": true
+ },
+ "encoder": {
+ "driver": "custom"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball/rules.mk b/keyboards/ploopyco/trackball/rules.mk
index ce7c4f29c8..ca1a8fd17a 100644
--- a/keyboards/ploopyco/trackball/rules.mk
+++ b/keyboards/ploopyco/trackball/rules.mk
@@ -16,9 +16,6 @@ POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pmw3360
MOUSEKEY_ENABLE = yes # Mouse keys
-ENCODER_ENABLE := no
-OPTS_DEF += -DENCODER_ENABLE
-
ANALOG_DRIVER_REQUIRED = yes
SRC += opt_encoder.c
diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c
index 8fd5b8650d..0c606bab07 100644
--- a/keyboards/ploopyco/trackball/trackball.c
+++ b/keyboards/ploopyco/trackball/trackball.c
@@ -66,8 +66,6 @@ uint8_t OptLowPin = OPT_ENC1;
bool debug_encoder = false;
bool is_drag_scroll = false;
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
@@ -83,7 +81,15 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
return true;
}
-void process_wheel(void) {
+
+void encoder_driver_init(void) {
+ setPinInput(OPT_ENC1);
+ setPinInput(OPT_ENC2);
+
+ opt_encoder_init();
+}
+
+void encoder_driver_task(void) {
// TODO: Replace this with interrupt driven code, polling is S L O W
// Lovingly ripped from the Ploopy Source
@@ -112,11 +118,10 @@ void process_wheel(void) {
int dir = opt_encoder_handler(p1, p2);
if (dir == 0) return;
- encoder_update_kb(0, dir > 0);
+ encoder_queue_event(0, dir == 1);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
- process_wheel();
if (is_drag_scroll) {
#ifdef PLOOPY_DRAGSCROLL_H_INVERT
@@ -189,9 +194,6 @@ void keyboard_pre_init_kb(void) {
// debug_mouse = true;
// debug_encoder = true;
- setPinInput(OPT_ENC1);
- setPinInput(OPT_ENC2);
-
/* Ground all output pins connected to ground. This provides additional
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
@@ -216,8 +218,6 @@ void keyboard_pre_init_kb(void) {
void pointing_device_init_kb(void) {
pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
- // initialize the scroll wheel's optical encoder
- opt_encoder_init();
}
void eeconfig_init_kb(void) {
diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h
index 789deb5a5f..6b92563fa9 100644
--- a/keyboards/ploopyco/trackball_mini/config.h
+++ b/keyboards/ploopyco/trackball_mini/config.h
@@ -32,3 +32,6 @@
#define ADNS5050_CS_PIN B4
#define POINTING_DEVICE_ROTATION_270
+
+/* Custom encoder needs to specify just how many encoders we have */
+#define NUM_ENCODERS 1
diff --git a/keyboards/ploopyco/trackball_mini/info.json b/keyboards/ploopyco/trackball_mini/info.json
index 301c8d18ec..0e7b12d20d 100644
--- a/keyboards/ploopyco/trackball_mini/info.json
+++ b/keyboards/ploopyco/trackball_mini/info.json
@@ -14,6 +14,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "features": {
+ "encoder": true
+ },
+ "encoder": {
+ "driver": "custom"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball_mini/rules.mk b/keyboards/ploopyco/trackball_mini/rules.mk
index bcede0676c..d2bacc3974 100644
--- a/keyboards/ploopyco/trackball_mini/rules.mk
+++ b/keyboards/ploopyco/trackball_mini/rules.mk
@@ -13,9 +13,6 @@ POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = adns5050
MOUSEKEY_ENABLE = yes # Mouse keys
-ENCODER_ENABLE := no
-OPTS_DEF += -DENCODER_ENABLE
-
ANALOG_DRIVER_REQUIRED = yes
SRC += opt_encoder.c
diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c
index 8bc0ab99c2..8517a54e70 100644
--- a/keyboards/ploopyco/trackball_mini/trackball_mini.c
+++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c
@@ -74,8 +74,6 @@ uint8_t OptLowPin = OPT_ENC1;
bool debug_encoder = false;
bool is_drag_scroll = false;
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
@@ -91,7 +89,14 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
return true;
}
-void process_wheel(void) {
+void encoder_driver_init(void) {
+ setPinInput(OPT_ENC1);
+ setPinInput(OPT_ENC2);
+
+ opt_encoder_init();
+}
+
+void encoder_driver_task(void) {
uint16_t p1 = adc_read(OPT_ENC1_MUX);
uint16_t p2 = adc_read(OPT_ENC2_MUX);
@@ -113,21 +118,17 @@ void process_wheel(void) {
}
if (dir == 0) return;
- encoder_update_kb(0, dir > 0);
+ encoder_queue_event(0, dir == 1);
lastScroll = timer_read();
}
void pointing_device_init_kb(void) {
- opt_encoder_init();
-
// set the DPI.
pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
- process_wheel();
-
if (is_drag_scroll) {
mouse_report.h = mouse_report.x;
#ifdef PLOOPY_DRAGSCROLL_INVERT
@@ -180,9 +181,6 @@ void keyboard_pre_init_kb(void) {
// debug_mouse = true;
// debug_encoder = true;
- setPinInput(OPT_ENC1);
- setPinInput(OPT_ENC2);
-
/* Ground all output pins connected to ground. This provides additional
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c b/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
deleted file mode 100644
index 370eb95aa0..0000000000
--- a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2021 Colin Lam (Ploopy Corporation)
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2019 Hiroyuki Okada
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Configuration options
-#define SCROLL_TIMEOUT 25
-#define DELTA_X_THRESHOLD 60
-#define DELTA_Y_THRESHOLD 15
-
-bool scroll_enabled = false;
-bool lock_state = false;
-
-// State
-static int8_t delta_x = 0;
-static int8_t delta_y = 0;
-
-// Dummy
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
-
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- if (scroll_enabled) {
- delta_x += mouse_report.x;
- delta_y += mouse_report.y;
-
- if (delta_x > DELTA_X_THRESHOLD) {
- mouse_report.h = 1;
- delta_x = 0;
- } else if (delta_x < -DELTA_X_THRESHOLD) {
- mouse_report.h = -1;
- delta_x = 0;
- }
-
- if (delta_y > DELTA_Y_THRESHOLD) {
- mouse_report.v = -1;
- delta_y = 0;
- } else if (delta_y < -DELTA_Y_THRESHOLD) {
- mouse_report.v = 1;
- delta_y = 0;
- }
- mouse_report.x = 0;
- mouse_report.y = 0;
- }
- return mouse_report;
-}
-
-void keyboard_post_init_user(void) {
- lock_state = host_keyboard_led_state().num_lock;
-}
-
-bool led_update_user(led_t led_state) {
- static uint8_t lock_count = 0;
- static uint16_t scroll_timer = 0;
-
- if (timer_elapsed(scroll_timer) > SCROLL_TIMEOUT) {
- scroll_timer = timer_read();
- lock_count = 0;
- }
-
- if (led_state.num_lock != lock_state) {
- lock_count++;
-
- if (lock_count == 2) {
- scroll_enabled = !scroll_enabled;
- lock_count = 0;
- }
- }
-
- lock_state = led_state.num_lock;
- return true;
-}
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md b/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md
deleted file mode 100644
index 3a597e38d8..0000000000
--- a/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-toggles scroll mode when numlock is double-tapped within 25ms. add a macro or something, unless you have ungodly fast fingers.
diff --git a/keyboards/ploopyco/trackball_thumb/config.h b/keyboards/ploopyco/trackball_thumb/config.h
index 8fc084c38c..316755f686 100644
--- a/keyboards/ploopyco/trackball_thumb/config.h
+++ b/keyboards/ploopyco/trackball_thumb/config.h
@@ -31,3 +31,6 @@
/* PMW3360 Settings */
#define POINTING_DEVICE_CS_PIN B0
+
+/* Custom encoder needs to specify just how many encoders we have */
+#define NUM_ENCODERS 1
diff --git a/keyboards/ploopyco/trackball_thumb/info.json b/keyboards/ploopyco/trackball_thumb/info.json
index 72e236a5bb..e27bf47252 100644
--- a/keyboards/ploopyco/trackball_thumb/info.json
+++ b/keyboards/ploopyco/trackball_thumb/info.json
@@ -18,7 +18,10 @@
"mousekey": true,
"nkro": true,
"pointing_device": true,
- "encoder": false
+ "encoder": true
+ },
+ "encoder": {
+ "driver": "custom"
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/ploopyco/trackball_thumb/post_rules.mk b/keyboards/ploopyco/trackball_thumb/post_rules.mk
deleted file mode 100644
index d922afd9cd..0000000000
--- a/keyboards/ploopyco/trackball_thumb/post_rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Force encoder to be disabled
-# But enable the defines for it
-ENCODER_ENABLE := no
-OPT_DEFS += -DENCODER_ENABLE
diff --git a/keyboards/ploopyco/trackball_thumb/trackball_thumb.c b/keyboards/ploopyco/trackball_thumb/trackball_thumb.c
index bbc782da45..326410cf13 100644
--- a/keyboards/ploopyco/trackball_thumb/trackball_thumb.c
+++ b/keyboards/ploopyco/trackball_thumb/trackball_thumb.c
@@ -17,6 +17,7 @@
*/
#include "trackball_thumb.h"
+#include "encoder.h"
#ifndef OPT_DEBOUNCE
# define OPT_DEBOUNCE 5 // (ms) Time between scroll events
@@ -57,9 +58,6 @@ uint16_t last_mid_click = 0; // Stops scrollwheel from being read if it was
bool debug_encoder = false;
bool is_drag_scroll = false;
-// require, since core encoder.c (where is is normally defined isn't present
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
@@ -75,25 +73,25 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
return true;
}
-void encoder_init(void) { opt_encoder_init(); }
+void encoder_driver_init(void) { opt_encoder_init(); }
-bool encoder_read(void) {
+void encoder_driver_task(void) {
// Lovingly ripped from the Ploopy Source
// If the mouse wheel was just released, do not scroll.
if (timer_elapsed(last_mid_click) < SCROLL_BUTT_DEBOUNCE) {
- return false;
+ return;
}
// Limit the number of scrolls per unit time.
if (timer_elapsed(last_scroll) < OPT_DEBOUNCE) {
- return false;
+ return;
}
// Don't scroll if the middle button is depressed.
if (is_scroll_clicked) {
#ifndef IGNORE_SCROLL_CLICK
- return false;
+ return;
#endif
}
@@ -104,10 +102,8 @@ bool encoder_read(void) {
int dir = opt_encoder_handler(p1, p2);
- if (dir == 0) return false;
- ;
- encoder_update_kb(0, dir == 1);
- return true;
+ if (dir == 0) return;
+ encoder_queue_event(0, dir == 1);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
diff --git a/keyboards/ploopyco/trackball_thumb/trackball_thumb.h b/keyboards/ploopyco/trackball_thumb/trackball_thumb.h
index 8ee17634f1..50a71601cf 100644
--- a/keyboards/ploopyco/trackball_thumb/trackball_thumb.h
+++ b/keyboards/ploopyco/trackball_thumb/trackball_thumb.h
@@ -28,9 +28,6 @@
#define OPT_ENC1_MUX 4
#define OPT_ENC2_MUX 0
-bool encoder_update_kb(uint8_t index, bool clockwise);
-bool encoder_update_user(uint8_t index, bool clockwise);
-
typedef union {
uint32_t raw;
struct {
diff --git a/keyboards/plywrks/ply8x/config.h b/keyboards/plywrks/ply8x/config.h
index cccedf8e23..3fc4de978d 100644
--- a/keyboards/plywrks/ply8x/config.h
+++ b/keyboards/plywrks/ply8x/config.h
@@ -3,12 +3,8 @@
#pragma once
-/* RGB */
#define WS2812_SPI_DRIVER SPID2
#define WS2812_SPI_MOSI_PAL_MODE 0
#define WS2812_SPI_SCK_PIN B13
#define WS2812_SPI_SCK_PAL_MODE 0
#define WS2812_EXTERNAL_PULLUP
-#define RGB_MATRIX_LED_COUNT 6
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/pom_keyboards/tnln95/config.h b/keyboards/pom_keyboards/tnln95/config.h
index 14f8d92d5d..d1b911c4c4 100644
--- a/keyboards/pom_keyboards/tnln95/config.h
+++ b/keyboards/pom_keyboards/tnln95/config.h
@@ -20,8 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 225 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h
index 0ca96c9164..7800131a90 100644
--- a/keyboards/preonic/rev3/config.h
+++ b/keyboards/preonic/rev3/config.h
@@ -41,8 +41,6 @@
//#define NO_ACTION_ONESHOT
// RGB Matrix support
-#define RGB_MATRIX_LED_COUNT 9
-
#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h
index 0ca96c9164..7800131a90 100644
--- a/keyboards/preonic/rev3_drop/config.h
+++ b/keyboards/preonic/rev3_drop/config.h
@@ -41,8 +41,6 @@
//#define NO_ACTION_ONESHOT
// RGB Matrix support
-#define RGB_MATRIX_LED_COUNT 9
-
#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
diff --git a/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c b/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c
deleted file mode 100644
index 5dbdc4cfc8..0000000000
--- a/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c
+++ /dev/null
@@ -1,79 +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
-
-enum primee_layers {
- _DEFAULT,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#define CTLESC MT(MOD_LCTL, KC_ESC)
-#define LWRSPC LT(_LOWER, KC_SPC)
-#define RSEENT LT(_RAISE, KC_ENT)
-#define MOADJ MO(_ADJUST)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_DEFAULT] = 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,
- CTLESC, 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, MOADJ, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, LWRSPC, RSEENT, KC_RALT, KC_RCTL, KC_RGUI
- ),
-
- [_LOWER] = LAYOUT(
- KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_RAISE] = LAYOUT(
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_ADJUST] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-void matrix_init_user(void) {
- // set CapsLock LED to output and low
- setPinOutput(B1);
- writePinLow(B1);
- // set NumLock LED to output and low
- setPinOutput(B2);
- writePinLow(B2);
- // set ScrollLock LED to output and low
- setPinOutput(B3);
- writePinLow(B3);
-}
-
-//function for layer indicator LED
-layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(B3, layer_state_cmp(state, 1));
- writePin(B2, layer_state_cmp(state, 2));
- writePin(B1, layer_state_cmp(state, 3));
-
- return state;
-}
diff --git a/keyboards/primekb/prime_e/keymaps/gwillad/readme.md b/keyboards/primekb/prime_e/keymaps/gwillad/readme.md
deleted file mode 100644
index 7886d3962e..0000000000
--- a/keyboards/primekb/prime_e/keymaps/gwillad/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Gwillad keymap for prime e
-This is gwillad's keymap for prime e
-
-Besides using a tweaked version of my prefered layout, this also includes:
-
-* code to use the prime e leds for layers (instead of caps lock or num lock or anything else), which I thought made more sense on a 40%
-* via enabled so people can still adjust their code without having to recompile
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h
deleted file mode 100644
index 4bcfa2ce5c..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 200
-
-// place overrides here
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
deleted file mode 100644
index 2f0290dc03..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 L1BS LT(2, KC_BSPC)
-#define LSUP LSFT_T(KC_UP)
-#define CTLL LCTL_T(KC_LEFT)
-#define ECTL LCTL_T(KC_ESC)
-#define ALLM ALL_T(KC_MINS)
-#define SCLS LT(3, KC_SCLN)
-
-// Establishes tap dance keys
-enum {
- TD_SPC_ENT = 0
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)
-
-};
-
-// 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] = {
-
-/* BASE
- * ,---------------------------------------------------------------------------------------------------------------,
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | NMLK | / | * | - |
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | 7 | 8 | 9 | + |
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | 4 | 5 | 6 | = |
- * | Ctrl | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Z | X | C | V | B | N | M | , | . | / | Up | 1 | 2 | 3 | |
- * | Shift| | | | | | | | | | | Shift| | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+ Enter|
- * | - | | | | Backspace | Space | | | Left | Down | Right| 0 | . | |
- * | ALL | Ctrl | Alt | GUI | Fn1 | | GUI | Alt | Ctrl | | | | | |
- * `---------------------------------------------------------------------------------------------------------------'
- */
-
- [0] = 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_7, KC_8, KC_9, KC_PPLS,
- ECTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLS, KC_QUOT, KC_4, KC_5, KC_6, KC_PEQL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LSUP, KC_1, KC_2, KC_3, KC_ENT,
- ALLM, KC_LCTL, KC_LALT, KC_LGUI, L1BS, L1BS, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, CTLL, KC_DOWN, KC_RIGHT, KC_0, KC_PDOT, KC_ENT
- ),
-
-/* GAME
- * ,---------------------------------------------------------------------------------------------------------------,
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | NMLK | / | * | - |
- * | ` | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | ' | 7 | 8 | 9 | + |
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Caps | A | S | D | F | G | H | J | K | L | ; | Rtrn | 4 | 5 | 6 | = |
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Z | X | C | V | B | N | M | , | . | / | Up | 1 | 2 | 3 | |
- * | Shift| | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+ Enter|
- * | | | | | Space | Backspace | | | Left | Down | Right| 0 | . | |
- * | Fn1 | Ctrl | Alt | Alt | | | GUI | DF(0)| | | | | | |
- * `---------------------------------------------------------------------------------------------------------------'
- */
-
- [1] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_7, KC_8, KC_9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_4, KC_5, KC_6, KC_PEQL,
- 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_1, KC_2, KC_3, KC_ENT,
- MO(2), KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_BSPC, KC_BSPC, KC_RGUI, DF(0), KC_LEFT, KC_DOWN, KC_RIGHT, KC_0, KC_PDOT, KC_ENT
- ),
-
-/* SYMBOL
- * ,---------------------------------------------------------------------------------------------------------------,
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+-------------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | # | [ | < | > | ] | _ | | | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | ~ | ( | { | } | ) | @ | - | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+ |
- * | | | | | | Enter | | | | | | | | |
- * | | | | | | | | | | | | | | |
- * `---------------------------------------------------------------------------------------------------------------'
- */
-
- [2] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- _______, _______, _______, KC_HASH, KC_LBRC, KC_LT, KC_GT, KC_RBRC, KC_UNDS, KC_PIPE, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_TILD, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_AT, KC_MINS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* SYSTEM
- * ,---------------------------------------------------------------------------------------------------------------,
- * | | | | | | | | | | | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+-------------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgUp | Home | Up | End | | | Vol- | Vol+ | Mute | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgDn | Left | Down |Right | | | Play | Prev | Next | | | | | | QK_BOOT|
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+ BL |
- * | | | | | | | | | | | | | BL | TGGL |
- * | GAME | | | | | | | | | | | | STEP | |
- * `---------------------------------------------------------------------------------------------------------------'
- */
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______,
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
- DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG
- ),
-
-};
-
-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;
-}
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md
deleted file mode 100644
index e14e989e32..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-![reasonsandreasons Layout Image](https://imgur.com/a/xIpn2U5)
-
-# reasonsandreasons's Prime_O Layout
-
-This is a relatively simple layout for the Prime_O, designed for mostly typing use and occasional gaming. I'm still testing it and there will likely be minor changes, but most of the bones of it will likely stay the same.
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk
deleted file mode 100644
index 645e8d523f..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = 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 this with audio at the same time.
-TAP_DANCE_ENABLE=yes # Enable Tap Dance
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/primekb/prime_r/keymaps/rooski/config.h b/keyboards/primekb/prime_r/keymaps/rooski/config.h
deleted file mode 100644
index 606f95096a..0000000000
--- a/keyboards/primekb/prime_r/keymaps/rooski/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 Andrew Heaston
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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
-
-
-// place overrides here
-
-#define DISABLE_SPACE_CADET_ROLLOVER
-
-
-#endif
diff --git a/keyboards/primekb/prime_r/keymaps/rooski/keymap.c b/keyboards/primekb/prime_r/keymaps/rooski/keymap.c
deleted file mode 100644
index 94e3535004..0000000000
--- a/keyboards/primekb/prime_r/keymaps/rooski/keymap.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Copyright 2018 Andrew Heaston @rooski15
- *
- * Developed by /u/holtenc at www.primekb.com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */// Prime_R Rev 1.0
-
-#include QMK_KEYBOARD_H
-
-//Arrow Cluster Toggle
-static bool arrow_toggle = false;
-
-//Arrow Keys
-enum custom_keycodes{
- AR_TOG = SAFE_RANGE, //Toggle Arrow Keys
- AR_LT, //Num0 or Left Arrow
- AR_RT, //NumEnt or Right Arrow
- AR_DN, //NumDot or Down Arrow
- AR_UP, //Num2 or Up Arrow
-};
-
-// Tap/Hold Space Layer
-#define SPC_LT LT(1, KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* (Base Layer) Default Layer
- * ,---------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -|BSP|DEL|HOM|END|
- * |---------------------------------------------------------------|
- * |Grv| Q| W| E| R| T| Y| U| I| O| P| [| ]| 7| 8| 9|
- * |---------------------------------------------------------------|
- * |Tab | A| S| D| F| G| H| J| K| L| '|Return| 4| 5| 6|
- * |---------------------------------------------------------------|
- * |Shift| Z| X| C| V| B| N| M| ,| .| ?|Shift| 1|ARU| 3| AR - U/D/L/R & Toggle
- * |---------------------------------------------------------------|
- * |Ctrl|Gui |Alt|TO1| 1/SP | 1/SP |ART|App|Alt|Ctrl |ARL|ARD|ARR| Arrow keys operate on AR Toggle to be numpad keys
- * `---------------------------------------------------------------'
- */
- // 0: Base Layer
- [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_BSPC, KC_DEL, KC_HOME, KC_END,
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_P4, KC_P5, KC_P6,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_P1, AR_UP, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, TO(1), SPC_LT, SPC_LT, AR_TOG, KC_APP, KC_RALT, KC_RCTL, AR_LT, AR_DN, AR_RT
- ),
-
- /* (Function Layer)
- * ,---------------------------------------------------------------.
- * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0| =|BSP|HOM|END|DEL|
- * |---------------------------------------------------------------|
- * |Grv| Q| W| E| R| T| Y| U| I| O| P| [| \| 7| 8| 9|
- * |---------------------------------------------------------------|
- * |BL | A| S| D| F| G| H| J| K| L| '|Return| 4| 5| 6|
- * |---------------------------------------------------------------|
- * |Shift| Z| X| C| V| B| N| M| ,| .| ?|Shift| 1|VUP| 3|
- * |---------------------------------------------------------------|
- * |Ctrl|Gui |Alt|TO0| 1/SP | 1/SP |ART|TO2|Alt|Ctrl |MUT|VDN|STP|
- * `---------------------------------------------------------------'
- */
- // 1: Function Layer
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQL, _______, KC_PSLS, KC_PAST, KC_PPLS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- _______, _______, _______, TO(0), _______, _______, _______, TO(2), _______, _______, KC_MUTE, KC_VOLD, KC_MSTP
- ),
-
- /* (Numpad Mods)
- * ,---------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -|BSP| /| *| +| Mirrors base layer, but with numpad mods
- * |---------------------------------------------------------------|
- * |Grv| Q| W| E| R| T| Y| U| I| O| P| [| ]| 7| 8| 9|
- * |---------------------------------------------------------------|
- * |Tab | A| S| D| F| G| H| J| K| L| ;|Return| 4| 5| 6|
- * |---------------------------------------------------------------|
- * |Shift| Z| X| C| V| B| N| M| ,| .| ?|Shift| 1|ARU| 3|
- * |---------------------------------------------------------------|
- * |Ctrl|Gui |Alt|TO0| 1/SP | 1/SP |ART|App|Alt|Ctrl |ARL|ARD|ARR|
- * `---------------------------------------------------------------'
- */
- // 2: Numpad Mods
- [2] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, _______, KC_PSLS, KC_PAST, KC_PPLS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RBRC, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AR_UP, _______,
- _______, _______, _______, TO(0), _______, _______, _______, KC_APP, _______, _______, AR_LT, AR_DN, AR_RT
- ),
-
- // 3: Extra
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
-
-void matrix_init_user(void) {
- if (get_backlight_level() != 0){
- backlight_toggle();
- }
-};
-
-void matrix_scan_user(void) {
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if(record->event.pressed){
- switch(keycode) {
- case AR_TOG:
- arrow_toggle = !arrow_toggle;
- backlight_toggle();
- return false; break;
-
- case AR_UP:
- if(arrow_toggle == 1){
- SEND_STRING(SS_DOWN(X_UP));
- } else {
- SEND_STRING(SS_DOWN(X_KP_2));
- }
- return false; break;
-
- case AR_DN:
- if(arrow_toggle == 1){
- SEND_STRING(SS_DOWN(X_DOWN));
- } else {
- SEND_STRING(SS_DOWN(X_KP_DOT));
- }
- return false; break;
-
- case AR_LT:
- if(arrow_toggle == 1){
- SEND_STRING(SS_DOWN(X_LEFT));
- } else {
- SEND_STRING(SS_DOWN(X_KP_0));
- }
- return false; break;
-
- case AR_RT:
- if(arrow_toggle == 1){
- SEND_STRING(SS_DOWN(X_RIGHT));
- } else {
- SEND_STRING(SS_DOWN(X_KP_ENTER));
- }
- return false; break;
- }
- }
- if(!record->event.pressed){
- switch(keycode) {
- case AR_UP:
- if(arrow_toggle == 1){
- SEND_STRING(SS_UP(X_UP));
- } else {
- SEND_STRING(SS_UP(X_KP_2));
- }
- return false; break;
- case AR_DN:
- if(arrow_toggle == 1){
- SEND_STRING(SS_UP(X_DOWN));
- } else {
- SEND_STRING(SS_UP(X_KP_DOT));
- }
- return false; break;
- case AR_LT:
- if(arrow_toggle == 1){
- SEND_STRING(SS_UP(X_LEFT));
- } else {
- SEND_STRING(SS_UP(X_KP_0));
- }
- return false; break;
- case AR_RT:
- if(arrow_toggle == 1){
- SEND_STRING(SS_UP(X_RIGHT));
- } else {
- SEND_STRING(SS_UP(X_KP_ENTER));
- }
- return false; break;
- }
- }
- return true;
-};
diff --git a/keyboards/primekb/prime_r/keymaps/rooski/readme.md b/keyboards/primekb/prime_r/keymaps/rooski/readme.md
deleted file mode 100644
index c61314ee09..0000000000
--- a/keyboards/primekb/prime_r/keymaps/rooski/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# /u/rooski15 layout
-
-Changes include numpad codes, layer additions, and a toggle-able arrow cluster that is non layer dependant. \ No newline at end of file
diff --git a/keyboards/primekb/prime_r/keymaps/rooski/rules.mk b/keyboards/primekb/prime_r/keymaps/rooski/rules.mk
deleted file mode 100644
index f816547680..0000000000
--- a/keyboards/primekb/prime_r/keymaps/rooski/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-
-COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/projectcain/vault35/atmega32u4/info.json b/keyboards/projectcain/vault35/atmega32u4/info.json
new file mode 100644
index 0000000000..9acd8ee34d
--- /dev/null
+++ b/keyboards/projectcain/vault35/atmega32u4/info.json
@@ -0,0 +1,45 @@
+{
+ "bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "D7", "pin_b": "D6", "resolution": 2}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "encoder": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"],
+ "rows": ["B4", "D4", "B0", "C7"]
+ },
+ "processor": "atmega32u4",
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "brightness_steps": 8,
+ "led_count": 12,
+ "saturation_steps": 8,
+ "sleep": true
+ },
+ "ws2812": {
+ "pin": "D5"
+ }
+}
diff --git a/keyboards/projectcain/vault35/atmega32u4/rules.mk b/keyboards/projectcain/vault35/atmega32u4/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/projectcain/vault35/atmega32u4/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/projectcain/vault35/config.h
deleted file mode 100644
index 7abf6b197c..0000000000
--- a/keyboards/projectcain/vault35/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2021 projectcain
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/projectcain/vault35/info.json b/keyboards/projectcain/vault35/info.json
index d23c4b2f46..5662cdbf6b 100644
--- a/keyboards/projectcain/vault35/info.json
+++ b/keyboards/projectcain/vault35/info.json
@@ -1,27 +1,22 @@
{
- "keyboard_name": "Vault35",
"manufacturer": "projectcain",
- "url": "",
+ "keyboard_name": "Vault35",
"maintainer": "projectcain",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x6060",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"],
- "rows": ["B4", "D4", "B0", "C7"]
- },
"diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "D6", "pin_b": "D7", "resolution": 2}
- ]
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "url": "https://mechvault.net",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6060",
+ "vid": "0xFEED"
},
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"layouts": {
- "LAYOUT_split_4space": {
+ "LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -33,8 +28,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -45,7 +39,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -56,16 +49,16 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
{"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
- {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75},
- {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75},
- {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25},
- {"matrix": [3, 7], "x": 8.5, "y": 3}
+ {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.5},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3, "w": 1.5},
+ {"matrix": [3, 6], "x": 7.75, "y": 3, "w": 1.25},
+ {"matrix": [3, 7], "x": 9, "y": 3}
]
},
- "LAYOUT_split_3space": {
+ "LAYOUT_full_space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -77,8 +70,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -89,7 +81,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -100,11 +91,8 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
- {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25},
- {"matrix": [3, 4], "x": 4.75, "y": 3},
- {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75},
+ {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
},
@@ -120,8 +108,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -132,7 +119,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -143,14 +129,13 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
{"matrix": [3, 3], "x": 2.5, "y": 3, "w": 3},
{"matrix": [3, 5], "x": 5.5, "y": 3, "w": 3},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
},
- "LAYOUT_full_space": {
+ "LAYOUT_split_3space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -162,8 +147,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -174,7 +158,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -185,9 +168,51 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
- {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6},
+ {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75},
+ {"matrix": [3, 7], "x": 8.5, "y": 3}
+ ]
+ },
+ "LAYOUT_split_4space": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+ {"matrix": [1, 1], "x": 1.25, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1},
+ {"matrix": [1, 3], "x": 3.25, "y": 1},
+ {"matrix": [1, 4], "x": 4.25, "y": 1},
+ {"matrix": [1, 5], "x": 5.25, "y": 1},
+ {"matrix": [1, 6], "x": 6.25, "y": 1},
+ {"matrix": [1, 7], "x": 7.25, "y": 1},
+ {"matrix": [1, 8], "x": 8.25, "y": 1},
+ {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.5, "y": 3},
+ {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75},
+ {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
}
diff --git a/keyboards/projectcain/vault35/keymaps/default/keymap.c b/keyboards/projectcain/vault35/keymaps/default/keymap.c
index 5bb3a622b2..ec9f350218 100644
--- a/keyboards/projectcain/vault35/keymaps/default/keymap.c
+++ b/keyboards/projectcain/vault35/keymaps/default/keymap.c
@@ -1,19 +1,18 @@
-
- /* Copyright 2021 projectcain
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+/* Copyright 2021 projectcain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include QMK_KEYBOARD_H
enum layers{
@@ -64,3 +63,11 @@ combo_t key_combos[] = {
[KL_SLSH] = COMBO(kl_combo, S(KC_SLSH)),
[JK_MINUS] = COMBO(jk_combo, KC_MINUS)
};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [BASE] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [NUM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [SYM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/projectcain/vault35/keymaps/default/rules.mk b/keyboards/projectcain/vault35/keymaps/default/rules.mk
index ff681299e4..cbd8b4aa81 100644
--- a/keyboards/projectcain/vault35/keymaps/default/rules.mk
+++ b/keyboards/projectcain/vault35/keymaps/default/rules.mk
@@ -1 +1,2 @@
-COMBO_ENABLE = yes \ No newline at end of file
+COMBO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/projectcain/vault35/rules.mk b/keyboards/projectcain/vault35/rules.mk
index b03b6fa905..3cf3a331d8 100644
--- a/keyboards/projectcain/vault35/rules.mk
+++ b/keyboards/projectcain/vault35/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
+DEFAULT_FOLDER = projectcain/vault35/atmega32u4
diff --git a/keyboards/projectd/65/projectd_65_ansi/config.h b/keyboards/projectd/65/projectd_65_ansi/config.h
index 8b162a2149..d7f9a52afe 100644
--- a/keyboards/projectd/65/projectd_65_ansi/config.h
+++ b/keyboards/projectd/65/projectd_65_ansi/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
@@ -33,6 +31,4 @@
#define SPI_MISO_PIN A6
#define AW20216S_CS_PIN_1 A15
-#define AW20216S_EN_PIN_1 C13
-
-#define RGB_MATRIX_LED_COUNT 71
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/projectd/65/projectd_65_ansi/info.json b/keyboards/projectd/65/projectd_65_ansi/info.json
index 861e3792db..9cfe8ffb5d 100644
--- a/keyboards/projectd/65/projectd_65_ansi/info.json
+++ b/keyboards/projectd/65/projectd_65_ansi/info.json
@@ -154,7 +154,8 @@
{ "flags": 4, "matrix": [0, 3], "x": 130, "y": 40 },
{ "flags": 4, "matrix": [1, 5], "x": 140, "y": 40 },
{ "flags": 4, "matrix": [2, 5], "x": 150, "y": 40 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c
index 0d6123ac01..e2a85a75c3 100644
--- a/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c
+++ b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c
@@ -18,91 +18,91 @@
#ifdef RGB_MATRIX_ENABLE
-const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to AW20216S manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, Esc
-
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, Esc
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 1, 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 2, 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 3, 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 4, 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 5, 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 6, 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 7, 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 8, 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 9, 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 10, 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 11, -
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 12, =
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 13, Backspace
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 14, Del
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 15, Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 16, Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 17, W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 18, E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 19, R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 20, T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 21, Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 22, U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 23, I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 24, O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 25, P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 26, [
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 27, ]
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 28, "\\"
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 29, PGUP
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 30, CapsLock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 31, A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 32, S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 33, D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 34, F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 35, G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 36, H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 37, J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 38, K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39, L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40, ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41, '
- {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 42, Enter
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 43, PGDN
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 44, LShift
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 45, Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 46, X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 47, C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 48, V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 49, B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 50, N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 51, M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 52, ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53, .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54, /
- {0, CS16_SW8, CS17_SW8, CS18_SW8}, // 55, RShift
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 56, Up
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 57, END
-
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 58, LCtrl
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 59, LWin
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 60, LAlt
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 61, LED71
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 62, LED72
- {0, CS16_SW4, CS17_SW4, CS18_SW4}, // 63, Space
- {0, CS16_SW7, CS17_SW7, CS18_SW7}, // 64, LED73
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 65, LED74
- {0, CS16_SW5, CS17_SW5, CS18_SW5}, // 66, RAlt
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 67, FN
-
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 68, Left
- {0, CS16_SW11, CS17_SW11, CS18_SW11}, // 69, Down
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 70, Right
+ //{0, SW4_CS1, SW4_CS2, SW4_CS3}, // 0, Esc
+
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, Esc
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 1, 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 2, 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 3, 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 4, 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 5, 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 6, 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 7, 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 8, 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 9, 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 10, 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // 11, -
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // 12, =
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // 13, Backspace
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // 14, Del
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 15, Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // 16, Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // 17, W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // 18, E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // 19, R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // 20, T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // 21, Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // 22, U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // 23, I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // 24, O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // 25, P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // 26, [
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // 27, ]
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // 28, "\\"
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // 29, PGUP
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // 30, CapsLock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // 31, A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // 32, S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // 33, D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // 34, F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // 35, G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // 36, H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // 37, J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // 38, K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // 39, L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // 40, ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // 41, '
+ {0, SW12_CS13, SW12_CS14, SW12_CS15}, // 42, Enter
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // 43, PGDN
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // 44, LShift
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // 45, Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // 46, X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // 47, C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // 48, V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // 49, B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // 50, N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // 51, M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // 52, ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // 53, .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // 54, /
+ {0, SW8_CS16, SW8_CS17, SW8_CS18}, // 55, RShift
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // 56, Up
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // 57, END
+
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // 58, LCtrl
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // 59, LWin
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // 60, LAlt
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // 61, LED71
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // 62, LED72
+ {0, SW4_CS16, SW4_CS17, SW4_CS18}, // 63, Space
+ {0, SW7_CS16, SW7_CS17, SW7_CS18}, // 64, LED73
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // 65, LED74
+ {0, SW5_CS16, SW5_CS17, SW5_CS18}, // 66, RAlt
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // 67, FN
+
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // 68, Left
+ {0, SW11_CS16, SW11_CS17, SW11_CS18}, // 69, Down
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // 70, Right
};
diff --git a/keyboards/projectd/75/ansi/ansi.c b/keyboards/projectd/75/ansi/ansi.c
index 1df7625002..f32bf369a9 100644
--- a/keyboards/projectd/75/ansi/ansi.c
+++ b/keyboards/projectd/75/ansi/ansi.c
@@ -18,108 +18,108 @@
#ifdef RGB_MATRIX_ENABLE
-const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, k00, Esc
-
- {0, CS1_SW1, CS2_SW1, CS3_SW1}, // Esc
- {0, CS1_SW2, CS2_SW2, CS3_SW2}, // F1
- {0, CS1_SW3, CS2_SW3, CS3_SW3}, // F2
- {0, CS1_SW4, CS2_SW4, CS3_SW4}, // F3
- {0, CS1_SW5, CS2_SW5, CS3_SW5}, // F4
- {0, CS1_SW6, CS2_SW6, CS3_SW6}, // F5
- {0, CS1_SW7, CS2_SW7, CS3_SW7}, // F6
- {0, CS1_SW8, CS2_SW8, CS3_SW8}, // F7
- {0, CS1_SW9, CS2_SW9, CS3_SW9}, // F8
- {0, CS1_SW10, CS2_SW10, CS3_SW10}, // F9
- {0, CS1_SW11, CS2_SW11, CS3_SW11}, // F10
- {0, CS1_SW12, CS2_SW12, CS3_SW12}, // F11
- {1, CS1_SW1, CS2_SW1, CS3_SW1}, // F12
- {1, CS4_SW1, CS5_SW1, CS6_SW1}, // Printscreen
- {1, CS4_SW3, CS5_SW3, CS6_SW3}, // Delete
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1}, // `
- {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 1
- {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 2
- {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 3
- {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 4
- {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 5
- {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 6
- {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 7
- {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 8
- {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 9
- {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 0
- {0, CS4_SW12, CS5_SW12, CS6_SW12}, // -
- {1, CS1_SW5, CS2_SW5, CS3_SW5}, // =
- {1, CS1_SW7, CS2_SW7, CS3_SW7}, // Backspace
- {1, CS4_SW5, CS5_SW5, CS6_SW5}, // Home
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1}, // Tab
- {0, CS7_SW2, CS8_SW2, CS9_SW2}, // Q
- {0, CS7_SW3, CS8_SW3, CS9_SW3}, // W
- {0, CS7_SW4, CS8_SW4, CS9_SW4}, // E
- {0, CS7_SW5, CS8_SW5, CS9_SW5}, // R
- {0, CS7_SW6, CS8_SW6, CS9_SW6}, // T
- {0, CS7_SW7, CS8_SW7, CS9_SW7}, // Y
- {0, CS7_SW8, CS8_SW8, CS9_SW8}, // U
- {0, CS7_SW9, CS8_SW9, CS9_SW9}, // I
- {0, CS7_SW10, CS8_SW10, CS9_SW10}, // O
- {0, CS7_SW11, CS8_SW11, CS9_SW11}, // P
- {0, CS7_SW12, CS8_SW12, CS9_SW12}, // [
- {1, CS1_SW8, CS2_SW8, CS3_SW8}, // ]
- {1, CS1_SW9, CS2_SW9, CS3_SW9}, // "\\"
- {1, CS4_SW4, CS5_SW4, CS6_SW4}, // PGUP
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1}, // Caps Lock
- {0, CS10_SW2, CS11_SW2, CS12_SW2}, // A
- {0, CS10_SW3, CS11_SW3, CS12_SW3}, // S
- {0, CS10_SW4, CS11_SW4, CS12_SW4}, // D
- {0, CS10_SW5, CS11_SW5, CS12_SW5}, // F
- {0, CS10_SW6, CS11_SW6, CS12_SW6}, // G
- {0, CS10_SW7, CS11_SW7, CS12_SW7}, // H
- {0, CS10_SW8, CS11_SW8, CS12_SW8}, // J
- {0, CS10_SW9, CS11_SW9, CS12_SW9}, // K
- {0, CS10_SW10, CS11_SW10, CS12_SW10}, // L
- {0, CS10_SW11, CS11_SW11, CS12_SW11}, // ;
- {0, CS10_SW12, CS11_SW12, CS12_SW12}, // '
- {1, CS1_SW11, CS2_SW11, CS3_SW11}, // Enter
- {1, CS4_SW7, CS5_SW7, CS6_SW7}, // PGDN
-
- {0, CS13_SW1, CS14_SW1, CS15_SW1}, // L Shift
- {0, CS13_SW2, CS14_SW2, CS15_SW2}, // Z
- {0, CS13_SW3, CS14_SW3, CS15_SW3}, // X
- {0, CS13_SW4, CS14_SW4, CS15_SW4}, // C
- {0, CS13_SW5, CS14_SW5, CS15_SW5}, // V
- {0, CS13_SW6, CS14_SW6, CS15_SW6}, // B
- {0, CS13_SW7, CS14_SW7, CS15_SW7}, // N
- {0, CS13_SW8, CS14_SW8, CS15_SW8}, // M
- {0, CS13_SW9, CS14_SW9, CS15_SW9}, // ,
- {0, CS13_SW10, CS14_SW10, CS15_SW10}, // .
- {0, CS13_SW11, CS14_SW11, CS15_SW11}, // "/""
- {1, CS4_SW8, CS5_SW8, CS6_SW8}, // R Shift
- {1, CS4_SW9, CS5_SW9, CS6_SW9}, // Up
- {1, CS4_SW6, CS5_SW6, CS6_SW6}, // END
-
- {0, CS16_SW1, CS17_SW1, CS18_SW1}, // L Ctrl
- {0, CS16_SW2, CS17_SW2, CS18_SW2}, // L Win
- {0, CS16_SW3, CS17_SW3, CS18_SW3}, // L Alt
- {0, CS16_SW4, CS17_SW4, CS18_SW4}, // LED1
- {0, CS16_SW5, CS17_SW5, CS18_SW5}, // LED2
- {0, CS16_SW6, CS17_SW6, CS18_SW6}, // Space
- {0, CS16_SW7, CS17_SW7, CS18_SW7}, // LED3
- {0, CS16_SW8, CS17_SW8, CS18_SW8}, // LED4
- {0, CS16_SW9, CS17_SW9, CS18_SW9}, // R Alt
- {0, CS16_SW10, CS17_SW10, CS18_SW10}, // FN
- {0, CS16_SW12, CS17_SW12, CS18_SW12}, // R Ctrl
-
- {1, CS4_SW10, CS5_SW10, CS6_SW10}, // Left
- {1, CS4_SW11, CS5_SW11, CS6_SW11}, // Down
- {1, CS10_SW5, CS11_SW5, CS12_SW5}, // Right
+ //{0, SW4_CS1, SW4_CS2, SW4_CS3}, // 0, k00, Esc
+
+ {0, SW1_CS1, SW1_CS2, SW1_CS3}, // Esc
+ {0, SW2_CS1, SW2_CS2, SW2_CS3}, // F1
+ {0, SW3_CS1, SW3_CS2, SW3_CS3}, // F2
+ {0, SW4_CS1, SW4_CS2, SW4_CS3}, // F3
+ {0, SW5_CS1, SW5_CS2, SW5_CS3}, // F4
+ {0, SW6_CS1, SW6_CS2, SW6_CS3}, // F5
+ {0, SW7_CS1, SW7_CS2, SW7_CS3}, // F6
+ {0, SW8_CS1, SW8_CS2, SW8_CS3}, // F7
+ {0, SW9_CS1, SW9_CS2, SW9_CS3}, // F8
+ {0, SW10_CS1, SW10_CS2, SW10_CS3}, // F9
+ {0, SW11_CS1, SW11_CS2, SW11_CS3}, // F10
+ {0, SW12_CS1, SW12_CS2, SW12_CS3}, // F11
+ {1, SW1_CS1, SW1_CS2, SW1_CS3}, // F12
+ {1, SW1_CS4, SW1_CS5, SW1_CS6}, // Printscreen
+ {1, SW3_CS4, SW3_CS5, SW3_CS6}, // Delete
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6}, // `
+ {0, SW2_CS4, SW2_CS5, SW2_CS6}, // 1
+ {0, SW3_CS4, SW3_CS5, SW3_CS6}, // 2
+ {0, SW4_CS4, SW4_CS5, SW4_CS6}, // 3
+ {0, SW5_CS4, SW5_CS5, SW5_CS6}, // 4
+ {0, SW6_CS4, SW6_CS5, SW6_CS6}, // 5
+ {0, SW7_CS4, SW7_CS5, SW7_CS6}, // 6
+ {0, SW8_CS4, SW8_CS5, SW8_CS6}, // 7
+ {0, SW9_CS4, SW9_CS5, SW9_CS6}, // 8
+ {0, SW10_CS4, SW10_CS5, SW10_CS6}, // 9
+ {0, SW11_CS4, SW11_CS5, SW11_CS6}, // 0
+ {0, SW12_CS4, SW12_CS5, SW12_CS6}, // -
+ {1, SW5_CS1, SW5_CS2, SW5_CS3}, // =
+ {1, SW7_CS1, SW7_CS2, SW7_CS3}, // Backspace
+ {1, SW5_CS4, SW5_CS5, SW5_CS6}, // Home
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9}, // Tab
+ {0, SW2_CS7, SW2_CS8, SW2_CS9}, // Q
+ {0, SW3_CS7, SW3_CS8, SW3_CS9}, // W
+ {0, SW4_CS7, SW4_CS8, SW4_CS9}, // E
+ {0, SW5_CS7, SW5_CS8, SW5_CS9}, // R
+ {0, SW6_CS7, SW6_CS8, SW6_CS9}, // T
+ {0, SW7_CS7, SW7_CS8, SW7_CS9}, // Y
+ {0, SW8_CS7, SW8_CS8, SW8_CS9}, // U
+ {0, SW9_CS7, SW9_CS8, SW9_CS9}, // I
+ {0, SW10_CS7, SW10_CS8, SW10_CS9}, // O
+ {0, SW11_CS7, SW11_CS8, SW11_CS9}, // P
+ {0, SW12_CS7, SW12_CS8, SW12_CS9}, // [
+ {1, SW8_CS1, SW8_CS2, SW8_CS3}, // ]
+ {1, SW9_CS1, SW9_CS2, SW9_CS3}, // "\\"
+ {1, SW4_CS4, SW4_CS5, SW4_CS6}, // PGUP
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12}, // Caps Lock
+ {0, SW2_CS10, SW2_CS11, SW2_CS12}, // A
+ {0, SW3_CS10, SW3_CS11, SW3_CS12}, // S
+ {0, SW4_CS10, SW4_CS11, SW4_CS12}, // D
+ {0, SW5_CS10, SW5_CS11, SW5_CS12}, // F
+ {0, SW6_CS10, SW6_CS11, SW6_CS12}, // G
+ {0, SW7_CS10, SW7_CS11, SW7_CS12}, // H
+ {0, SW8_CS10, SW8_CS11, SW8_CS12}, // J
+ {0, SW9_CS10, SW9_CS11, SW9_CS12}, // K
+ {0, SW10_CS10, SW10_CS11, SW10_CS12}, // L
+ {0, SW11_CS10, SW11_CS11, SW11_CS12}, // ;
+ {0, SW12_CS10, SW12_CS11, SW12_CS12}, // '
+ {1, SW11_CS1, SW11_CS2, SW11_CS3}, // Enter
+ {1, SW7_CS4, SW7_CS5, SW7_CS6}, // PGDN
+
+ {0, SW1_CS13, SW1_CS14, SW1_CS15}, // L Shift
+ {0, SW2_CS13, SW2_CS14, SW2_CS15}, // Z
+ {0, SW3_CS13, SW3_CS14, SW3_CS15}, // X
+ {0, SW4_CS13, SW4_CS14, SW4_CS15}, // C
+ {0, SW5_CS13, SW5_CS14, SW5_CS15}, // V
+ {0, SW6_CS13, SW6_CS14, SW6_CS15}, // B
+ {0, SW7_CS13, SW7_CS14, SW7_CS15}, // N
+ {0, SW8_CS13, SW8_CS14, SW8_CS15}, // M
+ {0, SW9_CS13, SW9_CS14, SW9_CS15}, // ,
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}, // .
+ {0, SW11_CS13, SW11_CS14, SW11_CS15}, // "/""
+ {1, SW8_CS4, SW8_CS5, SW8_CS6}, // R Shift
+ {1, SW9_CS4, SW9_CS5, SW9_CS6}, // Up
+ {1, SW6_CS4, SW6_CS5, SW6_CS6}, // END
+
+ {0, SW1_CS16, SW1_CS17, SW1_CS18}, // L Ctrl
+ {0, SW2_CS16, SW2_CS17, SW2_CS18}, // L Win
+ {0, SW3_CS16, SW3_CS17, SW3_CS18}, // L Alt
+ {0, SW4_CS16, SW4_CS17, SW4_CS18}, // LED1
+ {0, SW5_CS16, SW5_CS17, SW5_CS18}, // LED2
+ {0, SW6_CS16, SW6_CS17, SW6_CS18}, // Space
+ {0, SW7_CS16, SW7_CS17, SW7_CS18}, // LED3
+ {0, SW8_CS16, SW8_CS17, SW8_CS18}, // LED4
+ {0, SW9_CS16, SW9_CS17, SW9_CS18}, // R Alt
+ {0, SW10_CS16, SW10_CS17, SW10_CS18}, // FN
+ {0, SW12_CS16, SW12_CS17, SW12_CS18}, // R Ctrl
+
+ {1, SW10_CS4, SW10_CS5, SW10_CS6}, // Left
+ {1, SW11_CS4, SW11_CS5, SW11_CS6}, // Down
+ {1, SW5_CS10, SW5_CS11, SW5_CS12}, // Right
};
#endif
diff --git a/keyboards/projectd/75/ansi/config.h b/keyboards/projectd/75/ansi/config.h
index 3b685c09b8..a42dd6c1ee 100644
--- a/keyboards/projectd/75/ansi/config.h
+++ b/keyboards/projectd/75/ansi/config.h
@@ -21,8 +21,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* External spi flash */
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
@@ -32,11 +30,6 @@
#define SPI_MOSI_PIN A7
#define SPI_MISO_PIN A6
-#define DRIVER_1_CS A15
-#define DRIVER_2_CS B15
-#define DRIVER_1_EN C13
-#define DRIVER_2_EN C13
-
-#define DRIVER_1_LED_TOTAL 70
-#define DRIVER_2_LED_TOTAL 17
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+#define AW20216S_CS_PIN_1 A15
+#define AW20216S_CS_PIN_2 B15
+#define AW20216S_EN_PIN C13
diff --git a/keyboards/projectd/75/ansi/info.json b/keyboards/projectd/75/ansi/info.json
index 0e137de614..2e57c35328 100644
--- a/keyboards/projectd/75/ansi/info.json
+++ b/keyboards/projectd/75/ansi/info.json
@@ -81,7 +81,7 @@
"solid_multisplash": true
},
"center_point": [78, 20],
- "driver": "aw20216",
+ "driver": "aw20216s",
"layout": [
{ "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [2, 6], "x": 12.5, "y": 0 },
@@ -175,7 +175,8 @@
{ "flags": 4, "matrix": [0, 3], "x": 132.5, "y": 52.5 },
{ "flags": 4, "matrix": [7, 3], "x": 142.5, "y": 52.5 },
{ "flags": 4, "matrix": [0, 5], "x": 152.5, "y": 52.5 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/prototypist/oceanographer/config.h b/keyboards/prototypist/oceanographer/config.h
index e5719bb137..ed9c00df90 100644
--- a/keyboards/prototypist/oceanographer/config.h
+++ b/keyboards/prototypist/oceanographer/config.h
@@ -3,12 +3,6 @@
#pragma once
-// RGB Light settings
-#define RGBLIGHT_LAYERS
-
-#define RGBLIGHT_MAX_LAYERS 4
-#define RGBLIGHT_DEFAULT_VAL 155
-
// Audio Settings
#ifdef AUDIO_ENABLE
diff --git a/keyboards/prototypist/oceanographer/info.json b/keyboards/prototypist/oceanographer/info.json
index 488f17eeb9..d7117d6abc 100644
--- a/keyboards/prototypist/oceanographer/info.json
+++ b/keyboards/prototypist/oceanographer/info.json
@@ -30,6 +30,13 @@
"animations": {
"alternating": true,
"breathing": true
+ },
+ "default": {
+ "val": 155
+ },
+ "layers": {
+ "enabled": true,
+ "max": 4
}
},
"matrix_pins": {
diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
deleted file mode 100644
index 96499b8789..0000000000
--- a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2021-22 Will McGLoughlin (wymcg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _NAV,
- _PROD
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT,
- TO(_NAV), G(KC_1), G(KC_2), G(KC_3),
- TO(_PROD), G(KC_4), G(KC_5), G(KC_6)
- ),
- [_NAV] = LAYOUT(
- TO(_BASE), KC_HOME, KC_UP, KC_END,
- A(KC_TAB), KC_LEFT, KC_DOWN, KC_RIGHT,
- G(KC_TAB), KC_PGDN, KC_PGUP, MO(_BASE)
- ),
- [_PROD] = LAYOUT(
- TO(_BASE), KC_NO, KC_NO, KC_NO,
- C(KC_Z), C(KC_X), C(KC_C), C(KC_V),
- C(KC_A), C(KC_LEFT), C(KC_RIGHT),MO(_BASE)
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (biton32(layer_state)) {
- case _BASE:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- case _NAV:
- if (clockwise) {
- tap_code16(C(G(KC_RIGHT)));
- } else {
- tap_code16(C(G(KC_LEFT)));
- }
- break;
- case _PROD:
- if (clockwise) {
- tap_code16(C(KC_Y));
- } else {
- tap_code16(C(KC_Z));
- }
- break;
- }
- return false;
-}
diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md b/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
deleted file mode 100644
index 60d2f19be3..0000000000
--- a/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# wymcg's custom keymap
diff --git a/keyboards/pw88/config.h b/keyboards/pw88/config.h
deleted file mode 100644
index f655b92527..0000000000
--- a/keyboards/pw88/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2023 Matthijs Muller
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should 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 WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/q4z/keymaps/default/rules.mk b/keyboards/q4z/keymaps/default/rules.mk
deleted file mode 100644
index ab1e438182..0000000000
--- a/keyboards/q4z/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMBO_ENABLE = yes
diff --git a/keyboards/q4z/keymaps/rjboone/config.h b/keyboards/q4z/keymaps/rjboone/config.h
deleted file mode 100644
index 9264f33bae..0000000000
--- a/keyboards/q4z/keymaps/rjboone/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 rjboone
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 300
-
-#define COMBO_TERM 50
diff --git a/keyboards/q4z/keymaps/rjboone/keymap.c b/keyboards/q4z/keymaps/rjboone/keymap.c
deleted file mode 100644
index c54ec014ec..0000000000
--- a/keyboards/q4z/keymaps/rjboone/keymap.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright 2021 rjboone
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers{
- _BASE,
- _NUM_SYM,
- _NAV,
- _GAME
-};
-
-enum combo_events {
- COMBO_BSPC,
- COMBO_NUMBAK,
- COMBO_TAB,
- COMBO_ESC,
- COMBO_DEL,
-};
-
-#define KC_GA LGUI_T(KC_A)
-#define KC_AS LALT_T(KC_S)
-#define KC_CD LCTL_T(KC_D)
-#define KC_SF LSFT_T(KC_F)
-#define KC_SJ RSFT_T(KC_J)
-#define KC_CK RCTL_T(KC_K)
-#define KC_AL RALT_T(KC_L)
-#define KC_GSCLN RGUI_T(KC_SCLN)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_SF, KC_G, KC_H, KC_SJ, 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_LCTL, KC_LALT, KC_LGUI, LT(_NUM_SYM, KC_ENT), KC_SPC, MO(_NAV), TG(_GAME), KC_SLSH
- ),
-
- [_NUM_SYM] = LAYOUT(
- 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_MINS, KC_LBRC, KC_RBRC, KC_EQL, KC_TRNS, KC_TRNS, KC_QUOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_BSLS
- ),
-
- [_NAV] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_GAME] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_ENT, KC_NO, TG(_GAME), KC_NO
- ),
-};
-
-#ifdef COMBO_ENABLE
-const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
-const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
-const uint16_t PROGMEM combo_tab[] = {KC_A, KC_S, COMBO_END};
-const uint16_t PROGMEM combo_esc[] = {KC_Q, KC_W, COMBO_END};
-const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
-
-combo_t key_combos[] = {
- [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
- [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
- [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
- [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
- [COMBO_DEL] = COMBO(combo_del,KC_DEL),
-
-};
-#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-#ifdef COMBO_ENABLE
- switch(get_highest_layer(state)) {
- case _GAME:
- combo_disable();
- break;
- default:
- combo_enable();
- break;
- }
-#endif // COMBO_ENABLE
-
- return state;
-}
diff --git a/keyboards/q4z/keymaps/rjboone/readme.md b/keyboards/q4z/keymaps/rjboone/readme.md
deleted file mode 100644
index 29f2d31f6f..0000000000
--- a/keyboards/q4z/keymaps/rjboone/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Default Le Chiffre Keymap
diff --git a/keyboards/q4z/keymaps/rjboone/rules.mk b/keyboards/q4z/keymaps/rjboone/rules.mk
deleted file mode 100644
index ab1e438182..0000000000
--- a/keyboards/q4z/keymaps/rjboone/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMBO_ENABLE = yes
diff --git a/keyboards/q4z/readme.md b/keyboards/q4z/readme.md
deleted file mode 100644
index 6b3839a2cb..0000000000
--- a/keyboards/q4z/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Q4Z
-
-![Q4Z](https://cdn.shopify.com/s/files/1/0501/7537/7592/products/q4n-6_470x.jpg?v=1623373518)
-
-Q4Z is a play on everybody's favorite 10.25u layout. With the addition of 5 number keys and a handle,
-this little board is ready for whatever a raging gamer can throw it at.
-
-* Keyboard Maintainer: [Ryan Boone](https://github.com/rjboone) (Drmmr#0004)
-* Hardware Supported: Pro Micro or equivalent
-* Hardware Availability: This board is available to purchase from [P3D Store](https://p3dstore.com)
-
-Make example for this keyboard (after setting up your build environment):
-
- make q4z:default
-
-Flashing example for this keyboard:
-
- make q4z:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/qpockets/space_space/rev2/config.h b/keyboards/qpockets/space_space/rev2/config.h
index 02bd670f71..9f86bdabd7 100644
--- a/keyboards/qpockets/space_space/rev2/config.h
+++ b/keyboards/qpockets/space_space/rev2/config.h
@@ -17,5 +17,3 @@
#pragma once
#define LOCKING_SUPPORT_ENABLE
-
-#define RGBLIGHT_DEFAULT_HUE 130
diff --git a/keyboards/qpockets/space_space/rev2/info.json b/keyboards/qpockets/space_space/rev2/info.json
index 45cdb5870a..3fe0f71497 100644
--- a/keyboards/qpockets/space_space/rev2/info.json
+++ b/keyboards/qpockets/space_space/rev2/info.json
@@ -20,7 +20,10 @@
]
},
"rgblight": {
- "led_count": 4
+ "led_count": 4,
+ "default": {
+ "hue": 130
+ }
},
"ws2812": {
"pin": "F0"
diff --git a/keyboards/quadrum/delta/info.json b/keyboards/quadrum/delta/info.json
index 118a2dcbd6..bfdc0afd62 100644
--- a/keyboards/quadrum/delta/info.json
+++ b/keyboards/quadrum/delta/info.json
@@ -4,6 +4,9 @@
"maintainer": "Sleepdealr",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
@@ -11,7 +14,6 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "lto": true,
"encoder": true
},
"matrix_pins": {
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index 84b3e5c03e..d531fe5c4c 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -14,35 +14,6 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 47
-#define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-
-// RGB_MATRIX effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS //Enables RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_BREATHING //Enables RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN //Enables RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON //Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN //Enables RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL //Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL //Enables RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL //Enables RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON //Enables RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON //Enables RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS //Enables RGB_MATRIX_RAINBOW_PINWHEELS
-
-// RGB_MATRIX reactive effects
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-#endif
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define RGBLIGHT_LAYERS
diff --git a/keyboards/quarkeys/z40/info.json b/keyboards/quarkeys/z40/info.json
index a045a9831a..6e7d213614 100644
--- a/keyboards/quarkeys/z40/info.json
+++ b/keyboards/quarkeys/z40/info.json
@@ -9,10 +9,31 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "breathing": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "multisplash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "max_brightness": 130,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
diff --git a/keyboards/quarkeys/z40/z40.c b/keyboards/quarkeys/z40/z40.c
index 18ebec736b..edd8946c11 100644
--- a/keyboards/quarkeys/z40/z40.c
+++ b/keyboards/quarkeys/z40/z40.c
@@ -26,7 +26,7 @@ led_config_t g_led_config = { {
{ 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35 },
{ 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23 },
{ 22, 21, 20, 29, 18, 17, 16, 15, 14, 13, 12, 11 },
- { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }
+ { 10, 9, 8, 7, 6, 5, NO_LED, 4, 3, 2, 1, 0 }
},
{ // Index to Physical Position
{225, 64}, {200, 64}, {180, 64}, {160, 64}, {140, 64}, {110, 64}, { 80, 64}, { 60, 64}, { 40, 64}, { 20, 64}, { 0, 64},
diff --git a/keyboards/quokka/config.h b/keyboards/quokka/config.h
index 6cacf0d545..ae94f33a6f 100644
--- a/keyboards/quokka/config.h
+++ b/keyboards/quokka/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 150U
#define WS2812_PIO_USE_PIO1
-#define RGB_MATRIX_LED_COUNT 36
#define I2C_DRIVER I2CD1
#define I2C1_SDA_PIN GP2
diff --git a/keyboards/quokka/info.json b/keyboards/quokka/info.json
index 86037222bb..0c34b0ee65 100644
--- a/keyboards/quokka/info.json
+++ b/keyboards/quokka/info.json
@@ -10,7 +10,6 @@
"features": {
"audio": true,
"extrakey": true,
- "lto": true,
"oled": true,
"rgb_matrix": true
},
@@ -23,42 +22,42 @@
"center_point": [133, 54],
"driver": "ws2812",
"layout": [
- { "flags": 4, "matrix": [3, 4], "x": 122, "y": 85 },
- { "flags": 4, "matrix": [3, 3], "x": 102, "y": 85 },
- { "flags": 4, "matrix": [3, 2], "x": 81, "y": 85 },
- { "flags": 4, "matrix": [2, 4], "x": 102, "y": 64 },
- { "flags": 4, "matrix": [1, 4], "x": 102, "y": 43 },
- { "flags": 4, "matrix": [0, 4], "x": 102, "y": 21 },
- { "flags": 4, "matrix": [0, 3], "x": 81, "y": 21 },
- { "flags": 4, "matrix": [1, 3], "x": 81, "y": 43 },
- { "flags": 4, "matrix": [2, 3], "x": 81, "y": 64 },
- { "flags": 4, "matrix": [2, 2], "x": 61, "y": 64 },
- { "flags": 4, "matrix": [1, 2], "x": 61, "y": 43 },
- { "flags": 4, "matrix": [0, 2], "x": 61, "y": 21 },
- { "flags": 4, "matrix": [0, 1], "x": 41, "y": 21 },
- { "flags": 4, "matrix": [1, 1], "x": 41, "y": 43 },
- { "flags": 4, "matrix": [2, 1], "x": 41, "y": 64 },
- { "flags": 4, "matrix": [2, 0], "x": 20, "y": 64 },
- { "flags": 4, "matrix": [1, 0], "x": 20, "y": 43 },
- { "flags": 4, "matrix": [0, 0], "x": 20, "y": 21 },
- { "flags": 4, "matrix": [7, 0], "x": 143, "y": 85 },
- { "flags": 4, "matrix": [7, 1], "x": 163, "y": 85 },
- { "flags": 4, "matrix": [7, 2], "x": 183, "y": 85 },
- { "flags": 4, "matrix": [6, 0], "x": 163, "y": 64 },
- { "flags": 4, "matrix": [5, 0], "x": 163, "y": 43 },
- { "flags": 4, "matrix": [4, 0], "x": 163, "y": 21 },
- { "flags": 4, "matrix": [4, 1], "x": 183, "y": 21 },
- { "flags": 4, "matrix": [5, 1], "x": 183, "y": 43 },
- { "flags": 4, "matrix": [6, 1], "x": 183, "y": 64 },
- { "flags": 4, "matrix": [6, 2], "x": 204, "y": 64 },
- { "flags": 4, "matrix": [5, 2], "x": 204, "y": 43 },
- { "flags": 4, "matrix": [4, 2], "x": 204, "y": 21 },
- { "flags": 4, "matrix": [4, 3], "x": 224, "y": 21 },
- { "flags": 4, "matrix": [5, 3], "x": 224, "y": 43 },
- { "flags": 4, "matrix": [6, 3], "x": 224, "y": 64 },
- { "flags": 4, "matrix": [6, 4], "x": 244, "y": 64 },
- { "flags": 4, "matrix": [5, 4], "x": 244, "y": 43 },
- { "flags": 4, "matrix": [4, 4], "x": 244, "y": 21 }
+ {"matrix": [3, 4], "x": 122, "y": 85, "flags": 4},
+ {"matrix": [3, 3], "x": 102, "y": 85, "flags": 4},
+ {"matrix": [3, 2], "x": 81, "y": 85, "flags": 4},
+ {"matrix": [2, 4], "x": 102, "y": 64, "flags": 4},
+ {"matrix": [1, 4], "x": 102, "y": 43, "flags": 4},
+ {"matrix": [0, 4], "x": 102, "y": 21, "flags": 4},
+ {"matrix": [0, 3], "x": 81, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 81, "y": 43, "flags": 4},
+ {"matrix": [2, 3], "x": 81, "y": 64, "flags": 4},
+ {"matrix": [2, 2], "x": 61, "y": 64, "flags": 4},
+ {"matrix": [1, 2], "x": 61, "y": 43, "flags": 4},
+ {"matrix": [0, 2], "x": 61, "y": 21, "flags": 4},
+ {"matrix": [0, 1], "x": 41, "y": 21, "flags": 4},
+ {"matrix": [1, 1], "x": 41, "y": 43, "flags": 4},
+ {"matrix": [2, 1], "x": 41, "y": 64, "flags": 4},
+ {"matrix": [2, 0], "x": 20, "y": 64, "flags": 4},
+ {"matrix": [1, 0], "x": 20, "y": 43, "flags": 4},
+ {"matrix": [0, 0], "x": 20, "y": 21, "flags": 4},
+ {"matrix": [7, 0], "x": 143, "y": 85, "flags": 4},
+ {"matrix": [7, 1], "x": 163, "y": 85, "flags": 4},
+ {"matrix": [7, 2], "x": 183, "y": 85, "flags": 4},
+ {"matrix": [6, 0], "x": 163, "y": 64, "flags": 4},
+ {"matrix": [5, 0], "x": 163, "y": 43, "flags": 4},
+ {"matrix": [4, 0], "x": 163, "y": 21, "flags": 4},
+ {"matrix": [4, 1], "x": 183, "y": 21, "flags": 4},
+ {"matrix": [5, 1], "x": 183, "y": 43, "flags": 4},
+ {"matrix": [6, 1], "x": 183, "y": 64, "flags": 4},
+ {"matrix": [6, 2], "x": 204, "y": 64, "flags": 4},
+ {"matrix": [5, 2], "x": 204, "y": 43, "flags": 4},
+ {"matrix": [4, 2], "x": 204, "y": 21, "flags": 4},
+ {"matrix": [4, 3], "x": 224, "y": 21, "flags": 4},
+ {"matrix": [5, 3], "x": 224, "y": 43, "flags": 4},
+ {"matrix": [6, 3], "x": 224, "y": 64, "flags": 4},
+ {"matrix": [6, 4], "x": 244, "y": 64, "flags": 4},
+ {"matrix": [5, 4], "x": 244, "y": 43, "flags": 4},
+ {"matrix": [4, 4], "x": 244, "y": 21, "flags": 4}
],
"split_count": [18, 18]
},
@@ -76,45 +75,46 @@
"driver": "vendor",
"pin": "GP29"
},
+ "community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
- { "label": "L00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "L01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "L02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "L03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "L04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "R00", "matrix": [4, 4], "w": 1, "x": 5, "y": 0 },
- { "label": "R01", "matrix": [4, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "R02", "matrix": [4, 2], "w": 1, "x": 7, "y": 0 },
- { "label": "R03", "matrix": [4, 1], "w": 1, "x": 8, "y": 0 },
- { "label": "R04", "matrix": [4, 0], "w": 1, "x": 9, "y": 0 },
- { "label": "L10", "matrix": [1, 0], "w": 1, "x": 10, "y": 0 },
- { "label": "L11", "matrix": [1, 1], "w": 1, "x": 11, "y": 0 },
- { "label": "L12", "matrix": [1, 2], "w": 1, "x": 12, "y": 0 },
- { "label": "L13", "matrix": [1, 3], "w": 1, "x": 13, "y": 0 },
- { "label": "L14", "matrix": [1, 4], "w": 1, "x": 14, "y": 0 },
- { "label": "R10", "matrix": [5, 4], "w": 1, "x": 15, "y": 0 },
- { "label": "R11", "matrix": [5, 3], "w": 1, "x": 16, "y": 0 },
- { "label": "R12", "matrix": [5, 2], "w": 1, "x": 17, "y": 0 },
- { "label": "R13", "matrix": [5, 1], "w": 1, "x": 18, "y": 0 },
- { "label": "R14", "matrix": [5, 0], "w": 1, "x": 19, "y": 0 },
- { "label": "L20", "matrix": [2, 0], "w": 1, "x": 20, "y": 0 },
- { "label": "L21", "matrix": [2, 1], "w": 1, "x": 21, "y": 0 },
- { "label": "L22", "matrix": [2, 2], "w": 1, "x": 22, "y": 0 },
- { "label": "L23", "matrix": [2, 3], "w": 1, "x": 23, "y": 0 },
- { "label": "L24", "matrix": [2, 4], "w": 1, "x": 24, "y": 0 },
- { "label": "R20", "matrix": [6, 4], "w": 1, "x": 25, "y": 0 },
- { "label": "R21", "matrix": [6, 3], "w": 1, "x": 26, "y": 0 },
- { "label": "R22", "matrix": [6, 2], "w": 1, "x": 27, "y": 0 },
- { "label": "R23", "matrix": [6, 1], "w": 1, "x": 28, "y": 0 },
- { "label": "R24", "matrix": [6, 0], "w": 1, "x": 29, "y": 0 },
- { "label": "L32", "matrix": [3, 2], "w": 1, "x": 30, "y": 0 },
- { "label": "L33", "matrix": [3, 3], "w": 1, "x": 31, "y": 0 },
- { "label": "L34", "matrix": [3, 4], "w": 1, "x": 32, "y": 0 },
- { "label": "R30", "matrix": [7, 4], "w": 1, "x": 33, "y": 0 },
- { "label": "R31", "matrix": [7, 3], "w": 1, "x": 34, "y": 0 },
- { "label": "R32", "matrix": [7, 2], "w": 1, "x": 35, "y": 0 }
+ {"label": "L00", "matrix": [0, 0], "x": 0, "y": 1.25},
+ {"label": "L01", "matrix": [0, 1], "x": 1, "y": 0.25},
+ {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0.5},
+ {"label": "L04", "matrix": [0, 4], "x": 4, "y": 0.65},
+ {"label": "R00", "matrix": [4, 4], "x": 7, "y": 0.65},
+ {"label": "R01", "matrix": [4, 3], "x": 8, "y": 0.5},
+ {"label": "R02", "matrix": [4, 2], "x": 9, "y": 0},
+ {"label": "R03", "matrix": [4, 1], "x": 10, "y": 0.25},
+ {"label": "R04", "matrix": [4, 0], "x": 11, "y": 1.25},
+ {"label": "L10", "matrix": [1, 0], "x": 0, "y": 2.25},
+ {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "L12", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "L13", "matrix": [1, 3], "x": 3, "y": 1.5},
+ {"label": "L14", "matrix": [1, 4], "x": 4, "y": 1.65},
+ {"label": "R10", "matrix": [5, 4], "x": 7, "y": 1.65},
+ {"label": "R11", "matrix": [5, 3], "x": 8, "y": 1.5},
+ {"label": "R12", "matrix": [5, 2], "x": 9, "y": 1},
+ {"label": "R13", "matrix": [5, 1], "x": 10, "y": 1.25},
+ {"label": "R14", "matrix": [5, 0], "x": 11, "y": 2.25},
+ {"label": "L20", "matrix": [2, 0], "x": 0, "y": 3.25},
+ {"label": "L21", "matrix": [2, 1], "x": 1, "y": 2.25},
+ {"label": "L22", "matrix": [2, 2], "x": 2, "y": 2},
+ {"label": "L23", "matrix": [2, 3], "x": 3, "y": 2.5},
+ {"label": "L24", "matrix": [2, 4], "x": 4, "y": 2.65},
+ {"label": "R20", "matrix": [6, 4], "x": 7, "y": 2.65},
+ {"label": "R21", "matrix": [6, 3], "x": 8, "y": 2.5},
+ {"label": "R22", "matrix": [6, 2], "x": 9, "y": 2},
+ {"label": "R23", "matrix": [6, 1], "x": 10, "y": 2.25},
+ {"label": "R24", "matrix": [6, 0], "x": 11, "y": 3.25},
+ {"label": "L32", "matrix": [3, 2], "x": 2.5, "y": 3.65},
+ {"label": "L33", "matrix": [3, 3], "x": 3.5, "y": 3.75},
+ {"label": "L34", "matrix": [3, 4], "x": 4.5, "y": 4.15},
+ {"label": "R30", "matrix": [7, 4], "x": 6.5, "y": 4.15},
+ {"label": "R31", "matrix": [7, 3], "x": 7.5, "y": 3.75},
+ {"label": "R32", "matrix": [7, 2], "x": 8.5, "y": 3.65}
]
}
}
diff --git a/keyboards/quokka/keymaps/default/keymap.c b/keyboards/quokka/keymaps/default/keymap.c
index 77375cd8a1..2aee8824f3 100644
--- a/keyboards/quokka/keymaps/default/keymap.c
+++ b/keyboards/quokka/keymaps/default/keymap.c
@@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
-
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/qvex/lynepad2/config.h b/keyboards/qvex/lynepad2/config.h
index 9e1f70b38b..c6fad65c97 100644
--- a/keyboards/qvex/lynepad2/config.h
+++ b/keyboards/qvex/lynepad2/config.h
@@ -25,9 +25,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//Thumbwheel
#define PIN_TC D2
-
-//Backlighting
-#define BACKLIGHT_DEFAULT_LEVEL 5
-
-//RGB arc
-#define RGBLIGHT_DEFAULT_VAL 64 \ No newline at end of file
diff --git a/keyboards/qvex/lynepad2/info.json b/keyboards/qvex/lynepad2/info.json
index 7919c2adc2..3107640792 100644
--- a/keyboards/qvex/lynepad2/info.json
+++ b/keyboards/qvex/lynepad2/info.json
@@ -35,7 +35,10 @@
"rgblight": {
"led_count": 5,
"max_brightness": 192,
- "sleep": true
+ "sleep": true,
+ "default": {
+ "val": 64
+ }
},
"ws2812": {
"pin": "D3"
@@ -44,7 +47,10 @@
"breathing": true,
"levels": 8,
"max_brightness": 192,
- "pin": "B7"
+ "pin": "B7",
+ "default": {
+ "brightness": 5
+ }
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c b/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c
deleted file mode 100644
index ead8ab40a6..0000000000
--- a/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-Copyright 2023 QVEX Tech
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 RGB_HUE_LAYER0 0 //default layer
-#define RGB_HUE_LAYER1 50
-#define RGB_HUE_LAYER2 100
-#define RGB_HUE_LAYER3 150
-#define RGB_HUE_LAYER4 200
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT //Default
- (
- KC_MS_BTN4, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1,
- KC_MS_BTN5, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT,
- KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2,
-
- KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, //joystick up, down, left, right
- KC_MPLY, MO(4) //joystick center push, thumbwheel push
- ),
-
- [1] = LAYOUT //KiCad
- (
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
- XXXXXXX, MO(4) //joystick center push, thumbwheel push
- ),
-
- [2] = LAYOUT
- (
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
- XXXXXXX, MO(4) //joystick center push, thumbwheel push
- ),
-
- [3] = LAYOUT
- (
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX,
-
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
- XXXXXXX, MO(4) //joystick center push, thumbwheel push
- ),
-
- [4] = LAYOUT
- (
- TO(0), TO(1), TO(2), TO(3),
- BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX,
- QK_RBT, EE_CLR, QK_BOOT,
-
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
- RGB_TOG, XXXXXXX //joystick center push, thumbwheel push
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = {
- ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
- ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)
- },
-
- [1] = {
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
- },
-
- [2] = {
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
- },
-
- [3] = {
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
- },
-
- [4] = {
- ENCODER_CCW_CW(RGB_VAD, RGB_VAI),
- ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
- }
-};
-#endif
-
-//set only hue, retain saturation, and value
-void rgblight_sethue_noeeprom(uint8_t hue) {
- //only if rgb led ring is on
- if (rgblight_get_mode()) {
- rgblight_sethsv_noeeprom(hue,rgblight_get_sat(),rgblight_get_val());
- }
-}
-
-//set correct layer hue on layer change
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case 1:
- rgblight_sethue_noeeprom(RGB_HUE_LAYER1);
- break;
- case 2:
- rgblight_sethue_noeeprom(RGB_HUE_LAYER2);
- break;
- case 3:
- rgblight_sethue_noeeprom(RGB_HUE_LAYER3);
- break;
- case 4:
- rgblight_sethue_noeeprom(RGB_HUE_LAYER4);
- break;
- default:
- rgblight_sethue_noeeprom(RGB_HUE_LAYER0);
- break;
-
- }
- return state;
-}
-
-//set default layer hue upon init
-void keyboard_post_init_user(void) {
- rgblight_init();
- rgblight_sethue_noeeprom(RGB_HUE_LAYER0);
-} \ No newline at end of file
diff --git a/keyboards/qwertykeys/qk100/ansi/ansi.c b/keyboards/qwertykeys/qk100/ansi/ansi.c
index 87e1b99e1b..e1102aab51 100644
--- a/keyboards/qwertykeys/qk100/ansi/ansi.c
+++ b/keyboards/qwertykeys/qk100/ansi/ansi.c
@@ -17,108 +17,108 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS2_SW1, CS3_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/
- {0, CS5_SW1, CS6_SW1, CS4_SW1}, /* RGB1-F1 */
- {0, CS8_SW1, CS9_SW1, CS7_SW1}, /* RGB2-F2 */
- {0, CS11_SW1, CS12_SW1, CS10_SW1}, /* RGB3-F3 */
- {0, CS14_SW1, CS15_SW1, CS13_SW1}, /* RGB4-F4 */
- {0, CS17_SW1, CS18_SW1, CS16_SW1}, /* RGB5-F5 */
- {0, CS20_SW1, CS21_SW1, CS19_SW1}, /* RGB6-F6 */
- {0, CS23_SW1, CS24_SW1, CS22_SW1}, /* RGB7-F7 */
- {0, CS26_SW1, CS27_SW1, CS25_SW1}, /* RGB8-F8 */
- {0, CS29_SW1, CS30_SW1, CS28_SW1}, /* RGB9-F9 */
- {0, CS32_SW1, CS33_SW1, CS31_SW1}, /* RGB10-F10 */
- {0, CS35_SW1, CS36_SW1, CS34_SW1}, /* RGB11-F11 */
- {0, CS38_SW1, CS39_SW1, CS37_SW1}, /* RGB12-F12 */
- {0, CS29_SW7, CS30_SW7, CS28_SW7}, /* RGB13-Delete */
- {0, CS32_SW7, CS33_SW7, CS31_SW7}, /* RGB14-End */
- {0, CS35_SW7, CS36_SW7, CS34_SW7}, /* RGB15-Insert */
- {0, CS38_SW7, CS39_SW7, CS37_SW7}, /* RGB16-Home */
- {0, CS2_SW2, CS3_SW2, CS1_SW2}, /* RGB17-~ ----ROW1*/
- {0, CS5_SW2, CS6_SW2, CS4_SW2}, /* RGB18-1 */
- {0, CS8_SW2, CS9_SW2, CS7_SW2}, /* RGB19-2 */
- {0, CS11_SW2, CS12_SW2, CS10_SW2}, /* RGB20-3 */
- {0, CS14_SW2, CS15_SW2, CS13_SW2}, /* RGB21-4 */
- {0, CS17_SW2, CS18_SW2, CS16_SW2}, /* RGB22-5 */
- {0, CS20_SW2, CS21_SW2, CS19_SW2}, /* RGB23-6 */
- {0, CS23_SW2, CS24_SW2, CS22_SW2}, /* RGB24-7 */
- {0, CS26_SW2, CS27_SW2, CS25_SW2}, /* RGB25-8 */
- {0, CS29_SW2, CS30_SW2, CS28_SW2}, /* RGB26-9 */
- {0, CS32_SW2, CS33_SW2, CS31_SW2}, /* RGB27-0 */
- {0, CS35_SW2, CS36_SW2, CS34_SW2}, /* RGB28--- */
- {0, CS38_SW2, CS39_SW2, CS37_SW2}, /* RGB29-+= */
- {0, CS26_SW7, CS27_SW7, CS25_SW7}, /* RGB30-BS */
- {0, CS29_SW8, CS30_SW8, CS28_SW8}, /* RGB31-Num Lock */
- {0, CS32_SW8, CS33_SW8, CS31_SW8}, /* RGB32- / */
- {0, CS35_SW8, CS36_SW8, CS34_SW8}, /* RGB33- * */
- {0, CS38_SW8, CS39_SW8, CS37_SW8}, /* RGB34- - */
- {0, CS2_SW3, CS3_SW3, CS1_SW3}, /* RGB35-TAB ----ROW2*/
- {0, CS5_SW3, CS6_SW3, CS4_SW3}, /* RGB36-Q */
- {0, CS8_SW3, CS9_SW3, CS7_SW3}, /* RGB37-W */
- {0, CS11_SW3, CS12_SW3, CS10_SW3}, /* RGB38-E */
- {0, CS14_SW3, CS15_SW3, CS13_SW3}, /* RGB39-R */
- {0, CS17_SW3, CS18_SW3, CS16_SW3}, /* RGB40-T */
- {0, CS20_SW3, CS21_SW3, CS19_SW3}, /* RGB41-Y */
- {0, CS23_SW3, CS24_SW3, CS22_SW3}, /* RGB42-U */
- {0, CS26_SW3, CS27_SW3, CS25_SW3}, /* RGB43-I */
- {0, CS29_SW3, CS30_SW3, CS28_SW3}, /* RGB44-O */
- {0, CS32_SW3, CS33_SW3, CS31_SW3}, /* RGB45-P */
- {0, CS35_SW3, CS36_SW3, CS34_SW3}, /* RGB46-[ */
- {0, CS38_SW3, CS39_SW3, CS37_SW3}, /* RGB47-] */
- {0, CS26_SW9, CS27_SW9, CS25_SW9}, /* RGB48-\ */
- {0, CS29_SW9, CS30_SW9, CS28_SW9}, /* RGB49-page up */
- {0, CS32_SW9, CS33_SW9, CS31_SW9}, /* RGB50-7 */
- {0, CS35_SW9, CS36_SW9, CS34_SW9}, /* RGB51-8 */
- {0, CS38_SW9, CS39_SW9, CS37_SW9}, /* RGB52-9 */
- {0, CS2_SW4, CS3_SW4, CS1_SW4}, /* RGB53-CAPS---ROW3*/
- {0, CS5_SW4, CS6_SW4, CS4_SW4}, /* RGB54-A-- */
- {0, CS8_SW4, CS9_SW4, CS7_SW4}, /* RGB55-S-- */
- {0, CS11_SW4, CS12_SW4, CS10_SW4}, /* RGB56-D */
- {0, CS14_SW4, CS15_SW4, CS13_SW4}, /* RGB57-F */
- {0, CS17_SW4, CS18_SW4, CS16_SW4}, /* RGB58-G */
- {0, CS20_SW4, CS21_SW4, CS19_SW4}, /* RGB59-H */
- {0, CS23_SW4, CS24_SW4, CS22_SW4}, /* RGB60-J */
- {0, CS26_SW4, CS27_SW4, CS25_SW4}, /* RGB61-K */
- {0, CS29_SW4, CS30_SW4, CS28_SW4}, /* RGB62-L */
- {0, CS32_SW4, CS33_SW4, CS31_SW4}, /* RGB63-;: */
- {0, CS35_SW4, CS36_SW4, CS34_SW4}, /* RGB64-'" */
- {0, CS38_SW4, CS39_SW4, CS37_SW4}, /* RGB65-ENTER */
- {0, CS11_SW7, CS12_SW7, CS10_SW7}, /* RGB66-Page Down */
- {0, CS14_SW7, CS15_SW7, CS13_SW7}, /* RGB67-4 */
- {0, CS17_SW7, CS18_SW7, CS16_SW7}, /* RGB68-5 */
- {0, CS20_SW7, CS21_SW7, CS19_SW7}, /* RGB69-6 */
- {0, CS23_SW7, CS24_SW7, CS22_SW7}, /* RGB70-+ */
- {0, CS2_SW5, CS3_SW5, CS1_SW5}, /* RGB71-LSF --ROW4*/
- {0, CS5_SW5, CS6_SW5, CS4_SW5}, /* RGB72-Z */
- {0, CS8_SW5, CS9_SW5, CS7_SW5}, /* RGB73-X */
- {0, CS11_SW5, CS12_SW5, CS10_SW5}, /* RGB74-C */
- {0, CS14_SW5, CS15_SW5, CS13_SW5}, /* RGB75-V */
- {0, CS17_SW5, CS18_SW5, CS16_SW5}, /* RGB76-B */
- {0, CS20_SW5, CS21_SW5, CS19_SW5}, /* RGB77-N */
- {0, CS23_SW5, CS24_SW5, CS22_SW5}, /* RGB78-M */
- {0, CS26_SW5, CS27_SW5, CS25_SW5}, /* RGB79-,< */
- {0, CS29_SW5, CS30_SW5, CS28_SW5}, /* RGB80->. */
- {0, CS32_SW5, CS33_SW5, CS31_SW5}, /* RGB81-?/ */
- {0, CS35_SW5, CS36_SW5, CS34_SW5}, /* RGB82-RSF */
- {0, CS38_SW5, CS39_SW5, CS37_SW5}, /* RGB83-UP */
- {0, CS14_SW8, CS15_SW8, CS13_SW8}, /* RGB84-1*/
- {0, CS17_SW8, CS18_SW8, CS16_SW8}, /* RGB85-2 */
- {0, CS20_SW8, CS21_SW8, CS19_SW8}, /* RGB86-3 */
- {0, CS23_SW8, CS24_SW8, CS22_SW8}, /* RGB87-Enter */
- {0, CS2_SW6, CS3_SW6, CS1_SW6}, /* RGB88-lct-- ROW5*/
- {0, CS5_SW6, CS6_SW6, CS4_SW6}, /* RGB89-lwin */
- {0, CS8_SW6, CS9_SW6, CS7_SW6}, /* RGB90-lalt */
- {0, CS11_SW6, CS12_SW6, CS10_SW6}, /* RGB91-sp0 */
- {0, CS17_SW6, CS18_SW6, CS16_SW6}, /* RGB92-sp */
- {0, CS26_SW6, CS27_SW6, CS25_SW6}, /* RGB93-sp2 */
- {0, CS29_SW6, CS30_SW6, CS28_SW6}, /* RGB94-ralt */
- {0, CS32_SW6, CS33_SW6, CS31_SW6}, /* RGB95- fn */
- {0, CS35_SW6, CS36_SW6, CS34_SW6}, /* RGB96-left */
- {0, CS38_SW6, CS39_SW6, CS37_SW6}, /* RGB97-down */
- {0, CS11_SW9, CS12_SW9, CS10_SW9}, /* RGB98-right */
- {0, CS14_SW9, CS15_SW9, CS13_SW9}, /* RGB99- 0 */
- {0, CS20_SW9, CS21_SW9, CS19_SW9} /* RGB100- . */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS2, SW1_CS3, SW1_CS1}, /* RGB0-ESC ROW0*/
+ {0, SW1_CS5, SW1_CS6, SW1_CS4}, /* RGB1-F1 */
+ {0, SW1_CS8, SW1_CS9, SW1_CS7}, /* RGB2-F2 */
+ {0, SW1_CS11, SW1_CS12, SW1_CS10}, /* RGB3-F3 */
+ {0, SW1_CS14, SW1_CS15, SW1_CS13}, /* RGB4-F4 */
+ {0, SW1_CS17, SW1_CS18, SW1_CS16}, /* RGB5-F5 */
+ {0, SW1_CS20, SW1_CS21, SW1_CS19}, /* RGB6-F6 */
+ {0, SW1_CS23, SW1_CS24, SW1_CS22}, /* RGB7-F7 */
+ {0, SW1_CS26, SW1_CS27, SW1_CS25}, /* RGB8-F8 */
+ {0, SW1_CS29, SW1_CS30, SW1_CS28}, /* RGB9-F9 */
+ {0, SW1_CS32, SW1_CS33, SW1_CS31}, /* RGB10-F10 */
+ {0, SW1_CS35, SW1_CS36, SW1_CS34}, /* RGB11-F11 */
+ {0, SW1_CS38, SW1_CS39, SW1_CS37}, /* RGB12-F12 */
+ {0, SW7_CS29, SW7_CS30, SW7_CS28}, /* RGB13-Delete */
+ {0, SW7_CS32, SW7_CS33, SW7_CS31}, /* RGB14-End */
+ {0, SW7_CS35, SW7_CS36, SW7_CS34}, /* RGB15-Insert */
+ {0, SW7_CS38, SW7_CS39, SW7_CS37}, /* RGB16-Home */
+ {0, SW2_CS2, SW2_CS3, SW2_CS1}, /* RGB17-~ ----ROW1*/
+ {0, SW2_CS5, SW2_CS6, SW2_CS4}, /* RGB18-1 */
+ {0, SW2_CS8, SW2_CS9, SW2_CS7}, /* RGB19-2 */
+ {0, SW2_CS11, SW2_CS12, SW2_CS10}, /* RGB20-3 */
+ {0, SW2_CS14, SW2_CS15, SW2_CS13}, /* RGB21-4 */
+ {0, SW2_CS17, SW2_CS18, SW2_CS16}, /* RGB22-5 */
+ {0, SW2_CS20, SW2_CS21, SW2_CS19}, /* RGB23-6 */
+ {0, SW2_CS23, SW2_CS24, SW2_CS22}, /* RGB24-7 */
+ {0, SW2_CS26, SW2_CS27, SW2_CS25}, /* RGB25-8 */
+ {0, SW2_CS29, SW2_CS30, SW2_CS28}, /* RGB26-9 */
+ {0, SW2_CS32, SW2_CS33, SW2_CS31}, /* RGB27-0 */
+ {0, SW2_CS35, SW2_CS36, SW2_CS34}, /* RGB28--- */
+ {0, SW2_CS38, SW2_CS39, SW2_CS37}, /* RGB29-+= */
+ {0, SW7_CS26, SW7_CS27, SW7_CS25}, /* RGB30-BS */
+ {0, SW8_CS29, SW8_CS30, SW8_CS28}, /* RGB31-Num Lock */
+ {0, SW8_CS32, SW8_CS33, SW8_CS31}, /* RGB32- / */
+ {0, SW8_CS35, SW8_CS36, SW8_CS34}, /* RGB33- * */
+ {0, SW8_CS38, SW8_CS39, SW8_CS37}, /* RGB34- - */
+ {0, SW3_CS2, SW3_CS3, SW3_CS1}, /* RGB35-TAB ----ROW2*/
+ {0, SW3_CS5, SW3_CS6, SW3_CS4}, /* RGB36-Q */
+ {0, SW3_CS8, SW3_CS9, SW3_CS7}, /* RGB37-W */
+ {0, SW3_CS11, SW3_CS12, SW3_CS10}, /* RGB38-E */
+ {0, SW3_CS14, SW3_CS15, SW3_CS13}, /* RGB39-R */
+ {0, SW3_CS17, SW3_CS18, SW3_CS16}, /* RGB40-T */
+ {0, SW3_CS20, SW3_CS21, SW3_CS19}, /* RGB41-Y */
+ {0, SW3_CS23, SW3_CS24, SW3_CS22}, /* RGB42-U */
+ {0, SW3_CS26, SW3_CS27, SW3_CS25}, /* RGB43-I */
+ {0, SW3_CS29, SW3_CS30, SW3_CS28}, /* RGB44-O */
+ {0, SW3_CS32, SW3_CS33, SW3_CS31}, /* RGB45-P */
+ {0, SW3_CS35, SW3_CS36, SW3_CS34}, /* RGB46-[ */
+ {0, SW3_CS38, SW3_CS39, SW3_CS37}, /* RGB47-] */
+ {0, SW9_CS26, SW9_CS27, SW9_CS25}, /* RGB48-\ */
+ {0, SW9_CS29, SW9_CS30, SW9_CS28}, /* RGB49-page up */
+ {0, SW9_CS32, SW9_CS33, SW9_CS31}, /* RGB50-7 */
+ {0, SW9_CS35, SW9_CS36, SW9_CS34}, /* RGB51-8 */
+ {0, SW9_CS38, SW9_CS39, SW9_CS37}, /* RGB52-9 */
+ {0, SW4_CS2, SW4_CS3, SW4_CS1}, /* RGB53-CAPS---ROW3*/
+ {0, SW4_CS5, SW4_CS6, SW4_CS4}, /* RGB54-A-- */
+ {0, SW4_CS8, SW4_CS9, SW4_CS7}, /* RGB55-S-- */
+ {0, SW4_CS11, SW4_CS12, SW4_CS10}, /* RGB56-D */
+ {0, SW4_CS14, SW4_CS15, SW4_CS13}, /* RGB57-F */
+ {0, SW4_CS17, SW4_CS18, SW4_CS16}, /* RGB58-G */
+ {0, SW4_CS20, SW4_CS21, SW4_CS19}, /* RGB59-H */
+ {0, SW4_CS23, SW4_CS24, SW4_CS22}, /* RGB60-J */
+ {0, SW4_CS26, SW4_CS27, SW4_CS25}, /* RGB61-K */
+ {0, SW4_CS29, SW4_CS30, SW4_CS28}, /* RGB62-L */
+ {0, SW4_CS32, SW4_CS33, SW4_CS31}, /* RGB63-;: */
+ {0, SW4_CS35, SW4_CS36, SW4_CS34}, /* RGB64-'" */
+ {0, SW4_CS38, SW4_CS39, SW4_CS37}, /* RGB65-ENTER */
+ {0, SW7_CS11, SW7_CS12, SW7_CS10}, /* RGB66-Page Down */
+ {0, SW7_CS14, SW7_CS15, SW7_CS13}, /* RGB67-4 */
+ {0, SW7_CS17, SW7_CS18, SW7_CS16}, /* RGB68-5 */
+ {0, SW7_CS20, SW7_CS21, SW7_CS19}, /* RGB69-6 */
+ {0, SW7_CS23, SW7_CS24, SW7_CS22}, /* RGB70-+ */
+ {0, SW5_CS2, SW5_CS3, SW5_CS1}, /* RGB71-LSF --ROW4*/
+ {0, SW5_CS5, SW5_CS6, SW5_CS4}, /* RGB72-Z */
+ {0, SW5_CS8, SW5_CS9, SW5_CS7}, /* RGB73-X */
+ {0, SW5_CS11, SW5_CS12, SW5_CS10}, /* RGB74-C */
+ {0, SW5_CS14, SW5_CS15, SW5_CS13}, /* RGB75-V */
+ {0, SW5_CS17, SW5_CS18, SW5_CS16}, /* RGB76-B */
+ {0, SW5_CS20, SW5_CS21, SW5_CS19}, /* RGB77-N */
+ {0, SW5_CS23, SW5_CS24, SW5_CS22}, /* RGB78-M */
+ {0, SW5_CS26, SW5_CS27, SW5_CS25}, /* RGB79-,< */
+ {0, SW5_CS29, SW5_CS30, SW5_CS28}, /* RGB80->. */
+ {0, SW5_CS32, SW5_CS33, SW5_CS31}, /* RGB81-?/ */
+ {0, SW5_CS35, SW5_CS36, SW5_CS34}, /* RGB82-RSF */
+ {0, SW5_CS38, SW5_CS39, SW5_CS37}, /* RGB83-UP */
+ {0, SW8_CS14, SW8_CS15, SW8_CS13}, /* RGB84-1*/
+ {0, SW8_CS17, SW8_CS18, SW8_CS16}, /* RGB85-2 */
+ {0, SW8_CS20, SW8_CS21, SW8_CS19}, /* RGB86-3 */
+ {0, SW8_CS23, SW8_CS24, SW8_CS22}, /* RGB87-Enter */
+ {0, SW6_CS2, SW6_CS3, SW6_CS1}, /* RGB88-lct-- ROW5*/
+ {0, SW6_CS5, SW6_CS6, SW6_CS4}, /* RGB89-lwin */
+ {0, SW6_CS8, SW6_CS9, SW6_CS7}, /* RGB90-lalt */
+ {0, SW6_CS11, SW6_CS12, SW6_CS10}, /* RGB91-sp0 */
+ {0, SW6_CS17, SW6_CS18, SW6_CS16}, /* RGB92-sp */
+ {0, SW6_CS26, SW6_CS27, SW6_CS25}, /* RGB93-sp2 */
+ {0, SW6_CS29, SW6_CS30, SW6_CS28}, /* RGB94-ralt */
+ {0, SW6_CS32, SW6_CS33, SW6_CS31}, /* RGB95- fn */
+ {0, SW6_CS35, SW6_CS36, SW6_CS34}, /* RGB96-left */
+ {0, SW6_CS38, SW6_CS39, SW6_CS37}, /* RGB97-down */
+ {0, SW9_CS11, SW9_CS12, SW9_CS10}, /* RGB98-right */
+ {0, SW9_CS14, SW9_CS15, SW9_CS13}, /* RGB99- 0 */
+ {0, SW9_CS20, SW9_CS21, SW9_CS19} /* RGB100- . */
};
bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
diff --git a/keyboards/qwertykeys/qk100/ansi/config.h b/keyboards/qwertykeys/qk100/ansi/config.h
index 82766b8834..041dbdb928 100644
--- a/keyboards/qwertykeys/qk100/ansi/config.h
+++ b/keyboards/qwertykeys/qk100/ansi/config.h
@@ -17,26 +17,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define RGBLIGHT_LAYERS
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-# define RGBLIGHT_LAYERS_RETAIN_VAL
-# define RGBLIGHT_DEFAULT_VAL 10
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
-# define RGBLIGHT_SLEEP
+#define RGBLIGHT_LAYERS_RETAIN_VAL
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
+
/*== customize breathing effect ==*/
-# define RGBLIGHT_BREATHE_TABLE_SIZE 128
-# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0
-# define RGBLIGHT_EFFECT_BREATHE_MAX 60
+#define RGBLIGHT_BREATHE_TABLE_SIZE 128
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0
+#define RGBLIGHT_EFFECT_BREATHE_MAX 60
/* RGB matrix */
#define I2C1_CLOCK_SPEED 400000
-#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-# define RGB_MATRIX_DISABLE_KEYCODES
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_MATRIX_STARTUP_VAL 128
-# define DRIVER_ADDR_1 0b0110000
-# define RGB_MATRIX_LED_COUNT 101 \ No newline at end of file
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+
+#define RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/qwertykeys/qk100/ansi/info.json b/keyboards/qwertykeys/qk100/ansi/info.json
index e9cd6ca3f2..3469f1c62e 100644
--- a/keyboards/qwertykeys/qk100/ansi/info.json
+++ b/keyboards/qwertykeys/qk100/ansi/info.json
@@ -102,7 +102,9 @@
{"matrix": [5, 0], "x": 0, "y": 52, "flags": 1},
{"matrix": [5, 1], "x": 14, "y": 52, "flags": 1},
{"matrix": [5, 2], "x": 28, "y": 52, "flags": 1},
+ {"x": 74, "y": 52, "flags": 4},
{"matrix": [5, 5], "x": 74, "y": 52, "flags": 4},
+ {"x": 74, "y": 52, "flags": 4},
{"matrix": [5, 9], "x": 122, "y": 52, "flags": 1},
{"matrix": [5, 10], "x": 148, "y": 52, "flags": 1},
{"matrix": [5, 12], "x": 158, "y": 52, "flags": 1},
@@ -112,7 +114,6 @@
{"matrix": [5, 17], "x": 212, "y": 52, "flags": 4}
],
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -156,7 +157,13 @@
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
- }
+ },
+ "default": {
+ "val": 128
+ },
+ "led_process_limit": 4,
+ "led_flush_limit": 26,
+ "sleep": true
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/qwertykeys/qk100/info.json b/keyboards/qwertykeys/qk100/info.json
index c8498f3eaf..d020ca8ad2 100644
--- a/keyboards/qwertykeys/qk100/info.json
+++ b/keyboards/qwertykeys/qk100/info.json
@@ -34,8 +34,15 @@
"brightness_steps": 10,
"saturation_steps": 8,
"led_count": 6,
- "max_brightness": 120
-
+ "max_brightness": 120,
+ "default": {
+ "val": 10
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
+ },
+ "sleep": true
},
"dynamic_keymap": {
"layer_count": 2
diff --git a/keyboards/qwertykeys/qk100/solder/config.h b/keyboards/qwertykeys/qk100/solder/config.h
index 714f01a1da..6a16c99f05 100644
--- a/keyboards/qwertykeys/qk100/solder/config.h
+++ b/keyboards/qwertykeys/qk100/solder/config.h
@@ -17,13 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-# define RGBLIGHT_LAYERS
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-# define RGBLIGHT_LAYERS_RETAIN_VAL
-# define RGBLIGHT_DEFAULT_VAL 10
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
-# define RGBLIGHT_SLEEP
+#define RGBLIGHT_LAYERS_RETAIN_VAL
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
+
/*== customize breathing effect ==*/
-# define RGBLIGHT_BREATHE_TABLE_SIZE 128
-# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0
-# define RGBLIGHT_EFFECT_BREATHE_MAX 60 \ No newline at end of file
+#define RGBLIGHT_BREATHE_TABLE_SIZE 128
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0
+#define RGBLIGHT_EFFECT_BREATHE_MAX 60 \ No newline at end of file
diff --git a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h b/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h
deleted file mode 100644
index 1da00a2979..0000000000
--- a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Kai Eckert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/raindrop/readme.md b/keyboards/raindrop/readme.md
deleted file mode 100644
index 2741cfafa7..0000000000
--- a/keyboards/raindrop/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Raindrop
-
-![stacked](https://i.imgur.com/R2iPqjIh.png)
-*Casing*
-![PCB Front](https://i.imgur.com/00TpL3nh.png)
-*PCB Front*
-
-60% sized keyboard with a gasket mounted plate and aluminium case, made by Laneware Peripherals.
-
-* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
-* Hardware Supported: Raindrop PCB
-* Hardware Availability: Group Buy
-
-## Layouts
-The Raindrop PCB can be configured in the following key layouts:
-| Key Layout | Keymap | Diagram |
-| :---: | :---: | :---: |
-| Standard 60% | default | ![diagram_ansi](https://i.imgur.com/oibG44o.png) |
-| 2u Left Shift with Arrow Keys | arrows | ![diagram_arrows](https://i.imgur.com/cQ4Kwb5h.png) |
-| HHKB with 6.25 Spacebar | hhkb | ![diagram_hhkb](https://i.imgur.com/WU6gb1Qh.png) |
-
-Make example for this keyboard (after setting up your build environment):
-
- make raindrop:default
-
-Flashing example for this keyboard:
-
- make raindrop:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/raindrop/rules.mk b/keyboards/raindrop/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/raindrop/rules.mk
+++ /dev/null
diff --git a/keyboards/rate/pistachio/rev2/config.h b/keyboards/rate/pistachio/rev2/config.h
index 8b5dcbc9f4..8a12d3d9ee 100644
--- a/keyboards/rate/pistachio/rev2/config.h
+++ b/keyboards/rate/pistachio/rev2/config.h
@@ -21,6 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Split hand configration */
#define SPLIT_HAND_MATRIX_GRID D4,D3
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
#define RGBLIGHT_LAYERS
diff --git a/keyboards/rate/pistachio_pro/lib/bme280.c b/keyboards/rate/pistachio_pro/lib/bme280.c
index f3dc231dc5..ac7a4873ba 100644
--- a/keyboards/rate/pistachio_pro/lib/bme280.c
+++ b/keyboards/rate/pistachio_pro/lib/bme280.c
@@ -102,9 +102,9 @@ static int32_t t_fine;
static void readTrim(void) {
uint8_t data[32];
- i2c_readReg(BME280_ADDRESS, BME280_REG_CALIB00, &data[0], 24, I2C_BME280_TIMEOUT);
- i2c_readReg(BME280_ADDRESS, BME280_REG_CALIB25, &data[25], 1, I2C_BME280_TIMEOUT);
- i2c_readReg(BME280_ADDRESS, BME280_REG_CALIB26, &data[25], 7, I2C_BME280_TIMEOUT);
+ i2c_read_register(BME280_ADDRESS, BME280_REG_CALIB00, &data[0], 24, I2C_BME280_TIMEOUT);
+ i2c_read_register(BME280_ADDRESS, BME280_REG_CALIB25, &data[25], 1, I2C_BME280_TIMEOUT);
+ i2c_read_register(BME280_ADDRESS, BME280_REG_CALIB26, &data[25], 7, I2C_BME280_TIMEOUT);
dig_T1 = (data[1] << 8) | data[0];
dig_T2 = (data[3] << 8) | data[2];
@@ -131,7 +131,7 @@ static void readTrim(void) {
static void readData(void) {
uint8_t data[8];
- i2c_readReg(BME280_ADDRESS, 0xF7, &data[0], 8, I2C_BME280_TIMEOUT);
+ i2c_read_register(BME280_ADDRESS, 0xF7, &data[0], 8, I2C_BME280_TIMEOUT);
pres_raw = data[0];
pres_raw = (pres_raw<<8) | data[1];
@@ -210,9 +210,9 @@ void bme280_init(void) {
config_reg = BME280_CONFIG_VAL;
i2c_init();
- i2c_writeReg(BME280_ADDRESS, BME280_REG_CTRL_HUM, &ctrl_hum_reg, 1, I2C_BME280_TIMEOUT);
- i2c_writeReg(BME280_ADDRESS, BME280_REG_CTRL_MEAS, &ctrl_meas_reg, 1, I2C_BME280_TIMEOUT);
- i2c_writeReg(BME280_ADDRESS, BME280_REG_CONFIG, &config_reg, 1, I2C_BME280_TIMEOUT);
+ i2c_write_register(BME280_ADDRESS, BME280_REG_CTRL_HUM, &ctrl_hum_reg, 1, I2C_BME280_TIMEOUT);
+ i2c_write_register(BME280_ADDRESS, BME280_REG_CTRL_MEAS, &ctrl_meas_reg, 1, I2C_BME280_TIMEOUT);
+ i2c_write_register(BME280_ADDRESS, BME280_REG_CONFIG, &config_reg, 1, I2C_BME280_TIMEOUT);
readTrim();
return;
diff --git a/keyboards/recompile_keys/choco60/config.h b/keyboards/recompile_keys/choco60/config.h
deleted file mode 100644
index 378fc07981..0000000000
--- a/keyboards/recompile_keys/choco60/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Naoto Takai
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h
index e7ca3c1760..42b68131be 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h
+++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/config.h
@@ -61,5 +61,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DI_PIN B5
#define RGBLIGHT_TIMER
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
diff --git a/keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h b/keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h
index e7ca3c1760..42b68131be 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h
+++ b/keyboards/recompile_keys/nomu30/keymaps/like_jis/config.h
@@ -61,5 +61,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DI_PIN B5
#define RGBLIGHT_TIMER
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
diff --git a/keyboards/redox/keymaps/KL1RL/config.h b/keyboards/redox/keymaps/KL1RL/config.h
deleted file mode 100644
index f3f993be5c..0000000000
--- a/keyboards/redox/keymaps/KL1RL/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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_I2C
-
-/* Select hand configuration */
-//#define MASTER_LEFT
-//#define MASTER_RIGHT
-#define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/KL1RL/keymap.c b/keyboards/redox/keymaps/KL1RL/keymap.c
deleted file mode 100644
index a024cd1d56..0000000000
--- a/keyboards/redox/keymaps/KL1RL/keymap.c
+++ /dev/null
@@ -1,90 +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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTES LCTL_T(KC_ESC)
-#define KC_CTQU RCTL_T(KC_QUOT)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CTES ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOTE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_BSLS ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_LGUI , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,KC_F6 , KC_F7 ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,KC_WH_U ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,KC_MS_L ,KC_MS_D ,KC_MS_U ,KC_MS_R ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_WH_D ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,KC_BTN3 , KC_BTN3 ,KC_BTN2 , KC_BTN1 , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_MUTE , KC_VOLD ,KC_VOLU , KC_BRID ,KC_BRIU , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/KL1RL/readme.md b/keyboards/redox/keymaps/KL1RL/readme.md
deleted file mode 100644
index 520d004813..0000000000
--- a/keyboards/redox/keymaps/KL1RL/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# A tweaked keymap for Redox
-
-I copied fculpo's layout and made a few modifcations more suited for my own needs. In general it seems to be a fairly straight foward adaptation
-of a standard QWERTY full size keyboard. At least for me.
-
-![fculpo Layout Image](https://i.imgur.com/OXT8boJ.png)
-
-## Changes to the default keymap
-
-Keymap changes from the default keymap are:
-
-- Move `GUI` (`SUPER`) key to where default left `CTRL` is
-- Move `/?` into usual location next to right `SHIFT` - the default flash from Falbatech put `\|` here (might not be the Redox default?), which felt unintuitive
-- Put `\|` into bottom-left spot where `GUI` (`SUPER`) was - had to go somewhere and this bottom-left placement sort of balances with the almost bottom-right `/?`
-- Change default `ESC` into `ESC` on tap, `CTRL` on hold - for the love of the UNIX-ey `CTRL` key location and to keep `ESC` in the original position
-- Add `F11` and `F12` keys to two layers - needed on macOS if you want to control volume up and down from your keyboard (not shown, on a different layer)S
-- Access ADJUST layer by holding either `END` or `PAGEUP` off default layer.
-
-Changes by KL1RL are:
-- Remove the right hand `CTRL` combo key, it was bugging me.
-- Add Brightness Up and Brightness Down on the right hand thumb cluster on the ADJUST layer.
-- Add Mute, Vol Down and Vol Up on LH thumb cluster also on the ADJUST layer.
diff --git a/keyboards/redox/keymaps/KL1RL/rules.mk b/keyboards/redox/keymaps/KL1RL/rules.mk
deleted file mode 100644
index a81250cdf6..0000000000
--- a/keyboards/redox/keymaps/KL1RL/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/redox/keymaps/default/config.h b/keyboards/redox/keymaps/default/config.h
index 2a1801a78f..ab4d588cb0 100644
--- a/keyboards/redox/keymaps/default/config.h
+++ b/keyboards/redox/keymaps/default/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/default/keymap.c b/keyboards/redox/keymaps/default/keymap.c
index ecf3ff4f80..bae5972fc7 100644
--- a/keyboards/redox/keymaps/default/keymap.c
+++ b/keyboards/redox/keymaps/default/keymap.c
@@ -1,19 +1,27 @@
-#include QMK_KEYBOARD_H
+/*
+Copyright 2018 Mattia Dal Ben <matthewdibi@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.
-// 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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
+You should have received 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 {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
+enum layers {
+ _QWERTY,
+ _SYMB,
+ _NAV,
+ _ADJUST
};
// Shortcut to make keymap more readable
diff --git a/keyboards/redox/keymaps/eightbitraptor/config.h b/keyboards/redox/keymaps/eightbitraptor/config.h
deleted file mode 100644
index 045b6a2165..0000000000
--- a/keyboards/redox/keymaps/eightbitraptor/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-#define RETRO_TAPPING
diff --git a/keyboards/redox/keymaps/eightbitraptor/keymap.c b/keyboards/redox/keymaps/eightbitraptor/keymap.c
deleted file mode 100644
index ab2dd307c8..0000000000
--- a/keyboards/redox/keymaps/eightbitraptor/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _SYMB,
- _NAV,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-#define NAV_L MO(_NAV)
-
-#define KC_NABS LT(_NAV, KC_BSLS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-#define KC_ECTL MT(MOD_LCTL, KC_ESC)
-#define KC_QCTL MT(MOD_RCTL, KC_QUOT)
-
-// TODO: Can I invert shift presses to invert ' and "?
-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_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_UNDS , KC_MINS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ECTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QCTL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,SC_RSPC ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- NAV_L ,SYM_L ,XXXXXXX ,KC_LALT , KC_LGUI , KC_SPC ,KC_DEL , KC_ENT ,KC_BSPC , KC_RGUI , KC_LALT ,XXXXXXX ,SYM_L ,KC_NABS
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_MUTE , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,KC_MPRV , KC_MNXT ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , KC_BRID ,KC_VOLD , KC_VOLU ,KC_BRIU , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/redox/keymaps/eightbitraptor/rules.mk b/keyboards/redox/keymaps/eightbitraptor/rules.mk
deleted file mode 100644
index a81250cdf6..0000000000
--- a/keyboards/redox/keymaps/eightbitraptor/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/redox/keymaps/fculpo/config.h b/keyboards/redox/keymaps/fculpo/config.h
deleted file mode 100644
index 17260ccd20..0000000000
--- a/keyboards/redox/keymaps/fculpo/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/fculpo/keymap.c b/keyboards/redox/keymaps/fculpo/keymap.c
deleted file mode 100644
index 24c4767869..0000000000
--- a/keyboards/redox/keymaps/fculpo/keymap.c
+++ /dev/null
@@ -1,92 +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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTES LCTL_T(KC_ESC)
-#define KC_CTQU RCTL_T(KC_QUOT)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CTES ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_CTQU ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_BSLS ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_LGUI , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,KC_F6 , KC_F7 ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/fculpo/keymap.json b/keyboards/redox/keymaps/fculpo/keymap.json
deleted file mode 100644
index ca7905b169..0000000000
--- a/keyboards/redox/keymaps/fculpo/keymap.json
+++ /dev/null
@@ -1,399 +0,0 @@
-[
- {
- "name": "Redox/rev1",
- "author": "Fabien Culpo",
- "switchMount": "cherry",
- "plate": false,
- "pcb": false
- },
- [
- {
- "x": 3.5
- },
- "#\n3",
- {
- "x": 10.5
- },
- "*\n8"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "@\n2",
- {
- "x": 1
- },
- "$\n4",
- {
- "x": 8.5
- },
- "&\n7",
- {
- "x": 1
- },
- "(\n9"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "%\n5",
- {
- "x": 6.5
- },
- "^\n6"
- ],
- [
- {
- "y": -0.875,
- "x": 0.25,
- "a": 5,
- "w": 1.25
- },
- "`\nLayer 2\n\n\n\n\n~",
- {
- "a": 4
- },
- "!\n1",
- {
- "x": 14.5
- },
- ")\n0",
- {
- "a": 5,
- "w": 1.25
- },
- "_\nLayer 2\n\n\n\n\n-"
- ],
- [
- {
- "y": -0.625,
- "x": 6.5
- },
- "Layer 1",
- {
- "x": 4.5
- },
- "Layer 1"
- ],
- [
- {
- "y": -0.75,
- "x": 3.5,
- "a": 4
- },
- "E",
- {
- "x": 10.5
- },
- "I"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "W",
- {
- "x": 1
- },
- "R",
- {
- "x": 8.5
- },
- "U",
- {
- "x": 1
- },
- "O"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "T",
- {
- "x": 6.5
- },
- "Y"
- ],
- [
- {
- "y": -0.875,
- "x": 0.25,
- "a": 7,
- "w": 1.25
- },
- "TAB",
- {
- "a": 4
- },
- "Q",
- {
- "x": 14.5
- },
- "P",
- {
- "a": 5,
- "w": 1.25
- },
- "+\n="
- ],
- [
- {
- "y": -0.625,
- "x": 6.5,
- "a": 7,
- "h": 1.5
- },
- "[",
- {
- "x": 4.5,
- "h": 1.5
- },
- "]"
- ],
- [
- {
- "y": -0.75,
- "x": 3.5,
- "a": 4
- },
- "D",
- {
- "x": 10.5
- },
- "K"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "S",
- {
- "x": 1,
- "n": true
- },
- "F",
- {
- "x": 8.5,
- "n": true
- },
- "J",
- {
- "x": 1
- },
- "L"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "G",
- {
- "x": 6.5
- },
- "H"
- ],
- [
- {
- "y": -0.875,
- "x": 0.25,
- "a": 5,
- "w": 1.25
- },
- "ESC\nCTRL",
- {
- "a": 4
- },
- "A",
- {
- "x": 14.5
- },
- ":\n;",
- {
- "a": 5,
- "w": 1.25
- },
- "'\nCTRL"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5,
- "a": 4
- },
- "C",
- {
- "x": 10.5
- },
- "<\n,"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "X",
- {
- "x": 1
- },
- "V",
- {
- "x": 8.5
- },
- "M",
- {
- "x": 1
- },
- ">\n."
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "B",
- {
- "x": 6.5
- },
- "N"
- ],
- [
- {
- "y": -0.875,
- "x": 0.25,
- "a": 5,
- "w": 1.25
- },
- "SHIFT",
- {
- "a": 4
- },
- "Z",
- {
- "x": 14.5
- },
- "?\n/",
- {
- "a": 5,
- "w": 1.25
- },
- "SHIFT"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5
- },
- "*\nALT",
- {
- "x": 10.5
- },
- "Left"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "-",
- {
- "x": 12.5
- },
- "Down"
- ],
- [
- {
- "y": -0.75,
- "x": 0.5
- },
- "|\n\n\n\n\n\n\\",
- "+",
- {
- "x": 14.5
- },
- "Up",
- {
- "sb": "cherry",
- "st": "MX1A-21xx"
- },
- "Right"
- ],
- [
- {
- "r": 15,
- "y": -2.625,
- "x": 5.75,
- "a": 7,
- "w": 1.25
- },
- "SUPER"
- ],
- [
- {
- "r": 30,
- "rx": 6.5,
- "ry": 4.25,
- "y": -1,
- "a": 5
- },
- "PgUp\nLay. 3",
- {
- "a": 7
- },
- "PgDn"
- ],
- [
- {
- "h": 1.5
- },
- "Bksp",
- {
- "h": 1.5
- },
- "Del"
- ],
- [
- {
- "r": -30,
- "rx": 13,
- "y": -1,
- "x": -2
- },
- "Home",
- {
- "a": 5
- },
- "End\nLay. 3"
- ],
- [
- {
- "x": -2,
- "a": 7,
- "h": 1.5
- },
- "Enter",
- {
- "h": 1.5
- },
- "Space"
- ],
- [
- {
- "r": -15,
- "rx": 0,
- "ry": 0,
- "y": 7.75,
- "x": 11.75,
- "w": 1.25
- },
- "ALT"
- ]
-]
diff --git a/keyboards/redox/keymaps/fculpo/readme.md b/keyboards/redox/keymaps/fculpo/readme.md
deleted file mode 100644
index 1250e47b9c..0000000000
--- a/keyboards/redox/keymaps/fculpo/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# A tweaked keymap for Redox
-
-This keymap modifies the [default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/redox) for the awesome [Redox keyboard](https://github.com/mattdibi/redox-keyboard) designed by Mattia Dal Ben.
-
-Also heavily inspired by nrichers layout.
-
-![fculpo Layout Image](https://i.imgur.com/OXT8boJ.png)
-
-## Changes to the default keymap
-
-These keymap changes are meant to improve the usability of the layout in everyday use:
-
-- Move `GUI` (`SUPER`) key to where default left `CTRL` is
-- Move `/?` into usual location next to right `SHIFT` - the default flash from Falbatech put `\|` here (might not be the Redox default?), which felt unintuitive
-- Put `\|` into bottom-left spot where `GUI` (`SUPER`) was - had to go somewhere and this bottom-left placement sort of balances with the almost bottom-right `/?`
-- Change default `ESC` into `ESC` on tap, `CTRL` on hold - Love the UNIX-ey `CTRL` key location and wanted to keep `ESC` in the original position
-- Change default `'` above right `SHIFT` into `'` on tap, `CTRL` on hold - Love the UNIX-ey CTRL key location, but it can give you 'left claw hand', which a second, mirrored `CTRL` key fixes
-- Add `F11` and `F12` keys to two layers - needed on macOS if you want to control volume up and down from your keyboard (not shown, on a different layer)S
diff --git a/keyboards/redox/keymaps/fculpo/rules.mk b/keyboards/redox/keymaps/fculpo/rules.mk
deleted file mode 100644
index a81250cdf6..0000000000
--- a/keyboards/redox/keymaps/fculpo/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/redox/keymaps/finex/config.h b/keyboards/redox/keymaps/finex/config.h
deleted file mode 100644
index e65e610046..0000000000
--- a/keyboards/redox/keymaps/finex/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2018 Leonardo (FiNeX) Finetti <finex@finex.org>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-// #define PERMISSIVE_HOLD
-#define TAPPING_TERM 200
diff --git a/keyboards/redox/keymaps/finex/keymap.c b/keyboards/redox/keymaps/finex/keymap.c
deleted file mode 100644
index 9057dee074..0000000000
--- a/keyboards/redox/keymaps/finex/keymap.c
+++ /dev/null
@@ -1,386 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Layer names
-enum{
- // - Base layers:
- _COLEMAKDHMK,
- _COLEMAKDHMK_MAC,
- _QWERTY,
- _QWERTY_MAC,
- // - Symbols, numbers, functions and custom shifts:
- _SYMB,
- _NUMB,
- _FUNC,
- _RHSH, // Righ hand shifted keycodes
- _LHSH, // Left hand shifted keycodes
- // - Adjust layer:
- _ADJUST
-};
-
-// Custom keycodes
-enum custom_keycodes {
- COLEMAKDHMK = SAFE_RANGE,
- COLEMAKDHMK_MAC,
- QWERTY,
- QWERTY_MAC,
- ASC_SAR,
- ASC_DAR,
- ASC_SQT,
- ASC_DQT,
- ASC_CIRC,
- ASC_TILD,
- ASC_HAP,
- ASC_SAD,
- ASC_BKT,
- ASC_CBRL,
- ASC_CBRR
-};
-
-// Tap dance keycodes
-enum tap_dance{
- TD_SCLN, // ;; -> :
- TD_LBRC, // [[ -> {
- TD_RBRC, // ]] -> }
- TD_QMRK // // -> ?
-};
-
-// Semicolon to Colon
-void dance_scln_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_SCLN);
- } else {
- register_code (KC_RSFT);
- register_code (KC_SCLN);
- }
-}
-void dance_scln_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_SCLN);
- } else {
- unregister_code (KC_RSFT);
- unregister_code (KC_SCLN);
- }
-}
-
-// Square braket to curly bracket (left)
-void dance_lbrc_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_LBRC);
- } else {
- register_code (KC_RSFT);
- register_code (KC_LBRC);
- }
-}
-void dance_lbrc_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_LBRC);
- } else {
- unregister_code (KC_RSFT);
- unregister_code (KC_LBRC);
- }
-}
-
-// Square braket to curly bracket (right)
-void dance_rbrc_finished (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_RBRC);
- } else {
- register_code (KC_RSFT);
- register_code (KC_RBRC);
- }
-}
-void dance_rbrc_reset (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_RBRC);
- } else {
- unregister_code (KC_RSFT);
- unregister_code (KC_RBRC);
- }
-}
-
-
-//Tap Dance Definitions
-tap_dance_action_t tap_dance_actions[] = {
- [TD_SCLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_scln_finished, dance_scln_reset),
- [TD_LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lbrc_finished, dance_lbrc_reset),
- [TD_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_rbrc_finished, dance_rbrc_reset)
-};
-
-
-// Shortcut to make keymap more readable
-
-// - Adjustment Layer:
-#define KC_ADEN LT(_ADJUST, KC_END) // End / _ADJUST layer
-#define KC_ADPU LT(_ADJUST, KC_PGUP) // Page Up / _ADJUST layer
-
-// - Custom layers:
-#define KC_SYSP LT(_SYMB, KC_SPC) // Space / _symbols
-#define KC_NUES LT(_NUMB, KC_ESC) // Esc / _numbers
-#define KC_FUTA LT(_FUNC, KC_TAB) // Tab / _functions
-#define KC_N_SH LT(_LHSH, KC_N) // Pressing N key, enable shifted keys on other half (the left one)
-#define KC_T_SH LT(_RHSH, KC_T) // Pressing T key, enable shifted keys on other half (the right one)
-
-// - Custom keys/modifiers:
-#define KC_ATAB RALT_T(KC_TAB) // - Tab / Alt Gr
-#define KC_CESC LCTL_T(KC_ESC) // - Esc / Left Ctrl
-#define KC_GSPC LGUI_T(KC_SPC) // - Space / Left GUI
-#define KC_CBSP LCTL_T(KC_BSPC) // - Backspace / Left Ctrl
-
-// -- Mac os mode:
-#define KC_CSPC LCTL_T(KC_SPC) // - Space / Left Ctrl
-#define KC_GBSP LGUI_T(KC_BSPC) // - Backspace / Left GUI
-
-
-#define KC_AEQL LALT_T(KC_EQL) // - Equals / Alt (left alt)
-#define KC_CMIN RCTL_T(KC_MINUS) // - Minus / Right Ctrl
-#define KC_ADEL RALT_T(KC_DEL) // - Del / Alt Gr
-#define KC_RSEN RSFT_T(KC_ENT) // - Enter / Right Shift (standard shift)
-#define KC_LAEN LALT_T(KC_ENT) // - Enter / Left Alt
-
-// Home row mod tap keys:
-// - Left hand
-#define KC_CT_A CTL_T(KC_A) // A / Left Ctrl
-#define KC_AL_S ALT_T(KC_S) // S / Left Alt
-// - Right hand
-#define KC_AL_E ALT_T(KC_E) // E / Left Alt
-#define KC_CT_O CTL_T(KC_O) // O / Left Ctrl
-
-// - Tap dance:
-#define KC_TDSC TD(TD_SCLN) // ;; -> :
-#define KC_TDLB TD(TD_LBRC) // [[ -> {
-#define KC_TDRB TD(TD_RBRC) // ]] -> }
-
-// - Keyboard base maps:
-#define LR1 COLEMAKDHMK
-#define LR2 COLEMAKDHMK_MAC
-#define LR3 QWERTY
-#define LR4 QWERTY_MAC
-
-
-// Send custom strings or change default base layer
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case ASC_SAR:
- SEND_STRING("->");
- return false;
- case ASC_DAR:
- SEND_STRING("=>");
- return false;
- case ASC_SQT:
- // SS_RALT(): Avoid sending dead key on software intl layouts
- SEND_STRING(SS_RALT("'"));
- return false;
- case ASC_DQT:
- // SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
- SEND_STRING(SS_RALT(SS_LSFT("\"")));
- return false;
- case ASC_CIRC:
- // SS_RALT(): Avoid sending dead key on software intl layouts
- SEND_STRING(SS_RALT("^"));
- return false;
- case ASC_TILD:
- // SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
- SEND_STRING(SS_RALT(SS_LSFT("~")));
- return false;
- case ASC_HAP:
- SEND_STRING(":-) ");
- return false;
- case ASC_SAD:
- SEND_STRING(":-( ");
- return false;
- case ASC_BKT:
- // SS_RALT(): Avoid sending dead key on software intl layouts
- SEND_STRING(SS_RALT("`"));
- return false;
- case ASC_CBRL:
- SEND_STRING("{");
- return false;
- case ASC_CBRR:
- SEND_STRING("}");
- return false;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAKDHMK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAKDHMK);
- }
- return false;
- break;
- case QWERTY_MAC:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY_MAC);
- }
- return false;
- break;
- case COLEMAKDHMK_MAC:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAKDHMK_MAC);
- }
- return false;
- break;
- }
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // Colemak DH-MK Mod
- [_COLEMAKDHMK] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_ESC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ATAB ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,XXXXXXX , XXXXXXX ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_TDSC ,KC_AEQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CESC ,KC_A ,KC_R ,KC_AL_S ,KC_T_SH ,KC_G ,KC_TDLB , KC_TDRB ,KC_M ,KC_N_SH ,KC_AL_E ,KC_I ,KC_O ,KC_CMIN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_K ,KC_H ,KC_COMM ,KC_DOT ,KC_SLSH ,SC_RSPC ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_GSPC ,KC_HYPR ,KC_MEH ,XXXXXXX , KC_NUES , KC_CBSP ,KC_FUTA , KC_LAEN ,KC_SYSP , KC_ADEL , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Colemak DH-MK Mod, Mac version (CTRL and GUI are swapped)
- [_COLEMAKDHMK_MAC] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_ESC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ATAB ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,XXXXXXX , XXXXXXX ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_TDSC ,KC_AEQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CESC ,KC_A ,KC_R ,KC_AL_S ,KC_T_SH ,KC_G ,KC_TDLB , KC_TDRB ,KC_M ,KC_N_SH ,KC_AL_E ,KC_I ,KC_O ,KC_CMIN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_K ,KC_H ,KC_COMM ,KC_DOT ,KC_SLSH ,SC_RSPC ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_CSPC ,KC_HYPR ,KC_MEH ,XXXXXXX , KC_NUES , KC_GBSP ,KC_FUTA , KC_LAEN ,KC_SYSP , KC_ADEL , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // QWERTY
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_ESC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ATAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,XXXXXXX , XXXXXXX ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_AEQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_TDLB , KC_TDRB ,KC_H ,KC_J ,KC_K ,KC_L ,KC_TDSC ,KC_CMIN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,SC_RSPC ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_GSPC ,KC_HYPR ,KC_MEH ,XXXXXXX , KC_NUES , KC_CBSP ,KC_FUTA , KC_LAEN ,KC_SYSP , KC_ADEL , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // QWERTY, Mac version (CTRL and GUI are swapped)
- [_QWERTY_MAC] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_ESC ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ATAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,XXXXXXX , XXXXXXX ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_AEQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_TDLB , KC_TDRB ,KC_H ,KC_J ,KC_K ,KC_L ,KC_TDSC ,KC_CMIN ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,SC_RSPC ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_CSPC ,KC_HYPR ,KC_MEH ,XXXXXXX , KC_NUES , KC_GBSP ,KC_FUTA , KC_LAEN ,KC_SYSP , KC_ADEL , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Symbols, home row arrows, function keys and macros layer
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,ASC_CIRC,KC_AMPR ,KC_ASTR ,KC_PLUS ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PIPE ,KC_PMNS ,ASC_SQT ,ASC_DQT ,KC_GRV ,ASC_SAR , ASC_DAR ,KC_QUOT ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_BSLS ,KC_UNDS ,KC_COLN ,ASC_TILD,KC_EQL ,ASC_SAD ,ASC_HAP , _______ ,_______ ,ASC_BKT ,KC_PGUP ,KC_PGDN ,KC_HOME ,KC_END ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Numeric keypad layer
- [_NUMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,KC_PAST ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,KC_PPLS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,KC_PMNS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,KC_PSLS ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , XXXXXXX , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Function layer and some extra keys on right hand
- [_FUNC] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F12 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F11 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PSCR ,KC_NUM ,KC_INS ,KC_CAPS ,KC_APP ,_______ ,_______ , _______ ,_______ ,_______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F10 ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
-
- // Left hand shifted keycodes
- [_LHSH] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,S(KC_Q) ,S(KC_W) ,S(KC_F) ,S(KC_P) ,S(KC_B) ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,S(KC_A) ,S(KC_R) ,S(KC_S) ,S(KC_T) ,S(KC_G) ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,S(KC_Z) ,S(KC_X) ,S(KC_C) ,S(KC_D) ,S(KC_V) ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , KC_TAB ,KC_BSPC , KC_ESC , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Right hand shifted keycodes
- [_RHSH] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,S(KC_J) ,S(KC_L) ,S(KC_U) ,S(KC_Y) ,KC_COLN ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,S(KC_M) ,S(KC_N) ,S(KC_E) ,S(KC_I) ,S(KC_O) ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,S(KC_K) ,S(KC_H) ,KC_LABK ,KC_RABK ,KC_QUES ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , KC_DEL , KC_SPC ,KC_ENT , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- // Adjust layer (RGB, Reset and base layer switch)
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,LR1 ,LR2 ,LR3 ,LR4 ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,RGB_M_B ,RGB_M_R ,RGB_M_SW,RGB_M_SN,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,RGB_M_K ,RGB_M_X ,RGB_M_G ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/finex/readme.md b/keyboards/redox/keymaps/finex/readme.md
deleted file mode 100644
index ae092e8064..0000000000
--- a/keyboards/redox/keymaps/finex/readme.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Customized keymap for Redox by Leonardo (FiNeX) Finetti.
-
-
-## Features
-
-- PC Layouts: Colemak Mod DH-MK, Qwerty.
-- Mac Layouts: same as above with CTRL-GUI keys inverted.
-- Added redundant `Space`, `Esc`, `Ctrl` and `Enter` keys. I like to have this
- keys on both halves.
-- Added macro to print `->` and `=>` strings.
-- Added macro to print `:-( ` and `:-) ` strings.
-- Added more arrows.
-- Added `(` and `)` on Shifts keys.
-- Tapdance: `:` (`;` × 2), `{` (`[` × 2), `}` (`]` × 2).
-- Removed Mouse and media support.
-- Added missing "Print Screen" and "Menu" keys.
-- Added missing "F11" and "F12" keys.
-- Added `Alt` modifier on home row.
-- Added `Shift other half` on home keys: this allows to shift the right half
-pressing `t` on the left (or `f` using Qwerty), and the opposite pressing `n`
-(or `j` for Qwerty layout).
-
-
-## Description
-
-This keymap use the default one with some changes to suit my needs. Mainly
-having most used symbol on a separated layer copying the common symbols on the
-number keys on the second row and adding other symbols and ``|´` dead keys for
-accents.
-
-
-## Main Keyboard Layout
-
-[TODO]
-
-
-## Changelog
-
-- 2018/11/13
- First public release.
-- 2018/12/04
- Added Caps Lock, Num Lock and Insert on Symbols Layout. Inverted KC_GRV and
- KC_QUOT on Symbols Layout. Added "Toggle Symbols Layout" and "Momentarily
- activates Symbols Layout" on bottom row. Added Space/Control on left bottom
- corner: now both halves contains Enter and Space keys.
-- 2018/12/23
- Moved around modifiers key.
- Added MEH and HYPER keys.
- Improved symbols layout.
- Rearranged layers.
-- 2019/01/04
- Added new layer with numeric keypad and rearranged symbols.
-- 2019/01/26
- Added curly brackets on own keys (normally unused).
- Added tap dance for testing purpose.
- Minor fixes.
-- 2019/02/25
- Major layouts upgrade, partially inspired by Steven Hum's Beakl layouts.
-- 2019/03/17
- Aligned qwerty and mac to main layout.
-
-
-## TODO
-
-- Bring back mouse and multimedia keys.
-- Add default Colemak Mod DH layout.
-- Improve top corner keys.
-- Improve bottom row keys.
-- Improve README.md
diff --git a/keyboards/redox/keymaps/finex/rules.mk b/keyboards/redox/keymaps/finex/rules.mk
deleted file mode 100644
index f248688fb4..0000000000
--- a/keyboards/redox/keymaps/finex/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-RGBLIGHT_ENABLE = yes
-COMMAND_ENABLE = no
-KEY_LOCK_ENABLE = yes
-TAP_DANCE_ENABLE=yes
diff --git a/keyboards/redox/keymaps/german/config.h b/keyboards/redox/keymaps/german/config.h
deleted file mode 100644
index cfb2a9378a..0000000000
--- a/keyboards/redox/keymaps/german/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/german/keymap.c b/keyboards/redox/keymaps/german/keymap.c
deleted file mode 100644
index 2ccd4b1678..0000000000
--- a/keyboards/redox/keymaps/german/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include "keymap_german.h"
-
-extern keymap_config_t keymap_config;
-extern rgblight_config_t rgblight_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define KC_BKSL KC_BSLS
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTPL LCTL_T(KC_PSLS)
-
-#define KC_NAGR LT(_NAV, DE_CIRC)
-#define KC_NAMI LT(_NAV, DE_SS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,DE_1 ,DE_2 ,DE_3 ,DE_4 ,DE_5 , DE_6 ,DE_7 ,DE_8 ,DE_9 ,DE_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,DE_Q ,DE_W ,DE_E ,DE_R ,DE_T ,SYM_L , SYM_L ,DE_Z ,DE_U ,DE_I ,DE_O ,DE_P ,DE_UDIA ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,DE_A ,DE_S ,DE_D ,DE_F ,DE_G ,DE_ACUT , DE_PLUS ,DE_H ,DE_J ,DE_K ,DE_L ,DE_ODIA ,DE_ADIA ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,DE_Y ,DE_X ,DE_C ,DE_V ,DE_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,DE_N ,DE_M ,DE_COMM ,DE_DOT ,DE_MINS ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,DE_EXLM ,DE_AT ,DE_LCBR ,DE_RCBR ,DE_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,KC_F12 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,DE_HASH ,DE_DLR ,DE_LBRC ,DE_RBRC ,DE_TILD ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,DE_PERC ,DE_CIRC ,DE_LPRN ,DE_RPRN ,DE_GRV ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,KC_LALT , KC_LCTL , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/german/readme.md b/keyboards/redox/keymaps/german/readme.md
deleted file mode 100644
index 91bc230fca..0000000000
--- a/keyboards/redox/keymaps/german/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# German keymap for Redox
-
-The layout acommodates the German umlauts and the punctuation symbols
-at their usual positions relative to the other alphabetic characters.
-Apart from that it stays close to the default english redox layout.
diff --git a/keyboards/redox/keymaps/german/rules.mk b/keyboards/redox/keymaps/german/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/redox/keymaps/german/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/redox/keymaps/italian/config.h b/keyboards/redox/keymaps/italian/config.h
deleted file mode 100644
index cfb2a9378a..0000000000
--- a/keyboards/redox/keymaps/italian/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/italian/keymap.c b/keyboards/redox/keymaps/italian/keymap.c
deleted file mode 100644
index 6b3cdd5475..0000000000
--- a/keyboards/redox/keymaps/italian/keymap.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include "keymap_italian.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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define KC_BKSL KC_BSLS
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTPL LCTL_T(KC_PSLS)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-// Italian specific shortcuts
-#define ALT_IACC RALT_T(IT_IGRV)
-#define GUI_LESS LGUI_T(IT_LABK)
-
-#define IT_SHSL RSFT_T(KC_SLSH)
-#define IT_GRV RALT(KC_MINS)
-#define IT_TILD RALT(KC_EQL)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EGRV ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OGRV ,IT_AGRV ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UGRV ,IT_SHSL ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_EXLM ,IT_AT ,IT_LCBR ,IT_RCBR ,IT_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_HASH ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/italian/readme.md b/keyboards/redox/keymaps/italian/readme.md
deleted file mode 100644
index 85b48fdb6f..0000000000
--- a/keyboards/redox/keymaps/italian/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The italian keymap for Redox
diff --git a/keyboards/redox/keymaps/italian/rules.mk b/keyboards/redox/keymaps/italian/rules.mk
deleted file mode 100644
index a81250cdf6..0000000000
--- a/keyboards/redox/keymaps/italian/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/redox/keymaps/jeherve/config.h b/keyboards/redox/keymaps/jeherve/config.h
deleted file mode 100644
index 689e8f6e4d..0000000000
--- a/keyboards/redox/keymaps/jeherve/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2021 Jeremy Herve <jeremy@jeremy.hu>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Change the default tapping toggle value (normally 5) */
-#define TAPPING_TOGGLE 2
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_SLEEP
-
-/* Set Unicode mode by default */
-#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS
-
-/* Custom startup sound */
-#ifdef AUDIO_ENABLE
-# define STARTUP_SONG SONG(ZELDA_PUZZLE)
-#endif
diff --git a/keyboards/redox/keymaps/jeherve/keymap.c b/keyboards/redox/keymaps/jeherve/keymap.c
deleted file mode 100644
index 35958221bb..0000000000
--- a/keyboards/redox/keymaps/jeherve/keymap.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
-Copyright 2021 Jeremy Herve <jeremy@jeremy.hu>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 _COLEMAK 0
-#define _SYMB 1
-#define _NAV 2
-#define _INTER 3
-#define _ADJUST 4
-
-// Define song.
-#ifdef AUDIO_ENABLE
-float tone_zelda[][2] = SONG(ZELDA_TREASURE);
-#endif
-
-enum custom_keycodes {
- COLEMAK = SAFE_RANGE,
- SYMB,
- NAV,
- INTER,
- ADJUST,
- // These use process_record_user()
- M_BRACKET_LEFT,
- M_BRACKET_RIGHT,
- SHRUG,
- WAVE,
- YOSHI,
- THUMB_UP,
- INV_1P,
- ALFRED
-};
-
-// Is shift being held? Let's store this in a bool.
-static bool shift_held = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case SHRUG:
- if (record->event.pressed) {
- send_unicode_string("¯\\_(ツ)_/¯");
- }
- return false;
- break;
- case INV_1P:
- if (record->event.pressed) {
- SEND_STRING(SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_BACKSLASH) SS_UP(X_LGUI) SS_UP(X_LALT));
- }
- return false;
- break;
- case ALFRED:
- if (record->event.pressed) {
- SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_SPACE) SS_UP(X_LALT));
- }
- return false;
- break;
- case YOSHI:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
- PLAY_SONG(tone_zelda);
-#endif
- SEND_STRING(":yellow_yoshi:");
- }
- return false;
- break;
- case THUMB_UP:
- if (record->event.pressed) {
- register_unicode(0x1F44D);
- }
- return false;
- break;
- case WAVE:
- if (record->event.pressed) {
- register_unicode(0x1F44B);
- }
- return false;
- break;
- case KC_LSFT:
- shift_held = record->event.pressed;
- return true;
- break;
- case KC_RSFT:
- shift_held = record->event.pressed;
- return true;
- break;
- case M_BRACKET_LEFT: {
- if (record->event.pressed) {
- if (shift_held) {
- unregister_code(KC_LSFT);
- unregister_code(KC_RSFT);
- register_code(KC_LBRC);
- } else {
- register_code(KC_LSFT);
- register_code(KC_9);
- }
- } else { // Release the key
- unregister_code(KC_LBRC);
- unregister_code(KC_LSFT);
- unregister_code(KC_RSFT);
- unregister_code(KC_9);
- }
- return false;
- break;
- }
- case M_BRACKET_RIGHT: {
- if (record->event.pressed) {
- if (shift_held) {
- unregister_code(KC_LSFT);
- unregister_code(KC_RSFT);
- register_code(KC_RBRC);
- } else {
- register_code(KC_LSFT);
- register_code(KC_0);
- }
- } else { // Release the key
- unregister_code(KC_RBRC);
- unregister_code(KC_LSFT);
- unregister_code(KC_RSFT);
- unregister_code(KC_0);
- }
- return false;
- break;
- }
- }
- return true;
-};
-
-// Shortcut to make keymap more readable
-#define KC_SYQT LT(_SYMB, KC_QUOT)
-#define SYM_L MO(_SYMB)
-#define MO_INTR MO(_INTER)
-#define TT_ADJ TT(_ADJUST)
-
-#define UC_00E0 UC(0x00E0)
-#define UC_00FC UC(0x00FC)
-#define UC_00E8 UC(0x00E8)
-#define UC_00F6 UC(0x00F6)
-#define UC_00E1 UC(0x00E1)
-#define UC_00F9 UC(0x00F9)
-#define UC_00E9 UC(0x00E9)
-#define UC_00ED UC(0x00ED)
-#define UC_00F3 UC(0x00F3)
-#define UC_00E2 UC(0x00E2)
-#define UC_00E7 UC(0x00E7)
-#define UC_0171 UC(0x0171)
-#define UC_00EA UC(0x00EA)
-#define UC_0151 UC(0x0151)
-// Non-breaking space.
-#define UC_00A0 UC(0x00a0)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_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_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_G ,KC_ESC , INV_1P ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- SYM_L ,KC_A ,KC_R ,KC_S ,KC_T ,KC_D ,M_BRACKET_LEFT, M_BRACKET_RIGHT ,KC_H ,KC_N ,KC_E ,KC_I ,KC_O ,KC_SYQT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,TT(_NAV),TT(_SYMB), TT(_SYMB),TT(_NAV),KC_K ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- MO_INTR ,KC_LCTL ,KC_HYPR ,KC_LALT , KC_LCMD , KC_BSPC ,KC_LCTL , KC_ENT ,KC_SPC , ALFRED , TT_ADJ ,KC_HYPR ,KC_RCTL ,MO_INTR
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,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_LCBR , KC_RCBR ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_MINS ,KC_UNDS ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,KC_TILD ,KC_GRV , _______ ,_______ ,_______ , _______ ,_______ ,_______ ,KC_EQL ,KC_PLUS ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_VOLD ,KC_VOLU ,KC_MUTE ,XXXXXXX ,_______ , _______ ,XXXXXXX ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,XXXXXXX , XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_INTER] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,UC_00E0 ,WAVE ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,UC_00FC ,UC_00E8 ,YOSHI ,UC_00F6 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,UC_00E1 ,XXXXXXX ,SHRUG ,THUMB_UP,XXXXXXX ,_______ , _______ ,XXXXXXX ,UC_00F9 ,UC_00E9 ,UC_00ED ,UC_00F3 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,UC_00E2 ,XXXXXXX ,UC_00E7 ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,UC_0171 ,UC_00EA ,XXXXXXX ,UC_0151 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,UC_00A0 , XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,RGB_VAD ,RGB_VAI ,RGB_TOG ,XXXXXXX ,_______ , _______ ,XXXXXXX ,QK_BOOT ,DB_TOGG ,AU_TOGG ,XXXXXXX ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,XXXXXXX , XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-// Change LED colors depending on the layer.
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _SYMB:
- rgblight_setrgb(RGB_ORANGE);
- break;
- case _NAV:
- rgblight_setrgb(RGB_SPRINGGREEN);
- break;
- case _INTER:
- rgblight_setrgb(RGB_TEAL);
- break;
- case _ADJUST:
- rgblight_setrgb(RGB_RED);
- break;
- default: // for any other layers, or the default layer
- rgblight_setrgb(RGB_YELLOW);
- break;
- }
- return state;
-};
diff --git a/keyboards/redox/keymaps/jeherve/readme.md b/keyboards/redox/keymaps/jeherve/readme.md
deleted file mode 100644
index 72ed31919b..0000000000
--- a/keyboards/redox/keymaps/jeherve/readme.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# A Colemak keymap for the Redox keyboard
-
-----
-![jeherve-redox-layout-5](https://user-images.githubusercontent.com/426388/116534030-56f67600-a8e2-11eb-9bf3-3ce5362d717a.png)
-
-----
-
-This keymap is **a work in progress**, and is meant to be used on macOS, with the "Unicode Hex Input" keyboard input.
-
-![macOS keyboard input setting](https://user-images.githubusercontent.com/426388/43962498-1ee9e3fc-9cb8-11e8-88e3-dbb068ec5c67.png)
-
-I may change a lot of the keys over the next few months, and will update this repo when I do so.
-
-[View on KLE](http://www.keyboard-layout-editor.com/#/gists/3d5368842d87a8462c8f95d4382c4a19)
-
-## Layers
-
-My keymap uses 5 layers:
-
-1. The default base layer, using [Colemak](https://colemak.com/).
-2. A Symbol layer, so all symbols can be accessed from the home row. (top right legends)
-3. A Navigation / Media layer, with both sound control and arrows on the home row. (bottom right legends)
-4. An international / Emoji layer so I can type accented characters commonly used in France and in Hungary, as well as a few Emoji I often use. (top center legends)
-5. A keyboard control layer, not pictured above, allowing me to control the LED lighting as well as the keyboard debug functions.
-
-## Changelog
-
-- 2021.04.29
- - Update code to replace deprecated code.
- - Fix non-breaking space key.
-- 2018.12.20
- - 2 new Macro keys, to invoke [Alfred](https://www.alfredapp.com/) and [1Password](https://1password.com/).
- - No more Right Command key or Expose key, I didn't use those much.
- - Updates to use newer QMK function to call ¯\_(ツ)_/¯
- - Fix: you can now move back to the base layer when double tapping the thumb keys to switch to the Nav layer. ðŸ‘
-- 2018.09.06
- - Initial submission to QMK. It's alive! ⌨ï¸
-
-## Credits
-
-- Redox keyboard design by [Mattia Dal Ben](https://github.com/mattdibi/redox-keyboard).
-- This keymap is based off the default keymap for the Redox keyboard, available [here](https://github.com/qmk/qmk_firmware/tree/master/keyboards/redox) and also build by Mattia Dal Ben (thank you!).
-- This layout uses [QMK keyboard controller firmware](https://github.com/qmk/qmk_firmware/).
-
-I've also read posts by [Gergely Nagy](https://asylum.madhouse-project.org/blog/2016/10/15/multi-purpose-keys/), [Rebecca Le](https://sevenseacat.net/posts/2018/unicode-in-qmk-on-osx/), and [Justin Rogers](https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/#comments) for inspiration.
diff --git a/keyboards/redox/keymaps/jeherve/rules.mk b/keyboards/redox/keymaps/jeherve/rules.mk
deleted file mode 100644
index ac2496b8c9..0000000000
--- a/keyboards/redox/keymaps/jeherve/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = yes
-UNICODE_ENABLE = yes
-AUDIO_ENABLE = yes
diff --git a/keyboards/redox/keymaps/nrichers/config.h b/keyboards/redox/keymaps/nrichers/config.h
deleted file mode 100755
index cfb2a9378a..0000000000
--- a/keyboards/redox/keymaps/nrichers/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2018 Mattia Dal Ben <matthewdibi@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
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/nrichers/keymap.c b/keyboards/redox/keymaps/nrichers/keymap.c
deleted file mode 100755
index cfe6895cde..0000000000
--- a/keyboards/redox/keymaps/nrichers/keymap.c
+++ /dev/null
@@ -1,92 +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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTES LCTL_T(KC_ESC)
-#define KC_CTQU RCTL_T(KC_QUOT)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CTES ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_CTQU ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_BSLS ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_LGUI , KC_SPC ,KC_BSPC , KC_DEL ,KC_ENT , KC_RGUI , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,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_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,KC_F12 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/redox/keymaps/nrichers/readme.md b/keyboards/redox/keymaps/nrichers/readme.md
deleted file mode 100755
index 6189e8e9b2..0000000000
--- a/keyboards/redox/keymaps/nrichers/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# A tweaked keymap for Redox
-
-This keymap modifies the [default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/redox) for the awesome [Redox keyboard](https://github.com/mattdibi/redox-keyboard) designed by Mattia Dal Ben.
-
-![Modified Redox keymap](https://github.com/nrichers/qmk_firmware/blob/master/keyboards/redox/keymaps/nrichers/keymap.png)
-
-## Changes to the default keymap ![#99fcbe](https://placehold.it/15/99fcbe/000000?text=+)
-
-These keymap changes are meant to improve the usability of the layout in everyday use:
-
-- Move `GUI` (`SUPER`) key to where default left `CTRL` and right `ALT` are - gives you two frequently used `CMD` keys on macOS where my brain expects them
-- Move `/?` into usual location next to right `SHIFT` - the default flash from Falbatech put `\|` here (might not be the Redox default?), which felt unintuitive
-- Put `\|` into bottom-left spot where `GUI` (`SUPER`) was - had to go somewhere and this bottom-left placement sort of balances with the almost bottom-right `/?`
-- Change default `ESC` into `ESC` on tap, `CTRL` on hold - Love the UNIX-ey `CTRL` key location and wanted to keep `ESC` in the original position
-- Change default `'` above right `SHIFT` into `'` on tap, `CTRL` on hold - Love the UNIX-ey CTRL key location, but it can give you 'left claw hand', which a second, mirrored `CTRL` key fixes
-- Add `F11` and `F12` keys to two layers - needed on macOS if you want to control volume up and down from your keyboard (not shown, on a different layer)
-- On thumb clusters:
- - Left: Move `SPACE` closest to left thumb and move `BACKSPACE` to the right of that - put the key for 'getting it right' closest to your thumb and reduce usage of my right hand (purely personal preference)
- - Right: Move `ENTER` closest to right thumb and move `DEL` to the left of that - put the key for 'getting it right' closest to your thumb
-
-## Changes to the Redox layout ![#99e6fc](https://placehold.it/15/99e6fc/000000?text=+)
-
-These are physical keycap changes on the board that make reaching the `Layer 1` keys easier and that, subjectively, look more balanced visually:
-
-- Increase the `Layer 1` key sizes from 1U to 1.25U
-- Decrease the 1.5 U key size for `[` and `]` to 1.25U
-
-You could even make `[` and `]` 1U so that you can use keycaps from a standard ANSI key set and also increase the size of the `Layer 2` keys to 1.5U.
diff --git a/keyboards/redox/keymaps/nrichers/rules.mk b/keyboards/redox/keymaps/nrichers/rules.mk
deleted file mode 100755
index a81250cdf6..0000000000
--- a/keyboards/redox/keymaps/nrichers/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/redox/keymaps/tw1t611/config.h b/keyboards/redox/keymaps/tw1t611/config.h
deleted file mode 100644
index 4f50e8507b..0000000000
--- a/keyboards/redox/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define RGBLED_NUM 14
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/tw1t611/keymap.c b/keyboards/redox/keymaps/tw1t611/keymap.c
deleted file mode 100644
index da978de9fa..0000000000
--- a/keyboards/redox/keymaps/tw1t611/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_german.h"
-
-enum {
- QWERTZ = 0,
- MOD,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [QWERTZ] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ , _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_BSPC , KC_DEL ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_ODIA ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_UNDS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LCTL ,KC_BSPC , KC_DEL ,KC_RCTL ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UDIA ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , KC_LALT , KC_SPC ,KC_LSFT , MO(MOD) ,KC_ENT , KC_LGUI , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
- [MOD] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_F12 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_MOD , QK_BOOT,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_TOG , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,RGB_M_P ,_______ , _______ ,_______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/redox/keymaps/tw1t611/readme.md b/keyboards/redox/keymaps/tw1t611/readme.md
deleted file mode 100644
index 1bb928f58d..0000000000
--- a/keyboards/redox/keymaps/tw1t611/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Keymap for Redox by tw1t611
diff --git a/keyboards/redox/keymaps/via/config.h b/keyboards/redox/keymaps/via/config.h
index cfb2a9378a..7b9be07d97 100644
--- a/keyboards/redox/keymaps/via/config.h
+++ b/keyboards/redox/keymaps/via/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/via/keymap.c b/keyboards/redox/keymaps/via/keymap.c
index 474f03ecd7..2724199842 100644
--- a/keyboards/redox/keymaps/via/keymap.c
+++ b/keyboards/redox/keymaps/via/keymap.c
@@ -1,19 +1,20 @@
- /* Copyright HarshitGoel96 2020
- * With permission from mattdibi, the original maintainer of the Redox hardware.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+/* Copyright HarshitGoel96 2020
+* With permission from mattdibi, the original maintainer of the Redox hardware.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received 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.
@@ -84,5 +85,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
)
-
-}; \ No newline at end of file
+};
diff --git a/keyboards/redox/keymaps/via/rules.mk b/keyboards/redox/keymaps/via/rules.mk
index 43061db1dd..36b7ba9cbc 100644
--- a/keyboards/redox/keymaps/via/rules.mk
+++ b/keyboards/redox/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
VIA_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/redox/readme.md b/keyboards/redox/readme.md
deleted file mode 100644
index 82b00d79f7..0000000000
--- a/keyboards/redox/readme.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# The Redox keyboard
-
-<p align="center">
-<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-logo.png" alt="Redox logo" width="600"/>
-</p>
-
-<p align="center">
-<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-pcb2.jpg" alt="Redox PCB rev1.0" width="600"/>
-</p>
-
-**Redox**: the **R**educed **E**rgo**dox** project. More information and building instruction [here](https://github.com/mattdibi/redox-keyboard).
-
-- Keyboard Maintainer: [Mattia Dal Ben](https://github.com/mattdibi)
-- Hardware Supported: Redox PCB rev1.0 w/ Pro Micro or Proton C
-- Hardware Availability: [Falbatech](https://falba.tech/product-category/keyboard-parts/redox-parts/)
-
-Make example for this keyboard (after setting up [qmk](https://docs.qmk.fm/#/getting_started_build_tools)):
-
-To build the Pro Micro firmware, first set your config:
-```sh
-qmk config user.keyboard=redox/rev1
-```
-or if your using the Proton C:
-```sh
-qmk config user.keyboard=redox/rev1/proton_c
-```
-
-Don't forget to set a layout. There's many to choose from in the keymaps folder.
-```sh
-qmk config user.keymap=default
-```
-
-Now you can build your firmware!
-```sh
-qmk compile
-```
-
-Flashing is also straightforward. Run:
-```sh
-qmk flash
-```
-Enter the bootloader when prompted by doing one of the following:
-* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if you have a layout that has one.
-
-The WS2812 driver is *untested* on the Proton C, but if you choose to use this feature, you will need to source 5v from the Proton's VUSB pin and not use the PCB's dedicated pin which will be 3v3 *and* follow the [documentation](https://docs.qmk.fm/#/ws2812_driver) to enable the correct driver settings.
-
-Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/redox/rev1/base/info.json b/keyboards/redox/rev1/base/info.json
index e0d1433115..a4a3f3fe96 100644
--- a/keyboards/redox/rev1/base/info.json
+++ b/keyboards/redox/rev1/base/info.json
@@ -13,6 +13,5 @@
"ws2812": {
"pin": "D3"
},
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/redox/rev1/base/rules.mk b/keyboards/redox/rev1/base/rules.mk
index e69de29bb2..3bbd261429 100644
--- a/keyboards/redox/rev1/base/rules.mk
+++ b/keyboards/redox/rev1/base/rules.mk
@@ -0,0 +1 @@
+# File intentionally blank
diff --git a/keyboards/redox/rev1/info.json b/keyboards/redox/rev1/info.json
index c0c5ce6e1a..446020179c 100644
--- a/keyboards/redox/rev1/info.json
+++ b/keyboards/redox/rev1/info.json
@@ -8,9 +8,35 @@
"pid": "0x5244",
"device_version": "1.0.0"
},
+ "features":{
+ "bootmagic": true,
+ "command": true,
+ "console": false,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "split":{
+ "enabled": true
+ },
"rgblight": {
"led_count": 14,
- "split": true
+ "split": true,
+ "saturation_steps": 8,
+ "brightness_steps": 8,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/redox/rev1/proton_c/config.h b/keyboards/redox/rev1/proton_c/config.h
index 08a74aef2c..4d28bd2f4a 100644
--- a/keyboards/redox/rev1/proton_c/config.h
+++ b/keyboards/redox/rev1/proton_c/config.h
@@ -24,19 +24,3 @@
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/redox/rev1/proton_c/info.json b/keyboards/redox/rev1/proton_c/info.json
index 7fec1e7950..48bec82627 100644
--- a/keyboards/redox/rev1/proton_c/info.json
+++ b/keyboards/redox/rev1/proton_c/info.json
@@ -10,7 +10,5 @@
"rows": ["B5", "B3", "B2", "B1", "B0"]
},
"diode_direction": "COL2ROW",
- "processor": "STM32F303",
- "bootloader": "stm32-dfu",
- "board": "QMK_PROTON_C"
+ "development_board": "proton_c"
}
diff --git a/keyboards/redox/rev1/readme.md b/keyboards/redox/rev1/readme.md
new file mode 100644
index 0000000000..6f336cde86
--- /dev/null
+++ b/keyboards/redox/rev1/readme.md
@@ -0,0 +1,50 @@
+# The Redox keyboard
+
+<p align="center">
+<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-logo.png" alt="Redox logo" width="600"/>
+</p>
+
+<p align="center">
+<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-pcb2.jpg" alt="Redox PCB rev1.0" width="600"/>
+</p>
+
+**Redox**: the **R**educed **E**rgo**dox** project. More information and building instruction [here](https://github.com/mattdibi/redox-keyboard).
+
+- Keyboard Maintainer: [Mattia Dal Ben](https://github.com/mattdibi)
+- Hardware Supported:
+ - Redox PCB rev1.0
+ - Pro Micro or Proton C micro controllers
+- Hardware Availability: [Falbatech](https://falba.tech/product-category/keyboard-parts/redox-parts/)
+
+Make example for this keyboard (after setting up [qmk](https://docs.qmk.fm/#/getting_started_build_tools)):
+
+To build the Pro Micro firmware, first set your config:
+```sh
+qmk config user.keyboard=redox/rev1
+```
+or if your using the Proton C:
+```sh
+qmk config user.keyboard=redox/rev1/proton_c
+```
+
+Don't forget to set a layout. There's many to choose from in the keymaps folder.
+```sh
+qmk config user.keymap=default
+```
+
+Now you can build your firmware!
+```sh
+qmk compile
+```
+
+Flashing is also straightforward. Run:
+```sh
+qmk flash
+```
+Enter the bootloader when prompted by doing one of the following:
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if you have a layout that has one.
+
+The WS2812 driver is *untested* on the Proton C, but if you choose to use this feature, you will need to source 5v from the Proton's VUSB pin and not use the PCB's dedicated pin which will be 3v3 *and* follow the [documentation](https://docs.qmk.fm/#/ws2812_driver) to enable the correct driver settings.
+
+Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/redox/rules.mk b/keyboards/redox/rules.mk
index 29ad3b9404..a2f52752e0 100644
--- a/keyboards/redox/rules.mk
+++ b/keyboards/redox/rules.mk
@@ -1,18 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-SPLIT_KEYBOARD = yes
-
DEFAULT_FOLDER = redox/rev1/base
# Disable unsupported hardware
diff --git a/keyboards/redox/wireless/config.h b/keyboards/redox/wireless/config.h
new file mode 100644
index 0000000000..88e99b7352
--- /dev/null
+++ b/keyboards/redox/wireless/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2017 Mattia Dal Ben
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+#define ONESHOT_TIMEOUT 500
diff --git a/keyboards/redox/wireless/info.json b/keyboards/redox/wireless/info.json
new file mode 100644
index 0000000000..86977f4602
--- /dev/null
+++ b/keyboards/redox/wireless/info.json
@@ -0,0 +1,105 @@
+{
+ "keyboard_name": "Redox Wireless",
+ "manufacturer": "Mattia Dal Ben",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D44",
+ "pid": "0x5257",
+ "device_version": "0.0.1"
+ },
+ "features":{
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ },
+ "development_board": "promicro",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.25},
+ {"matrix": [0, 1], "x": 1.25, "y": 0.375},
+ {"matrix": [0, 2], "x": 2.25, "y": 0.125},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0.125},
+ {"matrix": [0, 5], "x": 5.25, "y": 0.25},
+
+ {"matrix": [0, 8], "x": 12.25, "y": 0.25},
+ {"matrix": [0, 9], "x": 13.25, "y": 0.125},
+ {"matrix": [0, 10], "x": 14.25, "y": 0},
+ {"matrix": [0, 11], "x": 15.25, "y": 0.125},
+ {"matrix": [0, 12], "x": 16.25, "y": 0.375},
+ {"matrix": [0, 13], "x": 17.25, "y": 0.375, "w": 1.25},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.375, "w": 1.25},
+ {"matrix": [1, 1], "x": 1.25, "y": 1.375},
+ {"matrix": [1, 2], "x": 2.25, "y": 1.125},
+ {"matrix": [1, 3], "x": 3.25, "y": 1},
+ {"matrix": [1, 4], "x": 4.25, "y": 1.125},
+ {"matrix": [1, 5], "x": 5.25, "y": 1.25},
+ {"matrix": [0, 6], "x": 6.25, "y": 0.75},
+
+ {"matrix": [0, 7], "x": 11.25, "y": 0.75},
+ {"matrix": [1, 8], "x": 12.25, "y": 1.25},
+ {"matrix": [1, 9], "x": 13.25, "y": 1.125},
+ {"matrix": [1, 10], "x": 14.25, "y": 1},
+ {"matrix": [1, 11], "x": 15.25, "y": 1.125},
+ {"matrix": [1, 12], "x": 16.25, "y": 1.375},
+ {"matrix": [1, 13], "x": 17.25, "y": 1.375, "w": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.375, "w": 1.25},
+ {"matrix": [2, 1], "x": 1.25, "y": 2.375},
+ {"matrix": [2, 2], "x": 2.25, "y": 2.125},
+ {"matrix": [2, 3], "x": 3.25, "y": 2},
+ {"matrix": [2, 4], "x": 4.25, "y": 2.125},
+ {"matrix": [2, 5], "x": 5.25, "y": 2.25},
+ {"matrix": [1, 6], "x": 6.25, "y": 1.75, "h": 1.5},
+
+ {"matrix": [1, 7], "x": 11.25, "y": 1.75, "h": 1.5},
+ {"matrix": [2, 8], "x": 12.25, "y": 2.25},
+ {"matrix": [2, 9], "x": 13.25, "y": 2.125},
+ {"matrix": [2, 10], "x": 14.25, "y": 2},
+ {"matrix": [2, 11], "x": 15.25, "y": 2.125},
+ {"matrix": [2, 12], "x": 16.25, "y": 2.375},
+ {"matrix": [2, 13], "x": 17.25, "y": 2.375, "w": 1.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.375, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.25, "y": 3.375},
+ {"matrix": [3, 2], "x": 2.25, "y": 3.125},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3.125},
+ {"matrix": [3, 5], "x": 5.25, "y": 3.25},
+ {"matrix": [2, 6], "x": 6.75, "y": 3.75},
+ {"matrix": [3, 6], "x": 7.75, "y": 3.75},
+
+ {"matrix": [3, 7], "x": 9.75, "y": 3.75},
+ {"matrix": [2, 7], "x": 10.75, "y": 3.75},
+ {"matrix": [3, 8], "x": 12.25, "y": 3.25},
+ {"matrix": [3, 9], "x": 13.25, "y": 3.125},
+ {"matrix": [3, 10], "x": 14.25, "y": 3},
+ {"matrix": [3, 11], "x": 15.25, "y": 3.125},
+ {"matrix": [3, 12], "x": 16.25, "y": 3.375},
+ {"matrix": [3, 13], "x": 17.25, "y": 3.375, "w": 1.25},
+
+ {"matrix": [4, 0], "x": 0.25, "y": 4.375},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.375},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.125},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 5.5, "y": 5.25, "w": 1.25},
+ {"matrix": [4, 5], "x": 6.75, "y": 4.75, "h": 1.5},
+ {"matrix": [4, 6], "x": 7.75, "y": 4.75, "h": 1.5},
+
+ {"matrix": [4, 7], "x": 9.75, "y": 4.75, "h": 1.5},
+ {"matrix": [4, 8], "x": 10.75, "y": 4.75, "h": 1.5},
+ {"matrix": [4, 9], "x": 11.75, "y": 5.25, "w": 1.25},
+ {"matrix": [4, 10], "x": 14.25, "y": 4},
+ {"matrix": [4, 11], "x": 15.25, "y": 4.125},
+ {"matrix": [4, 12], "x": 16.25, "y": 4.375},
+ {"matrix": [4, 13], "x": 17.25, "y": 4.375}
+ ]
+ }
+ }
+}
diff --git a/keyboards/redox_w/matrix.c b/keyboards/redox/wireless/matrix.c
index 9c50c9cece..9c50c9cece 100644
--- a/keyboards/redox_w/matrix.c
+++ b/keyboards/redox/wireless/matrix.c
diff --git a/keyboards/redox/wireless/readme.md b/keyboards/redox/wireless/readme.md
new file mode 100644
index 0000000000..65386c94b1
--- /dev/null
+++ b/keyboards/redox/wireless/readme.md
@@ -0,0 +1,34 @@
+# Redox Wireless
+=======
+
+<p align="center">
+<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-logo.png" alt="Redox logo" width="600"/>
+</p>
+
+**Redox**: the **R**educed **E**rgo**dox** project. More information and building instruction [here](https://github.com/mattdibi/redox-keyboard).
+
+A wireless version of the Redox keyboard.
+
+- Keyboard Maintainer: [@mattdibi](https://github.com/mattdibi)
+- Hardware Supported: Redox-w rev1.0W PCB
+- Hardware Availability: Falbatech
+
+Make example for this keyboard (after setting up your build environment):
+
+```sh
+make redox/wireless:default
+```
+
+Example of flashing this keyboard:
+
+```sh
+make redox/wireless: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).
+
+For nRF51822 firmware upload instruction and development see [the Redox wireless firmware repository](https://github.com/mattdibi/redox-w-firmware).
+
+## Notes
+
+These configuration files were based off the [Mitosis](https://github.com/qmk/qmk_firmware/tree/master/keyboards/mitosis) and [Atreus](https://github.com/technomancy/atreus) keyboard. It assumes a Pro Micro is being used, however retains the 'make upload' feature from the Atreus branch. This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported.
diff --git a/keyboards/redox/wireless/rules.mk b/keyboards/redox/wireless/rules.mk
new file mode 100644
index 0000000000..18d234d62a
--- /dev/null
+++ b/keyboards/redox/wireless/rules.mk
@@ -0,0 +1,5 @@
+CUSTOM_MATRIX = lite
+
+# project specific files
+SRC += matrix.c
+UART_DRIVER_REQUIRED = yes
diff --git a/keyboards/redox/wireless/wireless.c b/keyboards/redox/wireless/wireless.c
new file mode 100644
index 0000000000..30cefd9f4e
--- /dev/null
+++ b/keyboards/redox/wireless/wireless.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2018 Mattia Dal Ben <matthewdibi@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 "wireless.h"
+
+void led_init(void) {
+ setPinOutput(D0);
+ setPinOutput(D1);
+ setPinOutput(F4);
+ setPinOutput(F5);
+
+ writePinHigh(D0);
+ writePinHigh(D1);
+ writePinHigh(F4);
+ writePinHigh(F5);
+}
+
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+ matrix_init_user();
+ led_init();
+}
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+{{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+{{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+{{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+{{13, 3}, {12, 3}, {11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+{{13, 4}, {12, 4}, {11, 4}, {10, 4}, {9, 4}, {8, 4}, {7, 4}, {6, 4}, {5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
+};
+#endif
diff --git a/keyboards/redox/wireless/wireless.h b/keyboards/redox/wireless/wireless.h
new file mode 100644
index 0000000000..a0ba09aff3
--- /dev/null
+++ b/keyboards/redox/wireless/wireless.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2018 Mattia Dal Ben <matthewdibi@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+#define red_led_off writePinHigh(F5)
+#define red_led_on writePinLow(F5)
+#define blu_led_off writePinHigh(F4)
+#define blu_led_on writePinLow(F4)
+#define grn_led_off writePinHigh(D1)
+#define grn_led_on writePinLow(D1)
+#define wht_led_off writePinHigh(D0)
+#define wht_led_on writePinLow(D0)
+
+#define set_led_off red_led_off; grn_led_off; blu_led_off; wht_led_off
+#define set_led_red red_led_on; grn_led_off; blu_led_off; wht_led_off
+#define set_led_blue red_led_off; grn_led_off; blu_led_on; wht_led_off
+#define set_led_green red_led_off; grn_led_on; blu_led_off; wht_led_off
+#define set_led_white red_led_off; grn_led_off; blu_led_off; wht_led_on
diff --git a/keyboards/redox_w/config.h b/keyboards/redox_w/config.h
deleted file mode 100644
index bbdfbb7d1f..0000000000
--- a/keyboards/redox_w/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2017 Mattia Dal Ben
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-#define ONESHOT_TIMEOUT 500
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/redox_w/info.json b/keyboards/redox_w/info.json
deleted file mode 100644
index c765291258..0000000000
--- a/keyboards/redox_w/info.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "keyboard_name": "Redox Wireless",
- "manufacturer": "Mattia Dal Ben",
- "url": "",
- "maintainer": "qmk",
- "usb": {
- "vid": "0x4D44",
- "pid": "0x5257",
- "device_version": "0.0.1"
- },
- "processor": "atmega32u4",
- "bootloader": "caterina",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.25},
- {"matrix": [0, 1], "x": 1.25, "y": 0.375},
- {"matrix": [0, 2], "x": 2.25, "y": 0.125},
- {"matrix": [0, 3], "x": 3.25, "y": 0},
- {"matrix": [0, 4], "x": 4.25, "y": 0.125},
- {"matrix": [0, 5], "x": 5.25, "y": 0.25},
-
- {"matrix": [0, 8], "x": 12.25, "y": 0.25},
- {"matrix": [0, 9], "x": 13.25, "y": 0.125},
- {"matrix": [0, 10], "x": 14.25, "y": 0},
- {"matrix": [0, 11], "x": 15.25, "y": 0.125},
- {"matrix": [0, 12], "x": 16.25, "y": 0.375},
- {"matrix": [0, 13], "x": 17.25, "y": 0.375, "w": 1.25},
-
- {"matrix": [1, 0], "x": 0, "y": 1.375, "w": 1.25},
- {"matrix": [1, 1], "x": 1.25, "y": 1.375},
- {"matrix": [1, 2], "x": 2.25, "y": 1.125},
- {"matrix": [1, 3], "x": 3.25, "y": 1},
- {"matrix": [1, 4], "x": 4.25, "y": 1.125},
- {"matrix": [1, 5], "x": 5.25, "y": 1.25},
- {"matrix": [0, 6], "x": 6.25, "y": 0.75},
-
- {"matrix": [0, 7], "x": 11.25, "y": 0.75},
- {"matrix": [1, 8], "x": 12.25, "y": 1.25},
- {"matrix": [1, 9], "x": 13.25, "y": 1.125},
- {"matrix": [1, 10], "x": 14.25, "y": 1},
- {"matrix": [1, 11], "x": 15.25, "y": 1.125},
- {"matrix": [1, 12], "x": 16.25, "y": 1.375},
- {"matrix": [1, 13], "x": 17.25, "y": 1.375, "w": 1.25},
-
- {"matrix": [2, 0], "x": 0, "y": 2.375, "w": 1.25},
- {"matrix": [2, 1], "x": 1.25, "y": 2.375},
- {"matrix": [2, 2], "x": 2.25, "y": 2.125},
- {"matrix": [2, 3], "x": 3.25, "y": 2},
- {"matrix": [2, 4], "x": 4.25, "y": 2.125},
- {"matrix": [2, 5], "x": 5.25, "y": 2.25},
- {"matrix": [1, 6], "x": 6.25, "y": 1.75, "h": 1.5},
-
- {"matrix": [1, 7], "x": 11.25, "y": 1.75, "h": 1.5},
- {"matrix": [2, 8], "x": 12.25, "y": 2.25},
- {"matrix": [2, 9], "x": 13.25, "y": 2.125},
- {"matrix": [2, 10], "x": 14.25, "y": 2},
- {"matrix": [2, 11], "x": 15.25, "y": 2.125},
- {"matrix": [2, 12], "x": 16.25, "y": 2.375},
- {"matrix": [2, 13], "x": 17.25, "y": 2.375, "w": 1.25},
-
- {"matrix": [3, 0], "x": 0, "y": 3.375, "w": 1.25},
- {"matrix": [3, 1], "x": 1.25, "y": 3.375},
- {"matrix": [3, 2], "x": 2.25, "y": 3.125},
- {"matrix": [3, 3], "x": 3.25, "y": 3},
- {"matrix": [3, 4], "x": 4.25, "y": 3.125},
- {"matrix": [3, 5], "x": 5.25, "y": 3.25},
- {"matrix": [2, 6], "x": 6.75, "y": 3.75},
- {"matrix": [3, 6], "x": 7.75, "y": 3.75},
-
- {"matrix": [3, 7], "x": 9.75, "y": 3.75},
- {"matrix": [2, 7], "x": 10.75, "y": 3.75},
- {"matrix": [3, 8], "x": 12.25, "y": 3.25},
- {"matrix": [3, 9], "x": 13.25, "y": 3.125},
- {"matrix": [3, 10], "x": 14.25, "y": 3},
- {"matrix": [3, 11], "x": 15.25, "y": 3.125},
- {"matrix": [3, 12], "x": 16.25, "y": 3.375},
- {"matrix": [3, 13], "x": 17.25, "y": 3.375, "w": 1.25},
-
- {"matrix": [4, 0], "x": 0.25, "y": 4.375},
- {"matrix": [4, 1], "x": 1.25, "y": 4.375},
- {"matrix": [4, 2], "x": 2.25, "y": 4.125},
- {"matrix": [4, 3], "x": 3.25, "y": 4},
- {"matrix": [4, 4], "x": 5.5, "y": 5.25, "w": 1.25},
- {"matrix": [4, 5], "x": 6.75, "y": 4.75, "h": 1.5},
- {"matrix": [4, 6], "x": 7.75, "y": 4.75, "h": 1.5},
-
- {"matrix": [4, 7], "x": 9.75, "y": 4.75, "h": 1.5},
- {"matrix": [4, 8], "x": 10.75, "y": 4.75, "h": 1.5},
- {"matrix": [4, 9], "x": 11.75, "y": 5.25, "w": 1.25},
- {"matrix": [4, 10], "x": 14.25, "y": 4},
- {"matrix": [4, 11], "x": 15.25, "y": 4.125},
- {"matrix": [4, 12], "x": 16.25, "y": 4.375},
- {"matrix": [4, 13], "x": 17.25, "y": 4.375}
- ]
- }
- }
-}
diff --git a/keyboards/redox_w/keymaps/default/keymap.c b/keyboards/redox_w/keymaps/default/keymap.c
deleted file mode 100644
index a463bfc673..0000000000
--- a/keyboards/redox_w/keymaps/default/keymap.c
+++ /dev/null
@@ -1,111 +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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTPL LCTL_T(KC_BSLS)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _QWERTY:
- set_led_off;
- break;
- case _SYMB:
- set_led_green;
- break;
- case _NAV:
- set_led_blue;
- break;
- case _ADJUST:
- set_led_red;
- break;
- default:
- break;
- }
- return state;
-}
-
-
diff --git a/keyboards/redox_w/keymaps/default/readme.md b/keyboards/redox_w/keymaps/default/readme.md
deleted file mode 100644
index 32ab1253d7..0000000000
--- a/keyboards/redox_w/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Default keymap for Redox Wireless
diff --git a/keyboards/redox_w/keymaps/dvorak/keymap.c b/keyboards/redox_w/keymaps/dvorak/keymap.c
deleted file mode 100644
index bf3d8917a4..0000000000
--- a/keyboards/redox_w/keymaps/dvorak/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2021 66f94eae(66f94eae@gmail.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layers {
- _DVORAK,
- _SYMB,
- _QWERTY,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_DVORAK] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC, KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_SLSH ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I ,KC_MINS, KC_EQL ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_BSLS ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_SCLN ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_PGUP ,KC_HOME , KC_END ,KC_PGDN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_RSFT ,
-//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_CAPS ,KC_APP ,KC_LALT ,KC_LGUI , LT(3,KC_MUTE), KC_SPC ,KC_INS , KC_DEL ,KC_ENT , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
-//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
-),
-
-[_SYMB] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- QK_GESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_BSPC ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB , KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_WH_U ,KC_COPY ,KC_F6 , KC_F7 ,KC_COPY ,KC_P7 ,KC_P8 ,KC_P9 ,KC_MPRV ,KC_PPLS ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,KC_CUT ,KC_VOLD , KC_VOLU ,KC_CUT ,KC_P4 ,KC_P5 ,KC_P6 ,KC_MNXT ,KC_PMNS ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_WH_L ,KC_UP ,KC_WH_R ,KC_LGUI ,KC_PSTE ,KC_WH_U ,KC_SCRL , KC_NUM ,KC_WH_D ,KC_PSTE ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PEQL ,KC_PAST ,
-//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_CAPS ,KC_LEFT ,KC_DOWN ,KC_RGHT, LT(3,KC_MUTE) ,KC_SPC ,KC_ESC , KC_DEL ,KC_ENT , KC_APP , KC_P0 ,KC_PDOT ,KC_PENT ,KC_PSLS
-//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
-),
-
-[_QWERTY] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_MINS , KC_EQL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,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_HOME ,KC_PGUP , KC_PGDN ,KC_END ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
-//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_CAPS ,KC_LGUI ,KC_LALT , KC_APP ,LT(3,KC_MUTE) , KC_SPC ,KC_INS , KC_DEL ,KC_ENT , KC_APP , KC_LEFT ,KC_UP ,KC_DOWN ,KC_RGHT
-//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
-),
-
-[_ADJUST] = LAYOUT(
-//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- QK_GESC ,TO(0) ,TO(1) ,TO(2) ,KC_NO ,KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
-//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_RSFT ,
-//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_NO ,KC_NO ,KC_NO ,KC_LGUI ,LT(3,KC_MUTE), KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_APP ,KC_NO ,KC_NO ,KC_NO ,KC_NO
-//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
-)
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state)
-{
- switch (get_highest_layer(state)) {
- case _DVORAK:
- blu_led_off;
- grn_led_off;
- break;
- case _SYMB:
- blu_led_on;
- grn_led_off;
- break;
- case _QWERTY:
- blu_led_off;
- grn_led_on;
- break;
- case _ADJUST:
- blu_led_on;
- grn_led_on;
- break;
- default:
- break;
- }
- return state;
-}
-
-bool led_update_user(led_t led_state)
-{
- if (led_state.caps_lock) {
- red_led_on;
- } else {
- red_led_off;
- }
- if (led_state.num_lock) {
- wht_led_on;
- } else {
- wht_led_off;
- }
- return false;
-}
diff --git a/keyboards/redox_w/keymaps/dvorak/readme.md b/keyboards/redox_w/keymaps/dvorak/readme.md
deleted file mode 100644
index cdc90976a7..0000000000
--- a/keyboards/redox_w/keymaps/dvorak/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-### fork from default layout,and support dvorak layout[defalut layer]
-
-##### only use 3 layers
-
-```
-Keymap: 3 Layers
------------------
-stack of layers
- ____________ precedence
- / / | high
- 31 /___________// |
- : _:_:_:_:_:__ |
- 3 /___________// | --- adjust
- 2 /___________// | --- qwerty
- 1 /___________// | --- symb
- 0 /___________/ | --- dvorak[default]
-```
-
-defalut LED indicators
-
-RED --------- CAPS LOCK
-
-BLUE ------- SYMB layer
-
-GREEN----- QWERTY layer
-
-WHITE------ NUM LOCK *in my test case,this is inefficient on mac os*
-
-> BLUE and GREEN as a bit flag
->
-> 0                    0
-
-| BLUE(0) | GREEN(0) | STATUS | DESCRIBE |
-|:-------:|:--------:|:------:|:--------------------------------------------------- |
-| 0 | 0 | 0 | layer 0[dvorak] is active,and blue,green led is off |
-| 1 | 0 | 1 | layer1[symb] is active, and blue led is on |
-| 0 | 1 | 2 | layer 2[qwerty] is active,and green led is on |
-| 1 | 1 | 3 | layer 3[adjust] is active,and blue,green led is on |
diff --git a/keyboards/redox_w/keymaps/italian/keymap.c b/keyboards/redox_w/keymaps/italian/keymap.c
deleted file mode 100644
index 6d345028b2..0000000000
--- a/keyboards/redox_w/keymaps/italian/keymap.c
+++ /dev/null
@@ -1,123 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#include "keymap_italian.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 _SYMB 1
-#define _NAV 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- SYMB,
- NAV,
- ADJUST,
-};
-
-// Shortcut to make keymap more readable
-#define KC_BKSL KC_BSLS
-#define SYM_L MO(_SYMB)
-
-#define KC_ALAS LALT_T(KC_PAST)
-#define KC_CTPL LCTL_T(KC_PSLS)
-
-#define KC_NAGR LT(_NAV, KC_GRV)
-#define KC_NAMI LT(_NAV, KC_MINS)
-
-#define KC_ADEN LT(_ADJUST, KC_END)
-#define KC_ADPU LT(_ADJUST, KC_PGUP)
-
-// Italian specific shortcuts
-#define ALT_IACC RALT_T(IT_IGRV)
-#define GUI_LESS LGUI_T(IT_LABK)
-
-#define IT_SHSL RSFT_T(KC_SLSH)
-#define IT_GRV RALT(KC_MINS)
-#define IT_TILD RALT(KC_EQL)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EGRV ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OGRV ,IT_AGRV ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UGRV ,IT_SHSL ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_EXLM ,IT_AT ,IT_LCBR ,IT_RCBR ,IT_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_HASH ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- switch (layer) {
- case _QWERTY:
- set_led_off;
- break;
- case _SYMB:
- set_led_green;
- break;
- case _NAV:
- set_led_blue;
- break;
- case _ADJUST:
- set_led_red;
- break;
- default:
- break;
- }
-};
diff --git a/keyboards/redox_w/keymaps/italian/readme.md b/keyboards/redox_w/keymaps/italian/readme.md
deleted file mode 100644
index a2b5ef7079..0000000000
--- a/keyboards/redox_w/keymaps/italian/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Italian keymap for Redox Wireless
diff --git a/keyboards/redox_w/keymaps/via/keymap.c b/keyboards/redox_w/keymaps/via/keymap.c
deleted file mode 100644
index 2ec63ec852..0000000000
--- a/keyboards/redox_w/keymaps/via/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
- /* Copyright HarshitGoel96 2020
- * With permission from mattdibi, the original maintainer of the Redox hardware.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum custom_keycodes {
- _QWERTY,
- _SYMB,
- _NAV,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,XXXXXXX , MO(_ADJUST) ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,XXXXXXX ,KC_PGDN , KC_HOME ,XXXXXXX ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- KC_LGUI ,KC_PPLS ,KC_PMNS ,MO(_SYMB) , MO(_NAV) , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_SYMB] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_NAV] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
- //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
- //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
- )
-
-}; \ No newline at end of file
diff --git a/keyboards/redox_w/keymaps/via/readme.md b/keyboards/redox_w/keymaps/via/readme.md
deleted file mode 100644
index 32ab1253d7..0000000000
--- a/keyboards/redox_w/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Default keymap for Redox Wireless
diff --git a/keyboards/redox_w/readme.md b/keyboards/redox_w/readme.md
deleted file mode 100644
index a47fc2eadd..0000000000
--- a/keyboards/redox_w/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-Redox wireless
-=======
-
-<p align="center">
-<img src="https://github.com/mattdibi/redox-keyboard/raw/master/img/redox-logo.png" alt="Redox logo" width="600"/>
-</p>
-
-**Redox**: the **R**educed **E**rgo**dox** project. More information and building instruction [here](https://github.com/mattdibi/redox-keyboard).
-
-A wireless version of the Redox keyboard.
-
-- Keyboard Maintainer: [@mattdibi](https://github.com/mattdibi)
-- Hardware Supported: Redox-w rev1.0W PCB
-- Hardware Availability: Falbatech
-
-Make example for this keyboard (after setting up your build environment):
-
-```sh
-make redox_w:default
-```
-
-Example of flashing this keyboard:
-
-```sh
-make redox_w: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).
-
-For nRF51822 firmware upload instruction and development see [the Redox wireless firmware repository](https://github.com/mattdibi/redox-w-firmware).
-
-## Redox-w Notes
-
-These configuration files were based off the [Mitosis](https://github.com/qmk/qmk_firmware/tree/master/keyboards/mitosis) and [Atreus](https://github.com/technomancy/atreus) keyboard. It assumes a Pro Micro is being used, however retains the 'make upload' feature from the Atreus branch. This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported.
diff --git a/keyboards/redox_w/redox_w.c b/keyboards/redox_w/redox_w.c
deleted file mode 100644
index 48ea7d3bed..0000000000
--- a/keyboards/redox_w/redox_w.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "redox_w.h"
-
-void led_init(void) {
- setPinOutput(D0);
- setPinOutput(D1);
- setPinOutput(F4);
- setPinOutput(F5);
-
- writePinHigh(D0);
- writePinHigh(D1);
- writePinHigh(F4);
- writePinHigh(F5);
-}
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- matrix_init_user();
- led_init();
-}
-
-#ifdef SWAP_HANDS_ENABLE
-__attribute__ ((weak))
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
-{{13, 0}, {12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
-{{13, 1}, {12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
-{{13, 2}, {12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
-{{13, 3}, {12, 3}, {11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
-{{13, 4}, {12, 4}, {11, 4}, {10, 4}, {9, 4}, {8, 4}, {7, 4}, {6, 4}, {5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
-};
-#endif
diff --git a/keyboards/redox_w/redox_w.h b/keyboards/redox_w/redox_w.h
deleted file mode 100644
index 086c8aae31..0000000000
--- a/keyboards/redox_w/redox_w.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define red_led_off writePinHigh(F5)
-#define red_led_on writePinLow(F5)
-#define blu_led_off writePinHigh(F4)
-#define blu_led_on writePinLow(F4)
-#define grn_led_off writePinHigh(D1)
-#define grn_led_on writePinLow(D1)
-#define wht_led_off writePinHigh(D0)
-#define wht_led_on writePinLow(D0)
-
-#define set_led_off red_led_off; grn_led_off; blu_led_off; wht_led_off
-#define set_led_red red_led_on; grn_led_off; blu_led_off; wht_led_off
-#define set_led_blue red_led_off; grn_led_off; blu_led_on; wht_led_off
-#define set_led_green red_led_off; grn_led_on; blu_led_off; wht_led_off
-#define set_led_white red_led_off; grn_led_off; blu_led_off; wht_led_on
diff --git a/keyboards/redox_w/rules.mk b/keyboards/redox_w/rules.mk
deleted file mode 100644
index f543b5fd9a..0000000000
--- a/keyboards/redox_w/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-CUSTOM_MATRIX = lite
-
-# project specific files
-SRC += matrix.c
-UART_DRIVER_REQUIRED = yes
diff --git a/keyboards/redragon/k667/config.h b/keyboards/redragon/k667/config.h
index 33e26c4a39..6408c97af4 100644
--- a/keyboards/redragon/k667/config.h
+++ b/keyboards/redragon/k667/config.h
@@ -16,12 +16,5 @@
#pragma once
-
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
-
-#define DRIVER_1_LED_TOTAL 45
-#define DRIVER_2_LED_TOTAL 45
-
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
-
diff --git a/keyboards/redragon/k667/info.json b/keyboards/redragon/k667/info.json
index 889ecd56c0..5261d11476 100644
--- a/keyboards/redragon/k667/info.json
+++ b/keyboards/redragon/k667/info.json
@@ -31,7 +31,6 @@
"processor": "STM32F103",
"rgb_matrix": {
"animations": {
- "solid_color": true,
"band_sat": true,
"band_spiral_val": true,
"band_spiral_sat": true,
diff --git a/keyboards/redragon/k667/k667.c b/keyboards/redragon/k667/k667.c
index 629e120b7b..b84bfa40c1 100644
--- a/keyboards/redragon/k667/k667.c
+++ b/keyboards/redragon/k667/k667.c
@@ -17,96 +17,96 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
- {0, G_1, I_1, H_1},
- {0, G_3, I_3, H_3},
- {0, G_4, I_4, H_4},
- {0, G_5, I_5, H_5},
- {0, G_6, I_6, H_6},
- {0, G_7, I_7, H_7},
- {0, G_8, I_8, H_8},
- {0, G_9, I_9, H_9},
- {0, G_10, I_10, H_10},
- {0, G_11, I_11, H_11},
- {0, G_12, I_12, H_12},
- {0, G_13, I_13, H_13},
- {0, G_14, I_14, H_14},
- {0, G_15, I_15, H_15},
- {0, D_1, F_1, E_1},
- {0, D_2, F_2, E_2},
- {0, D_3, F_3, E_3},
- {0, D_4, F_4, E_4},
- {0, D_5, F_5, E_5},
- {0, D_6, F_6, E_6},
- {0, D_7, F_7, E_7},
- {0, D_8, F_8, E_8},
- {0, D_9, F_9, E_9},
- {0, D_10, F_10, E_10},
- {0, D_11, F_11, E_11},
- {0, D_12, F_12, E_12},
- {0, D_13, F_13, E_13},
- {0, D_14, F_14, E_14},
- {0, D_15, F_15, E_15},
- {0, A_1, C_1, B_1},
- {0, A_2, C_2, B_2},
- {0, A_3, C_3, B_3},
- {0, A_4, C_4, B_4},
- {0, A_5, C_5, B_5},
- {0, A_6, C_6, B_6},
- {0, A_7, C_7, B_7},
- {0, A_8, C_8, B_8},
- {0, A_9, C_9, B_9},
- {0, A_10, C_10, B_10},
- {0, A_11, C_11, B_11},
- {0, A_12, C_12, B_12},
- {0, A_13, C_13, B_13},
- {0, A_14, C_14, B_14},
- {0, A_15, C_15, B_15},
- {1, G_1, I_1, H_1},
- {1, G_2, I_2, H_2},
- {1, G_3, I_3, H_3},
- {1, G_4, I_4, H_4},
- {1, G_5, I_5, H_5},
- {1, G_6, I_6, H_6},
- {1, G_7, I_7, H_7},
- {1, G_8, I_8, H_8},
- {1, G_9, I_9, H_9},
- {1, G_10, I_10, H_10},
- {1, G_11, I_11, H_11},
- {1, G_12, I_12, H_12},
- {1, G_13, I_13, H_13},
- {1, G_14, I_14, H_14},
- {1, G_15, I_15, H_15},
- {1, D_1, F_1, E_1},
- {1, D_2, F_2, E_2},
- {1, D_3, F_3, E_3},
- {1, D_4, F_4, E_4},
- {1, D_5, F_5, E_5},
- {1, D_6, F_6, E_6},
- {1, D_7, F_7, E_7},
- {1, D_8, F_8, E_8},
- {1, D_9, F_9, E_9},
- {1, D_10, F_10, E_10},
- {1, D_11, F_11, E_11},
- {1, D_12, F_12, E_12},
- {1, D_13, F_13, E_13},
- {1, D_14, F_14, E_14},
- {1, D_15, F_15, E_15},
- {1, A_1, C_1, B_1},
- {1, A_2, C_2, B_2},
- {1, A_3, C_3, B_3},
- {1, A_5, C_5, B_5},
- {1, A_6, C_6, B_6},
- {1, A_7, C_7, B_7},
- {1, A_8, C_8, B_8},
- {1, A_9, C_9, B_9},
- {1, A_10, C_10, B_10},
- {1, A_11, C_11, B_11},
- {1, A_12, C_12, B_12},
- {1, A_13, C_13, B_13},
- {1, A_14, C_14, B_14},
- {1, A_15, C_15, B_15},
- {0, G_2, I_2, H_2},
- {1, A_4, C_4, B_4}
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+ {0, SW7_CS1, SW9_CS1, SW8_CS1},
+ {0, SW7_CS3, SW9_CS3, SW8_CS3},
+ {0, SW7_CS4, SW9_CS4, SW8_CS4},
+ {0, SW7_CS5, SW9_CS5, SW8_CS5},
+ {0, SW7_CS6, SW9_CS6, SW8_CS6},
+ {0, SW7_CS7, SW9_CS7, SW8_CS7},
+ {0, SW7_CS8, SW9_CS8, SW8_CS8},
+ {0, SW7_CS9, SW9_CS9, SW8_CS9},
+ {0, SW7_CS10, SW9_CS10, SW8_CS10},
+ {0, SW7_CS11, SW9_CS11, SW8_CS11},
+ {0, SW7_CS12, SW9_CS12, SW8_CS12},
+ {0, SW7_CS13, SW9_CS13, SW8_CS13},
+ {0, SW7_CS14, SW9_CS14, SW8_CS14},
+ {0, SW7_CS15, SW9_CS15, SW8_CS15},
+ {0, SW4_CS1, SW6_CS1, SW5_CS1},
+ {0, SW4_CS2, SW6_CS2, SW5_CS2},
+ {0, SW4_CS3, SW6_CS3, SW5_CS3},
+ {0, SW4_CS4, SW6_CS4, SW5_CS4},
+ {0, SW4_CS5, SW6_CS5, SW5_CS5},
+ {0, SW4_CS6, SW6_CS6, SW5_CS6},
+ {0, SW4_CS7, SW6_CS7, SW5_CS7},
+ {0, SW4_CS8, SW6_CS8, SW5_CS8},
+ {0, SW4_CS9, SW6_CS9, SW5_CS9},
+ {0, SW4_CS10, SW6_CS10, SW5_CS10},
+ {0, SW4_CS11, SW6_CS11, SW5_CS11},
+ {0, SW4_CS12, SW6_CS12, SW5_CS12},
+ {0, SW4_CS13, SW6_CS13, SW5_CS13},
+ {0, SW4_CS14, SW6_CS14, SW5_CS14},
+ {0, SW4_CS15, SW6_CS15, SW5_CS15},
+ {0, SW1_CS1, SW3_CS1, SW2_CS1},
+ {0, SW1_CS2, SW3_CS2, SW2_CS2},
+ {0, SW1_CS3, SW3_CS3, SW2_CS3},
+ {0, SW1_CS4, SW3_CS4, SW2_CS4},
+ {0, SW1_CS5, SW3_CS5, SW2_CS5},
+ {0, SW1_CS6, SW3_CS6, SW2_CS6},
+ {0, SW1_CS7, SW3_CS7, SW2_CS7},
+ {0, SW1_CS8, SW3_CS8, SW2_CS8},
+ {0, SW1_CS9, SW3_CS9, SW2_CS9},
+ {0, SW1_CS10, SW3_CS10, SW2_CS10},
+ {0, SW1_CS11, SW3_CS11, SW2_CS11},
+ {0, SW1_CS12, SW3_CS12, SW2_CS12},
+ {0, SW1_CS13, SW3_CS13, SW2_CS13},
+ {0, SW1_CS14, SW3_CS14, SW2_CS14},
+ {0, SW1_CS15, SW3_CS15, SW2_CS15},
+ {1, SW7_CS1, SW9_CS1, SW8_CS1},
+ {1, SW7_CS2, SW9_CS2, SW8_CS2},
+ {1, SW7_CS3, SW9_CS3, SW8_CS3},
+ {1, SW7_CS4, SW9_CS4, SW8_CS4},
+ {1, SW7_CS5, SW9_CS5, SW8_CS5},
+ {1, SW7_CS6, SW9_CS6, SW8_CS6},
+ {1, SW7_CS7, SW9_CS7, SW8_CS7},
+ {1, SW7_CS8, SW9_CS8, SW8_CS8},
+ {1, SW7_CS9, SW9_CS9, SW8_CS9},
+ {1, SW7_CS10, SW9_CS10, SW8_CS10},
+ {1, SW7_CS11, SW9_CS11, SW8_CS11},
+ {1, SW7_CS12, SW9_CS12, SW8_CS12},
+ {1, SW7_CS13, SW9_CS13, SW8_CS13},
+ {1, SW7_CS14, SW9_CS14, SW8_CS14},
+ {1, SW7_CS15, SW9_CS15, SW8_CS15},
+ {1, SW4_CS1, SW6_CS1, SW5_CS1},
+ {1, SW4_CS2, SW6_CS2, SW5_CS2},
+ {1, SW4_CS3, SW6_CS3, SW5_CS3},
+ {1, SW4_CS4, SW6_CS4, SW5_CS4},
+ {1, SW4_CS5, SW6_CS5, SW5_CS5},
+ {1, SW4_CS6, SW6_CS6, SW5_CS6},
+ {1, SW4_CS7, SW6_CS7, SW5_CS7},
+ {1, SW4_CS8, SW6_CS8, SW5_CS8},
+ {1, SW4_CS9, SW6_CS9, SW5_CS9},
+ {1, SW4_CS10, SW6_CS10, SW5_CS10},
+ {1, SW4_CS11, SW6_CS11, SW5_CS11},
+ {1, SW4_CS12, SW6_CS12, SW5_CS12},
+ {1, SW4_CS13, SW6_CS13, SW5_CS13},
+ {1, SW4_CS14, SW6_CS14, SW5_CS14},
+ {1, SW4_CS15, SW6_CS15, SW5_CS15},
+ {1, SW1_CS1, SW3_CS1, SW2_CS1},
+ {1, SW1_CS2, SW3_CS2, SW2_CS2},
+ {1, SW1_CS3, SW3_CS3, SW2_CS3},
+ {1, SW1_CS5, SW3_CS5, SW2_CS5},
+ {1, SW1_CS6, SW3_CS6, SW2_CS6},
+ {1, SW1_CS7, SW3_CS7, SW2_CS7},
+ {1, SW1_CS8, SW3_CS8, SW2_CS8},
+ {1, SW1_CS9, SW3_CS9, SW2_CS9},
+ {1, SW1_CS10, SW3_CS10, SW2_CS10},
+ {1, SW1_CS11, SW3_CS11, SW2_CS11},
+ {1, SW1_CS12, SW3_CS12, SW2_CS12},
+ {1, SW1_CS13, SW3_CS13, SW2_CS13},
+ {1, SW1_CS14, SW3_CS14, SW2_CS14},
+ {1, SW1_CS15, SW3_CS15, SW2_CS15},
+ {0, SW7_CS2, SW9_CS2, SW8_CS2},
+ {1, SW1_CS4, SW3_CS4, SW2_CS4}
};
#endif
diff --git a/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c b/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c
deleted file mode 100644
index e6019db2ee..0000000000
--- a/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2019 Andy Lee <alee@alittlepeacemusic.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- KC_P00 = SAFE_RANGE,
-
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_ansi_numpad_split0(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, TG(1), 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_INS, KC_HOME, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, C(S(KC_TAB)), KC_UP, LCTL(KC_TAB),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT
- ),
-
- [1] = LAYOUT_60_ansi_numpad_split0(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_P00, KC_DOT, _______
- ),
-
- [2] = LAYOUT_60_ansi_numpad_split0(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_P00:
- if (record->event.pressed) {
- SEND_STRING("00");
- }
- break;
- case TG(1):
- if (record->event.pressed) {
- tap_code(KC_NUM_LOCK);
- return true;
- }
- break;
-
- }
- return true;
-}
-
-void matrix_init_user (void) {
- if (!host_keyboard_led_state ().num_lock) {
- tap_code(KC_NUM_LOCK);
- }
-}
-
-bool led_update_user(led_t led_state) {
- if (led_state.num_lock) {
- layer_on(1);
- } else {
- layer_off(1);
- }
- return true;
-}
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
index e4d91482c9..cc14e26943 100644
--- a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 9
+ #define RGBLIGHT_LED_COUNT 9
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
index e4d91482c9..cc14e26943 100644
--- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 9
+ #define RGBLIGHT_LED_COUNT 9
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default/config.h b/keyboards/reviung/reviung39/keymaps/default/config.h
index d868c539e4..d882e8ad94 100644
--- a/keyboards/reviung/reviung39/keymaps/default/config.h
+++ b/keyboards/reviung/reviung39/keymaps/default/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 11
+ #define RGBLIGHT_LED_COUNT 11
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/config.h b/keyboards/reviung/reviung39/keymaps/default_s/config.h
index c44a5f9d7c..3fd3c73fcc 100644
--- a/keyboards/reviung/reviung39/keymaps/default_s/config.h
+++ b/keyboards/reviung/reviung39/keymaps/default_s/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/readme.md b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
index b882ec40c2..a67401b97c 100644
--- a/keyboards/reviung/reviung39/keymaps/default_s/readme.md
+++ b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
@@ -3,4 +3,4 @@
__REVIUNG39S is simple version__
The number of RGB LEDs is set to 6.
-To change the number of RGB LEDs, change the "#define RGBLED_NUM 6" number in "default_s / config.h".
+To change the number of RGB LEDs, change the "#define RGBLIGHT_LED_COUNT 6" number in "default_s / config.h".
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
deleted file mode 100644
index 1d7ad67a62..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 @Ciutadellla
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#define RGBLIGHT_LAYERS
- // /*== or choose animations ==*/
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-
-#define TAPPING_TERM 200
-#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
deleted file mode 100644
index a4279821cc..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
+++ /dev/null
@@ -1,333 +0,0 @@
-/* Copyright 2021 @Ciutadellla
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
- #include QMK_KEYBOARD_H
-
- enum layer_names {
- _BASE,
- _LOWER,
- _RAISE,
- _MOVE,
- _ADJUST
- };
-
- //UNICODES
- #include "process_unicode.h"
-
- enum unicode_names {
- CKC_EUR,
- N_TILDE,
- COMB_ACUTE_ACCENT,
- GRINNING_FACE, // 😃
- BEAMING_FACE, // ðŸ˜
- GRINNING_FACE_WITH_SWEAT, // 😅
- ROLLING_LAUGHING, // 🤣
- FACE_TEARS_JOY, // 😂
- WINKING_FACE, // 😉
- SMILING_FACE_HALO, // 😇
- SMILING_FACE_HEARTS, // 🥰
- SMILING_FACE_HEART_EYES, // ðŸ˜
- FACE_BLOWING_KISS, // 😘
- FACE_SAVORING_FOOD, // 😋
- ZANY_FACE, // 🤪
- HUGGING_FACE, // 🤗
- SHUSHING_FACE, // 🤫
- THINKING_FACE, // 🤔
- FACE_RAISED_EYEBROW, // 🤨
- NEUTRAL_FACE, // ðŸ˜
- SMIRKING_FACE, // ðŸ˜
- FACE_ROLLING_EYES, // 🙄
- PENSIVE_FACE, // 😔
- FACE_VOMITING, // 🤮
- WOOZY_FACE, // 🥴
- PLEADING_FACE, // 🥺
- LOUDLY_CRYING_FACE, // 😭
- DISAPPOINTED_FACE, // 😞
- FACE_SYMBOLS_MOUTH, // 🤬
- SMILING_FACE_HORNS, // 😈
- SKULL, // 💀
- PILE_POO, // 💩
- GHOST, // 👻
- ALIEN_MONSTER, // 👾
- RED_HEART, // â¤
- BOMB, // 💣
- WAVING_HAND, // 👋
- OK_HAND, // 👌
- CLAPPING_HANDS, // ðŸ‘
- EYES, // 👀
- MAN_FACEPALMING, // 🤦
- TURTLE, // ðŸ¢
- SNAKE, // ðŸ
- SPOUTING_WHALE, // ðŸ³
- DRAGON, // ðŸ‰
- TREX, // 🦖
- THUMBSDOWN, // ðŸ‘
- THUMBSUP, // 👎
- };
-
- //https://unicode-table.com/en/#00F1
- const uint32_t unicode_map[] PROGMEM = {
- [CKC_EUR] = 0x20AC, //€
- [N_TILDE] = 0x00F1, // ñ
- [COMB_ACUTE_ACCENT] = 0x0301, // ´
- [GRINNING_FACE] = 0x1F603,
- [BEAMING_FACE] = 0x1F601,
- [GRINNING_FACE_WITH_SWEAT] = 0x1F605,
- [ROLLING_LAUGHING] = 0x1F923,
- [FACE_TEARS_JOY] = 0x1F602,
- [WINKING_FACE] = 0x1F609,
- [SMILING_FACE_HALO] = 0x1F607,
- [SMILING_FACE_HEARTS] = 0x1F970,
- [SMILING_FACE_HEART_EYES] = 0x1F60D,
- [FACE_BLOWING_KISS] = 0x1F618,
- [FACE_SAVORING_FOOD] = 0x1F60B,
- [ZANY_FACE] = 0x1F92A,
- [HUGGING_FACE] = 0x1F917,
- [SHUSHING_FACE] = 0x1F92B,
- [THINKING_FACE] = 0x1F914,
- [FACE_RAISED_EYEBROW] = 0x1F928,
- [NEUTRAL_FACE] = 0x1F610,
- [SMIRKING_FACE] = 0x1F60F,
- [FACE_ROLLING_EYES] = 0x1F644,
- [PENSIVE_FACE] = 0x1F614,
- [FACE_VOMITING] = 0x1F92E,
- [WOOZY_FACE] = 0x1F974,
- [PLEADING_FACE] = 0x1F97A,
- [LOUDLY_CRYING_FACE] = 0x1F62D,
- [DISAPPOINTED_FACE] = 0x1F61E,
- [FACE_SYMBOLS_MOUTH] = 0x1F92C,
- [SMILING_FACE_HORNS] = 0x1F608,
- [SKULL] = 0x1F480,
- [PILE_POO] = 0x1F4A9,
- [GHOST] = 0x1F47B,
- [ALIEN_MONSTER] = 0x1F47E,
- [RED_HEART] = 0x2764,
- [BOMB] = 0x1F4A3,
- [WAVING_HAND] = 0x1F44B,
- [OK_HAND] = 0x1F44C,
- [CLAPPING_HANDS] = 0x1F44F,
- [EYES] = 0x1F440,
- [MAN_FACEPALMING] = 0x1F926,
- [TURTLE] = 0x1F422,
- [SNAKE] = 0x1F40D,
- [SPOUTING_WHALE] = 0x1F433,
- [DRAGON] = 0x1F409,
- [TREX] = 0x1F996,
- [THUMBSDOWN] = 0x1F44E,
- [THUMBSUP] = 0x1F44D,
- };
-
-
- void matrix_init_user(void){
- set_unicode_input_mode(UNICODE_MODE_MACOS);
- }
-
-
- // Shortcut to make keymap more readable
- #define KC_OSX_EJECT 0x66
- #define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
- #define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
- #define KC_C_LF RCTL(KC_LEFT) // control + left
- #define KC_C_RT RCTL(KC_RGHT) // control + right
-
- // tap dance declarations
- enum {
- _TD_TAB_ESC = 0,
- _TD_BSPC_WDEL,
- _TD_SFT_CAPS,
- _TD_SPC_ENT,
- _TD_N_NTILDE,
- _TD_CTRL_LANG,
- _TD_SCLN_NTILDE
- };
-
- #define TD_TAB_ESC TD(_TD_TAB_ESC)
- #define TD_BSPC_WDEL TD(_TD_BSPC_WDEL)
- #define TD_SFT_CAPS TD(_TD_SFT_CAPS)
- #define TD_SPC_ENT TD(_TD_SPC_ENT)
- #define TD_N_NTILDE TD(_TD_N_NTILDE)
- #define TD_CTRL_LANG TD(_TD_CTRL_LANG)
- #define TD_SCLN_NTILDE TD(_TD_SCLN_NTILDE) //TP with costum keycodes has to be a funtion
-
- void td_scln_ntilde(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- } else {
- send_unicode_string("ñ");
- }
- reset_tap_dance(state);
- }
-
- // Tap Dance Definitions
- tap_dance_action_t tap_dance_actions[] = {
- [_TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
- [_TD_BSPC_WDEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)),
- [_TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
- [_TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT),
- [_TD_CTRL_LANG] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCTL(LSFT(KC_SPACE))),
- [_TD_SCLN_NTILDE] = ACTION_TAP_DANCE_FN(td_scln_ntilde),
- };
-
-
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- /* Qwerty 0
- * ,-----------------------------------------+ +-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * |CtlLNG| A | S | D | F | G | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift|
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | GUI | Lower| Space | Raise| Alt |
- * +-------------/ \--------------+
- */
- [_BASE] = LAYOUT_reviung41(TD_TAB_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BSPC_WDEL, TD_CTRL_LANG, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_NTILDE, 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, RSFT_T(KC_ENT), KC_LGUI, MO(1), TD_SPC_ENT, MO(2), LT(4,KC_NO)),
-
-
- /* LOWER 1
- * ,-----------------------------------------+ +-----------------------------------------.
- * | Tab | ! | @ | # | $ | % | | ^ | & | * | () | ) | Del |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | Ctl | _ | + | {} | } | | | | LEFT | DOWN | UP | RIGHT| ´ | " |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | Shift| Esc | Gui | Alt | = | "" | | HOME | END | PGUP | PDOWN| / | Shft |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | GUI | Lower| Space | Raise| Alt |
- * +-------------/ \--------------+
- */
- [_LOWER] = LAYOUT_reviung41(KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_ESC, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, MT(MOD_LSFT | MOD_RSFT,KC_SPC), KC_TRNS, KC_TRNS, KC_ENT, MO(3), KC_TRNS),
-
- /* Raise 2
- * ,-----------------------------------------+ +-----------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | | MINS | EQL | LBRC | RBRC | BSLS | | F1 | F2 | F3 | F4 | F5 | F6 |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | | | | | | QUOT | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | ____ | MO(3)| BSPC | ____ | ____ |
- * +-------------/ \--------------+
- */
-
- // [_RAISE] = LAYOUT_reviung41(
- // KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_DEL,
- // KC_TRNS, KC_LPRN, KC_RPRN, KC_LT, KC_GT, KC_AMPR, KC_PMNS, KC_PPLS, KC_HASH, KC_PERC, KC_COLN, KC_PEQL,
- // KC_TRNS, KC_LCBR, KC_RCBR, KC_SLSH, KC_INT1, KC_PIPE, KC_PSLS, KC_PAST, KC_PCMM, KC_PDOT, KC_HASH, KC_PENT,
- // KC_TRNS, MO(3), KC_BSPC, KC_TRNS, KC_TRNS
- // ),
-
- [_RAISE] = LAYOUT_reviung41(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS, KC_PMNS,
- KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_LT, KC_GT, KC_P4, KC_P5, KC_P6, KC_PERC, KC_PAST, KC_PSLS,
- KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_PDOT, KC_PEQL,
- KC_TRNS, MO(3), KC_PENT, KC_TRNS, KC_TRNS
- ),
-
-
- /* _MOVE 3
- * ,---------------------------------------------------+ +------------------------------------------.
- * | | | | | | | | | WHD | WHU | | | LOCK |
- * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
- * | | | | | | | | M_L | M_D | M_I | M_R | | SLEEP |
- * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
- * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | QK_BOOT |
- * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
- * | ____ | ____ | BSPC | ____ | ____ |
- * +-------------/ \--------------+
- */
- [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- /* _ADJUST 4
- * ,----------------------------------------+ +---------------------------------------------------.
- * | 😃 | 😅 | 🤣 | 😉 | 😇 | 🥰 | | RGBUP | HUEUP | RGB_MOD | BRIU | PLAY | VOLU |
- * |------+-----+------+------+------+------+ +-------+--------+----------+-------+-------+------|
- * | 😠| 😘 | 🙄 | 😔 | 😭 | 💩 | | RGBDWN| HUEDWN | RGB_TOG | BRID | STOP | VOLD |
- * |------+-----+------+------+------+------+ +-------+--------+----------+--------+------+------|
- * | 👠| 👎 | 👠| 👀 | 🤦 | 👻 | | RGB_TG| | | | | MUTE |
- * |------+------+------+------+------+------+ +-------+--------+----------+--------+------+------|
- * | GUI | Lower| BSPC | Raise| Alt |
- * +-------------/ \--------------+
- */
-
- [_ADJUST] = LAYOUT_reviung41(UM(GRINNING_FACE), UM(GRINNING_FACE_WITH_SWEAT), UM(ROLLING_LAUGHING), UM(WINKING_FACE), UM(SMILING_FACE_HALO), UM(SMILING_FACE_HEARTS), RGB_VAI, RGB_HUI, RGB_MOD, KC_BRIU, KC_MPLY, KC_VOLU, UM(SMILING_FACE_HEART_EYES), UM(FACE_BLOWING_KISS), UM(FACE_ROLLING_EYES), UM(PENSIVE_FACE), UM(LOUDLY_CRYING_FACE), UM(PILE_POO), RGB_VAD, RGB_HUD, RGB_RMOD, KC_BRID, KC_MSTP, KC_VOLD, UM(THUMBSUP), UM(THUMBSDOWN), UM(CLAPPING_HANDS), UM(EYES), UM(MAN_FACEPALMING), UM(GHOST), RGB_TOG, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
- };
-
-
-
- #ifdef RGBLIGHT_ENABLE
- // RGB LED Indicators
- const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_RED} // Light 1 LED, starting with LED 0
- );
-
- // RGB LED Indicators
- const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_CYAN} // Light 1 LED, starting with LED 0
- );
-
- const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_GREEN} // Light 1 LED, starting with LED 1
- );
-
- // RGB LED Indicators
- const rgblight_segment_t PROGMEM my_rise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_MAGENTA} // Light 1 LED, starting with LED 0
- );
-
- // RGB LED Indicators
- const rgblight_segment_t PROGMEM my_MOVE_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_YELLOW} // Light 1 LED, starting with LED 0
- );
-
-
- // RGB LED Indicators
- const rgblight_segment_t PROGMEM my_ADJUST_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 11, HSV_AZURE} // Light 1 LED, starting with LED 0
- );
-
- // Now define the array of layers. Later layers take precedence
- const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_base_layer, // 0
- my_lower_layer, // 1
- my_rise_layer, // 2
- my_MOVE_layer, // 3
- my_ADJUST_layer, // 4
- my_capslock_layer // 5
- );
-
- // Enable the LED layers
- void keyboard_post_init_user(void) {
- rgblight_layers = my_rgb_layers;
- }
-
- layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER));
- rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE));
- rgblight_set_layer_state(3, layer_state_cmp(state, _MOVE));
- rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST));
- return state;
- }
-
- bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(5, led_state.caps_lock);
- return true;
- }
- #endif
-
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
deleted file mode 100644
index eeafc12006..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# MCU name
-MCU = atmega32u4
-BOOTLOADER = atmel-dfu
-MOUSEKEY_ENABLE = yes # Mouse keys
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-UNICODEMAP_ENABLE = yes # Unicode
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
index 854af5142d..ddd5ef6cf5 100644
--- a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
@@ -20,7 +20,7 @@
// --- RGB underglow ---
#define WS2812_DI_PIN B7
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/rgbkb/common/touch_encoder.c b/keyboards/rgbkb/common/touch_encoder.c
index 5f0e4f0cca..18037b8fb5 100644
--- a/keyboards/rgbkb/common/touch_encoder.c
+++ b/keyboards/rgbkb/common/touch_encoder.c
@@ -125,7 +125,7 @@ bool touch_slave_init = false;
slave_touch_status_t touch_slave_state = { 0, 0 };
static bool write_register8(uint8_t address, uint8_t data) {
- i2c_status_t status = i2c_writeReg((I2C_ADDRESS << 1), address, &data, sizeof(data), I2C_TIMEOUT);
+ i2c_status_t status = i2c_write_register((I2C_ADDRESS << 1), address, &data, sizeof(data), I2C_TIMEOUT);
if (status != I2C_STATUS_SUCCESS) {
xprintf("write_register8 %d failed %d\n", address, status);
}
@@ -133,7 +133,7 @@ static bool write_register8(uint8_t address, uint8_t data) {
}
static bool read_register(uint8_t address, uint8_t* data, uint16_t length) {
- i2c_status_t status = i2c_readReg((I2C_ADDRESS << 1), address, data, length, I2C_TIMEOUT);
+ i2c_status_t status = i2c_read_register((I2C_ADDRESS << 1), address, data, length, I2C_TIMEOUT);
if (status != I2C_STATUS_SUCCESS) {
xprintf("read_register %d failed %d\n", address, status);
return false;
diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h
index 87a7fe1319..b247fa91cd 100644
--- a/keyboards/rgbkb/mun/config.h
+++ b/keyboards/rgbkb/mun/config.h
@@ -43,63 +43,6 @@
/* Split Transport Features */
#define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC
-#define RGB_MATRIX_LED_COUNT 98
-#define RGB_MATRIX_SPLIT { 49, 49 }
-#define RGB_MATRIX_CENTER { 128, 34 }
-#define RGB_MATRIX_LED_FLUSH_LIMIT 33
-#define RGB_MATRIX_LED_PROCESS_LIMIT 10
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#if RGB_UNLIMITED_POWER
#define RGBLIGHT_LIMIT_VAL 255
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
diff --git a/keyboards/rgbkb/mun/keymaps/default/config.h b/keyboards/rgbkb/mun/keymaps/default/config.h
index 88bdc06dee..7b8e106b46 100644
--- a/keyboards/rgbkb/mun/keymaps/default/config.h
+++ b/keyboards/rgbkb/mun/keymaps/default/config.h
@@ -18,4 +18,4 @@
// 20m timeout (20m * 60s * 1000mil)
// #define RGB_MATRIX_TIMEOUT 1200000
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
diff --git a/keyboards/rgbkb/mun/keymaps/via/config.h b/keyboards/rgbkb/mun/keymaps/via/config.h
index a0f581b50a..67ad76d191 100644
--- a/keyboards/rgbkb/mun/keymaps/via/config.h
+++ b/keyboards/rgbkb/mun/keymaps/via/config.h
@@ -18,7 +18,7 @@
// 20m timeout (20m * 60s * 1000mil)
// #define RGB_MATRIX_TIMEOUT 1200000
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
// 224B per layer right now
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
deleted file mode 100644
index c945db1417..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <https://github.com/Legonut> wrote this file. As long as you retain this
- * notice you can do whatever you want with this stuff. If we meet some day, and
- * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
- * ----------------------------------------------------------------------------
- */
-
-#pragma once
-
-// Xulkal custom stuff
-#undef QUICK_TAP_TERM
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 175
-
-#define SPACE_CADET_MODIFIER_CARRYOVER
-#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
-#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
-#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_MINS
-#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_EQL
-
-// No need for the single versions when multi performance isn't a problem =D
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#undef ENABLE_RGB_MATRIX_SPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-
-// 20m timeout (20m * 60s * 1000mil)
-// #define RGB_MATRIX_TIMEOUT 1200000
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define OLED_SCROLL_TIMEOUT 20000
-#define ONESHOT_TAP_TOGGLE 2
-
-#define RGB_MATRIX_HUE_STEP 8
-#define RGB_MATRIX_SAT_STEP 8
-#define RGB_MATRIX_VAL_STEP 8
-#define RGB_MATRIX_SPD_STEP 8
-
-#define ENCODER_RESOLUTION 2
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
deleted file mode 100644
index eefb59e676..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <https://github.com/Legonut> wrote this file. As long as you retain this
- * notice you can do whatever you want with this stuff. If we meet some day, and
- * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
- * ----------------------------------------------------------------------------
- */
-
-#include QMK_KEYBOARD_H
-#include "common_oled.h"
-
-enum keymap_layers {
- _QWERTY,
- _FUNCTION,
- _ADJUST
-};
-
-enum keymap_keycodes {
- // Disables touch processing
- TCH_TOG = SAFE_RANGE,
- MENU_BTN,
- MENU_UP,
- MENU_DN,
- RGB_RST
-};
-
-// Default Layers
-#define QWERTY DF(_QWERTY)
-
-// Momentary Layers
-#define FN OSL(_FUNCTION)
-#define ADJ OSL(_ADJUST)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * .--------------------------------------------------------------. .--------------------------------------------------------------.
- * | `~/ESC | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Bckspc |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | Caps | A | S | D | F | G | Play | | MN BTN | H | J | K | L | : | Enter |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | Shft[ | Z | X | C | V | B | { | | } | N | M | , | . | / | Shft] |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | Ctrl- | Win | Alt | Del | Space | | ADJ | | FN | | Space | '" | Alt | App | Ctrl= |
- * '--------+--------+--------+--------|--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
- * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
- * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
- * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
- */
- [_QWERTY] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MPLY, MENU_BTN,KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- SC_LCPO, KC_LGUI, KC_LALT, KC_DEL, KC_SPC, KC_NO, ADJ, FN, KC_NO, KC_SPC, KC_QUOTE,KC_RALT, KC_APP, SC_RCPC,
-
- KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
- ),
-
- /* Function
- * .--------------------------------------------------------------. .--------------------------------------------------------------.
- * | F12 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | SPDI | SAI | VAI | HUI | RGBMD | | | | | | PrtScr | ScrLck | PseBrk | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | SPDD | SAD | VAD | HUD | RGBRMD | | | | | | Ins | Home | PgUp | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | RGBRST | | | | RGBTOG | | | | | | Del | End | PgDn | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | Play | Prev | Next | VolUp | VolDn |
- * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
- * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
- * | | | | | | Touch Encoder Touch Encoder | | | | | |
- * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
- */
- [_FUNCTION] = LAYOUT(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RGB_MOD, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
- _______, RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGB_RMOD,_______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______,
- _______, RGB_RST, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Adjust
- * .--------------------------------------------------------------. .--------------------------------------------------------------.
- * | | | | | | | | | | | NumLck | / | * | - | Del |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | Home | Up | End | Reset | T_TOG | | | | | 7 | 8 | 9 | + | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | Left | Down | Right | | | | | | | 4 | 5 | 6 | + | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | EepRst | | | | | 1 | 2 | 3 | Enter | |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | | 0 | . | Enter | |
- * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
- * Encoder 1 Encoder 2 Encoder 3 Encoder 4
- * .-----------------------------------. .-----------------------------------.
- * | | | | | | | | | |
- * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
- * | | | | | | Touch Encoder Touch Encoder | | | | | |
- * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
- */
- [_ADJUST] = LAYOUT(
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, QK_BOOT, TCH_TOG, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
- _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_PDOT, KC_PENT, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-// clang-format on
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode)
- {
- case MENU_BTN:
- if (record->event.pressed) {
- rgb_menu_selection();
- }
- return false;
- case MENU_UP:
- if (record->event.pressed) {
- rgb_menu_action(true);
- }
- return false;
- case MENU_DN:
- if (record->event.pressed) {
- rgb_menu_action(false);
- }
- return false;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgb_matrix_default();
- }
- return false;
- case TCH_TOG:
- if (record->event.pressed) {
- touch_encoder_toggle();
- }
- return false; // Skip all further processing of this key
- default:
- return true;
- }
-}
-
-//#define MATRIX_SCAN_DEBUG
-#if !defined(MATRIX_SCAN_DEBUG)
-static void render_layer(void) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer"), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("BASE "), false);
- break;
- case _FUNCTION:
- oled_write_ln_P(PSTR("FUNC "), false);
- break;
- case _ADJUST:
- oled_write_ln_P(PSTR("ADJS "), false);
- break;
- }
-}
-
-static void render_leds(void)
-{
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLK") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLK") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false);
-}
-
-static void render_touch(void)
-{
- // Host Touch LED Status
- oled_write_P(touch_encoder_is_on() ? PSTR("TOUCH") : PSTR(" "), false);
- oled_write_P(touch_encoder_is_calibrating() ? PSTR("CLBRT") : PSTR(" "), false);
-}
-#else
-static uint32_t scan_counter = 0;
-static uint32_t scan_value = 0;
-static uint16_t scan_timer = 1000;
-
-void do_counters(void) {
- scan_counter++;
- uint16_t now = sync_timer_read();
- if (timer_expired(now, scan_timer))
- {
- scan_timer += 1000;
- scan_value = (scan_value + scan_counter) / 2;
- scan_counter = 0;
- }
-}
-
-void matrix_scan_user(void) {
- do_counters();
-}
-
-void matrix_slave_scan_user(void) {
- do_counters();
-}
-
-void render_debug_scan(void) {
- static char buffer[6] = {0};
- snprintf(buffer, sizeof(buffer), "%5d", scan_value);
- oled_write_ln_P(buffer, false);
-}
-#endif
-
-bool oled_task_user(void) {
-#if !defined(MATRIX_SCAN_DEBUG)
- if (is_keyboard_left()) {
- render_layer();
- oled_write_P(PSTR(" "), false);
- render_leds();
- oled_write_P(PSTR(" "), false);
- render_touch();
- }
- else {
- render_rgb_menu();
- }
-#else
- oled_write_P(PSTR(" "), false);
- render_debug_scan();
-#endif
- oled_set_cursor(0, 12);
- render_icon();
- return false;
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MENU_DN, MENU_UP), ENCODER_CCW_CW(MENU_DN, MENU_UP) },
- [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
- [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
-};
-#endif
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
deleted file mode 100644
index e6b71e56d1..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-MOUSEKEY_ENABLE = yes # using for mouse wheel up and down, more granular than page up/down
-
-OPT_DEFS += -DRGB_UNLIMITED_POWER
-
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
index 96d1a18e81..7374f6cd47 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -29,7 +29,57 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [128, 34],
+ "driver": "ws2812",
+ "led_flush_limit": 33,
+ "led_process_limit": 10,
+ "sleep": true,
+ "split_count": [49, 49]
},
"matrix_pins": {
"cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"],
diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h
index 58b047c2b3..abb9620a5d 100644
--- a/keyboards/rgbkb/pan/config.h
+++ b/keyboards/rgbkb/pan/config.h
@@ -17,52 +17,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define RGB_MATRIX_LED_COUNT 64
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json
index fdf3519bb6..60c4431d34 100644
--- a/keyboards/rgbkb/pan/info.json
+++ b/keyboards/rgbkb/pan/info.json
@@ -9,6 +9,51 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "custom"
},
"rgblight": {
diff --git a/keyboards/rgbkb/sol/config.h b/keyboards/rgbkb/sol/config.h
index 9a05fa04e3..fb608c724c 100644
--- a/keyboards/rgbkb/sol/config.h
+++ b/keyboards/rgbkb/sol/config.h
@@ -30,54 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_LIMIT_VAL 120
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#endif
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define LED_HITS_TO_REMEMBER 5
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h b/keyboards/rgbkb/sol/keymaps/brianweyer/config.h
deleted file mode 100644
index 452cdda823..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-// place overrides here
-
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
deleted file mode 100644
index 194ec4de2f..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
+++ /dev/null
@@ -1,272 +0,0 @@
-#include QMK_KEYBOARD_H
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FN,
- _ADJ
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- FN,
- ADJ,
- RGBRST
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * ,------------------------------------------------. ,------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bspc |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | | | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | | | N | M | , | . | / | Shift|
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | Ctrl | Alt | FN | LGui | RGB | Spc | Del | | Bspc | Spc | Adj | LGui | FN | Alt | Ctrl |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | Spc | Ent | | Ent | Spc |
- * `-------------' `-------------'
- */
- [_QWERTY] = LAYOUT(
- //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_LALT, FN, KC_LGUI, RGB_MOD, KC_SPC, KC_DEL, KC_BSPC, KC_SPC, ADJ, KC_LGUI, FN, KC_LALT, KC_LCTL,
- //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- KC_SPC, KC_ENT, KC_ENT, KC_SPC
- // |--------+--------| |--------+-----------+
- ),
-
- /* FN
- * ,------------------------------------------------. ,------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | | | | Up | | | | | | | | | | | |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | | | Left | Down | Right| | | | | Play | Next | Mute | V-Up |V-Down| |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | |
- * `-------------' `-------------'
- */
- [_FN] = LAYOUT(
- //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______
- // |--------+--------| |--------+-----------+
- ),
-
- /* ADJ
- * ,------------------------------------------------. ,------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | | Sat+ | Val+ | Hue+ |Speed+|Toggle| | | | | | | | | |
- * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
- * | | Sat- | Val- | Hue- |Speed-|Reset | | | | |QWERTY| COLE | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- * | | | | | |
- * `-------------' `-------------'
- */
-
- [_ADJ] = LAYOUT(
- //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_SPI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, RGB_SAD, RGB_VAD, RGB_HUD, RGB_SPD, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--------+--+--------+--------+--------+--------+--------|
- _______, _______, _______, _______
- // |--------+--------| |--------+--------+
- )
-};
-
-
-// define variables for reactive RGB
-bool TOG_STATUS = false;
-int RGB_current_mode;
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) { /* Second encoder*/
- if (clockwise) {
- tap_code(KC_UP);
- } else {
- tap_code(KC_DOWN);
- }
- }
- return true;
-}
-#endif
-
-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 FN:
- if (record->event.pressed) {
- layer_on(_FN);
- } else {
- layer_off(_FN);
- }
- return false;
- break;
- case ADJ:
- if (record->event.pressed) {
- layer_on(_ADJ);
- } else {
- layer_off(_ADJ);
- }
- return false;
- break;
- //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-#ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
-#endif
-}
-
-
-// OLED Driver Logic
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flip 180 for offhand
- return rotation;
-}
-
-static void render_logo(void) {
- static const char PROGMEM sol_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(sol_logo, false);
-}
-
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-#define L_FN (1<<_FN)
-#define L_ADJ (1<<_ADJ)
-#define L_ADJ_TRI (L_ADJ|L_FN)
-
-static void render_status(void) {
- // Render to mode icon
- static const char PROGMEM mode_logo[4][4] = {
- {0x95,0x96,0x0a,0},
- {0xb5,0xb6,0x0a,0},
- {0x97,0x98,0x0a,0},
- {0xb7,0xb8,0x0a,0} };
-
- if (keymap_config.swap_lalt_lgui != false) {
- oled_write_P(mode_logo[0], false);
- oled_write_P(mode_logo[1], false);
- } else {
- oled_write_P(mode_logo[2], false);
- oled_write_P(mode_logo[3], false);
- }
-
- // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
-
- oled_write_P(PSTR("Layer: "), false);
- switch (layer_state) {
- case L_BASE:
- oled_write_P(PSTR("Laser \n"), false);
- break;
- case L_FN:
- oled_write_P(PSTR("Function \n"), false);
- break;
- case L_ADJ:
- case L_ADJ_TRI:
- oled_write_P(PSTR("Adjustment\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined \n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLOCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCLK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master())
- render_status();
- else
- render_logo();
-
- return false;
-}
-
-#endif
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk b/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk
deleted file mode 100644
index f9832323b4..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Overridden build options from rev1
-
-# RGB Options
-LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
-
-# Misc
-OLED_ENABLE = yes # Enable the OLED Driver
-
-
-
-
-
-# Do not edit past here
-
-include keyboards/$(KEYBOARD)/post_rules.mk
diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h
index a41959a88b..8e18f9df2c 100644
--- a/keyboards/rgbkb/sol/rev1/config.h
+++ b/keyboards/rgbkb/sol/rev1/config.h
@@ -19,10 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#ifdef LED_MIRRORED
- #define RGBLED_NUM 35
+ #define RGBLIGHT_LED_COUNT 35
#else
- #define RGBLED_NUM 70
+ #define RGBLIGHT_LED_COUNT 70
#endif
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-
-#define RGB_MATRIX_CENTER { 112, 35 }
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
diff --git a/keyboards/rgbkb/sol/rev1/info.json b/keyboards/rgbkb/sol/rev1/info.json
index 5b288088a9..874b4ece22 100644
--- a/keyboards/rgbkb/sol/rev1/info.json
+++ b/keyboards/rgbkb/sol/rev1/info.json
@@ -9,6 +9,52 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [112, 35],
"driver": "ws2812"
},
"rgblight": {
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index 19680c84b3..ab5150051a 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -24,30 +24,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef LED_MIRRORED
#ifdef FULLHAND_ENABLE
#define FULLHAND_LEDS 24
- #define RGBLED_NUM 74
+ #define RGBLIGHT_LED_COUNT 74
#elif SF_ENABLE
#define FULLHAND_LEDS 38
- #define RGBLED_NUM 81
+ #define RGBLIGHT_LED_COUNT 81
#else
#define FULLHAND_LEDS 0
- #define RGBLED_NUM 62
+ #define RGBLIGHT_LED_COUNT 62
#endif
#else
#ifdef FULLHAND_ENABLE
#define FULLHAND_LEDS 24
- #define RGBLED_NUM 148
+ #define RGBLIGHT_LED_COUNT 148
#elif SF_ENABLE
#define FULLHAND_LEDS 38
- #define RGBLED_NUM 162
+ #define RGBLIGHT_LED_COUNT 162
#else
#define FULLHAND_LEDS 0
- #define RGBLED_NUM 124
+ #define RGBLIGHT_LED_COUNT 124
#endif
#endif
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-
-#define RGB_MATRIX_CENTER { 112, 37 }
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
// Encoder support
#ifndef EXTRA_ENCODERS_ENABLE
diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json
index c71efbc769..ac57e4e74e 100644
--- a/keyboards/rgbkb/sol/rev2/info.json
+++ b/keyboards/rgbkb/sol/rev2/info.json
@@ -9,6 +9,52 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [112, 37],
"driver": "ws2812"
},
"rgblight": {
diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h
index 102ebcda95..2d3caeea4e 100644
--- a/keyboards/rgbkb/sol3/config.h
+++ b/keyboards/rgbkb/sol3/config.h
@@ -43,65 +43,6 @@
/* Split Transport Features */
#define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC
-#define RGB_MATRIX_LED_COUNT 156
-#define RGB_MATRIX_SPLIT { 78, 78 }
-#define RGB_MATRIX_CENTER { 81, 28 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_LED_FLUSH_LIMIT 33
-#define RGB_MATRIX_LED_PROCESS_LIMIT 10
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define RGB_MATRIX_KEYPRESSES
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 2
diff --git a/keyboards/rgbkb/sol3/keymaps/default/config.h b/keyboards/rgbkb/sol3/keymaps/default/config.h
index 88bdc06dee..7b8e106b46 100644
--- a/keyboards/rgbkb/sol3/keymaps/default/config.h
+++ b/keyboards/rgbkb/sol3/keymaps/default/config.h
@@ -18,4 +18,4 @@
// 20m timeout (20m * 60s * 1000mil)
// #define RGB_MATRIX_TIMEOUT 1200000
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
diff --git a/keyboards/rgbkb/sol3/keymaps/via/config.h b/keyboards/rgbkb/sol3/keymaps/via/config.h
index 7b7f806261..8206f72fa6 100644
--- a/keyboards/rgbkb/sol3/keymaps/via/config.h
+++ b/keyboards/rgbkb/sol3/keymaps/via/config.h
@@ -18,7 +18,7 @@
// 20m timeout (20m * 60s * 1000mil)
// #define RGB_MATRIX_TIMEOUT 1200000
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index c76e1f84dc..96213156f0 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -29,7 +29,57 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [81, 28],
+ "driver": "ws2812",
+ "led_flush_limit": 33,
+ "led_process_limit": 10,
+ "sleep": true,
+ "split_count": [78, 78]
},
"matrix_pins": {
"cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"],
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
index 1de23afd63..e9d6659d60 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
+++ b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 16
+#define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h
deleted file mode 100644
index ca7d19afab..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// place overrides here
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 16
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
deleted file mode 100644
index ece995075b..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
+++ /dev/null
@@ -1,97 +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 _NAV 2
-
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- NAV,
-
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. .-----------------------------------------.
- * | GESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |CAPS(NAV)|A | S | D | F | G | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------..-----+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | GUI | NAV |Space |Delete||Enter|Space | NAV | - | = |RGBTOG|Enter |
- * `------------------------------------------------''-----------------------------------------------'
- */
- [_QWERTY] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- LT(_NAV, KC_CAPS),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_LGUI, MO(_NAV), KC_SPC, KC_DEL, KC_ENT, KC_SPACE, MO(_NAV), KC_MINS, KC_EQL, RGB_TOG, KC_ENT
- ),
-
- /* NAV
- * ,-----------------------------------------. .-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGBSAI|RGBVAI|RGBSAD| QK_BOOT| [ | | ] | Pgup | Up | Pgdn |Insert| Home |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGBHUD|RGBVAD|RGBHUI|RGBMOD| | | | Left | Down | Right|Delete| End |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |Shift | | | | | | | NKRO | | | Pause| Back | Next |
- * |------+------+------+------+------+------+------..-----+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | | | | || | | | | Mute | VOLUP| VOLDN|
- * `------------------------------------------------''-----------------------------------------------'
- */
- [_NAV] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
- _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_MOD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
- KC_LSFT, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
- KC_LCTL, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
- ),
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-#endif
-
-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) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- persistant_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- //case COLEMAK:
- //if (record->event.pressed) {
- //#ifdef AUDIO_ENABLE
- //PLAY_SONG(tone_colemak);
- //#endif
- //persistant_default_layer_set(1UL<<_COLEMAK);
- //}
- //return false;
- //break;
- }
- return true;
-}
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h b/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h
deleted file mode 100644
index b3521279cf..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLED_NUM 16
-#define RGBLIGHT_HUE_STEP 4
-#define RGBLIGHT_SAT_STEP 4
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
deleted file mode 100644
index 19289846b6..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
- /* Copyright 2020 Martin J. Potier
- *
- * This program is free software: you can 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
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _NAV
-};
-
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- NAV,
-
-};
-
-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 | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |DELETE| A | S | D | F | G | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |RGBMOD|
- * |------+------+------+------+------+------+------. .--------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt |RGBTOG| NAV |Space | ESC | |Enter|Space/NAV| AltGr| NAV | | - | = |
- * `------------------------------------------------' '--------------------------------------------------'
- */
- [_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_BSLS,
- KC_DEL, 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, RGB_MOD,
- KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, MO(_NAV), KC_SPC, QK_GESC, KC_ENT, LT(_NAV, KC_SPACE), KC_RALT, MO(_NAV), _______, KC_MINS, KC_EQL
- ),
-
- /* NAV
- * ,-----------------------------------------. .-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGBSAI|RGBVAI|RGBSAD| | [ | | ] | Pgup | Up | Pgdn |Insert| Home |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGBHUD|RGBVAD|RGBHUI| | | | | Left | Down | Right|Delete| End |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |Shift | | | | | | | | | | Pause| Back | Next |
- * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt |RGBMOD| | | | | QK_BOOT| | | | Mute | VOLUP| VOLDN|
- * `------------------------------------------------' '------------------------------------------------'
- */
- [_NAV] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, RGB_SAI, RGB_VAI, RGB_SAD, _______, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
- _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
- KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
- KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
- ),
-
-};
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h
deleted file mode 100644
index d1fbe29c53..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2019 starcalleramethyst
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 16
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define TAPPING_TERM 200
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
deleted file mode 100644
index 47e8e3fa24..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
+++ /dev/null
@@ -1,148 +0,0 @@
-#include QMK_KEYBOARD_H
-
-uint16_t copy_paste_timer;
-
-enum custom_keycodes {
- S_H = SAFE_RANGE, // slack here
- S_H_P, // slack here + paste
- T_H_B, // ticket header bike
- T_H_T, // ticket header tread
- E_OP, // email open
- E_CL, // email close
- E_FU, // email follow up
- E_SS, // email service schedule
- SCRN_C, // screen clip
- DC_C, // double click + copy
- KC_CCCV, // one key copy/paste
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
-
- case S_H:
- if (record->event.pressed) {
- SEND_STRING("@HERE");
- }
- break;
-
- case S_H_P:
- if (record->event.pressed) {
- SEND_STRING("@HERE" SS_TAP(X_SPC) SS_LCTL("v"));
- }
- break;
-
- case T_H_B:
- if (record->event.pressed) {
- SEND_STRING("Your Peloton Bike - ");
- }
- break;
-
- case T_H_T:
- if (record->event.pressed) {
- SEND_STRING("Your Peloton Tread - ");
- }
- break;
-
- case E_OP:
- if (record->event.pressed) {
- // when keycode E_OP is pressed
- SEND_STRING("Hi , "SS_TAP(X_ENTER)SS_TAP(X_ENTER)"Thank you for contacting Peloton."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
- }
-break;
-
- case E_CL:
- if (record->event.pressed) {
- SEND_STRING("Please let me know if you have any other questions."SS_TAP(X_ENTER)SS_TAP(X_ENTER)"Thank you for being the best part of Peloton.");
- }
-break;
-
- case E_FU:
- if (record->event.pressed) {
- SEND_STRING("I will be personally watching this issue and will reach out to you after this is complete to make sure everything went smoothly."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
- }
-break;
-
- case E_SS:
- if (record->event.pressed) {
- SEND_STRING("Please click here to schedule your service."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
- }
-break;
-
- case SCRN_C:
- if (record->event.pressed) {
- tap_code16(C(S(KC_F5)));
- }
-break;
-
- case DC_C:
- if (record->event.pressed) {
- tap_code(KC_BTN1);
- tap_code(KC_BTN1);
- tap_code16(C(KC_C));
- }
-break;
-
- case KC_CCCV: // One key copy/paste
- if (record->event.pressed) {
- copy_paste_timer = timer_read();
- } else {
- if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
- tap_code16(C(KC_C));
- } else { // Tap, paste
- tap_code16(C(KC_V));
- }
- }
-break;
-
- }
- return true;
-};
-
-//Tap Dance Declarations
-enum {
- TD_SPC_DOT = 0
-};
-
-//Tap Dance Definitions
-tap_dance_action_t tap_dance_actions[] = {
- //Tap once for Esc, twice for Caps Lock
- [TD_SPC_DOT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_PDOT)
-// Other declarations would go here, separated by commas, if you have them
-};
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
-QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
-KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_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, SC_SENT,
-KC_CCCV, KC_LGUI, KC_LALT, RGB_TOG, MO(1), TD(TD_SPC_DOT), KC_BSPC, KC_ENT, TD(TD_SPC_DOT), MO(2), KC_MINS, KC_EQL, KC_PGUP, KC_PGDN),
-
- [1] = LAYOUT(
-KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
-KC_TRNS, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
-KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
-KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT,
-KC_NO, KC_LGUI, KC_LALT, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD),
-
-/* [2] = LAYOUT(
-QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,KC_7, KC_8, KC_9, KC_0, KC_BSLS,
-KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
-KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
-KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
-KC_LCTL, KC_LGUI, KC_LALT, KC_NO, TO(0), KC_SPC, KC_BSPC, KC_ENT, KC_SPC, TO(0), KC_MINS, KC_EQL, KC_PGUP, KC_PGDN),
-*/
- [2] = LAYOUT(
-KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
-KC_NO, KC_NO, KC_NO, KC_NO, S_H_P, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
-KC_NO, E_CL, E_FU, E_OP, S_H, SCRN_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
-KC_NO, DC_C, E_SS, T_H_T, T_H_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
-KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
-
-};
-
-
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk
deleted file mode 100644
index 8e3e215142..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h
index 8a46a941b7..5e74a87f68 100644
--- a/keyboards/rgbkb/zygomorph/rev1/config.h
+++ b/keyboards/rgbkb/zygomorph/rev1/config.h
@@ -22,14 +22,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EE_HANDS
#ifndef RGBLIGHT_SPLIT_ENABLE
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#else
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#endif
-#define RGB_MATRIX_LED_COUNT 60
-#define RGB_MATRIX_SPLIT { 30, 30 }
-
#ifdef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 40
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 40
diff --git a/keyboards/rgbkb/zygomorph/rev1/info.json b/keyboards/rgbkb/zygomorph/rev1/info.json
index 4cd4c876f0..3bd412cc3b 100644
--- a/keyboards/rgbkb/zygomorph/rev1/info.json
+++ b/keyboards/rgbkb/zygomorph/rev1/info.json
@@ -9,7 +9,8 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "split_count": [30, 30]
},
"matrix_pins": {
"cols": ["F4", "F6", "C7", "C6", "B6", "D4"],
diff --git a/keyboards/riot_pad/keymaps/via/rules.mk b/keyboards/riot_pad/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/riot_pad/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/riot_pad/readme.md b/keyboards/riot_pad/readme.md
deleted file mode 100644
index c2c3ffd4be..0000000000
--- a/keyboards/riot_pad/readme.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# riot_pad
-
-![riot_pad](https://i.imgur.com/zH6H3pSh.png)
-
-A RGB lovin', 6 key macropad.
-
-* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
-* Hardware Supported: RiotPad PCB
-* Hardware Availability: [Limited Groupbuy](https://store.shandon.codes/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make riot_pad:default
-
-Flashing example for this keyboard:
-
- make riot_pad:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h
deleted file mode 100644
index 0054f43e6b..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2017 Baris Tosun
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
deleted file mode 100644
index ca2be62a19..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright 2019 Josef Adamcik
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 katana_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _M_COLEMAK,
- _M_QWERTY,
- _W_COLEMAK,
- _W_QWERTY,
- _NUMB,
- _SYMB,
- _M_EXT,
- _W_EXT
-};
-
-enum katana_keycodes {
- M_COLEMAK = SAFE_RANGE,
- M_QWERTY,
- W_COLEMAK,
- W_QWERTY
-};
-
-#define K_SPCFN LT(_SYMB, KC_SPACE) /* Tap for space, hold for symbols layer */
-#define K_BSPFN LT(_SYMB, KC_BSPC) /* Tap for backspace, hold for symbols layer */
-/* Linux/win variants */
-#define W_LEFT_MOD MT(MOD_RCTL, KC_LEFT)
-#define W_DOWN_MOD MT(MOD_RALT, KC_DOWN)
-#define W_UP_MOD MT(MOD_RGUI, KC_UP)
-#define W_UNDO LCTL(KC_Z)
-#define W_CUT LCTL(KC_X)
-#define W_COPY LCTL(KC_C)
-#define W_PASTE LCTL(KC_V)
-#define W_PRVWD LCTL(KC_LEFT)
-#define W_NXTWD LCTL(KC_RIGHT)
-#define W_LSTRT KC_HOME
-#define W_LEND KC_END
-/* Mac variants */
-#define M_LEFT_MOD MT(MOD_RGUI, KC_LEFT)
-#define M_DOWN_MOD MT(MOD_RALT, KC_DOWN)
-#define M_UP_MOD MT(MOD_RCTL, KC_UP)
-#define M_UNDO LGUI(KC_Z)
-#define M_CUT LGUI(KC_X)
-#define M_COPY LGUI(KC_C)
-#define M_PASTE LGUI(KC_V)
-#define M_PRVWD LALT(KC_LEFT)
-#define M_NXTWD LALT(KC_RIGHT)
-#define M_LSTRT LGUI(KC_LEFT)
-#define M_LEND LGUI(KC_RIGHT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_M_COLEMAK] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- MO(_M_EXT),KC_A, KC_R, KC_S, KC_T, KC_D, KC_MINS, KC_QUOT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, K_BSPFN, KC_ENT, KC_SPACE, M_LEFT_MOD,M_DOWN_MOD,M_UP_MOD, KC_RIGHT,MO(_SYMB)
-),
-[_M_QWERTY] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),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_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(_M_EXT),KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, K_BSPFN, KC_ENT, KC_SPACE, M_LEFT_MOD,M_DOWN_MOD,M_UP_MOD, KC_RIGHT,MO(_SYMB)
-),
-[_W_COLEMAK] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- MO(_W_EXT),KC_A, KC_R, KC_S, KC_T, KC_D, KC_MINS, KC_QUOT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_SYMB), KC_LGUI, KC_LALT, KC_LCTL, K_BSPFN, KC_ENT, KC_SPACE, W_LEFT_MOD,W_DOWN_MOD,W_UP_MOD, KC_RIGHT,MO(_SYMB)
-),
-[_W_QWERTY] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),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_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(_W_EXT),KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(_SYMB), KC_LGUI, KC_LALT, KC_LCTL, K_BSPFN, KC_ENT, KC_SPACE, W_LEFT_MOD,W_DOWN_MOD,W_UP_MOD, KC_RIGHT,MO(_SYMB)
-),
-[_NUMB] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
- _______, _______, _______, KC_MS_U, _______, _______, _______, _______,_______, KC_7, KC_8, KC_9, KC_PPLS, _______,
- _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______,_______, KC_4, KC_5, KC_6, KC_PPLS, _______,
- _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______,_______, KC_1, KC_2, KC_3, KC_PENT, _______,
- _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, _______, _______, _______, _______
-),
-[_SYMB] = LAYOUT(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
-),
-[_M_EXT] = LAYOUT(
- QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, M_PRVWD, KC_UP, M_NXTWD, _______, _______,
- _______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
- _______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, _______, _______, _______, M_LSTRT, _______, M_LEND, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_W_EXT] = LAYOUT(
- QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, W_PRVWD, KC_UP, W_NXTWD, _______, _______,
- _______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
- _______, W_UNDO, W_CUT, W_COPY, W_PASTE, _______, _______, _______, _______, _______, W_LSTRT, _______, W_LEND, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case M_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_M_QWERTY);
- }
- return false;
- break;
- case M_COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_M_COLEMAK);
- }
- return false;
- break;
- case W_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_W_QWERTY);
- }
- return false;
- break;
- case W_COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_W_COLEMAK);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md
deleted file mode 100644
index 5d72b1defa..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-![Multi OS Katana60 layout image](https://i.imgur.com/1w2OA1o.png)
-
-# Multi OS Katana60 layout
-
-Based on the default Katana60 layout, customized by [Josef Adamcik](https://josef-adamcik.cz) with several basic layers (Colemak vs Qwerty, Mac OS vs Linux/Win)
-
-- Supports 4 default layers: Colemak Mac, Qwerty Mac, Colemak Win/Linux, Qwerty Win/Linux. Switching between default layers is persisted. For more details about Mac vs Win/Linux see below.
-- There are arrows mapped to the right side of the bottom row on Katana6O. I kept this mapping but modified it a bit - when you press and hold any of the first three arrow keys it acts as a modifier (CMD, OPT, CTRL). If you just tap it, it acts as an arrow.
-
-## Mac versus Win/Linux layers:
-
-- Modifiers are ordered differently. Mac version has (from the middle to the outside): CMD, ALT, CTRL, Win/Linux version has CTRL, ALT, CMD. It's meant to make switching between platforms easier.
-- Extend layer is different, so the keys which represent shortcuts ("previous/next word" and "copy", "paste", "cut", "undo") work properly.
-
-## More details - reasons for some choices in this layout
-
-I use Mac for work and Ubuntu at home. So I would like to stay compatible with both systems. The main problem is the modifiers. Firstly, they tend to be ordered differently on Mac keyboards. Secondly, the main modifier on Mac is CMD (equivalent to WIn or SUPER on other keyboards). The same role is played by CTRL on Windows and Linux. Most of IDE’s or editors (Android Studio, VS Code, SublimeText) follow this habit in their OS-specific keymaps.
-
-I am a user of the Colemak layout. But I would like to have the ability to switch to qwerty. That would allow my other people to use my keyboard occasionally.
-
-I am a heavy user of keyboard shortcuts. So I need the layout to support my needs. Some keyboard layout has modifiers only on one side of the keyboard or they hide some of them (CMD) under a key combination. I tend to press the modifiers for a key shortcut with the opposite hand to the one which presses the letter.
-
-Layout in [keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/14d62ee67d36621c37888783fa29b107)
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h
deleted file mode 100644
index 08c51f6cb5..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2017 Baris Tosun
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-// place overrides here
-
-#endif
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
deleted file mode 100644
index 615de932f8..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2017 Baris Tosun
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// MacOS based definitions.
-#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
-#define K_PRVWD LALT(KC_LEFT) // Previous word
-#define K_NXTWD LALT(KC_RIGHT) // Next word
-#define K_LSTRT LGUI(KC_LEFT) // Start of line
-#define K_LEND LGUI(KC_RIGHT) // End of line
-#define UNDO LGUI(KC_Z) // UNDO
-#define CUT LGUI(KC_X) // CUT
-#define COPY LGUI(KC_C) // COPY
-#define PASTE LGUI(KC_V) // PASTE
-
-
-#define BASE 0 // Default
-#define NUMB 1 // Numbers
-#define SYMB 2 // Symbols
-#define CURS 3 // Text Editing
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[BASE] = LAYOUT( /* Base */
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
- MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- MO(2), KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_ENT, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,MO(2)
- ),
-[NUMB] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, DF(0), KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
- _______, _______, _______, KC_MS_U, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______,
- _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______,
- _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______,
- _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______
- ),
-[SYMB] = LAYOUT(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
- ),
-[CURS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
- _______, KC_LCTL, KC_WH_D, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
- _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md
deleted file mode 100644
index 9647426f70..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# RominRonin's keymap for katana60
-
-My own personal daily layout. OS keys are oriented for MacOS and the keys are in COLEMAK Mod-DH layout.
-
-# TODO: references to extend layer and symbol layers \ No newline at end of file
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h
deleted file mode 100644
index 0689676402..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 rominronin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
deleted file mode 100644
index 6919b46990..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2019 rominronin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// MacOS based definitions.
-#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
-#define K_PRVWD LALT(KC_LEFT) // Previous word
-#define K_NXTWD LALT(KC_RIGHT) // Next word
-#define K_LSTRT LGUI(KC_LEFT) // Start of line
-#define K_LEND LGUI(KC_RIGHT) // End of line
-#define UNDO LGUI(KC_Z) // UNDO
-#define CUT LGUI(KC_X) // CUT
-#define COPY LGUI(KC_C) // COPY
-#define PASTE LGUI(KC_V) // PASTE
-
-enum layer_names {
- BASE,
- NUMB,
- SYMB,
- CURS,
- BASE2,
-};
-
-// 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] = {
- [BASE] = LAYOUT_7u_a(/* Base */
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(4), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
- MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
- ),
- [NUMB] = LAYOUT_7u_a(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
- _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- DF(0), KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
- _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
- _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______
- ),
- [SYMB] = LAYOUT_7u_a(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, KC_DEL, _______, _______, _______, _______
- ),
- [CURS] = LAYOUT_7u_a(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
- _______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
- _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
- _______, _______, _______, DF(1), _______, _______, _______, _______
- ),
- [BASE2] = LAYOUT_7u_a(/* Base */
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(0), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
- KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
- )
-};
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md
deleted file mode 100644
index 6d0bbe8b2d..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for katana60_rev2
diff --git a/keyboards/rookiebwoy/late9/readme.md b/keyboards/rookiebwoy/late9/readme.md
new file mode 100644
index 0000000000..bc6dfab57e
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/readme.md
@@ -0,0 +1,25 @@
+# LATE-9
+
+
+The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '90s. LATE-9 is intended as a dev board with 18 buttons and an OLED screen, made by through-hole components only. With this, you can experiment QMK OLED capabilities with very little expense.
+
+![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto")
+
+* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy)
+* Hardware supported: ProMicro, _Elite-C (not tested)_
+* Hardware Availability: LATE-9 is open source, check the [project repository](https://github.com/rookiebwoy/late-9) for gerbers.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rookiebwoy/late9/rev1:default
+
+Flashing example for this keyboard:
+
+ make rookiebwoy/late9/rev1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device.\
+After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. \ No newline at end of file
diff --git a/keyboards/late9/rev1/config.h b/keyboards/rookiebwoy/late9/rev1/config.h
index 8c9a5702f2..8c9a5702f2 100644
--- a/keyboards/late9/rev1/config.h
+++ b/keyboards/rookiebwoy/late9/rev1/config.h
diff --git a/keyboards/rookiebwoy/late9/rev1/info.json b/keyboards/rookiebwoy/late9/rev1/info.json
new file mode 100644
index 0000000000..48f3cff840
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/rev1/info.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "LATE-9",
+ "manufacturer": "rookiebwoy",
+ "url": "https://github.com/rookiebwoy/late-9)",
+ "maintainer": "rookiebwoy",
+ "usb": {
+ "vid": "0x6961",
+ "pid": "0x3032",
+ "device_version": "0.1.0"
+ },
+ "tapping": {
+ "term": 400
+ },
+ "build": {
+ "debounce_type": "sym_eager_pk"
+ },
+ "matrix_pins": {
+ "cols": ["B5", "C6", "D4"],
+ "rows": ["B4", "E6", "D7", "B3", "B2", "B6"]
+ },
+ "diode_direction": "ROW2COL",
+ "features": {
+ "bootmagic": true,
+ "nkro": true,
+ "oled": true
+ },
+ "processor": "atmega32u4",
+ "bootloader": "caterina",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f93958fe8f
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c
@@ -0,0 +1,84 @@
+/* Copyright 2021 rookiebwoy
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Layers declarations
+enum layers {
+ _BL,
+ _OL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* BL: Base Layer
+ * ,-----------------------.
+ * |MO(OP) | ↑ | BSPC |
+ * | | | |
+ * |-------+-------+-------|
+ * | <- | ↓ | -> |
+ * | | | |
+ * |-------+-------+-------|
+ * | 1 | 2 | 3 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 4 | 5 | 6 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 7 | 8 | 9 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 0 | . | = |
+ * | | | |
+ * `-----------------------'
+ */
+ [_BL] = LAYOUT(
+ MO(1), KC_UP, KC_BSPC,
+ KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_P1, KC_P2, KC_P3,
+ KC_P4, KC_P5, KC_P6,
+ KC_P7, KC_P8, KC_P9,
+ KC_P0, KC_PDOT, KC_PEQL
+ ),
+
+/* OP: Operators Layer
+ * ,-----------------------.
+ * |MO(OP) | ↑ | BSPC |
+ * | | | |
+ * |-------+-------+-------|
+ * | <- | ↓ | -> |
+ * | | | |
+ * |-------+-------+-------|
+ * | / | * | - |
+ * | | | |
+ * |-------+-------+-------|
+ * | ( | ) | + |
+ * | | | |
+ * |-------+-------+-------|
+ * | & | % | ^ |
+ * | | | |
+ * |-------+-------+-------|
+ * | | | . | = |
+ * | | | |
+ * `-----------------------'
+ */
+ [_OL] = LAYOUT(
+ MO(1), KC_UP, KC_BSPC,
+ KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_PSLS, KC_PAST, KC_PMNS,
+ LSFT(KC_9), LSFT(KC_0), KC_PPLS,
+ LSFT(KC_7), LSFT(KC_5), LSFT(KC_6),
+ LSFT(KC_BSLS), KC_PDOT, KC_PEQL
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/late9/rev1/keymaps/default/readme.md b/keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md
index f78318d7de..f78318d7de 100644
--- a/keyboards/late9/rev1/keymaps/default/readme.md
+++ b/keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md
diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/via/keymap.c b/keyboards/rookiebwoy/late9/rev1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f93958fe8f
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/rev1/keymaps/via/keymap.c
@@ -0,0 +1,84 @@
+/* Copyright 2021 rookiebwoy
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Layers declarations
+enum layers {
+ _BL,
+ _OL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* BL: Base Layer
+ * ,-----------------------.
+ * |MO(OP) | ↑ | BSPC |
+ * | | | |
+ * |-------+-------+-------|
+ * | <- | ↓ | -> |
+ * | | | |
+ * |-------+-------+-------|
+ * | 1 | 2 | 3 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 4 | 5 | 6 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 7 | 8 | 9 |
+ * | | | |
+ * |-------+-------+-------|
+ * | 0 | . | = |
+ * | | | |
+ * `-----------------------'
+ */
+ [_BL] = LAYOUT(
+ MO(1), KC_UP, KC_BSPC,
+ KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_P1, KC_P2, KC_P3,
+ KC_P4, KC_P5, KC_P6,
+ KC_P7, KC_P8, KC_P9,
+ KC_P0, KC_PDOT, KC_PEQL
+ ),
+
+/* OP: Operators Layer
+ * ,-----------------------.
+ * |MO(OP) | ↑ | BSPC |
+ * | | | |
+ * |-------+-------+-------|
+ * | <- | ↓ | -> |
+ * | | | |
+ * |-------+-------+-------|
+ * | / | * | - |
+ * | | | |
+ * |-------+-------+-------|
+ * | ( | ) | + |
+ * | | | |
+ * |-------+-------+-------|
+ * | & | % | ^ |
+ * | | | |
+ * |-------+-------+-------|
+ * | | | . | = |
+ * | | | |
+ * `-----------------------'
+ */
+ [_OL] = LAYOUT(
+ MO(1), KC_UP, KC_BSPC,
+ KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_PSLS, KC_PAST, KC_PMNS,
+ LSFT(KC_9), LSFT(KC_0), KC_PPLS,
+ LSFT(KC_7), LSFT(KC_5), LSFT(KC_6),
+ LSFT(KC_BSLS), KC_PDOT, KC_PEQL
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/macro1/keymaps/via/rules.mk b/keyboards/rookiebwoy/late9/rev1/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/macro1/keymaps/via/rules.mk
+++ b/keyboards/rookiebwoy/late9/rev1/keymaps/via/rules.mk
diff --git a/keyboards/late9/rev1/readme.md b/keyboards/rookiebwoy/late9/rev1/readme.md
index d9683222a9..d9683222a9 100644
--- a/keyboards/late9/rev1/readme.md
+++ b/keyboards/rookiebwoy/late9/rev1/readme.md
diff --git a/keyboards/late9/rev1/rev1.c b/keyboards/rookiebwoy/late9/rev1/rev1.c
index aa45141b06..aa45141b06 100644
--- a/keyboards/late9/rev1/rev1.c
+++ b/keyboards/rookiebwoy/late9/rev1/rev1.c
diff --git a/keyboards/rookiebwoy/late9/rev1/rules.mk b/keyboards/rookiebwoy/late9/rev1/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/rev1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/rookiebwoy/late9/rules.mk b/keyboards/rookiebwoy/late9/rules.mk
new file mode 100755
index 0000000000..358facb3ca
--- /dev/null
+++ b/keyboards/rookiebwoy/late9/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = rookiebwoy/late9/rev1
diff --git a/keyboards/rookiebwoy/neopad/readme.md b/keyboards/rookiebwoy/neopad/readme.md
new file mode 100644
index 0000000000..5b0ae7abc7
--- /dev/null
+++ b/keyboards/rookiebwoy/neopad/readme.md
@@ -0,0 +1,25 @@
+# Neopad
+
+Neopad is a little macropad with four switches and two rotary encoders, made by through hole components only.
+_Actually the number of switches is six, because even the encoder are allowed to click._
+
+![Neopad](https://i.imgur.com/TgOkj2Fh.jpg "Neopad first proto")
+
+The Neopad in the photo above is the first prototype. See the project repository for revision 1 update and KiCad files.
+
+* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy)
+* Hardware supported: ProMicro, _Elite-C (not tested)_
+* Project repository: [Neopad on github](https://github.com/rookiebwoy/neopad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rookiebwoy/neopad/rev1:default
+
+Flashing example for this keyboard:
+
+ make rookiebwoy/neopad/rev1:default:flash
+
+When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
diff --git a/keyboards/neopad/rev1/config.h b/keyboards/rookiebwoy/neopad/rev1/config.h
index fd1724caf1..fd1724caf1 100755
--- a/keyboards/neopad/rev1/config.h
+++ b/keyboards/rookiebwoy/neopad/rev1/config.h
diff --git a/keyboards/neopad/rev1/info.json b/keyboards/rookiebwoy/neopad/rev1/info.json
index 0a0340c06d..0a0340c06d 100755
--- a/keyboards/neopad/rev1/info.json
+++ b/keyboards/rookiebwoy/neopad/rev1/info.json
diff --git a/keyboards/neopad/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c
index 08227c84f9..08227c84f9 100755
--- a/keyboards/neopad/rev1/keymaps/default/keymap.c
+++ b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c
diff --git a/keyboards/neopad/rev1/readme.md b/keyboards/rookiebwoy/neopad/rev1/readme.md
index 1265922722..1265922722 100644
--- a/keyboards/neopad/rev1/readme.md
+++ b/keyboards/rookiebwoy/neopad/rev1/readme.md
diff --git a/keyboards/neopad/rev1/rev1.c b/keyboards/rookiebwoy/neopad/rev1/rev1.c
index c8216f4e70..c8216f4e70 100755
--- a/keyboards/neopad/rev1/rev1.c
+++ b/keyboards/rookiebwoy/neopad/rev1/rev1.c
diff --git a/keyboards/neopad/rev1/rules.mk b/keyboards/rookiebwoy/neopad/rev1/rules.mk
index 7816aab001..7816aab001 100755
--- a/keyboards/neopad/rev1/rules.mk
+++ b/keyboards/rookiebwoy/neopad/rev1/rules.mk
diff --git a/keyboards/rookiebwoy/neopad/rules.mk b/keyboards/rookiebwoy/neopad/rules.mk
new file mode 100755
index 0000000000..c34c04435e
--- /dev/null
+++ b/keyboards/rookiebwoy/neopad/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = rookiebwoy/neopad/rev1
diff --git a/keyboards/rura66/rev1/oled_display.c b/keyboards/rura66/rev1/oled_display.c
index d2e3422bf9..514fda9992 100644
--- a/keyboards/rura66/rev1/oled_display.c
+++ b/keyboards/rura66/rev1/oled_display.c
@@ -18,61 +18,59 @@
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
};
#ifdef OLED_ENABLE
void render_status(void) {
+ // Render to mode icon
+ static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
+ if (is_mac_mode()) {
+ oled_write_P(os_logo[0][0], false);
+ oled_write_P(PSTR("\n"), false);
+ oled_write_P(os_logo[0][1], false);
+ } else {
+ oled_write_P(os_logo[1][0], false);
+ oled_write_P(PSTR("\n"), false);
+ oled_write_P(os_logo[1][1], false);
+ }
- // Render to mode icon
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if (is_mac_mode()) {
- oled_write_P(os_logo[0][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[0][1], false);
- }else{
- oled_write_P(os_logo[1][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[1][1], false);
- }
-
- oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR(" "), false);
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case _RAISE:
+ oled_write_P(PSTR("Raise\n"), false);
+ break;
+ case _LOWER:
+ oled_write_P(PSTR("Lower\n"), false);
+ break;
+ case _ADJUST:
+ oled_write_P(PSTR("Adjust\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
- oled_write_P(PSTR("\n"), false);
+ oled_write_P(PSTR("\n"), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
-
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
@@ -84,35 +82,38 @@ static void render_logo(void) {
}
static void render_rgbled_status(bool full) {
-#ifdef RGBLIGHT_ENABLE
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
- if (full) {
- // " LED %d:%d,%d,%d"
- oled_write_P(PSTR(" LED"), false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(':', false);
- oled_write(get_u8_str(rgblight_get_hue()/RGBLIGHT_HUE_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_sat()/RGBLIGHT_SAT_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_val()/RGBLIGHT_VAL_STEP, ' '), false);
- } else {
- // "[%2d] "
- oled_write_char('[', false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(']', false);
+# ifdef RGBLIGHT_ENABLE
+ if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
+ if (full) {
+ // " LED %d:%d,%d,%d"
+ oled_write_P(PSTR(" LED"), false);
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
+ oled_write_char(':', false);
+ oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false);
+ oled_write_char(',', false);
+ oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false);
+ oled_write_char(',', false);
+ oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false);
+ } else {
+ // "[%2d] "
+ oled_write_char('[', false);
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
+ oled_write_char(']', false);
+ }
}
- }
-#endif
+# endif
}
-bool oled_task_user(void) {
- if(is_keyboard_master()){
- render_status();
- }else{
- render_logo();
- render_rgbled_status(true);
- }
- return false;
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ if (is_keyboard_master()) {
+ render_status();
+ } else {
+ render_logo();
+ render_rgbled_status(true);
+ }
+ return true;
}
#endif
diff --git a/keyboards/ryanskidmore/rskeys100/config.h b/keyboards/ryanskidmore/rskeys100/config.h
index 1ec96ddfdf..9f01b96248 100644
--- a/keyboards/ryanskidmore/rskeys100/config.h
+++ b/keyboards/ryanskidmore/rskeys100/config.h
@@ -3,7 +3,6 @@
#pragma once
-
/* Key Matrix Sizes */
#define MATRIX_ROWS 6
#define MATRIX_COLS 24
@@ -29,14 +28,6 @@
/* The number of RGB LEDs connected */
#define RGB_MATRIX_LED_COUNT 105
-/* Set the maximum brightness to 110 to avoid going over 500 mA.
- * At full brightness with all three indicator LEDs on, the power draw is about 450 mA. */
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 110
-/* Enable framebuffer effects */
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-/* Enable the cycle left right animation and set it as the startup mode */
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/ryanskidmore/rskeys100/info.json b/keyboards/ryanskidmore/rskeys100/info.json
index 1e7bf80828..dfd6ce5c24 100644
--- a/keyboards/ryanskidmore/rskeys100/info.json
+++ b/keyboards/ryanskidmore/rskeys100/info.json
@@ -11,7 +11,11 @@
"pin": "C7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "cycle_left_right": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 110
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/s_ol/0xc_pad/config.h b/keyboards/s_ol/0xc_pad/config.h
deleted file mode 100644
index 865ab45d31..0000000000
--- a/keyboards/s_ol/0xc_pad/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2021 s-ol
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-
-/* ws2812 RGB LED */
-#define RGB_MATRIX_LED_COUNT 12
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_CENTER \
- { 112, 63 }
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER
-
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SPLASH
diff --git a/keyboards/s_ol/0xc_pad/info.json b/keyboards/s_ol/0xc_pad/info.json
index 9809230260..a4809b9c7c 100644
--- a/keyboards/s_ol/0xc_pad/info.json
+++ b/keyboards/s_ol/0xc_pad/info.json
@@ -10,6 +10,26 @@
"pin": "C7"
},
"rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_spiral": true,
+ "hue_breathing": true,
+ "hue_wave": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "splash": true
+ },
+ "center_point": [112, 63],
"driver": "ws2812"
},
"layouts": {
diff --git a/keyboards/s_ol/0xc_pad/keymaps/superfell/keymap.c b/keyboards/s_ol/0xc_pad/keymaps/superfell/keymap.c
deleted file mode 100644
index ff626b9236..0000000000
--- a/keyboards/s_ol/0xc_pad/keymaps/superfell/keymap.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2022 Simon Fell
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _NUMPAD,
- _CONTROL,
- _ADJUST,
-};
-
-#define RGBLIGHT_TIMEOUT 30000 // 30 seconds
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NUMPAD] = LAYOUT(
- TO(_CONTROL), KC_DOT,
- KC_7 , KC_8, KC_9,
- KC_4, KC_5, KC_6, KC_0,
- KC_1 , KC_2 , KC_3
- ),
- [_CONTROL] = LAYOUT(
- TO(_ADJUST), _______,
- LGUI(KC_X), LGUI(KC_C), LGUI(KC_V),
- LGUI(KC_Q), LGUI(KC_W), LGUI(KC_N), LGUI(KC_S),
- KC_VOLD , KC_MUTE , KC_VOLU
- ),
- [_ADJUST] = LAYOUT(
- TO(_NUMPAD), QK_BOOT,
- XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_TOG, RGB_VAD, RGB_VAI
- ),
-};
-// clang-format on
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _NUMPAD:
- rgblight_sethsv_noeeprom(170, 255, 128);
- rgblight_mode_noeeprom(2);
- break;
- case _CONTROL:
- rgblight_mode_noeeprom(3);
- break;
- case _ADJUST:
- rgblight_mode_noeeprom(4);
- break;
- }
- return state;
-}
-// turn rgb off after some amount of inactivity
-
-static uint16_t key_timer; // timer to track the last keyboard activity
-static bool is_rgb_timeout = false; // store if RGB has timed out or not in a boolean
-
-/* Runs at the end of each scan loop, check if RGB timeout has occurred */
-void housekeeping_task_user(void) {
- if (!is_rgb_timeout && timer_elapsed(key_timer) > RGBLIGHT_TIMEOUT) {
- rgblight_disable_noeeprom();
- is_rgb_timeout = true;
- }
-}
-
-/* Runs after each key press, check if activity occurred */
-void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- key_timer = timer_read(); // store time of last refresh
- if (is_rgb_timeout) { // only do something if rgb has timed out
- is_rgb_timeout = false;
- rgblight_enable_noeeprom();
- }
- }
-}
diff --git a/keyboards/s_ol/0xc_pad/keymaps/superfell/readme.md b/keyboards/s_ol/0xc_pad/keymaps/superfell/readme.md
deleted file mode 100644
index 85325649a6..0000000000
--- a/keyboards/s_ol/0xc_pad/keymaps/superfell/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# 0xC.pad Layout
-
-​
-This is a 3 layer layout comprising of numpad, a number of osx shortcuts and an adjust layer
-that can put it into boot mode.
-The top left key cycles between the layers.
-The layers all have unique rgb animations so you can easily tell which layer is active.
diff --git a/keyboards/saevus/cor_tkl/config.h b/keyboards/saevus/cor_tkl/config.h
deleted file mode 100644
index 7fedf4dce1..0000000000
--- a/keyboards/saevus/cor_tkl/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2022 Ramon Imbao
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-/* RGB Matrix setup */
-#define RGB_MATRIX_LED_COUNT 2
-#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h
deleted file mode 100644
index 09bf50b6ab..0000000000
--- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-//#define MASTER_RIGHT
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
deleted file mode 100644
index 58f6fb408a..0000000000
--- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,181 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FLOCK,
- _FN,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_EQL, JP_BSLS, JP_ZKHK,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC,KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_RSFT, MO(_FN),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK,LGUI_T(JP_MHEN),LT(_LOWER,KC_ENT), KC_BSPC, KC_DEL, LT(_RAISE,KC_SPC),ALT_T(JP_HENK), KC_APP
- //`---------------------------------------------| |--------------------------------------------'
- ),
-
- [_FLOCK] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESQW), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______
- //`---------------------------------------------| |--------------------------------------------'
- ),
-
- [_FN] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL,KC_PAUSE, KC_UP, _______, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, KC_STOP, _______
- //`---------------------------------------------| |--------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______,MO(_LOWER), _______, _______, MO(_RAISE), JP_DOT, _______
- //`---------------------------------------------| |--------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, _______, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______
- //`---------------------------------------------| |--------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR),KC_PSCR, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, _______, QK_BOOT, QK_BOOT, _______, KC_STOP, XXXXXXX
- //`---------------------------------------------| |--------------------------------------------'
- )
-};
-
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#ifdef RGBLIGHT_ENABLE
- switch (get_highest_layer(state)) {
- case _FLOCK:
- rgblight_sethsv_at(HSV_YELLOW, 0);
- break;
- case _FN:
- rgblight_sethsv_at(HSV_GREEN, 0);
- break;
- case _LOWER:
- rgblight_sethsv_at(HSV_BLUE, 0);
- break;
- case _RAISE:
- rgblight_sethsv_at(HSV_RED, 0);
- break;
- case _ADJUST:
- rgblight_sethsv_at(HSV_PURPLE, 0);
- break;
- default: // for any other layers, or the default layer
- rgblight_sethsv_at( 0, 0, 0, 0);
- break;
- }
- rgblight_set_effect_range( 1, 11);
-#endif
-return state;
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h
deleted file mode 100644
index 8a42af5127..0000000000
--- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
deleted file mode 100644
index 22d9a683b1..0000000000
--- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-Copyright 2020 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _MOUSE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-enum tapdances{
- TD_ESMS = 0,
- TD_ESAR,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
- [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESMS), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_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, JP_LBRC, JP_RBRC, JP_BSLS, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_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,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_LGUI,ALT_T(JP_MHEN),LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), ALT_T(JP_HENK), KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_MOUSE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESAR), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(LSFT(KC_T)),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(JP_QUOT),JP_HASH,JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_UP, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, MO(_LOWER), _______, _______,MO(_RAISE), _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, _______, _______, KC_HOME,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, KC_UP, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
-#ifdef RGBLIGHT_ENABLE
- case RGB_RST:
- if (record->event.pressed) {
- uint8_t mode = rgblight_get_mode();
- eeconfig_update_rgblight_default();
- rgblight_enable();
- rgblight_mode(mode);
- }
- break;
-#endif
- }
- return true;
-}
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk
deleted file mode 100644
index 0bcbf86d5e..0000000000
--- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-TAP_DANCE_ENABLE = yes
-MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h
deleted file mode 100644
index 8a42af5127..0000000000
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c
deleted file mode 100644
index b0ceb7cf37..0000000000
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-Copyright 2020 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
-};
-
-enum tapdances{
- TD_ENT = 0,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_ENT),
-};
-
-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, JP_MINS, JP_EQL, KC_END, KC_HOME, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC, KC_BSPC, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS,TD(TD_ENT),TD(TD_ENT),KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT,KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_LGUI, JP_MHEN,LT(_LOWER,KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC),JP_HENK,KC_LALT,KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______,JP_CIRC,JP_PERC,JP_AMPR,JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______,MO(_LOWER), _______, _______,MO(_RAISE), JP_DOT, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-_______,SFT_T(KC_F12),KC_F6,KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-};
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h
deleted file mode 100644
index 0e221d844d..0000000000
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c
deleted file mode 100644
index bb8a503d57..0000000000
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-Copyright 2021 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-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_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_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, JP_BSLS,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-LALT_T(JP_ZKHK),KC_LGUI, KC_UP, JP_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,KC_BSPC,KC_DEL,LT(_RAISE,KC_SPC),JP_HENK,KC_UP,KC_RSFT, KC_APP,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_DOWN, KC_RGHT
- //|--------------------------------------------------------------| |--------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, _______, _______, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______,MO(_LOWER),_______,_______, _______, _______,MO(_RAISE),JP_DOT, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //|--------------------------------------------------------------| |--------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, _______, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______
- //|--------------------------------------------------------------| |--------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,
- //|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
- //|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- //|--------------------------------------------------------------| |--------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-return state;
-}
diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h
deleted file mode 100644
index 8a42af5127..0000000000
--- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
deleted file mode 100644
index 093ae4650a..0000000000
--- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-Copyright 2020 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _MOUSE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-enum tapdances{
- TD_ESMS = 0,
- TD_ESAR,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
- [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESMS), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_ENT, KC_HOME,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_QUOT, JP_RBRC, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_PGDN, KC_UP, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_LGUI, KC_LALT,JP_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,LT(_RAISE,KC_SPC),JP_HENK, JP_KANA, KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_MOUSE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- TD(TD_ESAR), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(LSFT(KC_T)),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(JP_QUOT),JP_HASH,JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_PGDN, KC_UP, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, MO(_LOWER), _______, _______,MO(_RAISE),_______,_______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, _______, _______, KC_HOME,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, KC_PGDN, KC_UP, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
- //`-----------------------------------------------------| |--------------------------------------------------------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_RST:
- if (record->event.pressed) {
- uint8_t mode = rgblight_get_mode();
- eeconfig_update_rgblight_default();
- rgblight_enable();
- rgblight_mode(mode);
- }
- break;
- #endif
- }
- return true;
-}
diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk
deleted file mode 100644
index 8db2280906..0000000000
--- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-TAP_DANCE_ENABLE = yes
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
index 12d5784374..f2a365a52e 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
@@ -25,11 +25,11 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
-#define RGBLED_NUM 55 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 55 // Number of LEDs
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 48, 7 }
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
index 392f2f97e8..d0f71f4f9f 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
@@ -25,10 +25,10 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
-#define RGBLED_NUM 69 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 69 // Number of LEDs
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 48, 21 }
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
deleted file mode 100644
index b8a6b843ce..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
-#endif
-
-#define RGB_MATRIX_LED_COUNT 48
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_HUE_STEP 8
-# define RGB_MATRIX_SAT_STEP 8
-# define RGB_MATRIX_LIMIT_VAL 50
-# define RGB_MATRIX_VAL_STEP 5
-# define RGB_MATRIX_SPD_STEP 10
-#endif
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c
deleted file mode 100644
index e2a9f9ac4d..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,117 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-//#ifdef RGB_MATRIX_ENABLE
-//Following line allows macro to read current RGB settings
-//extern rgblight_config_t rgblight_config;
-
-//#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-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, JP_LBRC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC),JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE),JP_DOT, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, JP_MHEN, _______, _______, _______, _______, JP_HENK, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------.
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md
deleted file mode 100644
index 6563bb46ff..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/readme.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# The salicylic keymap for naked48
-
-## Default
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [|
-|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]|
-| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \|
-| | LEFT| RIGHT| LGUI| MHEN|LOWER, ENT|BSPC|DEL|RAISE,SPC|HENK| LALT| DOWN| UP| |
-
-
-## Lower
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC| !| ?| [| ]| ~| | | 6| 7| 8| 9| *| /|
-| '| #| "| (| )| @| | | XXXXX| 4| 5| 6| -| =|
-| ^| %| &| ;| :| PIPE| | | 0| 1| 2| 3| +| ENT|
-| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
-
-
-## Raise
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC| 1| 2| 3| 4| 5| | | 6| XXXXX| UP| XXXXX| PGUP| DEL|
-|F11,LCTRL| F1| F2| F3| F4| F5| | | XXXXX| LEFT| DOWN| RIGHT| LSFT| ENT|
-|F12,LSFT| F6| F7| F8| F9| F10| | | XXXXX| XXXXX| XXXXX| XXXXX| PGDN| XXXXX|
-| | LEFT| RIGHT| LGUI| MHEN| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
-
-
-## Adjust
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:------:|:------:|:------:|:------:|:-------:|:------:|
-| ESC| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_RST| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX|
-| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_TOG| RGB_MOD| XXXXX| C+A+D| Alt+PSCR| PSCR|
-| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | RGB_VAD| RGB_VAI| RGB_HUD| RGB_HUI| RGB_SAD| RGB_SAI|
-| | LEFT| RIGHT| LGUI| MHEN| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk
deleted file mode 100644
index bdf3488cc1..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-RGBLIGHT_ENABLE = no
-RGB_MATRIX_ENABLE = yes
-
-SPLIT_KEYBOARD = no
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h
deleted file mode 100644
index 12d5784374..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
-#endif
-
-#define RGBLED_NUM 55 // Number of LEDs
-#define RGBLIGHT_SPLIT
-#define RGBLED_SPLIT { 48, 7 }
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c
deleted file mode 100644
index e4653b03e1..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c
+++ /dev/null
@@ -1,139 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _MOUSE,
- _BROWSER,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC),JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_MOUSE] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_BTN1, KC_MS_U, KC_BTN2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_MS_L, KC_MS_D, KC_MS_R,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC),JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_BROWSER] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, LCTL(KC_W),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB),
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC),JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE),JP_DOT, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, JP_MHEN, _______, _______, _______, _______, JP_HENK, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT_with_nafuda( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, _ADJUST, RGB_SAD, RGB_VAI,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_MOD, RGB_TOG, RGB_SAI,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md
deleted file mode 100644
index 15e34e188c..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# The salicylic_with_nafuda keymap for naked48
-
-Add Nafuda maps to the salicylic layout.
-
-## Default
-| 1 | 2 | 3 |
-|:----:|:----:|:----:|
-| | MOUSE| |
-| BS+Ad| UP|Browser|
-| LEFT| DOWN| RIGHT|
-
-## Mouse
-| 1 | 2 | 3 |
-|:----:|:----:|:----:|
-| |Default| |
-| BTN1| MS_U| BTN2|
-| MS_L| MS_D| MS_R|
-
-## Browser
-| 1 | 2 | 3 |
-|:----:|:----:|:----:|
-| |CloseTAB| |
-|ReOpenTAB|WH_U|Default|
-| LTAB| WH_D| RTAB|
-
-## Adjust
-| 1 | 2 | 3 |
-|:----:|:----:|:----:|
-| |LED_VAD| |
-|Default|LED_HUD|LED_VAI|
-|LED_MOD|LED_ON/Off|LED_HUI|
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk
deleted file mode 100644
index f76b955efd..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h
deleted file mode 100644
index 392f2f97e8..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
-#endif
-
-#define RGBLED_NUM 69 // Number of LEDs
-#define RGBLIGHT_SPLIT
-#define RGBLED_SPLIT { 48, 21 }
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c
deleted file mode 100644
index b1ff76d017..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c
+++ /dev/null
@@ -1,143 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE,
- SEND_SUM,
- SEND_AVE,
- SEND_CIF,
- SEND_MAX,
- SEND_MIN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC,LT(_LOWER, KC_P0),KC_P1, KC_P4, KC_P7,KC_NUM, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, JP_EQL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC),JP_HENK, KC_LALT, KC_DOWN, KC_UP, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL
- //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------|
- ),
-
- [_LOWER] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE),JP_DOT, _______, _______, _______, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL
- //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------|
- ),
-
- [_RAISE] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, _______, KC_F11, KC_F4, KC_F7,SEND_MIN, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, KC_F12, KC_F5, KC_F8,SEND_MAX, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, _______, KC_F3, KC_F6, KC_F9,SEND_CIF, JP_EQL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- _______, _______, _______, JP_MHEN, _______, _______, _______, _______, JP_HENK, _______, _______, _______, JP_RPRN, SEND_SUM,SEND_AVE, KC_DEL
- //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------|
- ),
-
- [_ADJUST] = LAYOUT_with_setta21( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______
- //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------|
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- switch (keycode) {
- case SEND_SUM:
- if (record->event.pressed) {
- SEND_STRING("_SUM*");
- }
- break;
- case SEND_AVE:
- if (record->event.pressed) {
- SEND_STRING("_AVERAGE*");
- }
- break;
- case SEND_CIF:
- if (record->event.pressed) {
- SEND_STRING("_COUNTIF*");
- }
- break;
- case SEND_MAX:
- if (record->event.pressed) {
- SEND_STRING("_MAX*");
- }
- break;
- case SEND_MIN:
- if (record->event.pressed) {
- SEND_STRING("_MIN*");
- }
- break;
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md
deleted file mode 100644
index 2c76bc2907..0000000000
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# The salicylic_with_setta21 keymap for naked48
-
-Add Setta21 maps to the salicylic layout.
-
-## Default
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| Num| /| *| -|
-| 7| 8| 9| |
-| 4| 5| 6| +|
-| 1| 2| 3| |
-| Rai+0| | LOW + .| ENT|
-
-## Lower
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| =MIN(| =MAX(|=COUNTIF(|=AVERAGE(|
-| F7| F8| F9| |
-| F4| F5| F6| =SUM(|
-| F11| F12| F3| |
-| RAISE| | LOWER| )|
-
-## Raise
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| XXXXX| /| *| -|
-| XXXXX| UP| XXXXX| |
-| LEFT| DOWN| RIGHT| +|
-| XXXXX| DOWN| XXXXX| |
-| RAISE| | LOWER| ENT|
-
-## Adjust
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| XXXXX| XXXXX| XXXXX| -|
-|LED_SAD|LED_SAI| XXXXX| |
-|LED_HUD|LED_HUI| XXXXX| +|
-|LED_VAD|LED_VAI| XXXXX| |
-|LED_ON/Off| | XXXXX|LED_MOD|
-
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
index 21494a0dfd..a967ffd3c1 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
@@ -21,8 +21,8 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
#define RGB_MATRIX_LED_COUNT 48
@@ -31,7 +31,7 @@
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
diff --git a/keyboards/salicylic_acid3/naked48/rev1/config.h b/keyboards/salicylic_acid3/naked48/rev1/config.h
index 84dbacba54..2f62289261 100644
--- a/keyboards/salicylic_acid3/naked48/rev1/config.h
+++ b/keyboards/salicylic_acid3/naked48/rev1/config.h
@@ -21,5 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define RGBLIGHT_DEFAULT_VAL 50
diff --git a/keyboards/salicylic_acid3/naked48/rev1/info.json b/keyboards/salicylic_acid3/naked48/rev1/info.json
index a2d7b0c849..f0aa33b962 100644
--- a/keyboards/salicylic_acid3/naked48/rev1/info.json
+++ b/keyboards/salicylic_acid3/naked48/rev1/info.json
@@ -39,6 +39,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 50
}
},
"ws2812": {
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h
deleted file mode 100644
index c2844a6775..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
deleted file mode 100644
index 85030c1402..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FLOCK,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- TD(TD_ESFL), 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, JP_LBRC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN, LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
-
- [_FLOCK] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- TD(TD_ESQW), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE),JP_DOT, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |-----------------------------------------------------.
- KC_ESC, 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, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------.
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md
deleted file mode 100644
index 2901dbf7fa..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/readme.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# The salicylic keymap for naked60
-
-## Default
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC(FLock) | 1| 2| 3| 4| 5| | | 6| 7| 8| 9| 0| BSPC|
-| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [|
-|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]|
-| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \|
-| | LEFT| RIGHT| LGUI| MHEN|LOWER, ENT|BSPC|DEL|RAISE,SPC|HENK| LALT| DOWN| UP| |
-
-
-## FLock
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC(FLock)| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| BSPC|
-| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [|
-|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]|
-| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \|
-| | LEFT| RIGHT| LGUI| MHEN|LOWER, ENT|BSPC|DEL|RAISE,SPC|HENK| LALT| DOWN| UP| |
-
-
-## Lower
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
-| :| !| ?| [| ]| ~| | | 6| 7| 8| 9| *| /|
-| '| #| "| (| )| @| | | XXXXX| 4| 5| 6| -| =|
-| ^| %| &| ;| :| PIPE| | | 0| 1| 2| 3| +| ENT|
-| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
-
-
-## Raise
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
-| ESC| 1| 2| 3| 4| 5| | | 6| XXXXX| UP| XXXXX| PGUP| DEL|
-|F11,LCTRL| F1| F2| F3| F4| F5| | | XXXXX| LEFT| DOWN| RIGHT| LSFT| ENT|
-|F12,LSFT| F6| F7| F8| F9| F10| | | XXXXX| XXXXX| XXXXX| XXXXX| PGDN| XXXXX|
-| | LEFT| RIGHT| LGUI| MHEN| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
-
-
-## Adjust
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----:|:----:|
-| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
-| ESC| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR|
-| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR|
-| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D|
-| |ADJUST| LCTRL| LALT| LGUI| LOWER| RESET| RESET| RAISE| HENK| LALT| DOWN| UP| |
-
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h
deleted file mode 100644
index ed08dc121c..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
deleted file mode 100644
index ad3a1cff2b..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
+++ /dev/null
@@ -1,176 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FLOCK,
- _MOUSE,
- _BROWSER,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC), JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_FLOCK] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- TD(TD_ESQW), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_MOUSE] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_BROWSER] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE), JP_DOT,_______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT_with_nafuda(
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT_with_nafuda( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, RGB_SAD, RGB_VAI,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md
deleted file mode 100644
index 17b973b73a..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# The salicylic_with_nafuda keymap for naked60
-
-Add Nafuda maps to the salicylic layout.
-
-Default
- //|--------------------|
- Mouse,
- //|------+------+------|
- BS + Ad, UP,Browser,
- //|------+------+------|
- LEFT, DOWN, RIGHT
- //|--------------------|
-
-Mouse
- //|--------------------|
- Default,
- //|------+------+------|
- BTN1, MS_U, BTN2,
- //|------+------+------|
- MS_L, MS_D, MS_R
- //|--------------------|
-
-Browser
- //|--------------------|
- CloseTAB,
- //|------+------+------|
- ReOpenTAB, WH_U,Default,
- //|------+------+------|
- LTAB, WH_D, RTAB
- //|--------------------|
-
-Adjust
- //|------------------------|
- LED VAD,
- //|------+----------+------|
- Default, LED HUD,LED VAI,
- //|------+----------+------|
- LED MOD,LED ON/Off,LED HUI
- //|------------------------|
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h
deleted file mode 100644
index ed08dc121c..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
deleted file mode 100644
index b80ef8ab4d..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-extern keymap_config_t keymap_config;
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FLOCK,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE,
- SEND_SUM,
- SEND_AVE,
- SEND_CIF,
- SEND_MAX,
- SEND_MIN
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,LT(_LOWER, KC_P0),KC_P1, KC_P4, KC_P7,KC_NUM, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, JP_EQL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
- KC_LEFT,KC_RIGHT, KC_LGUI, JP_MHEN, LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), JP_HENK, KC_LALT, KC_DOWN, KC_UP
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_FLOCK] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- TD(TD_ESQW), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,_______,_______,_______,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
- _______, _______, _______, JP_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE), JP_DOT,_______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT_with_setta21(
- //,-----------------------------------------------------| |-----------------------------------------------------. |------------------------------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_F11, KC_F4, KC_F7,SEND_MIN, KC_ESC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, KC_F12, KC_F5, KC_F8,SEND_MAX, KC_F2,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
-LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, _______, KC_F3, KC_F6, KC_F9,SEND_CIF, JP_EQL,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, JP_RPRN, SEND_SUM,SEND_AVE, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT_with_setta21( /* Base */
- //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
- KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
- _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------------------------------------------'
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- switch (keycode) {
- case SEND_SUM:
- if (record->event.pressed) {
- SEND_STRING("_SUM*");
- }
- break;
- case SEND_AVE:
- if (record->event.pressed) {
- SEND_STRING("_AVERAGE*");
- }
- break;
- case SEND_CIF:
- if (record->event.pressed) {
- SEND_STRING("_COUNTIF*");
- }
- break;
- case SEND_MAX:
- if (record->event.pressed) {
- SEND_STRING("_MAX*");
- }
- break;
- case SEND_MIN:
- if (record->event.pressed) {
- SEND_STRING("_MIN*");
- }
- break;
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md
deleted file mode 100644
index 1baa36703a..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# The salicylic_with_setta21 keymap for naked60
-
-Add Setta21 maps to the salicylic layout.
-
-## Default
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| Num| /| *| -|
-| 7| 8| 9| |
-| 4| 5| 6| +|
-| 1| 2| 3| |
-| Rai+0| | LOW + .| ENT|
-
-## Lower
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| =MIN(| =MAX(|=COUNTIF(|=AVERAGE(|
-| F7| F8| F9| |
-| F4| F5| F6| =SUM(|
-| F11| F12| F3| |
-| RAISE| | LOWER| )|
-
-## Raise
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| XXXXX| /| *| -|
-| XXXXX| UP| XXXXX| |
-| LEFT| DOWN| RIGHT| +|
-| XXXXX| DOWN| XXXXX| |
-| RAISE| | LOWER| ENT|
-
-## Adjust
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| XXXXX| XXXXX| XXXXX| -|
-|LED_SAD|LED_SAI| XXXXX| |
-|LED_HUD|LED_HUI| XXXXX| +|
-|LED_VAD|LED_VAI| XXXXX| |
-|LED_ON/Off| | XXXXX|LED_MOD|
-
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
index 73a3019540..ebc2b46717 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
@@ -25,6 +25,6 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#define RGBLED_NUM 12 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 12 // Number of LEDs
#define RGBLIGHT_LED_MAP { 0, 1, 3, 2, 2, 3, 2, 3, 4, 5, 6, 7 }
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h
deleted file mode 100644
index c2844a6775..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
deleted file mode 100644
index 0ecc4d4a9c..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,203 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _MOUSE,
- _BROWSER,
- _FLOCK,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- TG(_MOUSE),TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- TG(_BROWSER), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, KC_UP, KC_RSFT,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, LGUI_T(JP_MHEN),LT(_LOWER,KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC),ALT_T(JP_HENK),KC_LEFT,KC_DOWN,KC_RIGHT
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_MOUSE] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- TG(_MOUSE), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_BROWSER] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- TG(_BROWSER), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),KC_UP,LCTL(KC_W),
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)),KC_DOWN,LCTL(KC_TAB)
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_FLOCK] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______,TD(TD_ESQW),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, KC_UP, KC_RSFT,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, _______, MO(_LOWER), _______, _______, MO(_RAISE), JP_DOT, KC_LEFT, KC_DOWN, KC_RIGHT
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- LCTL_T(KC_F11), XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,XXXXXXX,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`-----------------------------------------------------------------------------------------------------------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#ifdef RGBLIGHT_ENABLE
- switch (get_highest_layer(state)) {
- case _MOUSE:
- rgblight_sethsv_at(HSV_RED, 0);
- break;
- case _BROWSER:
- rgblight_sethsv_at(HSV_RED, 1);
- break;
- case _FLOCK:
- rgblight_sethsv_range(HSV_YELLOW, 0, 2);
- break;
- case _LOWER:
- rgblight_sethsv_range(HSV_BLUE, 0, 2);
- break;
- case _RAISE:
- rgblight_sethsv_range(HSV_RED, 0, 2);
- break;
- case _ADJUST:
- rgblight_sethsv_range(HSV_PURPLE, 0, 2);
- break;
- default: // for any other layers, or the default layer
- rgblight_sethsv_range( 0, 0, 0, 0, 2);
- break;
- }
- rgblight_set_effect_range( 2, 6);
-#endif
-return state;
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md
deleted file mode 100644
index 8b2d812ea4..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# The salicylic keymap for naked64
-
-## Default
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| PgUp |ESC(Flock)| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| BSPC|
-| PgDn | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|
-| | Control | A| S| D| F| G| H| J| K| L| -| \| ENT|
-| | Shift | Z| X| C| V| B| N| M| ,| .| /| Up| Shift|
-| | ADJUST| | LALT| | SPC| LOWER| RAISE| SPC| | LGUI| Left| Down| Right|
-
-
-
-## FLock
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| PgUp |ESC(Flock)| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|
-| PgDn | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|
-| | Control | A| S| D| F| G| H| J| K| L| ;| '| ENT|
-| | Shift | Z| X| C| V| B| N| M| ,| .| /| Up| Shift|
-| | ADJUST| | LALT| | SPC| LOWER| RAISE| SPC| | LGUI| Left| Down| Right|
-
-
-
-## Lower
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| PgUp |ESC(Flock)| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|
-| PgDn | Tab | !| @| #| $| %| ^| &| *| (| )| DEL| ]|
-| | Control | F1| F2| F3| F4| F5| F6| _| +| {| }| PIPE| ENT|
-| | Shift | F7| F8| F9| F10| F11| F12| SNUHS| SNUBS| ,| .| VoUp| Shift|
-| | ADJUST| | LALT| | SPC| LOWER| RAISE| SPC| | ,| MNxt| VoDn| Mply|
-
-
-
-## Raise
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| PgUp | ESC | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|
-| PgDn | Tab | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| BSPC|
-| | Control | F1| F2| F3| F4| F5| F6| -| =| (| )| \| ENT|
-| | Shift | F7| F8| F9| F10| F11| F12| NUHS| NUBS| .| /| VoUp| Shift|
-| | ADJUST| | LALT| | SPC| LOWER| RAISE| SPC| | LGUI| MNxt| VoDn| Mply|
-
-
-
-## Adjust
-| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
-|:----:|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
-| PgUp | RST | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|
-| PgDn | Tab | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX|
-| | Control | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| LTOG| LMOD| XXXXX| C+A+D|Alt+PSCR|PSCR| XXXXX|
-| | Shift | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| LVAD| LVAI| LHUD| LHUI| LSAD| LSAI| XXXXX|
-| | ADJUST| | LALT| | SPC| LOWER| RAISE| SPC| | LGUI| MNxt| VoDn| Mply|
-
-
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h
deleted file mode 100644
index ed08dc121c..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
deleted file mode 100644
index 68250c44c2..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
+++ /dev/null
@@ -1,256 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _MOUSE,
- _BROWSER,
- _FLOCK,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE,
- SEND_SUM,
- SEND_AVE,
- SEND_CIF,
- SEND_MAX,
- SEND_MIN
-};
-
-enum tapdances{
- TD_ESFL = 0,
- TD_ESQW,
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define ADJUST MO(_ADJUST)
-#define LWR_ENT LT(_LOWER,KC_ENT)
-#define RSE_SPC LT(_RAISE,KC_SPC)
-#define LWR_P0 LT(_LOWER, KC_P0)
-#define RSE_DOT LT(_RAISE, KC_PDOT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |--------------------------------------------------------------. ,-----------------------------------.
- TG(_MOUSE),TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, KC_BSPC, KC_ESC, KC_F2, KC_EQL, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- TG(_BROWSER), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT, KC_P7, KC_P8, KC_P9,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| |
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, KC_UP, KC_RSFT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- JP_ZKHK, LGUI_T(JP_MHEN), LWR_ENT, KC_BSPC, KC_DEL ,RSE_SPC, ALT_T(JP_HENK), KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3,
- //`---------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------| |
- LWR_P0, RSE_DOT, KC_PENT
- // `-----------------------------------'
- ),
-
- [_MOUSE] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |--------------------------------------------------------------. ,-----------------------------------.
- TG(_MOUSE), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______,
- //`-----------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------| |
- _______, _______, _______
- // `-----------------------------------'
- ),
-
- [_BROWSER] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |---------------------------------------------------------------------. ,-----------------------------------.
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------------+----------| |--------+--------+--------+--------|
- TG(_BROWSER), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------------+----------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+-------------+--------+----------| |--------+--------+--------| |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C(S(KC_T)), KC_UP , C(KC_W), _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, C(S(KC_TAB)), KC_DOWN, C(KC_TAB), _______, _______, _______,
- //`-----------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------| |
- _______, _______, _______
- // `-----------------------------------'
- ),
-
- [_FLOCK] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |--------------------------------------------------------------. ,-----------------------------------.
- _______,TD(TD_ESQW),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| |
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //`-----------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------| |
- _______, _______, _______
- // `-----------------------------------'
- ),
-
- [_LOWER] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |--------------------------------------------------------------. ,-----------------------------------.
- _______, 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_ESC, KC_F2, KC_EQL, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- _______, JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT, XXXXXXX, KC_UP, XXXXXXX,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| |
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, KC_UP, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- JP_ZKHK, _______, LOWER, _______, _______, RAISE, JP_DOT, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_DOWN, XXXXXXX,
- //`-----------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------| |
- LOWER, RAISE, KC_PENT
- // `-----------------------------------'
- ),
-
- [_RAISE] = LAYOUT_with_setta21(
- //,--------------------------------------------------------------| |--------------------------------------------------------------. ,---------------------------------------.
- _______, 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_ESC, KC_F2, KC_EQL, KC_DEL,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------+---------+---------+---------|
- _______, KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, SEND_MIN, SEND_MAX, SEND_CIF, SEND_AVE,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------+---------+---------+---------|
- LCTL_T(KC_F11), XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, KC_F7, KC_F8, KC_F9,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------+---------+---------| |
- SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, _______, KC_F4, KC_F5, KC_F6, SEND_SUM,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |---------+---------+---------+---------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_F3,
- //`-----------------------------------------------------------------------------------------------------------------------------------' |-------------------+---------| |
- _______, _______, KC_RPRN
- // `---------------------------------------'
- ),
-
-
- [_ADJUST] = LAYOUT_with_setta21( /* Base */
- //,--------------------------------------------------------------| |------------------------------------------------------------------------. ,-----------------------------------.
- _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
- _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR), KC_PSCR, XXXXXXX, RGB_SAD, RGB_SAI, XXXXXXX,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG,
- // |--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, XXXXXXX,
- //`---------------------------------------------------------------------------------------------------------------------------------------------' |-----------------+--------+--------|
- _______, _______, RGB_MOD
- // `-----------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#ifdef RGBLIGHT_ENABLE
- switch (get_highest_layer(state)) {
- case _MOUSE:
- rgblight_sethsv_at(HSV_RED, 0);
- break;
- case _BROWSER:
- rgblight_sethsv_at(HSV_RED, 1);
- break;
- case _FLOCK:
- rgblight_sethsv_range(HSV_YELLOW, 0, 2);
- break;
- case _LOWER:
- rgblight_sethsv_range(HSV_BLUE, 0, 2);
- break;
- case _RAISE:
- rgblight_sethsv_range(HSV_RED, 0, 2);
- break;
- case _ADJUST:
- rgblight_sethsv_range(HSV_PURPLE, 0, 2);
- break;
- default: // for any other layers, or the default layer
- rgblight_sethsv_range( 0, 0, 0, 0, 2);
- break;
- }
- rgblight_set_effect_range( 2, 6);
-#endif
-return state;
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- bool result = false;
- switch (keycode) {
- case SEND_SUM:
- if (record->event.pressed) {
- SEND_STRING("=SUM(");
- }
- break;
- case SEND_AVE:
- if (record->event.pressed) {
- SEND_STRING("=AVERAGE(");
- }
- break;
- case SEND_CIF:
- if (record->event.pressed) {
- SEND_STRING("=COUNTIF(");
- }
- break;
- case SEND_MAX:
- if (record->event.pressed) {
- SEND_STRING("=MAX(");
- }
- break;
- case SEND_MIN:
- if (record->event.pressed) {
- SEND_STRING("=MIN(");
- }
- break;
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md
deleted file mode 100644
index cf09c1a74c..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# The salicylic_with_setta21 keymap for naked64
-
-Add Setta21 maps to the salicylic layout.
-
-## Default
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-|Ad+Num| /| *| -|
-| 7| 8| 9| |
-| 4| 5| 6| +|
-| 1| 2| 3| |
-| Rai+0| | LOW + .| ENT|
-
-## Lower
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| =MIN(| =MAX(|=COUNTIF(|=AVERAGE(|
-| F7| F8| F9| |
-| F4| F5| F6| =SUM(|
-| F11| F12| F3| |
-| RAISE| | LOWER| )|
-
-## Raise
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-| XXXXX| /| *| -|
-| XXXXX| UP| XXXXX| |
-| LEFT| DOWN| RIGHT| +|
-| XXXXX| DOWN| XXXXX| |
-| RAISE| | LOWER| ENT|
-
-## Adjust
-| 1 | 2 | 3 | 4 |
-|:----:|:----:|:----:|:----:|
-| ESC| F2| =| DEL|
-|ADJUST| XXXXX| XXXXX| -|
-|LED_SAD|LED_SAI| XXXXX| |
-|LED_HUD|LED_HUI| XXXXX| +|
-|LED_VAD|LED_VAI| XXXXX| |
-|LED_ON/Off| | XXXXX|LED_MOD|
-
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h
deleted file mode 100644
index 0e221d844d..0000000000
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c
deleted file mode 100644
index 1853c1b58e..0000000000
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-Copyright 2021 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-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, JP_MINS, JP_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, JP_LBRC, JP_RBRC, KC_BSLS, KC_END,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_LGUI, JP_MHEN,LT(_LOWER,KC_ENT), KC_BSPC, LT(_RAISE,KC_SPC), JP_HENK, KC_LALT, KC_APP, KC_LEFT,KC_DOWN, KC_RGHT
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, LALT(KC_PSCR),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______,MO(_LOWER),KC_DEL, MO(_RAISE), JP_DOT, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#ifdef RGBLIGHT_ENABLE
- switch (get_highest_layer(state)) {
- case _LOWER:
- rgblight_sethsv_at(HSV_BLUE, 0);
- break;
- case _RAISE:
- rgblight_sethsv_at(HSV_RED, 0);
- break;
- case _ADJUST:
- rgblight_sethsv_at(HSV_PURPLE, 0);
- break;
- default: // for any other layers, or the default layer
- rgblight_sethsv_at( 0, 0, 0, 0);
- break;
- }
- rgblight_set_effect_range( 1, 11);
-#endif
-return state;
-}
-
-uint8_t RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_get_mode();
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
deleted file mode 100644
index d06aae947a..0000000000
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2021 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c
deleted file mode 100644
index 314889c2b2..0000000000
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2021 Salicylic_Acid
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE
-};
-
-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, JP_MINS, JP_CIRC, JP_YEN, 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, JP_AT, JP_LBRC, KC_ENT, KC_PGUP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, JP_RBRC, KC_PGDN,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_UP,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,LT(_RAISE,KC_SPC), JP_HENK,KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PSCR,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, LALT(KC_PSCR),
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______,MO(_LOWER),_______, _______, MO(_RAISE),JP_DOT, JP_DOT, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT(
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- ),
-
- [_ADJUST] = LAYOUT( /* Base */
- //,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,_______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- //|-----------------------------------------------------| |--------------------------------------------------------------------------------'
- )
-};
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#ifdef RGBLIGHT_ENABLE
- switch (get_highest_layer(state)) {
- case _LOWER:
- rgblight_sethsv_at(HSV_BLUE, 0);
- break;
- case _RAISE:
- rgblight_sethsv_at(HSV_RED, 0);
- break;
- case _ADJUST:
- rgblight_sethsv_at(HSV_PURPLE, 0);
- break;
- default: // for any other layers, or the default layer
- rgblight_sethsv_at( 0, 0, 0, 0);
- break;
- }
- rgblight_set_effect_range( 1, 11);
-#endif
-return state;
-}
-
-uint8_t RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_get_mode();
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
deleted file mode 100644
index 540c819c2b..0000000000
--- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018 Salicylic_acid3
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
-
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-# define RGB_MATRIX_HUE_STEP 8
-# define RGB_MATRIX_SAT_STEP 8
-# define RGB_MATRIX_LIMIT_VAL 50
-# define RGB_MATRIX_VAL_STEP 5
-# define RGB_MATRIX_SPD_STEP 10
-#endif
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c
deleted file mode 100644
index b7cde4d4e0..0000000000
--- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-#ifdef OLED_ENABLE
-static uint32_t oled_timer = 0;
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _BASE = 0,
- _ARROW,
- _MACRO,
- _ADJUST,
-};
-
-enum custom_keycodes {
- RGB_RST = SAFE_RANGE,
- SEND_SUM,
- SEND_AVE,
- SEND_CIF,
- SEND_MAX,
- SEND_MIN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_numpad_6x4(
- //,-----------------------------------|
- KC_ESC, KC_F2, JP_EQL, KC_DEL,
- //|--------+--------+--------+--------|
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- //|--------+--------+--------+--------|
- KC_P7, KC_P8, KC_P9,
- //|--------+--------+--------+--------|
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- //|--------+--------+--------+--------|
- KC_P1, KC_P2, KC_P3,
- //|--------+--------+--------+--------|
-LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT
- //`-----------------------------------'
- ),
-
- [_ARROW] = LAYOUT_numpad_6x4(
- //,-----------------------------------|
- _______, _______, _______, _______,
- //|--------+--------+--------+--------|
- XXXXXXX, _______, _______, _______,
- //|--------+--------+--------+--------|
- XXXXXXX, KC_UP, XXXXXXX,
- //|--------+--------+--------+--------|
- KC_LEFT, KC_DOWN,KC_RIGHT, _______,
- //|--------+--------+--------+--------|
- XXXXXXX, KC_DOWN, XXXXXXX,
- //|--------+--------+--------+--------|
- MO(_ARROW), MO(_MACRO), _______
- //`-----------------------------------'
- ),
-
- [_MACRO] = LAYOUT_numpad_6x4(
- //,-----------------------------------|
- _______, _______, _______, _______,
- //|--------+--------+--------+--------|
- SEND_MIN,SEND_MAX,SEND_CIF,SEND_AVE,
- //|--------+--------+--------+--------|
- KC_F7, KC_F8, KC_F9,
- //|--------+--------+--------+--------|
- KC_F4, KC_F5, KC_F6,SEND_SUM,
- //|--------+--------+--------+--------|
- KC_F11, KC_F12, KC_F3,
- //|--------+--------+--------+--------|
- _______, _______, JP_RPRN
- //`-----------------------------------'
- ),
-
- [_ADJUST] = LAYOUT_numpad_6x4( /* Base */
- //,-----------------------------------|
- _______, _______, _______, _______,
- //|--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------|
- RGB_SAD, RGB_SAI, XXXXXXX,
- //|--------+--------+--------+--------|
- RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG,
- //|--------+--------+--------+--------|
- RGB_VAD, RGB_VAI, XXXXXXX,
- //|--------+--------+--------+--------|
- _______, _______, RGB_MOD
- //`-----------------------------------'
- )
-};
-
-
-//A description for expressing the layer position in LED mode.
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _ARROW, _MACRO, _ADJUST);
-}
-
-int RGB_current_mode;
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool result = false;
- if (record->event.pressed) {
- #ifdef OLED_ENABLE
- oled_timer = timer_read32();
- #endif
- }
- switch (keycode) {
- case SEND_SUM:
- if (record->event.pressed) {
- SEND_STRING("_SUM*");
- }
- break;
- case SEND_AVE:
- if (record->event.pressed) {
- SEND_STRING("_AVERAGE*");
- }
- break;
- case SEND_CIF:
- if (record->event.pressed) {
- SEND_STRING("_COUNTIF*");
- }
- break;
- case SEND_MAX:
- if (record->event.pressed) {
- SEND_STRING("_MAX*");
- }
- break;
- case SEND_MIN:
- if (record->event.pressed) {
- SEND_STRING("_MIN*");
- }
- break;
- #ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- case RGB_RST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- result = true;
- break;
- }
-
- return result;
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; }
-
-
-void render_layer_state(void) {
- oled_write_P(PSTR("LAYER: "), false);
- oled_write_P(PSTR(" Arrow "), layer_state_is(_ARROW));
- oled_write_P(PSTR(" Macro "), layer_state_is(_MACRO));
-}
-
-void render_keylock_status(led_t led_state) {
- oled_write_P(PSTR("NumLock"), led_state.num_lock);
- oled_write_P(PSTR(" "), false);
-}
-
-void render_layer_messages(void) {
- oled_write_P(PSTR("Setta21 For Your Good Job. "), false);
-}
-
-
-void render_status(void) {
- /* Show Keyboard Layout */
- render_layer_messages();
- render_keylock_status(host_keyboard_led_state());
- render_layer_state();
-}
-
-bool oled_task_user(void) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- return false;
-}
-
-#endif
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md
deleted file mode 100644
index ad27736d2b..0000000000
--- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/readme.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# The salicylic keymap for setta21
-
-## Base
-| 1 | 2 | 3 | 4 |
-|:----------:|:----:|:---------:|:----:|
-| ESC | F2 | = | Del |
-| NumLock | / | * | minus|
-| 7 | 8 | 9 | |
-| 4 | 5 | 6 | + |
-| 1 | 2 | 3 | |
-| Arrow , 0 | | Macro , . | Ent |
-
-
-
-## Arrow
-| 1 | 2 | 3 | 4 |
-|:----------:|:----:|:-----:|:----:|
-| ESC | F2 | = | Del |
-| XXXXX | / | * | minus|
-| XXXXX | UP | XXXXX | |
-| LEFT | DOWN | RIGHT | + |
-| XXXXX | DOWN | XXXXX | |
-| Arrow | | Macro | Ent |
-
-
-
-## Macro
-| 1 | 2 | 3 | 4 |
-|:----------:|:------:|:---------:|:--------:|
-| ESC | F2 | = | Del |
-| =MIN( | =MAX( | =COUNTIF( | =AVERAGE(|
-| F7 | F8 | F9 | |
-| F4 | F5 | F6 | =SUM( |
-| F11 | F12 | F3 | |
-| Arrow | | Macro | ) |
-
-
-
-## Adjust
-| 1 | 2 | 3 | 4 |
-|:----------:|:-----:|:----:|:------:|
-| Adjust | F2 | = | Del |
-| XXXXX | XXXXX | XXXXX| XXXXX |
-| XXXXX |RGB_SAI| XXXXX| |
-| LEFT |RGB_HUI| XXXXX| RGB_TOG|
-| RGB_VAD |RGB_VAI| XXXXX| |
-| Arrow | | Macro| RGB_MOD|
-
-
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk
deleted file mode 100644
index ad721c13de..0000000000
--- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = no
-RGB_MATRIX_ENABLE = yes
-OLED_ENABLE = yes
diff --git a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c b/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c
deleted file mode 100644
index 48f7774f11..0000000000
--- a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 sandwich
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT_65_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN] = LAYOUT_65_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
- _______, _______, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
- _______, BL_TOGG, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END,
- _______, QK_BOOT, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______
- )
-};
diff --git a/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c b/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c
deleted file mode 100644
index 392baa0961..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.c
+++ /dev/null
@@ -1,143 +0,0 @@
-#include "quantum.h"
-#include "command.h"
-#include "action_pseudo_lut.h"
-
-static uint8_t send_key_shift_bit[SHIFT_BIT_SIZE];
-
-/*
- * Pseudo layout action.
- * This action converts a keycode in order to output the character according to the keymap you specified
- * still your keyboard layout recognized wrongly on your OS.
- * Memo: Using other layer keymap to get keycode
- */
-void action_pseudo_lut(keyrecord_t *record, uint8_t base_keymap_id, const uint16_t (*keymap)[2]) {
- uint8_t prev_shift;
- uint16_t keycode;
- uint16_t pseudo_keycode;
-
- /* get keycode from keymap you specified */
- keycode = keymap_key_to_keycode(base_keymap_id, record->event.key);
-
- prev_shift = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT));
-
- if (record->event.pressed) {
- /* when magic commands entered, keycode does not converted */
- if (IS_COMMAND()) {
- if (prev_shift) {
- add_shift_bit(keycode);
- }
- register_code(keycode);
- return;
- }
-
- if (prev_shift) {
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
- add_shift_bit(keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- register_code(QK_LSFT ^ pseudo_keycode);
- } else {
- /* delete shift mod temporarily */
- del_mods(prev_shift);
- send_keyboard_report();
- register_code(pseudo_keycode);
- add_mods(prev_shift);
- send_keyboard_report();
- }
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- add_weak_mods(MOD_BIT(KC_LSFT));
- send_keyboard_report();
- register_code(QK_LSFT ^ pseudo_keycode);
- /* on Windows, prevent key repeat to avoid unintended output */
- unregister_code(QK_LSFT ^ pseudo_keycode);
- del_weak_mods(MOD_BIT(KC_LSFT));
- send_keyboard_report();
- } else {
- register_code(pseudo_keycode);
- }
- }
- } else {
- if (get_shift_bit(keycode)) {
- del_shift_bit(keycode);
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- }
- dprintf("released: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- unregister_code(QK_LSFT ^ pseudo_keycode);
- } else {
- unregister_code(pseudo_keycode);
- }
- }
-}
-
-uint16_t convert_keycode(const uint16_t (*keymap)[2], uint16_t keycode, bool shift_modded)
-{
- uint16_t pseudo_keycode;
-
- switch (keycode) {
- case KC_A ... KC_CAPS_LOCK:
- #if defined(__AVR__)
- if (shift_modded) {
- pseudo_keycode = pgm_read_word(&keymap[keycode][1]);
- } else {
- pseudo_keycode = pgm_read_word(&keymap[keycode][0]);
- }
- #else
- if (shift_modded) {
- pseudo_keycode = keymap[keycode][1];
- } else {
- pseudo_keycode = keymap[keycode][0];
- }
- #endif
- /* if undefined, use got keycode as it is */
- if (pseudo_keycode == 0x00) {
- if (shift_modded) {
- pseudo_keycode = S(keycode);
- } else {
- pseudo_keycode = keycode;
- }
- }
- break;
- default:
- if (shift_modded) {
- pseudo_keycode = S(keycode);
- } else {
- pseudo_keycode = keycode;
- }
- break;
- }
- return pseudo_keycode;
-}
-
-uint8_t get_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- return send_key_shift_bit[keycode >> 3] & (1 << (keycode & 7));
- } else {
- dprintf("get_shift_bit: Can't get shift bit. keycode: %02X\n", keycode);
- return 0;
- }
-}
-
-void add_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] |= (1 << (keycode & 7));
- } else {
- dprintf("add_shift_bit: Can't add shift bit. keycode: %02X\n", keycode);
- }
-}
-
-void del_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] &= ~(1 << (keycode & 7));
- } else {
- dprintf("del_shift_bit: Can't delete shift bit. keycode: %02X\n", keycode);
- }
-}
diff --git a/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h b/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h
deleted file mode 100644
index 681252440f..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/action_pseudo_lut.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef ACTION_PSEUDO_LUT_H
-#define ACTION_PSEUDO_LUT_H
-
-#define SHIFT_BIT_SIZE (0xE7 / 8 + 1) // 1bit per 1key
-
-#define IS_LSFT(kc) ((QK_LSFT & (kc)) == QK_LSFT)
-
-void action_pseudo_lut(keyrecord_t *, uint8_t, const uint16_t (*)[2]);
-uint16_t convert_keycode(const uint16_t (*)[2], uint16_t, bool);
-
-uint8_t get_shift_bit(uint16_t);
-void add_shift_bit(uint16_t);
-void del_shift_bit(uint16_t);
-
-#endif
diff --git a/keyboards/satt/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c
deleted file mode 100644
index f57e97724c..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/keymap.c
+++ /dev/null
@@ -1,257 +0,0 @@
-// this is the style you want to emulate.
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-
-#include QMK_KEYBOARD_H
-#include "keymap_jis2us.h"
-#include "action_pseudo_lut.h"
-#include "keymap_japanese.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum comet46_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _PSEUDO_US,
- _PSEUDO_US_LOWER,
- _PSEUDO_US_RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- PSEUDO_US,
- JIS2US,
-};
-
-// JIS keycodes
-#define KC_JZHT JP_ZKHK // hankaku/zenkaku|kanzi
-#define KC_JCIR JP_CIRC // ^, ~
-#define KC_JAT JP_AT // @, `
-#define KC_JLBR JP_LBRC // [, {
-#define KC_JCOL JP_COLN // :, *
-#define KC_JRBR JP_RBRC // ], }
-#define KC_JBSL JP_BSLS // \, _
-#define KC_JMHE JP_MHEN // muhenkan
-#define KC_JHEN JP_HENK // henkan
-#define KC_JKAN JP_KANA // katakana/hiragana|ro-mazi
-#define KC_JMKA JP_LANG1 //kana on MacOSX
-#define KC_JMEI KC_LNG2 //eisu on MacOSX
-#define KC_JAMP JP_AMPR // &
-#define KC_JQUO JP_QUOT // '
-#define KC_JLPR JP_LPRN // (
-#define KC_JRPR JP_RPRN // )
-#define KC_JEQL JP_EQL // =
-#define KC_JTIL JP_TILD // ~
-#define KC_JPIP JP_PIPE // |
-#define KC_JGRV JP_GRV // `
-#define KC_JLCB JP_LCBR // {
-#define KC_JPLU JP_PLUS // +
-#define KC_JAST JP_ASTR // *
-#define KC_JRCB JP_RCBR // }
-#define KC_JUND JP_UNDS // _
-
-// Layer related keycodes
-#define KC_LWR MO(_LOWER)
-#define KC_RSE MO(_RAISE)
-#define KC_P_LW MO(_PSEUDO_US_LOWER)
-#define KC_P_RS MO(_PSEUDO_US_RAISE)
-#define KC_QWRT QWERTY
-#define KC_P_US PSEUDO_US
-#define KC_J2US JIS2US
-
-// Special keycodes
-#define KC_SPCT CTL_T(KC_SPC)
-#define KC_ENSF SFT_T(KC_ENT)
-#define KC_CAEC MT(MOD_LCTL | MOD_LALT, KC_ESC)
-#define KC_CSTB C_S_T(KC_TAB)
-#define KC_IMON ALT_T(KC_F13)
-#define KC_IMOF GUI_T(KC_F14)
-#define KC_CAD LCA(KC_DEL)
-#define KC_RST QK_BOOT
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- KC_CAEC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_DEL ,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- KC_CSTB, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_LPRN, KC_RPRN, KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_BSPC,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_LBRC, KC_RBRC, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_QUOT,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- KC_IMOF,KC_LWR ,KC_SPCT, KC_ENSF,KC_RSE ,KC_IMON
- // +----+----+---/ \---+----+----+
- ),
-
- [_LOWER] = 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_GRV ,KC_BSLS,KC_MINS,KC_EQL ,KC_LBRC,KC_RBRC,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______, KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_TILD,KC_PIPE,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______, _______,_______,_______
- // +----+----+---/ \---+----+----+
- ),
-
- [_RAISE] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,_______,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,_______, XXXXXXX,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,KC_END ,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,_______, KC_HOME,XXXXXXX,KC_PGDN,KC_PGUP,XXXXXXX,XXXXXXX,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______, _______,_______,_______
- // +----+----+---/ \---+----+----+
- ),
-
- [_PSEUDO_US] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- KC_CAEC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_DEL ,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- KC_CSTB, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_JLPR, KC_JRPR, KC_H , KC_J , KC_K , KC_L ,KC_J2US,KC_BSPC,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_J2US, KC_J2US, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_J2US,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- KC_IMOF,KC_P_LW,KC_SPCT, KC_ENSF,KC_P_RS,KC_IMON
- // +----+----+---/ \---+----+----+
- ),
-
-
- [_PSEUDO_US_LOWER] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- _______,KC_EXLM,KC_JAT ,KC_HASH,KC_DLR ,KC_PERC, KC_JCIR,KC_JAMP,KC_JAST,KC_JLPR,KC_JRPR,_______,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_JGRV,KC_JBSL,KC_MINS,KC_JEQL,KC_JLBR,KC_JRBR,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______, KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_JTIL,KC_JPIP,KC_JUND,KC_JPLU,KC_JLCB,KC_JRCB,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______, _______,_______,_______
- // +----+----+---/ \---+----+----+
- ),
-
- [_PSEUDO_US_RAISE] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,_______,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,KC_JZHT, XXXXXXX,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,KC_END ,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,_______, KC_HOME,XXXXXXX,KC_PGDN,KC_PGUP,XXXXXXX,XXXXXXX,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______, _______,_______,_______
- // +----+----+---/ \---+----+----+
- ),
-
- [_ADJUST] = LAYOUT(
- //,----+----+----+----+----+----+ +----+----+----+----+----+----.
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,KC_CAD , KC_QWRT,_______,_______,_______,_______,_______,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______,_______,_______,_______,KC_RST , KC_P_US,_______,_______,_______,_______,_______,_______,
- //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
- _______,_______,_______, _______,_______,_______
- // +----+----+---/ \---+----+----+
- )
-
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _PSEUDO_US_LOWER:
- case _PSEUDO_US_RAISE:
- return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST);
- break;
- default:
- return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
- break;
- }
-}
-
-#ifdef OLED_ENABLE
-
-// You need to add source files to SRC in rules.mk when using OLED display functions
-void set_keylog(uint16_t keycode);
-const char *read_keylog(void);
-const char *read_modifier_state(void);
-const char *read_host_led_state(void);
-
-bool oled_task_user(void) {
- // Layer state
- char layer_str[22];
- oled_write_P(PSTR("Layer: "), false);
- uint8_t layer = get_highest_layer(layer_state);
- uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer());
- switch (layer) {
- case _QWERTY:
- switch (default_layer) {
- case _QWERTY:
- snprintf(layer_str, sizeof(layer_str), "Qwerty");
- break;
- case _PSEUDO_US:
- snprintf(layer_str, sizeof(layer_str), "Psuedo_US");
- break;
- default:
- snprintf(layer_str, sizeof(layer_str), "Undef-%d", default_layer);
- break;
- }
- break;
- case _RAISE:
- snprintf(layer_str, sizeof(layer_str), "Raise");
- break;
- case _LOWER:
- snprintf(layer_str, sizeof(layer_str), "Lower");
- break;
- case _PSEUDO_US_RAISE:
- snprintf(layer_str, sizeof(layer_str), "P_US_Raise");
- break;
- case _PSEUDO_US_LOWER:
- snprintf(layer_str, sizeof(layer_str), "P_US_Lower");
- break;
- case _ADJUST:
- snprintf(layer_str, sizeof(layer_str), "Adjust");
- break;
- default:
- snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer);
- }
- oled_write_ln(layer_str, false);
- // Last entered keycode
- oled_write_ln(read_keylog(), false);
- // Modifier state
- oled_write_ln(read_modifier_state(), false);
- // Host Keyboard LED Status
- oled_write(read_host_led_state(), false);
-
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- #ifdef OLED_ENABLE
- if (record->event.pressed) {
- set_keylog(keycode);
- }
- #endif
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- break;
- case PSEUDO_US:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_PSEUDO_US);
- }
- break;
- case JIS2US:
- action_pseudo_lut(record, _QWERTY, keymap_jis2us);
- break;
- }
- return true;
-}
diff --git a/keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h b/keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h
deleted file mode 100644
index a99af7770e..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/keymap_jis2us.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef KEYMAP_JIS2US_H
-#define KEYMAP_JIS2US_H
-
-/* keymap for convert from JIS to US */
-const uint16_t PROGMEM keymap_jis2us[][2] = {
- [KC_A ... KC_CAPS] = { 0x00, 0x00 }, /* default value */
-
- [KC_1] = { KC_1, KC_EXLM }, /* 1 and ! -> 1 and ! */
- [KC_2] = { KC_2, KC_LBRC }, /* 2 and " -> 2 and @ */
- [KC_3] = { KC_3, KC_HASH }, /* 3 and # -> 3 and # */
- [KC_4] = { KC_4, KC_DLR }, /* 4 and $ -> 4 and $ */
- [KC_5] = { KC_5, KC_PERC }, /* 5 and % -> 5 and % */
- [KC_6] = { KC_6, KC_EQL }, /* 6 and & -> 6 and ^ */
- [KC_7] = { KC_7, KC_CIRC }, /* 7 and ' -> 7 and & */
- [KC_8] = { KC_8, KC_DQT }, /* 8 and ( -> 8 and * */
- [KC_9] = { KC_9, KC_ASTR }, /* 9 and ) -> 9 and ( */
- [KC_0] = { KC_0, KC_LPRN }, /* 0 and (no assign) -> 0 and ) */
- [KC_MINS] = { KC_MINS, S(KC_INT1) }, /* - and = -> - and _ */
- [KC_EQL] = { KC_UNDS, KC_COLN }, /* ^ and ~ -> = and + */
- [KC_LBRC] = { KC_RBRC, KC_RCBR }, /* @ and ` -> [ and { */
- [KC_RBRC] = { KC_BSLS, KC_PIPE }, /* [ and { -> ] and } */
- [KC_BSLS] = { KC_INT3, S(KC_INT3) }, /* ] and } -> / and | */
- [KC_NUHS] = { KC_NUHS, S(KC_NUHS) }, /* (no assign) */
- [KC_SCLN] = { KC_SCLN, KC_QUOT }, /* ; and + -> ; and : */
- [KC_QUOT] = { KC_AMPR, KC_AT }, /* : and * -> ' and " */
- [KC_GRV] = { KC_LCBR, KC_PLUS }, /* (no assign) -> ` and ~ */
- [KC_COMM] = { KC_COMM, KC_LT }, /* , and < -> , and < */
- [KC_DOT] = { KC_DOT, KC_GT }, /* . and > -> . and > */
- [KC_SLSH] = { KC_SLSH, KC_QUES }, /* / and ? -> / and ? */
-};
-
-#endif
diff --git a/keyboards/satt/comet46/keymaps/satt/readme.md b/keyboards/satt/comet46/keymaps/satt/readme.md
deleted file mode 100644
index 33bbad3264..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Pseudo US Layout
-
-On a Japanese Windows environment, ANSI keyboards may be recognized wrongly as a JIS keyboard.
-By using this code, you can use your ANSI keyboard under a JIS keyboard environment without changing the settings and registry of your environment.
-
-Original code by [Shela](https://github.com/qmk/qmk_firmware/tree/master/keyboards/hhkb/keymaps/shela)
diff --git a/keyboards/satt/comet46/keymaps/satt/rules.mk b/keyboards/satt/comet46/keymaps/satt/rules.mk
deleted file mode 100644
index 9c07b12fcb..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-SRC += action_pseudo_lut.c
-
-# If you want to change display settings of the OLED, you need to change the following lines
-SRC += ./lib/keylogger.c \
- ./lib/modifier_state_reader.c \
- ./lib/host_led_state_reader.c
-
-OLED_ENABLE = yes
diff --git a/keyboards/satt/vision/keymaps/satt/action_pseudo.c b/keyboards/satt/vision/keymaps/satt/action_pseudo.c
deleted file mode 100644
index 9c2b6e8ca5..0000000000
--- a/keyboards/satt/vision/keymaps/satt/action_pseudo.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-#include "command.h"
-#include "action_pseudo.h"
-
-static uint8_t send_key_shift_bit[SHIFT_BIT_SIZE];
-
-/*
- * Action Pseudo Process.
- * Gets the keycode in the same position of the specified layer.
- * The keycode is sent after conversion according to the conversion keymap.
- */
-void action_pseudo_process(keyrecord_t *record, uint8_t base_layer, const uint16_t (*keymap)[2]) {
- uint8_t prev_shift;
- uint16_t keycode;
- uint16_t pseudo_keycode;
-
- /* Get keycode from specified layer */
- keycode = keymap_key_to_keycode(base_layer, record->event.key);
-
- prev_shift = get_mods() & MOD_MASK_SHIFT;
-
- if (record->event.pressed) {
- /* If magic commands entered, keycode is not converted */
- if (IS_COMMAND()) {
- if (prev_shift) {
- add_shift_bit(keycode);
- }
- register_code(keycode);
- return;
- }
-
- if (prev_shift) {
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
- add_shift_bit(keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- register_code(QK_LSFT ^ pseudo_keycode);
- } else {
- /* Delete shift mod temporarily */
- unregister_mods(prev_shift);
- register_code(pseudo_keycode);
- register_mods(prev_shift);
- }
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- register_weak_mods(MOD_LSFT);
- register_code(QK_LSFT ^ pseudo_keycode);
- /* Prevent key repeat to avoid unintended output on Windows */
- unregister_code(QK_LSFT ^ pseudo_keycode);
- unregister_weak_mods(MOD_LSFT);
- } else {
- register_code(pseudo_keycode);
- }
- }
- } else {
- if (get_shift_bit(keycode)) {
- del_shift_bit(keycode);
- pseudo_keycode = convert_keycode(keymap, keycode, true);
- } else {
- pseudo_keycode = convert_keycode(keymap, keycode, false);
- }
- dprintf("released: %02X, converted: %04X\n", keycode, pseudo_keycode);
-
- if (IS_LSFT(pseudo_keycode)) {
- unregister_code(QK_LSFT ^ pseudo_keycode);
- } else {
- unregister_code(pseudo_keycode);
- }
- }
-}
-
-/* Convert keycode according to the keymap */
-uint16_t convert_keycode(const uint16_t (*keymap)[2], uint16_t keycode, bool shift_modded) {
- uint16_t pseudo_keycode = 0x00; /* default value */
-
- switch (keycode) {
- case KC_A ... KC_CAPS_LOCK:
-#if defined(__AVR__)
- if (shift_modded) {
- pseudo_keycode = pgm_read_word(&keymap[keycode][1]);
- } else {
- pseudo_keycode = pgm_read_word(&keymap[keycode][0]);
- }
-#else
- if (shift_modded) {
- pseudo_keycode = keymap[keycode][1];
- } else {
- pseudo_keycode = keymap[keycode][0];
- }
-#endif
- break;
- }
-
- /* If pseudo keycode is the default value, use the keycode as it is */
- if (pseudo_keycode == 0x00) {
- if (shift_modded) {
- pseudo_keycode = S(keycode);
- } else {
- pseudo_keycode = keycode;
- }
- }
-
- return pseudo_keycode;
-}
-
-uint8_t get_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- return send_key_shift_bit[keycode >> 3] & (1 << (keycode & 7));
- } else {
- dprintf("get_shift_bit: Can't get shift bit. keycode: %02X\n", keycode);
- return 0;
- }
-}
-
-void add_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] |= (1 << (keycode & 7));
- } else {
- dprintf("add_shift_bit: Can't add shift bit. keycode: %02X\n", keycode);
- }
-}
-
-void del_shift_bit(uint16_t keycode) {
- if ((keycode >> 3) < SHIFT_BIT_SIZE) {
- send_key_shift_bit[keycode >> 3] &= ~(1 << (keycode & 7));
- } else {
- dprintf("del_shift_bit: Can't delete shift bit. keycode: %02X\n", keycode);
- }
-}
diff --git a/keyboards/satt/vision/keymaps/satt/action_pseudo.h b/keyboards/satt/vision/keymaps/satt/action_pseudo.h
deleted file mode 100644
index 7c3d38fa07..0000000000
--- a/keyboards/satt/vision/keymaps/satt/action_pseudo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 SHIFT_BIT_SIZE (0xE7 / 8 + 1) /* 1bit per 1key */
-#define IS_LSFT(kc) ((QK_LSFT & (kc)) == QK_LSFT)
-
-void action_pseudo_process(keyrecord_t *, uint8_t, const uint16_t (*)[2]);
-uint16_t convert_keycode(const uint16_t (*)[2], uint16_t, bool);
-
-uint8_t get_shift_bit(uint16_t);
-void add_shift_bit(uint16_t);
-void del_shift_bit(uint16_t);
diff --git a/keyboards/satt/vision/keymaps/satt/keymap.c b/keyboards/satt/vision/keymaps/satt/keymap.c
deleted file mode 100644
index cc088d94f3..0000000000
--- a/keyboards/satt/vision/keymaps/satt/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
-Copyright 2019 Sekigon
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_jis2us.h"
-#include "action_pseudo.h"
-#include "keymap_japanese.h"
-
-enum custom_keycodes {
- JIS2US = SAFE_RANGE, /* JIS2US keycode */
- QWERTY, /* Layer keycode */
- PSEU_US, /* Layer keycode */
- LOWER, /* Layer keycode */
- RAISE, /* Layer keycode */
- P_LOWER, /* Layer keycode */
- P_RAISE /* Layer keycode */
-};
-
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _PSEUDO_US,
- _PSEUDO_US_LOWER,
- _PSEUDO_US_RAISE,
- _ADJUST,
-};
-
-// Layer related keycodes
-#define ADJUST MO(_ADJUST)
-
-// Special keycodes
-#define SPC_CTL CTL_T(KC_SPC)
-#define ENT_SFT SFT_T(KC_ENT)
-#define TB_CTSF C_S_T(KC_TAB)
-#define IMON_AL ALT_T(KC_F13)
-#define IMOF_AL ALT_T(KC_F14)
-#define CTALDEL LCA(KC_DEL)
-#define ESC_ADJ LT(_ADJUST, KC_ESC)
-#define GUI_E LGUI(KC_E)
-#define GUI_R LGUI(KC_R)
-#define CTLGRV LCTL(KC_GRV)
-
-const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
- GUI_E, ESC_ADJ, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL,
- GUI_R, TB_CTSF, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSPC,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLGRV, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_LGUI, IMOF_AL, LOWER, SPC_CTL, RAISE, ENT_SFT, IMON_AL, KC_RCTL
- ),
-
- [_LOWER] = LAYOUT(
- _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
- _______, _______, _______, KC_F2, KC_F5, KC_F10, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, KC_TILD, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_RAISE] = LAYOUT(
- _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_PSEUDO_US] = LAYOUT(
- _______, _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, _______, _______,
- _______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JIS2US, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, JP_ZKHK, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JIS2US,
- _______, _______, P_LOWER, _______, P_RAISE, _______, _______, _______
- ),
-
- [_PSEUDO_US_LOWER] = LAYOUT(
- _______, _______, JP_EXLM, JP_AT, JP_HASH, JP_DLR, JP_PERC, JP_CIRC, JP_AMPR, JP_ASTR, JP_LPRN, JP_RPRN, _______, _______,
- _______, _______, _______, KC_F2, KC_F5, KC_F10, JP_GRV, JP_BSLS, JP_MINS, JP_EQL, JP_LBRC, JP_RBRC, _______,
- _______, _______, _______, _______, _______, JP_TILD, _______, JP_PIPE, JP_UNDS, JP_PLUS, JP_LCBR, JP_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_PSEUDO_US_RAISE] = LAYOUT(
- _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_ADJUST] = LAYOUT(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, QWERTY, PSEU_US, CTALDEL, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case P_LOWER:
- if (record->event.pressed) {
- layer_on(_PSEUDO_US_LOWER);
- update_tri_layer(_PSEUDO_US_LOWER, _PSEUDO_US_RAISE, _ADJUST);
- } else {
- layer_off(_PSEUDO_US_LOWER);
- update_tri_layer(_PSEUDO_US_LOWER, _PSEUDO_US_RAISE, _ADJUST);
- }
- return false;
- break;
- case P_RAISE:
- if (record->event.pressed) {
- layer_on(_PSEUDO_US_RAISE);
- update_tri_layer(_PSEUDO_US_LOWER, _PSEUDO_US_RAISE, _ADJUST);
- } else {
- layer_off(_PSEUDO_US_RAISE);
- update_tri_layer(_PSEUDO_US_LOWER, _PSEUDO_US_RAISE, _ADJUST);
- }
- return false;
- break;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- break;
- case PSEU_US:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_PSEUDO_US);
- }
- break;
- case JIS2US:
- action_pseudo_process(record, _QWERTY, keymap_jis2us);
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h b/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h
deleted file mode 100644
index 163ae84fb4..0000000000
--- a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 shela
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "keymap_japanese.h"
-
-// clang-format off
-/* Keymap for converting JIS to US */
-const uint16_t PROGMEM keymap_jis2us[][2] = {
- [KC_A ... KC_CAPS] = { 0x00, 0x00 }, /* default value */
-
- [KC_1] = { KC_1, JP_EXLM }, /* 1 and ! -> 1 and ! */
- [KC_2] = { KC_2, JP_AT }, /* 2 and " -> 2 and @ */
- [KC_3] = { KC_3, JP_HASH }, /* 3 and # -> 3 and # */
- [KC_4] = { KC_4, JP_DLR }, /* 4 and $ -> 4 and $ */
- [KC_5] = { KC_5, JP_PERC }, /* 5 and % -> 5 and % */
- [KC_6] = { KC_6, JP_CIRC }, /* 6 and & -> 6 and ^ */
- [KC_7] = { KC_7, JP_AMPR }, /* 7 and ' -> 7 and & */
- [KC_8] = { KC_8, JP_ASTR }, /* 8 and ( -> 8 and * */
- [KC_9] = { KC_9, JP_LPRN }, /* 9 and ) -> 9 and ( */
- [KC_0] = { KC_0, JP_RPRN }, /* 0 -> 0 and ) */
- [KC_MINS] = { JP_MINS, JP_UNDS }, /* - and = -> - and _ */
- [KC_EQL] = { JP_EQL, JP_PLUS }, /* ^ and ~ -> = and + */
- [KC_LBRC] = { JP_LBRC, JP_LCBR }, /* @ and ` -> [ and { */
- [KC_RBRC] = { JP_RBRC, JP_RCBR }, /* [ and { -> ] and } */
- [KC_BSLS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
- [KC_NUHS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
- [KC_SCLN] = { JP_SCLN, JP_COLN }, /* ; and + -> ; and : */
- [KC_QUOT] = { JP_QUOT, JP_DQUO }, /* : and * -> ' and " */
- [KC_GRV] = { JP_GRV, JP_TILD }, /* Han/Zen -> ` and ~ */
- [KC_COMM] = { JP_COMM, JP_LABK }, /* , and < -> , and < */
- [KC_DOT] = { JP_DOT, JP_RABK }, /* . and > -> . and > */
- [KC_SLSH] = { JP_SLSH, JP_QUES }, /* / and ? -> / and ? */
-};
-// clang-format on
diff --git a/keyboards/satt/vision/keymaps/satt/readme.md b/keyboards/satt/vision/keymaps/satt/readme.md
deleted file mode 100644
index 33bbad3264..0000000000
--- a/keyboards/satt/vision/keymaps/satt/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Pseudo US Layout
-
-On a Japanese Windows environment, ANSI keyboards may be recognized wrongly as a JIS keyboard.
-By using this code, you can use your ANSI keyboard under a JIS keyboard environment without changing the settings and registry of your environment.
-
-Original code by [Shela](https://github.com/qmk/qmk_firmware/tree/master/keyboards/hhkb/keymaps/shela)
diff --git a/keyboards/satt/vision/keymaps/satt/rules.mk b/keyboards/satt/vision/keymaps/satt/rules.mk
deleted file mode 100644
index 029fdeeb1d..0000000000
--- a/keyboards/satt/vision/keymaps/satt/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SRC += action_pseudo.c
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/info.json b/keyboards/sawnsprojects/krush/krush60/solder/info.json
index 7aeb5ad38a..b3d4f8f97c 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/info.json
+++ b/keyboards/sawnsprojects/krush/krush60/solder/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Krush60 - Solder",
"manufacturer": "SawnsProjects",
- "url": "",
"maintainer": "MaiTheSan",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true
+ },
"usb": {
"vid": "0x5350",
"pid": "0x6B32",
@@ -34,8 +39,6 @@
"knight": true,
"christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
}
},
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/default/readme.md b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/default/readme.md
deleted file mode 100644
index 1f6a41724d..0000000000
--- a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/default/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The default keymap for krush60 solder
-
-Assigns a keycode to every possible switch location.
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/keymap.c b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/keymap.c
index 39a6ee1be6..fa06994538 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/keymap.c
+++ b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/keymap.c
@@ -32,22 +32,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
+ )
};
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/readme.md b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/readme.md
deleted file mode 100644
index a7ca3b9c27..0000000000
--- a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The VIA keymap for krush60 solder
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/readme.md b/keyboards/sawnsprojects/krush/krush60/solder/readme.md
index 36da34d372..1944ddaf09 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/readme.md
+++ b/keyboards/sawnsprojects/krush/krush60/solder/readme.md
@@ -1,6 +1,6 @@
# Krush60 solder
-![Krush60](https://cdn.discordapp.com/attachments/898507964942536715/906171092916391956/252763374_2899749087003964_8763371038132517512_n.png)
+![Krush60](https://i.imgur.com/v8n2ED7h.jpeg)
A 60% keyboard PCB made and sold by SawnsProjects with Nuxros in [Facebook](https://www.facebook.com/groups/vnmkmarket/posts/1412997345762674).
@@ -10,6 +10,18 @@ A 60% keyboard PCB made and sold by SawnsProjects with Nuxros in [Facebook](http
Make example for this keyboard (after setting up your build environment):
- make sawnsprojects/krush60/solder:default
+ make sawnsprojects/krush/krush60/solder: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
+Flashing example for this keyboard:
+
+ make sawnsprojects/krush/krush60/solder:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/rules.mk b/keyboards/sawnsprojects/krush/krush60/solder/rules.mk
index c6d01d3079..6e7633bfe0 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/rules.mk
+++ b/keyboards/sawnsprojects/krush/krush60/solder/rules.mk
@@ -1,11 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+# This file intentionally left blank
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/keymap.c b/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/keymap.c
deleted file mode 100644
index d252058bde..0000000000
--- a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2021 SawnsProjects
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- // main layer - move mouse right (CW) and left (CCW)
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- break;
- default:
- // other layers - =/+ (quals/plus) (CW) and -/_ (minus/underscore) (CCW)
- if (clockwise) {
- tap_code16(C(KC_EQL));
- } else {
- tap_code16(C(KC_MINS));
- }
- break;
- }
- }
- return false;
-} \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/readme.md b/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/readme.md
deleted file mode 100644
index ff710c521f..0000000000
--- a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-#custom keymap for MikeTheSan \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/rules.mk b/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/sawnsprojects/krush/krush65/solder/keymaps/sawns/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h
deleted file mode 100644
index d649c698ab..0000000000
--- a/keyboards/sawnsprojects/satxri6key/config.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2021 SawnsProjects
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 6
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Sets the default mode, if none has been set
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/sawnsprojects/satxri6key/info.json b/keyboards/sawnsprojects/satxri6key/info.json
index 5d92db728a..e56af19c7d 100644
--- a/keyboards/sawnsprojects/satxri6key/info.json
+++ b/keyboards/sawnsprojects/satxri6key/info.json
@@ -8,6 +8,58 @@
"pid": "0x0727",
"device_version": "0.0.1"
},
+ "rgb_matrix": {
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "solid_reactive_simple"
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "react_on_keyup": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c
deleted file mode 100644
index 86209da7dc..0000000000
--- a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2021 SawnsProjects
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md
deleted file mode 100644
index dd1d8879df..0000000000
--- a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The custom keymap for VCL65 solder by SawnsProjects
diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk b/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/sawnsprojects/vcl65/solder/keymaps/sawns/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/sck/osa/keymaps/ocm/keymap.c b/keyboards/sck/osa/keymaps/ocm/keymap.c
deleted file mode 100644
index 87544b7375..0000000000
--- a/keyboards/sck/osa/keymaps/ocm/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2019 jrfhoutx
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * .----.,----------------------------------------------------------------------.
- * | M1 ||Esc| 1 | 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =| ~ | \ |
- * |----||----------------------------------------------------------------------|
- * | M2 ||Tab | Q| W| E| R| T| | Y| U| I| O| P| [ | ] |BkSpc|
- * |----||----------------------------------------------------------------------|
- * | M3 ||Ctrl | A| S| D| F| G| | H| J| K| L| ;| '|Return |
- * `----'|----------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| | B| N| M| ,| .| /|Shift | Fn |
- * |----------------------------------------------------------------------|
- * |CAPS| | Alt | Space | Fn | | Space | Alt | | Ctrl|
- * `----------------------------------------------------------------------'
- */
-[0] = LAYOUT_all( /* OSA Base */
- KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_HOME,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
- ),
-/* Keymap BASE: (Base Layer) Default Layer
- * .----.,----------------------------------------------------------------------.
- * | M1 ||Esc| 1 | 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =| ~ | \ |
- * |----||----------------------------------------------------------------------|
- * | M2 ||Tab | Q| W| E| R| T| | Y| U| I| O| P| [ | ] |BkSpc|
- * |----||----------------------------------------------------------------------|
- * | M3 ||Ctrl | A| S| D| F| G| | H| J| K| L| ;| '|Return |
- * `----'|----------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| | B| N| M| ,| .| /|Shift | Fn |
- * |----------------------------------------------------------------------|
- * |CAPS| | Alt | Space | Fn | | Space | Alt | | Ctrl|
- * `----------------------------------------------------------------------'
- */
-[1] = LAYOUT_all( /* OSA Layer 1 */
- KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_HOME,
- KC_LCTL, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RCTL
- ),
-/* Keymap BASE: (Base Layer) Default Layer
- * .----.,----------------------------------------------------------------------.
- * | M1 ||Esc| 1 | 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =| ~ | \ |
- * |----||----------------------------------------------------------------------|
- * | M2 ||Tab | Q| W| E| R| T| | Y| U| I| O| P| [ | ] |BkSpc|
- * |----||----------------------------------------------------------------------|
- * | M3 ||Ctrl | A| S| D| F| G| | H| J| K| L| ;| '|Return |
- * `----'|----------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| | B| N| M| ,| .| /|Shift | Fn |
- * |----------------------------------------------------------------------|
- * |CAPS| | Alt | Space | Fn | | Space | Alt | | Ctrl|
- * `----------------------------------------------------------------------'
- */
-[2] = LAYOUT_all( /* OSA Layer 2 */
- KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_HOME,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
- ),
-};
diff --git a/keyboards/sck/osa/keymaps/ocm/readme.md b/keyboards/sck/osa/keymaps/ocm/readme.md
deleted file mode 100644
index 3624b1078e..0000000000
--- a/keyboards/sck/osa/keymaps/ocm/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# OneCreativeMind's keymap for OSA
diff --git a/keyboards/sck/osa/keymaps/splitrs/keymap.c b/keyboards/sck/osa/keymaps/splitrs/keymap.c
deleted file mode 100644
index 92f156321c..0000000000
--- a/keyboards/sck/osa/keymaps/splitrs/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2019 jrfhoutx
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * .----.,----------------------------------------------------------------------.
- * | M1 || ~ | 1 | 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =|Backsp |
- * |----||----------------------------------------------------------------------|
- * | M2 ||Tab | Q| W| E| R| T| | Y| U| I| O| P| [ | ] | \ |
- * |----||----------------------------------------------------------------------|
- * | M3 ||Ctrl | A| S| D| F| G| | H| J| K| L| ;| '|Return |
- * `----'|----------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| | B| N| M| ,| .| /|Shift | Fn |
- * |----------------------------------------------------------------------|
- * |CAPS| | Alt | Space | Fn | | Space | Alt | | Ctrl|
- * `----------------------------------------------------------------------'
- */
-[0] = LAYOUT_alice( /* OSA Base */
- KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_HOME,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
- ),
-/* Keymap BASE: (Base Layer) Default Layer
- * .----.,----------------------------------------------------------------------.
- * | M1 || ~ | 1 | 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =|Backsp |
- * |----||----------------------------------------------------------------------|
- * | M2 ||Tab | Q| W| E| R| T| | Y| U| I| O| P| [ | ] | \ |
- * |----||----------------------------------------------------------------------|
- * | M3 ||Ctrl | A| S| D| F| G| | H| J| K| L| ;| '|Return |
- * `----'|----------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| | B| N| M| ,| .| /|Shift | Fn |
- * |----------------------------------------------------------------------|
- * |CAPS| | Alt | Space | Fn | | Space | Alt | | Ctrl|
- * `----------------------------------------------------------------------'
- */
-[1] = LAYOUT_alice( /* OSA Layer 1 */
- KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_HOME,
- KC_LCTL, KC_LALT, KC_SPC, _______, KC_SPC, KC_RALT, KC_RCTL
- ),
-};
diff --git a/keyboards/sck/osa/keymaps/splitrs/readme.md b/keyboards/sck/osa/keymaps/splitrs/readme.md
deleted file mode 100644
index 9f2315c2a2..0000000000
--- a/keyboards/sck/osa/keymaps/splitrs/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The split right shift keymap for osa
diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h
deleted file mode 100644
index 44f0121915..0000000000
--- a/keyboards/senselessclay/ck60/config.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2020 Hadi Iskandarani
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* RGB matrix lighting */
-#define RGB_MATRIX_LED_COUNT 62
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 // limit brightness to not overamp the USB
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/senselessclay/ck60/info.json b/keyboards/senselessclay/ck60/info.json
index f05d94c9de..e997157436 100644
--- a/keyboards/senselessclay/ck60/info.json
+++ b/keyboards/senselessclay/ck60/info.json
@@ -12,7 +12,32 @@
"pin": "B1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true,
+ "multisplash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "max_brightness": 160,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F0", "D5", "D3", "D2", "D1", "D0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/senselessclay/had60/keymaps/had/keymap.c b/keyboards/senselessclay/had60/keymaps/had/keymap.c
deleted file mode 100644
index add0595522..0000000000
--- a/keyboards/senselessclay/had60/keymaps/had/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2020 Hadi Iskandarani
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- /*Base*/
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLD, KC_VOLU, KC_MUTE, KC_SLEP,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT_all(
- MAGIC_NO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, QK_BOOT,
- MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-}; \ No newline at end of file
diff --git a/keyboards/sentraq/s65_x/keymaps/nall/keymap.c b/keyboards/sentraq/s65_x/keymaps/nall/keymap.c
deleted file mode 100644
index b00cfbac64..0000000000
--- a/keyboards/sentraq/s65_x/keymaps/nall/keymap.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BL 0
-#define _AL 1
-#define _FL 2
-#define _UL 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: Main layer, swapped alt and GUI for Mac
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│DEL │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│END │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│PG_UP│
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│ UP │PG_DN│
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
- * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- /* 0: ANSI qwerty */
- [_BL] = LAYOUT_65_ansi(
- QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
-
- /* 1: Locking arrow keys to WASD for when you need dedicated arrow keys
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ │ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
- * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- [_AL] = LAYOUT_65_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* 2: Fn layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ _AL │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │Left │Down │Right│ │ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │▒▒▒▒▒│_UL │ │ │ │ │ │ │ │Home │End │▒▒▒▒▒│ │Vol+ │ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │Mute │Vol- │Play │
- * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- [_FL] = LAYOUT_65_ansi(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, TG(_AL), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, TG(_UL), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_MPLY),
-
- /* 3: Locking layer for controlling the underglow
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │BL On│BL St│ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ On │Mode │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │▒▒▒▒▒│ │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
- * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
- * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-
- [_UL] = LAYOUT_65_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/sets3n/kk980/config.h b/keyboards/sets3n/kk980/config.h
index c19b74dc53..5e35453f1f 100644
--- a/keyboards/sets3n/kk980/config.h
+++ b/keyboards/sets3n/kk980/config.h
@@ -24,8 +24,3 @@
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT 102
-#define RGB_MATRIX_KEYPRESSES
-#endif
diff --git a/keyboards/flygone60/rev3/config.h b/keyboards/shandoncodes/flygone60/rev3/config.h
index 339cf3c782..339cf3c782 100644
--- a/keyboards/flygone60/rev3/config.h
+++ b/keyboards/shandoncodes/flygone60/rev3/config.h
diff --git a/keyboards/flygone60/rev3/info.json b/keyboards/shandoncodes/flygone60/rev3/info.json
index 254f093aee..254f093aee 100644
--- a/keyboards/flygone60/rev3/info.json
+++ b/keyboards/shandoncodes/flygone60/rev3/info.json
diff --git a/keyboards/flygone60/rev3/keymaps/default/keymap.c b/keyboards/shandoncodes/flygone60/rev3/keymaps/default/keymap.c
index 20bcc64f80..20bcc64f80 100644
--- a/keyboards/flygone60/rev3/keymaps/default/keymap.c
+++ b/keyboards/shandoncodes/flygone60/rev3/keymaps/default/keymap.c
diff --git a/keyboards/flygone60/rev3/keymaps/default/readme.md b/keyboards/shandoncodes/flygone60/rev3/keymaps/default/readme.md
index 91ea23c734..91ea23c734 100644
--- a/keyboards/flygone60/rev3/keymaps/default/readme.md
+++ b/keyboards/shandoncodes/flygone60/rev3/keymaps/default/readme.md
diff --git a/keyboards/flygone60/rev3/keymaps/via/keymap.c b/keyboards/shandoncodes/flygone60/rev3/keymaps/via/keymap.c
index 54b0e4f673..54b0e4f673 100644
--- a/keyboards/flygone60/rev3/keymaps/via/keymap.c
+++ b/keyboards/shandoncodes/flygone60/rev3/keymaps/via/keymap.c
diff --git a/keyboards/redox_w/keymaps/via/rules.mk b/keyboards/shandoncodes/flygone60/rev3/keymaps/via/rules.mk
index 43061db1dd..43061db1dd 100644
--- a/keyboards/redox_w/keymaps/via/rules.mk
+++ b/keyboards/shandoncodes/flygone60/rev3/keymaps/via/rules.mk
diff --git a/keyboards/shandoncodes/flygone60/rev3/readme.md b/keyboards/shandoncodes/flygone60/rev3/readme.md
new file mode 100644
index 0000000000..4bb2438602
--- /dev/null
+++ b/keyboards/shandoncodes/flygone60/rev3/readme.md
@@ -0,0 +1,19 @@
+# flygone60
+
+![Flygone60](https://i.imgur.com/x63gMG2h.jpeg)
+
+A 60% that takes arrow keys seriously!
+
+* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
+* Hardware Supported: Flygone60
+* Hardware Availability: [Kit](https://www.etsy.com/listing/1025415290/flygone60-keyboard-kit?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=flygone60&ref=sr_gallery-1-13&organic_search_click=1&frs=1)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make shandoncodes/flygone60/rev3:default
+
+Flashing example for this keyboard:
+
+ make shandoncodes/flygone60/rev3:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/flygone60/rev3/rules.mk b/keyboards/shandoncodes/flygone60/rev3/rules.mk
index ab2c49da70..ab2c49da70 100644
--- a/keyboards/flygone60/rev3/rules.mk
+++ b/keyboards/shandoncodes/flygone60/rev3/rules.mk
diff --git a/keyboards/mino/hotswap/config.h b/keyboards/shandoncodes/mino/hotswap/config.h
index 45fec5af48..45fec5af48 100644
--- a/keyboards/mino/hotswap/config.h
+++ b/keyboards/shandoncodes/mino/hotswap/config.h
diff --git a/keyboards/mino/hotswap/info.json b/keyboards/shandoncodes/mino/hotswap/info.json
index 9ba7617920..9ba7617920 100644
--- a/keyboards/mino/hotswap/info.json
+++ b/keyboards/shandoncodes/mino/hotswap/info.json
diff --git a/keyboards/mino/hotswap/rules.mk b/keyboards/shandoncodes/mino/hotswap/rules.mk
index f8a709213c..f8a709213c 100644
--- a/keyboards/mino/hotswap/rules.mk
+++ b/keyboards/shandoncodes/mino/hotswap/rules.mk
diff --git a/keyboards/mino/keymaps/default/keymap.c b/keyboards/shandoncodes/mino/keymaps/default/keymap.c
index 94ef51e0e3..94ef51e0e3 100644
--- a/keyboards/mino/keymaps/default/keymap.c
+++ b/keyboards/shandoncodes/mino/keymaps/default/keymap.c
diff --git a/keyboards/mino/keymaps/via/keymap.c b/keyboards/shandoncodes/mino/keymaps/via/keymap.c
index f481b07d34..f481b07d34 100644
--- a/keyboards/mino/keymaps/via/keymap.c
+++ b/keyboards/shandoncodes/mino/keymaps/via/keymap.c
diff --git a/keyboards/mino/keymaps/via/rules.mk b/keyboards/shandoncodes/mino/keymaps/via/rules.mk
index a4ac614775..a4ac614775 100644
--- a/keyboards/mino/keymaps/via/rules.mk
+++ b/keyboards/shandoncodes/mino/keymaps/via/rules.mk
diff --git a/keyboards/shandoncodes/mino/readme.md b/keyboards/shandoncodes/mino/readme.md
new file mode 100644
index 0000000000..7ccb70662b
--- /dev/null
+++ b/keyboards/shandoncodes/mino/readme.md
@@ -0,0 +1,27 @@
+# mino
+
+![Mino](https://i.imgur.com/f5kHu8Qh.jpg)
+
+A 47 key board with a retro twist.
+
+* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
+* Hardware Supported: Mino PCB
+* Hardware Availability: Groupbuy
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. For the default keymap it is the middle spacebar on the second layer.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make shandoncodes/mino/hotswap:default
+
+Flashing example for this keyboard:
+
+ make shandoncodes/mino/hotswap:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mino_plus/hotswap/config.h b/keyboards/shandoncodes/mino_plus/hotswap/config.h
index b8c0007938..b8c0007938 100644
--- a/keyboards/mino_plus/hotswap/config.h
+++ b/keyboards/shandoncodes/mino_plus/hotswap/config.h
diff --git a/keyboards/mino_plus/hotswap/halconf.h b/keyboards/shandoncodes/mino_plus/hotswap/halconf.h
index fb8ce45220..fb8ce45220 100644
--- a/keyboards/mino_plus/hotswap/halconf.h
+++ b/keyboards/shandoncodes/mino_plus/hotswap/halconf.h
diff --git a/keyboards/mino_plus/hotswap/hotswap.c b/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c
index a5920b2617..a5920b2617 100644
--- a/keyboards/mino_plus/hotswap/hotswap.c
+++ b/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c
diff --git a/keyboards/mino_plus/hotswap/info.json b/keyboards/shandoncodes/mino_plus/hotswap/info.json
index b7cda6d71f..b7cda6d71f 100644
--- a/keyboards/mino_plus/hotswap/info.json
+++ b/keyboards/shandoncodes/mino_plus/hotswap/info.json
diff --git a/keyboards/mino_plus/hotswap/keymaps/default/keymap.c b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c
index f068c66215..f068c66215 100644
--- a/keyboards/mino_plus/hotswap/keymaps/default/keymap.c
+++ b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c
diff --git a/keyboards/mino_plus/hotswap/keymaps/via/keymap.c b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/keymap.c
index 901adcb3d2..901adcb3d2 100644
--- a/keyboards/mino_plus/hotswap/keymaps/via/keymap.c
+++ b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/keymap.c
diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/rules.mk b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/mechlovin/hex4b/keymaps/nazzer/rules.mk
+++ b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/via/rules.mk
diff --git a/keyboards/mino_plus/hotswap/mcuconf.h b/keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h
index 7b8a66123e..7b8a66123e 100644
--- a/keyboards/mino_plus/hotswap/mcuconf.h
+++ b/keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h
diff --git a/keyboards/mino_plus/hotswap/rules.mk b/keyboards/shandoncodes/mino_plus/hotswap/rules.mk
index 76e55c05f4..76e55c05f4 100644
--- a/keyboards/mino_plus/hotswap/rules.mk
+++ b/keyboards/shandoncodes/mino_plus/hotswap/rules.mk
diff --git a/keyboards/shandoncodes/mino_plus/mino_plus.c b/keyboards/shandoncodes/mino_plus/mino_plus.c
new file mode 100644
index 0000000000..0763a5292b
--- /dev/null
+++ b/keyboards/shandoncodes/mino_plus/mino_plus.c
@@ -0,0 +1,251 @@
+// Copyright 2023 ShandonCodes (@ShandonCodes)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "quantum.h"
+
+#ifdef OLED_ENABLE
+# define FRAMES 5
+# define ANIMATION_SIZE 512
+# define TAP_SPEED 30
+
+uint8_t current_frame = 0;
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint32_t ANIM_FRAME_DURATION = 1000;
+
+static void render_animation(void) {
+ static const char PROGMEM animation_frames[FRAMES][ANIMATION_SIZE] = {
+ // 'Base', 32x128px
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
+ 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
+ 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
+ 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
+ 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
+ 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
+ 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
+ 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
+ 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
+ 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
+ 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
+ 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
+ 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
+ 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
+
+ // 'Frame_1', 32x128px
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x4c, 0x4c, 0xfc, 0xfc, 0x4c,
+ 0x4c, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x04,
+ 0x04, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
+ 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
+ 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
+ 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
+ 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
+ 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
+ 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
+ 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
+ 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
+ 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
+ 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
+ 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
+ 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
+ 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
+
+ // 'Frame_2', 32x128px
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40,
+ 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x3f, 0x7f, 0x44,
+ 0x44, 0x7f, 0x7c, 0x44, 0x44, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0,
+ 0x40, 0x40, 0x40, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
+ 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
+ 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
+ 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
+ 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
+ 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
+ 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
+ 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
+ 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
+ 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
+ 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
+ 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
+ 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
+
+ // 'Frame_3', 32x128px
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x44, 0x44, 0xfc, 0xfc, 0x44,
+ 0x44, 0xfc, 0xc0, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x43, 0x47, 0xc4,
+ 0x44, 0x47, 0x47, 0xc4, 0x44, 0x47, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
+ 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
+ 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
+ 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
+ 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
+ 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
+ 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
+ 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
+ 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
+ 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
+ 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
+ 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
+ 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f},
+
+ // 'Frame_4', 32x128px
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0xc0, 0x40,
+ 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc4, 0x44, 0x7f, 0x7f, 0xe6,
+ 0x66, 0x7f, 0x7e, 0xe4, 0x64, 0x7c, 0x40, 0xc0, 0xc0, 0x40, 0x40, 0xc1, 0xc3, 0x43, 0x43, 0xc3,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0xe6, 0xfc, 0x20, 0x20, 0xff, 0xe6, 0x66, 0x66, 0xff,
+ 0xe6, 0x26, 0x26, 0x67, 0xe6, 0x26, 0x26, 0xe7, 0xff, 0x66, 0x66, 0xff, 0x7f, 0x26, 0x26, 0x3f,
+ 0xe0, 0x20, 0x20, 0x20, 0xff, 0x22, 0x22, 0xff, 0xff, 0x22, 0x22, 0xff, 0xe3, 0x22, 0x22, 0xe3,
+ 0x3f, 0x22, 0x22, 0xe2, 0x3f, 0x22, 0x22, 0x3f, 0xff, 0x22, 0x22, 0xff, 0x22, 0x00, 0x00, 0x00,
+ 0xff, 0x33, 0x33, 0x33, 0xff, 0x1f, 0x13, 0x13, 0xff, 0xff, 0x33, 0x33, 0xff, 0x33, 0x13, 0x13,
+ 0x1f, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x33, 0xff, 0x33, 0x33, 0xff, 0x02, 0x00, 0x00, 0x00,
+ 0xff, 0x11, 0x11, 0x91, 0xff, 0xf0, 0x10, 0x10, 0xff, 0xff, 0x11, 0x11, 0xff, 0x9b, 0x11, 0x11,
+ 0xff, 0x91, 0x11, 0x91, 0xff, 0x11, 0x11, 0x1f, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x00, 0x00, 0x00,
+ 0xff, 0x99, 0x99, 0x99, 0xff, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9, 0xf9, 0x99, 0x99, 0xf9,
+ 0x9f, 0x99, 0x99, 0xf9, 0x1f, 0x19, 0x19, 0x1f, 0xff, 0x99, 0x99, 0xff, 0xff, 0x99, 0x99, 0xff,
+ 0xf8, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff, 0xff, 0x89, 0x89, 0xff,
+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x80, 0xff, 0xc9, 0x89, 0x89, 0xff,
+ 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x40, 0x40, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0xcc, 0x48, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xfc, 0xff, 0xcc, 0xcc, 0xff, 0xff, 0xcc, 0xcc, 0xff,
+ 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f,
+ 0x7c, 0x7c, 0x7c, 0x7f, 0x7c, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f, 0x7f, 0x7c, 0x7c, 0x7f}
+ };
+
+ void animate_phase(void) {
+ current_frame = (current_frame + 1) % FRAMES;
+ oled_write_raw_P(animation_frames[current_frame], ANIMATION_SIZE);
+ }
+
+ if (get_current_wpm() != 000) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ if (get_current_wpm() > TAP_SPEED) {
+ ANIM_FRAME_DURATION = 100;
+ } else {
+ ANIM_FRAME_DURATION = 1000;
+ }
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animate_phase();
+ }
+ anim_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animate_phase();
+ }
+ }
+ }
+}
+
+static void render_status(void) {
+ // Host Keyboard Layer Status
+ oled_write_ln_P(PSTR("Layer"), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Base"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("1"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("2"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+}
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_270;
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_animation();
+ render_status();
+
+ oled_write_ln_P(PSTR("WPM:"), false);
+ oled_write_ln(get_u8_str(get_current_wpm(), '0'), false);
+
+ return true;
+}
+#endif
diff --git a/keyboards/shandoncodes/mino_plus/readme.md b/keyboards/shandoncodes/mino_plus/readme.md
new file mode 100644
index 0000000000..8f2b06fa3c
--- /dev/null
+++ b/keyboards/shandoncodes/mino_plus/readme.md
@@ -0,0 +1,29 @@
+# mino_plus
+
+![mino_plus](https://i.imgur.com/vZJ6kaNh.jpg)
+
+A 65% keyboard, inspried by tetrominos.
+
+* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
+* Hardware Supported: Mino Plus PCB
+* Hardware Availability: https://store.shandon.codes/mino-plus/
+
+Make example for this keyboard (after setting up your build environment):
+
+ make shandoncodes/mino_plus/soldered:default
+ make shandoncodes/mino_plus/hotswap:default
+
+Flashing example for this keyboard:
+
+ make shandoncodes/mino_plus/soldered:default:flash
+ make shandoncodes/mino_plus/hotswap:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `FN` + `R` if it is available.
diff --git a/keyboards/mino_plus/soldered/config.h b/keyboards/shandoncodes/mino_plus/soldered/config.h
index bbdb3c9452..bbdb3c9452 100644
--- a/keyboards/mino_plus/soldered/config.h
+++ b/keyboards/shandoncodes/mino_plus/soldered/config.h
diff --git a/keyboards/mino_plus/soldered/halconf.h b/keyboards/shandoncodes/mino_plus/soldered/halconf.h
index 65321fb1c8..65321fb1c8 100644
--- a/keyboards/mino_plus/soldered/halconf.h
+++ b/keyboards/shandoncodes/mino_plus/soldered/halconf.h
diff --git a/keyboards/mino_plus/soldered/info.json b/keyboards/shandoncodes/mino_plus/soldered/info.json
index 52b612e01b..52b612e01b 100644
--- a/keyboards/mino_plus/soldered/info.json
+++ b/keyboards/shandoncodes/mino_plus/soldered/info.json
diff --git a/keyboards/mino_plus/soldered/keymaps/default/keymap.c b/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c
index 365f31440a..365f31440a 100644
--- a/keyboards/mino_plus/soldered/keymaps/default/keymap.c
+++ b/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c
diff --git a/keyboards/mino_plus/soldered/keymaps/via/keymap.c b/keyboards/shandoncodes/mino_plus/soldered/keymaps/via/keymap.c
index 2a7e816e36..2a7e816e36 100644
--- a/keyboards/mino_plus/soldered/keymaps/via/keymap.c
+++ b/keyboards/shandoncodes/mino_plus/soldered/keymaps/via/keymap.c
diff --git a/keyboards/mino_plus/hotswap/keymaps/via/rules.mk b/keyboards/shandoncodes/mino_plus/soldered/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/mino_plus/hotswap/keymaps/via/rules.mk
+++ b/keyboards/shandoncodes/mino_plus/soldered/keymaps/via/rules.mk
diff --git a/keyboards/mino_plus/soldered/mcuconf.h b/keyboards/shandoncodes/mino_plus/soldered/mcuconf.h
index 7968bd26da..7968bd26da 100644
--- a/keyboards/mino_plus/soldered/mcuconf.h
+++ b/keyboards/shandoncodes/mino_plus/soldered/mcuconf.h
diff --git a/keyboards/mino_plus/soldered/rules.mk b/keyboards/shandoncodes/mino_plus/soldered/rules.mk
index 76e55c05f4..76e55c05f4 100644
--- a/keyboards/mino_plus/soldered/rules.mk
+++ b/keyboards/shandoncodes/mino_plus/soldered/rules.mk
diff --git a/keyboards/mino_plus/soldered/soldered.c b/keyboards/shandoncodes/mino_plus/soldered/soldered.c
index 6dd113ebfa..6dd113ebfa 100644
--- a/keyboards/mino_plus/soldered/soldered.c
+++ b/keyboards/shandoncodes/mino_plus/soldered/soldered.c
diff --git a/keyboards/riot_pad/config.h b/keyboards/shandoncodes/riot_pad/config.h
index 4c5de878dc..4c5de878dc 100644
--- a/keyboards/riot_pad/config.h
+++ b/keyboards/shandoncodes/riot_pad/config.h
diff --git a/keyboards/riot_pad/halconf.h b/keyboards/shandoncodes/riot_pad/halconf.h
index 555a609029..555a609029 100644
--- a/keyboards/riot_pad/halconf.h
+++ b/keyboards/shandoncodes/riot_pad/halconf.h
diff --git a/keyboards/riot_pad/info.json b/keyboards/shandoncodes/riot_pad/info.json
index ab732ef0b0..ab732ef0b0 100644
--- a/keyboards/riot_pad/info.json
+++ b/keyboards/shandoncodes/riot_pad/info.json
diff --git a/keyboards/riot_pad/keymaps/default/keymap.c b/keyboards/shandoncodes/riot_pad/keymaps/default/keymap.c
index 0e6eda839e..0e6eda839e 100644
--- a/keyboards/riot_pad/keymaps/default/keymap.c
+++ b/keyboards/shandoncodes/riot_pad/keymaps/default/keymap.c
diff --git a/keyboards/riot_pad/keymaps/via/keymap.c b/keyboards/shandoncodes/riot_pad/keymaps/via/keymap.c
index 0e6eda839e..0e6eda839e 100644
--- a/keyboards/riot_pad/keymaps/via/keymap.c
+++ b/keyboards/shandoncodes/riot_pad/keymaps/via/keymap.c
diff --git a/keyboards/mino_plus/soldered/keymaps/via/rules.mk b/keyboards/shandoncodes/riot_pad/keymaps/via/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/mino_plus/soldered/keymaps/via/rules.mk
+++ b/keyboards/shandoncodes/riot_pad/keymaps/via/rules.mk
diff --git a/keyboards/riot_pad/mcuconf.h b/keyboards/shandoncodes/riot_pad/mcuconf.h
index 7c3eec4802..7c3eec4802 100644
--- a/keyboards/riot_pad/mcuconf.h
+++ b/keyboards/shandoncodes/riot_pad/mcuconf.h
diff --git a/keyboards/shandoncodes/riot_pad/readme.md b/keyboards/shandoncodes/riot_pad/readme.md
new file mode 100644
index 0000000000..ce5f874213
--- /dev/null
+++ b/keyboards/shandoncodes/riot_pad/readme.md
@@ -0,0 +1,25 @@
+# riot_pad
+
+![riot_pad](https://i.imgur.com/zH6H3pSh.png)
+
+A RGB lovin', 6 key macropad.
+
+* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
+* Hardware Supported: RiotPad PCB
+* Hardware Availability: [Limited Groupbuy](https://store.shandon.codes/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make shandoncodes/riot_pad:default
+
+Flashing example for this keyboard:
+
+ make shandoncodes/riot_pad:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
diff --git a/keyboards/shandoncodes/riot_pad/rules.mk b/keyboards/shandoncodes/riot_pad/rules.mk
new file mode 100644
index 0000000000..7ff128fa69
--- /dev/null
+++ b/keyboards/shandoncodes/riot_pad/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/sharkoon/skiller_sgk50_s3/config.h b/keyboards/sharkoon/skiller_sgk50_s3/config.h
index 113ee2bab0..7cc691ea95 100644
--- a/keyboards/sharkoon/skiller_sgk50_s3/config.h
+++ b/keyboards/sharkoon/skiller_sgk50_s3/config.h
@@ -3,11 +3,6 @@
#pragma once
-/* RGB Matrix */
-#define RGB_MATRIX_LED_COUNT 88
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_DEFAULT_VAL 80
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
diff --git a/keyboards/sharkoon/skiller_sgk50_s3/info.json b/keyboards/sharkoon/skiller_sgk50_s3/info.json
index 9dd0ddb50c..0b228b034b 100644
--- a/keyboards/sharkoon/skiller_sgk50_s3/info.json
+++ b/keyboards/sharkoon/skiller_sgk50_s3/info.json
@@ -59,7 +59,6 @@
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
- "solid_color": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_cross": true,
@@ -73,6 +72,9 @@
"splash": true,
"typing_heatmap": true
},
+ "default": {
+ "val": 80
+ },
"driver": "ws2812",
"layout": [
{"matrix": [5, 6], "x": 90, "y": 64, "flags": 4},
@@ -165,7 +167,8 @@
{"matrix": [4, 1], "x": 15, "y": 51, "flags": 4}
],
"max_brightness": 110,
- "val_steps": 28
+ "val_steps": 28,
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/shoc/keymaps/bongo/keymap.c b/keyboards/shoc/keymaps/bongo/keymap.c
deleted file mode 100644
index 0242e5adad..0000000000
--- a/keyboards/shoc/keymaps/bongo/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* Copyright 2022 JannikB5825
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, 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_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_EQL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, 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_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
-
-
-};
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_0;
-}
-//full credit goes to https://www.reddit.com/user/Pop-X-/ only small feature comforts were added
-
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 30 // below this wpm value your animation will idle
-#define TAP_FRAMES 2
-#define TAP_SPEED 60 // above this wpm value typing animation to triggere
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-#define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-uint8_t current_tap_frame = 0;
-
-// Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach.
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 8, 4, 2, 2, 4, 24, 96,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60,194, 1, 1, 2, 2, 4, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0,129,130,130,132, 8, 16, 32, 64,128, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 25, 6, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 27, 3, 0, 64,160, 34, 36, 20, 18, 18, 18, 11, 8, 8, 8, 8, 5, 5, 9, 9, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 4, 2, 2, 2, 4, 56, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,226, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- }
- };
- static const char PROGMEM prep[][ANIM_SIZE] = {
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132,195,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- }
- };
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0,248,248,248,248, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1, 1, 2, 4, 8, 16, 32, 67,135, 7, 1, 0,184,188,190,159, 95, 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132, 67,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 61,124,252,252,252,252,252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3,122,122,121,121,121,121, 57, 49, 2, 2, 4, 4, 8, 8, 8,136,136,135,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,120,124,254,255, 63, 7, 0, 0, 0, 0,255,255,127,127, 63, 62, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- };
-
- //assumes 1 frame prep stage
- void animation_phase(void) {
- if(get_current_wpm() <=IDLE_SPEED){
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
- }
- if(get_current_wpm() >IDLE_SPEED && get_current_wpm() <TAP_SPEED){
- oled_write_raw_P(prep[0], ANIM_SIZE);
- }
- if(get_current_wpm() >=TAP_SPEED){
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
- if(get_current_wpm() != 000) {
- oled_on();
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-
-bool oled_task_user(void) {
- render_anim();
- oled_set_cursor(0,6);
- oled_write_P(PSTR(" WPM: "), false);
- oled_write(get_u8_str(get_current_wpm(), '0'), false);
- if(host_keyboard_led_state().caps_lock){
- oled_set_cursor(0,5);
- oled_write_P(PSTR(" CAPS LOCK"), false);
- }
- else{
- oled_set_cursor(0,5);
- oled_write_P(PSTR(" "), false);
- }
- return false;
-}
-#endif
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/config.h b/keyboards/signum/3_0/keymaps/sgurenkov/config.h
deleted file mode 100644
index 17f6d09479..0000000000
--- a/keyboards/signum/3_0/keymaps/sgurenkov/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2021 Stan Gurenkov <rococo04_fox@icloud.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 ONESHOT_TAP_TOGGLE 2
-#define ONESHOT_TIMEOUT 5000
-#define LEADER_TIMEOUT 600
-#define LEADER_PER_KEY_TIMING 300
-
-// default but used in macros
-#define TAPPING_TERM 300
-
-// Auto Shift and Retro Shift (Auto Shift for Tap Hold).
-#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
-
-// Mouse key speed and acceleration.
-#undef MOUSEKEY_DELAY
-#define MOUSEKEY_DELAY 0
-#undef MOUSEKEY_INTERVAL
-#define MOUSEKEY_INTERVAL 16
-#undef MOUSEKEY_WHEEL_DELAY
-#define MOUSEKEY_WHEEL_DELAY 0
-#undef MOUSEKEY_MAX_SPEED
-#define MOUSEKEY_MAX_SPEED 6
-#undef MOUSEKEY_TIME_TO_MAX
-#define MOUSEKEY_TIME_TO_MAX 64
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c b/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c
deleted file mode 100644
index 9353d28472..0000000000
--- a/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Copyright 2021 Stan Gurenkov <rococo04_fox@icloud.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 M0(kc) MT(MOD_HYPR, kc)
-#define M1(kc) MT(MOD_LGUI, kc)
-#define M2(kc) MT(MOD_LCTL, kc)
-#define M3(kc) MT(MOD_LALT, kc)
-#define M4(kc) MT(MOD_LSFT, kc)
-#define LTH1 LT(L_LEFT, KC_SPC)
-#define LTH2 LT(L_NUM, KC_BSPC)
-#define RTH1 LT(L_RIGHT, KC_SPC)
-#define RTH2 LT(L_NUM, KC_ENT)
-#define COPY LCMD(KC_C)
-#define PASTE LCMD(KC_V)
-// Layers
-#define L_BASE 0
-#define L_LEFT 1
-#define L_RIGHT 2
-#define L_NUM 3
-
-bool is_cmd_tab_active = false;
-
-enum custom_keycodes {
- CMD_TAB = SAFE_RANGE,
-};
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// L_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_DEL,
- KC_TAB, M4(KC_A), M3(KC_S), M2(KC_D), M1(KC_F), M0(KC_G), M0(KC_H), M1(KC_J), M2(KC_K), M3(KC_L), M4(KC_COLN), KC_QUOT,
- KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
- OSM(MOD_LSFT), QK_LEAD, KC_LGUI, LTH1, XXXXXXX, LTH2, RTH2, XXXXXXX, RTH1, KC_RGUI, QK_LEAD, OSM(MOD_HYPR)),
-
-// L_LEFT
- LAYOUT(
- _______, XXXXXXX, XXXXXXX, KC_EQL, KC_PERC, KC_AT, COPY, KC_UNDS, KC_HASH, RALT(KC_SPC), KC_PLUS, _______,
- _______, KC_LSFT, KC_LALT, KC_LCTL, KC_LGUI, KC_HYPR, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_LBRC, KC_RBRC,
- _______, XXXXXXX, KC_EXLM, KC_CIRC, XXXXXXX, KC_HOME, KC_END, KC_MINS, KC_LPRN, KC_RPRN, PASTE, XXXXXXX,
- _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______),
-
-// L_RIGHT
- LAYOUT(
- _______, XXXXXXX, XXXXXXX, KC_EQL, KC_PERC, KC_AT, COPY, KC_UNDS, KC_HASH, RALT(KC_SPC), KC_PLUS, _______,
- _______, KC_AMPR, KC_ASTR, KC_DLR, LGUI(KC_GRV), XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RSFT, KC_RBRC,
- _______, XXXXXXX, KC_EXLM, KC_CIRC, XXXXXXX, KC_HOME, KC_END, KC_MINS, KC_LPRN, KC_RPRN, PASTE, XXXXXXX,
- _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______),
-
-// L_NUM
- LAYOUT(
- _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, KC_MINS, KC_7, KC_8, KC_9, KC_COMM, _______,
- _______, M4(KC_LSFT), M3(KC_F4), M2(KC_F5), M1(KC_F6), M0(KC_F11), M0(KC_DOT), M1(KC_4), M2(KC_5), M3(KC_6), M4(KC_0), _______,
- _______, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_PLUS, KC_1, KC_2, KC_3, KC_DOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK , KC_MEDIA_NEXT_TRACK, KC_MEDIA_PLAY_PAUSE),
-
- LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
-// clang-format on
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CMD_TAB:
- if (record->event.pressed) {
- register_code(KC_LCMD);
- tap_code(KC_TAB);
- layer_on(2);
- } else {
- unregister_code(KC_LCMD);
- layer_off(2);
- }
- break;
- case KC_ESC:
- layer_clear();
- }
- return true;
-}
-
-void leader_end_user(void) {
- // Cancel task CTRL+C
- if (leader_sequence_one_key(KC_C)) {
- tap_code16(C(KC_C));
- }
- // copy
- if (leader_sequence_one_key(KC_Y)) {
- tap_code16(G(KC_C));
- }
- // cut
- if (leader_sequence_one_key(KC_X)) {
- tap_code16(G(KC_X));
- }
- // paste
- if (leader_sequence_one_key(KC_P)) {
- tap_code16(G(KC_V));
- }
- // undo
- if (leader_sequence_one_key(KC_U)) {
- tap_code16(G(KC_Z));
- }
- // redo
- if (leader_sequence_one_key(KC_R)) {
- tap_code16(S(G(KC_Z)));
- }
- // delete line
- if (leader_sequence_two_keys(KC_D, KC_D)) {
- register_code(KC_LGUI);
-
- tap_code(KC_RIGHT);
-
- tap_code(KC_BACKSPACE);
-
- unregister_code(KC_LGUI);
- }
- // go to the beginning of the string
- if (leader_sequence_one_key(KC_H)) {
- tap_code16(G(KC_LEFT));
- }
- // go to the end of the string
- if (leader_sequence_one_key(KC_L)) {
- tap_code16(G(KC_RIGHT));
- }
-}
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk b/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk
deleted file mode 100644
index 5c9a4b49b7..0000000000
--- a/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LEADER_ENABLE = yes
-AUTO_SHIFT_ENABLE = no
diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h
index e8f1cca7eb..acba2932db 100644
--- a/keyboards/silverbullet44/config.h
+++ b/keyboards/silverbullet44/config.h
@@ -19,16 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MASTER_RIGHT
- #ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_LED_COUNT 52
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
- #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-
- #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
- #else
+#ifdef RGBLIGHT_ENABLE
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
#define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
@@ -36,10 +27,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_BREATHE_CENTER 2 // 1 to 2.7
#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
/*== customize snake effect ==*/
- #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLED_NUM
+ #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLIGHT_LED_COUNT
/*== customize knight effect ==*/
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 6
- #endif
+#endif
/* Audio */
#ifdef AUDIO_ENABLE
diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/info.json
index a761288fb4..fe45ad86c5 100644
--- a/keyboards/silverbullet44/info.json
+++ b/keyboards/silverbullet44/info.json
@@ -12,7 +12,14 @@
"pin": "D3"
},
"rgb_matrix": {
+ "animations": {
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "typing_heatmap"
+ },
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
"val_steps": 8,
"speed_steps": 8
diff --git a/keyboards/silverbullet44/keymaps/FKML/keymap.c b/keyboards/silverbullet44/keymaps/FKML/keymap.c
deleted file mode 100644
index 8c3933525c..0000000000
--- a/keyboards/silverbullet44/keymaps/FKML/keymap.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Copyright 2020 FKML
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layer {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |Shift | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | CMD | Z | X | C | V | B |-------.-------. ,---------------| N | M | , | . | / | - |
- * `-----------------------------------------/ / / \ \ \-----------------------------------------'
- * | CAPS | LOWER| Space/ Bcsp / \ . \ Ent | RAISE|LEDOff|
- * `----------------------------' '--------------------------'
- */
- [_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_EQL,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCMD, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- KC_CAPS, LOWER, KC_SPC, KC_BSPC, KC_DOT, KC_ENT, RAISE, RGB_TOG
- ),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | 1 | 2 | 3 | 4 | 5 | |
- * |------+------+------+------+------+------+ +------+------+------+------+------+------|
- * | | | | | | |-------.-------. ,---------------| 6 | 7 | 8 | 9 | 0 | |
- * `-----------------------------------------/ / / \ \ \-----------------------------------------'
- * | | | / / \ \ | | |
- * `---------------------------' '--------------------------'
- */
- [_LOWER] = LAYOUT(
- KC_GRV , KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______,
- _______, _______, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | | | - | + |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F6 | F7 | F8 | F9 | F10 | | | | | | [ | ] |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F11 | F12 | | | |-------.-------. ,---------------| | | Left | Up | Down |Right |
- * `-----------------------------------------/ / / \ \ \-----------------------------------------'
- * | | | / / \ \ | | |
- * `---------------------------' '--------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_MINS, KC_PLUS,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, KC_LBRC, KC_RBRC,
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | |FrqRst| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |Music |FrqUp |Sound | | | SPD+ | MOD+ | VAL+ | SAD+ | HUE+ | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |Scale |FrqDwn| | |-------.-------. ,---------------| SPD- | SPD- | VAL- | SAD- | HUE- | |
- * `-----------------------------------------/ / / \ \ \-----------------------------------------'
- * | | | / / \ \ | | |
- * `---------------------------' '--------------------------'
- */
-
- [_ADJUST] = LAYOUT(
- _______, XXXXXXX, XXXXXXX, CK_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, MU_TOGG, CK_UP, AU_TOGG, XXXXXXX, RGB_SPI, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, XXXXXXX,
- XXXXXXX, XXXXXXX, MU_NEXT, CK_DOWN, XXXXXXX, XXXXXXX, RGB_SPD, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-int RGB_current_mode;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-#ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
-#endif
-}
diff --git a/keyboards/silverbullet44/keymaps/FKML/readme.md b/keyboards/silverbullet44/keymaps/FKML/readme.md
deleted file mode 100644
index c9c4c133eb..0000000000
--- a/keyboards/silverbullet44/keymaps/FKML/readme.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# The default keymap for silverbullet44
-
-```
-QWERTY
-,-----------------------------------------. ,-----------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | = |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-|Shift | A | S | D | F | G | | H | J | K | L | ; | ' |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| CMD | Z | X | C | V | B |-------.-------. ,---------------| N | M | , | . | / | - |
-`-----------------------------------------/ / / \ \ \-----------------------------------------'
- | CAPS | LOWER| Space/ Bcsp / \ . \ Ent | RAISE|LEDOff|
- `---------------------------' '--------------------------'
-
-LOWER
- ,-----------------------------------------. ,-----------------------------------------.
- | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | 1 | 2 | 3 | 4 | 5 | |
- |------+------+------+------+------+------+ +------+------+------+------+------+------|
- | | | | | | |-------.-------. ,---------------| 6 | 7 | 8 | 9 | 0 | |
- `-----------------------------------------/ / / \ \ \-----------------------------------------'
- | | | / / \ \ | | |
- `---------------------------' '--------------------------'
-
- RAISE
- ,-----------------------------------------. ,-----------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 | | | | | | - | + |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F6 | F7 | F8 | F9 | F10 | | | | | | [ | ] |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F11 | F12 | | | |-------.-------. ,---------------| | | Left | Up | Down |Right |
- `-----------------------------------------/ / / \ \ \-----------------------------------------'
- | | | / / \ \ | | |
- `---------------------------' '--------------------------'
-
-ADJUST
-,-----------------------------------------. ,-----------------------------------------.
-| | | |FrqRst| | | | | | | | | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | |Music |FrqUp |Sound | | | SPD+ | MOD+ | VAL+ | SAD+ | HUE+ | |
-|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | |Scale |FrqDwn| | |-------.-------. ,---------------| SPD- | SPD- | VAL- | SAD- | HUE- | |
-`-----------------------------------------/ / / \ \ \-----------------------------------------'
- | | | / / \ \ | | |
- `---------------------------' '--------------------------'
-``` \ No newline at end of file
diff --git a/keyboards/sirius/unigo66/main.c b/keyboards/sirius/unigo66/main.c
index b4f2a91e49..4f8e2f0c94 100644
--- a/keyboards/sirius/unigo66/main.c
+++ b/keyboards/sirius/unigo66/main.c
@@ -85,7 +85,7 @@ int main(void)
_delay_ms(1000);
}
- debug("init: done\n");
+ dprintln("init: done");
for (;;) {
keyboard_task();
diff --git a/keyboards/sixkeyboard/keymaps/semicolonsnet/keymap.c b/keyboards/sixkeyboard/keymaps/semicolonsnet/keymap.c
deleted file mode 100644
index 86fdc90b65..0000000000
--- a/keyboards/sixkeyboard/keymaps/semicolonsnet/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2021 Chase Nordengren
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- QMKPASS = SAFE_RANGE,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMKPASS:
- if (record->event.pressed) {
- // when keycode QMKPASS is pressed
- SEND_STRING("Sample string");
- } else {
- // when keycode QMKPASS is released
- }
- break;
- }
- return true;
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_ESC, SGUI(KC_R), SGUI(KC_S), QMKPASS, SGUI(KC_A), SGUI(KC_V))
-};
-
diff --git a/keyboards/sixkeyboard/keymaps/semicolonsnet/readme.md b/keyboards/sixkeyboard/keymaps/semicolonsnet/readme.md
deleted file mode 100644
index e791b12a65..0000000000
--- a/keyboards/sixkeyboard/keymaps/semicolonsnet/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-Techkeys SixKeyBoard
-===
-
-Keyboard Maintainer: QMK Community
-Hardware Supported: Techkeys SixKeyBoard PCB
-Hardware Availability: [Techkeys](http://techkeys.us/collections/accessories/products/sixkeyboard)
-
-Make example for this keyboard (after setting up your build environment):
-
- make sixkeyboard:semicolonsnet
-
-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.
-
-## Hardware Info
-
-The schematic is like this:
-
-```
- switches leds
-,--+--+--. ,--+--+--.
-|C7|B7|B5| |C6|B6|B4|
-+--+--+--+ +--+--+--+
-|D6|D1|D4| |D5|D2|D3|
-`--+--+--' `--+--+--'
-```
-
-The LED on the bottom is `C4`. All 7 of the leds are turned on when the keyboard boots-up in the `sixkeyboard.c` file - backlight_enable is not required. The MCU is an Atmega16u2, so the flash memory is limited to 0x3000 bytes - the current setup uses just about all of that! I'm sure things can be opitimised a bit.
-
-There is a jumper on the bottom of the board (next to the USB port) that serves as a reset button - I drilled a hole in my case to allow for quick access via a screwdriver/metal object.
diff --git a/keyboards/skeletonkbd/frost68/config.h b/keyboards/skeletonkbd/frost68/config.h
index eaf7a31fb6..7066497f1a 100644
--- a/keyboards/skeletonkbd/frost68/config.h
+++ b/keyboards/skeletonkbd/frost68/config.h
@@ -3,59 +3,4 @@
#pragma once
-#define WS2812_PIO_USE_PIO1
-#define RGB_MATRIX_LED_COUNT 68
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define USB_SUSPEND_WAKEUP_DELAY 200
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json
index 742daf8d57..0411a3826d 100644
--- a/keyboards/skeletonkbd/frost68/info.json
+++ b/keyboards/skeletonkbd/frost68/info.json
@@ -26,6 +26,54 @@
"pin": "GP0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_up_down"
+ },
"driver": "ws2812",
"layout": [
{"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4},
@@ -98,9 +146,11 @@
{"matrix": [0, 15], "x": 233.9, "y": 1.5, "flags": 4}
],
"max_brightness": 118,
+ "react_on_keyup": true,
"sat_steps": 8,
"speed_steps": 10,
- "val_steps": 8
+ "val_steps": 8,
+ "sleep": true
},
"url": "https://skeletonkbd.com/",
"usb": {
diff --git a/keyboards/skippys_custom_pcs/rooboard65/config.h b/keyboards/skippys_custom_pcs/rooboard65/config.h
index afdacdd080..b352868d2d 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/config.h
+++ b/keyboards/skippys_custom_pcs/rooboard65/config.h
@@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define RGBLIGHT_DEFAULT_SPD 144
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
/* Define less important options */
/*
diff --git a/keyboards/skippys_custom_pcs/rooboard65/info.json b/keyboards/skippys_custom_pcs/rooboard65/info.json
index 11a50e87b1..b6151a303c 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/info.json
+++ b/keyboards/skippys_custom_pcs/rooboard65/info.json
@@ -25,6 +25,10 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "speed": 144
}
},
"matrix_pins": {
diff --git a/keyboards/skme/zeno/keymaps/paulgali/keymap.c b/keyboards/skme/zeno/keymaps/paulgali/keymap.c
deleted file mode 100644
index abd141b912..0000000000
--- a/keyboards/skme/zeno/keymaps/paulgali/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2020 Holten Campbell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_default(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(1,KC_SPC), KC_RALT, KC_RALT, MO(1), KC_RCTL
- ),
- [1] = LAYOUT_default(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, QK_BOOT,
- CL_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- CL_CTRL, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/skmt/15k/config.h b/keyboards/skmt/15k/config.h
deleted file mode 100644
index 6e0360ec7b..0000000000
--- a/keyboards/skmt/15k/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2022 Jimmy Lye (@satorusaka)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-
-#define RGB_MATRIX_LED_COUNT 15 // Number of LEDs
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/skmt/15k/info.json b/keyboards/skmt/15k/info.json
index 0f33362092..903a13b985 100644
--- a/keyboards/skmt/15k/info.json
+++ b/keyboards/skmt/15k/info.json
@@ -16,7 +16,7 @@
"matrix_pins": {
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6"],
"rows": ["GP7", "GP8", "GP9"]
- },
+ },
"processor": "RP2040",
"url": "https://github.com/satorusaka/15k-macropad",
"usb": {
@@ -47,6 +47,51 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [2, 4], "x": 224, "y": 64},
@@ -64,7 +109,8 @@
{"flags": 4, "matrix": [0, 2], "x": 112, "y": 0},
{"flags": 4, "matrix": [0, 1], "x": 56, "y": 0},
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}
- ]
+ ],
+ "sleep": true
},
"ws2812": {
"pin": "GP1",
diff --git a/keyboards/skmt/15k/keymaps/fns/keymap.c b/keyboards/skmt/15k/keymaps/fns/keymap.c
deleted file mode 100644
index 8933260d5f..0000000000
--- a/keyboards/skmt/15k/keymaps/fns/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2022 Jimmy Lye (@satorusaka)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌────┬───┬───┬───┬────â”
- * │ F3 │ 9 │ 6 │ 3 │ fn │
- * ├────┼───┼───┼───┼────┤
- * │ F2 │ 8 │ 5 │ 2 │ . │
- * ├────┼───┼───┼───┼────┤
- * │ F1 │ 7 │ 4 │ 1 │ O │
- * └────┴───┴───┴───┴────┘
- */
- [0] = LAYOUT_default(
- KC_F1, KC_F2, KC_F3, KC_F4, LT(1, KC_KB_MUTE),
- KC_F5, KC_F6, KC_F7, KC_F8, KC_KB_VOLUME_UP,
- KC_F9, KC_F10, KC_F11, KC_F12, KC_KB_VOLUME_DOWN
- ),
- [1] = LAYOUT_default(
- RGB_TOG,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- RGB_MODE_FORWARD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,
- RGB_MODE_REVERSE,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD
- )
-};
diff --git a/keyboards/skyloong/dt40/config.h b/keyboards/skyloong/dt40/config.h
index e67b7ae0a9..b0aa978063 100644
--- a/keyboards/skyloong/dt40/config.h
+++ b/keyboards/skyloong/dt40/config.h
@@ -15,13 +15,7 @@
*/
#pragma once
-#define RGB_MATRIX_LED_COUNT 44 //The number of LEDs connected
-#define RGB_MATRIX_KEYPRESSES //Reacts to keypress
-#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended
-
-#define RGB_MATRIX_DEFAULT_VAL 150 //Sets the default mode, if none has been set
#define RGB_TRIGGER_ON_KEYDOWN //Triggers RGB keypress events on key down
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 1
//Set WS2812 driver
@@ -32,5 +26,3 @@
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
-
-
diff --git a/keyboards/skyloong/dt40/info.json b/keyboards/skyloong/dt40/info.json
index b6172465e6..a79b48289a 100644
--- a/keyboards/skyloong/dt40/info.json
+++ b/keyboards/skyloong/dt40/info.json
@@ -48,6 +48,9 @@
"raindrops": true,
"ranbow_beacon": true
},
+ "default": {
+ "val": 150
+ },
"driver": "ws2812",
"hue_steps": 20,
"layout": [
@@ -99,7 +102,8 @@
"max_brightness": 180,
"sat_steps": 20,
"speed_steps": 20,
- "val_steps": 20
+ "val_steps": 20,
+ "sleep": true
},
"url": "https://github.com/JZ-Skyloong",
"usb": {
diff --git a/keyboards/skyloong/gk61/pro/config.h b/keyboards/skyloong/gk61/pro/config.h
index 8e9b5f9258..db02496f8b 100644
--- a/keyboards/skyloong/gk61/pro/config.h
+++ b/keyboards/skyloong/gk61/pro/config.h
@@ -3,17 +3,10 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 64
+#define IS31FL3743A_I2C_ADDRESS_1 IS31FL3743A_I2C_ADDRESS_GND_GND
+#define IS31FL3743A_SDB_PIN C1
+
#define CAPS_LOCK_INDEX 28
#define WIN_MOD_INDEX 16
#define MAC_MOD_INDEX 17
#define WIN_LOCK_INDEX 54
-#define SDB C1 //RGB matrix Power control PIN
-
-/* RGB Matrix Animation modes. Explicitly enabled
- * For full list of effects, see:
- * https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
- */
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/skyloong/gk61/pro/pro.c b/keyboards/skyloong/gk61/pro/pro.c
index 1936964b32..06d9ce721d 100644
--- a/keyboards/skyloong/gk61/pro/pro.c
+++ b/keyboards/skyloong/gk61/pro/pro.c
@@ -6,81 +6,81 @@ int FN_MAC = 0;
int L_WIN = 0;
int L_MAC = 0;
-const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1},
- {0, CS1_SW2, CS2_SW2, CS3_SW2},
- {0, CS1_SW3, CS2_SW3, CS3_SW3},
- {0, CS1_SW4, CS2_SW4, CS3_SW4},
- {0, CS1_SW5, CS2_SW5, CS3_SW5},
- {0, CS1_SW6, CS2_SW6, CS3_SW6},
- {0, CS1_SW7, CS2_SW7, CS3_SW7},
- {0, CS1_SW8, CS2_SW8, CS3_SW8},
- {0, CS1_SW9, CS2_SW9, CS3_SW9},
- {0, CS1_SW10, CS2_SW10, CS3_SW10},
- {0, CS1_SW11, CS2_SW11, CS3_SW11},
- {0, CS16_SW1, CS17_SW1, CS18_SW1},
- {0, CS16_SW2, CS17_SW2, CS18_SW2},
- {0, CS16_SW3, CS17_SW3, CS18_SW3},
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1},
- {0, CS4_SW2, CS5_SW2, CS6_SW2},
- {0, CS4_SW3, CS5_SW3, CS6_SW3},
- {0, CS4_SW4, CS5_SW4, CS6_SW4},
- {0, CS4_SW5, CS5_SW5, CS6_SW5},
- {0, CS4_SW6, CS5_SW6, CS6_SW6},
- {0, CS4_SW7, CS5_SW7, CS6_SW7},
- {0, CS4_SW8, CS5_SW8, CS6_SW8},
- {0, CS4_SW9, CS5_SW9, CS6_SW9},
- {0, CS4_SW10, CS5_SW10, CS6_SW10},
- {0, CS4_SW11, CS5_SW11, CS6_SW11},
- {0, CS16_SW4, CS17_SW4, CS18_SW4},
- {0, CS16_SW5, CS17_SW5, CS18_SW5},
- {0, CS16_SW6, CS17_SW6, CS18_SW6},
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1},
- {0, CS7_SW2, CS8_SW2, CS9_SW2},
- {0, CS7_SW3, CS8_SW3, CS9_SW3},
- {0, CS7_SW4, CS8_SW4, CS9_SW4},
- {0, CS7_SW5, CS8_SW5, CS9_SW5},
- {0, CS7_SW6, CS8_SW6, CS9_SW6},
- {0, CS7_SW7, CS8_SW7, CS9_SW7},
- {0, CS7_SW8, CS8_SW8, CS9_SW8},
- {0, CS7_SW9, CS8_SW9, CS9_SW9},
- {0, CS7_SW10, CS8_SW10, CS9_SW10},
- {0, CS7_SW11, CS8_SW11, CS9_SW11},
- {0, CS16_SW7, CS17_SW7, CS18_SW7},
- {0, CS16_SW8, CS17_SW8, CS18_SW8},
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1},
- {0, CS10_SW2, CS11_SW2, CS12_SW2},
- {0, CS10_SW3, CS11_SW3, CS12_SW3},
- {0, CS10_SW4, CS11_SW4, CS12_SW4},
- {0, CS10_SW5, CS11_SW5, CS12_SW5},
- {0, CS10_SW6, CS11_SW6, CS12_SW6},
- {0, CS10_SW7, CS11_SW7, CS12_SW7},
- {0, CS10_SW8, CS11_SW8, CS12_SW8},
- {0, CS10_SW9, CS11_SW9, CS12_SW9},
- {0, CS10_SW10, CS11_SW10, CS12_SW10},
- {0, CS10_SW11, CS11_SW11, CS12_SW11},
- {0, CS16_SW9, CS17_SW9, CS18_SW9},
-
- {0, CS13_SW1, CS14_SW1, CS15_SW1},
- {0, CS13_SW2, CS14_SW2, CS15_SW2},
- {0, CS13_SW3, CS14_SW3, CS15_SW3},
- {0, CS13_SW4, CS14_SW4, CS15_SW4},
- {0, CS13_SW5, CS14_SW5, CS15_SW5},
- {0, CS13_SW5, CS14_SW5, CS15_SW5},
- {0, CS13_SW6, CS14_SW6, CS15_SW6},
- {0, CS13_SW7, CS14_SW7, CS15_SW7},
- {0, CS13_SW8, CS14_SW8, CS15_SW8},
- {0, CS13_SW9, CS14_SW9, CS15_SW9},
- {0, CS13_SW10, CS14_SW10, CS15_SW10}
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ {0, SW2_CS1, SW2_CS2, SW2_CS3},
+ {0, SW3_CS1, SW3_CS2, SW3_CS3},
+ {0, SW4_CS1, SW4_CS2, SW4_CS3},
+ {0, SW5_CS1, SW5_CS2, SW5_CS3},
+ {0, SW6_CS1, SW6_CS2, SW6_CS3},
+ {0, SW7_CS1, SW7_CS2, SW7_CS3},
+ {0, SW8_CS1, SW8_CS2, SW8_CS3},
+ {0, SW9_CS1, SW9_CS2, SW9_CS3},
+ {0, SW10_CS1, SW10_CS2, SW10_CS3},
+ {0, SW11_CS1, SW11_CS2, SW11_CS3},
+ {0, SW1_CS16, SW1_CS17, SW1_CS18},
+ {0, SW2_CS16, SW2_CS17, SW2_CS18},
+ {0, SW3_CS16, SW3_CS17, SW3_CS18},
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6},
+ {0, SW2_CS4, SW2_CS5, SW2_CS6},
+ {0, SW3_CS4, SW3_CS5, SW3_CS6},
+ {0, SW4_CS4, SW4_CS5, SW4_CS6},
+ {0, SW5_CS4, SW5_CS5, SW5_CS6},
+ {0, SW6_CS4, SW6_CS5, SW6_CS6},
+ {0, SW7_CS4, SW7_CS5, SW7_CS6},
+ {0, SW8_CS4, SW8_CS5, SW8_CS6},
+ {0, SW9_CS4, SW9_CS5, SW9_CS6},
+ {0, SW10_CS4, SW10_CS5, SW10_CS6},
+ {0, SW11_CS4, SW11_CS5, SW11_CS6},
+ {0, SW4_CS16, SW4_CS17, SW4_CS18},
+ {0, SW5_CS16, SW5_CS17, SW5_CS18},
+ {0, SW6_CS16, SW6_CS17, SW6_CS18},
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9},
+ {0, SW2_CS7, SW2_CS8, SW2_CS9},
+ {0, SW3_CS7, SW3_CS8, SW3_CS9},
+ {0, SW4_CS7, SW4_CS8, SW4_CS9},
+ {0, SW5_CS7, SW5_CS8, SW5_CS9},
+ {0, SW6_CS7, SW6_CS8, SW6_CS9},
+ {0, SW7_CS7, SW7_CS8, SW7_CS9},
+ {0, SW8_CS7, SW8_CS8, SW8_CS9},
+ {0, SW9_CS7, SW9_CS8, SW9_CS9},
+ {0, SW10_CS7, SW10_CS8, SW10_CS9},
+ {0, SW11_CS7, SW11_CS8, SW11_CS9},
+ {0, SW7_CS16, SW7_CS17, SW7_CS18},
+ {0, SW8_CS16, SW8_CS17, SW8_CS18},
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12},
+ {0, SW2_CS10, SW2_CS11, SW2_CS12},
+ {0, SW3_CS10, SW3_CS11, SW3_CS12},
+ {0, SW4_CS10, SW4_CS11, SW4_CS12},
+ {0, SW5_CS10, SW5_CS11, SW5_CS12},
+ {0, SW6_CS10, SW6_CS11, SW6_CS12},
+ {0, SW7_CS10, SW7_CS11, SW7_CS12},
+ {0, SW8_CS10, SW8_CS11, SW8_CS12},
+ {0, SW9_CS10, SW9_CS11, SW9_CS12},
+ {0, SW10_CS10, SW10_CS11, SW10_CS12},
+ {0, SW11_CS10, SW11_CS11, SW11_CS12},
+ {0, SW9_CS16, SW9_CS17, SW9_CS18},
+
+ {0, SW1_CS13, SW1_CS14, SW1_CS15},
+ {0, SW2_CS13, SW2_CS14, SW2_CS15},
+ {0, SW3_CS13, SW3_CS14, SW3_CS15},
+ {0, SW4_CS13, SW4_CS14, SW4_CS15},
+ {0, SW5_CS13, SW5_CS14, SW5_CS15},
+ {0, SW5_CS13, SW5_CS14, SW5_CS15},
+ {0, SW6_CS13, SW6_CS14, SW6_CS15},
+ {0, SW7_CS13, SW7_CS14, SW7_CS15},
+ {0, SW8_CS13, SW8_CS14, SW8_CS15},
+ {0, SW9_CS13, SW9_CS14, SW9_CS15},
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}
};
#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/
@@ -213,14 +213,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
void suspend_power_down_kb() {
# ifdef RGB_MATRIX_ENABLE
- writePinLow(SDB);
+ writePinLow(IS31FL3743A_SDB_PIN);
# endif
suspend_power_down_user();
}
void suspend_wakeup_init_kb() {
# ifdef RGB_MATRIX_ENABLE
- writePinHigh(SDB);
+ writePinHigh(IS31FL3743A_SDB_PIN);
# endif
suspend_wakeup_init_user();
}
@@ -228,8 +228,4 @@ void suspend_wakeup_init_kb() {
void board_init(void) {
// JTAG-DP Disabled and SW-DP Disabled
AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG_Msk) | AFIO_MAPR_SWJ_CFG_DISABLE;
-# ifdef RGB_MATRIX_ENABLE
- setPinOutput(SDB);
- writePinHigh(SDB);
-# endif
}
diff --git a/keyboards/skyloong/gk61/pro_48/config.h b/keyboards/skyloong/gk61/pro_48/config.h
index df94455a9e..5b4976e2da 100644
--- a/keyboards/skyloong/gk61/pro_48/config.h
+++ b/keyboards/skyloong/gk61/pro_48/config.h
@@ -3,14 +3,11 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 64
+#define IS31FL3743A_I2C_ADDRESS_1 IS31FL3743A_I2C_ADDRESS_GND_GND
+#define IS31FL3743A_SDB_PIN A4
+
#define CAPS_LOCK_INDEX 28
#define WIN_MOD_INDEX 16
#define MAC_MOD_INDEX 17
-#define SDB A4
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define g_suspend_state rgb_matrix_get_suspend_state()
diff --git a/keyboards/skyloong/gk61/pro_48/info.json b/keyboards/skyloong/gk61/pro_48/info.json
index 0e49e005aa..10a663f3c7 100644
--- a/keyboards/skyloong/gk61/pro_48/info.json
+++ b/keyboards/skyloong/gk61/pro_48/info.json
@@ -123,7 +123,8 @@
"hue_steps": 20,
"sat_steps": 20,
"speed_steps": 20,
- "val_steps": 20
+ "val_steps": 20,
+ "sleep": true
},
"url": "https://github.com/JZ-Skyloong",
"usb": {
diff --git a/keyboards/skyloong/gk61/pro_48/pro_48.c b/keyboards/skyloong/gk61/pro_48/pro_48.c
index e4f64c022f..c5758ffcf4 100644
--- a/keyboards/skyloong/gk61/pro_48/pro_48.c
+++ b/keyboards/skyloong/gk61/pro_48/pro_48.c
@@ -7,81 +7,81 @@ _Bool L_WIN = 0;
_Bool L_MAC = 0;
#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/
-const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, CS1_SW1, CS2_SW1, CS3_SW1},
- {0, CS1_SW2, CS2_SW2, CS3_SW2},
- {0, CS1_SW3, CS2_SW3, CS3_SW3},
- {0, CS1_SW4, CS2_SW4, CS3_SW4},
- {0, CS1_SW5, CS2_SW5, CS3_SW5},
- {0, CS1_SW6, CS2_SW6, CS3_SW6},
- {0, CS1_SW7, CS2_SW7, CS3_SW7},
- {0, CS1_SW8, CS2_SW8, CS3_SW8},
- {0, CS1_SW9, CS2_SW9, CS3_SW9},
- {0, CS1_SW10, CS2_SW10, CS3_SW10},
- {0, CS1_SW11, CS2_SW11, CS3_SW11},
- {0, CS16_SW1, CS17_SW1, CS18_SW1},
- {0, CS16_SW2, CS17_SW2, CS18_SW2},
- {0, CS16_SW3, CS17_SW3, CS18_SW3},
-
- {0, CS4_SW1, CS5_SW1, CS6_SW1},
- {0, CS4_SW2, CS5_SW2, CS6_SW2},
- {0, CS4_SW3, CS5_SW3, CS6_SW3},
- {0, CS4_SW4, CS5_SW4, CS6_SW4},
- {0, CS4_SW5, CS5_SW5, CS6_SW5},
- {0, CS4_SW6, CS5_SW6, CS6_SW6},
- {0, CS4_SW7, CS5_SW7, CS6_SW7},
- {0, CS4_SW8, CS5_SW8, CS6_SW8},
- {0, CS4_SW9, CS5_SW9, CS6_SW9},
- {0, CS4_SW10, CS5_SW10, CS6_SW10},
- {0, CS4_SW11, CS5_SW11, CS6_SW11},
- {0, CS16_SW4, CS17_SW4, CS18_SW4},
- {0, CS16_SW5, CS17_SW5, CS18_SW5},
- {0, CS16_SW6, CS17_SW6, CS18_SW6},
-
- {0, CS7_SW1, CS8_SW1, CS9_SW1},
- {0, CS7_SW2, CS8_SW2, CS9_SW2},
- {0, CS7_SW3, CS8_SW3, CS9_SW3},
- {0, CS7_SW4, CS8_SW4, CS9_SW4},
- {0, CS7_SW5, CS8_SW5, CS9_SW5},
- {0, CS7_SW6, CS8_SW6, CS9_SW6},
- {0, CS7_SW7, CS8_SW7, CS9_SW7},
- {0, CS7_SW8, CS8_SW8, CS9_SW8},
- {0, CS7_SW9, CS8_SW9, CS9_SW9},
- {0, CS7_SW10, CS8_SW10, CS9_SW10},
- {0, CS7_SW11, CS8_SW11, CS9_SW11},
- {0, CS16_SW7, CS17_SW7, CS18_SW7},
- {0, CS16_SW8, CS17_SW8, CS18_SW8},
-
- {0, CS10_SW1, CS11_SW1, CS12_SW1},
- {0, CS10_SW2, CS11_SW2, CS12_SW2},
- {0, CS10_SW3, CS11_SW3, CS12_SW3},
- {0, CS10_SW4, CS11_SW4, CS12_SW4},
- {0, CS10_SW5, CS11_SW5, CS12_SW5},
- {0, CS10_SW6, CS11_SW6, CS12_SW6},
- {0, CS10_SW7, CS11_SW7, CS12_SW7},
- {0, CS10_SW8, CS11_SW8, CS12_SW8},
- {0, CS10_SW9, CS11_SW9, CS12_SW9},
- {0, CS10_SW10, CS11_SW10, CS12_SW10},
- {0, CS10_SW11, CS11_SW11, CS12_SW11},
- {0, CS16_SW9, CS17_SW9, CS18_SW9},
-
- {0, CS13_SW1, CS14_SW1, CS15_SW1},
- {0, CS13_SW2, CS14_SW2, CS15_SW2},
- {0, CS13_SW3, CS14_SW3, CS15_SW3},
- {0, CS13_SW4, CS14_SW4, CS15_SW4},
- {0, CS13_SW5, CS14_SW5, CS15_SW5},
- {0, CS13_SW5, CS14_SW5, CS15_SW5},
- {0, CS13_SW6, CS14_SW6, CS15_SW6},
- {0, CS13_SW7, CS14_SW7, CS15_SW7},
- {0, CS13_SW8, CS14_SW8, CS15_SW8},
- {0, CS13_SW9, CS14_SW9, CS15_SW9},
- {0, CS13_SW10, CS14_SW10, CS15_SW10}
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ {0, SW2_CS1, SW2_CS2, SW2_CS3},
+ {0, SW3_CS1, SW3_CS2, SW3_CS3},
+ {0, SW4_CS1, SW4_CS2, SW4_CS3},
+ {0, SW5_CS1, SW5_CS2, SW5_CS3},
+ {0, SW6_CS1, SW6_CS2, SW6_CS3},
+ {0, SW7_CS1, SW7_CS2, SW7_CS3},
+ {0, SW8_CS1, SW8_CS2, SW8_CS3},
+ {0, SW9_CS1, SW9_CS2, SW9_CS3},
+ {0, SW10_CS1, SW10_CS2, SW10_CS3},
+ {0, SW11_CS1, SW11_CS2, SW11_CS3},
+ {0, SW1_CS16, SW1_CS17, SW1_CS18},
+ {0, SW2_CS16, SW2_CS17, SW2_CS18},
+ {0, SW3_CS16, SW3_CS17, SW3_CS18},
+
+ {0, SW1_CS4, SW1_CS5, SW1_CS6},
+ {0, SW2_CS4, SW2_CS5, SW2_CS6},
+ {0, SW3_CS4, SW3_CS5, SW3_CS6},
+ {0, SW4_CS4, SW4_CS5, SW4_CS6},
+ {0, SW5_CS4, SW5_CS5, SW5_CS6},
+ {0, SW6_CS4, SW6_CS5, SW6_CS6},
+ {0, SW7_CS4, SW7_CS5, SW7_CS6},
+ {0, SW8_CS4, SW8_CS5, SW8_CS6},
+ {0, SW9_CS4, SW9_CS5, SW9_CS6},
+ {0, SW10_CS4, SW10_CS5, SW10_CS6},
+ {0, SW11_CS4, SW11_CS5, SW11_CS6},
+ {0, SW4_CS16, SW4_CS17, SW4_CS18},
+ {0, SW5_CS16, SW5_CS17, SW5_CS18},
+ {0, SW6_CS16, SW6_CS17, SW6_CS18},
+
+ {0, SW1_CS7, SW1_CS8, SW1_CS9},
+ {0, SW2_CS7, SW2_CS8, SW2_CS9},
+ {0, SW3_CS7, SW3_CS8, SW3_CS9},
+ {0, SW4_CS7, SW4_CS8, SW4_CS9},
+ {0, SW5_CS7, SW5_CS8, SW5_CS9},
+ {0, SW6_CS7, SW6_CS8, SW6_CS9},
+ {0, SW7_CS7, SW7_CS8, SW7_CS9},
+ {0, SW8_CS7, SW8_CS8, SW8_CS9},
+ {0, SW9_CS7, SW9_CS8, SW9_CS9},
+ {0, SW10_CS7, SW10_CS8, SW10_CS9},
+ {0, SW11_CS7, SW11_CS8, SW11_CS9},
+ {0, SW7_CS16, SW7_CS17, SW7_CS18},
+ {0, SW8_CS16, SW8_CS17, SW8_CS18},
+
+ {0, SW1_CS10, SW1_CS11, SW1_CS12},
+ {0, SW2_CS10, SW2_CS11, SW2_CS12},
+ {0, SW3_CS10, SW3_CS11, SW3_CS12},
+ {0, SW4_CS10, SW4_CS11, SW4_CS12},
+ {0, SW5_CS10, SW5_CS11, SW5_CS12},
+ {0, SW6_CS10, SW6_CS11, SW6_CS12},
+ {0, SW7_CS10, SW7_CS11, SW7_CS12},
+ {0, SW8_CS10, SW8_CS11, SW8_CS12},
+ {0, SW9_CS10, SW9_CS11, SW9_CS12},
+ {0, SW10_CS10, SW10_CS11, SW10_CS12},
+ {0, SW11_CS10, SW11_CS11, SW11_CS12},
+ {0, SW9_CS16, SW9_CS17, SW9_CS18},
+
+ {0, SW1_CS13, SW1_CS14, SW1_CS15},
+ {0, SW2_CS13, SW2_CS14, SW2_CS15},
+ {0, SW3_CS13, SW3_CS14, SW3_CS15},
+ {0, SW4_CS13, SW4_CS14, SW4_CS15},
+ {0, SW5_CS13, SW5_CS14, SW5_CS15},
+ {0, SW5_CS13, SW5_CS14, SW5_CS15},
+ {0, SW6_CS13, SW6_CS14, SW6_CS15},
+ {0, SW7_CS13, SW7_CS14, SW7_CS15},
+ {0, SW8_CS13, SW8_CS14, SW8_CS15},
+ {0, SW9_CS13, SW9_CS14, SW9_CS15},
+ {0, SW10_CS13, SW10_CS14, SW10_CS15}
};
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
@@ -149,12 +149,12 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
void suspend_power_down_kb(void) {
- writePinLow(SDB);
+ writePinLow(IS31FL3743A_SDB_PIN);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
- writePinHigh(SDB);
+ writePinHigh(IS31FL3743A_SDB_PIN);
suspend_wakeup_init_user();
}
#endif
@@ -220,8 +220,4 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
void board_init(void) {
// JTAG-DP Disabled and SW-DP Disabled
AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG_Msk) | AFIO_MAPR_SWJ_CFG_DISABLE;
-# ifdef RGB_MATRIX_ENABLE
- setPinOutput(SDB);
- writePinHigh(SDB);
-# endif
}
diff --git a/keyboards/skyloong/gk61/v1/config.h b/keyboards/skyloong/gk61/v1/config.h
index bd9cab743f..d1dae51219 100644
--- a/keyboards/skyloong/gk61/v1/config.h
+++ b/keyboards/skyloong/gk61/v1/config.h
@@ -16,10 +16,4 @@
#pragma once
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-
-#define RGB_MATRIX_LED_COUNT 64
-
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS //Enable frame effects
-#define RGB_MATRIX_KEYPRESSES //Reacts to keypress
-#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended
-#define SDB C1
+#define SNLED27351_SDB_PIN C1
diff --git a/keyboards/skyloong/gk61/v1/info.json b/keyboards/skyloong/gk61/v1/info.json
index 6015efa12c..d5320fa765 100644
--- a/keyboards/skyloong/gk61/v1/info.json
+++ b/keyboards/skyloong/gk61/v1/info.json
@@ -113,7 +113,8 @@
"max_brightness": 200,
"sat_steps": 20,
"speed_steps": 20,
- "val_steps": 20
+ "val_steps": 20,
+ "sleep": true
},
"url": "https://github.com/JZ-Skyloong",
"usb": {
diff --git a/keyboards/skyloong/gk61/v1/v1.c b/keyboards/skyloong/gk61/v1/v1.c
index cb3772f6b4..01e6b6c6ae 100644
--- a/keyboards/skyloong/gk61/v1/v1.c
+++ b/keyboards/skyloong/gk61/v1/v1.c
@@ -17,103 +17,98 @@
#ifdef RGB_MATRIX_ENABLE
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, C_1, B_1, A_1},
- {0, C_2, B_2, A_2},
- {0, C_3, B_3, A_3},
- {0, C_4, B_4, A_4},
- {0, C_5, B_5, A_5},
- {0, C_6, B_6, A_6},
- {0, C_7, B_7, A_7},
- {0, C_8, B_8, A_8},
- {0, C_9, B_9, A_9},
- {0, C_10, B_10, A_10},
- {0, C_11, B_11, A_11},
- {0, C_12, B_12, A_12},
- {0, C_13, B_13, A_13},
- {0, C_14, B_14, A_14},
-
-
- {0, F_1, E_1, D_1},
- {0, F_2, E_2, D_2},
- {0, F_3, E_3, D_3},
- {0, F_4, E_4, D_4},
- {0, F_5, E_5, D_5},
- {0, F_6, E_6, D_6},
- {0, F_7, E_7, D_7},
- {0, F_8, E_8, D_8},
- {0, F_9, E_9, D_9},
- {0, F_10, E_10, D_10},
- {0, F_11, E_11, D_11},
- {0, F_12, E_12, D_12},
- {0, F_13, E_13, D_13},
- {0, F_14, E_14, D_14},
-
-
- {0, I_1, H_1, G_1},
- {0, I_2, H_2, G_2},
- {0, I_3, H_3, G_3},
- {0, I_4, H_4, G_4},
- {0, I_5, H_5, G_5},
- {0, I_6, H_6, G_6},
- {0, I_7, H_7, G_7},
- {0, I_8, H_8, G_8},
- {0, I_9, H_9, G_9},
- {0, I_10, H_10, G_10},
- {0, I_11, H_11, G_11},
- {0, I_12, H_12, G_12},
- {0, I_13, H_13, G_13},
-
-
-
- {0, L_1, K_1, J_1},
- {0, L_2, K_2, J_2},
- {0, L_3, K_3, J_3},
- {0, L_4, K_4, J_4},
- {0, L_5, K_5, J_5},
- {0, L_6, K_6, J_6},
- {0, L_7, K_7, J_7},
- {0, L_8, K_8, J_8},
- {0, L_9, K_9, J_9},
- {0, L_10, K_10, J_10},
- {0, L_11, K_11, J_11},
- {0, L_13, K_13, J_13},
-
- {0, L_15, K_15, J_15},
- {0, L_16, K_16, J_16},
- {0, I_15, H_15, G_15},
- {0, I_16, H_16, G_16},
- {0, F_15, E_15, D_15},
- {0, F_16, E_16, D_16},
- {0, C_15, B_15, A_15},
- {0, C_16, B_16, A_16},
- {0, I_14, H_14, G_14},
- {0, L_12, K_12, J_12},
- {0, L_14, K_14, J_14},
+ {0, CB3_CA1, CB2_CA1, CB1_CA1},
+ {0, CB3_CA2, CB2_CA2, CB1_CA2},
+ {0, CB3_CA3, CB2_CA3, CB1_CA3},
+ {0, CB3_CA4, CB2_CA4, CB1_CA4},
+ {0, CB3_CA5, CB2_CA5, CB1_CA5},
+ {0, CB3_CA6, CB2_CA6, CB1_CA6},
+ {0, CB3_CA7, CB2_CA7, CB1_CA7},
+ {0, CB3_CA8, CB2_CA8, CB1_CA8},
+ {0, CB3_CA9, CB2_CA9, CB1_CA9},
+ {0, CB3_CA10, CB2_CA10, CB1_CA10},
+ {0, CB3_CA11, CB2_CA11, CB1_CA11},
+ {0, CB3_CA12, CB2_CA12, CB1_CA12},
+ {0, CB3_CA13, CB2_CA13, CB1_CA13},
+ {0, CB3_CA14, CB2_CA14, CB1_CA14},
+
+
+ {0, CB6_CA1, CB5_CA1, CB4_CA1},
+ {0, CB6_CA2, CB5_CA2, CB4_CA2},
+ {0, CB6_CA3, CB5_CA3, CB4_CA3},
+ {0, CB6_CA4, CB5_CA4, CB4_CA4},
+ {0, CB6_CA5, CB5_CA5, CB4_CA5},
+ {0, CB6_CA6, CB5_CA6, CB4_CA6},
+ {0, CB6_CA7, CB5_CA7, CB4_CA7},
+ {0, CB6_CA8, CB5_CA8, CB4_CA8},
+ {0, CB6_CA9, CB5_CA9, CB4_CA9},
+ {0, CB6_CA10, CB5_CA10, CB4_CA10},
+ {0, CB6_CA11, CB5_CA11, CB4_CA11},
+ {0, CB6_CA12, CB5_CA12, CB4_CA12},
+ {0, CB6_CA13, CB5_CA13, CB4_CA13},
+ {0, CB6_CA14, CB5_CA14, CB4_CA14},
+
+
+ {0, CB9_CA1, CB8_CA1, CB7_CA1},
+ {0, CB9_CA2, CB8_CA2, CB7_CA2},
+ {0, CB9_CA3, CB8_CA3, CB7_CA3},
+ {0, CB9_CA4, CB8_CA4, CB7_CA4},
+ {0, CB9_CA5, CB8_CA5, CB7_CA5},
+ {0, CB9_CA6, CB8_CA6, CB7_CA6},
+ {0, CB9_CA7, CB8_CA7, CB7_CA7},
+ {0, CB9_CA8, CB8_CA8, CB7_CA8},
+ {0, CB9_CA9, CB8_CA9, CB7_CA9},
+ {0, CB9_CA10, CB8_CA10, CB7_CA10},
+ {0, CB9_CA11, CB8_CA11, CB7_CA11},
+ {0, CB9_CA12, CB8_CA12, CB7_CA12},
+ {0, CB9_CA13, CB8_CA13, CB7_CA13},
+
+
+
+ {0, CB12_CA1, CB11_CA1, CB10_CA1},
+ {0, CB12_CA2, CB11_CA2, CB10_CA2},
+ {0, CB12_CA3, CB11_CA3, CB10_CA3},
+ {0, CB12_CA4, CB11_CA4, CB10_CA4},
+ {0, CB12_CA5, CB11_CA5, CB10_CA5},
+ {0, CB12_CA6, CB11_CA6, CB10_CA6},
+ {0, CB12_CA7, CB11_CA7, CB10_CA7},
+ {0, CB12_CA8, CB11_CA8, CB10_CA8},
+ {0, CB12_CA9, CB11_CA9, CB10_CA9},
+ {0, CB12_CA10, CB11_CA10, CB10_CA10},
+ {0, CB12_CA11, CB11_CA11, CB10_CA11},
+ {0, CB12_CA13, CB11_CA13, CB10_CA13},
+
+ {0, CB12_CA15, CB11_CA15, CB10_CA15},
+ {0, CB12_CA16, CB11_CA16, CB10_CA16},
+ {0, CB9_CA15, CB8_CA15, CB7_CA15},
+ {0, CB9_CA16, CB8_CA16, CB7_CA16},
+ {0, CB6_CA15, CB5_CA15, CB4_CA15},
+ {0, CB6_CA16, CB5_CA16, CB4_CA16},
+ {0, CB3_CA15, CB2_CA15, CB1_CA15},
+ {0, CB3_CA16, CB2_CA16, CB1_CA16},
+ {0, CB9_CA14, CB8_CA14, CB7_CA14},
+ {0, CB12_CA12, CB11_CA12, CB10_CA12},
+ {0, CB12_CA14, CB11_CA14, CB10_CA14},
};
#endif // RGB_MATRIX_ENABLE
void suspend_power_down_kb() {
- writePinLow(SDB);
+ writePinLow(SNLED27351_SDB_PIN);
suspend_power_down_user();
}
void suspend_wakeup_init_kb() {
- writePinHigh(SDB);
-
- suspend_wakeup_init_user();
-}
+ writePinHigh(SNLED27351_SDB_PIN);
-void board_init(void) {
- setPinOutput(SDB);
- writePinHigh(SDB);
+ suspend_wakeup_init_user();
}
diff --git a/keyboards/skyloong/qk21/v1/config.h b/keyboards/skyloong/qk21/v1/config.h
index c74d5cce78..4410f06c6a 100644
--- a/keyboards/skyloong/qk21/v1/config.h
+++ b/keyboards/skyloong/qk21/v1/config.h
@@ -5,8 +5,3 @@
/* Enable num-lock LED */
#define NUM_LOCK_INDEX 13
-
-#define RGB_MATRIX_LED_COUNT 21
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS //Enable frame effects
-#define RGB_MATRIX_KEYPRESSES //Reacts to keypress
-#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended
diff --git a/keyboards/skyloong/qk21/v1/info.json b/keyboards/skyloong/qk21/v1/info.json
index d5aa5e8be9..3f22fc0ccb 100644
--- a/keyboards/skyloong/qk21/v1/info.json
+++ b/keyboards/skyloong/qk21/v1/info.json
@@ -89,7 +89,8 @@
"max_brightness": 200,
"sat_steps": 20,
"speed_steps": 20,
- "val_steps": 20
+ "val_steps": 20,
+ "sleep": true
},
"url": "https://github.com/JZ-Skyloong",
"usb": {
diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h
index d98a2b6ef2..9a6ca310e4 100644
--- a/keyboards/smallkeyboard/config.h
+++ b/keyboards/smallkeyboard/config.h
@@ -17,56 +17,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-
-#define RGB_MATRIX_LED_COUNT 6
-#endif
diff --git a/keyboards/smallkeyboard/info.json b/keyboards/smallkeyboard/info.json
index 9fb889d28e..d5a64f465a 100644
--- a/keyboards/smallkeyboard/info.json
+++ b/keyboards/smallkeyboard/info.json
@@ -9,7 +9,36 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3731",
+ "sleep": true
},
"matrix_pins": {
"cols": ["F7", "F6", "F5"],
diff --git a/keyboards/smallkeyboard/smallkeyboard.c b/keyboards/smallkeyboard/smallkeyboard.c
index ce79c7df5d..7442444b00 100644
--- a/keyboards/smallkeyboard/smallkeyboard.c
+++ b/keyboards/smallkeyboard/smallkeyboard.c
@@ -17,7 +17,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/smithrune/iron160/iron160_h/config.h b/keyboards/smithrune/iron160/iron160_h/config.h
deleted file mode 100644
index 4edf24a4d9..0000000000
--- a/keyboards/smithrune/iron160/iron160_h/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2022 Gondolindrim
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Defining RGB default brightness to zero */
-#define RGBLIGHT_DEFAULT_VAL 0
diff --git a/keyboards/smithrune/iron160/iron160_h/info.json b/keyboards/smithrune/iron160/iron160_h/info.json
index ae65246d26..3fb14989d6 100644
--- a/keyboards/smithrune/iron160/iron160_h/info.json
+++ b/keyboards/smithrune/iron160/iron160_h/info.json
@@ -17,9 +17,12 @@
"ws2812": {
"pin": "B15"
},
- "rgblight": {
- "led_count": 1
- },
+ "rgblight": {
+ "led_count": 1,
+ "default": {
+ "val": 50
+ }
+ },
"diode_direction": "COL2ROW",
"layout_aliases": {
"LAYOUT": "LAYOUT_60_tsangan_hhkb"
diff --git a/keyboards/smithrune/iron165r2/config.h b/keyboards/smithrune/iron165r2/config.h
index 9749d68d72..b803959d13 100644
--- a/keyboards/smithrune/iron165r2/config.h
+++ b/keyboards/smithrune/iron165r2/config.h
@@ -39,5 +39,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGBLIGHT_LED_MAP {21 , 2 , 3 , 4 , 5 , 1 , 20 , 0 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 19 , 14 , 15 , 16 , 17 , 18 }
// D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D60, D61, D62, D63, D64, D65, D66, D67, D68, D69}
#endif
-
-#define RGBLIGHT_DEFAULT_VAL 0
diff --git a/keyboards/smithrune/iron165r2/f072/info.json b/keyboards/smithrune/iron165r2/f072/info.json
index 209266ad10..2cbbaa84f3 100644
--- a/keyboards/smithrune/iron165r2/f072/info.json
+++ b/keyboards/smithrune/iron165r2/f072/info.json
@@ -17,6 +17,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 0
}
},
"ws2812": {
diff --git a/keyboards/smithrune/iron165r2/f411/info.json b/keyboards/smithrune/iron165r2/f411/info.json
index 72547e955e..ff685e3cdd 100644
--- a/keyboards/smithrune/iron165r2/f411/info.json
+++ b/keyboards/smithrune/iron165r2/f411/info.json
@@ -20,6 +20,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "val": 0
}
},
"ws2812": {
diff --git a/keyboards/smithrune/iron180/info.json b/keyboards/smithrune/iron180/info.json
index aecd10ef84..4707f32664 100644
--- a/keyboards/smithrune/iron180/info.json
+++ b/keyboards/smithrune/iron180/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "Iron180",
+ "keyboard_name": "Iron180 V1",
"manufacturer": "SmithRune",
"url": "",
"maintainer": "Gondolindrim",
diff --git a/keyboards/smithrune/iron180v2/readme.md b/keyboards/smithrune/iron180v2/readme.md
new file mode 100644
index 0000000000..2df6b96521
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/readme.md
@@ -0,0 +1,27 @@
+# Iron180 V2 PCBs QMK firmware folder
+
+## Introduction
+
+This is the QMK Firmware repository for the Iron180 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim).
+
+The Iron180 PCB PCB had two versions. The first version used an STM32F072 microcontroller, and was available only in solderable version; it also supports ALPS switches, in-switch single-color LEDs and a multi-layout design for default or 7U bottom row, ISO layout, split backspace and right shift.
+
+The second version used an STM32F401 microcontroller and was available in hotswap and solderable version. The solderable version removes in-switch LED support and ALPS support, but keeps all layout compatibilities of the first version. The hotswap incarnation removes ISO layout support.
+
+As of November 2020, the only way to obtain an Iron180 was through the [Group Buy](https://geekhack.org/index.php?topic=109513) which is already over and all spots were filled. There was a sale for the V2 PCBs in october, 2023.
+
+## How to compile
+
+After setting up your build environment, you can compile the Iron180 default keymap by using:
+
+ make smithrune/iron180v2/<version>/default
+
+Where `<version>` can be `v2s` or `v2h`.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## How to enter into bootloader DFU
+Enter the bootloader DFU mode in 3 ways:
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape in the default keymap) and plug in the keyboard
+* **Physical reset button**: press and hold the reset button on the back of the PCB for five seconds
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (Escape key on layer 1 in the default keymap)
diff --git a/keyboards/smithrune/iron180v2/v2h/config.h b/keyboards/smithrune/iron180v2/v2h/config.h
new file mode 100644
index 0000000000..1d195c5a45
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/config.h
@@ -0,0 +1,26 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/smithrune/iron180v2/v2h/info.json b/keyboards/smithrune/iron180v2/v2h/info.json
new file mode 100644
index 0000000000..67eaf0501b
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/info.json
@@ -0,0 +1,674 @@
+{
+ "keyboard_name": "Iron180H v2",
+ "manufacturer": "SmithRune",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1182",
+ "device_version": "0.0.1"
+ },
+ "matrix_pins": {
+ "cols": ["C8" , "C7" , "C6" , "B15", "B14", "B13", "B12", "B3" , "D2" , "B1" , "B0" , "C12", "C10", "A10", "A15", "C0" , "C1" , "C4"],
+ "rows": ["B4" , "C11", "A8" , "C9" , "B10", "C5" , "B5" , "B6"]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "STM32F401",
+ "bootloader": "stm32-dfu",
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_tkl_f13_ansi_split_bs_rshift"
+ },
+ "community_layouts": [
+ "tkl_f13_ansi",
+ "tkl_f13_ansi_split_bs_rshift",
+ "tkl_f13_ansi_tsangan",
+ "tkl_f13_ansi_tsangan_split_bs_rshift"
+ ],
+ "layouts": {
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c
new file mode 100755
index 0000000000..82cc8162ad
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c
new file mode 100755
index 0000000000..82cc8162ad
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/primekb/prime_e/keymaps/gwillad/rules.mk b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/primekb/prime_e/keymaps/gwillad/rules.mk
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk
diff --git a/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md
new file mode 100644
index 0000000000..2e6310bcb6
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md
@@ -0,0 +1,24 @@
+# Matrix Diagram for SmithRune Iron180 V2 H
+
+```
+┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0G │0F │0E │
+└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───┠┌───────â”
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │1G │3G │ │1D │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └───────┘
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5F │5G │
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ ┌──────────â”
+ 2.75u RShift │4C │
+ └──────────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+```
diff --git a/keyboards/smithrune/iron180v2/v2h/rules.mk b/keyboards/smithrune/iron180v2/v2h/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/smithrune/iron180v2/v2s/config.h b/keyboards/smithrune/iron180v2/v2s/config.h
new file mode 100644
index 0000000000..bf443b56f1
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/config.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 3
+#define BACKLIGHT_PAL_MODE 2
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE 4096
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/smithrune/iron180v2/v2s/halconf.h b/keyboards/smithrune/iron180v2/v2s/halconf.h
new file mode 100644
index 0000000000..c58ddcbf7b
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/halconf.h
@@ -0,0 +1,26 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/iron180/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/smithrune/iron180v2/v2s/info.json b/keyboards/smithrune/iron180v2/v2s/info.json
new file mode 100644
index 0000000000..aae84fd956
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/info.json
@@ -0,0 +1,1432 @@
+{
+ "keyboard_name": "Iron180 Sv2",
+ "manufacturer": "SmithRune",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1181",
+ "device_version": "0.0.1"
+ },
+ "matrix_pins": {
+ "cols": ["C7" , "C6" , "B15", "B14", "B13", "B12", "B10", "B3" , "D2" , "B0" , "C5" , "C12", "C10", "A10", "A15", "C0" , "C1" , "A7"],
+ "rows": ["B4" , "C11", "A8" , "C9" , "B1" , "C4" , "B5" , "B6"]
+ },
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "backlight": {
+ "pin": "C8",
+ "levels": 20,
+ "breathing": false,
+ "as_caps_lock": true
+ },
+ "processor": "STM32F401",
+ "bootloader": "stm32-dfu",
+ "community_layouts": [
+ "tkl_f13_ansi",
+ "tkl_f13_ansi_split_bs_rshift",
+ "tkl_f13_ansi_tsangan",
+ "tkl_f13_ansi_tsangan_split_bs_rshift",
+ "tkl_f13_iso",
+ "tkl_f13_iso_split_bs_rshift",
+ "tkl_f13_iso_tsangan",
+ "tkl_f13_iso_tsangan_split_bs_rshift"
+ ],
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c
new file mode 100755
index 0000000000..f2d58a163d
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT ,
+ KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c
new file mode 100755
index 0000000000..f2d58a163d
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT ,
+ KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/pw88/keymaps/via/rules.mk b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/pw88/keymaps/via/rules.mk
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk
diff --git a/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md
new file mode 100644
index 0000000000..d946162263
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md
@@ -0,0 +1,24 @@
+# Matrix Diagram for SmithRune Iron180 V2 S
+
+```
+┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │
+└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───┠┌───────â”
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││6F │6F │6G │ │3E │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││7E │7F │7G │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴â”3D │ ISO Enter
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3C │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┠└───┴────┘
+│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4H │
+├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5H │5G │
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+┌────────┠┌──────────â”
+│40 │ 2.25u LShift 2.75u RShift │4C │
+└────────┘ └──────────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+```
diff --git a/keyboards/smithrune/iron180v2/v2s/mcuconf.h b/keyboards/smithrune/iron180v2/v2s/mcuconf.h
new file mode 100644
index 0000000000..b7b462f8cd
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/smithrune/iron180v2/v2s/rules.mk b/keyboards/smithrune/iron180v2/v2s/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/smithrune/magnus/m75h/config.h b/keyboards/smithrune/magnus/m75h/config.h
index 310d7b1981..e72ba06969 100644
--- a/keyboards/smithrune/magnus/m75h/config.h
+++ b/keyboards/smithrune/magnus/m75h/config.h
@@ -27,6 +27,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
-
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/smithrune/magnus/m75h/info.json b/keyboards/smithrune/magnus/m75h/info.json
index 0592d2a7a6..a4f2ce5768 100644
--- a/keyboards/smithrune/magnus/m75h/info.json
+++ b/keyboards/smithrune/magnus/m75h/info.json
@@ -8,6 +8,14 @@
"pid": "0x1676",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"audio": false,
"backlight": false,
@@ -16,7 +24,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
diff --git a/keyboards/smithrune/magnus/m75s/config.h b/keyboards/smithrune/magnus/m75s/config.h
index 61f5f8e0a5..1e8874caa4 100644
--- a/keyboards/smithrune/magnus/m75s/config.h
+++ b/keyboards/smithrune/magnus/m75s/config.h
@@ -29,6 +29,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
-
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/smithrune/magnus/m75s/info.json b/keyboards/smithrune/magnus/m75s/info.json
index da2f4e3eff..5b834631f7 100644
--- a/keyboards/smithrune/magnus/m75s/info.json
+++ b/keyboards/smithrune/magnus/m75s/info.json
@@ -8,6 +8,14 @@
"pid": "0x1675",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
"features": {
"audio": false,
"backlight": true,
@@ -16,7 +24,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
diff --git a/keyboards/lefty/config.h b/keyboards/smoll/lefty/config.h
index b1432e4d87..b1432e4d87 100644
--- a/keyboards/lefty/config.h
+++ b/keyboards/smoll/lefty/config.h
diff --git a/keyboards/lefty/info.json b/keyboards/smoll/lefty/info.json
index c7113e4c26..c7113e4c26 100644
--- a/keyboards/lefty/info.json
+++ b/keyboards/smoll/lefty/info.json
diff --git a/keyboards/lefty/keymaps/default/keymap.c b/keyboards/smoll/lefty/keymaps/default/keymap.c
index e88edb63a5..e88edb63a5 100644
--- a/keyboards/lefty/keymaps/default/keymap.c
+++ b/keyboards/smoll/lefty/keymaps/default/keymap.c
diff --git a/keyboards/lefty/keymaps/via/keymap.c b/keyboards/smoll/lefty/keymaps/via/keymap.c
index e88edb63a5..e88edb63a5 100644
--- a/keyboards/lefty/keymaps/via/keymap.c
+++ b/keyboards/smoll/lefty/keymaps/via/keymap.c
diff --git a/keyboards/w1_at/keymaps/via/rules.mk b/keyboards/smoll/lefty/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/w1_at/keymaps/via/rules.mk
+++ b/keyboards/smoll/lefty/keymaps/via/rules.mk
diff --git a/keyboards/lefty/lefty.c b/keyboards/smoll/lefty/lefty.c
index b1bea424b0..b1bea424b0 100644
--- a/keyboards/lefty/lefty.c
+++ b/keyboards/smoll/lefty/lefty.c
diff --git a/keyboards/lefty/readme.md b/keyboards/smoll/lefty/readme.md
index 7562517a22..7562517a22 100644
--- a/keyboards/lefty/readme.md
+++ b/keyboards/smoll/lefty/readme.md
diff --git a/keyboards/lefty/rev1/info.json b/keyboards/smoll/lefty/rev1/info.json
index 0a3e44c86f..0a3e44c86f 100644
--- a/keyboards/lefty/rev1/info.json
+++ b/keyboards/smoll/lefty/rev1/info.json
diff --git a/keyboards/pico/65keys/rules.mk b/keyboards/smoll/lefty/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/pico/65keys/rules.mk
+++ b/keyboards/smoll/lefty/rev1/rules.mk
diff --git a/keyboards/lefty/rev2/info.json b/keyboards/smoll/lefty/rev2/info.json
index 9b8578c0db..9b8578c0db 100644
--- a/keyboards/lefty/rev2/info.json
+++ b/keyboards/smoll/lefty/rev2/info.json
diff --git a/keyboards/pico/70keys/rules.mk b/keyboards/smoll/lefty/rev2/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/pico/70keys/rules.mk
+++ b/keyboards/smoll/lefty/rev2/rules.mk
diff --git a/keyboards/smoll/lefty/rules.mk b/keyboards/smoll/lefty/rules.mk
new file mode 100644
index 0000000000..d8d08e502c
--- /dev/null
+++ b/keyboards/smoll/lefty/rules.mk
@@ -0,0 +1,17 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
+
+OLED_ENABLE = yes
+
+DEFAULT_FOLDER = smoll/lefty/rev2
diff --git a/keyboards/pw88/info.json b/keyboards/smoll/pw88/info.json
index bd24071e70..bd24071e70 100644
--- a/keyboards/pw88/info.json
+++ b/keyboards/smoll/pw88/info.json
diff --git a/keyboards/pw88/keymaps/default/keymap.c b/keyboards/smoll/pw88/keymaps/default/keymap.c
index 9e5ffd3f24..9e5ffd3f24 100644
--- a/keyboards/pw88/keymaps/default/keymap.c
+++ b/keyboards/smoll/pw88/keymaps/default/keymap.c
diff --git a/keyboards/pw88/keymaps/via/keymap.c b/keyboards/smoll/pw88/keymaps/via/keymap.c
index 9e5ffd3f24..9e5ffd3f24 100644
--- a/keyboards/pw88/keymaps/via/keymap.c
+++ b/keyboards/smoll/pw88/keymaps/via/keymap.c
diff --git a/keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk b/keyboards/smoll/pw88/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100755..100644
--- a/keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk
+++ b/keyboards/smoll/pw88/keymaps/via/rules.mk
diff --git a/keyboards/pw88/readme.md b/keyboards/smoll/pw88/readme.md
index facee8bac8..facee8bac8 100644
--- a/keyboards/pw88/readme.md
+++ b/keyboards/smoll/pw88/readme.md
diff --git a/keyboards/pw88/rules.mk b/keyboards/smoll/pw88/rules.mk
index c628fc7d0f..c628fc7d0f 100644
--- a/keyboards/pw88/rules.mk
+++ b/keyboards/smoll/pw88/rules.mk
diff --git a/keyboards/snes_macropad/keymaps/jbarberu/keymap.c b/keyboards/snes_macropad/keymaps/jbarberu/keymap.c
deleted file mode 100644
index 478d1461e2..0000000000
--- a/keyboards/snes_macropad/keymaps/jbarberu/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2023 John Barbero Unenge (@jbarberu)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum Layer {
- L_Numpad = 0,
- L_Symbols,
- L_EasyEDA,
- L_RGB,
- L_Adjust
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * Macropad Button Order
- * ┌───┬───┬───┬───â”
- * │ 7 │ 8 │ 9 │ - │
- * ├───┼───┼───┼───┤
- * │ 4 │ 5 │ 6 │ + │
- * ├───┼───┼───┼───┤
- * │ 1 │ 2 │ 3 │ 0 │
- * └───┴───┴───┴───┘
- *
- * SNES Button Order
- * ┌────────┬────────┬────────┬────────â”
- * │ LT │ RT │ START │ SELECT │
- * ├────────┼────────┼────────┼────────┤
- * │ UP │ DOWN │ LEFT │ RIGHT │
- * ├────────┼────────┼────────┼────────┤
- * │ A │ B │ X │ Y │
- * └────────┴────────┴────────┴────────┘
- *
- */
- [L_Numpad] = LAYOUT(
- KC_P7, KC_P8, KC_P9, TO(L_EasyEDA)
- , KC_P4, KC_P5, KC_P6, LT(L_Symbols, KC_PCMM)
- , KC_P1, KC_P2, KC_P3, KC_P0
-
- , KC_A, KC_S, KC_ENT, KC_BSPC
- , KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT
- , KC_X, KC_Z, LSFT(KC_F1), KC_TAB
- ),
- [L_EasyEDA] = LAYOUT(
- KC_COMM, KC_DOT, KC_K, TO(L_RGB)
- , KC_LSFT, KC_M, KC_N, TO(L_Numpad)
- , KC_LCTL, KC_SPC, KC_DEL, KC_BSPC
-
- , KC_A, KC_B, KC_C, KC_D
- , QK_BOOT, KC_TRNS, KC_G, KC_H
- , KC_I, KC_J, KC_K, KC_L
- ),
- [L_RGB] = LAYOUT(
- RGB_M_P, RGB_M_B, RGB_TOG, TO(L_Adjust)
- , RGB_MOD, RGB_HUI, RGB_VAI, TO(L_Numpad)
- , RGB_RMOD, RGB_HUD, RGB_VAD, KC_NO
-
- , KC_A, KC_B, KC_C, KC_D
- , KC_E, KC_F, KC_G, KC_H
- , KC_I, KC_J, KC_K, KC_L
- ),
- [L_Adjust] = LAYOUT(
- KC_NO, KC_P8, KC_NO, KC_NO
- , KC_NO, RGB_HUD, KC_NO, TO(L_Numpad)
- , RGB_HUI, KC_NO, KC_TRNS, KC_NO
-
- , KC_A, KC_B, KC_C, KC_D
- , KC_E, KC_F, KC_G, KC_H
- , KC_I, KC_J, KC_K, KC_L
- ),
- [L_Symbols] = LAYOUT(
- KC_PPLS, KC_PMNS, KC_PEQL, KC_NO
- , KC_PAST, KC_PSLS, KC_ENT, KC_TRNS
- , KC_NUM, KC_NO, KC_NO, QK_BOOT
-
- , KC_A, KC_B, KC_C, KC_D
- , KC_E, KC_F, KC_G, KC_H
- , KC_I, KC_J, KC_K, KC_L
- )
-};
-// clang-format on
-
-const char * get_layer_name_user(uint8_t layer) {
- switch (layer) {
- case L_Numpad:
- return "Numpad";
- case L_EasyEDA:
- return "EasyEDA";
- case L_RGB:
- return "RGB Controls";
- case L_Adjust:
- return "Adjust";
- case L_Symbols:
- return "Symbols";
- default:
- return "Undef";
- }
-}
diff --git a/keyboards/snes_macropad/snes_macropad.c b/keyboards/snes_macropad/snes_macropad.c
index 1dcfda33ec..9f4f410fa3 100644
--- a/keyboards/snes_macropad/snes_macropad.c
+++ b/keyboards/snes_macropad/snes_macropad.c
@@ -90,7 +90,7 @@ static void setupForFlashing(void) {
// Set alternating backlight colors
const uint8_t max = 20;
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- for (size_t i = 0; i < RGBLED_NUM; ++i) {
+ for (size_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
rgb_led_t *led_ = (rgb_led_t *)&led[i];
switch (i % 2) {
case 0:
diff --git a/keyboards/sofle/info.json b/keyboards/sofle/info.json
new file mode 100644
index 0000000000..91fdfd38be
--- /dev/null
+++ b/keyboards/sofle/info.json
@@ -0,0 +1,117 @@
+{
+ "keyboard_name": "Sofle",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "encoder": true,
+ "oled": true
+ },
+ "build": {
+ "lto": true
+ },
+ "usb": {
+ "vid": "0xFC32"
+ },
+ "diode_direction": "COL2ROW",
+ "qmk": {
+ "tap_keycode_delay": 10
+ },
+ "split": {
+ "enabled": true,
+ "soft_serial_pin": "D2",
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
+ }
+ },
+ "ws2812": {
+ "pin": "D3"
+ },
+ "rgblight": {
+ "led_count": 72,
+ "split_count": [36, 36],
+ "sleep": true
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "split_count": [36, 36],
+ "sleep": true,
+ "layout": [
+ {"x": 96, "y": 40, "flags": 8},
+ {"x": 16, "y": 20, "flags": 2},
+ {"x": 48, "y": 10, "flags": 2},
+ {"x": 80, "y": 18, "flags": 2},
+ {"x": 88, "y": 60, "flags": 2},
+ {"x": 56, "y": 57, "flags": 2},
+ {"x": 24, "y": 60, "flags": 2},
+ {"matrix": [4, 0], "x": 32, "y": 57, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 36, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 12, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 12, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 36, "flags": 4},
+ {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4},
+ {"matrix": [4, 1], "x": 48, "y": 55, "flags": 4},
+ {"matrix": [4, 2], "x": 64, "y": 57, "flags": 4},
+ {"matrix": [3, 2], "x": 32, "y": 45, "flags": 4},
+ {"matrix": [2, 2], "x": 32, "y": 33, "flags": 4},
+ {"matrix": [1, 2], "x": 32, "y": 21, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 9, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 7, "flags": 4},
+ {"matrix": [1, 3], "x": 48, "y": 19, "flags": 4},
+ {"matrix": [2, 3], "x": 48, "y": 31, "flags": 4},
+ {"matrix": [3, 3], "x": 48, "y": 43, "flags": 4},
+ {"matrix": [4, 3], "x": 80, "y": 59, "flags": 4},
+ {"matrix": [4, 4], "x": 96, "y": 64, "flags": 4},
+ {"matrix": [3, 4], "x": 64, "y": 45, "flags": 4},
+ {"matrix": [2, 4], "x": 64, "y": 33, "flags": 4},
+ {"matrix": [1, 4], "x": 64, "y": 21, "flags": 4},
+ {"matrix": [0, 4], "x": 64, "y": 9, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 10, "flags": 4},
+ {"matrix": [1, 5], "x": 80, "y": 22, "flags": 4},
+ {"matrix": [2, 5], "x": 80, "y": 34, "flags": 4},
+ {"matrix": [3, 5], "x": 80, "y": 47, "flags": 4},
+ {"x": 128, "y": 40, "flags": 8},
+ {"x": 208, "y": 20, "flags": 2},
+ {"x": 176, "y": 10, "flags": 2},
+ {"x": 144, "y": 18, "flags": 2},
+ {"x": 136, "y": 60, "flags": 2},
+ {"x": 168, "y": 57, "flags": 2},
+ {"x": 200, "y": 60, "flags": 2},
+ {"matrix": [9, 0], "x": 192, "y": 57, "flags": 4},
+ {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4},
+ {"matrix": [7, 0], "x": 224, "y": 36, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 24, "flags": 4},
+ {"matrix": [5, 0], "x": 224, "y": 12, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 12, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 24, "flags": 4},
+ {"matrix": [7, 1], "x": 208, "y": 36, "flags": 4},
+ {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4},
+ {"matrix": [9, 1], "x": 176, "y": 55, "flags": 4},
+ {"matrix": [9, 2], "x": 160, "y": 57, "flags": 4},
+ {"matrix": [8, 2], "x": 192, "y": 45, "flags": 4},
+ {"matrix": [7, 2], "x": 192, "y": 33, "flags": 4},
+ {"matrix": [6, 2], "x": 192, "y": 21, "flags": 4},
+ {"matrix": [5, 2], "x": 192, "y": 9, "flags": 4},
+ {"matrix": [5, 3], "x": 176, "y": 7, "flags": 4},
+ {"matrix": [6, 3], "x": 176, "y": 19, "flags": 4},
+ {"matrix": [7, 3], "x": 176, "y": 31, "flags": 4},
+ {"matrix": [8, 3], "x": 176, "y": 43, "flags": 4},
+ {"matrix": [9, 3], "x": 144, "y": 59, "flags": 4},
+ {"matrix": [9, 4], "x": 128, "y": 64, "flags": 4},
+ {"matrix": [8, 4], "x": 160, "y": 45, "flags": 4},
+ {"matrix": [7, 4], "x": 160, "y": 33, "flags": 4},
+ {"matrix": [6, 4], "x": 160, "y": 21, "flags": 4},
+ {"matrix": [5, 4], "x": 160, "y": 9, "flags": 4},
+ {"matrix": [5, 5], "x": 144, "y": 10, "flags": 4},
+ {"matrix": [6, 5], "x": 144, "y": 22, "flags": 4},
+ {"matrix": [7, 5], "x": 144, "y": 34, "flags": 4},
+ {"matrix": [8, 5], "x": 144, "y": 47, "flags": 4}
+ ]
+ }
+}
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h
index cda0be789e..cda0be789e 100755..100644
--- a/keyboards/sofle/keyhive/config.h
+++ b/keyboards/sofle/keyhive/config.h
diff --git a/keyboards/sofle/keyhive/info.json b/keyboards/sofle/keyhive/info.json
index ae7c4a1935..8c76e875b0 100644
--- a/keyboards/sofle/keyhive/info.json
+++ b/keyboards/sofle/keyhive/info.json
@@ -1,14 +1,11 @@
{
"keyboard_name": "Sofle",
"manufacturer": "Keyhive",
+ "development_board": "elite_c",
"usb": {
- "vid": "0xFC32",
"pid": "0x1287",
"device_version": "0.0.2"
},
- "ws2812": {
- "pin": "D3"
- },
"rgblight": {
"hue_steps": 10,
"led_count": 74,
@@ -21,14 +18,12 @@
"cols": ["B6", "B2", "B3", "B1", "F7", "F6", null],
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
- "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "F5", "pin_b": "F4"}
]
},
"split": {
- "soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
@@ -44,17 +39,11 @@
},
"transport": {
"sync": {
- "matrix_state": true,
"oled": true,
"wpm": true
}
}
},
- "qmk": {
- "tap_keycode_delay": 10
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sofle/keyhive/readme.md b/keyboards/sofle/keyhive/readme.md
index 3847dfe6bb..3847dfe6bb 100755..100644
--- a/keyboards/sofle/keyhive/readme.md
+++ b/keyboards/sofle/keyhive/readme.md
diff --git a/keyboards/sofle/keyhive/rules.mk b/keyboards/sofle/keyhive/rules.mk
index 00719ebea0..6e7633bfe0 100755..100644
--- a/keyboards/sofle/keyhive/rules.mk
+++ b/keyboards/sofle/keyhive/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-LTO_ENABLE = yes
-SPLIT_KEYBOARD = yes
-OLED_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/config.h b/keyboards/sofle/keymaps/bastien-baloup_fr/config.h
deleted file mode 100644
index dd3b6d8f5a..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
- /* Copyright 2022 Bastien Baloup
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// More lighting options in quantum/rgblight/rgblight.h
-#ifdef RGBLIGHT_ENABLE
-
- // Disabling some of these is a good way to save flash space.
-// #define RGBLIGHT_EFFECT_ALTERNATING
-// #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
-// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_BREATHING
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_CHRISTMAS
-// #define RGBLIGHT_EFFECT_TWINKLE
-
- // Set default lighting option
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2
- // Allow use of LEDs as modifier/layer indicators without disrupting animations.
- #define RGBLIGHT_LAYERS
-
- // Allow compiling to work on sofle/rev1
- #if defined(KEYBOARD_sofle_rev1)
- #define RGBLED_NUM 70
- // D3 for ws2812 RGB LED
- #define WS2812_DI_PIN D3
- #endif
-#endif
-
-// Disabled to save space
-#define NO_ACTION_ONESHOT
-#define NO_MUSIC_MODE
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE
-
-// Limit the number of layers that the firmware can use to save space
-#define LAYER_STATE_8BIT
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c b/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
deleted file mode 100644
index ee207ae34e..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
+++ /dev/null
@@ -1,211 +0,0 @@
- /* Copyright 2022 Bastien Baloup
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- // CL_ keycodes are here for charaters that need capslock on to be inputed.
- CL_AGRV = SAFE_RANGE, // À
- CL_EACU, // É
- CL_EGRV, // È
- // UC_ keycodes uses (ctrl+shift+u)+code+enter to input unicode.
- // I do not use the qmk unicode implementation because it does not uses the right keycodes to input numbers in a french layout.
- UC_PI , // π
- UC_ELIP // …
-};
-
-// Following keymaps are made for the french ISO keyboard layout
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * LOWERcase
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ² | & | é | " | ' | ^ | | ¨ | è | % | ç | à | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | a | z | e | r | t | | y | u | i | o | p | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | q | s | d | f | g |-------. ,-------| h | j | k | l | m | ù |
- * |------+------+------+------+------+------| | | Mute |------+------+------+------+------+------|
- * | MO1 | w | x | c | v | b |-------| |-------| n | , | ; | : | ! | MO1 |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-
-[0] = LAYOUT(
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LBRC, S(KC_LBRC), KC_7 , S(KC_QUOT), KC_9 , KC_0 , TG(3) ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- MO(1) , KC_Z , KC_X , KC_C , KC_V , KC_B , XXXXXXX, KC_MUTE, KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH, MO(1) ,
- KC_LGUI, KC_LALT, KC_LCTL, MO(2) , KC_ENT, KC_SPC, MO(3) , KC_RCTL, KC_RALT, KC_HYPR
-),
-// I use a uppercase layer instead of using the Shift key because I find it easier to change the effect of shift+key chords this way.
-/*
- * UPPERcase
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | A | Z | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | Q | S | D | F | G |-------. ,-------| H | J | K | L | M | µ |
- * |------+------+------+------+------+------| | | Mute |------+------+------+------+------+------|
- * | MO1 | W | X | C | V | B |-------| |-------| N | ? | . | / | § | MO1 |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-[1] = LAYOUT(
- _______, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6) , S(KC_7), S(KC_8) , S(KC_9) , S(KC_0) , _______ ,
- _______, S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), S(KC_Y) , S(KC_U), S(KC_I) , S(KC_O) , S(KC_P) , _______ ,
- _______, S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), S(KC_H) , S(KC_J), S(KC_K) , S(KC_L) , S(KC_SCLN), S(KC_NUHS),
- _______, S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), _______, _______, S(KC_N) , S(KC_M), S(KC_COMM), S(KC_DOT), S(KC_SLSH), _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-// I replaced MO1 with the Shift key in the next layers to be able to use it for some shortcuts.
-
-/* SYMBOLS
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | À | È | É | ( | ) | | = | | | \ | · | @ | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ` | ~ | # | < | > |-------. ,-------| + | - | / | * | ° | … |
- * |------+------+------+------+------+------| | | Play |------+------+------+------+------+------|
- * | Shift| ¤ | [ | ] | { | } |-------| |-------| π | _ | € | $ | £ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|~
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-[2] = LAYOUT(
- KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______, CL_AGRV , CL_EGRV , CL_EACU , KC_5 , KC_MINS , KC_EQL , ALGR(KC_6), ALGR(KC_8), ALGR(KC_COMM), ALGR(KC_0), _______,
- _______, ALGR(KC_7) , ALGR(KC_2), ALGR(KC_3) , KC_NUBS , S(KC_NUBS) , S(KC_EQL), KC_6 , S(KC_DOT) , KC_NUHS , S(KC_MINS), UC_ELIP,
- KC_LSFT, ALGR(KC_RBRC), ALGR(KC_5), ALGR(KC_MINS), ALGR(KC_4), ALGR(KC_EQL), _______, KC_MPLY, UC_PI , KC_8 , ALGR(KC_E), KC_RBRC , S(KC_RBRC), KC_RSFT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* UTILS
- * ,----------------------------------------. ,-----------------------------------------.
- * | | & | é | " | ( | ^ | | CLock|PScr |ScLock| Pause| Ins | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | a | z | e | r | t | | PgUp | Home | Up | End | Del | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | q | s | d | f | g |-------. ,-------| PgDo | Left | Down | Rigth|CALeft|CARigt|
- * |------+------+------+------+------+------| | | Play |------+------+------+------+------+------|
- * |Shift | w | x | c | v | b |-------| |-------| | PWrd | | NWrd | Menu | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_CAPS, KC_PSCR , KC_SCRL, KC_PAUS , KC_INS , _______ ,
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME , KC_UP , KC_END , KC_DEL , _______ ,
- _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT , KC_DOWN, KC_RGHT , C(A(KC_LEFT)), C(A(KC_RGHT)),
- KC_LSFT, _______, _______, _______, _______, _______, _______, KC_MPLY, XXXXXXX, C(KC_LEFT), XXXXXXX, C(KC_RGHT), KC_MENU , KC_RSFT ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-// Custom keycode handling.
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // handling this once instead of in each keycode uses less program memory.
- if (record->event.pressed) {
- switch (keycode) {
- case CL_AGRV:
- // capsLockOn à capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"0"SS_TAP(X_CAPS));
- break;
- case CL_EACU:
- // capsLockOn é capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"2"SS_TAP(X_CAPS));
- break;
- case CL_EGRV:
- // capsLockOn è capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"7"SS_TAP(X_CAPS));
- break;
- case UC_PI:
- // Ctrl+Shift+u 3CO Enter
- tap_code16(LCTL(LSFT(KC_U)));
- tap_code16(S(KC_3));
- tap_code16(KC_C);
- tap_code16(S(KC_0));
- tap_code16(KC_ENT);
- break;
- case UC_ELIP:
- // Ctrl+Shift+u 2026 Enter
- tap_code16(LCTL(LSFT(KC_U)));
- tap_code16(S(KC_2));
- tap_code16(S(KC_0));
- tap_code16(S(KC_2));
- tap_code16(S(KC_6));
- tap_code16(KC_ENT);
- break;
- }
- }
- // this uses less memory than returning in each case.
- return keycode < SAFE_RANGE;
-};
-
-#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-// This section is like the keymap matrix, but for rotary encoders
-// My left encoder is currently not working, so I'm using Layers instead
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
- [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
-};
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-// This section define RGB_Lighting overrides by layers
-
-const rgblight_segment_t PROGMEM rgb_layer_1[] = RGBLIGHT_LAYER_SEGMENTS(
- {30, 6, HSV_TURQUOISE},
- {38, 6, HSV_TURQUOISE}
-);
-const rgblight_segment_t PROGMEM rgb_layer_2[] = RGBLIGHT_LAYER_SEGMENTS(
- {30, 6, HSV_TEAL},
- {38, 6, HSV_TEAL}
-);
-const rgblight_segment_t PROGMEM rgb_layer_3[] = RGBLIGHT_LAYER_SEGMENTS(
- {38, 6, HSV_PURPLE}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- rgb_layer_1, // Overrides for layer 1
- rgb_layer_2, // Overrides for layer 2
- rgb_layer_3 // Overrides for layer 3
-);
-
-// Enable the LED layers
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-// Set activation conditions for each LED layers
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, 1));
- rgblight_set_layer_state(1, layer_state_cmp(state, 2));
- rgblight_set_layer_state(2, layer_state_cmp(state, 3));
- return state;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md b/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md
deleted file mode 100644
index 315f172a74..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-![Bastien-Baloup_FR keymap for sofle keyboard](https://i.imgur.com/Zlv1dj1h.jpg)
-
-# Bastien-Baloup's French keymap for sofle keyboard
-
-Keymap based on the french azerty keyboard layout.
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk b/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk
deleted file mode 100644
index e3a0bd5193..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-RGBLIGHT_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-OLED_ENABLE = no
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
diff --git a/keyboards/sofle/keymaps/default/config.h b/keyboards/sofle/keymaps/default/config.h
deleted file mode 100644
index c5494c20aa..0000000000
--- a/keyboards/sofle/keymaps/default/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-/* The way how "handedness" is decided (which half is which),
-see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
-for more options.
-*/
diff --git a/keyboards/sofle/keymaps/default/keymap.c b/keyboards/sofle/keymaps/default/keymap.c
index 377b4498e6..37996c3e41 100644
--- a/keyboards/sofle/keymaps/default/keymap.c
+++ b/keyboards/sofle/keymaps/default/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum sofle_layers {
@@ -10,16 +12,14 @@ enum sofle_layers {
};
enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
+ KC_QWERTY = QK_USER,
KC_COLEMAK,
KC_PRVWD,
KC_NXTWD,
KC_LSTRT,
- KC_LEND,
- KC_DLINE
+ KC_LEND
};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* QWERTY
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL, MO(_LOWER), KC_ENT, KC_SPC, MO(_RAISE), KC_RCTL, KC_RALT, KC_RGUI
+ KC_LGUI,KC_LALT,KC_LCTL, TL_LOWR, KC_ENT, KC_SPC, TL_UPPR, KC_RCTL, KC_RALT, KC_RGUI
),
/*
* COLEMAK
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL,MO(_LOWER), KC_ENT, KC_SPC, MO(_RAISE), KC_RCTL, KC_RALT, KC_RGUI
+ KC_LGUI,KC_LALT,KC_LCTL,TL_LOWR, KC_ENT, KC_SPC, TL_UPPR, KC_RCTL, KC_RALT, KC_RGUI
),
/* LOWER
* ,-----------------------------------------. ,-----------------------------------------.
@@ -104,9 +104,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
_______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
+ _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,C(KC_BSPC), KC_BSPC,
_______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
+ _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* ADJUST
@@ -132,86 +132,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-#ifdef OLED_ENABLE
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("\n\n"), false);
- oled_write_ln_P(PSTR("MODE"), false);
- oled_write_ln_P(PSTR(""), false);
- if (keymap_config.swap_lctl_lgui) {
- oled_write_ln_P(PSTR("MAC"), false);
- } else {
- oled_write_ln_P(PSTR("WIN"), false);
- }
-
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- case _COLEMAK:
- oled_write_ln_P(PSTR("Clmk"), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adj\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_QWERTY:
@@ -298,73 +218,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
break;
- case KC_DLINE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- case KC_COPY:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_C);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_C);
- }
- return false;
- case KC_PASTE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_V);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_V);
- }
- return false;
- case KC_CUT:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_X);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_X);
- }
- return false;
- break;
- case KC_UNDO:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_Z);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_Z);
- }
- return false;
}
return true;
}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/default/readme.md b/keyboards/sofle/keymaps/default/readme.md
index 6d6dea228c..879513af06 100644
--- a/keyboards/sofle/keymaps/default/readme.md
+++ b/keyboards/sofle/keymaps/default/readme.md
@@ -1,12 +1,10 @@
-![SofleKeyboard default keymap](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard.png)
-![SofleKeyboard adjust layer](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard_layout_adjust.png)
-
+![SofleKeyboard default keymap](https://i.imgur.com/MZxVvm9.png)
+![SofleKeyboard adjust layer](https://i.imgur.com/f5sKy0I.png)
# Default keymap for Sofle Keyboard
Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4)
-
Features:
- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
@@ -15,5 +13,3 @@ Features:
- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer (the red one in the image). Designed to simplify transtions when switching between operating systems often.
- The OLED on master half shows selected mode and caps lock state and is rotated.
- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
-
-
diff --git a/keyboards/sofle/keymaps/default/rules.mk b/keyboards/sofle/keymaps/default/rules.mk
index ab79c07969..7c9bf212a6 100644
--- a/keyboards/sofle/keymaps/default/rules.mk
+++ b/keyboards/sofle/keymaps/default/rules.mk
@@ -1,5 +1 @@
-
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
+TRI_LAYER_ENABLE = yes
diff --git a/keyboards/sofle/keymaps/flare576/config.h b/keyboards/sofle/keymaps/flare576/config.h
deleted file mode 100644
index c89f38c127..0000000000
--- a/keyboards/sofle/keymaps/flare576/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@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 MAIN_BOARD
-#define MASTER_RIGHT
-#define ENCODER_DIRECTION_FLIP
-#define OLED_TIMEOUT 10000
-
-#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-#define TAPPING_TERM_PER_KEY
-
-#ifdef ENCODER_RESOLUTION
- #undef ENCODER_RESOLUTION
-#endif
-#define ENCODER_RESOLUTION 4
-
-#ifdef TAPPING_TERM
- #undef TAPPING_TERM
-#endif
-#define TAPPING_TERM 200
-
-#undef MANUFACTURER
-#define MANUFACTURER "Flare576"
diff --git a/keyboards/sofle/keymaps/flare576/enums.h b/keyboards/sofle/keymaps/flare576/enums.h
deleted file mode 100644
index 7edcc1110f..0000000000
--- a/keyboards/sofle/keymaps/flare576/enums.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@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
-enum _layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _BASE,
- _MOUS,
- _SYMS,
- _FF14,
- _ESDF,
-};
-
-enum custom_keycodes {
- _COMP1 = SAFE_RANGE,
- _COMP2,
-};
-
-enum custom_tapdance {
- TD_PLAY,
- TD_HOME,
-};
diff --git a/keyboards/sofle/keymaps/flare576/graphics.c b/keyboards/sofle/keymaps/flare576/graphics.c
deleted file mode 100644
index 8cade61668..0000000000
--- a/keyboards/sofle/keymaps/flare576/graphics.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "enums.h"
-#include "logos.h"
-int current_wpm = -1; // Enable screen-on at startup
-bool isJumping = false;
-bool showedJump = true;
-
-#ifdef OLED_DRIVER_ENABLE
-
-#ifdef MAIN_BOARD
-static void render_logos(void){}
-void luna_jump(bool newJump){
- isJumping = newJump;
- if (newJump) {
- showedJump = false;
- }
-}
-
-// START Luna vars
-#define MIN_WALK_SPEED 10
-#define MIN_RUN_SPEED 40
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-#define ANIM_SIZE 96 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint8_t current_frame = 0;
-
-bool isSneaking = false;
-static void render_luna(int LUNA_X, int LUNA_Y) {
-
- static const char PROGMEM sit[2][ANIM_SIZE] = {
- // 'sit1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'sit2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- }
- };
-
- static const char PROGMEM walk[2][ANIM_SIZE] = {
- // 'walk1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80,
- 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03,
- 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'walk2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e,
- 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- static const char PROGMEM run[2][ANIM_SIZE] = {
- // 'run1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01,
- 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'run2', 32x22px
- {
- 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37,
- 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- static const char PROGMEM sneak[2][ANIM_SIZE] = {
- // 'sneak1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04,
- 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06,
- 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'sneak2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04,
- 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04,
- 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- // animation state
- void animation_phase(void) {
-
- if (isJumping || !showedJump) {
-
- // clear
- oled_set_cursor(LUNA_X,LUNA_Y +2);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X,LUNA_Y -1);
-
- showedJump = true;
- } else {
-
- // clear
- oled_set_cursor(LUNA_X,LUNA_Y -1);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X,LUNA_Y);
- }
-
- current_frame = (current_frame + 1) % 2;
-
- if(isSneaking) {
- oled_write_raw_P(sneak[current_frame], ANIM_SIZE);
-
- } else if(current_wpm <= MIN_WALK_SPEED) {
- oled_write_raw_P(sit[current_frame], ANIM_SIZE);
-
- } else if(current_wpm <= MIN_RUN_SPEED) {
- oled_write_raw_P(walk[current_frame], ANIM_SIZE);
-
- } else {
- oled_write_raw_P(run[current_frame], ANIM_SIZE);
- }
- }
-
- // animation timer
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
-}
-// END Luna vars
-
-
-static void main_board(void) {
- int layer = get_highest_layer(layer_state);
- isSneaking = false;
- // Print current mode
- oled_write_ln_P(PSTR("Flare"), false);
- oled_write_ln_P(PSTR("Sofle"), false);
- if (layer == _FF14) {
- oled_write_raw_P(ffxiv, 16*8);
- } else if (keymap_config.swap_lalt_lgui) {
- oled_write_raw_P(windows, 16*8);
- } else {
- oled_write_raw_P(apple, 16*8);
- }
- oled_set_cursor(0, 9);
-
- switch (layer) {
- case _BASE:
- oled_write_ln_P(PSTR("ALL"), false);
- oled_write_P(PSTR(" YOUR"), false);
- oled_write_ln_P(PSTR("BASE"), false);
- break;
- case _MOUS:
- isSneaking = true;
- oled_write_ln_P(PSTR("Mouse"), false);
- break;
- case _SYMS:
- oled_write_ln_P(PSTR("@$*&#"), false);
- break;
- case _FF14:
- oled_write_ln_P(PSTR("FFXIV"), false);
- break;
- case _ESDF:
- oled_write_ln_P(PSTR("ESDF "), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- if (layer != _BASE) {
- oled_write_P(PSTR("\n"), false);
- }
-
- // Don't re-write if not in use
- if (current_wpm > 0) {
- render_luna(0,13);
- }
-}
-
-// End "MAIN_BOARD"
-#else
-static void main_board(void){}
-static void luna_jump(bool newJump){}
-
-#define MARQUEE_FRAME_DURATION 200 // how long each frame lasts in ms
-#define LOGO_BYTES 128
-#define LOGO_COUNT 7
-static const char *const secondary_logos[] = { js, apple, docker, python, qmk, brew, windows };
-#define MARQUEE_FRAMES (LOGO_COUNT * 4)
-#define MARQUEE_SIZE ( LOGO_COUNT * LOGO_BYTES)
-#define MARQUEE_SCROLL_UP true
-uint32_t marquee_timer = 0;
-uint32_t marquee_frame = 0;
-
-static void render_logos(void) {
- void marquee_phase(void) {
- marquee_frame = (marquee_frame + 1) % MARQUEE_FRAMES;
- int marquee_start = MARQUEE_SIZE - (marquee_frame * 32);
- static char output[MARQUEE_SIZE];
- for (int i = 0; i < LOGO_COUNT; i++) {
- for (int j = 0; j < LOGO_BYTES; j++) {
- int pos = ( i * LOGO_BYTES + j + marquee_start ) % MARQUEE_SIZE;
- output[pos] = pgm_read_byte_near(secondary_logos[i] + j);
- }
- }
- oled_write_raw(output, MARQUEE_SIZE);
- }
-
- // animation timer
- if(timer_elapsed32(marquee_timer) > MARQUEE_FRAME_DURATION) {
- marquee_timer = timer_read32();
- marquee_phase();
- }
-}
-
-// End "MAIN_BOARD" false
-#endif
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
-
-void oled_task_user(void) {
- // Prevent blank screen on startup
- if (current_wpm == -1) {
- set_current_wpm(10);
- }
- current_wpm = get_current_wpm();
- if (is_keyboard_master()) {
- // can't gate main_board on wpm; won't get mode changes that don't trigger wpm
- main_board();
- } else if (current_wpm > 0) {
- render_logos();
- }
-}
-
-// End "OLED_DRIVER_ENABLE"
-#else
-static void luna_jump(bool newJump){}
-// End "OLED_DRIVER_ENABLE" false
-#endif
diff --git a/keyboards/sofle/keymaps/flare576/graphics.h b/keyboards/sofle/keymaps/flare576/graphics.h
deleted file mode 100644
index 3979ee43d9..0000000000
--- a/keyboards/sofle/keymaps/flare576/graphics.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@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/>.
- */
-void luna_jump(bool newJump);
diff --git a/keyboards/sofle/keymaps/flare576/keymap.c b/keyboards/sofle/keymaps/flare576/keymap.c
deleted file mode 100644
index 57784d633b..0000000000
--- a/keyboards/sofle/keymaps/flare576/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include "print.h"
-#include "enums.h"
-#include "graphics.h"
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_PLAY] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MNXT),
- [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END),
-};
-
-#define KC_TPLY TD(TD_PLAY)
-#define KC_THME TD(TD_HOME)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * BASE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |Alt/Tb| Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| PLAY | | PAGE |------+------+------+------+------+------|
- * |LCtrl | Z | X | C | V | B |-------| |-------| N | M | , | . | / |+/SHFT|
- * `-----------------------------------------/ / \Enter \-----------------------------------------'
- * | ESDF | LAlt | ESC/ | LGUI | /Space / \ or \ | Bspc | Alt+ |Delete|FFXIV |
- * | | |Symbol| |/ / \Mouse \ | |Shift | | |
- * `----------------------------------' '------''---------------------------'
- *
- * Note: Apple's keyboard settings don't seem to discern right- and left-ALT, so swapping keys there breaks TAB & META
- */
-[_BASE] = 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,
- RALT_T(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_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_TPLY, KC_THME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_PLUS),
- TG(_ESDF), KC_LALT, LT(_SYMS,KC_ESC), KC_LGUI, KC_SPC, LT(_MOUS, KC_ENT), KC_BSPC, RSFT(KC_RALT), KC_DEL, TG(_FF14)
-),
-
-/*
- * MOUS
- * ,-----------------------------------------. ,-----------------------------------------.
- * |CTRL+W|ALT+A | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS |PRNTSC| | M UP | HOME | PGUP | |M Wl U|M Wl D|M Wl L|M Wl R| |COMP1 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS |SC LCK|M LFT |M DWN |M RGHT| |-------. ,-------| UP | DOWN | LEFT |RIGHT | |COMP2 |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- * | TRNS |PAUSE | | | END | PGDN |-------| |-------|MOUS1 |MOUS2 | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | TRNS | TRNS |TRNS | / TRNS / \ TRNS \ |MOUS3 |MOUS4 |MOUS5 | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_MOUS] = LAYOUT(
- LCTL(KC_W), LALT(KC_A), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_PSCR, XXXXXXX, KC_MS_U, KC_HOME, KC_PGUP, KC_WH_U, KC_WH_D, KC_WH_L, KC_WH_R, XXXXXXX, _COMP1,
- _______, KC_SCRL, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _COMP2,
- _______, KC_PAUS, XXXXXXX, XXXXXXX, KC_END, KC_PGDN, _______, _______, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, _______, _______, _______, _______, _______, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX
-),
-
-/* SYMS
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | { | } | | QK_BOOT|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | F6 | F7 | F8 | F9 | F10 | | | | ( | ) | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | F11 | F12 | F13 | F14 | F15 |-------. ,-------| | | [ | ] | | |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- | TRNS | UNDO | CUT | COPY |PASTE | F20 |-------| |-------| | | < | > | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | TRNS | TRNS | TRNS | TRNS | / TRNS / \ TRNS \ | TRNS | TRNS | TRNS | TRNS |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_SYMS] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, QK_BOOT,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX,
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX,
- _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), KC_F20, _______, _______, XXXXXXX, XXXXXXX, KC_LT, KC_GT, XXXXXXX, XXXXXXX,
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX
-),
-
-/* FF14
- * ,-----------------------------------------. ,-----------------------------------------.
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | TRNS | TRNS | TRNS | TRNS | TRNS | | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |-------. ,-------| TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |-------| |-------| TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | ESDF | | ESC | TRNS | / TRNS / \ TRNS \ | TRNS |PrntSc| TRNS | TRNS |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_FF14] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- TO(_ESDF), XXXXXXX, KC_ESC, _______, _______, _______, _______, KC_PSCR, _______, _______
-),
-
-/* ESDF
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | T | Tab | Q | W | E | R | | Ctl-Y| Ctl-U| Ctl-I| Ctl-O| Ctl-P| PGUP |
- * |------|------+------+------+------+------+ |------+------+------+------+------+------|
- * | G |LShift| A | S | D | F |-------. ,-------| Ctl-H| Ctl-J| Ctl-K| Ctl-L| Ctl-;| PGDN |
- * |------|------+------+------+------+------+ | | |------+------+------+------+------+------|
- * | LCtrl| Z | X | C | V | B |-------| |-------| Ctl-N| Ctl-M| Ctl-,| Ctl-.| Ctl-/| M |
- * `-----------------------------------------/ / \Enter \-----------------------------------------'
- * | TRNS | | ESC | LAlt | /Space / \ \ |PrnScr| | | FF14 |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_ESDF] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, RCTL(KC_Y), RCTL(KC_U), RCTL(KC_I), RCTL(KC_O), RCTL(KC_P), KC_PGUP,
- KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, RCTL(KC_H), RCTL(KC_J), RCTL(KC_K), RCTL(KC_L), RCTL(KC_SCLN), KC_PGDN,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, RCTL(KC_N), RCTL(KC_M), RCTL(KC_COMM), RCTL(KC_DOT), RCTL(KC_SLSH), KC_M,
- _______, XXXXXXX, _______, _______, _______, _______, _______, KC_PSCR, _______, TO(_FF14)
-)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case _COMP1:
- if (record->event.pressed) {
- // SEND_STRING(SS_TAP(X_RCTL) SS_DELAY(100) SS_TAP(X_RCTL) SS_DELAY(100) "1" SS_TAP(X_ENTER));
- keymap_config.swap_lalt_lgui = false;
- }
- return false;
- case _COMP2:
- if (record->event.pressed) {
- // SEND_STRING(SS_TAP(X_RCTL) SS_DELAY(100) SS_TAP(X_RCTL) SS_DELAY(100) "2" SS_TAP(X_ENTER));
- keymap_config.swap_lalt_lgui = true;
- }
- return false;
- case KC_SPC:
- luna_jump(record->event.pressed);
- break;
- }
- return true;
-}
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_THME:
- case KC_TPLY:
- return TAPPING_TERM + 250;
- default:
- return TAPPING_TERM;
- }
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/flare576/logos.h b/keyboards/sofle/keymaps/flare576/logos.h
deleted file mode 100644
index 18de1b3d52..0000000000
--- a/keyboards/sofle/keymaps/flare576/logos.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@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/>.
- */
-static const char PROGMEM ffxiv[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0x00, 0xf0, 0xc0, 0xe0, 0x80, 0x00, 0x02,
- 0x0c, 0x2e, 0xfc, 0xfc, 0xfc, 0xfc, 0x78, 0x78, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x3f, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8,
- 0xf8, 0xf8, 0xf1, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xb0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x7b, 0xdf, 0x1f, 0x3f, 0x3f,
- 0x1f, 0x1f, 0x3f, 0x5f, 0x9f, 0x8f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x06, 0x07, 0x0f, 0x1c, 0x74,
- 0x0c, 0x0d, 0x09, 0x09, 0x11, 0x01, 0x03, 0x03, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-static const char PROGMEM windows[] = {
- 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0xf8,
- 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe,
- 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
- 0x00, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x00, 0x1f,
- 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00
-};
-static const char PROGMEM apple[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x78, 0x7c, 0x7e, 0x3e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
- 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00
-};
-const char PROGMEM docker[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
- 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x80, 0xb0, 0xb0, 0xb0, 0x80, 0xb7, 0xb7, 0xb7, 0x80, 0xb7, 0xb7, 0xb7, 0x80, 0xb7,
- 0xb7, 0xb7, 0x80, 0xb0, 0xb0, 0xb0, 0x80, 0x80, 0xfe, 0xfe, 0xfc, 0xf0, 0xf0, 0xf0, 0x70, 0x00,
- 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03,
- 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM python[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7e, 0x66, 0x66, 0x67, 0x7f, 0x7f, 0x7f,
- 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x9f, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0,
- 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf9, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0f,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff,
- 0xfe, 0xfe, 0xfe, 0xe6, 0x66, 0x66, 0x7e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM js[] = {
- 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x1e, 0x9f,
- 0x9e, 0x1e, 0x3c, 0x3c, 0x78, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0xf1, 0xf8, 0xfc, 0xfc, 0x06, 0x06, 0xff, 0x0f,
- 0x0f, 0x67, 0x67, 0xe6, 0xcc, 0x8c, 0xf8, 0xf9, 0x01, 0x03, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x80, 0x1f, 0x3f, 0x3f, 0x3f, 0x00, 0x80, 0xff, 0xe3,
- 0xe2, 0xce, 0xce, 0x4c, 0x64, 0x20, 0x11, 0x9f, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3c, 0x3c, 0x78, 0x79,
- 0xf9, 0x78, 0x3c, 0x3c, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM qmk[] = {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8,
- 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x99, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf1, 0xf3, 0xe3, 0xe7, 0x00,
- 0x00, 0xe7, 0xe3, 0xf3, 0xf1, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x99, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f,
- 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM brew[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe7, 0xff, 0xfe, 0xfc, 0xf8, 0xfe,
- 0xe4, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0x43, 0x41, 0x41, 0x4b, 0xcf, 0x87, 0x87, 0x8f,
- 0x87, 0x03, 0x03, 0xc3, 0x47, 0xe7, 0xa4, 0xb8, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x02, 0x03, 0x00, 0xfe, 0x02, 0x02, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0xc0, 0x40, 0x7b, 0x0a, 0x0a, 0x0b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
diff --git a/keyboards/sofle/keymaps/flare576/readme.md b/keyboards/sofle/keymaps/flare576/readme.md
deleted file mode 100644
index 9f8ad5f248..0000000000
--- a/keyboards/sofle/keymaps/flare576/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-![Flare576 Keycaps](https://raw.githubusercontent.com/Flare576/sofle/main/images/keycaps.png)
-![Flare576 Chord Guide](https://raw.githubusercontent.com/Flare576/sofle/main/images/chords.png)
-
-# Flare576's keymap for Sofle Keyboard
-
-[Layout](http://www.keyboard-layout-editor.com/#/gists/fb8b42a6156458e20ca421a6f80cec48) and [Chord Mapping](http://www.keyboard-layout-editor.com/#/gists/884e3bc833cdf80fed9337ffee93a500) in Keyboard Layout Manager
-
-
-Features:
-
-- WASD -> ESDF Gaming layer
-- Mouse/Arrow Keys Layer with **amazing** rates
-- Tap/Hold keys for `=/+`/`SHIFT`, `TAB`/`ALT`
-- Bracket layer with Fn Keys
-- Right-hand primary OLED
- * Mode logo
- * Mode title
- * Luna WPM indicator
-- Left-hand secondary OLED scrolling logo marquee
-- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN/Home.
-
-See [My Sofle Project](https://github.com/flare576/sofle) for more details
diff --git a/keyboards/sofle/keymaps/flare576/rules.mk b/keyboards/sofle/keymaps/flare576/rules.mk
deleted file mode 100644
index abfcc01d94..0000000000
--- a/keyboards/sofle/keymaps/flare576/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-MOUSEKEY_ENABLE = yes
-ENCODER_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-WPM_ENABLE = yes
-SRC += graphics.c
diff --git a/keyboards/sofle/keymaps/foureight84/config.h b/keyboards/sofle/keymaps/foureight84/config.h
deleted file mode 100644
index 2104124f3a..0000000000
--- a/keyboards/sofle/keymaps/foureight84/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2022 Khoa Truong <foureight84@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define EE_HANDS
-
-/* clear default encoder def */
-#undef TAP_CODE_DELAY
-
-/* encoder support */
-#define TAP_CODE_DELAY 100
-
-#define SPLIT_WPM_ENABLE
-#define SPLIT_OLED_ENABLE
-
-#define POINTING_DEVICE_ROTATION_90
-#define SPLIT_POINTING_ENABLE
-#define POINTING_DEVICE_RIGHT
-#define POINTING_DEVICE_TASK_THROTTLE_MS 8 \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/keymap.c b/keyboards/sofle/keymaps/foureight84/keymap.c
deleted file mode 100644
index e05eca7a7f..0000000000
--- a/keyboards/sofle/keymaps/foureight84/keymap.c
+++ /dev/null
@@ -1,616 +0,0 @@
-/* Copyright 2022 Khoa Truong <foureight84@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <string.h>
-#include "lib/lib8tion/lib8tion.h"
-
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _COLEMAK,
- _LOWER,
- _RAISE,
- _ADJUST,
- _MOUSE,
-};
-
-enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
- KC_COLEMAK,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE,
- KC_MOUSE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCtrl | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | [ | LGUI | LAlt |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | ] |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_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_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LBRC ,KC_LGUI, KC_LALT, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RBRC
-),
-/*
- * COLEMAK
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_COLEMAK] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | MOUSE| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_MOUSE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MPLY | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, KC_MPLY, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /* MOUSE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------|MS_BT1|MS_BT2| | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_MOUSE] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("\n\n"), false);
- oled_write_ln_P(PSTR("MODE"), false);
- oled_write_ln_P(PSTR(""), false);
- if (keymap_config.swap_lctl_lgui) {
- oled_write_ln_P(PSTR("MAC"), false);
- } else {
- oled_write_ln_P(PSTR("WIN"), false);
- }
-
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- case _COLEMAK:
- oled_write_ln_P(PSTR("Clmk"), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adj\n"), false);
- break;
- case _MOUSE:
- oled_write_P(PSTR("Mouse\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
-
- if (!is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-
-/* Animation bit by j-inc https://github.com/qmk/qmk_firmware/tree/master/keyboards/kyria/keymaps/j-inc */
-// WPM-responsive animation stuff here
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 40 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-#define TAP_FRAMES 2
-#define TAP_SPEED 60 // above this wpm value typing animation to triggere
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-#define ANIM_SIZE 320 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
-uint8_t current_tap_frame = 0;
-
-// Implementation credit j-inc(/James Incandenza), pixelbenny, and obosob.
-// Bongo cat images changed and adapted for sofle keyboard oled size.
-// Original gif can be found here: https://www.pixilart.com/art/bongo-cat-bd2a8e9323aa705
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
- 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
- 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
- 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
- }
- };
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0x7c, 0x70, 0x40, 0x40,
- 0x61, 0x5e, 0x80, 0xc0, 0xbc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0f, 0x3f, 0xf8, 0xf0, 0xf0, 0x20,
- 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
- 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
- },
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
- 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
- 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0f, 0x3f, 0xff, 0x03, 0x01, 0x03, 0x07, 0x18, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf3, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01
- },
- };
-
- //assumes 1 frame prep stage
- void animation_phase(void) {
- if(get_current_wpm() <=IDLE_SPEED){
- oled_write_raw_P(idle[0], ANIM_SIZE);
- }
- if(get_current_wpm() >=TAP_SPEED){
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
- if(get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_anim();
- oled_set_cursor(1,12);
- oled_write_P(PSTR("WPM"), false);
- oled_set_cursor(1,13);
- oled_write(get_u8_str(get_current_wpm(), '0'), false);
- }
- return false;
-}
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- case KC_COPY:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_C);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_C);
- }
- return false;
- case KC_PASTE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_V);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_V);
- }
- return false;
- case KC_CUT:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_X);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_X);
- }
- return false;
- break;
- case KC_UNDO:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_Z);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_Z);
- }
- return false;
- case KC_MOUSE:
- if (record->event.pressed) {
- layer_on(_MOUSE);
- } else {
- layer_off(_MOUSE);
- }
- return false;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- break;
-
- case _RAISE:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MPRV);
- } else {
- tap_code(KC_MNXT);
- }
- }
- break;
- }
- return true;
-}
-
-#endif
-
-static uint32_t last_mouse_activity = 0;
-static report_mouse_t last_mouse_report = {0};
-static bool is_scrolling = false;
-
-report_mouse_t smooth_mouse_movement(report_mouse_t mouse_report) {
- // Linear interpolation and ease-in-out
- static fract8 fract = 0.5;
- int8_t x = 0;
- int8_t y = 0;
- int8_t h = 0;
- int8_t v = 0;
-
- if (!is_scrolling) {
- x = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
- y = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
- } else {
- h = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
- v = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
- }
-
- // update the new smoothed report
- mouse_report.x = x;
- mouse_report.y = y;
- mouse_report.h = h;
- mouse_report.v = v;
-
- return mouse_report;
-}
-
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
-
- if (has_mouse_report_changed(&last_mouse_report, &mouse_report)) {
- last_mouse_activity = timer_read32();
- memcpy(&last_mouse_report, &mouse_report, sizeof(mouse_report));
- }
-
- return smooth_mouse_movement(mouse_report);
-} \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/readme.md b/keyboards/sofle/keymaps/foureight84/readme.md
deleted file mode 100644
index e88b0e04f6..0000000000
--- a/keyboards/sofle/keymaps/foureight84/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-For more information on integrating the Pimoroni Trackball, please see: https://github.com/foureight84/sofle-keyboard-pimoroni
diff --git a/keyboards/sofle/keymaps/foureight84/rules.mk b/keyboards/sofle/keymaps/foureight84/rules.mk
deleted file mode 100644
index 102742ab1c..0000000000
--- a/keyboards/sofle/keymaps/foureight84/rules.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-WPM_ENABLE = yes
-
-#Debug options
-VERBOSE = no
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-
-LTO_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
-
-VIA_ENABLE = no
-
-POINTING_DEVICE_ENABLE = yes
-POINTING_DEVICE_DRIVER = pimoroni_trackball
-
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-MUSIC_ENABLE = no \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c b/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c
deleted file mode 100644
index 9faaccd38f..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef ENCODER_ENABLE
-# include QMK_KEYBOARD_H
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c b/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c
deleted file mode 100644
index 87677c78af..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[0] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MT(MOD_LCTL, 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, TO(2), TO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, MO(2), KC_ENT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_RGUI
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |LShift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* LOWER
- * ,----------------------------------------. ,-----------------------------------------.
- * | | Pscr | Slck |Pause | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Ins | Home | PgUp | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Del | End | PgDn | | |-------. ,-------| Left | Down | Up | Right | | |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[2] = LAYOUT(
- _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______,
- _______, KC_DEL, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX,
- _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/oled.c b/keyboards/sofle/keymaps/j4ckofalltrades/oled.c
deleted file mode 100644
index de561bd0fa..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/oled.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef OLED_ENABLE
-# include QMK_KEYBOARD_H
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void print_status_narrow(void) {
- oled_write_P(PSTR("Sofle"), false);
- oled_write_P(PSTR("\n\n\n"), false);
- // Print current mode
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- default:
- oled_write_P(PSTR("Mod\n"), false);
- break;
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case 1:
- oled_write_P(PSTR("Raise"), false);
- break;
- case 2:
- oled_write_P(PSTR("Lower"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/readme.md b/keyboards/sofle/keymaps/j4ckofalltrades/readme.md
deleted file mode 100644
index bb232ef625..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-![SofleKeyboard custom keymap](https://raw.githubusercontent.com/j4ckofalltrades/keebs/master/sofle/assets/soflekeyboard.png)
-
-# Via-compatible custom keymap for Sofle
-
-Modified version of default Via-compatible keymap with focus on adding a standard navigation cluster layer plus some
-Vim-inspired features e.g. soft escape (Esc when held, Ctrl when tapped), using 'h', 'j', 'k', 'l' as arrow keys.
-
-## Layout
-
-View in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/a1f6519e723ad81ca151741b53a28b80)
-
-## Features
-
-- Via support
-- Mode for soft escape (`Esc` when tapped, `Ctrl` when held)
-- Vim-style navigation (`h` `j` `k` `l` as arrow keys)
-- Mode for standard navigation cluster
-- Toggling between layers when encoders are pressed
-- Left encoder controls `VOLUP`/`VOLDOWN`. Right encoder `PGUP`/`PGDN`.
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk b/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk
deleted file mode 100644
index dc95fd5b77..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-SRC += oled.c encoder.c
diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h
deleted file mode 100644
index 10c9ea450e..0000000000
--- a/keyboards/sofle/keymaps/killmaster/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 Carlos Martins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-/* The way how "handedness" is decided (which half is which),
-see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
-for more options.
-*/
-
-#define WS2812_DI_PIN D3
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGBLED_NUM 72
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_HUE_STEP 8
-#define RGB_MATRIX_SAT_STEP 8
-#define RGB_MATRIX_VAL_STEP 8
-#define RGB_MATRIX_SPD_STEP 10
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_SPLIT {36,36}
-#define SPLIT_TRANSPORT_MIRROR
-
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_SPLIT
-#define RGBLED_NUM 70
-#define RGB_SPLIT {36,36}
-#define RGBLIGHT_LIMIT_VAL 120
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// #define RGBLIGHT_EFFECT_BREATHING
- //#define RGBLIGHT_EFFECT_RAINBOW_MOOD
- //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
-#define MEDIA_KEY_DELAY 2
-
-#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c
deleted file mode 100644
index 65c02bb952..0000000000
--- a/keyboards/sofle/keymaps/killmaster/keymap.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/* Copyright 2021 Carlos Martins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <stdio.h>
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LGUI,KC_LALT,KC_LCTL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | |RGBTog| | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______,
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
-
-static void render_logo(void) {
- static const char PROGMEM bananas_logo[] = {
- // 'killmaster_bananas', 128x32px
- 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0x02, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
- 0x00, 0x00, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0xd8, 0xc8, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00, 0x00, 0x40, 0x40, 0xf0,
- 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00,
- 0x40, 0xc0, 0x80, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0,
- 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
- 0x02, 0x07, 0x0d, 0x10, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20,
- 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x1c, 0x36, 0x22, 0x22, 0x22,
- 0x1f, 0x20, 0x00, 0x00, 0x10, 0x23, 0x22, 0x22, 0x26, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x1f,
- 0x30, 0x20, 0x20, 0x20, 0x00, 0x00, 0x0f, 0x1f, 0x32, 0x22, 0x22, 0x32, 0x23, 0x00, 0x00, 0x00,
- 0x20, 0x3f, 0x21, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f,
- 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3e, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(bananas_logo, sizeof(bananas_logo));
-}
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("Sofle"), false);
- oled_write_P(PSTR("\n\n\n"), false);
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("QWERT"), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("Layer"), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adj\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- else {
- return OLED_ROTATION_180;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-
-
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- uint8_t temp_mod = get_mods();
- uint8_t temp_osm = get_oneshot_mods();
- bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL;
- bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT;
-
- if (is_shift) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- rgb_matrix_increase_hue();
- } else {
- rgb_matrix_decrease_hue();
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- rgb_matrix_decrease_sat();
- } else {
- rgb_matrix_increase_sat();
- }
- }
- } else if (is_ctrl) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- rgb_matrix_increase_val();
- } else {
- rgb_matrix_decrease_val();
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- rgb_matrix_increase_speed();
- } else {
- rgb_matrix_decrease_speed();
- }
- }
- } else {
- if (index == 1) { /* First encoder */
- if (clockwise) {
- tap_code(KC_PGUP);
- // tap_code(KC_MS_WH_UP);
- } else {
- tap_code(KC_PGDN);
- // tap_code(KC_MS_WH_DOWN);
- }
- } else if (index == 0) { /* Second encoder */
- uint16_t mapped_code = 0;
- if (clockwise) {
- mapped_code = KC_VOLD;
- } else {
- mapped_code = KC_VOLU;
- }
- tap_code_delay(mapped_code, MEDIA_KEY_DELAY);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/killmaster/readme.md b/keyboards/sofle/keymaps/killmaster/readme.md
deleted file mode 100644
index 6d6dea228c..0000000000
--- a/keyboards/sofle/keymaps/killmaster/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-![SofleKeyboard default keymap](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard.png)
-![SofleKeyboard adjust layer](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard_layout_adjust.png)
-
-
-# Default keymap for Sofle Keyboard
-
-Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4)
-
-
-Features:
-
-- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
-- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM.
-- Modes for Qwerty and Colemak support
-- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer (the red one in the image). Designed to simplify transtions when switching between operating systems often.
-- The OLED on master half shows selected mode and caps lock state and is rotated.
-- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
-
-
diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk
deleted file mode 100644
index 95b415488c..0000000000
--- a/keyboards/sofle/keymaps/killmaster/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-EXTRAKEY_ENABLE = yes
-LTO_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = ws2812
diff --git a/keyboards/sofle/keymaps/michal/config.h b/keyboards/sofle/keymaps/michal/config.h
deleted file mode 100644
index 0f326f7605..0000000000
--- a/keyboards/sofle/keymaps/michal/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2023 Michal S. (@not-my-segfault)
-// SPDX-License-Identifier: GPL-3.0-only
-
-#pragma once
-
-// I don't use too many layers, so this is more than enough
-#define LAYER_STATE_8BIT
-
-// Saving space
-#define NO_ACTION_ONESHOT
-#define NO_ACTION_TAPPING
-#define NO_MUSIC_MODE
-
-// If I recall correctly, these aren't necessary for the sofle
-// so i disable them to save more space.
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/michal/keymap.c b/keyboards/sofle/keymaps/michal/keymap.c
deleted file mode 100644
index cbb0dc36ab..0000000000
--- a/keyboards/sofle/keymaps/michal/keymap.c
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2023 Michal S. (@not-my-segfault)
-// SPDX-License-Identifier: GPL-3.0-only
-
-#include QMK_KEYBOARD_H
-
-// This specifies the layers that will be used
-enum sofle_layers {
- _WORKMAN,
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- KC_WORKMAN = SAFE_RANGE,
- KC_QWERTY,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_TOGGLE,
-};
-
-// Here the keymaps are defined in matrix form using KC_XYZ form keycodes
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * WORKMAN
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Q | D | R | W | B | | J | F | U | P | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | H | T | G |-------. ,-------| Y | N | E | O | I | ' |
- * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
- * |LShift| Z | X | M | C | V |-------| |-------| K | L | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_WORKMAN] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, XXXXXXX, KC_MUTE, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | | |
- * |------+------+------+------+------+------| | | Togg. |------+------+------+------+------+------|
- * | | = | - | + | { | } |-------| |-------| [ | ] | | | \ | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | |LOWER | / / \ \ | | | | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, KC_TOGGLE, KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | ASTG |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Up | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | Left | Down | Rght | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | Home | End | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | | | / / \ \ |RAISE | | | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AS_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)};
-
-#ifdef OLED_ENABLE
-
-static void oled_screen(void) {
- oled_set_cursor(0, 0); // Write nothing
-}
-
-// Set correct rotation so the text doesn't end up sideways
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-// I only draw to the right screen because I accidentally
-// burned the left one with a soldering iron. Oops.
-bool oled_task_user(void) {
- if (!is_keyboard_master()) {
- oled_screen();
- }
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_WORKMAN:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WORKMAN);
- }
- return false;
- case KC_TOGGLE: // Toggle between QWERTY and WORKMAN
- if (record->event.pressed) {
- layer_invert(_QWERTY);
- layer_invert(_WORKMAN);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-// This section is like the keymap matrix, but for rotary encoders
-// My left encoder is currently not working, so I'm using Layers to cope :')
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_WORKMAN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
- [_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
- [_LOWER] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
- [_RAISE] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______ )},
-};
-
-#endif
diff --git a/keyboards/sofle/keymaps/michal/rules.mk b/keyboards/sofle/keymaps/michal/rules.mk
deleted file mode 100644
index 06a046f073..0000000000
--- a/keyboards/sofle/keymaps/michal/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-BOOTLOADER = atmel-dfu
-
-OLED_ENABLE = yes
-
-# These are turned off to save space
-COMMAND_ENABLE = no
-CONSOLE_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-SPACE_CADET_ENABLE = no
-
-# I actually use these features
-ENCODER_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-
-# More space-saving
-LTO_ENABLE = yes
diff --git a/keyboards/sofle/keymaps/noqmk/keymap.c b/keyboards/sofle/keymaps/noqmk/keymap.c
deleted file mode 100644
index 209118b4c9..0000000000
--- a/keyboards/sofle/keymaps/noqmk/keymap.c
+++ /dev/null
@@ -1,684 +0,0 @@
-// Copyright 2022 axtlos (@axtloss)
-// SPDX-License-Identifier: GPL-2.0-only
-#include QMK_KEYBOARD_H
-
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _COLEMAK,
- _GAME,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- KC_COLEMAK = SAFE_RANGE,
- KC_QWERTY,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_GAME,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE,
- KC_UNLOCK,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * COLEMAK
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | |ADJUST |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | MOUSE |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_COLEMAK] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_CAPS ,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | Print|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ae | ue | oe | ss | euro |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| caps |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_UP, LGUI(KC_9),LGUI(KC_0), KC_BSPC,
- _______, RALT(KC_Q), RALT(KC_Y), RALT(KC_P), RALT(KC_S) , RALT(KC_5), KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_CAPS, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______
-),
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | Print|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_GAME] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_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_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_SPC, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN|GAMING| | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |UNLOCK| | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `---------------------------''------' '------''---------------------------'
- */
-[_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, KC_GAME, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- KC_UNLOCK , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-
-#ifdef OLED_ENABLE
-
-bool show_lock = true; // this is used to display the lock icon and disable keypresses when the keyboard is locked
-
-static void render_logo(void) {
- static const char PROGMEM no_qmk[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xf0,
- 0xf8, 0xf8, 0xe0, 0x00, 0x00, 0x0e, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
- 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf0, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x88, 0x88, 0x88, 0x48, 0x48, 0x48, 0x28, 0x28, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xf8, 0x03, 0xf3, 0xe7, 0xdf, 0x9f, 0x3f, 0xfe, 0xfe, 0xfc, 0xf9,
- 0xfb, 0xf3, 0xf7, 0xf7, 0xe7, 0xef, 0xcf, 0x90, 0xa1, 0x81, 0x81, 0x81, 0xa0, 0xbd, 0xff, 0xff,
- 0xff, 0xff, 0x7f, 0x3f, 0x9c, 0xdc, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
- 0x60, 0x00, 0x00, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x4c, 0x4f,
- 0x47, 0x43, 0x43, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xc2, 0xc2, 0x41, 0x00, 0x00, 0x00, 0x00,
- 0xe3, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0xe2, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x03, 0x79, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x79, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f,
- 0x03, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x44, 0x4a, 0x4a, 0x51, 0x51, 0x60, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f,
- 0x3f, 0x3f, 0x7f, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x7c, 0x7e, 0x7f, 0x7f, 0x4f, 0x43, 0x40, 0x60,
- 0x60, 0x78, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x21,
- 0x11, 0x11, 0x09, 0x09, 0x05, 0x05, 0x03, 0x03, 0x05, 0x09, 0x11, 0x21, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- oled_write_raw_P(no_qmk, sizeof(no_qmk));
-}
-
-static const char PROGMEM locked_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xce, 0xc6,
- 0xc6, 0xce, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
- 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-/* 32 * 14 os logos */
-static const char PROGMEM linux_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x27, 0x27, 0x8f, 0x9f, 0x03,
- 0x73, 0xff, 0x03, 0xf2, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x19, 0x19, 0x1b, 0x1b, 0x1b,
- 0x1a, 0x18, 0x18, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static const char PROGMEM mac_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xf6, 0xfb, 0xfb, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-
-/* KEYBOARD PET START */
-
-/* settings */
-# define MIN_WALK_SPEED 10
-# define MIN_RUN_SPEED 40
-
-/* advanced settings */
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024
-
-/* timers */
-uint32_t anim_timer = 0;
-
-/* current frame */
-uint8_t current_frame = 0;
-
-/* status variables */
-int current_wpm = 0;
-led_t led_usb_state;
-
-bool isSneaking = false;
-bool isJumping = false;
-bool showedJump = true;
-
-/* logic */
-static void render_luna(int LUNA_X, int LUNA_Y) {
- /* Sit */
- static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sit2', 32x22px */
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
-
- /* Walk */
- static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'walk2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Run */
- static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'run2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Bark */
- static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */
- {
- 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'bark2', 32x22px */
- {
- 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Sneak */
- static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sneak2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* animation */
- void animate_luna(void) {
- /* jump */
- if (isJumping || !showedJump) {
- /* clear */
- oled_set_cursor(LUNA_X, LUNA_Y + 2);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X, LUNA_Y - 1);
-
- showedJump = true;
- } else {
- /* clear */
- oled_set_cursor(LUNA_X, LUNA_Y - 1);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X, LUNA_Y);
- }
-
- /* switch frame */
- current_frame = (current_frame + 1) % 2;
-
- /* current status */
- if (led_usb_state.caps_lock) {
- oled_write_raw_P(bark[current_frame], ANIM_SIZE);
-
- } else if (isSneaking) {
- oled_write_raw_P(sneak[current_frame], ANIM_SIZE);
-
- } else if (current_wpm <= MIN_WALK_SPEED) {
- oled_write_raw_P(sit[current_frame], ANIM_SIZE);
-
- } else if (current_wpm <= MIN_RUN_SPEED) {
- oled_write_raw_P(walk[current_frame], ANIM_SIZE);
-
- } else {
- oled_write_raw_P(run[current_frame], ANIM_SIZE);
- }
- }
-
-# if OLED_TIMEOUT > 0
- /* the animation prevents the normal timeout from occuring */
- if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) {
- oled_off();
- return;
- } else {
- oled_on();
- }
-# endif
-
- /* animation timer */
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animate_luna();
- }
-}
-
-/* KEYBOARD PET END */
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-static void print_logo_narrow(void) {
- render_logo();
-}
-
-static void print_status_narrow(void) {
- /* Print current mode */
- oled_set_cursor(0, 0);
- if (show_lock == true) {
- oled_write_raw_P(locked_logo, sizeof(locked_logo));
- } else if (keymap_config.swap_lctl_lgui) {
- oled_write_raw_P(mac_logo, sizeof(mac_logo));
- } else {
- oled_write_raw_P(linux_logo, sizeof(linux_logo));
- }
-
- oled_set_cursor(0, 3);
-
- switch (get_highest_layer(default_layer_state)) {
- case _COLEMAK:
- oled_write_P(PSTR(" CLMK "), false);
- break;
- case _GAME:
- oled_write_P(PSTR(" GAME "), false);
- break;
- case _QWERTY:
- oled_write_P(PSTR("QWERT"), false);
- break;
- default:
- oled_write_P(PSTR("UNDEF"), false);
- }
-
- oled_set_cursor(0, 5);
-
- /* Print current layer */
- oled_write_P(PSTR("LAYER"), false);
-
- oled_set_cursor(0, 6);
-
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Base "), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR(" Adj "), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
-
- /* caps lock */
- oled_set_cursor(0, 8);
- oled_write_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-
- /* KEYBOARD PET RENDER START */
-
- render_luna(0, 13);
-
- /* KEYBOARD PET RENDER END */
-}
-
-bool oled_task_user(void) {
- /* KEYBOARD PET VARIABLES START */
-
- current_wpm = get_current_wpm();
- led_usb_state = host_keyboard_led_state();
-
- /* KEYBOARD PET VARIABLES END */
-
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- print_logo_narrow();
- }
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_COLEMAK:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case KC_GAME:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_GAME);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_RCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- case KC_COPY:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_C);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_C);
- }
- return false;
- case KC_PASTE:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_V);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_V);
- }
- return false;
- case KC_CUT:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_X);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_X);
- }
- return false;
- break;
- case KC_UNDO:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_Z);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_Z);
- }
- return false;
- case KC_UNLOCK:
- if (record->event.pressed) {
- if (show_lock == true) {
- show_lock = false;
- print_status_narrow();
- } else {
- show_lock = true;
- print_status_narrow();
- }
- }
- }
- /* This stops any keypress to be sent to the computer when the keyboard is locked */
- if (show_lock == false) {
- return true;
- } else {
- return false;
- }
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/noqmk/readme.md b/keyboards/sofle/keymaps/noqmk/readme.md
deleted file mode 100644
index 8fce20ad0c..0000000000
--- a/keyboards/sofle/keymaps/noqmk/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-![no qmk?](https://user-images.githubusercontent.com/60044824/181124856-0ebe0cc9-4b91-4fa2-89df-4e0841a61b9d.png)
-
-
-# Custom keymap for Sofle Keyboard, based on [Helltm](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle/keymaps/helltm)
-
-Features:
-
-- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
-- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM).
-- Modes for Qwerty and Colemak support
-- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer. Designed to simplify transtions when switching between operating systems often.
-- The OLED on master half shows selected mode and caps lock state and is rotated.
-- Left encoder controls volume up/down/mute. Right encoder PREV/NEXT media controls.
-- Keyboard lock, change to the adjust layer (up and down pressed at the same time) and press the left shift to lock/unlock, current lock state is displayed on oled
-- Apple logo for Mac mode, Fedora Silverblue logo for Linux/Win mode, Lock icon for locked
-- Fixed flickering on main OLED
-- Gaming layout, switches space to the left half of the keyboard and raises the most left column up by one key
-
-#Luna, the keyboard pet
-
-Features:
-- Luna reacts to your wpm counter
- - under 10 wpm she sits
- - between 10 and 40 wpm she walks
- - over 40 wpm she runs
-- She will move sneakily if you hold down Ctrl
-- Will bark at people on the internet if you activate Caps Lock!
-- Luna jumps every time you hit Space
diff --git a/keyboards/sofle/keymaps/noqmk/rules.mk b/keyboards/sofle/keymaps/noqmk/rules.mk
deleted file mode 100644
index 5881392622..0000000000
--- a/keyboards/sofle/keymaps/noqmk/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
-WPM_ENABLE = yes
diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h
index 7d14c6e337..314322c929 100644
--- a/keyboards/sofle/keymaps/rgb_default/config.h
+++ b/keyboards/sofle/keymaps/rgb_default/config.h
@@ -49,13 +49,13 @@
#ifdef RGB_MATRIX_ENABLE
-#define RGBLED_NUM 35 // Number of LEDs
-#define RGBLED_NUM 35 // Number of LEDs
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
+#define RGBLIGHT_LED_COUNT 35 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 35 // Number of LEDs
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
#endif
#ifdef RGBLIGHT_ENABLE
- #undef RGBLED_NUM
+ #undef RGBLIGHT_LED_COUNT
//#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -68,11 +68,11 @@
//#define RGBLIGHT_EFFECT_ALTERNATING
//#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLED_NUM 70
+ #define RGBLIGHT_LED_COUNT 70
//#define RGBLED_SPLIT
#define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
- //#define RGBLED_NUM 30
+ //#define RGBLIGHT_LED_COUNT 30
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
@@ -82,7 +82,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h
deleted file mode 100644
index e53881987d..0000000000
--- a/keyboards/sofle/keymaps/via/config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2020 Josef Adamcik
- * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* By default left side is selected as master,
-see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
-for more options. */
-
-#if defined(KEYBOARD_sofle_rev1)
-// Add RGB underglow and top facing lighting
-# define WS2812_DI_PIN D3
-# define RGBLED_NUM 72
-# define RGBLED_SPLIT \
- { 36, 36 }
-# ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT RGBLED_NUM
-# define RGB_MATRIX_SPLIT RGBLED_SPLIT
-# define SPLIT_TRANSPORT_MIRROR
-# else
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_MOOD
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_SNAKE
-# define RGBLIGHT_EFFECT_KNIGHT
-# define RGBLIGHT_EFFECT_CHRISTMAS
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-# define RGBLIGHT_EFFECT_RGB_TEST
-# define RGBLIGHT_EFFECT_ALTERNATING
-# define RGBLIGHT_EFFECT_TWINKLE
-# define RGBLIGHT_LIMIT_VAL 120
-# define RGBLIGHT_HUE_STEP 10
-# define RGBLIGHT_SAT_STEP 17
-# define RGBLIGHT_VAL_STEP 17
-# endif
-#endif
diff --git a/keyboards/sofle/keymaps/via/keymap.c b/keyboards/sofle/keymaps/via/keymap.c
index 21717a7a6c..8207f35fd9 100644
--- a/keyboards/sofle/keymaps/via/keymap.c
+++ b/keyboards/sofle/keymaps/via/keymap.c
@@ -1,22 +1,21 @@
/* Copyright 2020 Josef Adamcik
* Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include QMK_KEYBOARD_H
-#include "oled.c"
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
diff --git a/keyboards/sofle/keymaps/via/oled.c b/keyboards/sofle/keymaps/via/oled.c
deleted file mode 100644
index 74f06cedc5..0000000000
--- a/keyboards/sofle/keymaps/via/oled.c
+++ /dev/null
@@ -1,85 +0,0 @@
- /* Copyright 2020 Josef Adamcik
- * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-//Sets up what the OLED screens display.
-
-#ifdef OLED_ENABLE
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("\n\n"), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("Clmk"), false);
- break;
- default:
- oled_write_P(PSTR("Mod\n"), false);
- break;
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- case 1:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case 2:
- oled_write_P(PSTR("Raise"), false);
- break;
- case 3:
- oled_write_P(PSTR("Lower"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/via/readme.md b/keyboards/sofle/keymaps/via/readme.md
index 8470c69bcf..e0a87253e6 100644
--- a/keyboards/sofle/keymaps/via/readme.md
+++ b/keyboards/sofle/keymaps/via/readme.md
@@ -2,7 +2,6 @@
Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4)
-
Features:
- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
@@ -11,4 +10,3 @@ Features:
- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
- Via support
- RGB underglow support
-
diff --git a/keyboards/sofle/keymaps/via/rules.mk b/keyboards/sofle/keymaps/via/rules.mk
index c8ca49919c..2c37cfdddd 100644
--- a/keyboards/sofle/keymaps/via/rules.mk
+++ b/keyboards/sofle/keymaps/via/rules.mk
@@ -1,8 +1,3 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
VIA_ENABLE = yes
-LTO_ENABLE = yes
-RGBLIGHT_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/sofle/readme.md b/keyboards/sofle/readme.md
index 27071e6f33..7e8ef215c2 100644
--- a/keyboards/sofle/readme.md
+++ b/keyboards/sofle/readme.md
@@ -1,6 +1,6 @@
# Sofle Keyboard
-![SofleKeyboard version 1](https://raw.githubusercontent.com/josefadamcik/SofleKeyboard/master/Images/IMG_20200126_114622.jpg)
+![SofleKeyboard version 1](https://i.imgur.com/S5GTKth.jpeg)
Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
diff --git a/keyboards/sofle/rev1/info.json b/keyboards/sofle/rev1/info.json
index 5ab71ff1e3..20548d6baf 100644
--- a/keyboards/sofle/rev1/info.json
+++ b/keyboards/sofle/rev1/info.json
@@ -1,10 +1,9 @@
{
- "keyboard_name": "Sofle",
"manufacturer": "JosefAdamcik",
"url": "https://github.com/josefadamcik/SofleKeyboard",
"maintainer": "Josef Adamcik <josef.adamcik@gmail.com>",
+ "development_board": "promicro",
"usb": {
- "vid": "0xFC32",
"pid": "0x0287",
"device_version": "0.0.1"
},
@@ -12,14 +11,12 @@
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
- "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "F5", "pin_b": "F4", "resolution": 2}
]
},
"split": {
- "soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
@@ -28,14 +25,6 @@
}
}
},
- "tapping": {
- "term": 100
- },
- "qmk": {
- "tap_keycode_delay": 10
- },
- "processor": "atmega32u4",
- "bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md
index 629d568e60..1d229030c4 100644
--- a/keyboards/sofle/rev1/readme.md
+++ b/keyboards/sofle/rev1/readme.md
@@ -1,6 +1,6 @@
# Sofle Keyboard
-![SofleKeyboard version 1](https://raw.githubusercontent.com/josefadamcik/SofleKeyboard/master/Images/IMG_20200126_114622.jpg)
+![SofleKeyboard version 1](https://i.imgur.com/S5GTKth.jpeg)
Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c
deleted file mode 100644
index df0f23a26c..0000000000
--- a/keyboards/sofle/rev1/rev1.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2021 Carlos Martins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-
-#ifdef RGB_MATRIX_ENABLE
- // Physical Layout
- // Columns
- // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
- // ROWS
- // 12 13 22 23 32 33 33 32 23 22 13 12 0
- // 02 03 04 04 03 02
- // 11 14 21 24 31 34 34 31 24 21 14 11 1
- // 01 01
- // 10 15 20 25 30 35 35 30 25 20 15 10 2
- //
- // 09 16 19 26 29 36 36 29 26 19 16 09 3
- //
- // 08 17 18 27 28 28 27 18 17 08 4
- // 07 06 05 05 06 07
-
-led_config_t g_led_config = {
- {
- { 11, 12, 21, 22, 31, 32 },
- { 10, 13, 20, 23, 30, 33 },
- { 9, 14, 19, 24, 29, 34},
- { 8, 15, 18, 25, 28, 35},
- { 7, 16, 17, 26, 27, NO_LED },
- { 47, 48, 57, 58, 67, 68},
- { 46, 49, 56, 59, 66, 69},
- { 45, 50, 55, 60, 65, 70},
- { 44, 51, 54, 61, 64, 71},
- { 43, 52, 53, 62, 63, NO_LED }
- },
- {
- // Left side underglow
- {96, 40}, {16, 20}, {48, 10}, {80, 18}, {88, 60}, {56, 57}, {24,60},
- // Left side Matrix
- {32, 57}, { 0, 48}, { 0, 36}, { 0, 24}, { 0, 12},
- {16, 12}, {16, 24}, {16, 36}, {16, 48}, {48, 55},
- {64, 57}, {32, 45}, {32, 33}, {32, 21}, {32, 9},
- {48, 7}, {48, 19}, {48, 31}, {48, 43}, {80, 59},
- {96, 64}, {64, 45}, {64, 33}, {64, 21}, {64, 9},
- {80, 10}, {80, 22}, {80, 34}, {80, 47},
-
-
- // Right side underglow
- {128, 40}, {208, 20}, {176, 10}, {144, 18}, {136, 60}, {168, 57}, {200,60},
- // Right side Matrix
- {192, 57}, {224, 48}, {224, 36}, {224, 24}, {224, 12},
- {208, 12}, {208, 24}, {208, 36}, {208, 48}, {176, 55},
- {160, 57}, {192, 45}, {192, 33}, {192, 21}, {192, 9},
- {176, 7}, {176, 19}, {176, 31}, {176, 43}, {144, 59},
- {128, 64}, {160, 45}, {160, 33}, {160, 21}, {160, 9},
- {144, 10}, {144, 22}, {144, 34}, {144, 47},
- },
- {
- LED_FLAG_INDICATOR, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_INDICATOR, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT
- }
-};
-#endif
diff --git a/keyboards/sofle/rev1/rules.mk b/keyboards/sofle/rev1/rules.mk
index 5ec06e9609..6e7633bfe0 100644
--- a/keyboards/sofle/rev1/rules.mk
+++ b/keyboards/sofle/rev1/rules.mk
@@ -1,2 +1 @@
-ENCODER_ENABLE = yes
-OLED_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/sofle/rules.mk b/keyboards/sofle/rules.mk
index e03eb21a90..a7307c3499 100644
--- a/keyboards/sofle/rules.mk
+++ b/keyboards/sofle/rules.mk
@@ -1,3 +1 @@
-SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = sofle/rev1
-SWAP_HANDS_ENABLE = yes
diff --git a/keyboards/sofle/sofle.c b/keyboards/sofle/sofle.c
index bd3f3e157c..3f88e2b5ba 100644
--- a/keyboards/sofle/sofle.c
+++ b/keyboards/sofle/sofle.c
@@ -1,3 +1,5 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
#ifdef SWAP_HANDS_ENABLE
@@ -44,3 +46,90 @@ const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
# endif
#endif
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+ return rotation;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
+ };
+ oled_write_P(qmk_logo, false);
+}
+
+void print_status_narrow(void) {
+ oled_write_P(PSTR("\n\n"), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Qwrt"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("Clmk"), false);
+ break;
+ default:
+ oled_write_P(PSTR("Mod\n"), false);
+ break;
+ }
+ oled_write_P(PSTR("\n\n"), false);
+ oled_write_ln_P(PSTR("LAYER"), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ case 1:
+ oled_write_P(PSTR("Base\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Raise"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Lower"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_P(PSTR("\n\n"), false);
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ if (is_keyboard_master()) {
+ print_status_narrow();
+ } else {
+ render_logo();
+ }
+ return true;
+}
+
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/sofle_choc/info.json b/keyboards/sofle_choc/info.json
index b59def38b0..f0ce6d78e0 100644
--- a/keyboards/sofle_choc/info.json
+++ b/keyboards/sofle_choc/info.json
@@ -24,7 +24,6 @@
"driver": "ws2812",
"split_count": [29, 29],
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
diff --git a/keyboards/sofle_choc/keymaps/default/config.h b/keyboards/sofle_choc/keymaps/default/config.h
index 93f173e84d..d48529d816 100644
--- a/keyboards/sofle_choc/keymaps/default/config.h
+++ b/keyboards/sofle_choc/keymaps/default/config.h
@@ -24,6 +24,6 @@
// I've found this helps with some ProMicros where the slave does not boot
#define SPLIT_USB_DETECT
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash.
diff --git a/keyboards/sofle_choc/keymaps/via/config.h b/keyboards/sofle_choc/keymaps/via/config.h
index 93f173e84d..d48529d816 100644
--- a/keyboards/sofle_choc/keymaps/via/config.h
+++ b/keyboards/sofle_choc/keymaps/via/config.h
@@ -24,6 +24,6 @@
// I've found this helps with some ProMicros where the slave does not boot
#define SPLIT_USB_DETECT
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash.
diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h
deleted file mode 100644
index 0836a67e88..0000000000
--- a/keyboards/sowbug/68keys/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2021 Mike Tsao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// config.h
-
-#pragma once
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_COUNT 68
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/sowbug/68keys/info.json b/keyboards/sowbug/68keys/info.json
index 641ed0aa06..aa22cb804a 100644
--- a/keyboards/sowbug/68keys/info.json
+++ b/keyboards/sowbug/68keys/info.json
@@ -12,7 +12,53 @@
"pin": "B9"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 128
},
"matrix_pins": {
"cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h
deleted file mode 100644
index 4b1538b645..0000000000
--- a/keyboards/sowbug/ansi_tkl/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2021 Mike Tsao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// config.h
-
-#pragma once
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_COUNT 87
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/sowbug/ansi_tkl/info.json b/keyboards/sowbug/ansi_tkl/info.json
index 39cc57a8f3..6c6f2346bd 100644
--- a/keyboards/sowbug/ansi_tkl/info.json
+++ b/keyboards/sowbug/ansi_tkl/info.json
@@ -12,7 +12,53 @@
"pin": "B9"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 128
},
"matrix_pins": {
"cols": ["A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B3"],
diff --git a/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c b/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c
deleted file mode 100644
index e59133c310..0000000000
--- a/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 Mike Tsao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// keymaps/sowbug/keymap.c
-
-#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_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, QK_BOOT,
- _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
diff --git a/keyboards/spaceholdings/nebula12b/config.h b/keyboards/spaceholdings/nebula12b/config.h
deleted file mode 100755
index aba496d469..0000000000
--- a/keyboards/spaceholdings/nebula12b/config.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright 2022 Yiancar
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* RGB options */
-
-#define RGB_MATRIX_LED_COUNT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
diff --git a/keyboards/spaceholdings/nebula12b/info.json b/keyboards/spaceholdings/nebula12b/info.json
index f7ba574efc..d6e02d1b97 100755
--- a/keyboards/spaceholdings/nebula12b/info.json
+++ b/keyboards/spaceholdings/nebula12b/info.json
@@ -12,7 +12,53 @@
"pin": "D5"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "sleep": true
},
"matrix_pins": {
"cols": ["F4", "F5", "D7"],
diff --git a/keyboards/spaceholdings/nebula68/nebula68.c b/keyboards/spaceholdings/nebula68/nebula68.c
index af51c4805e..db8a31b831 100755
--- a/keyboards/spaceholdings/nebula68/nebula68.c
+++ b/keyboards/spaceholdings/nebula68/nebula68.c
@@ -29,134 +29,134 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, B_1, A_1, C_1}, //LA1
- {0, E_1, D_1, F_1}, //LA2
- {0, H_1, G_1, I_1}, //LA3
- {0, K_1, J_1, L_1}, //LA4
- {0, B_2, A_2, C_2}, //LA5
- {0, E_2, D_2, F_2}, //LA6
- {0, H_2, G_2, I_2}, //LA7
- {0, K_2, J_2, L_2}, //LA8
- {0, B_3, A_3, C_3}, //LA9
- {0, E_3, D_3, F_3}, //LA10
- {0, H_3, G_3, I_3}, //LA11
- {0, K_3, J_3, L_3}, //LA12
- {0, B_4, A_4, C_4}, //LA13
- {0, E_4, D_4, F_4}, //LA14
- {0, H_4, G_4, I_4}, //LA15
- {0, K_4, J_4, L_4}, //LA16
- {0, B_5, A_5, C_5}, //LA17
- {0, E_5, D_5, F_5}, //LA18
- {0, H_5, G_5, I_5}, //LA19
- {0, K_5, J_5, L_5}, //LA20
- {0, B_6, A_6, C_6}, //LA21
- {0, E_6, D_6, F_6}, //LA22
- {0, H_6, G_6, I_6}, //LA23
- {0, K_6, J_6, L_6}, //LA24
- {0, B_7, A_7, C_7}, //LA25
- {0, E_7, D_7, F_7}, //LA26
- {0, H_7, G_7, I_7}, //LA27
- {0, K_7, J_7, L_7}, //LA28
- {0, B_8, A_8, C_8}, //LA29
- {0, E_8, D_8, F_8}, //LA30
- {0, H_8, G_8, I_8}, //LA31
- {0, K_8, J_8, L_8}, //LA32
- {0, B_9, A_9, C_9}, //LA33
- {0, E_9, D_9, F_9}, //LA34
- {0, H_9, G_9, I_9}, //LA35
- {0, K_9, J_9, L_9}, //LA36
- {0, B_10, A_10, C_10}, //LA37
- {0, E_10, D_10, F_10}, //LA38
- {0, H_10, G_10, I_10}, //LA39
- {0, K_10, J_10, L_10}, //LA40
- {0, B_11, A_11, C_11}, //LA41
- {0, E_11, D_11, F_11}, //LA42
- {0, H_11, G_11, I_11}, //LA43
- {0, K_11, J_11, L_11}, //LA44
- {0, B_12, A_12, C_12}, //LA45
- {0, E_12, D_12, F_12}, //LA46
- {0, H_12, G_12, I_12}, //LA47
- {0, K_12, J_12, L_12}, //LA48
- {0, B_13, A_13, C_13}, //LA49
- {0, E_13, D_13, F_13}, //LA50
- {0, H_13, G_13, I_13}, //LA51
- {0, K_13, J_13, L_13}, //LA52
- {0, B_14, A_14, C_14}, //LA53
- {0, E_14, D_14, F_14}, //LA54
- {0, H_14, G_14, I_14}, //LA55
- {0, K_14, J_14, L_14}, //LA56
- {0, B_15, A_15, C_15}, //LA57
- {0, E_15, D_15, F_15}, //LA58
- {0, H_15, G_15, I_15}, //LA59
- {0, K_15, J_15, L_15}, //LA60
- {0, B_16, A_16, C_16}, //LA61
- {0, E_16, D_16, F_16}, //LA62
- {0, H_16, G_16, I_16}, //LA63
- {0, K_16, J_16, L_16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
+ {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
- {1, B_1, A_1, C_1}, //LB1
- {1, E_1, D_1, F_1}, //LB2
- {1, H_1, G_1, I_1}, //LB3
- {1, K_1, J_1, L_1}, //LB4
- {1, B_2, A_2, C_2}, //LB5
- {1, E_2, D_2, F_2}, //LB6
- {1, H_2, G_2, I_2}, //LB7
- {1, K_2, J_2, L_2}, //LB8
- {1, B_3, A_3, C_3}, //LB9
- {1, E_3, D_3, F_3}, //LB10
- {1, H_3, G_3, I_3}, //LB11
- {1, K_3, J_3, L_3}, //LB12
- {1, B_4, A_4, C_4}, //LB13
- {1, E_4, D_4, F_4}, //LB14
- {1, H_4, G_4, I_4}, //LB15
- {1, K_4, J_4, L_4}, //LB16
- {1, B_5, A_5, C_5}, //LB17
- {1, E_5, D_5, F_5}, //LB18
- {1, H_5, G_5, I_5}, //LB19
- {1, K_5, J_5, L_5}, //LB20
- {1, B_6, A_6, C_6}, //LB21
- {1, E_6, D_6, F_6}, //LB22
- {1, H_6, G_6, I_6}, //LB23
- {1, K_6, J_6, L_6}, //LB24
- {1, B_7, A_7, C_7}, //LB25
- {1, E_7, D_7, F_7}, //LB26
- {1, H_7, G_7, I_7}, //LB27
- {1, K_7, J_7, L_7}, //LB28
- {1, B_8, A_8, C_8}, //LB29
- {1, E_8, D_8, F_8}, //LB30
- {1, H_8, G_8, I_8}, //LB31
- {1, K_8, J_8, L_8}, //LB32
- {1, B_9, A_9, C_9}, //LB33
- {1, E_9, D_9, F_9}, //LB34
- {1, H_9, G_9, I_9}, //LB35
- {1, K_9, J_9, L_9}, //LB36
- {1, B_10, A_10, C_10}, //LB37
- {1, E_10, D_10, F_10}, //LB38
- {1, H_10, G_10, I_10}, //LB39
- {1, K_10, J_10, L_10}, //LB40
- {1, B_11, A_11, C_11}, //LB41
- {1, E_11, D_11, F_11}, //LB42
- {1, H_11, G_11, I_11}, //LB43
- {1, K_11, J_11, L_11}, //LB44
- {1, B_12, A_12, C_12}, //LB45
- {1, E_12, D_12, F_12}, //LB46
- {1, H_12, G_12, I_12}, //LB47
- {1, K_12, J_12, L_12}, //LB48
- {1, B_13, A_13, C_13}, //LB49
- {1, E_13, D_13, F_13}, //LB50
- {1, H_13, G_13, I_13}, //LB51
- {1, K_13, J_13, L_13}, //LB52
- {1, B_14, A_14, C_14}, //LB53
- {1, E_14, D_14, F_14}, //LB54
- {1, H_14, G_14, I_14}, //LB55
- {1, K_14, J_14, L_14}, //LB56
- {1, B_15, A_15, C_15}, //LB57
- {1, E_15, D_15, F_15}, //LB58
- {1, H_15, G_15, I_15}, //LB59
- {1, K_15, J_15, L_15}, //LB60
- {1, B_16, A_16, C_16}, //LB61
- {1, E_16, D_16, F_16}, //LB62
- {1, H_16, G_16, I_16}, //LB63
- {1, K_16, J_16, L_16}, //LB64
+ {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1
+ {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2
+ {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3
+ {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4
+ {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5
+ {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6
+ {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7
+ {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8
+ {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9
+ {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10
+ {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11
+ {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12
+ {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13
+ {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14
+ {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15
+ {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16
+ {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17
+ {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18
+ {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19
+ {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20
+ {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21
+ {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22
+ {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23
+ {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24
+ {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25
+ {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26
+ {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27
+ {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28
+ {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29
+ {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30
+ {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31
+ {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32
+ {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33
+ {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34
+ {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35
+ {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36
+ {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37
+ {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38
+ {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39
+ {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40
+ {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41
+ {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42
+ {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43
+ {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44
+ {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45
+ {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46
+ {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47
+ {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48
+ {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49
+ {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50
+ {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51
+ {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52
+ {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53
+ {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54
+ {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55
+ {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56
+ {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57
+ {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58
+ {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59
+ {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60
+ {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61
+ {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62
+ {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63
+ {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64
};
#endif
diff --git a/keyboards/spaceholdings/nebula68b/config.h b/keyboards/spaceholdings/nebula68b/config.h
deleted file mode 100755
index 4da2b5894a..0000000000
--- a/keyboards/spaceholdings/nebula68b/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright 2021 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
-
-/* RGB options */
-
-#define RGB_MATRIX_LED_COUNT 79
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/spaceholdings/nebula68b/hs/config.h b/keyboards/spaceholdings/nebula68b/hs/config.h
deleted file mode 100755
index 472798f755..0000000000
--- a/keyboards/spaceholdings/nebula68b/hs/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 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
-
-#undef RGB_MATRIX_LED_COUNT
-#define RGB_MATRIX_LED_COUNT 78
diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json
index c82e52299d..6151466894 100755
--- a/keyboards/spaceholdings/nebula68b/info.json
+++ b/keyboards/spaceholdings/nebula68b/info.json
@@ -12,7 +12,54 @@
"pin": "B7"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 130,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/spaceman/2_milk/keymaps/binary/keymap.c b/keyboards/spaceman/2_milk/keymaps/binary/keymap.c
deleted file mode 100644
index c8df8e9ff0..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/binary/keymap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_P0,
- KC_P1
- )
-};
diff --git a/keyboards/spaceman/2_milk/keymaps/binary/readme.md b/keyboards/spaceman/2_milk/keymaps/binary/readme.md
deleted file mode 100644
index 5ebcbd3e58..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/binary/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Binary keymap
-0 and 1 that's it
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta/keymap.c b/keyboards/spaceman/2_milk/keymaps/copypasta/keymap.c
deleted file mode 100644
index c82a6ff216..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta/keymap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- RCTL(KC_C),
- RCTL(KC_V)
- )
-};
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta/readme.md b/keyboards/spaceman/2_milk/keymaps/copypasta/readme.md
deleted file mode 100644
index 6c2f4e8fbf..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copy/Paste Keymap
-![Picture](https://i.imgur.com/7LMZZrL.png)
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h
deleted file mode 100644
index bbd93cfc16..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2022 Ryan Neff (@JellyTitan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define TAPPING_TERM 200
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c
deleted file mode 100644
index 93c0f0eee3..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2022 Ryan Neff (@JellyTitan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum tapdance_keycodes {
- TD_KEY_1,
- TD_KEY_2
-};
-
-void dance_key_one(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- /* Copy for Mac. */
- /* Windows & Linux use Ctrl+C: tap_code16(C(KC_C)) */
- tap_code16(G(KC_C));
- reset_tap_dance(state);
- } else if (state->count == 2) {
- /* Cut for Mac. */
- /* Windows & Linux use Ctrl+X: tap_code16(C(KC_X)) */
- tap_code16(G(KC_X));
- reset_tap_dance(state);
- } else if (state->count == 3) {
- /* Plain old Tab. */
- tap_code(KC_TAB);
- reset_tap_dance(state);
- }
-}
-
-void dance_key_two(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- /* Paste for Mac. */
- /* Windows & Linux use Ctrl+V: tap_code16(C(KC_V)) */
- tap_code16(G(KC_V));
- reset_tap_dance(state);
- } else if (state->count == 2) {
- /* Paste as value Gui+Shift+V for Mac. */
- /* Windows & Linux use Ctrl+Shift V: tap_code16(C(S(KC_V))) */
- tap_code16(G(S(KC_V)));
- reset_tap_dance(state);
- } else if (state->count == 3) {
- /* Tab between programs for mac Gui+Tab. */
- /* Windows & Linux use Ctrl+Tab: tap_code16(C(KC_TAB)) */
- tap_code16(G(KC_TAB));
- reset_tap_dance(state);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_KEY_1] = ACTION_TAP_DANCE_FN(dance_key_one),
- [TD_KEY_2] = ACTION_TAP_DANCE_FN(dance_key_two)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(TD(TD_KEY_1),
- TD(TD_KEY_2))
-};
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md
deleted file mode 100644
index 722e7491bc..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copypasta Macfancy Keymap for Milk 2%
-
-![copypasta_macfancy](https://i.imgur.com/7LMZZrL.png)
-
-Extra fancy copy/paste utilities for the Milk 2% keyboard on MacOS. Milk 2% designed by [Spaceman](https://github.com/Spaceboards/SpaceboardsHardware/tree/master/Keyboards/2%25%20Milk).
-
-Uses Tapping term for double and tripple tapping.
-Tapping speed can be adjusted with TAPPING_TERM in config.h
-
-### Key One
-- 1 Tap: Copy
-- 2 Taps: Cut
-- 3 Taps: Tab
-
-### Key Two
-- 1 Tap: Paste
-- 2 Taps: Paste as Value
-- 3 Taps: Tab between programs
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk
deleted file mode 100644
index 628a960a71..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright 2022 Ryan Neff (@JellyTitan)
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-TAP_DANCE_ENABLE = yes # Tap Dance
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/config.h b/keyboards/spaceman/2_milk/keymaps/encg/config.h
deleted file mode 100644
index abb80c2a34..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/encg/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 encg
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
-#define UNICODE_CYCLE_PERSIST true
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/keymap.c b/keyboards/spaceman/2_milk/keymaps/encg/keymap.c
deleted file mode 100644
index fab1debf02..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/encg/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/* Copyright 2020 encg
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-enum my_keycodes {
- SPIN = SAFE_RANGE,
- RULES,
-};
-
-enum unicode_names {
- COW,
- BTTR,
- CHIKN,
- FISH,
- SEED,
- RENV,
- MBAG,
- FACE,
- WING,
- SIGN,
- WAVE
-};
-
-const uint32_t unicode_map[] PROGMEM = {
- [COW] = 0x1F404, // ðŸ„
- [BTTR] = 0x1F9C8, // 🧈
- [CHIKN] = 0x1F414, // ðŸ”
- [FISH] = 0x1F3A3, // 🎣
- [SEED] = 0x1F331, // 🌱
- [RENV] = 0x1F9E7, // 🧧
- [MBAG] = 0x1F4B0, // 💰
- [FACE] = 0x1F911, // 🤑
- [WING] = 0x1F4B8, // 💸
- [SIGN] = 0x1F4B2, // 💲
- [WAVE] = 0x1F44B, // 👋
-};
-
-/* Emojis stored in an array in order to be randomly accessed */
-const char* emoji[5] = {"ðŸ„", "🧈", "ðŸ”", "🎣", "🌱"};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case SPIN:
- if (record->event.pressed) {
- /* Seed RNG used by rand() with timer_read() https://beta.docs.qmk.fm/developing-qmk/qmk-reference/ref_functions#software-timers */
- srand(timer_read());
- int rng1 = rand() % 5;
- send_unicode_string(emoji[rng1]);
- wait_ms(200);
- int rng2 = rand() % 5;
- send_unicode_string(emoji[rng2]);
- wait_ms(200);
- int rng3 = rand() % 5;
- send_unicode_string(emoji[rng3]);
- wait_ms(200);
- if (rng1 == rng2 && rng1 == rng3) {
- if (rng1 == 0) {
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("🧧🧧🧧");
- wait_ms(200);
- SEND_STRING("\n");
- } else if (rng1 == 1) {
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("💰💰💰");
- wait_ms(200);
- SEND_STRING("\n");
- } else if (rng1 == 2) {
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("🤑🤑🤑");
- wait_ms(200);
- SEND_STRING("\n");
- } else if (rng1 == 3) {
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("💲💲💲");
- wait_ms(200);
- SEND_STRING("\n");
- } else if (rng1 == 4) {
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("📈📈📈");
- wait_ms(200);
- SEND_STRING("\n");
- }
- } else {
- SEND_STRING(" ");
- send_unicode_string("👋💸");
- SEND_STRING("\n");
- }
- }
- return false;
- break;
- case RULES:
- if (record->event.pressed) {
- send_unicode_string("ðŸ„");
- wait_ms(200);
- send_unicode_string("ðŸ„");
- wait_ms(200);
- send_unicode_string("ðŸ„");
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("🧧");
- wait_ms(200);
- send_unicode_string("🧧");
- wait_ms(200);
- send_unicode_string("🧧");
- SEND_STRING("\n");
- wait_ms(100);
- send_unicode_string("🧈");
- wait_ms(200);
- send_unicode_string("🧈");
- wait_ms(200);
- send_unicode_string("🧈");
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("💰");
- wait_ms(200);
- send_unicode_string("💰");
- wait_ms(200);
- send_unicode_string("💰");
- SEND_STRING("\n");
- wait_ms(100);
- send_unicode_string("ðŸ”");
- wait_ms(200);
- send_unicode_string("ðŸ”");
- wait_ms(200);
- send_unicode_string("ðŸ”");
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("🤑");
- wait_ms(200);
- send_unicode_string("🤑");
- wait_ms(200);
- send_unicode_string("🤑");
- SEND_STRING("\n");
- wait_ms(100);
- send_unicode_string("🎣");
- wait_ms(200);
- send_unicode_string("🎣");
- wait_ms(200);
- send_unicode_string("🎣");
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("💲");
- wait_ms(200);
- send_unicode_string("💲");
- wait_ms(200);
- send_unicode_string("💲");
- SEND_STRING("\n");
- wait_ms(100);
- send_unicode_string("🌱");
- wait_ms(200);
- send_unicode_string("🌱");
- wait_ms(200);
- send_unicode_string("🌱");
- wait_ms(200);
- SEND_STRING(" ");
- send_unicode_string("📈");
- wait_ms(200);
- send_unicode_string("📈");
- wait_ms(200);
- send_unicode_string("📈");
- SEND_STRING("\n\n");
- }
- return false;
- break;
- }
- return false;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- SPIN, /* bottom button */
- RULES /* top button */
- )
-};
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/readme.md b/keyboards/spaceman/2_milk/keymaps/encg/readme.md
deleted file mode 100644
index 73232ec32f..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/encg/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# encg's Keymap
-
-## What is this?
-
-A simple slot machine emulator for the [2% Milk Keyboard](https://github.com/Spaceman/SpaceboardsHardware/tree/master/Keyboards/2%25%20Milk). This idea is based on the [implementation by /u/ln8r on /r/mechanicalkeyboards](https://www.reddit.com/r/MechanicalKeyboards/comments/hcw21b/2_milk_slot_machine/).
-
-## How does it work?
-
-The top button outputs all possible winning emoji combinations followed by a corresponding "score." Emojis are output one-by-one with a short delay to simulate the "slots" feel.
-
-![IMG](https://i.imgur.com/rUc3IOn.gif)
-
-The bottom button outputs 3 random emojis one by one. The random function takes `timer_read()` as its seed value [(referenced here)](https://beta.docs.qmk.fm/developing-qmk/qmk-reference/ref_functions#software-timers).
-
-![IMG](https://i.imgur.com/4EREsIq.png)
-
-## Unicode Setup
-
-This keymap's default unicode input mode is `UNICODE_MODE_WINCOMPOSE` which requires [WinCompose](https://github.com/samhocevar/wincompose). For other OSes, see [QMK documentation on unicode input modes](https://docs.qmk.fm/#/feature_unicode?id=input-modes).
-
-## Ideas for the future
-
-- [ ] Factor in emoji hierarchy into RNG algorithm
-- [ ] Random/Wildcard emoji
-- [ ] Keep a count for winng combinations
-- [ ] Implement tap dance for easily switching unicode input types
diff --git a/keyboards/spaceman/2_milk/keymaps/encg/rules.mk b/keyboards/spaceman/2_milk/keymaps/encg/rules.mk
deleted file mode 100644
index 502b2def76..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/encg/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-UNICODEMAP_ENABLE = yes
diff --git a/keyboards/spaceman/2_milk/keymaps/excessbread/keymap.c b/keyboards/spaceman/2_milk/keymaps/excessbread/keymap.c
deleted file mode 100644
index a01b47f271..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/excessbread/keymap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_LGUI,
- KC_F11
- )
-};
diff --git a/keyboards/spaceman/2_milk/keymaps/excessbread/readme.md b/keyboards/spaceman/2_milk/keymaps/excessbread/readme.md
deleted file mode 100644
index a6535e62cf..0000000000
--- a/keyboards/spaceman/2_milk/keymaps/excessbread/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# ExcessBread's keymap
-requested by excessbread
diff --git a/keyboards/spacetime/keymaps/kyleterry/keymap.c b/keyboards/spacetime/keymaps/kyleterry/keymap.c
deleted file mode 100644
index 5aaab87814..0000000000
--- a/keyboards/spacetime/keymaps/kyleterry/keymap.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2019 Kyle Terry
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define NUM MO(_NUM)
-#define CTL_ESC CTL_T(KC_ESC)
-#define OS_LGUI OSM (MOD_LGUI)
-#define SGAME TO(_GAMING)
-#define SQWER TO(_QWERTY)
-
-enum layers {
- _QWERTY,
- _GAMING,
- _LOWER,
- _RAISE,
- _ADJUST,
- _NUM
-};
-
-enum {
- /* tap dance for raise and lower layer switching */
- TD_RL = 0,
- /* tap dance for common cording */
- TD_C = 1,
- /* tap dance for media keys */
- TD_MD = 2,
-};
-
-/* layer template:
- * [_LAYER] = LAYOUT(
- * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- * _______, _______, _______, _______, _______, _______, _______, _______
- * ),
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LCTL, TD(TD_C),KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LALT, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, NUM, OS_LGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, OS_LGUI, KC_SPC, LOWER, RAISE, KC_SPC, OS_LGUI, KC_RALT
- ),
-
- [_GAMING] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LCTL, TD(TD_C),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_ESC, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, NUM, OS_LGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LALT, KC_V, KC_SPC, LOWER, RAISE, KC_SPC, OS_LGUI, KC_RALT
- ),
-
- [_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, _______, _______, TD(TD_MD), KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_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_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_VOLD, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_ADJUST] = LAYOUT(
- _______, _______, KC_PGUP, _______, _______, _______, SQWER, _______, _______, _______, KC_INS, _______, KC_PSCR, _______,
- _______, KC_HOME, KC_PGDN, KC_END, _______, _______, SGAME, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_NUM] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_ASTR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_MINS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_1, KC_2, KC_3, KC_PLUS,
- _______, _______, _______, _______, _______, _______, _______, KC_0
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-void td_common(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- /* this case handles ctrl+o which is my tmux prefix
- */
- tap_code16(C(KC_O));
- reset_tap_dance(state);
- break;
- case 2:
- /* this case handles shift+insert which is a common way
- * for me to paste text in linux
- */
- tap_code16(S(KC_INS));
- reset_tap_dance(state);
- break;
- }
-}
-
-void td_media(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- tap_code16(KC_MPLY);
- reset_tap_dance(state);
- break;
- case 2:
- tap_code16(KC_MUTE);
- reset_tap_dance(state);
- break;
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_C] = ACTION_TAP_DANCE_FN(td_common),
- [TD_MD] = ACTION_TAP_DANCE_FN(td_media),
-};
diff --git a/keyboards/spacetime/keymaps/kyleterry/rules.mk b/keyboards/spacetime/keymaps/kyleterry/rules.mk
deleted file mode 100644
index 31e0fcf293..0000000000
--- a/keyboards/spacetime/keymaps/kyleterry/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE=yes
diff --git a/keyboards/spacey/keymaps/via/rules.mk b/keyboards/spacey/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd..0000000000
--- a/keyboards/spacey/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/spacey/readme.md b/keyboards/spacey/readme.md
deleted file mode 100644
index e615852693..0000000000
--- a/keyboards/spacey/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# spacey
-
-![spacey](https://i.imgur.com/Dzon2hbh.jpeg)
-
-Spacey, designed by Vanilla Keyboards is a 45/65% keyboard with a little personality. Hosting ortholinear alphas with traditional modifiers, diamond shaped arrows, rotary encoder, and a couple optional spacebars at the top of the board, it's a balance between functional and unique.
-
-* Keyboard Maintainer: [vanilla](https://github.com/vanillakeyboards)
-* Hardware Supported: Elite C, Spacey PCB plates and acrylic drop_in case
-* Hardware Availability: https://p3dstore.com/collections/ended-group-buys/products/spacey?variant=37742593147064 and https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4
-
-Make example for this keyboard (after setting up your build environment):
-
- make spacey:default
-
-Flashing example for this keyboard:
-
- make spacey:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/sparrow62/keymaps/74th/config.h b/keyboards/sparrow62/keymaps/74th/config.h
deleted file mode 100644
index e1fae611ce..0000000000
--- a/keyboards/sparrow62/keymaps/74th/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2020 Atsushi Morimoto @74th
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/sparrow62/keymaps/74th/keymap.c b/keyboards/sparrow62/keymaps/74th/keymap.c
deleted file mode 100644
index 1915dbd501..0000000000
--- a/keyboards/sparrow62/keymaps/74th/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 2020 Atsushi Morimoto @74th
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FN,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOCK,
- ESC_MHEN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- // /-------+-------+-------+-------+-------+-------\ /-------+-------+-------+-------+-------+-------.
- // | ` | 1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9 | 0 | - | = |
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL,
- // |-------+-------+-------+-------+-------+-------+-------\ /-------+-------+-------+-------+-------+-------+-------|
- // | ` | Q | W | E | R | T | 6 | | 6 | Y | U | I | O | P | = |
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_6, KC_6, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // |Ctr(TAB| A | S | D | F | G | [ | | ] | H | J | K | L | ; : | ' " |
- CTL_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // |Sft(ESC| Z | X | C | V | B | [ | | ] | N | M | , < | . > | / ? | \ | |
- SFT_T(KC_ESC),KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLS,
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // | ESC |Alt(TAB|Sf(Eisu|Ctl(SPC| |Ctl(ENT| FN |GU(Kana| BS |
- ESC_MHEN, ALT_T(KC_TAB), SFT_T(KC_INT5), CTL_T(KC_SPC), CTL_T(KC_ENT), MO(_FN), GUI_T(KC_INT4), KC_BSPC
- // \-------+-------+-------+-------/ \-------+-------+-------+-------/
- ),
-
- [_FN] = LAYOUT(
- // /-------+-------+-------+-------+-------+-------\ /-------+-------+-------+-------+-------+-------.
- // | Lock |CMD+F1 |Sft+F2 |CMD+F3 |CMD+F4 |CMD+F5 | |CMD+F6 |CMD+F7 |CMD+F8 |CMD+F9 | | |
- C(G(KC_Q)),LCMD(KC_F1),SCMD(KC_F2),LCMD(KC_F3),LCMD(KC_F4),LCMD(KC_F5),LCMD(KC_F6),LCMD(KC_F7),LCMD(KC_F8),LCMD(KC_F9),_______,_______,
- // |-------+-------+-------+-------+-------+-------+-------\ /-------+-------+-------+-------+-------+-------+-------|
- // | ESC | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // | ~ | ! | @ | # | $ | % | ^ | | ^ | & | * | | PrSC | PrSC2 | PrSC3 |
- KC_GRV, KC_EXLM, KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC, KC_CIRC,KC_AMPR,KC_ASTR,_______,KC_PSCR,LALT(KC_PSCR),LSFT(KC_PSCR),
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // | | | | | | | | | | ↠| ↓ | ↑ | → | HOME | END |
- _______,_______,_______,_______,_______,_______,_______, _______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,
- // |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- // | ESC |Alt(TAB|Sf(Eisu|Ctl(SPC| | | FN | RAlt | DEL |
- _______,_______,_______,_______, _______,_______,_______,KC_DEL
- // \-------+-------+-------+-------/ \-------+-------+-------+-------/
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch (keycode) {
- case ESC_MHEN:
- tap_code(KC_INT5);
- tap_code(KC_ESC);
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/spleeb/keymaps/chrishoage/config.h b/keyboards/spleeb/keymaps/chrishoage/config.h
deleted file mode 100644
index 0ac75d3041..0000000000
--- a/keyboards/spleeb/keymaps/chrishoage/config.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2022 Chris Hoage (@chrishoage)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define AUTO_MOUSE_TIME 250
-
-#define CIRQUE_PINNACLE_DIAMETER_MM 35
-#define POINTING_DEVICE_ROTATION_180
-
-#define SPLEEB_DRAGSCROLL_REVERSE_X
-#define SPLEEB_ENCODER_MODE_MAP_ENABLE
-
-#define BOOTMAGIC_LITE_ROW 5
-#define BOOTMAGIC_LITE_COLUMN 6
diff --git a/keyboards/spleeb/keymaps/chrishoage/keymap.c b/keyboards/spleeb/keymaps/chrishoage/keymap.c
deleted file mode 100644
index c3dfb8f02b..0000000000
--- a/keyboards/spleeb/keymaps/chrishoage/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2022 Chris Hoage (@chrishoage)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Double tap TD(0) to enter bootloader
-static void enter_qk_boot(tap_dance_state_t *state, void *user_data) {
- if (state->count >= 2) {
- reset_keyboard();
- reset_tap_dance(state);
- }
-}
-
-enum SpleebLayer { _BASE = 0, _FN, _MOUSE };
-
-tap_dance_action_t tap_dance_actions[] = {[0] = ACTION_TAP_DANCE_FN(enter_qk_boot)};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RSFT,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, ENC_STR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, MO(1), MO(1), KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
- ),
-
- [_FN] = LAYOUT(
- KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_ESC, KC_DEL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, QK_RBT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ENC_STL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TD(0),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_MOUSE] = 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,
- DRGSCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SNIPING, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_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
- ),
-};
-// clang-format on
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (get_mods() & MOD_MASK_GUI) {
- // When GUI is held trigger [ ] to move workspaces
- tap_code(clockwise ? KC_RBRC : KC_LBRC);
- return false;
- }
-
- if (get_mods() & MOD_MASK_CTRL) {
- // When CTRL is hled trigger page up/down to move tabs (Firefox, VSCode)
- tap_code(clockwise ? KC_PGDN : KC_PGUP);
- return false;
- }
-
- if (get_mods() & MOD_MASK_ALT) {
- // When ALT is held trigger up/down to move line up/down
- tap_code(clockwise ? KC_DOWN : KC_UP);
- return false;
- }
-
- // Defer to encoder_update_kb to trigger spleeb_encoder_mode_trigger
- return true;
-}
-
-enum spleeb_enc_mode {
- DEF_DPI,
- SNP_DPI,
- VOL,
- SEL,
-};
-
-void spleeb_encoder_mode_trigger(uint8_t mode, bool clockwise) {
- dprintf("spleeb_encoder_mode_trigger m: %u, c: %u\n", mode, clockwise);
- switch (mode) {
- case DEF_DPI:
- spleeb_cycle_pointer_default_dpi(clockwise);
- break;
- case SNP_DPI:
- spleeb_cycle_pointer_sniping_dpi(clockwise);
- break;
- case VOL:
- tap_code(clockwise ? KC_VOLU : KC_VOLD);
- break;
- case SEL: {
- bool is_shift = get_mods() & MOD_MASK_SHIFT;
- uint16_t dir = clockwise ? KC_RIGHT : KC_LEFT;
- if (is_shift) {
- tap_code(dir);
- } else {
- tap_code16(LSFT(LCTL(dir)));
- }
- break;
- }
-
- default:
- break;
- }
-}
-
-const char *spleeb_encoder_mode_string(uint8_t mode) {
- switch (mode) {
- case DEF_DPI:
- return "df dpi";
- case SNP_DPI:
- return "sn dpi";
- case VOL:
- return "volume";
- case SEL:
- return "select";
- }
-
- return get_u8_str(mode, ' ');
-}
-
-void pointing_device_init_user(void) {
- set_auto_mouse_layer(_MOUSE);
-}
-
-const spleeb_enc_mode_t spleeb_encoder_mode_map[NUM_ENCODERS][SPLEEB_ENCODER_MODE_COUNT] = {
- [0] = {SPLEEB_ENC_MODE(VOL), SPLEEB_ENC_MODE(SEL)},
- [1] = {SPLEEB_ENC_MODE(DEF_DPI), SPLEEB_ENC_MODE(SNP_DPI), SPLEEB_ENC_MODE(SEL)},
-};
diff --git a/keyboards/spleeb/keymaps/chrishoage/rules.mk b/keyboards/spleeb/keymaps/chrishoage/rules.mk
deleted file mode 100644
index 271c920da8..0000000000
--- a/keyboards/spleeb/keymaps/chrishoage/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-TAP_DANCE_ENABLE = yes
-BOOTMAGIC_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-ENCODER_ENABLE = yes
-
-POINTING_DEVICE_ENABLE = yes
-POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c
-
-OLED_ENABLE = yes
diff --git a/keyboards/splitkb/aurora/corne/keymaps/x123/config.h b/keyboards/splitkb/aurora/corne/keymaps/x123/config.h
deleted file mode 100644
index 29d2337f10..0000000000
--- a/keyboards/splitkb/aurora/corne/keymaps/x123/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2022 x123 <@x123>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should 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 ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */
-#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
-
-#define TAPPING_TOGGLE 1
-#define TAPPING_TERM 280
-#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
diff --git a/keyboards/splitkb/aurora/corne/keymaps/x123/keymap.c b/keyboards/splitkb/aurora/corne/keymaps/x123/keymap.c
deleted file mode 100644
index 6087c698de..0000000000
--- a/keyboards/splitkb/aurora/corne/keymaps/x123/keymap.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
-Copyright 2022 x123 <@x123>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _QWERTY_NOHOMEROW,
- _COLEMAK,
- _COLEMAK_NOHOMEROW,
- _LOWER,
- _RAISE,
- _ADJUST,
- _ONESHOT,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- QWERTY_NOHOMEROW,
- COLEMAK,
- COLEMAK_NOHOMEROW,
- LOWER,
- RAISE,
- ADJUST,
- ONESHOT,
- DT_UP_50,
- DT_DOWN_50,
- DT_UP_X2,
- DT_DOWN_X2,
- DT_200,
- DT_MAX,
-};
-
-#define LSFT_KA LSFT_T(KC_A)
-#define LCTL_KS LCTL_T(KC_S)
-#define LGUI_KD LGUI_T(KC_D)
-#define LALT_KF LALT_T(KC_F)
-#define LALT_KJ LALT_T(KC_J)
-#define RGUI_KK RGUI_T(KC_K)
-#define RCTL_KL RCTL_T(KC_L)
-#define RS_SCLN RSFT_T(KC_SCLN)
-
-#define LCTL_KR LCTL_T(KC_R)
-#define LGUI_KS LGUI_T(KC_S)
-#define LALT_KT LALT_T(KC_T)
-#define LALT_KN LALT_T(KC_N)
-#define RGUI_KE RGUI_T(KC_E)
-#define RCTL_KI RCTL_T(KC_I)
-#define RSFT_KO RSFT_T(KC_O)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_BSPC, LSFT_KA, LCTL_KS, LGUI_KD, LALT_KF, KC_G, KC_H, LALT_KJ, RGUI_KK, RCTL_KL, RS_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, OSL(_ONESHOT)
- //`--------------------------' `--------------------------'
-
- ),
-
- [_QWERTY_NOHOMEROW] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, OSL(_ONESHOT)
- //`--------------------------' `--------------------------'
-
- ),
-
- [_COLEMAK] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_BSPC, LSFT_KA, LCTL_KR, LGUI_KS, LALT_KT, KC_G, KC_M, LALT_KN, RGUI_KE, RCTL_KI, RSFT_KO, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, OSL(_ONESHOT)
- //`--------------------------' `--------------------------'
- ),
-
- [_COLEMAK_NOHOMEROW] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, OSL(_ONESHOT)
- //`--------------------------' `--------------------------'
- ),
-
- [_LOWER] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_EQL, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //`--------------------------' `--------------------------'
- ),
-
- [_RAISE] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- _______, KC_ESC, KC_WH_U, KC_WBAK, KC_WFWD, KC_MS_U, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, KC_RALT, KC_WH_D, KC_LSFT, KC_LCTL, KC_MS_D, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, C(KC_Z), C(KC_X), C(KC_C), KC_BTN1, C(KC_V), KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_R, _______, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //`--------------------------' `--------------------------'
- ),
-
- [_ONESHOT] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, COLEMAK, QWERTY, _______, _______, _______, QK_BOOT, _______, _______, QWERTY_NOHOMEROW, COLEMAK_NOHOMEROW, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //`--------------------------' `--------------------------'
- )
-};
-
-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 QWERTY_NOHOMEROW:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY_NOHOMEROW);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case COLEMAK_NOHOMEROW:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK_NOHOMEROW);
- }
- 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 ONESHOT:
- if (record->event.pressed) {
- set_oneshot_layer(_ONESHOT, ONESHOT_START);
- } else {
- clear_oneshot_layer_state(ONESHOT_PRESSED);
- }
- return false;
- break;
- case DT_UP_50:
- if (record->event.pressed) {
- g_tapping_term += 50;
- }
- return false;
- break;
- case DT_DOWN_50:
- if (record->event.pressed) {
- g_tapping_term -= 50;
- }
- return false;
- break;
- case DT_UP_X2:
- if (record->event.pressed) {
- g_tapping_term *= 2;
- }
- return false;
- break;
- case DT_DOWN_X2:
- if (record->event.pressed) {
- g_tapping_term /= 2;
- }
- return false;
- break;
- case DT_200:
- if (record->event.pressed) {
- g_tapping_term = 200;
- }
- return false;
- break;
- case DT_MAX:
- if (record->event.pressed) {
- g_tapping_term = 34464;
- }
- return false;
- break;
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/splitkb/aurora/corne/keymaps/x123/readme.md b/keyboards/splitkb/aurora/corne/keymaps/x123/readme.md
deleted file mode 100644
index f1599938c1..0000000000
--- a/keyboards/splitkb/aurora/corne/keymaps/x123/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# x123 Keymap for the Aurora Corne
-
-This keymap is based on many concepts from Dreymar's big bag theory (see https://dreymar.colemak.org/index.html), tweaked a bit for my own preferences and adopted to the Aurora Corne.
-
-## Features
-
-- Supports both QWERTY and COLEMAK layouts
-- Layouts switchable on the fly
-- Homerow mods can be toggled (very useful for gaming)
-- Normal capslock key location has been replaced with backspace for ergonomics. Note that backspace is also placed in it's normal location for the QWERTY layouts (useful for letting others test the keyboard/layout)
-- Uses Dreymar's EXTEND for the RAISE layer
-- Keeps numbers and symbols on the LOWER layer
-- Function keys and quick configuration settings on the oneshot layer
-- Designed to use RALT as a compose key, which is accessible via the RAISE layer
-
-### QWERTY
-
-Basic QWERTY with homerow mods enabled.
-
-![QWERTY](https://i.imgur.com/NwIF3zJ.png)
-
-### QWERTY_NOHOMEROW
-
-Basic QWERTY with homerow mods disabled.
-
-![QWERTY_NOHOMEROW](https://i.imgur.com/2C1IGrX.png)
-
-### COLEMAK
-
-COLEMAK with homerow mods enabled.
-
-![COLEMAK](https://i.imgur.com/u5G6YWn.png)
-
-### COLEMAK_NOHOMEROW
-
-COLEMAK with homerow mods disabled.
-
-![COLEMAK_NOHOMEROW](https://i.imgur.com/enSnhcA.png)
-
-### LOWER
-
-LOWER is where numbers and symbols live.
-
-![LOWER](https://i.imgur.com/HabJ4hv.png)
-
-### RAISE
-
-RAISE is basically a direct rip of Dreymar's EXTEND for small keyboards (see the very bottom image on https://dreymar.colemak.org/layers-extend.html). This is where you'll find the arrow keys, navigation keys, mouse controls, and others.
-
-![RAISE](https://i.imgur.com/CtzQdKD.png)
-
-### ONESHOT
-
-ONESHOT is houses the function keys, it also allows quick access to swap between default layers described above as well as issue a QK_BOOT to the keyboard for use when flashing.
-
-![ONESHOT](https://i.imgur.com/cckg75i.png) \ No newline at end of file
diff --git a/keyboards/splitkb/aurora/corne/keymaps/x123/rules.mk b/keyboards/splitkb/aurora/corne/keymaps/x123/rules.mk
deleted file mode 100644
index 1a8ca4fa0d..0000000000
--- a/keyboards/splitkb/aurora/corne/keymaps/x123/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2022 x123
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-RGB_MATRIX_ENABLE = no
-RGBLIGHT_ENABLE = no
-MOUSEKEY_ENABLE = yes # Mouse keys
-OLED_ENABLE = no
-LTO_ENABLE = yes
-UNICODE_ENABLE = yes
-DYNAMIC_TAPPING_TERM_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/splitkb/aurora/corne/rev1/config.h b/keyboards/splitkb/aurora/corne/rev1/config.h
index 340aff824a..f37b59a952 100644
--- a/keyboards/splitkb/aurora/corne/rev1/config.h
+++ b/keyboards/splitkb/aurora/corne/rev1/config.h
@@ -25,11 +25,3 @@
# define OLED_DISPLAY_128X32
# define SPLIT_OLED_ENABLE
#endif
-
-// Not yet available in `info.json`
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
-# define RGB_MATRIX_LED_COUNT 54
-# define RGB_MATRIX_SPLIT { 27, 27 }
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/splitkb/aurora/corne/rev1/info.json b/keyboards/splitkb/aurora/corne/rev1/info.json
index d1725f215e..2e0b74b5a8 100644
--- a/keyboards/splitkb/aurora/corne/rev1/info.json
+++ b/keyboards/splitkb/aurora/corne/rev1/info.json
@@ -95,6 +95,11 @@
{"pin_a": "F6", "pin_b": "F7"}
]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"rgblight": {
@@ -164,6 +169,7 @@
{"flags": 4, "matrix": [5, 0], "x": 224, "y": 24}, // R SW12
{"flags": 4, "matrix": [6, 0], "x": 224, "y": 41} // R SW18
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "split_count": [27, 27]
}
}
diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/config.h b/keyboards/splitkb/aurora/helix/keymaps/default/config.h
index 869e99b779..a6863a01e8 100644
--- a/keyboards/splitkb/aurora/helix/keymaps/default/config.h
+++ b/keyboards/splitkb/aurora/helix/keymaps/default/config.h
@@ -16,7 +16,7 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
#define RGB_MATRIX_KEYPRESSES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/splitkb/aurora/helix/rev1/config.h b/keyboards/splitkb/aurora/helix/rev1/config.h
index bbf6c50073..f8b8a190fe 100644
--- a/keyboards/splitkb/aurora/helix/rev1/config.h
+++ b/keyboards/splitkb/aurora/helix/rev1/config.h
@@ -20,5 +20,3 @@
#define OLED_DISPLAY_128X32
#define SPLIT_OLED_ENABLE
-
-#define RGB_MATRIX_LED_COUNT 76 \ No newline at end of file
diff --git a/keyboards/splitkb/aurora/lily58/rev1/config.h b/keyboards/splitkb/aurora/lily58/rev1/config.h
index 1356c62ea1..08a61a2978 100644
--- a/keyboards/splitkb/aurora/lily58/rev1/config.h
+++ b/keyboards/splitkb/aurora/lily58/rev1/config.h
@@ -25,10 +25,3 @@
# define OLED_DISPLAY_128X32
# define SPLIT_OLED_ENABLE
#endif
-
-// Not yet available in `info.json`
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 68
-# define RGB_MATRIX_SPLIT { 34, 34 }
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/splitkb/aurora/lily58/rev1/info.json b/keyboards/splitkb/aurora/lily58/rev1/info.json
index 6a7bfdd26d..f81da08464 100644
--- a/keyboards/splitkb/aurora/lily58/rev1/info.json
+++ b/keyboards/splitkb/aurora/lily58/rev1/info.json
@@ -106,6 +106,11 @@
{"pin_a": "F7", "pin_b": "F6"}
]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"rgblight": {
@@ -189,6 +194,7 @@
{"flags": 4, "matrix": [9, 3], "x": 173, "y": 62}, // R SW27
{"flags": 4, "matrix": [9, 2], "x": 188, "y": 62} // R SW26
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "split_count": [34, 34]
}
}
diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h
index 353c0ee349..75d233f42e 100644
--- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h
+++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h
@@ -16,7 +16,7 @@
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
#define RGB_MATRIX_KEYPRESSES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
index 1896af3cb5..7292b3d8b0 100644
--- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
+++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
@@ -20,5 +20,3 @@
#define OLED_DISPLAY_128X32
#define SPLIT_OLED_ENABLE
-
-#define RGB_MATRIX_LED_COUNT 70 \ No newline at end of file
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h
index b35ec79511..4605cb782a 100644
--- a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h
+++ b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h
@@ -18,7 +18,7 @@
// Not yet available in `keymap.json` format
#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_SLEEP
# define RGB_MATRIX_KEYPRESSES
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/.clang-format b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/.clang-format
deleted file mode 100644
index f87f20d8b6..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/.clang-format
+++ /dev/null
@@ -1 +0,0 @@
-ColumnLimit: 110
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h
deleted file mode 100644
index f14e2b17e1..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2023 Florent Linguenheld (@FLinguenheld)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Flash */
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
-
-/* OLED */
-#undef OLED_FONT_H
-#define OLED_FONT_H "./oled/glcdfont.c"
-
-#define OLED_TIMEOUT 25000
-#define OLED_BRIGHTNESS 50 // Protect my eyesss
-#define SPLIT_LAYER_STATE_ENABLE
-#define SPLIT_MODS_ENABLE
-#define SPLIT_OLED_ENABLE
-
-/* Auto shift ♥ */
-#define AUTO_SHIFT_TIMEOUT 115
-#define TAPPING_TERM 155
-
-/* Unicode */
-// #define UNICODE_SELECTED_MODES UC_LNX
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
-
-/* leader */
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 280
-#define LEADER_NO_TIMEOUT
-
-/* Mouse */
-#define MK_3_SPEED
-#define MK_MOMENTARY_ACCEL
-
-#define MK_C_OFFSET_0 1
-#define MK_C_INTERVAL_0 12
-
-#define MK_C_OFFSET_1 4
-#define MK_C_INTERVAL_1 18
-
-#define MK_C_OFFSET_UNMOD 13
-#define MK_C_INTERVAL_UNMOD 15
-
-#define MK_C_OFFSET_2 25
-#define MK_C_INTERVAL_2 10
-
-#define MK_W_OFFSET_0 1
-#define MK_W_INTERVAL_0 160
-
-#define MK_W_OFFSET_1 2
-#define MK_W_INTERVAL_1 120
-
-#define MK_W_OFFSET_UNMOD 4
-#define MK_W_INTERVAL_UNMOD 70
-
-#define MK_W_OFFSET_2 10
-#define MK_W_INTERVAL_2 30
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c
deleted file mode 100644
index d5bf9f0223..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c
+++ /dev/null
@@ -1,504 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keycodes.h"
-
-/* Only for basis letters
- Exceptions like Tab or Enter */
-bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_TAB:
- // case KC_ENT:
-
- case US_EACU:
- case US_CCED:
- case US_AE:
- case US_OE:
-
- // --
- case KC_A:
- case KC_B:
- case KC_C:
- case KC_D:
- case KC_E:
- case KC_F:
- case KC_G:
- case KC_H:
- case KC_I:
- case KC_J:
- case KC_K:
- case KC_L:
- case KC_M:
- case KC_N:
- case KC_O:
- case KC_P:
- case KC_Q:
- case KC_R:
- case KC_S:
- case KC_T:
- case KC_U:
- case KC_V:
- case KC_W:
- case KC_X:
- case KC_Y:
- case KC_Z:
-
- return true;
- }
-
- return get_custom_auto_shifted_key(keycode, record);
-}
-
-/* Custom auto shift
- I use this instead of tap dance because double tap is horrible
- Add here the letter or the custom enum, then add in press_user and press_release the actions */
-bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_BSPC:
-
- // Double them !!!
- case KC_AMPERSAND:
- case KC_AT:
- case KC_BACKSLASH:
- case KC_CIRCUMFLEX:
- case KC_COLON:
- case KC_DOLLAR:
- case KC_EQUAL:
- case KC_EXCLAIM:
- case KC_GRAVE:
- case KC_HASH:
- case KC_MINUS:
- case KC_PERC:
- case KC_PIPE:
- case KC_PLUS:
- case KC_QUESTION:
- case KC_QUOTE:
- case KC_DOUBLE_QUOTE:
- case KC_SEMICOLON:
- case KC_SLASH:
- case KC_ASTERISK:
- case KC_TILDE:
- case KC_UNDERSCORE:
-
- case KC_LEFT_ANGLE_BRACKET: // Easy indent with vim
- case KC_RIGHT_ANGLE_BRACKET:
-
- case KC_LEFT_BRACKET:
- case KC_RIGHT_BRACKET:
- case KC_LEFT_CURLY_BRACE:
- case KC_RIGHT_CURLY_BRACE:
- case KC_LEFT_PAREN:
- case KC_RIGHT_PAREN:
-
- /* French */
- case CS_A_GRAVE:
- case CS_E_GRAVE:
- case CS_U_GRAVE:
-
- case CS_A_CIRCUMFLEX:
- case CS_E_CIRCUMFLEX:
- case CS_I_CIRCUMFLEX:
- case CS_O_CIRCUMFLEX:
- case CS_U_CIRCUMFLEX:
-
- case CS_E_DIAERESIS:
- case CS_I_DIAERESIS:
- case CS_U_DIAERESIS:
- case CS_Y_DIAERESIS:
- return true;
-
- default:
- return false;
- }
-}
-
-void autoshift_press_user(uint16_t keycode, bool shifted, keyrecord_t *record) {
- switch (keycode) {
- case KC_BSPC:
- if (shifted) {
- tap_code16(KC_DEL);
- } else {
- tap_code16(KC_BSPC);
- }
- break;
- break;
-
- case KC_AMPERSAND:
- if (shifted) {
- tap_code16(KC_AMPERSAND);
- tap_code16(KC_AMPERSAND);
- } else {
- tap_code16(KC_AMPERSAND);
- }
- break;
- case KC_AT:
- if (shifted) {
- tap_code16(KC_AT);
- tap_code16(KC_AT);
- } else {
- tap_code16(KC_AT);
- }
- break;
- case KC_BACKSLASH:
- if (shifted) {
- tap_code16(KC_BACKSLASH);
- tap_code16(KC_BACKSLASH);
- } else {
- tap_code16(KC_BACKSLASH);
- }
- break;
- case KC_CIRCUMFLEX:
- if (shifted) {
- tap_code16(KC_CIRCUMFLEX);
- tap_code16(KC_CIRCUMFLEX);
- } else {
- tap_code16(KC_CIRCUMFLEX);
- }
- break;
- case KC_COLON:
- if (shifted) {
- tap_code16(KC_COLON);
- tap_code16(KC_COLON);
- } else {
- tap_code16(KC_COLON);
- }
- break;
- case KC_DOLLAR:
- if (shifted) {
- tap_code16(KC_DOLLAR);
- tap_code16(KC_DOLLAR);
- } else {
- tap_code16(KC_DOLLAR);
- }
- break;
- case KC_EQUAL:
- if (shifted) {
- tap_code16(KC_EQUAL);
- tap_code16(KC_EQUAL);
- } else {
- tap_code16(KC_EQUAL);
- }
- break;
- case KC_EXCLAIM:
- if (shifted) {
- tap_code16(KC_EXCLAIM);
- tap_code16(KC_EXCLAIM);
- } else {
- tap_code16(KC_EXCLAIM);
- }
- break;
- case KC_GRAVE:
- if (shifted) {
- tap_code16(KC_GRAVE);
- tap_code16(KC_GRAVE);
- } else {
- tap_code16(KC_GRAVE);
- }
- break;
- case KC_HASH:
- if (shifted) {
- tap_code16(KC_HASH);
- tap_code16(KC_HASH);
- } else {
- tap_code16(KC_HASH);
- }
- break;
- case KC_MINUS:
- if (shifted) {
- tap_code16(KC_MINUS);
- tap_code16(KC_MINUS);
- } else {
- tap_code16(KC_MINUS);
- }
- break;
- case KC_PERCENT:
- if (shifted) {
- tap_code16(KC_PERCENT);
- tap_code16(KC_PERCENT);
- } else {
- tap_code16(KC_PERCENT);
- }
- break;
- case KC_PIPE:
- if (shifted) {
- tap_code16(KC_PIPE);
- tap_code16(KC_PIPE);
- } else {
- tap_code16(KC_PIPE);
- }
- break;
- case KC_PLUS:
- if (shifted) {
- tap_code16(KC_PLUS);
- tap_code16(KC_PLUS);
- } else {
- tap_code16(KC_PLUS);
- }
- break;
- case KC_QUESTION:
- if (shifted) {
- tap_code16(KC_QUESTION);
- tap_code16(KC_QUESTION);
- } else {
- tap_code16(KC_QUESTION);
- }
- break;
- case KC_QUOTE:
- if (shifted) {
- tap_code16(KC_QUOTE);
- tap_code16(KC_QUOTE);
- } else {
- tap_code16(KC_QUOTE);
- }
- break;
- case KC_DOUBLE_QUOTE:
- if (shifted) {
- tap_code16(KC_DOUBLE_QUOTE);
- tap_code16(KC_DOUBLE_QUOTE);
- } else {
- tap_code16(KC_DOUBLE_QUOTE);
- }
- break;
- case KC_SEMICOLON:
- if (shifted) {
- tap_code16(KC_SEMICOLON);
- tap_code16(KC_SEMICOLON);
- } else {
- tap_code16(KC_SEMICOLON);
- }
- break;
- case KC_SLASH:
- if (shifted) {
- tap_code16(KC_SLASH);
- tap_code16(KC_SLASH);
- } else {
- tap_code16(KC_SLASH);
- }
- break;
- case KC_ASTERISK:
- if (shifted) {
- tap_code16(KC_ASTERISK);
- tap_code16(KC_ASTERISK);
- } else {
- tap_code16(KC_ASTERISK);
- }
- break;
- case KC_TILDE:
- if (shifted) {
- tap_code16(KC_TILDE);
- tap_code16(KC_TILDE);
- } else {
- tap_code16(KC_TILDE);
- }
- break;
- case KC_UNDERSCORE:
- if (shifted) {
- tap_code16(KC_UNDERSCORE);
- tap_code16(KC_UNDERSCORE);
- } else {
- tap_code16(KC_UNDERSCORE);
- }
- break;
-
- case KC_LEFT_ANGLE_BRACKET:
- if (shifted) {
- tap_code16(KC_LEFT_ANGLE_BRACKET);
- tap_code16(KC_LEFT_ANGLE_BRACKET);
- } else {
- tap_code16(KC_LEFT_ANGLE_BRACKET);
- }
- break;
- case KC_RIGHT_ANGLE_BRACKET:
- if (shifted) {
- tap_code16(KC_RIGHT_ANGLE_BRACKET);
- tap_code16(KC_RIGHT_ANGLE_BRACKET);
- } else {
- tap_code16(KC_RIGHT_ANGLE_BRACKET);
- }
- break;
-
- case KC_LEFT_BRACKET:
- if (shifted) {
- tap_code16(KC_LEFT_BRACKET);
- tap_code16(KC_LEFT_BRACKET);
- } else {
- tap_code16(KC_LEFT_BRACKET);
- }
- break;
- case KC_RIGHT_BRACKET:
- if (shifted) {
- tap_code16(KC_RIGHT_BRACKET);
- tap_code16(KC_RIGHT_BRACKET);
- } else {
- tap_code16(KC_RIGHT_BRACKET);
- }
- break;
- case KC_LEFT_CURLY_BRACE:
- if (shifted) {
- tap_code16(KC_LEFT_CURLY_BRACE);
- tap_code16(KC_LEFT_CURLY_BRACE);
- } else {
- tap_code16(KC_LEFT_CURLY_BRACE);
- }
- break;
- case KC_RIGHT_CURLY_BRACE:
- if (shifted) {
- tap_code16(KC_RIGHT_CURLY_BRACE);
- tap_code16(KC_RIGHT_CURLY_BRACE);
- } else {
- tap_code16(KC_RIGHT_CURLY_BRACE);
- }
- break;
- case KC_LEFT_PAREN:
- if (shifted) {
- tap_code16(KC_LEFT_PAREN);
- tap_code16(KC_LEFT_PAREN);
- } else {
- tap_code16(KC_LEFT_PAREN);
- }
- break;
- case KC_RIGHT_PAREN:
- if (shifted) {
- tap_code16(KC_RIGHT_PAREN);
- tap_code16(KC_RIGHT_PAREN);
- } else {
- tap_code16(KC_RIGHT_PAREN);
- }
- break;
-
- /* French
- Release is not necessary with 'send_unicode_string()' */
- case CS_A_GRAVE:
- if (shifted) {
- tap_code16(US_DGRV);
- tap_code16(S(KC_A));
- } else {
- tap_code16(US_DGRV);
- tap_code16(KC_A);
- }
- break;
- case CS_E_GRAVE:
- if (shifted) {
- tap_code16(US_DGRV);
- tap_code16(S(KC_E));
- } else {
- tap_code16(US_DGRV);
- tap_code16(KC_E);
- }
- break;
- case CS_U_GRAVE:
- if (shifted) {
- tap_code16(US_DGRV);
- tap_code16(S(KC_U));
- } else {
- tap_code16(US_DGRV);
- tap_code16(KC_U);
- }
- break;
-
- case CS_A_CIRCUMFLEX:
- if (shifted) {
- tap_code16(US_DCIR);
- tap_code16(S(KC_A));
- } else {
- tap_code16(US_DCIR);
- tap_code16(KC_A);
- }
- break;
- case CS_E_CIRCUMFLEX:
- if (shifted) {
- tap_code16(US_DCIR);
- tap_code16(S(KC_E));
- } else {
- tap_code16(US_DCIR);
- tap_code16(KC_E);
- }
- break;
- case CS_I_CIRCUMFLEX:
- if (shifted) {
- tap_code16(US_DCIR);
- tap_code16(S(KC_I));
- } else {
- tap_code16(US_DCIR);
- tap_code16(KC_I);
- }
- break;
- case CS_O_CIRCUMFLEX:
- if (shifted) {
- tap_code16(US_DCIR);
- tap_code16(S(KC_O));
- } else {
- tap_code16(US_DCIR);
- tap_code16(KC_O);
- }
- break;
- case CS_U_CIRCUMFLEX:
- if (shifted) {
- tap_code16(US_DCIR);
- tap_code16(S(KC_U));
- } else {
- tap_code16(US_DCIR);
- tap_code16(KC_U);
- }
- break;
-
- case CS_E_DIAERESIS:
- if (shifted) {
- tap_code16(US_DIAE);
- tap_code16(S(KC_E));
- } else {
- tap_code16(US_DIAE);
- tap_code16(KC_E);
- }
- break;
- case CS_I_DIAERESIS:
- if (shifted) {
- tap_code16(US_DIAE);
- tap_code16(S(KC_I));
- } else {
- tap_code16(US_DIAE);
- tap_code16(KC_I);
- }
- break;
- case CS_U_DIAERESIS:
- if (shifted) {
- tap_code16(US_DIAE);
- tap_code16(S(KC_U));
- } else {
- tap_code16(US_DIAE);
- tap_code16(KC_U);
- }
- break;
- case CS_Y_DIAERESIS:
- if (shifted) {
- tap_code16(US_DIAE);
- tap_code16(S(KC_Y));
- } else {
- tap_code16(US_DIAE);
- tap_code16(KC_Y);
- }
- break;
-
- default:
- if (shifted) {
- add_weak_mods(MOD_BIT(KC_LSFT));
- }
- /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift */
- register_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode);
- }
-}
-
-void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) {
- switch (keycode) {
- case KC_BSPC:
- unregister_code16((!shifted) ? KC_BSPC : KC_DEL);
- break;
-
- default:
- /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift
- The IS_RETRO check isn't really necessary here, always using
- keycode & 0xFF would be fine. */
- unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode);
- }
-}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c
deleted file mode 100644
index de0436b361..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c
+++ /dev/null
@@ -1,245 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keycodes.h"
-
-/* How to :
- - Add an entry in the enum
- - Create a new sequence of keys
- - Link the enum to this sequence in the key_combos table
-
- For macros :
- - Same steps
- - And add the macro in the process_combo_event() function
-*/
-
-enum combos {
- LEADER,
- BOOTLOADER,
-
- LAYER_ADJ,
- LAYER_FN,
- LAYER_LEFT_HAND,
- LAYER_MOUSE,
- LAYER_MOUSE_BACK,
-
- /* French */
- C_CEDILLA,
- E_A,
- E_O,
-
- A_GRAVE,
- E_GRAVE,
- U_GRAVE,
-
- A_CIRCUMFLEX,
- E_CIRCUMFLEX,
- I_CIRCUMFLEX,
- O_CIRCUMFLEX,
- U_CIRCUMFLEX,
-
- E_DIAERESIS,
- I_DIAERESIS,
- U_DIAERESIS,
- Y_DIAERESIS,
-
- /* -- */
- AMPERSAND,
- AT_SIGN,
- BACKSLASH,
- CIRCUMFLEX,
- COLON,
- DOLLAR,
- EQUAL,
- EXCLAMATION_MARK,
- GRAVE,
- HASH,
- MINUS,
- PERCENT,
- PIPE,
- PLUS,
- QUESTION_MARK,
- QUOTE,
- QUOTE_DOUBLE,
- SEMICOLON,
- SLASH,
- STAR,
- TILDE,
- UNDERSCORE,
-
- ANGLE_BRACKET_LEFT,
- ANGLE_BRACKET_RIGHT,
-
- BRACKET_LEFT,
- BRACKET_RIGHT,
- CURLY_BRACKET_LEFT,
- CURLY_BRACKET_RIGHT,
- PARENTHESIS_LEFT,
- PARENTHESIS_RIGHT,
-
- /* Non qwerty */
- EURO,
-
- /* One hand special */
- CONTROL_RIGHT,
- CONTROL_SHIFT_RIGHT,
-
- ALT_LEFT,
- SHIFT_LEFT,
- CONTROL_SHIFT_LEFT,
-
- /* Just to replace the define in config.h */
- COMBO_LENGTH,
-};
-uint16_t COMBO_LEN = COMBO_LENGTH;
-
-/* Sequences fo keys */
-const uint16_t PROGMEM combo_leader[] = {LT(_MOUSE, KC_COMM), LT(_ARROWS, KC_DOT), COMBO_END};
-const uint16_t PROGMEM combo_bootloader[] = {KC_K, KC_TAB, KC_Z, KC_BSPC, KC_V, KC_J, COMBO_END};
-
-const uint16_t PROGMEM combo_ADJ[] = {CTL_T(KC_SPACE), LT(_NUMERIC, KC_ENT), COMBO_END};
-const uint16_t PROGMEM combo_fn[] = {LT(_NUMERIC, KC_ENT), KC_N, COMBO_END};
-const uint16_t PROGMEM combo_left_hand[] = {LT(_MOUSE, KC_COMM), GUI_T(KC_ESC), COMBO_END};
-const uint16_t PROGMEM combo_mouse[] = {KC_A, KC_I, KC_E, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_mouse_back[] = {KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT, COMBO_END};
-/* -- */
-const uint16_t PROGMEM combo_c_cedilla[] = {LT(_ARROWS, KC_DOT), KC_C, COMBO_END};
-const uint16_t PROGMEM combo_ea[] = {US_EACU, KC_A, COMBO_END};
-const uint16_t PROGMEM combo_eo[] = {US_EACU, KC_O, COMBO_END};
-
-const uint16_t PROGMEM combo_a_grave[] = {CTL_T(KC_SPACE), KC_A, COMBO_END};
-const uint16_t PROGMEM combo_e_grave[] = {CTL_T(KC_SPACE), KC_E, COMBO_END};
-const uint16_t PROGMEM combo_u_grave[] = {CTL_T(KC_SPACE), KC_U, COMBO_END};
-
-const uint16_t PROGMEM combo_a_circumflex[] = {LT(_MOUSE, KC_COMM), KC_A, COMBO_END};
-const uint16_t PROGMEM combo_e_circumflex[] = {LT(_MOUSE, KC_COMM), KC_E, COMBO_END};
-const uint16_t PROGMEM combo_i_circumflex[] = {LT(_MOUSE, KC_COMM), KC_I, COMBO_END};
-const uint16_t PROGMEM combo_o_circumflex[] = {LT(_MOUSE, KC_COMM), KC_O, COMBO_END};
-const uint16_t PROGMEM combo_u_circumflex[] = {LT(_MOUSE, KC_COMM), KC_U, COMBO_END};
-
-const uint16_t PROGMEM combo_e_diaeresis[] = {US_EACU, KC_E, COMBO_END};
-const uint16_t PROGMEM combo_i_diaeresis[] = {US_EACU, KC_I, COMBO_END};
-const uint16_t PROGMEM combo_u_diaeresis[] = {US_EACU, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_y_diaeresis[] = {US_EACU, KC_Y, COMBO_END};
-
-/* -- */
-const uint16_t PROGMEM combo_ampersand[] = {KC_E, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_at_sign[] = {KC_D, KC_L, COMBO_END};
-const uint16_t PROGMEM combo_backslash[] = {KC_B, KC_E, COMBO_END};
-const uint16_t PROGMEM combo_circumflex[] = {KC_B, KC_O, COMBO_END};
-const uint16_t PROGMEM combo_colon[] = {KC_C, KC_G, COMBO_END};
-const uint16_t PROGMEM combo_dollar[] = {KC_O, KC_W, COMBO_END};
-const uint16_t PROGMEM combo_equal[] = {KC_T, KC_H, COMBO_END};
-const uint16_t PROGMEM combo_exclamation_mark[] = {KC_Q, KC_Y, COMBO_END};
-const uint16_t PROGMEM combo_grave[] = {KC_T, KC_G, COMBO_END};
-const uint16_t PROGMEM combo_hash[] = {KC_X, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_minus[] = {KC_T, KC_R, COMBO_END};
-const uint16_t PROGMEM combo_percent[] = {KC_B, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_pipe[] = {KC_I, KC_E, COMBO_END};
-const uint16_t PROGMEM combo_plus[] = {KC_T, KC_L, COMBO_END};
-const uint16_t PROGMEM combo_question_mark[] = {KC_P, KC_D, COMBO_END};
-const uint16_t PROGMEM combo_quote[] = {KC_T, KC_N, COMBO_END};
-const uint16_t PROGMEM combo_quote_double[] = {KC_A, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_semicolon[] = {KC_G, KC_H, COMBO_END};
-const uint16_t PROGMEM combo_slash[] = {KC_S, KC_L, COMBO_END};
-const uint16_t PROGMEM combo_star[] = {KC_S, KC_T, COMBO_END};
-const uint16_t PROGMEM combo_tilde[] = {KC_I, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_underscore[] = {KC_S, KC_R, COMBO_END};
-
-const uint16_t PROGMEM combo_angle_bracket_left[] = {KC_C, KC_S, COMBO_END};
-const uint16_t PROGMEM combo_angle_bracket_right[] = {KC_S, KC_H, COMBO_END};
-const uint16_t PROGMEM combo_bracket_left[] = {KC_I, KC_O, COMBO_END};
-const uint16_t PROGMEM combo_bracket_right[] = {KC_O, KC_U, COMBO_END};
-const uint16_t PROGMEM combo_curly_bracket_left[] = {KC_X, KC_E, COMBO_END};
-const uint16_t PROGMEM combo_curly_bracket_right[] = {KC_E, KC_Y, COMBO_END};
-const uint16_t PROGMEM combo_parenthesis_left[] = {KC_T, KC_D, COMBO_END};
-const uint16_t PROGMEM combo_parenthesis_right[] = {KC_D, KC_R, COMBO_END};
-
-/* Non qwerty */
-const uint16_t PROGMEM combo_euro[] = {KC_X, KC_Q, COMBO_END};
-
-/* One hand special */
-const uint16_t PROGMEM combo_control_right[] = {LT(_NUMERIC, KC_ENT), KC_R, COMBO_END};
-const uint16_t PROGMEM combo_control_shift_right[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END};
-
-const uint16_t PROGMEM combo_shift_left[] = {LT(_MOUSE, KC_COMM), US_EACU, COMBO_END};
-const uint16_t PROGMEM combo_alt_left[] = {CTL_T(KC_SPACE), US_EACU, COMBO_END};
-const uint16_t PROGMEM combo_control_shift_left[] = {CTL_T(KC_SPACE), GUI_T(KC_ESC), COMBO_END};
-
-/* Sequences fo keys */
-combo_t key_combos[] = {
- [LEADER] = COMBO(combo_leader, QK_LEAD),
- [BOOTLOADER] = COMBO(combo_bootloader, QK_BOOTLOADER),
-
- [LAYER_ADJ] = COMBO(combo_ADJ, OSL(_ADJ)),
- [LAYER_FN] = COMBO(combo_fn, OSL(_FN)),
- [LAYER_LEFT_HAND] = COMBO(combo_left_hand, OSL(_LEFT_HAND)),
- [LAYER_MOUSE] = COMBO(combo_mouse, TG(_MOUSE)),
- [LAYER_MOUSE_BACK] = COMBO(combo_mouse_back, TG(_MOUSE)),
-
- /* French */
- [C_CEDILLA] = COMBO(combo_c_cedilla, US_CCED),
- [E_A] = COMBO(combo_ea, US_AE),
- [E_O] = COMBO(combo_eo, US_OE),
-
- [A_GRAVE] = COMBO(combo_a_grave, CS_A_GRAVE),
- [E_GRAVE] = COMBO(combo_e_grave, CS_E_GRAVE),
- [U_GRAVE] = COMBO(combo_u_grave, CS_U_GRAVE),
-
- [A_CIRCUMFLEX] = COMBO(combo_a_circumflex, CS_A_CIRCUMFLEX),
- [E_CIRCUMFLEX] = COMBO(combo_e_circumflex, CS_E_CIRCUMFLEX),
- [I_CIRCUMFLEX] = COMBO(combo_i_circumflex, CS_I_CIRCUMFLEX),
- [O_CIRCUMFLEX] = COMBO(combo_o_circumflex, CS_O_CIRCUMFLEX),
- [U_CIRCUMFLEX] = COMBO(combo_u_circumflex, CS_U_CIRCUMFLEX),
-
- [E_DIAERESIS] = COMBO(combo_e_diaeresis, CS_E_DIAERESIS),
- [I_DIAERESIS] = COMBO(combo_i_diaeresis, CS_I_DIAERESIS),
- [U_DIAERESIS] = COMBO(combo_u_diaeresis, CS_U_DIAERESIS),
- [Y_DIAERESIS] = COMBO(combo_y_diaeresis, CS_Y_DIAERESIS),
-
- /* -- */
- [AMPERSAND] = COMBO(combo_ampersand, KC_AMPERSAND),
- [AT_SIGN] = COMBO(combo_at_sign, KC_AT),
- [BACKSLASH] = COMBO(combo_backslash, KC_BACKSLASH),
- [CIRCUMFLEX] = COMBO(combo_circumflex, KC_CIRCUMFLEX),
- [COLON] = COMBO(combo_colon, KC_COLON),
- [DOLLAR] = COMBO(combo_dollar, KC_DOLLAR),
- [EQUAL] = COMBO(combo_equal, KC_EQUAL),
- [EXCLAMATION_MARK] = COMBO(combo_exclamation_mark, KC_EXCLAIM),
- [GRAVE] = COMBO(combo_grave, KC_GRAVE),
- [HASH] = COMBO(combo_hash, KC_HASH),
- [MINUS] = COMBO(combo_minus, KC_MINUS),
- [PERCENT] = COMBO(combo_percent, KC_PERCENT),
- [PIPE] = COMBO(combo_pipe, KC_PIPE),
- [PLUS] = COMBO(combo_plus, KC_PLUS),
- [QUESTION_MARK] = COMBO(combo_question_mark, KC_QUESTION),
- [QUOTE] = COMBO(combo_quote, KC_QUOTE),
- [QUOTE_DOUBLE] = COMBO(combo_quote_double, KC_DOUBLE_QUOTE),
- [SEMICOLON] = COMBO(combo_semicolon, KC_SEMICOLON),
- [SLASH] = COMBO(combo_slash, KC_SLASH),
- [STAR] = COMBO(combo_star, KC_ASTERISK),
- [TILDE] = COMBO(combo_tilde, KC_TILDE),
- [UNDERSCORE] = COMBO(combo_underscore, KC_UNDERSCORE),
-
- [ANGLE_BRACKET_LEFT] = COMBO(combo_angle_bracket_left, KC_LEFT_ANGLE_BRACKET),
- [ANGLE_BRACKET_RIGHT] = COMBO(combo_angle_bracket_right, KC_RIGHT_ANGLE_BRACKET),
-
- [BRACKET_LEFT] = COMBO(combo_bracket_left, KC_LEFT_BRACKET),
- [BRACKET_RIGHT] = COMBO(combo_bracket_right, KC_RIGHT_BRACKET),
- [CURLY_BRACKET_LEFT] = COMBO(combo_curly_bracket_left, KC_LEFT_CURLY_BRACE),
- [CURLY_BRACKET_RIGHT] = COMBO(combo_curly_bracket_right, KC_RIGHT_CURLY_BRACE),
- [PARENTHESIS_LEFT] = COMBO(combo_parenthesis_left, KC_LEFT_PAREN),
- [PARENTHESIS_RIGHT] COMBO(combo_parenthesis_right, KC_RIGHT_PAREN),
-
- /* Non qwerty */
- [EURO] COMBO(combo_euro, US_EURO),
-
- /* One hand special */
- [CONTROL_RIGHT] = COMBO(combo_control_right, KC_RCTL),
- [CONTROL_SHIFT_RIGHT] = COMBO(combo_control_shift_right, C(S(XXXXXXX))),
-
- [ALT_LEFT] = COMBO(combo_alt_left, KC_LALT),
- [SHIFT_LEFT] = COMBO(combo_shift_left, KC_LSFT),
- [CONTROL_SHIFT_LEFT] = COMBO(combo_control_shift_left, C(S(XXXXXXX))),
-};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c
deleted file mode 100644
index 1964fb428f..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c
+++ /dev/null
@@ -1,208 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keycodes.h"
-#include <stdlib.h>
-
-void leader_end_user(void) {
- if (leader_sequence_two_keys(KC_M, KC_S)) {
- SEND_STRING("f@linguenheld.fr");
- } else if (leader_sequence_two_keys(KC_M, KC_L)) {
- SEND_STRING("florent@linguenheld.fr");
- } else if (leader_sequence_two_keys(KC_F, KC_L)) {
- SEND_STRING("flinguenheld");
-
- } else if (leader_sequence_three_keys(KC_D, KC_O, KC_T)) {
- SEND_STRING("https://github.com/flinguenheld/dotfiles");
- } else if (leader_sequence_three_keys(KC_H, KC_U, KC_B)) {
- SEND_STRING("https://github.com/flinguenheld/");
- } else if (leader_sequence_three_keys(KC_Q, KC_M, KC_K)) {
- SEND_STRING("$HOME/qmk_firmware/keyboards/splitkb/aurora/sweep/keymaps/sweep_keymap");
- } else if (leader_sequence_three_keys(KC_Q, KC_M, KC_C)) {
- SEND_STRING("qmk compile && qmk flash");
-
- } else if (leader_sequence_three_keys(KC_T, KC_E, KC_S)) {
- SEND_STRING("test01234");
- } else if (leader_sequence_three_keys(KC_A, KC_D, KC_M)) {
- SEND_STRING("admin01234");
-
- } else if (leader_sequence_one_key(KC_C)) {
- SEND_STRING(" | xclip -r -selection clipboard");
-
- /* Keyring requests, improbable combinaisons used by i3 */
- } else if (leader_sequence_three_keys(KC_G, KC_I, KC_T)) {
- register_code(KC_LEFT_GUI);
- register_code(KC_LEFT_SHIFT);
- register_code(KC_LEFT_CTRL);
- register_code(KC_0);
- unregister_code(KC_0);
- unregister_code(KC_LEFT_GUI);
- unregister_code(KC_LEFT_SHIFT);
- unregister_code(KC_LEFT_CTRL);
-
- } else if (leader_sequence_three_keys(KC_M, KC_A, KC_I)) {
- register_code(KC_LEFT_GUI);
- register_code(KC_LEFT_SHIFT);
- register_code(KC_LEFT_CTRL);
- register_code(KC_1);
- unregister_code(KC_1);
- unregister_code(KC_LEFT_GUI);
- unregister_code(KC_LEFT_SHIFT);
- unregister_code(KC_LEFT_CTRL);
-
- } else if (leader_sequence_three_keys(KC_P, KC_A, KC_S)) {
- register_code(KC_LEFT_GUI);
- register_code(KC_LEFT_SHIFT);
- register_code(KC_LEFT_CTRL);
- register_code(KC_2);
- unregister_code(KC_2);
- unregister_code(KC_LEFT_GUI);
- unregister_code(KC_LEFT_SHIFT);
- unregister_code(KC_LEFT_CTRL);
-
- /* ----- */
- } else if (leader_sequence_three_keys(KC_D, KC_E, KC_G)) {
- tap_code16(US_DEG); // °
- } else if (leader_sequence_three_keys(KC_D, KC_I, KC_A)) {
- tap_code16(US_OSTR); // ø
- } else if (leader_sequence_three_keys(KC_S, KC_E, KC_C)) {
- tap_code16(US_SECT); // §
-
- /* Copyright / Register */
- } else if (leader_sequence_three_keys(KC_C, KC_O, KC_P)) {
- tap_code16(US_COPY); // ©
- } else if (leader_sequence_three_keys(KC_R, KC_E, KC_G)) {
- tap_code16(US_REGD); // ®
-
- /* Currency */
- } else if (leader_sequence_three_keys(KC_E, KC_U, KC_R)) {
- tap_code16(US_EURO); // €
- } else if (leader_sequence_three_keys(KC_P, KC_O, KC_U)) {
- tap_code16(US_PND); // £
- } else if (leader_sequence_three_keys(KC_Y, KC_E, KC_N)) {
- tap_code16(US_YEN); // ¥
- } else if (leader_sequence_three_keys(KC_C, KC_E, KC_N)) {
- tap_code16(US_CENT); // ¢
-
- /* Fractions */
- } else if (leader_sequence_three_keys(KC_F, KC_C, KC_T)) {
- tap_code16(US_QRTR); // ¼
- } else if (leader_sequence_three_keys(KC_F, KC_C, KC_G)) {
- tap_code16(US_HALF); // ½
- } else if (leader_sequence_three_keys(KC_F, KC_H, KC_T)) {
- tap_code16(US_TQTR); // ¾
-
- /* Maths */
- } else if (leader_sequence_three_keys(KC_M, KC_U, KC_L)) {
- tap_code16(US_MUL); // ×
- } else if (leader_sequence_three_keys(KC_D, KC_I, KC_V)) {
- tap_code16(US_DIV); // ÷
- } else if (leader_sequence_two_keys(KC_P, KC_M)) {
- send_unicode_string("±");
- } else if (leader_sequence_three_keys(KC_I, KC_N, KC_E)) {
- send_unicode_string("≠");
- } else if (leader_sequence_three_keys(KC_A, KC_L, KC_M)) {
- send_unicode_string("≈");
- } else if (leader_sequence_three_keys(KC_S, KC_Q, KC_U)) {
- send_unicode_string("√");
- } else if (leader_sequence_three_keys(KC_I, KC_N, KC_F)) {
- send_unicode_string("∞");
- } else if (leader_sequence_two_keys(KC_LABK, KC_LABK)) {
- send_unicode_string("≤");
- } else if (leader_sequence_two_keys(KC_RABK, KC_RABK)) {
- send_unicode_string("≥");
-
- /* Greek */
- } else if (leader_sequence_three_keys(KC_B, KC_E, KC_T)) {
- tap_code16(US_SS); // ß
- } else if (leader_sequence_three_keys(KC_M, KC_I, KC_C)) {
- tap_code16(US_MICR); // µ
- } else if (leader_sequence_two_keys(KC_P, KC_I)) {
- send_unicode_string("Ï€");
- } else if (leader_sequence_three_keys(KC_P, KC_I, KC_I)) {
- send_unicode_string("Π");
-
- } else if (leader_sequence_three_keys(KC_O, KC_M, KC_E)) {
- send_unicode_string("ω");
- } else if (leader_sequence_four_keys(KC_O, KC_M, KC_E, KC_G)) {
- send_unicode_string("Ω");
-
- /* Icons */
- } else if (leader_sequence_three_keys(KC_L, KC_O, KC_V)) {
- send_unicode_string("♥");
- } else if (leader_sequence_three_keys(KC_F, KC_L, KC_A)) {
- send_unicode_string("âš¡");
- } else if (leader_sequence_three_keys(KC_S, KC_T, KC_A)) {
- send_unicode_string("✶");
- } else if (leader_sequence_three_keys(KC_B, KC_U, KC_L)) {
- send_unicode_string("💡");
- } else if (leader_sequence_four_keys(KC_I, KC_N, KC_F, KC_O)) {
- send_unicode_string("ℹï¸");
- } else if (leader_sequence_three_keys(KC_G, KC_E, KC_A)) {
- send_unicode_string("âš™ï¸");
-
- } else if (leader_sequence_one_key(KC_V)) {
- send_unicode_string("✓");
- } else if (leader_sequence_two_keys(KC_V, KC_B)) {
- send_unicode_string("✔");
- } else if (leader_sequence_two_keys(KC_V, KC_V)) {
- send_unicode_string("✅");
-
- } else if (leader_sequence_one_key(KC_X)) {
- send_unicode_string("✗");
- } else if (leader_sequence_two_keys(KC_X, KC_B)) {
- send_unicode_string("✘");
-
- } else if (leader_sequence_one_key(KC_QUESTION)) {
- send_unicode_string("â”");
- } else if (leader_sequence_one_key(KC_EXCLAIM)) {
- send_unicode_string("â—");
- } else if (leader_sequence_two_keys(KC_QUESTION, KC_QUESTION)) {
- send_unicode_string("â“");
- } else if (leader_sequence_two_keys(KC_EXCLAIM, KC_EXCLAIM)) {
- send_unicode_string("â•");
-
- /* Subscript / superscript */
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_N)) {
- send_unicode_string("â°");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_N)) {
- send_unicode_string("â‚€");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_C)) {
- tap_code16(US_SUP1); // ¹
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_C)) {
- send_unicode_string("â‚");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_G)) {
- tap_code16(US_SUP2); // ²
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_G)) {
- send_unicode_string("â‚‚");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_H)) {
- tap_code16(US_SUP3); // ³
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_H)) {
- send_unicode_string("₃");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_T)) {
- send_unicode_string("â´");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_T)) {
- send_unicode_string("â‚„");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_S)) {
- send_unicode_string("âµ");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_S)) {
- send_unicode_string("â‚…");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_R)) {
- send_unicode_string("â¶");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_R)) {
- send_unicode_string("₆");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_P)) {
- send_unicode_string("â·");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_P)) {
- send_unicode_string("₇");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_D)) {
- send_unicode_string("â¸");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_D)) {
- send_unicode_string("₈");
- } else if (leader_sequence_three_keys(KC_U, KC_P, KC_L)) {
- send_unicode_string("â¹");
- } else if (leader_sequence_three_keys(KC_D, KC_N, KC_L)) {
- send_unicode_string("₉");
- };
-}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h
deleted file mode 100644
index 4439f958b7..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-#include "keymap_us_extended.h"
-
-enum custom_layers {
- _BASE,
- _NUMERIC,
- _ARROWS,
- _MOUSE,
- _ADJ,
- _FN,
- _LEFT_HAND,
-};
-
-enum custom_keys {
- UNICODE = QK_KB_0, // Replace SAFE_RANGE, see pr #19909
-
- /* See auto-shift */
- CS_A_GRAVE,
- CS_E_GRAVE,
- CS_U_GRAVE,
-
- CS_A_CIRCUMFLEX,
- CS_E_CIRCUMFLEX,
- CS_I_CIRCUMFLEX,
- CS_O_CIRCUMFLEX,
- CS_U_CIRCUMFLEX,
-
- CS_E_DIAERESIS,
- CS_I_DIAERESIS,
- CS_U_DIAERESIS,
- CS_Y_DIAERESIS,
-};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c
deleted file mode 100644
index f024859e7c..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright 2023 Florent Linguenheld (@FLinguenheld)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 "keycodes.h"
-
-// clang-format off
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- /* Macros */
- switch (keycode) {
-
- case UNICODE:
- if (record->event.pressed) {
- tap_code16(C(S(KC_U)));
- } break;
- }
-
- return true;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- GUI_T(KC_ESC) , KC_B , KC_O , KC_W , KC_BSPC , KC_J , KC_P , KC_D , KC_L , KC_F ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- KC_A , KC_I , KC_E , KC_U , KC_TAB , KC_V , KC_T , KC_S , KC_R , KC_N ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- US_EACU , KC_X , KC_Q , KC_Y , KC_K , KC_Z , KC_C , KC_G , KC_H , KC_M ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- LT(_MOUSE, KC_COMM) , CTL_T(KC_SPACE) , LT(_NUMERIC, KC_ENT) , LT(_ARROWS, KC_DOT)
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_NUMERIC] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_7 , KC_8 , KC_9 , KC_DOT ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_4 , KC_5 , KC_6 , KC_0 ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_1 , KC_2 , KC_3 , KC_COMM ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , UNICODE , XXXXXXX , XXXXXXX
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_MOUSE] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- KC_MS_WH_LEFT , KC_MS_WH_UP , KC_MS_WH_DOWN , KC_MS_WH_RIGHT, _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- KC_MS_LEFT , KC_MS_UP , KC_MS_DOWN , KC_MS_RIGHT , _______ , XXXXXXX , KC_MS_ACCEL0 , KC_MS_ACCEL1 , KC_MS_ACCEL2 , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- KC_MS_BTN1 , XXXXXXX , KC_MS_BTN3 , KC_MS_BTN2 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , _______ , KC_MS_BTN1 , KC_MS_BTN2
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_ARROWS] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_HOME , KC_PAGE_DOWN , KC_PAGE_UP , KC_END ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , C(KC_D) , C(KC_U) , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , _______ , XXXXXXX , XXXXXXX
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_ADJ] = LAYOUT(
- //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+-----------------+----------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_PRINT_SCREEN , XXXXXXX , XXXXXXX , XXXXXXX , KC_AUDIO_VOL_UP , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+-----------------+----------|
- XXXXXXX , G(C(S(KC_G))), XXXXXXX , XXXXXXX ,S(KC_PRINT_SCREEN), XXXXXXX , XXXXXXX , XXXXXXX ,KC_AUDIO_VOL_DOWN, XXXXXXX ,
- //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+-----------------+----------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_AUDIO_MUTE , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+-----------------+----------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , _______ , XXXXXXX , XXXXXXX
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_FN] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_F7 , KC_F8 , KC_F9 , KC_F10 ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_F4 , KC_F5 , KC_F6 , KC_F11 ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_F1 , KC_F2 , KC_F3 , KC_F12 ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , _______ , XXXXXXX , XXXXXXX
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-
- [_LEFT_HAND] = LAYOUT(
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , KC_CUT , KC_COPY , KC_PASTE , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- XXXXXXX , XXXXXXX , XXXXXXX , C(KC_Z) , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
- //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- XXXXXXX , KC_ENTER , XXXXXXX , XXXXXXX
- // |-------------------------+-------------------------| |-------------------------+-------------------------|
- ),
-};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c
deleted file mode 100644
index 8ca414fdd0..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "progmem.h"
-
-/* Online editor: https://joric.github.io/qle/ */
-static const unsigned char PROGMEM font[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xFE, 0xFE,
- 0xE6, 0xE6, 0xE6, 0x06, 0x06, 0xE6, 0xE6, 0xE6, 0xFE, 0xFE, 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
- 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x70, 0x60, 0x67, 0x67,
- 0x67, 0x67, 0x67, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60,
- 0x67, 0x67, 0x67, 0x67, 0x67, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
- 0xFE, 0x0E, 0x06, 0xE6, 0xE6, 0xE6, 0xE6, 0x06, 0x0E, 0xFE, 0xFE, 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xFE,
- 0xFE, 0xFE, 0xE6, 0xE6, 0xE6, 0x06, 0x06, 0xE6, 0xE6, 0xE6, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0x0E, 0x06, 0x66, 0x66, 0x66, 0x66, 0xE6,
- 0xFE, 0xFE, 0x06, 0x06, 0x66, 0x66, 0x66, 0xE6, 0xE6, 0xFE, 0xFE, 0xE6, 0xE6, 0xE6, 0x06, 0x06, 0xE6,
- 0xE6, 0xE6, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, 0x7C, 0x7C, 0x7C, 0x7C, 0x60, 0x60, 0x7F, 0x7F, 0x60,
- 0x60, 0x67, 0x67, 0x67, 0x67, 0x67, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x67, 0x66,
- 0x66, 0x66, 0x66, 0x60, 0x70, 0x7F, 0x7F, 0x60, 0x60, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
- 0x7F, 0x7F, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6, 0xE6, 0x06,
- 0x0E, 0xFE, 0xFE, 0x0E, 0x06, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xFE, 0xFE, 0x06, 0x06, 0x66, 0x66, 0x66,
- 0x66, 0x06, 0x0E, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xFE, 0xFE, 0x06, 0x06, 0xCE, 0x9E, 0x9E,
- 0xCE, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0xE6, 0xE6, 0xE6, 0x0E, 0x1E, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60,
- 0x60, 0x7C, 0x7C, 0x7C, 0x60, 0x60, 0x7F, 0x7F, 0x70, 0x60, 0x67, 0x67, 0x64, 0x60, 0x70, 0x7F, 0x7F,
- 0x60, 0x60, 0x7E, 0x7E, 0x78, 0x70, 0x62, 0x67, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x70, 0x60, 0x67, 0x67, 0x67, 0x67, 0x67, 0x7F, 0x7F,
- 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x67, 0x67, 0x67, 0x70, 0x78,
- 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00,
-};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c
deleted file mode 100644
index 2d00ef4e3a..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c
+++ /dev/null
@@ -1,466 +0,0 @@
-// Copyright 2023 Florent Linguenheld (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keycodes.h"
-
-/* Blank space to place modifiers */
-void add_blank(void) {
-
- oled_write_char(0x10, false);
- oled_write_char(0x11, false);
- oled_write_char(0x12, false);
- oled_write_char(0x13, false);
- oled_write_char(0x14, false);
-
- oled_write_char(0x30, false);
- oled_write_char(0x31, false);
- oled_write_char(0x32, false);
- oled_write_char(0x33, false);
- oled_write_char(0x34, false);
-}
-
-void oled_display(void) {
-
- /* Layers */
- switch (get_highest_layer(layer_state)) {
-
- case _BASE:;
- if (is_keyboard_master()) {
- static const char PROGMEM qmk_logo_master[] = {
- // 'raven', 32x128px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8f, 0x5f, 0x31, 0x79, 0x33, 0x7f,
- 0x3b, 0x71, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x4c, 0x02, 0x01, 0x95, 0xff, 0xb5, 0x05, 0x02, 0x4c, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7e, 0x01, 0x01, 0x01, 0x7e, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0,
- 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0x7c, 0x7c, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xcf, 0xef, 0xe7, 0xf3, 0xfb, 0xf9, 0xfd,
- 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x0e, 0x1a, 0x23, 0x43, 0x3f, 0x03, 0x00, 0x00,
- 0x0c, 0x1e, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x80, 0x40, 0xe0, 0xbf, 0x33, 0x30,
- 0x60, 0x20, 0x21, 0xff, 0x20, 0x60, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc,
- 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0xfc, 0xf8, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x30, 0x20,
- 0x30, 0x20, 0x32, 0x20, 0x32, 0x20, 0x30, 0x20, 0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- oled_write_raw_P(qmk_logo_master, sizeof(qmk_logo_master));
-
- } else {
- static const char PROGMEM qmk_logo_slave[] = {
- // 'birds', 32x128px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0xc0, 0xe0, 0xd0, 0x88, 0x84, 0x04, 0x04, 0xc4, 0xc4, 0x08, 0x08, 0x10, 0x60, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xf8, 0x46, 0x81, 0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x74, 0x84, 0x06, 0x03, 0x81,
- 0x42, 0x24, 0x18, 0x10, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x06, 0x08, 0x11, 0x12, 0x24, 0x24, 0x48, 0xc8, 0x48, 0x48, 0xc9, 0x49, 0x4a,
- 0x4a, 0x26, 0x25, 0x25, 0x14, 0x14, 0x14, 0x1d, 0x15, 0x2e, 0x54, 0x60, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x05, 0x02, 0x03, 0x02, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x08, 0x08, 0x08, 0x88, 0xc8, 0x08, 0x30, 0xc0, 0xc0, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x18, 0x04, 0x03,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x70, 0x18, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0f, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x70, 0x50, 0x48, 0x48, 0x24, 0x24, 0x12, 0x0a, 0x05, 0x09, 0x13, 0x12, 0x22, 0x22,
- 0xe1, 0x21, 0x21, 0x20, 0xe0, 0x20, 0x20, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x07, 0x04, 0x00, 0x04, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- oled_write_raw_P(qmk_logo_slave, sizeof(qmk_logo_slave));
- }
- break;
-
- case _NUMERIC:;
- static const char PROGMEM qmk_numeric[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x03, 0x07, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,
- 0xe0, 0xc0, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x87, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03,
- 0x87, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xc7, 0xc7, 0xc7,
- 0xc7, 0xc7, 0xc7, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
- 0x1c, 0x1c, 0x1c, 0xfc, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x1e,
- 0x3e, 0x77, 0xe7, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0xc0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc0, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0e, 0x0e,
- 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_numeric, sizeof(qmk_numeric));
- break;
-
- case _MOUSE:;
- static const char PROGMEM qmk_mouse[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3e, 0x3c, 0x78, 0xf0, 0xe0, 0xc0, 0xc0, 0xe0, 0xf0,
- 0x78, 0x3c, 0x3e, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x81, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1,
- 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc1, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc1, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x81, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc1,
- 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_mouse, sizeof(qmk_mouse));
- break;
-
- case _ARROWS:;
- static const char PROGMEM qmk_arrows[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xf8, 0xf0,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7c, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0xff, 0xff, 0xff, 0xff, 0x01, 0x03, 0x07,
- 0x0f, 0x1f, 0x3e, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
- 0xf0, 0xf8, 0x7c, 0x3c, 0x1c, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xde,
- 0x9e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f,
- 0x0e, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
- 0x30, 0x70, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
- 0x78, 0x79, 0x7b, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x38, 0x3c, 0x3e,
- 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x7c,
- 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0xff, 0xff, 0xff, 0xff, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_arrows, sizeof(qmk_arrows));
- break;
-
- case _ADJ:;
- static const char PROGMEM qmk_ADJ[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0xfe, 0xfc,
- 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x3f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xe1,
- 0xe1, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f,
- 0x3f, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
- 0x87, 0x87, 0x87, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
- 0xc3, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0x7f,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
- 0x70, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_ADJ, sizeof(qmk_ADJ));
- break;
-
- case _FN:;
- static const char PROGMEM qmk_fn[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xfe, 0xf8, 0xe0, 0x80, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xfe, 0xf8, 0xe0,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_fn, sizeof(qmk_fn));
- break;
-
- case _LEFT_HAND:;
- static const char PROGMEM qmk_left_hand[] = {
- // 'layers_left_hand', 32x128px
- 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf1, 0xf1, 0x71,
- 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38,
- 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
- 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x87, 0x87, 0x87, 0x87, 0x87, 0x07, 0x07,
- 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x80, 0x80, 0x71, 0x71, 0x71, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xf0, 0xf8, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x3c, 0xfc, 0xf8, 0xf0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0f, 0x1e,
- 0x3c, 0x78, 0xf0, 0xe0, 0xc0, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x03, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f,
- 0x1e, 0xfc, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0x78, 0x3f,
- 0x1f, 0x0f};
-
- oled_write_raw_P(qmk_left_hand, sizeof(qmk_left_hand));
- break;
- }
-
- /* Leader */
- if (leader_sequence_active()) {
-
- static const char PROGMEM qmk_leader[] = {
- 0x00, 0x00, 0xf8, 0xf8, 0x78, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x0e, 0x0e,
- 0x0e, 0x0e, 0x0e, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x70, 0x70, 0x70, 0x70,
- 0x70, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xc0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xc1, 0x81, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x78, 0xf8, 0xf8, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,
- 0x00, 0x00};
-
- oled_write_raw_P(qmk_leader, sizeof(qmk_leader));
- }
-
- /* Modifier keys */
- if (get_mods()) {
-
- if (get_mods() & MOD_MASK_GUI) {
-
- oled_write_char(0x8B, false);
- oled_write_char(0x8C, false);
- oled_write_char(0x8D, false);
- oled_write_char(0x8E, false);
- oled_write_char(0x8F, false);
-
- oled_write_char(0xAB, false);
- oled_write_char(0xAC, false);
- oled_write_char(0xAD, false);
- oled_write_char(0xAE, false);
- oled_write_char(0xAF, false);
- } else {
- add_blank();
- }
-
- if (get_mods() & MOD_MASK_CTRL) {
-
- oled_write_char(0x01, false);
- oled_write_char(0x02, false);
- oled_write_char(0x03, false);
- oled_write_char(0x04, false);
- oled_write_char(0x05, false);
-
- oled_write_char(0x21, false);
- oled_write_char(0x22, false);
- oled_write_char(0x23, false);
- oled_write_char(0x24, false);
- oled_write_char(0x25, false);
- } else {
- add_blank();
- }
-
- if (get_mods() & MOD_BIT(KC_LALT)) {
-
- oled_write_char(0x41, false);
- oled_write_char(0x42, false);
- oled_write_char(0x43, false);
- oled_write_char(0x44, false);
- oled_write_char(0x45, false);
-
- oled_write_char(0x61, false);
- oled_write_char(0x62, false);
- oled_write_char(0x63, false);
- oled_write_char(0x64, false);
- oled_write_char(0x65, false);
- } else {
- add_blank();
- }
-
- if (get_mods() & MOD_MASK_SHIFT) {
-
- oled_write_char(0x4B, false);
- oled_write_char(0x4C, false);
- oled_write_char(0x4D, false);
- oled_write_char(0x4E, false);
- oled_write_char(0x4F, false);
-
- oled_write_char(0x6B, false);
- oled_write_char(0x6C, false);
- oled_write_char(0x6D, false);
- oled_write_char(0x6E, false);
- oled_write_char(0x6F, false);
- } else {
- add_blank();
- }
-
- if (get_mods() & MOD_BIT(KC_RALT)) {
-
- oled_write_char(0x81, false);
- oled_write_char(0x82, false);
- oled_write_char(0x83, false);
- oled_write_char(0x84, false);
- oled_write_char(0x85, false);
-
- oled_write_char(0xA1, false);
- oled_write_char(0xA2, false);
- oled_write_char(0xA3, false);
- oled_write_char(0xA4, false);
- oled_write_char(0xA5, false);
- }
-
- // Add a line
- oled_write_char(0xC1, false);
- oled_write_char(0xC2, false);
- oled_write_char(0xC3, false);
- oled_write_char(0xC4, false);
- oled_write_char(0xC5, false);
- }
-};
-
-bool oled_task_user(void) {
- oled_display();
- return false;
-}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md
deleted file mode 100644
index b70b3655da..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md
+++ /dev/null
@@ -1,97 +0,0 @@
-### Custom aurora sweep keymap
-
-This keymap is inspired by [optimot](https://optimot.fr) which is a French layout.
-Nonetheless it uses the US international extended keymap for French keys.
-
-It uses the _best_ QMK features :
-
-- combos ♥
-- auto shift
-- leader
-
-I tried to optimise key positions for neovim and i3wm while limit digrams.
-The oled screens are used to display the current layout, the modifier keys and the leader key.
-
-![oledmodifiers](https://i.imgur.com/on95jx0.png)
-![oledmouse](https://i.imgur.com/PwkR6P2.png)
-
-#### Install
-
-Clone this repo in the folder :
-
- ~/qmk_firmware/keyboards/splitkb/aurora/sweep/keymaps/
-
-#### Compile and flash
-
-Navigate into the keymap folder and launch this command for both sides :
-
- qmk compile && qmk flash
-
-And :
-
- Click twice on the flash button and use nautilus for instance to clic on the keyboard.
- Don't forget to flash with the double tap bootloader define before soldering.
-
-#### Layout
-
-Set the us altgr international to activate French keys :
-
- /usr/share/X11/xkb/symbols/
- localectl list-x11-keymap-variants us
-
- setxkbmap us altgr-intl
-
-#### Links
-
-[qmk](https://docs.qmk.fm/#/)
-[ferris sweep](https://github.com/davidphilipbarr/Sweep)
-[splitkb](https://splitkb.com)
-
-#### Layouts
-
-![base](https://i.imgur.com/i7NgrCD.png)
-![numeric](https://i.imgur.com/6Yso40L.png)
-![mouse](https://i.imgur.com/skSL4Lo.png)
-![arrows](https://i.imgur.com/NIjJR2I.png)
-![adjust](https://i.imgur.com/xj6i70P.png)
-![fn](https://i.imgur.com/Q41ZdQi.png)
-![left hand](https://i.imgur.com/WDEGxGM.png)
-
-![combos](https://i.imgur.com/wj6DEY0.png)
-
-#### Leader
-
-| - | |
-| ------------- | ---------- |
-| M + S | mail short |
-| M + L | mail long |
-| D + E + G | ° |
-| C + O + P | © |
-| R + E + G | ® |
-| D + I + A | ø |
-| D + I + A + M | Ø |
-| E + U + R | € |
-| P + O + U | £ |
-| Y + E + N | ¥ |
-| C + E + N | ¢ |
-| P + I | π |
-| P + I + I | Π |
-| O + M + E | ω |
-| O + M + E + G | Ω |
-| U + P + F | â° |
-| D + N + F | â‚€ |
-
-| - | |
-| --------- | --- |
-| M + U + L | × |
-| D + I + V | ÷ |
-| P + M | ± |
-| I + N + E | ≠ |
-| A + L + M | ≈ |
-| S + Q + U | √ |
-| I + N + F | ∞ |
-| < + < | ≤ |
-| > + > | ≥ |
-| F + S + T | ¼ |
-| F + S + G | ½ |
-| F + H + T | ¾ |
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk
deleted file mode 100644
index dd3e45125d..0000000000
--- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-LTO_ENABLE = yes
-CONVERT_TO = elite_pi
-
-SRC += features/auto_shift.c
-INTROSPECTION_KEYMAP_C = features/combo.c # Replace SRC, see issue #21137
-SRC += features/leader.c
-SRC += oled/oled.c
-
-OLED_ENABLE = yes
-
-MOUSEKEY_ENABLE = yes
-AUTO_SHIFT_ENABLE = yes
-COMBO_ENABLE = yes
-LEADER_ENABLE = yes
-
-UNICODE_ENABLE = yes
-SEND_STRING_ENABLE = yes
diff --git a/keyboards/splitkb/aurora/sweep/rev1/config.h b/keyboards/splitkb/aurora/sweep/rev1/config.h
index a3b2cc893e..f37b59a952 100644
--- a/keyboards/splitkb/aurora/sweep/rev1/config.h
+++ b/keyboards/splitkb/aurora/sweep/rev1/config.h
@@ -25,10 +25,3 @@
# define OLED_DISPLAY_128X32
# define SPLIT_OLED_ENABLE
#endif
-
-// Not yet available in `info.json`
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 46
-# define RGB_MATRIX_SPLIT { 23, 23 }
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/splitkb/aurora/sweep/rev1/info.json b/keyboards/splitkb/aurora/sweep/rev1/info.json
index 74de07ceda..0d235cd5b2 100644
--- a/keyboards/splitkb/aurora/sweep/rev1/info.json
+++ b/keyboards/splitkb/aurora/sweep/rev1/info.json
@@ -92,6 +92,11 @@
{"pin_a": "F5", "pin_b": "D4"}
]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"rgblight": {
@@ -153,6 +158,7 @@
{"flags": 4, "matrix": [7, 0], "x": 132, "y": 64},
{"flags": 4, "matrix": [7, 1], "x": 153, "y": 60}
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "split_count": [23, 23]
}
}
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/config.h b/keyboards/splitkb/kyria/keymaps/artflag/config.h
deleted file mode 100644
index de044c8d29..0000000000
--- a/keyboards/splitkb/kyria/keymaps/artflag/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2022 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define TAPPING_TERM 175
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/keymap.c b/keyboards/splitkb/kyria/keymaps/artflag/keymap.c
deleted file mode 100644
index 311a1c75e2..0000000000
--- a/keyboards/splitkb/kyria/keymaps/artflag/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2021 Your Name (@artflag)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Tap Dance declarations
-
-enum {
- CT_CLN, // Reverses colon and semicolon and triggers semicolon on tap dance.
-};
-
-void dance_cln_finished(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code16(KC_COLN);
- } else {
- register_code(KC_SCLN);
- }
-}
-
-void dance_cln_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code16(KC_COLN);
- } else {
- unregister_code(KC_SCLN);
- }
-}
-
-// All tap dance functions would go here.
-tap_dance_action_t tap_dance_actions[] = {
- [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, TD(CT_CLN), KC_BSPC, KC_LGUI, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_TAB, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_BSLS, TT(2), KC_LBRC, KC_RBRC, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_GRV, KC_LCTL, KC_LALT, KC_SPC, SC_LSPO, TT(1), TT(1), SC_RSPC, KC_ENT, KC_MINS, KC_EQL),
- [1] = LAYOUT(KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_NO, KC_NO, KC_UP, KC_PGUP, KC_PSLS, KC_TRNS, KC_TRNS, KC_0, KC_4, KC_5, KC_6, KC_PDOT, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PAST, KC_PPLS, KC_TRNS, KC_NO, KC_1, KC_2, KC_3, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_HOME, KC_END, KC_PGDN, KC_EXLM, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT(KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_MPLY, KC_VOLU, KC_BRIU, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO)
-};
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/readme.md b/keyboards/splitkb/kyria/keymaps/artflag/readme.md
deleted file mode 100644
index 02cb1ce19a..0000000000
--- a/keyboards/splitkb/kyria/keymaps/artflag/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Simple workman layout
-
-## Features
-
-- Workman layout
-- semicolon and colon are flipped. Colon on tap, semicolon on double tap.
-
-## Using the layout
-
-1. Use https://config.qmk.fm/#/splitkb/kyria/rev2/LAYOUT to edit `workman-artflag.json`.
-
-1. Convert to `keymap.c`:
-
- ```bash
- cd keyboards/splitkb/kyria/keymaps/ArtFlag
- qmk json2c workman-artflag.json > keymap.c
- cd ../../../../..
- ```
-
-1. Git diff to bring back the code for tap dancing.
-1. Compile and flash:
-
- ```bash
- qmk compile && qmk flash
- ```
- \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/rules.mk b/keyboards/splitkb/kyria/keymaps/artflag/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/splitkb/kyria/keymaps/artflag/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json b/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json
deleted file mode 100644
index be4096b72b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "version": 1,
- "notes": "",
- "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
- "keyboard": "splitkb/kyria/rev2",
- "keymap": "workman-artflag",
- "layout": "LAYOUT",
- "layers": [
- [
- "KC_ESC",
- "KC_Q",
- "KC_D",
- "KC_R",
- "KC_W",
- "KC_B",
- "KC_J",
- "KC_F",
- "KC_U",
- "KC_P",
- "KC_SCLN",
- "KC_BSPC",
- "KC_LGUI",
- "KC_A",
- "KC_S",
- "KC_H",
- "KC_T",
- "KC_G",
- "KC_Y",
- "KC_N",
- "KC_E",
- "KC_O",
- "KC_I",
- "KC_QUOT",
- "KC_TAB",
- "KC_Z",
- "KC_X",
- "KC_M",
- "KC_C",
- "KC_V",
- "KC_BSLS",
- "TT(2)",
- "KC_LBRC",
- "KC_RBRC",
- "KC_K",
- "KC_L",
- "KC_COMM",
- "KC_DOT",
- "KC_SLSH",
- "KC_GRV",
- "KC_LCTL",
- "KC_LALT",
- "KC_SPC",
- "SC_LSPO",
- "TT(1)",
- "TT(1)",
- "SC_RSPC",
- "KC_ENT",
- "KC_MINS",
- "KC_EQL"
- ],
- [
- "KC_TRNS",
- "KC_NO",
- "KC_7",
- "KC_8",
- "KC_9",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_UP",
- "KC_PGUP",
- "KC_PSLS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_0",
- "KC_4",
- "KC_5",
- "KC_6",
- "KC_PDOT",
- "KC_NO",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT",
- "KC_PAST",
- "KC_PPLS",
- "KC_TRNS",
- "KC_NO",
- "KC_1",
- "KC_2",
- "KC_3",
- "KC_PCMM",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_DEL",
- "KC_HOME",
- "KC_END",
- "KC_PGDN",
- "KC_EXLM",
- "KC_PMNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS"
- ],
- [
- "KC_NO",
- "KC_NO",
- "KC_F9",
- "KC_F10",
- "KC_F11",
- "KC_F12",
- "KC_NO",
- "KC_MPLY",
- "KC_VOLU",
- "KC_BRIU",
- "KC_NO",
- "KC_MUTE",
- "KC_NO",
- "KC_NO",
- "KC_F5",
- "KC_F6",
- "KC_F7",
- "KC_F8",
- "KC_NO",
- "KC_MSTP",
- "KC_VOLD",
- "KC_BRID",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_F1",
- "KC_F2",
- "KC_F3",
- "KC_F4",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_NO"
- ]
- ],
- "author": ""
-} \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/asapjockey/config.h b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
deleted file mode 100644
index 32d8bb7611..0000000000
--- a/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_SLEEP
-#endif
-
-// EC11K encoders have a different resolution than other EC11 encoders.
-// When using the default resolution of 4, if you notice your encoder skipping
-// every other tick, lower the resolution to 2.
-#define ENCODER_RESOLUTION 2
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
-
-// Allows media codes to properly register in macros and rotary encoder code
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
deleted file mode 100644
index cb8eb1e1e7..0000000000
--- a/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- QWERTY,
- LOWER,
- RAISE,
- NAV,
- ADJUST
-};
-
-enum custom_keycodes {
- KC_LBR = SAFE_RANGE,
- KC_RBR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | TAB | Q | W | E | R | T | | Y | U | I | O | P | RCTL |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | LCTL | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LSFT | Z | X | C | V | B | Del | Raise| |Adjust| Esc | N | M | , < | . > | / ? | LSFT |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | LALT | | Bspc | Lower| | Enter| Space| [ { | ] } | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [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_RCTL,
- 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_DEL, MO(RAISE), MO(ADJUST), KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- XXXXXXX, KC_LALT, XXXXXXX, KC_BSPC, MO(LOWER), KC_ENT, KC_SPC, KC_LBR, KC_RBR, XXXXXXX
- ),
-/*
- * Lower Layer: Numbers, functions, symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | F1 | F2 | F3 | F4 | F5 | | | | | | F6 | F7 | F8 | F9 | F10 | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | ( | ) | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [LOWER] = LAYOUT(
- _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______
- ),
-/*
- * Raise Layer: Functions, Numbers
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | F7 | F8 | F9 | | | | 7 & | 8 * | 9 ( | - _ | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | F4 | F5 | F6 | | | | 4 * | 5 % | 6 ^ | = + | RCTL |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | F1 | F2 | F3 | | | | | | | | 1 ! | 2 @ | 3 # | \ | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | 0 ) | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [RAISE] = LAYOUT(
- _______, _______, KC_F7, KC_F8, KC_F9, _______, _______, KC_7, KC_8, KC_9, _______, _______,
- _______, _______, KC_F4, KC_F5, KC_F6, _______, _______, KC_4, KC_5, KC_6, _______, KC_RCTL,
- _______, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_0, _______, _______
- ),
-/*
- * Navigation Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | | Up | | | RGBTOG |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | | Left | Down | Right| | RGBOFF |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | RGBON |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | Reset|Debug | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_HUI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT, DB_TOGG, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_LBR: {
- if (record->event.pressed) {
- if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
- register_code(KC_9);
- } else {
- register_code(KC_LBRC);
- }
- } else { // Release the key
- if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
- unregister_code(KC_9);
- } else {
- unregister_code(KC_LBRC);
- }
- }
- return false;
- break;
- }
- case KC_RBR: {
- if (record->event.pressed) {
- if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
- register_code(KC_0);
- } else {
- register_code(KC_RBRC);
- }
- } else { // Release the key
- if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
- unregister_code(KC_0);
- } else {
- unregister_code(KC_RBRC);
- }
- }
- return false;
- break;
- }
- }
- return true;
-}
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_F)) { // Shift + Ctrl + F
- tap_code16(S(C(KC_F)));
- }
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR(" Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case NAV:
- oled_write_P(PSTR("Navigation\n"), false);
- break;
- case ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- if (clockwise) { // Ctrl + I
- tap_code16(C(KC_I));
- } else { // Shift + F3
- tap_code16(S(KC_F3));
- }
- break;
- case LOWER:
- // History scrubbing. For Adobe products, hold shift while moving
- // backward to go forward instead.
- if (clockwise) {
- tap_code16(C(KC_Y));
- } else {
- tap_code16(C(KC_Z));
- }
- break;
- case RAISE:
- if (clockwise) { // Subscript: CTRL + =
- tap_code16(C(KC_EQL));
- }
- break;
- default:
- // Nothing
- break;
- }
- } else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- // Scroll by letter horizontally
- if (clockwise) {
- tap_code16(KC_RGHT);
- } else {
- tap_code16(KC_LEFT);
- }
- case LOWER:
- // Nothing
- break;
- case RAISE:
- // Find previous/Find next
- if (clockwise) {
- tap_code(KC_F3);
- } else {
- tap_code16(S(KC_F3));
- }
- default:
- // Nothing
- break;
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
deleted file mode 100644
index a64a9f4e15..0000000000
--- a/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enable the Leader Key feature
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/splitkb/kyria/keymaps/benji/config.h b/keyboards/splitkb/kyria/keymaps/benji/config.h
deleted file mode 100644
index 5481f82e5d..0000000000
--- a/keyboards/splitkb/kyria/keymaps/benji/config.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
- #define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/benji/glcdfont.c"
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_LIMIT_VAL 150
-#endif
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-// #define SPLIT_USB_DETECT
-// #define NO_USB_STARTUP_CHECK
diff --git a/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
deleted file mode 100644
index bb1cca3384..0000000000
--- a/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
+++ /dev/null
@@ -1,228 +0,0 @@
-#include "progmem.h"
-
-static const unsigned char font[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
- 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
- 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
- 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
- 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
- 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
- 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
- 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
- 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
- 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
- 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
- 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
- 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
- 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
- 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
- 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
- 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
- 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
- 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
- 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
- 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
- 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
- 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
- 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
- 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
- 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
- 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
- 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
- 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
- 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
- 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
- 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
- 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
- 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
- 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
- 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
- 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
- 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
- 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
- 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
- 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
- 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
- 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
- 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
- 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
- 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
- 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
- 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
- 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
- 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
- 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
- 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
- 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
- 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
- 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
- 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
- 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
- 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
- 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
- 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
- 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
- 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
- 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
- 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
- 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
- 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
- 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
- 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
- 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
- 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
- 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
- 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
- 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
- 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
- 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
- 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
- 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
- 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xF0, 0xA0, 0x00, 0xC0, 0xFE,
- 0xC0, 0x00, 0x40, 0xF8, 0x00, 0x00,
- 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0xC0, 0xC0, 0xC0, 0xC0, 0x00,
- 0x00, 0x00, 0x40, 0xC0, 0xC0, 0xC0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0,
- 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0,
- 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x40,
- 0x00, 0x00, 0x00, 0x40, 0xC0, 0xC0,
- 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x80, 0xC0, 0xC0, 0x40, 0x40,
- 0xC0, 0xC0, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0x3E,
- 0x1E, 0x06, 0x01, 0x00, 0x00, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
- 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
- 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
- 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x07, 0x0C,
- 0x1F, 0x3F, 0x7E, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFE, 0x7F, 0x3F, 0x0E, 0x0E,
- 0x0F, 0x02, 0x00, 0x00, 0xC0, 0xF0,
- 0x3C, 0x0F, 0x03, 0x0F, 0x3F, 0xFF,
- 0xFC, 0x3C, 0x07, 0x07, 0x0F, 0x3F,
- 0xFF, 0xFC, 0xE0, 0x80, 0x00, 0x60,
- 0xF8, 0xFF, 0x37, 0x30, 0x00, 0x03,
- 0x1F, 0x7F, 0xFF, 0xF8, 0xE0, 0x80,
- 0x08, 0x7F, 0xFF, 0xFF, 0xFF, 0x80,
- 0x00, 0x00, 0x00, 0xF8, 0xF0, 0xF8,
- 0xB0, 0x00, 0x00, 0x00, 0xFF, 0xFF,
- 0xFF, 0x88, 0x00, 0x00, 0x3E, 0x7F,
- 0xFF, 0xFF, 0xC1, 0x00, 0x00, 0x00,
- 0x00, 0x81, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3C,
- 0x78, 0x70, 0x60, 0x00, 0x00, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
- 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
- 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
- 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x03, 0x00, 0x00, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
diff --git a/keyboards/splitkb/kyria/keymaps/benji/keymap.c b/keyboards/splitkb/kyria/keymaps/benji/keymap.c
deleted file mode 100644
index 1ad50e5fc4..0000000000
--- a/keyboards/splitkb/kyria/keymaps/benji/keymap.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * |RAIS/ESC| Q | W | E | R | T | | Y | U | I | O | P | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/BS | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B |LShift|LShift| |LShift|LShift| N | M | , < | . > | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | GUI | Del | Enter| Space| Esc | | Enter| Space| Tab | Bksp | AltGr|
- * | | | Alt | Lower| Raise| | Lower| Raise| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY] = LAYOUT(
- LT(_RAISE, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE,
- MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_LSFT, KC_LSFT, KC_LSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- KC_LGUI, KC_DEL, MT(MOD_LALT, KC_ENT), LT(_LOWER, KC_SPC), KC_LGUI, LT(_LOWER, KC_ENT), LT(_RAISE, KC_SPC), KC_TAB, KC_BSPC, KC_RALT
- ),
- /*
- * Lower Layer: Symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | ! | @ | { | } | | | | | | | | | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` | | + | - | / | * | % | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | | | & | = | , | . | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | ; | = | | = | ; | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, _______, KC_BSLS,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, _______, _______, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- _______, _______, _______, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, _______, _______, _______
- ),
- /*
- * Raise Layer: Number keys, media, navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | Prev | Play | Next | VolUp| | Left | Down | Up | Right| | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | Mute | VolDn| | | | | | MLeft| Mdown| MUp |MRight| | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | |Mbtn1 |Mbtn2 |Mbtn3 | | | Mbtn4|Mbtn5 | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
- _______, KC_BTN1, KC_BTN2, KC_BTN3, _______, KC_BTN4, KC_BTN5, _______, _______, _______
- ),
- /*
- * Adjust Layer: Function keys, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | TOG | SAI | HUI | VAI | MOD | | | | | F11 | F12 | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______,
- _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- // /*
- // * Layer template
- // *
- // * ,-------------------------------------------. ,-------------------------------------------.
- // * | | | | | | | | | | | | | |
- // * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- // * | | | | | | | | | | | | | |
- // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- // * | | | | | | | | | | | | | | | | | |
- // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- // * | | | | | | | | | | | |
- // * | | | | | | | | | | | |
- // * `----------------------------------' `----------------------------------'
- // */
- // [_LAYERINDEX] = LAYOUT(
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,24,108,244,130,194,193,25,125,119,97,1,193,226,178,52,44,24,48,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,192,64,64,64,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,136,24,48,56,28,221,193,156,62,127,127,127,62,156,193,221,156,14,6,4,140,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,64,64,64,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,76,230,243,253,254,252,190,255,223,255,255,159,158,254,249,243,230,76,48,192,0,0,0,0,0,0,0,0,0,1,6,12,26,22,38,35,65,64,67,119,95,76,65,33,32,23,27,12,6,1,0,0,0,0,0,0,0,0,0,0,192,48,12,6,3,1,0,192,224,240,248,252,254,255,224,128,0,1,3,6,12,48,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,96,130,7,15,7,3,2,6,13,255,255,255,7,2,2,3,7,7,7,131,96,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,96,128,0,0,0,127,255,255,255,255,255,255,255,255,227,99,62,0,0,128,96,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,6,4,8,9,19,17,17,19,17,19,18,10,8,4,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,6,4,8,8,17,17,17,17,17,17,17,8,8,4,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,96,48,152,72,228,52,34,10,74,74,58,178,50,116,228,200,24,176,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,96,48,152,200,228,228,242,242,242,242,242,242,242,228,228,200,152,48,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,1,0,0,192,240,248,248,248,248,184,152,140,204,249,231,255,191,159,223,6,1,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,1,0,63,127,249,240,240,241,251,159,191,159,251,241,240,240,249,127,63,0,1,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,12,24,49,39,79,79,143,143,143,143,149,149,149,67,65,33,49,24,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,12,24,48,32,64,71,159,135,159,135,159,135,159,135,159,71,64,32,48,24,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-
-
-
-// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-// 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,232,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-// 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-// 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
-// 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
-// 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-// 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- //render_kyria_logo();
- render_qmk_logo();
- oled_write_P(PSTR("Kyria rev B3nJ.P0tt3r\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Chandra\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Jace\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Karn\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Teferi\n"), false);
- break;
- default:
- oled_write_P(PSTR("Ashiok\n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case _RAISE:
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- case _LOWER:
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- break;
- case _QWERTY:
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- break;
- default:
- break;
-
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/benji/readme.md b/keyboards/splitkb/kyria/keymaps/benji/readme.md
deleted file mode 100644
index 57ea5e8173..0000000000
--- a/keyboards/splitkb/kyria/keymaps/benji/readme.md
+++ /dev/null
@@ -1,246 +0,0 @@
-# Kyria's Default Keymap
-
-[insert pretty KLE visualization once the keymap is vetted]
-
-The default keymap contains 5 layers which allows it to include all keys found on a ISO layout TKL keyboard plus media keys.
-Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.
-
-The five different layers are the following:
-1. Base layer (QWERTY, Colemak-DH or Dvorak)
-2. Navigation layer
-3. Symbols/Numbers layer
-4. Function layer
-5. Adjust layer
-
-## Base layer(s)
-```
-Base Layer: -
-
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | - | - | - | - | - | | - | - | - | - | - | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-|Ctrl/Esc| - | - | - | - | - | | - | - | - | - | - |Ctrl/ - |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | - | - | - | - | - | [ { |CapsLk| |F-Keys| ] } | - | - | - | - | - | RShift |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- | | | Enter| | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-Three different well-known keyboard layouts are provided to fill in the placeholder `-` keys: QWERTY, Colemak-DH, and Dvorak. The default layer can be changed at runtime, more info on that in the section on the [adjust layer](#adjust-layer).
-
-For the rest of this write-up, the base layer will be assumed to be QWERTY and will be used as a reference to describe physical keys, e.g. “<kbd>B</kbd> key†vs, the much more verbose, “lower inner index keyâ€.
-
-```
-Base Layer: QWERTY
-
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- | | | Enter| | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-Aside from variations in the alpha cluster, the rest of the base keys remain the same and are designed to feel familiar.
-
-![Step-by-step animation of the transformation of an ortholinear TKL to a Kyria](https://i.imgur.com/uVDCOek.gif)
-
-<details>
-After making transformations to the classic ANSI US QWERTY TKL 60% to arrive to the layout of the Kyria, as illustrated in the animation above, the result looks like this:
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| Cap Lk | A | S | D | F | G | | H | J | K | L | ; : | ' " |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | RShift |
-`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
- | LCtrl| LGUI | LAlt | Space| | | | Space| AltGr| RGUI | Menu |
- | | | | | | | | | | | |
- `----------------------------------' '----------------------------------'
-```
-
-First thing to notice is the presence of blank keys. To fill in the blank keys above the <kbd>Space</kbd> keys, we can take inspiration from other split keyboards featuring an extra inner index column on each half. A common mapping for those kind of keys are the bracket keys that got removed in the fourth step of the animated transformation. The thumb keys besides <kbd>Space</kbd>s is prime real estate for dedicated layer-switching keys. It doesn't matter on which side is assigned the sym-layer-switch key but it helps to keep the nav-layer-switch on the left in order to keep the arrow keys on the right side like on a classic keyboard, so we'll put nav on the left and sym on the right. We'll address the remaining blank thumb keys later.
-
-The base layer is starting to form but there remains some flaws. One glaring issue is the position of Control. Control is a very commonly used function but the key on which it sits right now is way too tucked in under the hand to be able to press it comfortably with either the thumb or the pinky from resting position. In fact, installing a rotary encoder there is a common move among Kyria users and I guarantee you that activating Control by holding down a rotary encoder does not spark joy. Instead, let's employ a popular trick that involves remapping the current Caps Lock key, which is positioned at a comfortable position on the keyboard, to Control.
-
-We can go further though; a variant of this trick makes the Control key produce Escape when tapped. This is called a “modtapâ€. There is no use to tapping Control by itself without chording it with another key and there is no use to holding down the Esc key so why not combine the two into a single key?
-
-All of this leaves us with three blank keys.
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | Z | X | C | V | B | [ { | | | | ] } | N | M | , < | . > | / ? | RShift |
-`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
- | | LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- | | | | | | | | | | | |
- `----------------------------------' '----------------------------------'
-```
-
-These keys are not easily reachable while touch typing (that is, not reachable without picking up your hand) and should thus be associated with functions that you are not likely to be typed within a stream of text. The idea is that if you have to pick up your hand to hit a key, you want it to be at a time when you are likely to be pausing your interaction with the machine, rather than in the midst of a flurry of typing. They're thus well suited for accessing the adjust layer and the function layer. We can also toss in Caps Lock even though it is an editing-type function that gets used within a stream of text because shouting in ALL-CAPS should be a deliberate action.
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- |Adjust| LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-The next glaring issue is the absence of an Enter key on the current base layer this far. Enter is a very frequently used key so it deserves to be placed at a good spot in the keymap. The best way to insert it in the keymap with minimal changes to the current layout is to use modtaps. A tempting solution is to turn the <kbd>RShift</kbd> key into a <kbd>RShift/Enter</kbd> modtap but that can result in chat messages sent too frustratingly early when you're not used to it. Using GUI is also sub-optimal because tapping the GUI modifier actually has a use as opposed to taps of the Control or the Shift key. Pressing and releasing the GUI key by itself opens the App menu in many desktop environments. The natural choice is thus <kbd>LAlt/Enter</kbd>. That way, Enter is 1u away from resting thumb position and is unlikely to get accidentally activated because Alt is very rarely used in the midst of prose.
-
-Finally, we're one Quality-Of-Life update away from the actual base layer. <kbd>Ctrl/' "</kbd> not only preserves symmetry in the keymap with <kbd>Ctrl/Esc</kbd> but also helps balance the load between your pinkies and invites you to use both hands instead of contortions. Perhaps more importantly, it also frees you from the necessity of picking up your hand, breaking touch typing position and pressing a pinky key with your ring finger in order to execute Ctrl+A or Ctrl+Z. That becomes even more important on a board with such an aggressive pinky columnar stagger like the Kyria.
-
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- | | | Enter| | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-</details>
-
-## Navigation layer
-
-```
-Nav Layer: Media, navigation
-
-,-------------------------------------------. ,-------------------------------------------.
-| | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | GUI | Alt | Ctrl | Shift| | | PgDn | ↠| ↓ | → | VolDn| Insert |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- | | | | | | | | | | | |
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-This is where you'll find all the keys that are generally between the main block of a classic keyboard and the numpad in addition to media controls and modifiers on easy access on the home row for fast and comfortable chording with navigation keys.
-
-Useful mnemonics:
-- “GACS†to remember the order of the modifiers on the left-hand home row
-- <kbd>Scroll Lock</kbd> is on the same key as <kbd>Caps Lock</kbd> because they're both locks
-- <kbd>Delete</kbd> is on the same key as <kbd>Backspace</kbd> because they both erase characters
-- <kbd>Home</kbd> is the leftmost position on the current line so it is above <kbd>â†</kbd>. Same logic applies for <kbd>End</kbd>.
-- <kbd>Media Previous</kbd> = â®, <kbd>Media Next</kbd> = â­
-- <kbd>Page Up</kbd>, <kbd>Page Down</kbd> and <kbd>Volume Up</kbd>, <kbd>Volume Down</kbd> are positioned like the main <kbd>Up</kbd> and <kbd>Down</kbd> keys.
-
-## Sym layer
-```
-Sym Layer: Numbers, symbols
-
-,-------------------------------------------. ,-------------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
-|--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
-| | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- | | | | | | | | | | | |
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-The top row is the unshifted num row, the home row of the layer is the shifted num row and the bottom row contains ISO keys (<kbd>\ |</kbd> and <kbd># ~</kbd>, which are respectively `KC_NUBS` and `KC_NUHS`), the hyphen `-` and the underscore `_` on the best lower row spot because of how frequent they are and redundant symbols that are already present on the base layer but are reproduced here to avoid juggling back and forth between base, shift, and sym when typing a string of symbols.
-
-The layout of the first two rows needs no introduction, you're already used to them but it's worth looking into the structure of the bottom row.
-
-The two halves are mirrored in a sense. On the right, you can find <kbd>,</kbd> <kbd>.</kbd> <kbd>/</kbd> at their usual spots with the addition of <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> to the right of the <kbd>/</kbd> key to remove the need to press simultaneously <kbd>Sym</kbd> and a <kbd>Shift</kbd> key to access `?`.
-
-Now, if you look at the left side, you'll notice that the mirror of <kbd>,</kbd> is <kbd>;</kbd>, the mirror of <kbd>.</kbd> is <kbd>:</kbd> and the mirror of <kbd>/</kbd> is <kbd>\\</kbd>. The same logic used for <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> also applies to <kbd>Shift</kbd>+<kbd>\\</kbd>=<kbd>|</kbd>.
-
-As for the ISO keys, they are positioned more or less like they would on a classic keyboard: `KC_NUBS` on the left and `KC_NUHS` on the right.
-
-## Function layer
-```
-Function Layer: Function keys
-
-,-------------------------------------------. ,-------------------------------------------.
-| | F9 | F10 | F11 | F12 | | | | | | | | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
-`--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
- | | | | | | | | | | | |
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-In a similar fashion to the nav layer, pressing down `FKEYS` with the right thumb enables a numpad of function keys on the opposite hand and modifiers on the right-hand home row. Once again, mirror symmetry is leveraged in this keymap for the order of the right-hand modifiers.
-
-Since there are more than 10 function keys, the cluster of F-keys does not follow the usual 3×3+1 numpad arrangement.
-
-
-## Adjust layer
-```
-Adjust Layer: Default layer settings, RGB
-
-,-------------------------------------------. ,-------------------------------------------.
-| | | |QWERTY| | | | | | | | | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
-`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- | | | | | | | | | | | |
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-Default layer settings on the left and various RGB underglow controls on the right.
-
-The default layer settings are lined up on the middle finger column because the home middle finger key is <kbd>D</kbd> on QWERTY (like the “D†in “Dvorakâ€) and the lower middle finger key is <kbd>C</kbd> on QWERTY (like the “C†in “Colemakâ€). I can hear you say that “QWERTY†doesn't start with “E†but Dvorak and Colemak were already aligned in a column so the QWERTY may as well join the formation.
-
-NOTE: The default layer settings set by those keys are *NOT* stored in EEPROM and thus do not persist through boots. If you wish to change the default layer in a non-volatile manner, either change the order of the layers in the firmware, for example like so if you want to set Dvorak as the new default:
-```c
-enum layers {
- _DVORAK = 0,
- _QWERTY,
- _COLEMAK_DH,
- _NAV,
- _SYM,
- _FUNCTION,
- _ADJUST
-};
-```
-or re-define the `QWERTY`, `COLEMAK` and `DVORAK` keys to point to custom keycodes starting on `SAFE_RANGE` and calling the `set_single_persistent_default_layer` function inside of `process_record_user`.
-
-## Hardware Features
-
-### Rotary Encoder
-The left rotary encoder is programmed to control the volume whereas the right encoder sends <kbd>PgUp</kbd> or <kbd>PgDn</kbd> on every turn.
-
-### OLEDs
-The OLEDs display the current layer at the top of the active layers stack, the Kyria logo and lock status (caps lock, num lock, scroll lock).
-
-### Underglow
-The underglow LEDs should be red.
-
-## Going further...
-
-This default keymap can be used as is, unchanged, as a daily driver for your Kyria but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap like no other, that will fit you like a glove.
-
-Check out the #keymap-ideas channel on the official SplitKB Discord server for inspiration.
diff --git a/keyboards/splitkb/kyria/keymaps/benji/rules.mk b/keyboards/splitkb/kyria/keymaps/benji/rules.mk
deleted file mode 100644
index 7b3d230350..0000000000
--- a/keyboards/splitkb/kyria/keymaps/benji/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/splitkb/kyria/keymaps/corodiak/config.h b/keyboards/splitkb/kyria/keymaps/corodiak/config.h
deleted file mode 100644
index 5738773f8d..0000000000
--- a/keyboards/splitkb/kyria/keymaps/corodiak/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
-#endif
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Turn off on slave
-#define WAIT_FOR_USB
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-#define SPLIT_USB_DETECT
-#define NO_USB_STARTUP_CHECK
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
diff --git a/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
deleted file mode 100644
index c0ed9f133c..0000000000
--- a/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-typedef union {
- uint32_t raw;
- struct {
- bool osIsWindows;
- };
-} user_config_t;
-
-user_config_t user_config;
-
-enum layers {
- _QWERTY = 0,
- _COLEMAK,
- _NAV,
- _SYMBOLS,
- _NUM,
- _ADJUST
-};
-
-enum custom_keycodes {
- Qwerty = SAFE_RANGE,
- Colemak,
- Undo,
- Cut,
- Copy,
- Paste,
- NxtWord,
- PrvWord
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | TAB | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | NAV | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B |Enter | ESC | |ADJUST|Space | N | M | , < | . > | / ? | Del |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * | LCTL | GUI | RALT | | NUM | | NUM | | SYMB | NAV |LEADER|
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_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,
- MO(_NAV), KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN, KC_QUOT,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , XXXXXXX, KC_ESC , MO(_ADJUST), XXXXXXX, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, RSFT_T(KC_DEL),
- KC_LCTL, KC_LGUI, KC_RALT, KC_ENT ,TT(_NUM),TT(_NUM), KC_SPC, MO(_SYMBOLS), MO(_NAV), QK_LEAD
- ),
-
-/*
- * Base Layer: Colemak
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | TAB | Q | W | F | P | G | | J | L | U | Y | ; : | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | NAV | A | R | S | T | D | | H | N | E | I | O | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B |Enter | ESC | |ADJUST|Space | K | M | , < | . > | / ? | Del |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * | LCTL | GUI | RALT | | NUM | | NUM | | SYMB | NAV |LEADER|
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_COLEMAK] = LAYOUT(
- KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC,
- MO(_NAV), 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 , XXXXXXX, KC_ESC , MO(_ADJUST), XXXXXXX, KC_K, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, RSFT_T(KC_DEL),
- KC_LCTL, KC_LGUI, KC_RALT, KC_ENT ,TT(_NUM),TT(_NUM), KC_SPC, MO(_SYMBOLS), MO(_NAV), QK_LEAD
- ),
-
-/*
- * Navigation Layer: Cursor, Text Navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | |WheelU| | | | |PrvWord| Up |NxtWord| | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | LCTL |WheelD|LSFT | Bksp | | Bksp | Left | Down |Right | Del | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | Undo | Cut | Copy |Paste | | | | | | | | Home | | End | | |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * | | | | |Space | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, _______, _______, KC_WH_U, _______, _______, _______, PrvWord, KC_UP , NxtWord, _______, _______,
- _______, _______, KC_LCTL, KC_WH_D, KC_LSFT, KC_BSPC, KC_BSPC, KC_LEFT, KC_DOWN,KC_RIGHT, KC_DEL , _______,
- _______, Undo , Cut , Copy , Paste , _______, XXXXXXX, _______, _______, XXXXXXX, _______, KC_HOME, _______, KC_END , _______, _______,
- _______, _______, _______, _______, KC_SPC , _______, _______, _______, _______, _______
- ),
-
-/*
- * Symbol Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` ~ | ! | @ | # | $ | % | | ^ | { | } | | € | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ~ | | | - _ | = + | & | | * | ( | ) | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | _ | + | | | | | | | | [ { | ] } | | \ | | |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYMBOLS] = LAYOUT(
- KC_GRV, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_LCBR, KC_RCBR, _______,ALGR(KC_5),_______,
- KC_TILD, _______, _______, KC_MINS, KC_EQL , KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, KC_PIPE, _______,
- _______, _______, _______, KC_UNDS, KC_PLUS, _______, XXXXXXX, _______, _______, XXXXXXX, _______, KC_LBRC, KC_RBRC, _______, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Num Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | / | 7 & | 8 * | 9 ( | - | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | | * | 4 $ | 5 % | 6 ^ | + | Space |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | 0 ) | 1 ! | 2 @ | 3 # | = | Enter |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * | | | | | | | | | | , | . |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NUM] = LAYOUT(
- _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_PSLS, KC_7 , KC_8 , KC_9 , KC_PMNS, _______,
- _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_PAST, KC_4 , KC_5 , KC_6 , KC_PLUS, KC_SPC ,
- _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX, KC_0 , KC_1 , KC_2 , KC_3 , KC_PEQL, KC_ENT ,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PCMM, KC_DOT
- ),
-
-/*
- * Adjust Layer: Media
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F9 | F10 | F11 | F12 | | | SAI | | Vol+ | | Play | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | F5 | F6 | F7 | F8 | | | HUI | Prev | Vol- | Nxt | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | F1 | F2 | F3 | F4 | | | | | | | VAI | Mute | | | | |
- * `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
- * |Qwerty|Colemak| | | | | RGB | | RGB | | |
- * | Dflt | Dflt | | | | |Toggle| | Mode | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, RGB_SAI, _______, KC_VOLU, _______, KC_MPLY, _______,
- _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, RGB_HUI, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______,
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, XXXXXXX, _______, _______, XXXXXXX, RGB_VAI, KC_MUTE, _______, _______, _______, _______,
- Qwerty , Colemak, _______, _______, _______, RGB_TOG, _______, RGB_MOD, _______, _______
- ),
-
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-void keyboard_post_init_user(void) {
- // Call the post init code.
-
- // Read the user config from EEPROM
- user_config.raw = eeconfig_read_user();
-
- // Default RGB settings, without saving settings
- rgblight_enable_noeeprom();
- rgblight_sethsv_noeeprom(HSV_CYAN);
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case Qwerty:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- break;
- case Colemak:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- break;
- case Undo:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_Z));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(G(KC_Z));
- }
- }
- break;
- case Cut:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_X));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(G(KC_X));
- }
- }
- break;
- case Copy:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_C));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(G(KC_C));
- }
- }
- break;
- case Paste:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_V));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(G(KC_V));
- }
- }
- break;
- case PrvWord:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_LEFT));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(A(KC_LEFT));
- }
- }
- break;
- case NxtWord:
- if (record->event.pressed) {
- if (user_config.osIsWindows == 1) {
- tap_code16(C(KC_RGHT));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(A(KC_RGHT));
- }
- }
- break;
- }
- return true;
-};
-
-void leader_end_user(void) {
- // Set current OS indicator to macOs
- if (leader_sequence_one_key(KC_M)) {
- user_config.osIsWindows = false;
- eeconfig_update_user(user_config.raw);
- }
-
- // Set current OS indicator to Windows
- if (leader_sequence_one_key(KC_W)) {
- user_config.osIsWindows = true;
- eeconfig_update_user(user_config.raw);
- }
-
- // Screenshot
- if (leader_sequence_one_key(KC_S)) {
- if (user_config.osIsWindows == 1) {
- tap_code16(S(G(KC_S)));
- } else if (user_config.osIsWindows == 0) {
- tap_code16(S(G(KC_4)));
- }
- }
-
- // Video
- if (leader_sequence_one_key(KC_V)) {
- if (user_config.osIsWindows == 0) {
- tap_code16(S(G(KC_5)));
- }
- }
-
- // Sleep
- if (leader_sequence_one_key(KC_P)) {
- if (user_config.osIsWindows == 1) {
- SEND_STRING(SS_LGUI("x") "u" "h");
- } else if (user_config.osIsWindows == 0) {
- tap_code16(A(G(KC_PWR)));
- }
- }
-}
diff --git a/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
deleted file mode 100644
index 2ed0ad91c7..0000000000
--- a/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# OLED_ENABLE = yes
-# ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enables the Leader shortcut funtionality
diff --git a/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
deleted file mode 100644
index 4efed7cade..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
-#endif
-
-// encoder resolution from default 4 to 2
-#define ENCODER_RESOLUTION 2
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-// #define SPLIT_USB_DETECT
-// #define NO_USB_STARTUP_CHECK
-
-//allows for either side as the master.
-#define EE_HANDS
diff --git a/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
deleted file mode 100644
index df542977a1..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-enum layers {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _NAV,
- _ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | GUI | | Tab | Enter| | Bksp | Space| Alt | Home | End |
- * | | | LCTL | Lower| | | | Raise| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_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_PIPE,
- 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_MINS,
- _______, KC_LGUI , KC_LCTL, LT(_LOWER, KC_TAB), LT(_NAV, KC_ENT), KC_BSPC, LT(_RAISE, KC_SPC), KC_RALT, KC_HOME, KC_END
- ),
-/*
- * Lower Layer: Number keys, media
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | 7 | 8 | 9 | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | Prev | Play | Next | VolUp| | | 4 | 5 | 6 | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | Mute | VolDn| | | | | | 0 | 1 | 2 | 3 | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_7 , KC_8 , KC_9 , _______, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, _______, KC_4 , KC_5 , KC_6 , _______, _______,
- _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_0 , KC_1 , KC_2 , KC_3 , _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Raise Layer: Symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | @ | ! | { | } | | | ` | ~ | & | * | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | | | _ | - | = | | | ' " | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | | | | | | | | + | \ | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_AT , KC_EXLM, KC_LCBR, KC_RCBR, _______, KC_GRV , KC_TILD, KC_AMPR, KC_ASTR, _______, _______,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, _______, KC_UNDS, KC_MINS, KC_EQL , KC_PIPE, KC_QUOT, _______,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_BSLS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Navigation Layer
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | home |pg dn |pg up | end | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | left | down | up | right| | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
- [_NAV] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Adjust Layer: Function keys, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | | | | F11 | F12 | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_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, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _NAV:
- oled_write_P(PSTR("Nav\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- else if (index == 1) {
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
deleted file mode 100644
index d1f3f0f9f4..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUTO_SHIFT_ENABLE = yes # Enable auto shift
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/config.h b/keyboards/splitkb/kyria/keymaps/j-inc/config.h
deleted file mode 100644
index dc7d9610dd..0000000000
--- a/keyboards/splitkb/kyria/keymaps/j-inc/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
- #define OLED_TIMEOUT 300000
-#endif
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-#define SPLIT_USB_DETECT
-#define NO_USB_STARTUP_CHECK
-#define SPLIT_USB_TIMEOUT 1000
-
-#define MASTER_RIGHT
-#define ENCODER_DIRECTION_FLIP
-
-
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-#define NO_ACTION_ONESHOT
-#define OLED_FONT_END 127
-
-
-#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_LED_MAP {0,1,2,9,8,7,4,3,5,6,19,18,17,10,11,12,15,16,14,13} // Orients Kyria LEDs to a circle around both halves.
- //#define RBGLIGHT_LED_MAP {9,8,6,7,5,3,2,4,1,0,10,12,13,11,14,16,17,15,18,19} // Orients Kyria LEDs for a left half-right half columnar progression.
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- //#define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_SLEEP
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
deleted file mode 100644
index f193c6e00c..0000000000
--- a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include <stdio.h>
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-
-char wpm_str[10];
-
-enum layers {
- _QWERTY,
- _2WERTY, //pronounced "twerty," obviously
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * |RAIS/ESC| Q | W | E | R | T | | Y | U | I | O | P | BKSP |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Tab | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | CTRL | Z | X | C | V | B |Enter |Ctrl | |Ctrl |(2u) | N | M | , < | . > | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | TG(1)| Alt | Win | Shift| Back | | Enter| Space| Win | Alt |TG(3) |
- * | | | | Lower| space| | Lower| Raise| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_LCTL, KC_RCTL, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- TG(1), KC_LALT, KC_LGUI, KC_LSFT, KC_BSPC, LT(3, KC_ENT), LT(2, KC_SPC), KC_RGUI, KC_RALT, TG(2)
- ),
-/*
- * This layer exists to change encoder functions.
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_2WERTY] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Lower Layer: numpad and arrow
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | 7 | 8 | 9 | 0 | | PGUP | | UP | | | Del
- |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | CAPS | | 4 | 5 | 6 | Tab | | PGDN | Left | Down | Right| | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | 1 | 2 | 3 | Ent | | | | | | | LBRC | RBRC | | |\ | += |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | Tab | Ent | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- _______, _______, KC_7, KC_8, KC_9, KC_0, KC_PGUP, _______, KC_UP, _______, _______, KC_DEL,
- KC_CAPS, _______, KC_4, KC_5, KC_6, KC_TAB, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_LSFT, KC_0, KC_1, KC_2, KC_3, KC_ENT, KC_TRNS, KC_TRNS, MO(4), _______, KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, KC_EQL,
- KC_TRNS, KC_TAB, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______
- ),
-/*
- * Raise Layer: F keys and media
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | F9 | F10 | F11 | F12 | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | Prev | Play | Next | VolUp| | F5 | F6 | F7 | F8 | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | Mute | VolDn| | | | | | F1 | F2 | F3 | F4 | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______,
- _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS
- ),
-/*
- * Adjust Layer: Function keys, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | VAI | SAI | HUI | SPI | MOD | | | | | F11 | F12 | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | VID | SAD | HUD | SPD | RMOD | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RGB_SPI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______,
- _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_SPD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_status(void) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("QWERTY"), false);
- break;
- case _2WERTY:
- oled_write_P(PSTR("2WERTY"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Numpad"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("F Keys"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("RGB "), false);
- break;
- default:
- oled_write_P(PSTR("Undefined"), false);
- }
-
- //Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
-}
-
-
-// WPM-responsive animation stuff here
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 40 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-#define TAP_FRAMES 2
-#define TAP_SPEED 60 // above this wpm value typing animation to triggere
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-#define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
-uint8_t current_tap_frame = 0;
-
-// Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach.
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 8, 4, 2, 2, 4, 24, 96,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60,194, 1, 1, 2, 2, 4, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0,129,130,130,132, 8, 16, 32, 64,128, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 25, 6, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 27, 3, 0, 64,160, 34, 36, 20, 18, 18, 18, 11, 8, 8, 8, 8, 5, 5, 9, 9, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 4, 2, 2, 2, 4, 56, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,226, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- }
- };
- static const char PROGMEM prep[][ANIM_SIZE] = {
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132,195,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- }
- };
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0,248,248,248,248, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1, 1, 2, 4, 8, 16, 32, 67,135, 7, 1, 0,184,188,190,159, 95, 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132, 67,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 61,124,252,252,252,252,252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 63, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- {
- 0, 0,126,126, 24, 60,102, 66, 0, 12, 28,112,112, 28, 12, 0,116,116, 20, 20,124,104, 0,124,124, 0,112,120, 44, 36,124,124,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,
- 0, 0, 0, 0,192, 96, 48, 24, 12,132,198, 98, 35, 51, 17,145,113,241,113,145, 17, 51, 35, 98,198,132, 12, 24, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 1, 1, 0, 0, 0,
- 0, 0,252, 15, 1, 0,248, 14, 31,109,140,148,148,164,166,249,224,255,224,249,166,164,148,148,140,109, 31, 14,248, 0, 1, 15,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 0, 0, 0, 0,
- 0, 0, 31,120,192, 0, 15, 56,124,219,152, 20, 20, 18, 50,207, 3,255, 3,207, 50, 18, 20, 20,152,219,124, 56, 15, 0,192,120, 31, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3,122,122,121,121,121,121, 57, 49, 2, 2, 4, 4, 8, 8, 8,136,136,135,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
- 32, 16, 16, 16, 17, 11, 14, 12, 24, 16, 49, 35, 98,102, 68, 68, 71, 71, 71, 68, 68,102, 98, 35, 49, 16, 24, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,120,124,254,255, 63, 7, 0, 0, 0, 0,255,255,127,127, 63, 62, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
- },
- };
-
- //assumes 1 frame prep stage
- void animation_phase(void) {
- if(get_current_wpm() <=IDLE_SPEED){
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
- }
- if(get_current_wpm() >IDLE_SPEED && get_current_wpm() <TAP_SPEED){
- // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
- oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
- }
- if(get_current_wpm() >=TAP_SPEED){
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
- if(get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-// static void render_skull(void) { // Helen Tseong (http://shewolfe.co/), the original artist behind the skull, sadly only allowing use of the skull for my personal use. Her (excellent) works are copyright her, and I claim no ownership. Reach out to her for permission!
-// static const char PROGMEM skull[] = {
-// };
-// oled_write_raw_P(skull, 801);
-// }
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- //render_skull();
- //oled_set_cursor(7,6);
- render_status();
- // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_anim();
- oled_set_cursor(0,6);
- uint8_t n = get_current_wpm();
- wpm_str[3] = '\0';
- wpm_str[2] = '0' + n % 10;
- wpm_str[1] = '0' + (n /= 10) % 10;
- wpm_str[0] = '0' + n / 10 ;
- oled_write_P(PSTR(" WPM: "), false);
- oled_write(wpm_str, false);
-
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch(get_highest_layer(layer_state)){
- case 1:
- if (clockwise) {
- tap_code16(C(KC_TAB));
- } else {
- tap_code16(S(C(KC_TAB)));
- }
- break;
- default:
- if (clockwise) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1250) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
- }
- }
-}
-
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
deleted file mode 100644
index 7bcef000f3..0000000000
--- a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-WPM_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-TAP_DANCE_ENABLE = no
-STENO_ENABLE = no
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-SPACE_CADET_ENABLE = no
-KEY_LOCK_ENABLE = no
-AUDIO_ENABLE = no
-CONSOLE_ENABLE = no
-VELOCIKEY_ENABLE = no
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/config.h b/keyboards/splitkb/kyria/keymaps/john-ezra/config.h
deleted file mode 100644
index 70b41675a3..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 John Ezra
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 OLED_FONT_H "keyboards/splitkb/kyria/keymaps/john-ezra/glcdfont.c"
-#define OLED_FONT_END 255
-#define OLED_TIMEOUT 30000
-#define OLED_DISPLAY_128X64
-
-#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_HUE_STEP 5
- #define RGBLIGHT_SAT_STEP 5
- #define RGBLIGHT_VAL_STEP 5
- #define RGBLIGHT_LIMIT_VAL 150
-#endif
-
-#undef DEBOUNCE
-#define DEBOUNCE 1
-
-#define TAPPING_TERM 125
-
-#define SPLIT_WPM_ENABLE
-
-#define USB_POLLING_INTERVAL_MS 1
-
-#define DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/glcdfont.c b/keyboards/splitkb/kyria/keymaps/john-ezra/glcdfont.c
deleted file mode 100644
index 86fb5d86e3..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/glcdfont.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/* Copyright 2021 John Ezra
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "progmem.h"
-
-static const unsigned char font[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
- 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
- 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
- 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
- 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
- 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
- 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
- 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
- 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
- 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
- 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
- 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
- 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
- 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
- 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
- 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
- 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
- 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
- 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
- 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
- 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
- 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
- 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
- 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
- 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
- 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
- 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
- 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
- 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
- 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
- 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
- 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
- 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
- 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
- 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
- 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
- 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
- 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
- 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
- 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
- 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
- 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
- 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
- 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
- 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
- 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
- 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
- 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
- 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
- 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
- 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
- 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
- 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
- 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
- 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
- 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
- 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
- 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
- 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
- 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
- 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
- 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
- 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
- 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
- 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
- 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
- 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
- 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
- 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
- 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
- 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
- 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
- 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
- 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
- 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
- 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
- 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
- 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
- 0x00, 0xF0, 0x08, 0x24, 0x52, 0xE2,
- 0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
- 0x24, 0x22, 0x42, 0x82, 0x02, 0x02,
- 0x22, 0x22, 0x02, 0x02, 0xFE, 0x00,
- 0x00, 0xF0, 0x08, 0x04, 0x02, 0x82,
- 0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
- 0x04, 0x82, 0x42, 0x22, 0x12, 0x22,
- 0x42, 0x82, 0x02, 0x02, 0xFE, 0x00,
- 0x00, 0xF0, 0x08, 0x84, 0x42, 0x42,
- 0x82, 0x82, 0x42, 0x42, 0x42, 0x82,
- 0x04, 0x82, 0xC2, 0xE2, 0xF2, 0xE2,
- 0xC2, 0x82, 0x02, 0x02, 0xFE, 0x00,
- 0x00, 0xF0, 0x08, 0x44, 0x42, 0xF2,
- 0x42, 0x42, 0x42, 0xF2, 0x42, 0x42,
- 0x04, 0x82, 0xE2, 0x92, 0x92, 0x92,
- 0xE2, 0x82, 0x02, 0x02, 0xFE, 0x00,
- 0x00, 0xF0, 0x08, 0x84, 0x82, 0x02,
- 0x82, 0x02, 0x02, 0x82, 0x82, 0x02,
- 0x02, 0x02, 0x82, 0x82, 0x02, 0x02,
- 0xE2, 0x12, 0x12, 0xE2, 0x02, 0x62,
- 0x92, 0x92, 0x22, 0x02, 0xFE, 0x00,
- 0x00, 0xF0, 0x08, 0x04, 0xF2, 0x02,
- 0x02, 0x02, 0xF2, 0x02, 0x82, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x22,
- 0xF2, 0x02, 0x02, 0xE2, 0x12, 0x12,
- 0x12, 0xE2, 0x02, 0x02, 0xFE, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0xFE, 0x00, 0x00, 0xF0, 0x08,
- 0x02, 0xFE, 0x00, 0x00, 0xF0, 0xF8,
- 0x00, 0x7F, 0x40, 0x44, 0x4A, 0x47,
- 0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
- 0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
- 0x44, 0x44, 0x40, 0x40, 0x7F, 0x00,
- 0x00, 0x7F, 0x40, 0x40, 0x41, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
- 0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
- 0x4F, 0x41, 0x41, 0x40, 0x7F, 0x00,
- 0x00, 0x7F, 0x40, 0x41, 0x42, 0x42,
- 0x42, 0x41, 0x41, 0x42, 0x42, 0x41,
- 0x40, 0x40, 0x40, 0x4B, 0x4B, 0x4B,
- 0x40, 0x40, 0x40, 0x40, 0x7F, 0x00,
- 0x00, 0x7F, 0x40, 0x42, 0x42, 0x4F,
- 0x42, 0x42, 0x42, 0x4F, 0x42, 0x42,
- 0x40, 0x4F, 0x4F, 0x4F, 0x48, 0x4F,
- 0x4F, 0x4F, 0x40, 0x40, 0x7F, 0x00,
- 0x00, 0x7F, 0x40, 0x4F, 0x40, 0x4F,
- 0x40, 0x4F, 0x44, 0x4A, 0x4A, 0x4F,
- 0x48, 0x47, 0x48, 0x48, 0x45, 0x40,
- 0x47, 0x48, 0x48, 0x47, 0x40, 0x44,
- 0x48, 0x48, 0x47, 0x40, 0x7F, 0x00,
- 0x00, 0x7F, 0x40, 0x40, 0x47, 0x48,
- 0x47, 0x48, 0x47, 0x40, 0x4E, 0x40,
- 0x4F, 0x41, 0x41, 0x4E, 0x40, 0x48,
- 0x4F, 0x48, 0x40, 0x47, 0x48, 0x48,
- 0x48, 0x47, 0x40, 0x40, 0x7F, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x7F, 0x00, 0x00, 0x7F, 0x40,
- 0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
- 0x00, 0xF0, 0xF8, 0xDC, 0xAE, 0x1E,
- 0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
- 0xDC, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
- 0xDE, 0xDE, 0xFE, 0xFE, 0xFE, 0x00,
- 0x00, 0xF0, 0xF8, 0xFC, 0xFE, 0x7E,
- 0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
- 0xFC, 0x7E, 0x3E, 0x1E, 0x0E, 0x1E,
- 0x3E, 0x7E, 0xFE, 0xFE, 0xFE, 0x00,
- 0x00, 0xF0, 0xF8, 0x7C, 0xBE, 0xBE,
- 0x7E, 0x7E, 0xBE, 0xBE, 0xBE, 0x7E,
- 0xFC, 0x7E, 0x3E, 0x1E, 0x0E, 0x1E,
- 0x3E, 0x7E, 0xFE, 0xFE, 0xFE, 0x00,
- 0x00, 0xF0, 0xF8, 0xBC, 0xBE, 0x0E,
- 0xBE, 0xBE, 0xBE, 0x0E, 0xBE, 0xBE,
- 0xFC, 0x7E, 0x1E, 0x6E, 0x6E, 0x6E,
- 0x1E, 0x7E, 0xFE, 0xFE, 0xFE, 0x00,
- 0x00, 0xF0, 0xF8, 0x7C, 0x7E, 0xFE,
- 0x7E, 0xFE, 0xFE, 0x7E, 0x7E, 0xFE,
- 0xFE, 0xFE, 0x7E, 0x7E, 0xFE, 0xFE,
- 0x1E, 0xEE, 0xEE, 0x1E, 0xFE, 0x9E,
- 0x6E, 0x6E, 0xDE, 0xFE, 0xFE, 0x00,
- 0x00, 0xF0, 0xF8, 0xFC, 0x0E, 0xFE,
- 0xFE, 0xFE, 0x0E, 0xFE, 0x7E, 0xFE,
- 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xDE,
- 0x0E, 0xFE, 0xFE, 0x1E, 0xEE, 0xEE,
- 0xEE, 0x1E, 0xFE, 0xFE, 0xFE, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFE, 0xFE, 0x00, 0x00, 0xF0, 0x08,
- 0xFE, 0xFE, 0x00, 0x00, 0xF0, 0xF8,
- 0x00, 0x7F, 0x7F, 0x7B, 0x75, 0x78,
- 0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
- 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
- 0x7B, 0x7B, 0x7F, 0x7F, 0x7F, 0x00,
- 0x00, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
- 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
- 0x7E, 0x7E, 0x70, 0x70, 0x70, 0x70,
- 0x70, 0x7E, 0x7E, 0x7F, 0x7F, 0x00,
- 0x00, 0x7F, 0x7F, 0x7E, 0x7D, 0x7D,
- 0x7D, 0x7E, 0x7E, 0x7D, 0x7D, 0x7E,
- 0x7F, 0x7F, 0x7F, 0x74, 0x74, 0x74,
- 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00,
- 0x00, 0x7F, 0x7F, 0x7D, 0x7D, 0x70,
- 0x7D, 0x7D, 0x7D, 0x70, 0x7D, 0x7D,
- 0x7F, 0x70, 0x70, 0x70, 0x77, 0x70,
- 0x70, 0x70, 0x7F, 0x7F, 0x7F, 0x00,
- 0x00, 0x7F, 0x7F, 0x70, 0x7F, 0x70,
- 0x7F, 0x70, 0x7B, 0x75, 0x75, 0x70,
- 0x77, 0x78, 0x77, 0x77, 0x7A, 0x7F,
- 0x78, 0x77, 0x77, 0x78, 0x7F, 0x7B,
- 0x77, 0x77, 0x78, 0x7F, 0x7F, 0x00,
- 0x00, 0x7F, 0x7F, 0x7F, 0x78, 0x77,
- 0x78, 0x77, 0x78, 0x7F, 0x71, 0x7F,
- 0x70, 0x7E, 0x7E, 0x71, 0x7F, 0x77,
- 0x70, 0x77, 0x7F, 0x78, 0x77, 0x77,
- 0x77, 0x78, 0x7F, 0x7F, 0x7F, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x40,
- 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-};
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c b/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c
deleted file mode 100644
index 71af5f80bd..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Copyright 2021 John Ezra
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received 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 kyria_layers {
- _HNTS,
- _GAME,
- _NUMPAD,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum kyria_keycodes {
- HNTS = SAFE_RANGE,
- ESC_NUM,
- LOWER,
- RAISE,
- MSS_CTL,
- CPY_PST,
- UNDO,
- FIND
-};
-
-#define HNTS DF(_HNTS)
-#define GAME TG(_GAME)
-#define NUMPAD TG(_NUMPAD)
-#define MSS_CTL MT(MOD_LCTL, C(KC_UP))
-#define BSP_CMD MT(MOD_LGUI, KC_BSPC)
-#define TAB_CMD MT(MOD_LGUI, KC_TAB)
-#define SFT_ENT MT(MOD_LSFT, KC_ENT)
-#define ALT_ESC MT(MOD_LALT, KC_ESC)
-#define ALT_TAB A(KC_TAB)
-#define UNDO G(KC_Z)
-#define FIND G(KC_F)
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/*
- * Default: HNTS
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | Find | Z | R | L | D | W | | Y | P | U | X | Q | | \ |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * |Cpy/Pst| H | N | T | S | C | | B | I | E | O | A | ` ~ |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | Undo | K | V | M | F | G | Esc |MssnCtl| |MssnCtl| Esc | J | ; : | , < | . > | / ? | ' " |
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | Numpad| Enter | Lower | Space | BSPC | | Tab | Shift | Raise | Del | Caps |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_HNTS] = LAYOUT(
- FIND, KC_Z, KC_R, KC_L, KC_D, KC_W, KC_Y, KC_P, KC_U, KC_X, KC_Q, KC_BSLS,
- CPY_PST, KC_H, KC_N, KC_T, KC_S, KC_C, KC_B, KC_I, KC_E, KC_O, KC_A, KC_GRV,
- UNDO, KC_K, KC_V, KC_M, KC_F, KC_G, ALT_ESC, MSS_CTL, MSS_CTL, ALT_ESC, KC_J, KC_SCLN, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- NUMPAD, SFT_ENT, LOWER, KC_SPC, BSP_CMD, TAB_CMD, SFT_ENT, RAISE, KC_DEL, KC_CAPS
-),
-
-/*
- * Game: Gaming Layer
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | 0 | Z | R | L | D | W | | Y | P | U | X | Q | Esc |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * | 1 | H | N | T | S | C | | B | I | E | O | A | Enter |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | 2 | K | V | M | F | G | 8 | 9 | |Default| Esc | J | ; : | , < | . > | / ? |Alt+Tab|
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | 3 | 4 | 5 | 6 | 7 | | Tab | Shift | Raise | Del | Caps |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_GAME] = LAYOUT(
- KC_0, KC_Z, KC_R, KC_L, KC_D, KC_W, KC_Y, KC_P, KC_U, KC_X, KC_Q, KC_ESC,
- KC_1, KC_H, KC_N, KC_T, KC_S, KC_C, KC_B, KC_I, KC_E, KC_O, KC_A, KC_ENT,
- KC_2, KC_K, KC_V, KC_M, KC_F, KC_G, KC_8, KC_9, GAME, ALT_ESC, KC_J, KC_SCLN, KC_COMM, KC_DOT, KC_SLSH, ALT_TAB,
- KC_3, KC_4, KC_5, KC_6, KC_7, TAB_CMD, SFT_ENT, RAISE, KC_DEL, KC_CAPS
-),
-
-/*
- * Numpad
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | * | + | 7 | 8 | 9 | 0 | | | | | | | |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * | / | - | 4 | 5 | 6 | ( | | | Left | Up | Down | Right | |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | = | . | 1 | 2 | 3 | ) | | | | | | | | | | | |
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | | | | | | | | | | | |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_NUMPAD] = LAYOUT(
- KC_ASTR, KC_PLUS, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______,
- KC_SLSH, KC_MINS, KC_4, KC_5, KC_6, KC_LPRN, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______,
- KC_EQL, KC_DOT, KC_1, KC_2, KC_3, KC_RPRN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/*
- * Lower: Symbols & Media
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | Tab | * | / | + | - | = | | | | { | } | @ | ! | ` |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * | Enter | Left | Up | Down | Right | | | \ | ( | ) | $ | # | ~ |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | Esc | Vol- | Vol+ | Prev | Play | Next | | | | | | _ | [ | ] | ^ | % | & |
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | | | | | | | | | | | |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_LOWER] = LAYOUT(
- KC_TAB, KC_ASTR, KC_SLSH, KC_PLUS, KC_MINS, KC_EQL, KC_PIPE, KC_LCBR, KC_RCBR, KC_AT, KC_EXLM, KC_GRV,
- KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, KC_BSLS, KC_LPRN, KC_RPRN, KC_DLR, KC_HASH, KC_TILD,
- KC_ESC, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_UNDS, KC_LBRC, KC_RBRC, KC_CIRC, KC_PERC, KC_AMPR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/*
- * Raise: Numbers
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | | | | | | | | | | | | | Left | Up | Down | Right | Esc |
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | | | | | | | | | | | |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_ESC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/*
- * Adjust: Function Keys & RGB
- *
- * ,-----------------------------------------------. ,-----------------------------------------------.
- * | Reset | | | | | | | | NKRO |CG SWAP| | | HNTS |
- * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- * | | TOG | SAI | HUI | VAI | MOD | | |Bright+|Bright-| | | |
- * |-------+-------+-------+-------+-------+-------+---------------. ,---------------+-------+-------+-------+-------+-------+-------|
- * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
- * `-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-----------------------'
- * | | | | | | | | | | | |
- * `---------------------------------------' `---------------------------------------'
- */
-
-[_ADJUST] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, NK_TOGG, CG_TOGG, _______, GAME, HNTS,
- _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, KC_BRIU, KC_BRID, _______, _______, _______,
- _______, _______, RGB_SAD, RGB_HUD, RGB_VAD,RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case CPY_PST: // Hold to Copy, Hold with GUI to Cut, Tap to Paste
- {
- static uint16_t copy_paste_timer;
- if (record->event.pressed) {
- copy_paste_timer = timer_read();
- } else {
- if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) {
- if (get_mods() & MOD_MASK_GUI) {
- tap_code16(LGUI(KC_X));
- } else {
- tap_code16(LGUI(KC_C));
- }
- } else {
- tap_code16(LGUI(KC_V));
- }
- }
- }
- break;
- case MSS_CTL:
- if (record->event.pressed && record->tap.count) {
- tap_code16(C(KC_UP));
- return false;
- }
- break;
- case UNDO: // Tap to Undo, Tap with GUI to Redo
- if (get_mods() & MOD_MASK_GUI) {
- if (record->event.pressed) {
- tap_code(KC_Y);
- }
- return false;
- }
- break;
- case FIND: // Tap to Find, Tap with GUI to Select All
- if (get_mods() & MOD_MASK_GUI) {
- if (record->event.pressed) {
- tap_code(KC_A);
- }
- return false;
- }
- break;
- }
- return true;
-};
-
-const key_override_t ctrl_h = ko_make_basic(MOD_MASK_CTRL, KC_H, C(KC_LEFT)); //MocOS Desktop Navigation
-const key_override_t ctrl_n = ko_make_basic(MOD_MASK_CTRL, KC_N, C(KC_UP)); //MocOS Desktop Navigation
-const key_override_t ctrl_t = ko_make_basic(MOD_MASK_CTRL, KC_T, C(KC_DOWN)); //MocOS Desktop Navigation
-const key_override_t ctrl_s = ko_make_basic(MOD_MASK_CTRL, KC_S, C(KC_RGHT)); //MocOS Desktop Navigation
-const key_override_t bsp_del = ko_make_basic(MOD_MASK_SHIFT, BSP_CMD, KC_DEL); // Shift+Bksp sends Delete
-
-const key_override_t **key_overrides = (const key_override_t *[]){
- &ctrl_h,
- &ctrl_n,
- &ctrl_t,
- &ctrl_s,
- &bsp_del,
- NULL
-};
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/oled.c b/keyboards/splitkb/kyria/keymaps/john-ezra/oled.c
deleted file mode 100644
index 732cca8f7b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/oled.c
+++ /dev/null
@@ -1,490 +0,0 @@
-/* Copyright 2021 John Ezra
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-//Sets up what the OLED screens display.
-
-#include QMK_KEYBOARD_H
-
-int timer = 0;
-char wpm_counter[5];
-int x = 31;
-int currwpm = 0;
-int vert_count = 0;
-
-//============= USER CONFIG PARAMS ===============
-float max_wpm = 150.0f; //WPM value at the top of the graph window
-int graph_refresh_interval = 100; //in milliseconds
-int graph_area_fill_interval = 3; //determines how dense the horizontal lines under the graph line are; lower = more dense
-int vert_interval = 3; //determines frequency of vertical lines under the graph line
-bool vert_line = false; //determines whether to draw vertical lines
-int graph_line_thickness = 2; //determines thickness of graph line in pixels
-//============= END USER PARAMS ===============
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x70, 0x7e, 0xf0, 0xf0, 0xfe, 0xf0, 0x70, 0x7e,
- 0x70, 0xf0, 0xfe, 0xf0, 0xf0, 0x7e, 0x70, 0x70, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x92, 0x92, 0x92, 0x00, 0x00,
- 0xf8, 0xfc, 0x0e, 0x06, 0x06, 0x06, 0x0e, 0xfc, 0xf8, 0x00, 0xfe, 0xfe, 0x1c, 0x38, 0x70, 0xe0,
- 0x70, 0x38, 0x1c, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xe0, 0xf0, 0xb8, 0x1c, 0x0e, 0x06, 0x00, 0x00,
- 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0x06, 0x00, 0xe6, 0xe6, 0x00, 0xf0, 0xf0, 0x60, 0x30, 0x30,
- 0x60, 0x00, 0xf0, 0xf0, 0x30, 0x30, 0xe0, 0xc0, 0x30, 0x30, 0x30, 0xe0, 0xc0, 0x00, 0xf0, 0xf0,
- 0x00, 0xc0, 0xe0, 0x70, 0xe0, 0xc0, 0x00, 0xf0, 0xf0, 0x00, 0x20, 0xb0, 0x90, 0xb0, 0xf0, 0xe0,
- 0x00, 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x60, 0x00, 0xc0, 0xe0, 0x30, 0x30, 0x30, 0xe0, 0xc0, 0x00,
- 0x00, 0x24, 0x24, 0x24, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf1, 0xe3, 0xe3, 0x00, 0x00,
- 0x00, 0xe3, 0xe3, 0xf1, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x24, 0x24, 0x24, 0x00, 0x00,
- 0x03, 0x07, 0x0e, 0x0c, 0x0c, 0x1c, 0x1e, 0x17, 0x13, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x0f, 0x0f, 0x00, 0x01, 0x03, 0x07, 0x0e, 0x0c, 0x00, 0x00,
- 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x01, 0x0f,
- 0x0f, 0x07, 0x01, 0x00, 0x01, 0x07, 0x0f, 0x0f, 0x01, 0x00, 0x07, 0x0f, 0x0c, 0x04, 0x0f, 0x0f,
- 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0d, 0x09, 0x09, 0x0d, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x3f, 0x07, 0x07, 0x3f, 0x07, 0x07, 0x3f,
- 0x07, 0x07, 0x3f, 0x07, 0x07, 0x3f, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(qmk_logo, sizeof(qmk_logo));
-}
-
-// Loop to create line by line rendering for Horizontal display
-// Input is oled_render_image(how many rows tall, how many pixels wide, what to render, X pos, Y pos, Frame offset)
-void oled_render_image(int lines, int px, const char render_line[][px], int X_pos, int Y_pos, int frame) {
- for (uint8_t i = 0; i < lines; i++){
- oled_set_cursor(X_pos, Y_pos + i);
- oled_write_raw_P(render_line[i + frame], px);
- }
-}
-
-static void render_layers(void) {
- static const char PROGMEM layer_background_r1[1][38] = {
- {0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, 0x82, 0x42,
- 0x42, 0x42, 0x22, 0x22, 0x22, 0x42, 0x42, 0x42, 0x82, 0x82, 0x82, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0xfe}
- };
- static const char PROGMEM layer_background_r2[1][38] = {
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x20, 0x20, 0x20, 0x40,
- 0x40, 0x40, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x11, 0x11, 0x11, 0xaa, 0xaa,
- 0xaa, 0x44, 0x44, 0x44, 0x00, 0xff}
- };
- static const char PROGMEM layer_background_r3[1][38] = {
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x44,
- 0x44, 0x44, 0x88, 0x88, 0x88, 0x44, 0x44, 0x44, 0x22, 0x22, 0x22, 0x11, 0x11, 0x11, 0xaa, 0xaa,
- 0xaa, 0x44, 0x44, 0x44, 0x00, 0xff}
- };
- static const char PROGMEM layer_background_r4[1][38] = {
- {0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x44,
- 0x44, 0x44, 0x48, 0x48, 0x48, 0x44, 0x44, 0x44, 0x42, 0x42, 0x42, 0x41, 0x41, 0x41, 0x40, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f}
- };
- static const char PROGMEM base[1][38] = {
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xae, 0xae, 0xae, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x3e, 0x7c,
- 0x7c, 0x7c, 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x3e, 0x3e, 0x3e, 0x1f, 0x1f, 0x1f, 0xae, 0xae,
- 0xae, 0x44, 0x44, 0x44, 0x00, 0xff}
- };
- static const char PROGMEM lower[2][38] = {
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xea, 0xea, 0xea, 0xf1, 0xf1, 0xf1, 0xe2, 0xe2, 0xe2, 0xc4,
- 0xc4, 0xc4, 0x88, 0x88, 0x88, 0xc4, 0xc4, 0xc4, 0xe2, 0xe2, 0xe2, 0xf1, 0xf1, 0xf1, 0xea, 0xea,
- 0xea, 0x44, 0x44, 0x44, 0x00, 0xff},
- {0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x43, 0x43, 0x43, 0x47,
- 0x47, 0x47, 0x4f, 0x4f, 0x4f, 0x47, 0x47, 0x47, 0x43, 0x43, 0x43, 0x41, 0x41, 0x41, 0x40, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f}
- };
- static const char PROGMEM raise[][38] = {
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xea, 0xea, 0xea, 0xf1, 0xf1, 0xf1, 0xe0, 0xe0, 0xe0, 0xc0,
- 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xf1, 0xf1, 0xf1, 0xea, 0xea,
- 0xea, 0x44, 0x44, 0x44, 0x00, 0xff},
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x23, 0x23, 0x23, 0x47,
- 0x47, 0x47, 0x8f, 0x8f, 0x8f, 0x47, 0x47, 0x47, 0x23, 0x23, 0x23, 0x11, 0x11, 0x11, 0xaa, 0xaa,
- 0xaa, 0x44, 0x44, 0x44, 0x00, 0xff}
- };
- static const char PROGMEM adjust[][38] = {
- {0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, 0x82, 0xc2,
- 0xc2, 0xc2, 0xe2, 0xe2, 0xe2, 0xc2, 0xc2, 0xc2, 0x82, 0x82, 0x82, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0xfe},
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xae, 0xae, 0xae, 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f,
- 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1f, 0xae, 0xae,
- 0xae, 0x44, 0x44, 0x44, 0x00, 0xff}
- };
- static const char PROGMEM custom[][38] = {
- {0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, 0x82, 0x42,
- 0xc2, 0x42, 0xa2, 0x62, 0xa2, 0x42, 0xc2, 0x42, 0x82, 0x82, 0x82, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0xfe},
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xaa, 0xee, 0xaa, 0x55, 0xbb, 0x55, 0xaa, 0x75, 0xaa, 0x55,
- 0xea, 0x55, 0xaa, 0xd5, 0xaa, 0x55, 0xea, 0x55, 0xaa, 0x75, 0xaa, 0x55, 0xbb, 0x55, 0xaa, 0xee,
- 0xaa, 0x44, 0x44, 0x44, 0x00, 0xff},
- {0x00, 0xff, 0x00, 0x44, 0x44, 0x44, 0xaa, 0xee, 0xaa, 0x55, 0xbb, 0x55, 0xaa, 0x77, 0xaa, 0x55,
- 0xee, 0x55, 0xaa, 0xdd, 0xaa, 0x55, 0xee, 0x55, 0xaa, 0x77, 0xaa, 0x55, 0xbb, 0x55, 0xaa, 0xee,
- 0xaa, 0x44, 0x44, 0x44, 0x00, 0xff},
- {0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x42, 0x43, 0x42, 0x45,
- 0x46, 0x45, 0x4a, 0x4d, 0x4a, 0x45, 0x46, 0x45, 0x42, 0x43, 0x42, 0x41, 0x41, 0x41, 0x40, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f}
- };
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_render_image(1, 38, layer_background_r1, 15, 4, 0);
- oled_render_image(1, 38, layer_background_r2, 15, 5, 0);
- oled_render_image(1, 38, base, 15, 6, 0);
- oled_render_image(1, 38, layer_background_r4, 15, 7, 0);
- break;
- case 3:
- oled_render_image(2, 38, lower, 15, 6, 0);
- break;
- case 4:
- oled_render_image(1, 38, layer_background_r1, 15, 4, 0);
- oled_render_image(2, 38, raise, 15, 5, 0);
- oled_render_image(1, 38, layer_background_r4, 15, 7, 0);
- break;
- case 5:
- oled_render_image(2, 38, adjust, 15, 4, 0);
- oled_render_image(1, 38, layer_background_r3, 15, 6, 0);
- oled_render_image(1, 38, layer_background_r4, 15, 7, 0);
- break;
- default:
- oled_render_image(4, 38, custom, 15, 4, 0);
- break;
- }
-}
-
-void render_mod_state(uint8_t modifiers) {
- static const char PROGMEM gui_off [][3]= {{0x80, 0x81, 0}, {0xa0, 0xa1, 0}};
- static const char PROGMEM gui_on [][3]= {{0xc0, 0xc1, 0}, {0xe0, 0xe1, 0}};
- static const char PROGMEM alt_off [][3]= {{0x82, 0x83, 0}, {0xa2, 0xa3, 0}};
- static const char PROGMEM alt_on [][3]= {{0xc2, 0xc3, 0}, {0xe2, 0xe3, 0}};
- static const char PROGMEM ctrl_off [][3]= {{0x84, 0x85, 0}, {0xa4, 0xa5, 0}};
- static const char PROGMEM ctrl_on [][3]= {{0xc4, 0xc5, 0}, {0xe4, 0xe5, 0}};
- static const char PROGMEM shift_off [][3]= {{0x86, 0x87, 0}, {0xa6, 0xa7, 0}};
- static const char PROGMEM shift_on [][3]= {{0xc6, 0xc7, 0}, {0xe6, 0xe7, 0}};
-
- // fillers between the modifier icons bleed into the icon frames
-
- static const char PROGMEM off_off [][2]= {{0x9e, 0}, {0xbe, 0}};
- static const char PROGMEM on_on [][2]= {{0xdf, 0}, {0xff, 0}};
- static const char PROGMEM on_off [][2]= {{0xde, 0}, {0xfe, 0}};
- static const char PROGMEM off_on [][2]= {{0x9f, 0}, {0xbf, 0}};
-
- // render icons
-
- if(modifiers & MOD_MASK_GUI) {
- oled_set_cursor(0, 4);
- oled_write_P(gui_on[0], false);
- oled_set_cursor(0, 5);
- oled_write_P(gui_on[1], false);
- } else {
- oled_set_cursor(0, 4);
- oled_write_P(gui_off[0], false);
- oled_set_cursor(0, 5);
- oled_write_P(gui_off[1], false);
- }
- if(modifiers & MOD_MASK_ALT) {
- oled_set_cursor(3, 4);
- oled_write_P(alt_on[0], false);
- oled_set_cursor(3, 5);
- oled_write_P(alt_on[1], false);
- } else {
- oled_set_cursor(3, 4);
- oled_write_P(alt_off[0], false);
- oled_set_cursor(3, 5);
- oled_write_P(alt_off[1], false);
- }
- if(modifiers & MOD_MASK_CTRL) {
- oled_set_cursor(0, 6);
- oled_write_P(ctrl_on[0], false);
- oled_set_cursor(0, 7);
- oled_write_P(ctrl_on[1], false);
- } else {
- oled_set_cursor(0, 6);
- oled_write_P(ctrl_off[0], false);
- oled_set_cursor(0, 7);
- oled_write_P(ctrl_off[1], false);
- }
- if(modifiers & MOD_MASK_SHIFT) {
- oled_set_cursor(3, 6);
- oled_write_P(shift_on[0], false);
- oled_set_cursor(3, 7);
- oled_write_P(shift_on[1], false);
- } else {
- oled_set_cursor(3, 6);
- oled_write_P(shift_off[0], false);
- oled_set_cursor(3, 7);
- oled_write_P(shift_off[1], false);
- }
-
- // render fillers
-
- if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
- oled_set_cursor(2, 4);
- oled_write_P(on_on[0], false);
- oled_set_cursor(2, 5);
- oled_write_P(on_on[1], false);
- } else if(modifiers & MOD_MASK_GUI) {
- oled_set_cursor(2, 4);
- oled_write_P(on_off[0], false);
- oled_set_cursor(2, 5);
- oled_write_P(on_off[1], false);
- } else if(modifiers & MOD_MASK_ALT) {
- oled_set_cursor(2, 4);
- oled_write_P(off_on[0], false);
- oled_set_cursor(2, 5);
- oled_write_P(off_on[1], false);
- } else {
- oled_set_cursor(2, 4);
- oled_write_P(off_off[0], false);
- oled_set_cursor(2, 5);
- oled_write_P(off_off[1], false);
- }
-
- if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
- oled_set_cursor(2, 6);
- oled_write_P(on_on[0], false);
- oled_set_cursor(2, 7);
- oled_write_P(on_on[1], false);
- } else if(modifiers & MOD_MASK_CTRL) {
- oled_set_cursor(2, 6);
- oled_write_P(on_off[0], false);
- oled_set_cursor(2, 7);
- oled_write_P(on_off[1], false);
- } else if(modifiers & MOD_MASK_SHIFT) {
- oled_set_cursor(2, 6);
- oled_write_P(off_on[0], false);
- oled_set_cursor(2, 7);
- oled_write_P(off_on[1], false);
- } else {
- oled_set_cursor(2, 6);
- oled_write_P(off_off[0], false);
- oled_set_cursor(2, 7);
- oled_write_P(off_off[1], false);
- }
-}
-
-void render_bootmagic_status(void) {
- static const char PROGMEM nkro_off [][3]= {{0x88, 0x89, 0}, {0xa8, 0xa9, 0}};
- static const char PROGMEM nkro_on [][3]= {{0xc8, 0xc9, 0}, {0xe8, 0xe9, 0}};
- static const char PROGMEM mac_os_off [][6]= {{0x90, 0x91, 0x92, 0x93, 0x94, 0}, {0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0}};
- static const char PROGMEM mac_os_on [][6]= {{0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0}, {0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0}};
- static const char PROGMEM windows_off [][6]= {{0x95, 0x96, 0x97, 0x98, 0x99, 0}, {0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0}};
- static const char PROGMEM windows_on [][6]= {{0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0}, {0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0}};
-
- if (keymap_config.nkro) {
- oled_set_cursor(5, 4);
- oled_write_P(nkro_on[0], false);
- oled_set_cursor(5, 5);
- oled_write_P(nkro_on[1], false);
- } else {
- oled_set_cursor(5, 4);
- oled_write_P(nkro_off[0], false);
- oled_set_cursor(5, 5);
- oled_write_P(nkro_off[1], false);
- }
- if (keymap_config.swap_lctl_lgui) {
- oled_set_cursor(10, 6);
- oled_write_P(windows_on[0], false);
- oled_set_cursor(10, 7);
- oled_write_P(windows_on[1], false);
- oled_set_cursor(10, 4);
- oled_write_P(mac_os_off[0], false);
- oled_set_cursor(10, 5);
- oled_write_P(mac_os_off[1], false);
- } else {
- oled_set_cursor(10, 4);
- oled_write_P(mac_os_on[0], false);
- oled_set_cursor(10, 5);
- oled_write_P(mac_os_on[1], false);
- oled_set_cursor(10, 6);
- oled_write_P(windows_off[0], false);
- oled_set_cursor(10, 7);
- oled_write_P(windows_off[1], false);
- }
-}
-
-void render_lock_status(void) {
- static const char PROGMEM caps_off [][3]= {{0x8a, 0x8b, 0}, {0xaa, 0xab, 0}};
- static const char PROGMEM caps_on [][3]= {{0xca, 0xcb, 0}, {0xea, 0xeb, 0}};
- static const char PROGMEM num_off [][3]= {{0x8c, 0x8d, 0}, {0xac, 0xad, 0}};
- static const char PROGMEM num_on [][3]= {{0xcc, 0xcd, 0}, {0xec, 0xed, 0}};
- static const char PROGMEM scrl_off [][3]= {{0x8e, 0x8f, 0}, {0xae, 0xaf, 0}};
- static const char PROGMEM scrl_on [][3]= {{0xce, 0xcf, 0}, {0xee, 0xef, 0}};
-
- static const char PROGMEM off_off [][2]= {{0x9e, 0}, {0xbe, 0}};
- static const char PROGMEM on_on [][2]= {{0xdf, 0}, {0xff, 0}};
- static const char PROGMEM on_off [][2]= {{0xde, 0}, {0xfe, 0}};
- static const char PROGMEM off_on [][2]= {{0x9f, 0}, {0xbf, 0}};
-
- led_t led_usb_state = host_keyboard_led_state();
- if (led_usb_state.caps_lock) {
- oled_set_cursor(8, 4);
- oled_write_P(caps_on[0], false);
- oled_set_cursor(8, 5);
- oled_write_P(caps_on[1], false);
- } else {
- oled_set_cursor(8, 4);
- oled_write_P(caps_off[0], false);
- oled_set_cursor(8, 5);
- oled_write_P(caps_off[1], false);
- }
- if (led_usb_state.num_lock) {
- oled_set_cursor(5, 6);
- oled_write_P(num_on[0], false);
- oled_set_cursor(5, 7);
- oled_write_P(num_on[1], false);
- } else {
- oled_set_cursor(5, 6);
- oled_write_P(num_off[0], false);
- oled_set_cursor(5, 7);
- oled_write_P(num_off[1], false);
- }
- if (led_usb_state.scroll_lock) {
- oled_set_cursor(8, 6);
- oled_write_P(scrl_on[0], false);
- oled_set_cursor(8, 7);
- oled_write_P(scrl_on[1], false);
- } else {
- oled_set_cursor(8, 6);
- oled_write_P(scrl_off[0], false);
- oled_set_cursor(8, 7);
- oled_write_P(scrl_off[1], false);
- }
-
- // render fillers
-
- if ((led_usb_state.caps_lock) && (keymap_config.nkro)) {
- oled_set_cursor(7, 4);
- oled_write_P(on_on[0], false);
- oled_set_cursor(7, 5);
- oled_write_P(on_on[1], false);
- } else if(keymap_config.nkro) {
- oled_set_cursor(7, 4);
- oled_write_P(on_off[0], false);
- oled_set_cursor(7, 5);
- oled_write_P(on_off[1], false);
- } else if(led_usb_state.caps_lock) {
- oled_set_cursor(7, 4);
- oled_write_P(off_on[0], false);
- oled_set_cursor(7, 5);
- oled_write_P(off_on[1], false);
- } else {
- oled_set_cursor(7, 4);
- oled_write_P(off_off[0], false);
- oled_set_cursor(7, 5);
- oled_write_P(off_off[1], false);
- }
- if ((led_usb_state.num_lock) && (led_usb_state.scroll_lock)) {
- oled_set_cursor(7, 6);
- oled_write_P(on_on[0], false);
- oled_set_cursor(7, 7);
- oled_write_P(on_on[1], false);
- } else if(led_usb_state.num_lock) {
- oled_set_cursor(7, 6);
- oled_write_P(on_off[0], false);
- oled_set_cursor(7, 7);
- oled_write_P(on_off[1], false);
- } else if(led_usb_state.scroll_lock) {
- oled_set_cursor(7, 6);
- oled_write_P(off_on[0], false);
- oled_set_cursor(7, 7);
- oled_write_P(off_on[1], false);
- } else {
- oled_set_cursor(7, 6);
- oled_write_P(off_off[0], false);
- oled_set_cursor(7, 7);
- oled_write_P(off_off[1], false);
- }
-}
-
-
-
-void render_wpm_graph(void) {
- currwpm = get_current_wpm(); //get current WPM value
- if(timer_elapsed(timer) > graph_refresh_interval){ //check if it's been long enough before refreshing graph
- x = 63 - ((currwpm / max_wpm) * 63); // main calculation to plot graph line
- for(int i = 0; i <= graph_line_thickness - 1; i++){ //first draw actual value line
- oled_write_pixel(1, x + i, true);
- }
- if(vert_line){ //then fill in area below the value line
- if(vert_count == vert_interval){
- vert_count = 0;
- while(x <= 63){
- oled_write_pixel(1, x, true);
- x++;
- }
- } else {
- for(int i = 63; i > x; i--){
- if(i % graph_area_fill_interval == 0){
- oled_write_pixel(1, i, true);
- }
- }
- vert_count++;
- }
- } else {
- for(int i = 63; i > x; i--){
- if(i % graph_area_fill_interval == 0){
- oled_write_pixel(1, i, true);
- }
- }
- }
- oled_pan(false); //then move the entire graph one pixel to the right
- timer = timer_read(); //refresh the timer for the next iteration
- }
- char buf[4]; //format current WPM value into a printable string
- oled_set_cursor(14, 0);
- oled_write("WPM:", false);
- buf[0] = currwpm >= 100 ? ((currwpm/100) + '0') : ' ';
- buf[1] = currwpm >= 10 ? (((currwpm/10) % 10) + '0') : ' ';
- buf[2] = (currwpm % 10) + '0';
- buf[3] = 0;
- oled_write(buf, false);
-}
-
-void render_status_main(void) {
- render_qmk_logo();
- render_layers();
- render_mod_state(get_mods());
- render_bootmagic_status();
- render_lock_status();
-
-}
-
-void render_status_secondary(void) {
- render_wpm_graph();
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_status_secondary();
- }
- return false;
-}
-
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/readme.md b/keyboards/splitkb/kyria/keymaps/john-ezra/readme.md
deleted file mode 100644
index 8a3280614b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-### This Keymap uses the nanoBoot bootloader to maximize available firmware space.
-
-As is, the firmware will be too large if using the standard bootloader. Removing `DEBOUNCE_TYPE = sym_eager_pk` from the `rules.mk` should get the size under the limit.
-
-If nanoBoot is not going to be used, delete or comment out the following from your `rules.mk`:
-```make
-BOOTLOADER = hid
-BOOTLOADER_SIZE = 512
-PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
-```
-
-nanoBoot can be found here: [nanoBoot](https://github.com/sigprof/nanoBoot) I used the string-descriptors branch as it was the latest update.
-
-To ISP Flash nanoBoot: `avrdude -p atmega32u4 -c avrisp -U flash:w:/Users/DempseyTech/nanoBoot/nanoBoot.hex:i -P /dev/cu.usbmodem123451 -U lfuse:w:0x7F:m -U hfuse:w:0xD6:m -U efuse:w:0xC7:m`
-
-You will need to change the path in the CLI command to match your file structure.
-
-QMK Toolbox will not recognize controllers using nanoBoot, instead use the CLI to flash.
-
-To Flash: `qmk flash -kb splitkb/kyria/rev1 -km john-ezra -bl hid_bootloader`
diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk b/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk
deleted file mode 100644
index 802e7a0f8a..0000000000
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-OLED_ENABLE = yes # Enables the use of OLED displays
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-NKRO_ENABLE = yes # Enable N-Key Rollover
-ENCODER_ENABLE = no # Disable Rotary Encoder
-SPACE_CADET_ENABLE = no # Disable Space Cadet Shift
-GRAVE_ESC_ENABLE = no # Disable Grave Escape
-MOUSEKEY_ENABLE = no # Disable Mousekeys
-WPM_ENABLE = yes # Enable WPM Counter (Works with default wpm files, but works better with vectorstorm updated wpm.c and wpm.h -> https://github.com/vectorstorm/qmk_firmware/tree/wpm_exact)
-KEY_OVERRIDE_ENABLE = yes # Enable Key Overrides
-CONSOLE_ENABLE = no
-
-DEBOUNCE_TYPE = sym_eager_pk
-
-BOOTLOADER = hid # This Keymap Uses nanoBoot, more info in readme
-BOOTLOADER_SIZE = 512
-PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
-
-SRC += oled.c
diff --git a/keyboards/splitkb/kyria/keymaps/lms_ace01/config.h b/keyboards/splitkb/kyria/keymaps/lms_ace01/config.h
deleted file mode 100644
index 003e21ca5c..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lms_ace01/config.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2021 Luis Moreno <acevice69@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
-
-// Set handedness by EEPROM
-#define EE_HANDS
-
-// Tapping / One Shot settings
-#define TAPPING_TOGGLE 2
-#define TAPPING_TERM 175
-
-#define ONESHOT_TAP_TOGGLE 2
-#define ONESHOT_TIMEOUT 2250
-
-// OLED settings -if applicable-
-#ifdef OLED_DRIVER_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-// Encoder settings -if applicable-
-#ifdef ENCODER_ENABLE
- #define ENCODER_RESOLUTION 4
-#endif
-
-// RGB settings -if applicable-
-#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_EFFECT_BREATHING
-
-#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
-#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#undef RGBLIGHT_EFFECT_SNAKE
-#undef RGBLIGHT_EFFECT_KNIGHT
-#undef RGBLIGHT_EFFECT_CHRISTMAS
-#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
-#undef RGBLIGHT_EFFECT_RGB_TEST
-#undef RGBLIGHT_EFFECT_ALTERNATING
-#undef RGBLIGHT_EFFECT_TWINKLE
-
- #define RGBLIGHT_HUE_STEP 2
- #define RGBLIGHT_SAT_STEP 2
- #define RGBLIGHT_VAL_STEP 2
- #define RGBLIGHT_LIMIT_VAL 230
-
- #define RGBLIGHT_SLEEP
- #define RGBLIGHT_SPLIT
-
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_BREATHING + 2
- #define RGBLIGHT_DEFAULT_HUE 201
- #define RGBLIGHT_DEFAULT_SAT 255
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c b/keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c
deleted file mode 100644
index 6e709b01a6..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c
+++ /dev/null
@@ -1,852 +0,0 @@
-/* Copyright 2021 Luis Moreno <acevice69@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap_spanish.h"
-
-// Insert key state definition (Insert/Overwrite Mode)
-static bool ins_state = true;
-
-// Git Commands
-static const char *sendstring_commands[] = {
- // Config
- "config //global",
-
- // Create
- "init",
- "clone",
-
- // Local changes
- "status",
- "diff",
- "add",
- "rm",
- "mv",
- "commit",
- "stash",
- "reset",
- "revert",
-
- // Branches and Tags
- "branch /b @",
- "switch",
- "checkout",
- "tag",
-
- // Update & Publish
- "remote",
- "fetch",
- "pull",
- "push",
-
- // Merge & Rebase
- "merge",
- "rebase",
-
- // Commit history
- "logg"
-};
-
-// Layers definition
-enum layers {
- _QWERTY_ES,
- _COLEMAK_ES,
- _SYMBOL,
- _FN_NUMPAD,
- _NAVIGATION,
- _GIT_CMDS,
- _SETTINGS
-};
-
-// Encoder Modes definition
-#ifdef ENCODER_ENABLE
-#define ENC_ALT_MAX_TIME 1250
-
-typedef enum {
- ENC_MODE_CHAR_LINE,
- ENC_MODE_WORD_PAGE,
- ENC_MODE_TABBING,
- ENC_MODE_VOLUME,
- ENC_MODE_LAST
-} encoder_mode_t;
-
-static encoder_mode_t enc_mode;
-
-void encoder_cycle_mode(bool up);
-#endif
-
-// Tap Dance declarations/definitions
-#ifdef TAP_DANCE_ENABLE
-#define ACTION_TAP_DANCE_FN_ADVANCED_USER(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, user_user_data) \
- { .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset}, .user_data = (void *)user_user_data, }
-
-#define MAX_MOD 3 // Max number of modifiers: 0-Base, 1-Shift, 2-Ctrl
-
-typedef enum {
- TD_NONE,
- TD_UNKNOWN,
- TD_SINGLE_TAP,
- TD_SINGLE_HOLD,
- TD_DOUBLE_TAP
-} td_state_t;
-
-typedef struct {
- bool is_press_action;
- td_state_t state;
-} td_tap_t;
-
-typedef struct {
- uint16_t keycode; // Keycode:
- // - Tap if keycode != KC_NO
- uint8_t layer[MAX_MOD]; // Layer with modifiers (0-Base, 1-Shift, 2-Ctrl):
- // - Tap if keycode == KC_NO
- // - Single Hold: Activate while holding
- // - Double Tap: (Un)lock Layer
-} td_user_data_t;
-
-enum td_actions {
- TAB,
- ESC,
- SPC,
- ENT,
- LWR,
- RAI
-};
-
-static td_tap_t td_tap_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-td_state_t td_current (tap_dance_state_t *state);
-void td_kc_ly_finished(tap_dance_state_t *state, void *user_data);
-void td_kc_ly_reset (tap_dance_state_t *state, void *user_data);
-
-tap_dance_action_t tap_dance_actions[] = {
- [TAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_CAPS),
- [ESC] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset,
- &((td_user_data_t) { KC_ESC, { _NAVIGATION, _QWERTY_ES, _QWERTY_ES }})),
- [SPC] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset,
- &((td_user_data_t) { KC_SPC, { _SYMBOL , _QWERTY_ES, _QWERTY_ES }})),
- [ENT] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset,
- &((td_user_data_t) { KC_ENT, { _SYMBOL , _QWERTY_ES, _QWERTY_ES }})),
- [LWR] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset,
- &((td_user_data_t) { KC_NO, { _NAVIGATION, _GIT_CMDS , _QWERTY_ES }})),
- [RAI] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset,
- &((td_user_data_t) { KC_NO, { _FN_NUMPAD , _GIT_CMDS , _QWERTY_ES }}))
-};
-#endif
-
-// Keycode definitions
-enum custom_keycodes {
- CK_QUOT = SAFE_RANGE, // Single/Double quote
- CK_BSDI, // Backspace/Delete/Insert
- CK_ENCM, // Encoder Mode (-)
- CK_ENCP, // Encoder Mode (+)
- CK_LYDF, // Activate Default Layer
- G_CONF, // Git Commands
- G_INIT,
- G_CLONE,
- G_STAT,
- G_DIFF,
- G_ADD,
- G_RM,
- G_MV,
- G_COMM,
- G_STASH,
- G_RESET,
- G_REVER,
- G_BRANC,
- G_SWTCH,
- G_CHECK,
- G_TAG,
- G_REMOT,
- G_FETCH,
- G_PULL,
- G_PUSH,
- G_MERGE,
- G_REBAS,
- G_LOG
-};
-
-#define LY_QWES DF(_QWERTY_ES)
-#define LY_CLES DF(_COLEMAK_ES)
-
-#ifdef TAP_DANCE_ENABLE
- #define TD_TBCP TD(TAB)
- #define TD_ESSY TD(ESC)
- #define TD_SPSY TD(SPC)
- #define TD_ENSY TD(ENT)
- #define TD_LOWR TD(LWR)
- #define TD_RAIS TD(RAI)
-#else
- #define TD_TBCP MT(MOD_LSFT, KC_TAB)
- #define TD_ESSY LT(_SYMBOL , KC_ESC)
- #define TD_SPSY KC_SPC
- #define TD_ENSY KC_ENT
- #define TD_LOWR TT(_NAVIGATION)
- #define TD_RAIS TT(_SYMBOL)
-#endif
-
-#define MO_LSFT OSM(MOD_LSFT)
-#define MO_LCTL OSM(MOD_LCTL)
-#define MO_LALT OSM(MOD_LALT)
-
-#define MT_RGUI MT(MOD_RGUI, KC_LEFT)
-#define MT_RALT MT(MOD_RALT, KC_DOWN)
-#define MT_RCTL MT(MOD_RCTL, KC_UP)
-#define MT_RSFT MT(MOD_RSFT, KC_RGHT)
-
-// Keymap definitions
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// clang-format off
-/*
- * Basic characters (QWERTY ES)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * |Esc/LNav| Q | W | E | R | T | | Y | U | I | O | P |BS/Dl/In|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Tab/Caps| A | S | D | F | G | | H | J | K | L | Ñ | ´ ¨ |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |EncMode-| Z | X | C | V | B | LGit | | | | LGit | N | M | , ; | . : | - _ |EncMode+|
- * `-------------------------------------------| LNav | Space| | Enter|LFnNum|-------------------------------------------'
- * +--------------------+------+ / | | / +------+--------------------+
- * | Shift| Ctrl | Alt | GUI | LSym | | LSym | GUI | AltGr| Ctrl | Shift|
- * | | | | | | | | <- | v | ^ | -> |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY_ES] = LAYOUT(
- TD_ESSY, ES_Q, ES_W, ES_E, ES_R, ES_T, ES_Y, ES_U, ES_I, ES_O, ES_P, CK_BSDI,
- TD_TBCP, ES_A, ES_S, ES_D, ES_F, ES_G, ES_H, ES_J, ES_K, ES_L, ES_NTIL, ES_ACUT,
- CK_ENCM, ES_Z, ES_X, ES_C, ES_V, ES_B, TD_LOWR, XXXXXXX, XXXXXXX, TD_RAIS, ES_N, ES_M, ES_COMM, ES_DOT, ES_MINS, CK_ENCP,
- MO_LSFT, MO_LCTL, MO_LALT, KC_LGUI, TD_SPSY, TD_ENSY, MT_RGUI, MT_RALT, MT_RCTL, MT_RSFT
- ),
-/*
- * Basic characters (COLEMAK ES)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * |Esc/LNav| Q | W | F | P | G | | J | L | U | Y | Ñ |BS/Dl/In|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Tab/Caps| A | R | S | T | D | | H | N | E | I | O | ´ ¨ |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |EncMode-| Z | X | C | V | B | LGit | | | | LGit | K | M | , ; | . : | - _ |EncMode+|
- * `-------------------------------------------| LNav | Space| | Enter|LFnNum|-------------------------------------------'
- * +--------------------+------+ / | | / +------+--------------------+
- * | Shift| Ctrl | Alt | GUI | LSym | | LSym | GUI | AltGr| Ctrl | Shift|
- * | | | | | | | | <- | v | ^ | -> |
- * `----------------------------------' `----------------------------------'
- */
- [_COLEMAK_ES] = LAYOUT(
- TD_ESSY, ES_Q, ES_W, ES_F, ES_P, ES_G, ES_J, ES_L, ES_U, ES_Y, ES_NTIL, CK_BSDI,
- TD_TBCP, ES_A, ES_R, ES_S, ES_T, ES_D, ES_H, ES_N, ES_E, ES_I, ES_O, ES_ACUT,
- CK_ENCM, ES_Z, ES_X, ES_C, ES_V, ES_B, TD_LOWR, XXXXXXX, XXXXXXX, TD_RAIS, ES_K, ES_M, ES_COMM, ES_DOT, ES_MINS, CK_ENCP,
- MO_LSFT, MO_LCTL, MO_LALT, KC_LGUI, TD_SPSY, TD_ENSY, MT_RGUI, MT_RALT, MT_RCTL, MT_RSFT
- ),
-/*
- * Symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 ! | 2 " | 3 · | 4 $ | 5 % | | 6 & | 7 / | 8 ( | 9 ) | 0 = | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | ¡ ¿ | ' " | º ª | \ | | ¡ | | ~ $ | + * | - _ | / | ' ? | ` ^ |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | @ ⅛ | { | ( | [ ° | < > | | | | | | > | ] ¯ | ) | } ˘ | # £ | |
- * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYMBOL] = LAYOUT(
- _______, ES_1, ES_2, ES_3, ES_4, ES_5, ES_6, ES_7, ES_8, ES_9, ES_0, _______,
- _______, ES_IEXL, CK_QUOT, ES_MORD, ES_BSLS, ES_PIPE, ES_TILD, ES_PLUS, ES_MINS, ES_SLSH, ES_QUOT, ES_GRV,
- _______, ES_AT, ES_LCBR, ES_LPRN, ES_LBRC, ES_LABK, _______, XXXXXXX, XXXXXXX, _______, ES_RABK, ES_RBRC, ES_RPRN, ES_RCBR, ES_HASH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Function keys, NumPad keys
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | | | , ; | 7 / | 8 ( | 9 ) | * | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | F5 | F6 | F7 | F8 | | | . : | 4 $ | 5 % | 6 & | - _ | + * |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | F9 | F10 | F11 | F12 | | | | | | | 0 = | 1 ! | 2 " | 3 · | / | |
- * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_FN_NUMPAD] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, ES_COMM, ES_7, ES_8, ES_9, ES_ASTR, _______,
- _______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, ES_DOT, ES_4, ES_5, ES_6, ES_MINS, ES_PLUS,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, ES_0, ES_1, ES_2, ES_3, ES_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Navigation (Mouse deactivated for space saving)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | MBt1 | MUp | MBt2 | | | PgUp | Home | Up | End | PgUp | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Menu | MLeft| MDown|MRight| | | PgDn | Left | Down | Right| PgDn | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | |PrtScr|ScrLck| Pause| | |
- * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAVIGATION] = LAYOUT(
- _______, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
- _______, KC_APP, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Git Commands
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | |Config| | | Init | | | | Clone| | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Diff | Add | Rm | Mv | | |Remote| Fetch| Pull | Push | Merge| Rebase |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | |Commit| Stash| Reset|Revert|Status| | | | | | Log |Branch|Switch|ChkOut| Tag | |
- * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_GIT_CMDS] = LAYOUT(
- _______, G_CONF, XXXXXXX, XXXXXXX, G_INIT, XXXXXXX, XXXXXXX, G_CLONE, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, G_DIFF, G_ADD, G_RM, G_MV, XXXXXXX, G_REMOT, G_FETCH, G_PULL, G_PUSH, G_MERGE, G_REBAS,
- _______, G_COMM, G_STASH, G_RESET, G_REVER, G_STAT, _______, XXXXXXX, XXXXXXX, _______, G_LOG, G_BRANC, G_SWTCH, G_CHECK, G_TAG, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Settings (Default Layer, RGB, Media)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | |QWE_ES|CLM_ES| | | | | | | Vol+ | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | TOG | HUE+ | SAT+ | VAL+ | MOD | | Mute | Prev | Play | Next | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LDef | | HUE- | SAT- | VAL- | RMOD | | | | | | | | Vol- | | | LDef |
- * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SETTINGS] = LAYOUT(
- _______, LY_QWES, LY_CLES, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- CK_LYDF, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, CK_LYDF,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+ | | +------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-// clang-format on
-
-/*
- * INITIALIZING FUNCTIONS
- */
-void matrix_init_user(void) {
-#ifdef ENCODER_ENABLE
- enc_mode = ENC_MODE_CHAR_LINE;
-#endif
-}
-
-/*
- * LAYER FUNCTIONS
- */
-layer_state_t layer_state_set_user(layer_state_t state) {
- // Activate Settings layer when both Symbol and Navigation layers are on
- return update_tri_layer_state(state, _SYMBOL, _NAVIGATION, _SETTINGS);
-}
-
-/*
- * MACRO FUNCTIONS
- */
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // Get current modifier status (Normal and One Shot)
- uint8_t mod_state = get_mods();
- uint8_t osm_state = get_oneshot_mods();
-
- // Process keycode
- switch (keycode) {
- case CK_QUOT: // Single/Double Quote
- if (record->event.pressed) {
- if ((mod_state | osm_state) & MOD_MASK_SHIFT) {
- register_code(ES_2); // Shift(2) -> "
- } else {
- register_code(ES_QUOT); // Single Quote -> '
- }
- } else {
- if ((mod_state | osm_state) & MOD_MASK_SHIFT) {
- unregister_code(ES_2); // Shift(2) -> "
- } else {
- unregister_code(ES_QUOT); // Single Quote -> '
- }
- }
-
- return false;
- break;
- case CK_BSDI: { // Backspace/Delete/Insert
- static bool delkey_registered = false;
-
- if (record->event.pressed) {
- // Ctrl -> Insert/Overwrite Mode
- // Shift -> Delete
- // Normal -> Backspace
- if ((mod_state | osm_state) & MOD_MASK_CTRL) {
- del_mods(MOD_MASK_CTRL);
- del_oneshot_mods(MOD_MASK_CTRL);
-
- tap_code(KC_INS);
-
- set_mods(mod_state);
- set_oneshot_mods(osm_state);
-
- ins_state = !ins_state;
- } else if ((mod_state | osm_state) & MOD_MASK_SHIFT) {
- delkey_registered = true;
-
- del_mods(MOD_MASK_SHIFT);
- del_oneshot_mods(MOD_MASK_SHIFT);
-
- register_code(KC_DEL);
-
- set_mods(mod_state);
- set_oneshot_mods(osm_state);
- } else {
- register_code(KC_BSPC);
- }
- } else {
- // Unregister keycode sent after the release of CK_BSDI
- if (delkey_registered) {
- unregister_code(KC_DEL);
- delkey_registered = false;
- } else {
- unregister_code(KC_BSPC);
- }
- }
-
- return false;
- }
- break;
- case CK_LYDF: // De-activate all layers and activate Default layer
- layer_move(get_highest_layer(default_layer_state));
-
- return false;
- break;
- case G_CONF ... G_LOG:
- if (record->event.pressed) {
- del_mods(MOD_MASK_SHIFT);
- del_oneshot_mods(MOD_MASK_SHIFT);
-
- SEND_STRING("git ");
- send_string(sendstring_commands[keycode - G_CONF]);
-
- set_mods(mod_state);
- set_oneshot_mods(osm_state);
- }
-
- break;
-#ifdef ENCODER_ENABLE
- case CK_ENCM: // Encoder Mode (-)
- if (record->event.pressed) {
- encoder_cycle_mode(false);
- }
-
- break;
- case CK_ENCP: // Encoder Mode (+)
- if (record->event.pressed) {
- encoder_cycle_mode(true);
- }
-
- break;
-#endif
- }
-
- return true;
-};
-
-/*
- * TAP DANCE FUNCTIONS
- */
-#ifdef TAP_DANCE_ENABLE
-td_state_t td_current(tap_dance_state_t *state) {
- switch (state->count) {
- case 1:
- return ((!state->pressed) ? TD_SINGLE_TAP : TD_SINGLE_HOLD);
- case 2:
- return TD_DOUBLE_TAP;
- default:
- return TD_UNKNOWN;
- }
-}
-
-void td_kc_ly_finished(tap_dance_state_t *state, void *user_data) {
- td_tap_state.state = td_current(state);
- uint16_t keycode = ((td_user_data_t *)user_data)->keycode;
- uint8_t *layer_arr = ((td_user_data_t *)user_data)->layer;
- uint8_t layer_sel = *(layer_arr + 0);
-
- // Get current modifier status (Normal and One Shot) and select layer
- uint8_t mod_state = get_mods();
- uint8_t osm_state = get_oneshot_mods();
-
- if ((mod_state | osm_state) & MOD_MASK_SHIFT) {
- if (*(layer_arr + 1) > _QWERTY_ES) {
- layer_sel = *(layer_arr + 1);
- }
- }
-
- if ((mod_state | osm_state) & MOD_MASK_CTRL) {
- if (*(layer_arr + 2) > _QWERTY_ES) {
- layer_sel = *(layer_arr + 2);
- }
- }
-
- switch (td_tap_state.state) {
- case TD_NONE:
- case TD_UNKNOWN:
- break;
- case TD_SINGLE_TAP:
- // Send keycode if available
- // Otherwise, Lock Layer (Base/Shift/Ctrl) and Unlock rest of selectable layers
- if (keycode != KC_NO) {
- tap_code(keycode);
- } else {
- uint8_t layer_aux;
-
- for (layer_aux = _GIT_CMDS; layer_aux >= _SYMBOL; layer_aux--) {
- if ((layer_aux == layer_sel) && (!layer_state_is(layer_aux))) {
- layer_on(layer_aux);
- } else {
- layer_off(layer_aux);
- }
- }
- }
-
- break;
- case TD_SINGLE_HOLD:
- // Lock Layer (Base/Shift/Ctrl) while Single Hold on the way
- layer_on(layer_sel);
- break;
- case TD_DOUBLE_TAP:
- // (Un)lock Layer (Base/Shift/Ctrl)
- if (layer_state_is(layer_sel)) {
- layer_off(layer_sel);
- } else {
- layer_on(layer_sel);
- }
-
- break;
- }
-}
-
-void td_kc_ly_reset(tap_dance_state_t *state, void *user_data) {
- uint8_t *layer_arr = ((td_user_data_t *)user_data)->layer;
-
- if (td_tap_state.state == TD_SINGLE_HOLD) {
- // Unlock any Layer (Base/Shift/Ctrl) when Single Hold finalizes
- uint8_t i;
- uint8_t layer_aux;
-
- for (i = 0; i < MAX_MOD; i++) {
- layer_aux = *(layer_arr + i);
-
- if ((layer_aux > _QWERTY_ES)) {
- layer_off(layer_aux);
- }
- }
- }
-
- td_tap_state.state = TD_NONE;
-}
-#endif
-
-/*
- * OLED FUNCTIONS
- */
-#ifdef OLED_DRIVER_ENABLE
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0x78, 0x38, 0x1c, 0x1e, 0x0e,
- 0x8e, 0x86, 0x86, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x86,
- 0x86, 0x8e, 0x0e, 0x1e, 0x1c, 0x38, 0x78, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xe0, 0xf0, 0xfc, 0x3e, 0x0f, 0x07, 0x83, 0xe1, 0xf0, 0xf8, 0xbc, 0x9e, 0x8f, 0x87,
- 0x87, 0x83, 0x81, 0x81, 0xe0, 0x78, 0x1f, 0x07, 0xff, 0xff, 0x07, 0x1f, 0x78, 0xe0, 0x81, 0x81,
- 0x83, 0x87, 0x87, 0x8f, 0x9e, 0xbc, 0xf8, 0xf0, 0xe1, 0x83, 0x07, 0x0f, 0x3e, 0xfc, 0xf0, 0xe0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xfc, 0xff, 0x03, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x07, 0x07, 0x3f, 0x73, 0xc7, 0x8f, 0x8d,
- 0x89, 0x99, 0x99, 0xb1, 0xf7, 0xee, 0xf8, 0xf0, 0xff, 0xff, 0xf0, 0xf8, 0xee, 0xf7, 0xb1, 0x99,
- 0x99, 0x89, 0x8d, 0x8f, 0xc7, 0x73, 0x3f, 0x07, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x03, 0xff,
- 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0xe0, 0xfc, 0xce, 0xe3, 0xf1, 0xb1,
- 0x91, 0x99, 0x99, 0x8d, 0xef, 0x77, 0x1f, 0x0f, 0xff, 0xff, 0x0f, 0x1f, 0x77, 0xef, 0x8d, 0x99,
- 0x99, 0x91, 0xb1, 0xf1, 0xe3, 0xce, 0xfc, 0xe0, 0xe0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xc0, 0xff,
- 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x0f, 0x3f, 0x7c, 0xf0, 0xe0, 0xc1, 0x87, 0x0f, 0x1f, 0x3d, 0x79, 0xf1, 0xe1,
- 0xe1, 0xc1, 0x81, 0x81, 0x07, 0x1e, 0xf8, 0xe0, 0xff, 0xff, 0xe0, 0xf8, 0x1e, 0x07, 0x81, 0x81,
- 0xc1, 0xe1, 0xe1, 0xf1, 0x79, 0x3d, 0x1f, 0x0f, 0x87, 0xc1, 0xe0, 0xf0, 0x7c, 0x3f, 0x0f, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1e, 0x1c, 0x38, 0x78, 0x70,
- 0x71, 0x61, 0x61, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x61,
- 0x61, 0x71, 0x70, 0x78, 0x38, 0x1c, 0x1e, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0xfe, 0xfe, 0xc6, 0xe0, 0xf0, 0x70, 0x30, 0x10, 0x00, 0x70,
- 0xf0, 0xf0, 0x80, 0x00, 0xc0, 0xf0, 0xf0, 0x70, 0x10, 0xc0, 0xf0, 0xf0, 0xf0, 0x70, 0x30, 0x30,
- 0x30, 0xc0, 0xf6, 0xf6, 0xf6, 0x06, 0x00, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xf0, 0xf0, 0xe0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x1f, 0x1f, 0x1f, 0x03, 0x0f, 0x1f, 0x1e, 0x18, 0x10, 0x00, 0xc0, 0xc0,
- 0xe7, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x01, 0x00, 0x18, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x1f, 0x1f, 0x1f, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x19, 0x0d, 0x1f, 0x1f, 0x1f, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
- 0
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // Get current modifier status (Normal and One Shot)
- uint8_t mod_state = get_mods();
- uint8_t osm_state = get_oneshot_mods();
- uint8_t osl_state = get_oneshot_locked_mods();
- bool caps_lock = host_keyboard_led_state().caps_lock;
-
- // QMK Logo
- render_qmk_logo();
-
-#ifdef ENCODER_ENABLE
- // Host Keyboard Encoder Mode
- switch (enc_mode) {
- case ENC_MODE_CHAR_LINE:
- oled_write_P(PSTR("ENC \020 CHAR/LINE\n"), false);
- break;
- case ENC_MODE_WORD_PAGE:
- oled_write_P(PSTR("ENC \020 WORD/PAGE\n"), false);
- break;
- case ENC_MODE_TABBING:
- oled_write_P(PSTR("ENC \020 TABBING\n"), false);
- break;
- case ENC_MODE_VOLUME:
- case ENC_MODE_LAST:
- oled_write_P(PSTR("ENC \020 VOLUME\n"), false);
- break;
- }
-#else
- oled_write_P(PSTR("\n"), false);
-#endif
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("\n"), false);
-
- switch (get_highest_layer(layer_state)) {
- case _QWERTY_ES:
- oled_write_P(PSTR("L00 \020 QWERTY (ES)\n"), false);
- break;
- case _COLEMAK_ES:
- oled_write_P(PSTR("L00 \020 COLEMAK (ES)\n"), false);
- break;
- case _SYMBOL:
- oled_write_P(PSTR("L01 \020 SYMBOLS\n"), false);
- break;
- case _FN_NUMPAD:
- oled_write_P(PSTR("L02 \020 FN / NUMPAD\n"), false);
- break;
- case _NAVIGATION:
- oled_write_P(PSTR("L03 \020 NAVIGATION\n"), false);
- break;
- case _GIT_CMDS:
- oled_write_P(PSTR("L04 \020 GIT COMMANDS\n"), false);
- break;
- case _SETTINGS:
- oled_write_P(PSTR("L05 \020 SETTINGS\n"), false);
- break;
- }
-
- // Host Keyboard Locked Modifiers Status
- oled_write_P((osl_state & MOD_MASK_SHIFT) ? PSTR("LCK ") : PSTR(" ") , false);
- oled_write_P((osl_state & MOD_MASK_CTRL) ? PSTR("LCK ") : PSTR(" ") , false);
- oled_write_P((osl_state & MOD_MASK_ALT) ? PSTR("LCK ") : PSTR(" ") , false);
- oled_write_P( PSTR(" ") , false);
- oled_write_P((caps_lock) ? PSTR(" CAPS") : PSTR(" "), false);
-
- // Host Keyboard Modifiers Status
- oled_write_P(((mod_state | osm_state) & MOD_MASK_SHIFT) ? PSTR("SHF ") : PSTR(" ") , false);
- oled_write_P(((mod_state | osm_state) & MOD_MASK_CTRL) ? PSTR("CTR ") : PSTR(" ") , false);
- oled_write_P(((mod_state | osm_state) & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR(" ") , false);
- oled_write_P(((mod_state | osm_state) & MOD_MASK_GUI) ? PSTR("GUI ") : PSTR(" ") , false);
- oled_write_P((ins_state) ? PSTR(" INS") : PSTR(" OWR"), false);
-}
-
-static void render_settings(void) {
-#ifdef RGBLIGHT_ENABLE
- char rgb_str[4];
-
- oled_write_P(PSTR("\n\n"), false);
-
- oled_write_P(PSTR("\020H: "), false);
- itoa(rgblight_get_hue(), rgb_str, 10);
- oled_write_ln(rgb_str, false);
-
- oled_write_P(PSTR("\020S: "), false);
- itoa(rgblight_get_sat(), rgb_str, 10);
- oled_write_ln(rgb_str, false);
-
- oled_write_P(PSTR("\020V: "), false);
- itoa(rgblight_get_val(), rgb_str, 10);
- oled_write_ln(rgb_str, false);
-#else
- oled_write_P(PSTR("\n\n\n\n\n"), false);
-#endif
-
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY_ES:
- oled_write_ln_P(PSTR(" \020QWERTY (ES)") , false);
- break;
- case _COLEMAK_ES:
- oled_write_P (PSTR(" \020COLEMAK (ES)"), false);
- break;
- }
-
-#ifdef RGBLIGHT_ENABLE
- oled_write_ln_P(PSTR(" RGB DEFAULT"), false);
- oled_write_ln_P(PSTR("SETTINGS LAYER "), false);
-#else
- oled_write_ln_P(PSTR(" DEFAULT"), false);
- oled_write_ln_P(PSTR(" LAYER "), false);
-#endif
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-void oled_task_user(void) {
- if (is_keyboard_master()) { // Main screen: Renders keyboard state (layer, modifiers) / RGB settings
- if (get_highest_layer(layer_state) != _SETTINGS) {
- render_status();
- } else {
- render_settings();
- }
- } else { // Auxiliar screen: Renders Kyria logo with scroll
- render_kyria_logo();
- oled_scroll_right();
- }
-}
-#endif
-
-/*
- * ENCODER FUNCTIONS
- */
-#ifdef ENCODER_ENABLE
-void encoder_cycle_mode(bool up) {
- if (enc_mode == 0 && !up) {
- enc_mode = ENC_MODE_LAST - 1;
- } else {
- enc_mode = (enc_mode + (up ? +1 : -1)) % ENC_MODE_LAST;
- }
-}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- // Select encoder mode
- switch (enc_mode) {
- case ENC_MODE_CHAR_LINE:
- // Left Encoder: Character Left/Right. Right Encoder: Line Up/Down.
- tap_code(!clockwise ? (index == 0 ? KC_LEFT : KC_UP): (index == 0 ? KC_RGHT : KC_DOWN));
- break;
- case ENC_MODE_WORD_PAGE:
- // Left Encoder: Word Left/Right. Right Encoder: Page Up/Down.
- tap_code16(!clockwise ? (index == 0 ? C(KC_LEFT) : KC_PGUP): (index == 0 ? C(KC_RGHT) : KC_PGDN));
- break;
- case ENC_MODE_TABBING:
- // Left Encoder: Navigation Tabbing. Right Encoder: Editor Tabbing.
- tap_code16(!clockwise ? (index == 0 ? S(C(KC_TAB)) : C(KC_PGUP)): (index == 0 ? C(KC_TAB) : C(KC_PGDN)));
- break;
- case ENC_MODE_VOLUME:
- case ENC_MODE_LAST:
- // Volume control
- tap_code(clockwise ? KC_VOLU : KC_VOLD);
- break;
- }
-
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/lms_ace01/readme.md b/keyboards/splitkb/kyria/keymaps/lms_ace01/readme.md
deleted file mode 100644
index aae1260ffb..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lms_ace01/readme.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# AceVice One's Keymap for [Kyria](https://github.com/splitkb/kyria)
-
-## Introduction
-
-This is my first personal keymap for Kyria with a little bunch of *steroids*.
-
-The hardware build implements 2 rotatory encoders and 2 OLED displays.
-
-## Features
-
-These are some of the generic features built in:
-
-- Two alternative default character distributions (**QWERTY**, **COLEMAK**) with *Spanish* layout.
-- Layer selection on some keys (**Esc**, **Lower**, **Space**, **Enter**, **Raise**).
-- Multiple selectable layers:
- - **Symbols**: Numbers on top row, common programming symbols (curly, square and angle brackets, parentheses, at and hash) on bottom row with symmetric distribution (open on left, close on right).
- - **Function**/**Numpad**: Function keys on left side, Number Pad on right side.
- - **Navigation**: Mouse keys on left side, Navigation keys on right side.
- - **Git commands**: The most common and useful Git commands at your fingertips.
- - **Settings**: Select default distribution, Media keys, RGB settings.
-- Symmetric design -left/right side- for modifiers (**Shift**, **Ctrl**, **Alt** and **GUI**).
-- **Arrows**/**Modifiers** on same keys (right side).
-- **Tab**/**Caps Lock** key.
-- **Backspace**/**Delete** with **Insert**/**Overwrite** selectable mode on same key.
-- **Single/Double Quote** (`' "`) on same key as English layouts.
-- Handedness set by EEPROM.
-- Mouse Keys has been disabled by default for space saving (Pro Micro controller limit).
-
-Some of the more specific features are described below:
-
-### Tap Dance
-
-- Use of `ACTION_TAP_DANCE_DOUBLE()` for **Tab**/**Caps Lock** key.
-- Implementation of new `ACTION_TAP_DANCE_FN_ADVANCED_USER()` function:
- - Any user data can be sent to personalized functions.
- - Generalized design makes action reuse easy.
- - User can tap a keycode and/or layer selection (single tap, single hold, double tap) depending on modifiers (**None**, **Shift**, **Ctrl**).
-
-### OLEDs
-
-Master-side OLED displays dynamic data:
-
-- Current layer.
-- Modifiers state (lock mode included).
-- Caps Lock state.
-- Insert/Overwrite state.
-
-Slave-side OLED displays horizontal scrolling Kyria logo.
-
-### Rotary Encoders
-
-Encoders click buttons for mode changing. Supported modes are:
-
-- Character Left / Right, Line Up / Down.
-- Word Left / Right, Page Up / Down.
-- Tabbing Left / Right (Navigator, Editor).
-- Volume Up / Down.
-
-## TODO list
-
-- [x] Show modifiers in OLED when triggered as One Shot keys
-- [x] Manage Backspace key with dual funcion (Delete when shifted)
-- [x] OLED modifier status bar one line down
-- [x] Show INS/OWR Mode in right OLED
-- [x] Show RGB Led Settings on OLED when Settings layer on
-- [x] Show Locked Modifiers (Shift, Control, Alt, GUI)
-- [x] Arrow keys on right modifier keys
-- [x] Improve Esc/Layer Symbol: Tap -> Keycode, Hold -> Momentary Layer, Double Tap -> Toggler Layer
-- [x] Check transparent keys on all layers (avoid collateral effects)
-- [x] Add "Print Screen" / "Scroll Lock" / "Pause Break" keys on Navigation layer
-- [x] Add Basic characters layers: COLEMAK (ES)
-- [x] Create custom keycode with quotes (single/double) for ES layout
-- [x] Add Tap-Dance actions for keycodes (Tab, Space, Enter) and layer selection
-- [x] Add Git commands to some layer
-- [x] Disable Mouse Keys (saving space)
-- [x] Settings Layer not accesible
-- [x] Layer buttons with double/triple function (Normal/Shift/Control mode)
-- [x] Tab/Caps Lock on same key (single/double tap)
-- [x] Backspace/Delete/Insert on same key (Normal/Shift/Ctrl)
-- [x] Separate default layer from RGB settings rendering for conditional compiling
-- [x] Encoders: Improve with more functionality (modes)
-- [ ] Encoders: Add mode for navigation through windows (applications)
-- [ ] Show more info about RGB Led Settings (On/Off, Animation, ...)
-- [ ] Activate "Nums Lock" when Fn/NumPad layer locked
-- [ ] Show status indicator when locked layer
-- [ ] Set RGB Led Color by selected Layer (activable)
-- [ ] Add more uses for left OLED
-- [ ] Something strange returning from One Shot hold
-
-## Acknowledgements
-
-Thanks to the entire QMK community for your invaluable help.
diff --git a/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk b/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk
deleted file mode 100644
index 61577a39a5..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-BOOTLOADER = caterina # Pro Micro bootloader
-
-TAP_DANCE_ENABLE = yes # Enable Tap Dance
-
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-
-MOUSEKEY_ENABLE = no # Disable mouse (saving space)
diff --git a/keyboards/splitkb/kyria/keymaps/lw/config.h b/keyboards/splitkb/kyria/keymaps/lw/config.h
deleted file mode 100644
index efacab2ffe..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lw/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2022 Lucas Waelti (@LucasWaelti)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-// #define SPLIT_USB_DETECT
-// #define NO_USB_STARTUP_CHECK
-
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE // support for Linux and Windows unicode
diff --git a/keyboards/splitkb/kyria/keymaps/lw/keymap.c b/keyboards/splitkb/kyria/keymaps/lw/keymap.c
deleted file mode 100644
index 8cc29c8463..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lw/keymap.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/* Copyright 2022 Lucas Waelti (@LucasWaelti)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#include <keymap_us_international.h>
-// US_ACUT KC_QUOT // ´ (dead)
-// US_DGRV KC_GRV // ` (dead)
-// US_DCIR S(US_6) // ^ (dead)
-// US_DIAE S(US_ACUT) // ¨ (dead)
-
-enum layers {
- _QWERTZ = 0, // base text layer
- _SYM, // symbol layer
- _NAV, // navigation layer + accents
-};
-
-enum unicode_names {
- APOST,
- QUOTE,
- CIRCUM,
- GRAVE,
- ACUTE,
- UMLAUT,
- CEDIL_MAJ,
- CEDIL,
- SECTION,
- DEGREE,
-};
-
-const uint32_t unicode_map[] PROGMEM = {
- [APOST] = 0x0027, // '
- [QUOTE] = 0x0022, // "
- [ACUTE] = 0x00B4, // ´
- [GRAVE] = 0x0060, // `
- [CIRCUM] = 0x005E, // ^
- [UMLAUT] = 0x00A8, // ¨
- [CEDIL_MAJ] = 0x00C7, // Ç
- [CEDIL] = 0x00E7, // ç
- [SECTION] = 0x00A7, // §
- [DEGREE] = 0x00B0, // °
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/*
- * 0. Base Layer: QWERTZ
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Esc | Q | W | E | R | T | | Z | U | I | O | P | Del |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ' " | BkSpace|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Y | X | C | V | B | \ | | ` ~ | | ( | ) | N | M | , < | . > | ; : | CpLock |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |LCtrl | LGUI | LAlt | Space| MO(1)| | MO(2)| Enter| - _ | ! | / ? |
- * | | | | | | | |/shift| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTZ] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, 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, UP(APOST,QUOTE), KC_BSPC, // UP(APOST,QUOTE) or KC_QUOT
- KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_BSLS, KC_GRV, KC_LPRN, KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), SC_SENT, KC_MINS, KC_EXLM, KC_SLSH
- ),
-
-// /*
-// * 1. Sym Layer: Numbers and symbols (DEPRECATED)
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | . | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | LAlt | ? | ! | @ | # | < | [ | { | | } | ] | > | ^ | / | * | - | + |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | $ | % | & | | MO(1)| | MO(2)| RAlt | ~ | _ | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_SYM] = LAYOUT(
-// KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
-// KC_DOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PEQL,
-// KC_LALT, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_LT, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_GT, KC_CIRC, KC_PSLS, KC_ASTR, KC_PMNS, KC_PLUS,
-// KC_DLR, KC_PERC, KC_AMPR, _______, MO(1), MO(2), KC_RALT, KC_TILD, KC_UNDS, KC_PIPE
-// ),
-
-/*
- * 1. Sym Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | F1 | F2 | F3 | F4 | LAlt | PASTE| | , | 7 | 8 | 9 | * | / |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | F5 | F6 | F7 | F8 | @ | COPY | | . | 6 | 7 | 8 | = | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | F9 | F10 | F11 | F12 | & | CUT | UNDO | FIND | | [ | ] | 0 | 1 | 2 | 3 | + | - |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | $ | # | % | | MO(1)| | MO(2)| | \ | | { | } |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYM] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_LALT,LCTL(KC_V), KC_COMM, KC_7, KC_8, KC_9, KC_ASTR, KC_PSLS,
- KC_F5, KC_F6, KC_F7, KC_F8, KC_AT, LCTL(KC_C), KC_DOT, KC_4, KC_5, KC_6, KC_PEQL, _______,
- KC_F9, KC_F10, KC_F11, KC_F12, KC_AMPR,LCTL(KC_X),LCTL(KC_Z), LCTL(KC_F), KC_LBRC, KC_RBRC, KC_0, KC_1, KC_2, KC_3, KC_PLUS, KC_PMNS,
- KC_DLR, KC_HASH, KC_PERC, _______, MO(1), MO(2), _______, KC_BSLS, KC_LCBR, KC_RCBR
- ),
-
-/*
- * 2. Nav Layer: Media, navigation, accents
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | Brt+ | Next | Fwd | Play | Vol+ | | Home | PgUp | Up | PgDn | | Del |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_Nxt| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE|
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, KC_BRIU, KC_MNXT, KC_MFFD, KC_MPLY, KC_VOLU, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, _______, KC_DEL,
- _______, KC_BRID, KC_MPRV, KC_MRWD, KC_MSTP, KC_VOLD, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCRL, KC_BSPC,
- KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______, UC_NEXT, KC_RSFT, KC_APP, KC_PSCR, UP(CEDIL,CEDIL_MAJ), UP(SECTION,DEGREE), _______, LCTL(KC_S), KC_INS,
- KC_LCTL, KC_LGUI, KC_LALT, _______, MO(1), MO(2), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V)
- ),
-
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
- * These default settings can be overriden by your own settings in your keymap.c
- * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
- * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
- */
-
-/* DELETE THIS LINE TO UNCOMMENT (1/2)
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // QMK Logo and version information
- // clang-format off
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
- // clang-format on
-
- oled_write_P(qmk_logo, false);
- oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state|default_layer_state)) {
- case _QWERTZ:
- oled_write_P(PSTR("QWERTZ\n"), false);
- break;
- case _NAV:
- oled_write_P(PSTR("Nav\n"), false);
- break;
- case _SYM:
- oled_write_P(PSTR("Sym\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Write host Keyboard LED Status to OLEDs
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- } else {
- // clang-format off
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- // clang-format on
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
-
- if (index == 0) {
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return false;
-}
-#endif
-// DELETE THIS LINE TO UNCOMMENT (2/2) */
diff --git a/keyboards/splitkb/kyria/keymaps/lw/readme.md b/keyboards/splitkb/kyria/keymaps/lw/readme.md
deleted file mode 100644
index 87d4d17e96..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lw/readme.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# Kyria's lw Keymap
-
-Custom keymap for the [kyria keyboard](https://blog.splitkb.com/blog/introducing-the-kyria). It is intended to be used with an *English (US, intl. with dead keys)* keyboard layout (includes the `keymap_us_international.h` header).
-
-This layout is mainly designed for every day writing in either English, French or German and programming.
-
-The layout implements all accents and symbols (leveraging dead keys) found on a **swiss** keyboard. It uses Unicode for special characters. It makes use of the [Linux built-in IBus Unicode input](https://docs.qmk.fm/#/feature_unicode?id=input-modes) and relies on [WinCompose](https://github.com/samhocevar/wincompose) for Windows.
-
-## Build this keymap
-```bash
-qmk compile -kb splitkb/kyria/rev1 -km lw
-```
-
-## Flash this keymap
-
-> **Note**: this was tested for an Elite-C microcontroller.
-
-First, check that the bootloader is visible. For instance:
-```bash
-$ lsusb
-...
-Bus 001 Device 034: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
-...
-```
-If the bootloader is not visible, press the reset button of the microcontroller. The bootloader should become visible when running the `lsusb` command again.
-
-The microcontroller can now be flashed:
-```bash
-qmk flash -kb splitkb/kyria/rev1 -km lw
-```
-> **Note**: if there is any issue, run `qmk doctor` to see whether the qmk configuration is valid.
-
-## Implemented keymaps
-The default keymap contains 5 layers which allows it to include all keys found on an ANSI layout TKL keyboard plus media keys.
-Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.
-
-The five different layers are the following:
-1. Base layer (QWERTZ)
-2. Symbols/Numbers layer
-3. Navigation layer
-
-### Base layer
-This layer is activated by default.
-
-```
-/*
- * 0. Base Layer: QWERTZ
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Esc | Q | W | E | R | T | | Z | U | I | O | P | Del |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ' " | BkSpace|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Y | X | C | V | B | \ | | ` ~ | | ( | ) | N | M | , < | . > | ; : | CpLock |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |LCtrl | LGUI | LAlt | Space| MO(1)| | MO(2)| Enter| - _ | ! | / ? |
- * | | | | | | | |/shift| | | |
- * `----------------------------------' `----------------------------------'
- */
-```
-
-Hold down the `Enter` key to make it a shift. This compensates for the poor placement of the dedicated `LShift` key.
-
-### Symbol layer
-This layer is activated when holding `MO(1)`.
-
-```
-/*
- * 1. Sym Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | F1 | F2 | F3 | F4 | LAlt | PASTE| | , | 7 | 8 | 9 | * | / |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | F5 | F6 | F7 | F8 | @ | COPY | | . | 6 | 7 | 8 | = | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | F9 | F10 | F11 | F12 | & | CUT | UNDO | FIND | | [ | ] | 0 | 1 | 2 | 3 | + | - |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | $ | # | % | | MO(1)| | MO(2)| | \ | | { | } |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
-```
-
-### Navigation layer
-This layer is activated when holding `MO(2)`.
-
-```
-/*
- * 2. Nav Layer: Media, navigation, accents
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | Brt+ | Next | Fwd | Play | Vol+ | | Home | PgUp | Up | PgDn | | Del |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_Nxt| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE|
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
-```
-
-The key `UC_NEXT` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/lw/rules.mk b/keyboards/splitkb/kyria/keymaps/lw/rules.mk
deleted file mode 100644
index 36553b7b25..0000000000
--- a/keyboards/splitkb/kyria/keymaps/lw/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = no
-ENCODER_ENABLE = no # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-
-UNICODEMAP_ENABLE = yes # Enable unicode
diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h b/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h
deleted file mode 100644
index e4146661c6..0000000000
--- a/keyboards/splitkb/kyria/keymaps/maherma-adg/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-# define RGBLIGHT_HUE_STEP 8
-# define RGBLIGHT_SAT_STEP 8
-# define RGBLIGHT_VAL_STEP 8
-# define RGBLIGHT_LIMIT_VAL 150
-#endif
-
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-// #define SPLIT_USB_DETECT
-// #define NO_USB_STARTUP_CHECK
diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c b/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c
deleted file mode 100644
index eb5a38d099..0000000000
--- a/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c
+++ /dev/null
@@ -1,420 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap_spanish.h"
-
-enum layers {
- _QWERTY = 0,
- _DVORAK,
- _COLEMAK_DH,
- _NAV,
- _SYM,
- _FUNCTION,
- _ADJUST,
- _NUMPAD,
- _MOUSE
-};
-
-
-// Aliases for readability
-#define QWERTY DF(_QWERTY)
-#define COLEMAK DF(_COLEMAK_DH)
-#define DVORAK DF(_DVORAK)
-
-#define NUMPAD DF(_NUMPAD)
-#define MOUSE DF(_MOUSE)
-#define DNAV DF(_NAV)
-
-#define SYM MO(_SYM)
-#define NAV MO(_NAV)
-#define FKEYS MO(_FUNCTION)
-#define ADJUST MO(_ADJUST)
-
-#define CTL_ESC MT(MOD_LCTL, KC_ESC)
-#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
-#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
-#define ALT_ENT MT(MOD_LALT, KC_ENT)
-#define LGUI_ENT MT(MOD_LGUI, KC_ENT)
-#define LALT_SUP MT(MOD_LALT, KC_DEL)
-#define RGUI_TAB MT(MOD_RGUI, KC_TAB)
-#define RALT_BS MT(MOD_RALT, KC_BSPC)
-#define LSFT_LPR MT(MOD_LSFT, ES_LPRN)
-#define RSFT_RPR MT(MOD_RSFT, ES_RPRN)
-
-#define NAV_ESC LT(NAV, KC_ESC)
-#define SYM_SPC LT(SYM, KC_SPC)
-#define NAV_SPC LT(NAV, KC_SPC)
-#define SYM_ENT LT(SYM, KC_ENT)
-
-#define OSX_TILD ALGR(KC_SCLN)
-
-// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
-// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
-// produces the key `tap` when tapped (i.e. pressed and released).
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | Ñ |Ctrl/´ ¨|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |LShift/(| Z | X | C | V | B | `^[ |CapsLk| |F-keys| +*] | N | M | , ; | . : | - _ |RShift/)|
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
- * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_SCLN, CTL_QUOT,
- LSFT_LPR , KC_Z , KC_X , KC_C , KC_V , KC_B , ES_GRV , KC_CAPS, FKEYS , ES_PLUS , KC_N , KC_M, KC_COMM , KC_DOT , KC_SLSH, RSFT_RPR,
- ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB, RALT_BS, KC_APP
- ),
-
-/*
- * Base Layer: Dvorak
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | ´ ¨ | , ; | . : | P | Y | | F | G | C | R | L | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/' ?|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |LShift/(| Ñ | Q | J | K | X | `^[ |CapsLk| |F-keys| +*] | B | M | W | V | Z |RShift/)|
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
- * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
- * `----------------------------------' `----------------------------------'
- */
- [_DVORAK] = LAYOUT(
- KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC,
- CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS,
- LSFT_LPR ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , ES_GRV, KC_CAPS, FKEYS , ES_PLUS, KC_B, KC_M , KC_W , KC_V , KC_Z , RSFT_RPR,
- ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB, RALT_BS, KC_APP
- ),
-
-/*
- * Base Layer: Colemak DH
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | Q | W | F | P | B | | J | L | U | Y | Ñ | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/´ ¨|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |LShift/(| Z | X | C | D | V | `^[ |CapsLk| |F-keys| +*] | K | H | , ; | . : | - _ |RShift/)|
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LAlt/| LGUI/| Sym/ | Nav/ | | Sym/ | Nav/ | RGUI/| RAlt/| Menu |
- * | | Supr | Enter| Space| Esc | | Enter| Space| Tab | Bksp | |
- * `----------------------------------' `----------------------------------'
- */
- [_COLEMAK_DH] = LAYOUT(
- KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J, KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC,
- CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT,
- LSFT_LPR , KC_Z , KC_X , KC_C , KC_D , KC_V , ES_GRV, KC_CAPS, FKEYS , ES_PLUS , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH, RSFT_RPR,
- ADJUST , LALT_SUP, LGUI_ENT, SYM_SPC , NAV_ESC, SYM_ENT, NAV_SPC , RGUI_TAB , RALT_BS , KC_APP
- ),
-
-/*
- * Nav Layer: Media, navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Shift| Ctrl | Alt | GUI | | | PgDn | ↠| ↓ | → | VolDn| Insert |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL,
- _______, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Sym Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | º | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ª | ! | " | · | $ | % | | & | / | ( | ) | = | ? |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | \ | | | @ | # | ~ | € | ¬ | | | | | ¡ | < | > | { | } | ¿ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYM] = LAYOUT(
- KC_NUBS, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , ES_QUOT,
- S(KC_NUBS) , ES_EXLM, ES_DQUO , ES_BULT, ES_DLR, ES_PERC, ES_AMPR, ES_SLSH, ES_LPRN, ES_RPRN, ES_EQL, ES_QUES,
- A(KC_NUBS), ES_PIPE, ES_AT, ES_HASH , OSX_TILD, A(KC_E), ES_NOT, _______, S(ES_CCED), ES_CCED, ES_IEXL, KC_GRAVE, S(KC_GRAVE), ES_LCBR, ES_RCBR, ES_IQUE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Sym Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ' |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ~ | ! | @ | · | $ | % | | & | / | ( | ) | = | ¿ |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
-// [_SYM] = LAYOUT(
-// C(KC_GRV), KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
-// OSX_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
-// ES_PIPE , A(KC_NUHS) , ES_COLN, ES_SCLN, ES_MINS, ES_LBRC, ES_LCBR, _______, _______, ES_RCBR, ES_RBRC, ES_UNDS, ES_COMM, ES_DOT, ES_SLSH, ES_QUOT,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-
-/*
- * Function Layer: Function keys
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F9 | F10 | F11 | F12 | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | F5 | F6 | F7 | F8 | | | | GUI | Alt | Ctrl | Shift| |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_FUNCTION] = LAYOUT(
- _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, _______,
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Adjust Layer: Default layer settings, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | NumPad | | |QWERTY| | | | | | | | | Boot |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Mouse | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | Debug |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * |Nav Perm| | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | EE_CLR |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- NUMPAD , _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- MOUSE , _______, _______, DVORAK , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, DB_TOGG,
- DNAV , _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, EE_CLR,
- _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Layer NumPad
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- ADJUST , _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Layer Mouse
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | |MS LCL| MS ↑ |MS RCL| Whl ↑| |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Shift| Ctrl | Alt | GUI | | | | MS ↠| MS ↓ | MS → | Whl ↓| |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_MOUSE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______,
- _______, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- ADJUST , _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
- * These default settings can be overriden by your own settings in your keymap.c
- * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
- * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
- */
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // QMK Logo and version information
- // clang-format off
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
- // clang-format on
-
- oled_write_P(qmk_logo, false);
- oled_write_P(PSTR("Kyria AdG v0.1\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state|default_layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("QWERTY\n"), false);
- break;
- case _DVORAK:
- oled_write_P(PSTR("Dvorak\n"), false);
- break;
- case _COLEMAK_DH:
- oled_write_P(PSTR("Colemak-DH\n"), false);
- break;
- case _NAV:
- oled_write_P(PSTR("Nav\n"), false);
- break;
- case _SYM:
- oled_write_P(PSTR("Sym\n"), false);
- break;
- case _FUNCTION:
- oled_write_P(PSTR("Function\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- case _NUMPAD:
- oled_write_P(PSTR("NumPad\n"), false);
- break;
- case _MOUSE:
- oled_write_P(PSTR("Mouse\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Write host Keyboard LED Status to OLEDs
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- } else {
- // clang-format off
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- // clang-format on
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
-
- if (index == 0) {
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return false;
-}
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LSFT_LPR:
- if (record->tap.count && record->event.pressed) {
- tap_code16(ES_LPRN); // Send KC_DQUO on tap
- return false; // Return false to ignore further processing of key
- }
- break;
- case RSFT_RPR:
- if (record->tap.count && record->event.pressed) {
- tap_code16(ES_RPRN); // Send KC_DQUO on tap
- return false; // Return false to ignore further processing of key
- }
- break;
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md b/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md
deleted file mode 100644
index bf54275d2b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/maherma-adg/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Kyria's Keymap adapted to Spanish MacOS (WIP)
-
-
-
-The default keymap contains 7 layers which allows it to include all keys found on spanish Apple keyboard plus media keys.
-Hardware features of the Kyria such as OLEDs and underglow are also supported.
-
-The five different layers are the following:
-1. Base layer (QWERTY, Colemak-DH or Dvorak)
-2. Navigation layer
-3. Symbols/Numbers layer
-4. Function layer
-5. Adjust layer
-6. Numpad layer
-7. Mouse layer
-
-Look into keymap.c to view mappings
diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk b/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk
deleted file mode 100644
index 2f8de3561e..0000000000
--- a/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = no # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-MOUSEKEY_ENABLE = yes # Enable mouse movements
diff --git a/keyboards/splitkb/kyria/keymaps/mattir/config.h b/keyboards/splitkb/kyria/keymaps/mattir/config.h
deleted file mode 100644
index 40b6f4434e..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir/config.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
-# define OLED_DISPLAY_128X64
-# define OLED_TIMEOUT 300000
-# define OLED_UPDATE_INTERVAL 30
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-# define RGBLIGHT_LIMIT_VAL 150
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_MOOD
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_SNAKE
-# define RGBLIGHT_EFFECT_KNIGHT
-# define RGBLIGHT_EFFECT_CHRISTMAS
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-# define RGBLIGHT_EFFECT_RGB_TEST
-# define RGBLIGHT_EFFECT_ALTERNATING
-# define RGBLIGHT_EFFECT_TWINKLE
-# define RGBLIGHT_HUE_STEP 8
-# define RGBLIGHT_SAT_STEP 8
-# define RGBLIGHT_VAL_STEP 8
-# define RGBLIGHT_SLEEP
-#endif
-
-// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
-//#define SPLIT_USB_DETECT
-//#define NO_USB_STARTUP_CHECK
-
-// Set the layer toggle to only need 2 clicks instead of 5
-#define TAPPING_TOGGLE 2
-
-// EC11K encoders have a different resolution than other EC11 encoders.
-#define ENCODER_RESOLUTION 2
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
-
-// Allows media codes to properly register in macros and rotary encoder code
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/splitkb/kyria/keymaps/mattir/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
deleted file mode 100644
index 5bc0b8215e..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/* Copyright 2020 Matthew Gilbert <hello+github@mattir.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- QWERTY = 0,
- LOWER,
- RAISE,
- FUNCS,
- RGBLED
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- QK_LEAD, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, XXXXXXX, XXXXXXX, KC_MINS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_MUTE, KC_LCTL, KC_LGUI, TT(RAISE), SFT_T(KC_SPC), SFT_T(KC_SPC), TT(LOWER), KC_BSPC, KC_LALT, TG(RGBLED)
- ),
- [LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______,
- _______, KC_DLR, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_EQL, KC_PLUS, KC_MINS, KC_ASTR, KC_SLSH, _______,
- TG(FUNCS), KC_AMPR, _______, _______, KC_LBRC, KC_RBRC, _______, XXXXXXX, XXXXXXX, _______, _______, _______, KC_COMM, KC_DOT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [RAISE] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, XXXXXXX, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______
- ),
- [FUNCS] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, _______,
- TG(FUNCS), KC_F11, KC_F12, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PEQL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [RGBLED] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAI, RGB_HUI, RGB_SAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAD, RGB_HUD, RGB_SAD, RGB_RMOD, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, TG(RGBLED)
- ),
-};
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_A)) {
- tap_code16(SGUI(KC_L));
- }
- if (leader_sequence_two_keys(KC_S, KC_S)) {
- tap_code16(SGUI(KC_5));
- }
-}
-
-bool is_cmd_tab_active = false;
-uint16_t cmd_tab_timer = 0;
-
-void matrix_scan_user(void) {
- if (is_cmd_tab_active) {
- if (timer_elapsed(cmd_tab_timer) > 1000) {
- unregister_code(KC_LGUI);
- is_cmd_tab_active = false;
- }
- }
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_mattir_logo(void) {
- static const char PROGMEM mattir_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x3c, 0xfc, 0xf8, 0xe0,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xe0, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x83, 0x07,
- 0x1f, 0x7e, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfe, 0x3f, 0x1f, 0x7f, 0xff,
- 0xfc, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0xf8, 0x1c, 0x0f, 0x07, 0x00,
- 0x00, 0x00, 0x01, 0x07, 0x1f, 0x7e, 0xf8, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0x7f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x80,
- 0xe0, 0xf8, 0xfe, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x3f, 0xff, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
- 0xfe, 0xff, 0x7f, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0x7f, 0xff, 0xff, 0xe0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0,
- 0x00, 0x00, 0xe0, 0xfe, 0xfe, 0xfe, 0xe0, 0xe0, 0x00, 0xe0, 0xfe, 0xfe, 0xfe, 0xe0, 0x60, 0x00,
- 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x1f,
- 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff,
- 0xff, 0x07, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xf8, 0xfe, 0x3f, 0x07, 0x01, 0x00, 0x03, 0xff, 0xff,
- 0xfc, 0x00, 0x00, 0x00, 0x1e, 0x7f, 0xff, 0xe1, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xfc, 0xff, 0x7f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0xfe, 0xff, 0xff, 0x1f, 0x7f, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfc, 0x7f, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff,
- 0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0x3f, 0xff, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0xc0,
- 0xf0, 0xfc, 0xfe, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x78, 0xff, 0xef, 0xcf, 0xce, 0xfc, 0x7c, 0x30, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3c, 0x3f, 0x3f,
- 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1f, 0x3f, 0x3f, 0x1f,
- 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x3c, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(mattir_logo, sizeof(mattir_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
- };
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR("Matt's Kyria\n\n"), false);
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case FUNCS:
- oled_write_P(PSTR("F-keys\n"), false);
- break;
- case RGBLED:
- oled_write_P(PSTR("Underglow\n"), false);
- break;
- default:
- oled_write_P(PSTR("No idea dog\n"), false);
- }
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard layer
- } else {
- render_mattir_logo();
- }
- return false;
-}
-#endif
-
-// Layer-specific encoder knob functions
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { // left knob
- switch (get_highest_layer(layer_state)) {
- case QWERTY: // Volume
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- break;
- case LOWER: // Desktop switching
- if (clockwise) {
- tap_code16(C(KC_RIGHT));
- } else {
- tap_code16(C(KC_LEFT));
- }
- break;
- case RAISE: // Mousewheel L/R
- if (clockwise) {
- tap_code(KC_WH_L);
- } else {
- tap_code(KC_WH_R);
- }
- break;
- case RGBLED: // Underglow color
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- break;
- default: // No action
- if (clockwise) {
- tap_code(KC_NO);
- } else {
- tap_code(KC_NO);
- }
- break;
- }
- } else if (index == 1) { // right knob
- switch (get_highest_layer(layer_state)) {
- case QWERTY: // Undo / Redo
- if (clockwise) {
- tap_code16(LGUI(KC_Z));
- } else {
- tap_code16(SGUI(KC_Z));
- }
- break;
- case LOWER: // App switching
- if (clockwise) {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LGUI);
- }
- cmd_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- break;
- case RAISE: // Mouse wheel U/D
- if (clockwise) {
- tap_code(KC_WH_U);
- } else {
- tap_code(KC_WH_D);
- }
- break;
- case RGBLED: // Underglow brightness
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- break;
- default: // No action
- if (clockwise) {
- tap_code(KC_NO);
- } else {
- tap_code(KC_NO);
- }
- break;
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/mattir/readme.md b/keyboards/splitkb/kyria/keymaps/mattir/readme.md
deleted file mode 100644
index 9a3dcc1e60..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir/readme.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# Mattir's keymap & configs for [Kyria](https://github.com/splitkb/kyria)
-
-## Keymap
-
-This is my customized keymap and layer setup for my kyria. It's based largely on the defaults, but with several things moved to new layers.
-
-Keys in the diagrams below that are blank are "transparent" and they drop down to the lowest layer that has them defined. The keys at the end of the bottom row marked as `ENC` are where my rotary encoders are installed. The 2U height `Spce/Shft` keys are multi-function. You tap them for a space, or hold them for shift.
-
-### Base layer `QWERTY`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Tab | Q | W | E | R | T | | Y | U | I | O | P | | \ |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| Esc | A | S | D | F | G | | H | J | K | L | ; : | Enter |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| Leader | Z | X | C | V | B | ~ ` | | | | - _ | N | M | , < | . > | / ? | ' " |
-`----------------------+------+------+------+------| Spce | | Spce |------+------+------+------+----------------------'
- | ENC | Ctrl | Supr | Rais | Shft | | Shft | Lowr | Bksp | Alt | ENC |
- `----------------------------------' `----------------------------------'
-```
-
-### Symbols layer `LOWER`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | ! | @ | # | { | } | | | | | | | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | $ | % | ^ | ( | ) | | = | + | - | * | / | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| FUNCS | & | | | [ | ] | | | | | | | | , | . | | |
-`----------------------+------+------+------+------| | | |------+------+------+------+----------------------'
- | ENC | | | | | | | | | | ENC |
- `----------------------------------' `----------------------------------'
-```
-
-### Numbers and mouse-keys layer `RAISE`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | | Prev | Play | Next | | | Left | Down | Up | Right| | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | | LMsB | MMsB | RMsB | | | | | | | MLeft| Mdown| MUp |MRight| | |
-`----------------------+------+------+------+------| | | |------+------+------+------+----------------------'
- | ENC | | | | | | | | Del | | ENC |
- `----------------------------------' `----------------------------------'
-```
-
-### F-Keys and number-pad layer `FUNCS`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | F1 | F2 | F3 | F4 | F5 | | np + | np 7 | np 8 | np 9 | np * | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | F6 | F7 | F8 | F9 | F10 | | np - | np 4 | np 5 | np 6 | np / | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| FUNCS | F11 | F12 | | | | | | | | | np 0 | np 1 | np 2 | np 3 | np . | = |
-`----------------------+------+------+------+------| | | |------+------+------+------+----------------------'
- | ENC | | | | | | | | | | ENC |
- `----------------------------------' `----------------------------------'
-```
-
-### LED Underglow layer `RGBLED`
-
-There's not much on this layer since several of the functions are set up for my rotary encoders.
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | | | | | | | | | | | | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | |ValUp |HueUp | SatUp| Mode | | | | | | | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | |ValDn |HueDn | SatDn| Rmode| | | | | | | | | | | |
-`----------------------+------+------+------+------| | | |------+------+------+------+----------------------'
- | ENC | | | | | | | | | | ENC |
- `----------------------------------' `----------------------------------'
-```
-
-## Rotary Encoders
-
-I've set up the 2 rotary encoders to serve different functions depending on the active layer. I'll call them `ENC-L` and `ENC-R` for the encoder on the left side, or on the right side. Note that many of these functions are Mac-specific in my case, and if you want to use them for Windows or Linux, you'll need to tweak the key-codes generated.
-
-### Defaults
-
-If a layer is undefined somehow, I have both encoders set to be ignored on rotation.
-
-### Base layer `QWERTY`
-
-`ENC-L`
-* Rotate - Volume up and down, determined by rotation direction.
-* Click - Mute audio.
-
-`ENC-R`
-* Rotate - Undo (command-Z) and Redo (shift-command-Z)
-* Click - Toggle to `RGBLED` layer.
-
-### Symbols layer `LOWER`
-
-`ENC-L`
-* Rotate - Desktop switching on Mac
-* Click - no change (transparent)
-
-`ENC-R`
-* Rotate - App switching on Mac
-* Click - no change (transparent)
-
-### Numbers and mouse-keys layer `RAISE`
-
-`ENC-L`
-* Rotate - Mouse-wheel left and right (equal to side-swiping on Mac trackpads)
-* Click - no change (transparent)
-
-`ENC-R`
-* Rotate - Mouse-wheel up and down
-* Click - no change (transparent)
-
-### F-Keys and number-pad layer `FUNCS`
-
-`ENC-L`
-* Rotate - nothing defined, falls back to defaults
-* Click - no change (transparent)
-
-`ENC-R`
-* Rotate - nothing defined, falls back to defaults
-* Click - no change (transparent)
-
-### LED Underglow layer `RGBLED`
-
-`ENC-L`
-* Rotate - Adjust hue (color) forward and back
-* Click - Turn on/off the underglow LEDs
-
-`ENC-R`
-* Rotate - Adjust the value (brightness) up and down
-* Click - return to the base `QWERTY` layer
-
-## OLEDs
-
-There isn't much special here that isn't already in the default keymap for the Kyria. The main side (where the USB cable is plugged in) will show the QMK logo and the active layer. The secondary side (connected to the main via the TRRS cable) will show my personal logo.
diff --git a/keyboards/splitkb/kyria/keymaps/mattir/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
deleted file mode 100644
index 2a9ca4aff9..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enables the use of the leader key
diff --git a/keyboards/splitkb/kyria/keymaps/mattir2/config.h b/keyboards/splitkb/kyria/keymaps/mattir2/config.h
deleted file mode 100644
index ee61cfae35..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir2/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2021 Matt Gilbert <web@mattir.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// Set the layer toggle to only need 2 clicks instead of 5
-#define TAPPING_TOGGLE 2
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
diff --git a/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
deleted file mode 100644
index f42889da90..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2020 Matthew Gilbert <hello+github@mattir.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- QWERTY,
- LOWER,
- RAISE,
- FUNCS
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [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_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,
- QK_LEAD, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_GRV, TT(FUNCS), KC_RSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- KC_LSFT, KC_LALT, KC_LGUI, LT(LOWER, KC_SPC), LT(RAISE, KC_ENT), LT(RAISE, KC_ENT), LT(LOWER, KC_SPC), KC_BSPC, KC_LCTL, KC_RSFT
- ),
- [LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______,
- _______, KC_DLR, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_EQL, KC_PLUS, KC_MINS, KC_ASTR, KC_SLSH, _______,
- _______, KC_AMPR, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [RAISE] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_VOLU, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_U, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, _______,
- KC_VOLD, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_WH_D, KC_WH_L, KC_WH_R, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BRID, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______
- ),
- [FUNCS] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_PEQL,
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_A)) {
- tap_code16(SGUI(KC_L));
- }
- if (leader_sequence_two_keys(KC_S, KC_S)) {
- tap_code16(SGUI(KC_5));
- }
-}
diff --git a/keyboards/splitkb/kyria/keymaps/mattir2/readme.md b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
deleted file mode 100644
index 117fba751d..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Mattir's keymap & configs for [Kyria](https://github.com/splitkb/kyria)
-
-## Keymap
-
-This is my customized keymap and layer setup for my second Kyria split keyboard. It's based largely on the defaults, but with several things moved to new layers. Keys in the diagrams below that are blank are "transparent" and they drop down to the lowest layer that has them defined.
-
-The PCBs for the Kyria are rev. 1.3
-Each half uses an Elite-C low-profile (rev 4) microcontroller with USB-C connector
-The boards are outfitted with Kailh Choc Jade switches and MBK keycaps
-
-Unlike my first build, this is a minimal build with no encoders, RGB LEDs, or OLED displays.
-
-### Base layer `QWERTY`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| Esc | Q | W | E | R | T | | Y | U | I | O | P | \ | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| Tab | A | S | D | F | G | | H | J | K | L | ; : | ' " |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| Leader | Z | X | C | V | B | Shft | ` ~ | | L3 | Shft | N | M | , < | . > | / ? | - _ |
-`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------'
- | Shft | Alt | Supr |L1/Spc|L2/Ent| |L2/Ent|L1/Spc| Bksp | Alt | Shft |
- `----------------------------------' `----------------------------------'
-```
-
-### Symbols layer `LOWER`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | ! | @ | # | { | } | | | | | | | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | $ | % | ^ | ( | ) | | = | + | - | * | / | |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | & | | | [ | ] | | | | | | | | | | | |
-`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------'
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
-
-### Numbers and mouse-keys layer `RAISE`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| Vol Up | | LMsB | MMsB | RMsB | MW Up| | Left | Down | Up | Right|Bri Up| |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| Vol Dn | Mute | Prev | Play | Next | MW Dn| MW L | MW R | | | | MLeft| Mdown| MUp |MRight|Bri Dn| |
-`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------'
- | | | | | | | | | Del | | |
- `----------------------------------' `----------------------------------'
-```
-
-### F-Keys and number-pad layer `FUNCS`
-
-```
-,-------------------------------------------. ,-------------------------------------------.
-| | F1 | F2 | F3 | F4 | F5 | | np + | np 7 | np 8 | np 9 | np * | |
-|--------+------+------+------+------+------| |------+------+------+------+------+--------|
-| | F6 | F7 | F8 | F9 | F10 | | np - | np 4 | np 5 | np 6 | np / | = |
-|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-| | F11 | F12 | | | | | | | | | np 0 | np 1 | np 2 | np 3 | np . | Enter |
-`----------------------+------+------+------+------| | | |------+------+------+------+----------------------'
- | | | | | | | | | | | |
- `----------------------------------' `----------------------------------'
-```
diff --git a/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
deleted file mode 100644
index d51a30bfeb..0000000000
--- a/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OLED_ENABLE = no # Enables the use of OLED displays
-ENCODER_ENABLE = no # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enables the use of the leader key
diff --git a/keyboards/splitkb/kyria/keymaps/ohlin/config.h b/keyboards/splitkb/kyria/keymaps/ohlin/config.h
deleted file mode 100644
index 6e07be170b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ohlin/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2022 Kevin Ohlin (@ohlin)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLIGHT_LIMIT_VAL 150
-#define RGBLIGHT_LED_MAP {0,1,2,9,8,7,4,3,5,6,19,18,17,10,11,12,15,16,14,13} // Orients Kyria LEDs to a circle around both halves.
-// #define RBGLIGHT_LED_MAP {9,8,6,7,5,3,2,4,1,0,10,12,13,11,14,16,17,15,18,19} // Orients Kyria LEDs for a left half-right half columnar progression.
-// #define RBGLIGHT_LED_MAP {8,9,2,3,4,5,1,0,6,7,17,16,10,11,15,14,13,12,19,18} // Another attempt at an LED mapping
-
-#define OLED_FADE_OUT
-#define OLED_FADE_OUT_INTERVAL 6
-
-// Configure the global tapping term (default: 200ms)
-#define TAPPING_TERM 175
-// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define QUICK_TAP_TERM 0
diff --git a/keyboards/splitkb/kyria/keymaps/ohlin/keymap.c b/keyboards/splitkb/kyria/keymaps/ohlin/keymap.c
deleted file mode 100644
index e2d95d3a48..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ohlin/keymap.c
+++ /dev/null
@@ -1,260 +0,0 @@
-// Copyright 2022 Kevin Ohlin (@ohlin)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-
-// Layers
-#define QWERTY DF(_QWERTY)
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-// Home row mods
-#define CTL_A LCTL_T(KC_A)
-#define OPT_S LOPT_T(KC_S)
-#define CMD_D LCMD_T(KC_D)
-#define SFT_F LSFT_T(KC_F)
-#define SFT_J RSFT_T(KC_J)
-#define CMD_K RCMD_T(KC_K)
-#define OPT_L LOPT_T(KC_L)
-#define CTL_SCLN RCTL_T(KC_SCLN)
-// Other
-#define CTL_ESC MT(MOD_LCTL, KC_ESC)
-#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
-#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
-#define OPT_ENT MT(MOD_LALT, KC_ENT)
-#define SFT_SPC MT(MOD_LSFT, KC_SPC)
-#define YTC LOPT(KC_C)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | F3 |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| CTL/A| OPT/S| CMD/D| SFT/F| G | | H | SFT/J| CMD/K| OPT/L| CTL/;| RClick |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | [ { | Hyper| | Hyper| ] } | N | M | , < | . > | / ? | LClick |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | LCMD | LOPT/|Shift/| Lower| | Raise|Shift/| Bcksp| RCMD |Scroll|
- * | | | Enter| Space| | | | Space| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_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_F3,
- CTL_ESC, CTL_A, OPT_S, CMD_D, SFT_F, KC_G, KC_H, SFT_J, CMD_K, OPT_L, CTL_SCLN, KC_BTN2,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_HYPR, KC_HYPR, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BTN1,
- _______, KC_LCMD, OPT_ENT, SFT_SPC, LOWER, RAISE, SFT_SPC, KC_BSPC, KC_RCMD, KC_BTN5
- ),
-
-/*
- * Lower Layer
- *
- * ,-----------------------------------------. ,-------------------------------------------.
- * | ( | ) | 7 | 8 | 9 | 0 | | VolUp| | ↑ | | | |
- * |------|------+------+------+------+------+ |------+------+------+------+------+--------|
- * | [ | ] | 4 | 5 | 6 | + | | VolDn| ↠| ↓ | → | | |
- * |------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | { | } | 1 | 2 | 3 | - | | | | | |VolMut| | | | | |
- * `--------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | |xxxxxx| | | | | | |
- * | | | | |xxxxxx| | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_0, KC_VOLU, _______, KC_UP, _______, _______, _______,
- KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_EQL, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_MINUS, _______, KC_LSFT, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
- KC_BTN5, KC_BTN2, KC_BTN1, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Raise Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | | | | | | | VolUp| | ↑ | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ~ | ! | @ | # | $ | % | | VolDn| ↠| ↓ | → | |Ctrl/' "|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | \ | : | ; | - | [ | { | | | | |VolMut| Opt+C| < | > | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | |xxxxxx| | | | |
- * | | | | | | |xxxxxx| | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- KC_GRV, _______, _______, _______, _______, _______, KC_VOLU, _______, KC_UP, _______, _______, _______,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, _______, CTL_QUOT,
- KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, _______, KC_MUTE, YTC, KC_LT, KC_GT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Adjust Layer: RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | TOG | SAI | HUI | VAI | MOD | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | SAD | HUD | VAD | RMOD | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | |xxxxxx| |xxxxxx| | | | |
- * | | | | |xxxxxx| |xxxxxx| | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_M_P, _______,
- _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_M_SW, _______,
- _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
- ),
-
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // QMK Logo and version information
- // clang-format off
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
- // clang-format on
-
- oled_write_P(qmk_logo, false);
- oled_write_P(PSTR("\nKyria rev2.1\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state|default_layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("QWERTY\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Write host Keyboard LED Status to OLEDs
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- } else {
- // clang-format off
- static const char PROGMEM ko_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60,
- 0x30, 0x18, 0x8c, 0xe6, 0x73, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8,
- 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
- 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0xc0, 0xf0, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x03, 0x01, 0xc0, 0xf0,
- 0x78, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc,
- 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x07, 0x01, 0x00, 0x80, 0xc0, 0x60,
- 0x30, 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0e, 0x0f, 0x0f, 0x0d,
- 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x8d, 0xcd, 0xed, 0x7d,
- 0x3d, 0xbd, 0xdd, 0xed, 0xf5, 0xf1, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07,
- 0x07, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf1, 0xc7, 0x86, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x86, 0xe6, 0xfe, 0x7e,
- 0x1e, 0x0e, 0x02, 0x80, 0xc0, 0xc0, 0x60, 0x70, 0x38, 0x1c, 0x0e, 0x07, 0xf3, 0xf9, 0xfc, 0xfe,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
- 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x78, 0xbc, 0xcf, 0xc7, 0xe3, 0x70, 0x38,
- 0x1c, 0x0e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff,
- 0x7f, 0x9f, 0xcf, 0xf3, 0xf8, 0x7e, 0xbf, 0xdf, 0x8f, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f,
- 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
- 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x11, 0x0d,
- 0x06, 0x03, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- // clang-format on
- oled_write_raw_P(ko_logo, sizeof(ko_logo));
- }
- return false;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/ohlin/readme.md b/keyboards/splitkb/kyria/keymaps/ohlin/readme.md
deleted file mode 100644
index 0db8d2d976..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ohlin/readme.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# @ohlin's Kyria Keymap
-###### _This keymap is a work in progress._
-
-I am a Product Manager and QA Lead, not a developer, so I spend a lot of my time doing things that require a mouse, so one handed keyboard shortcuts are very useful to me.
-
-This keymap is used on a Mac in conjunction with a [Ploopy Nano](https://github.com/ploopyco/nano-trackball) trackball.
-
-```
-,-----------------------------. ,-----------------------------. .--------------.
-| | | | | | | | | | | | | | | ---- |
-|----+----+----+----+----+----| |----|----+----+----+----+----| | PL°°°°°°PY |
-| | | | | | | | | | | | | | | PL°°°°°°°°PY |
-|----+----+----+----+----+----+---------. ,---------+----+----+----+----+----+----| | PL°°°°°°°°PY |
-| | | | | | | | | | | | | | | | | | | PL°°°°°°PY |
-`-------------------+----+----+----+----| |----+----+----+----+----+----+---------' | ---- |
- | | | | | | | | | | | | '--------------'
- `------------------------' `------------------------'
-```
-
-## Home Row Mods
-Home row mods help came from @precondition's in-depth article, [_A guide to home row mods_](https://precondition.github.io/home-row-mods). `CAGS` makes the most sense to me as a Mac user.
-
-## Karabiner Elements
-Karabiner Elements has been a part of my Mac workflow for years now, so when I switched from a Planck to this Kyria, it fit neatly around this keymap to make things easier. Karabiner serves two primary functions here:
-
-- Change `Caps Lock` to `Hyper` (`ctrl + opt + cmd + shift`)
-- Hold mouse button 5 to enable `mouse_motion_to_scroll`
-
-### Caps Lock to Hyper
-Years ago, following Brett Terpstra's article [_A useful Caps Lock key_](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/), I swapped caps lock for hyper, then mapped a number of system-wide keyboard shortcuts to `Hyper` + `[key]`, such as launching apps using [Alfred](https://www.alfredapp.com/) workflows, resizing and moving windows using [Rectangle](https://github.com/rxhanson/Rectangle), and changing all of my montiors' brightness levels together using [Display Buddy](https://displaybuddy.app/).
-
-Remapping the Caps Lock key in Karabiner ensures I can still easily use these shortcuts with the built-in keyboard on my laptop as well as with any QMK keyboard (where I use the `KC_HYPR` key code directly).
-### Scrolling with the Ploopy Nano
-Initially, I tried using the NumLock scroll developed by [@zealws](https://github.com/zealws/qmk_firmware/commit/293d3c211d9e93c127b628ac9ef9e4cb201a01da) ([Reddit post here](https://old.reddit.com/r/ploopy/comments/nlvgkq/how_to_scroll_with_the_trackball_nano/)), but had some difficulty making it work on Mac. Since I was already using Karabiner for the Caps Lock to Hyper Switch, I decided to just use it for [mouse motion to scroll](https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/other-types/mouse-motion-to-scroll/) as well by holding Mouse Button 5. Easily done.
-
-Despite not being able to make the NumLock scroll work, I did keep the [Ploopy Acceleration](https://github.com/zealws/qmk_firmware/commit/293d3c211d9e93c127b628ac9ef9e4cb201a01da#diff-d9cdae01e54acdc5c6ec6f6b28f48a676287d2f9cc2c9c3aaf63724fa625f520R90-R96) from @zealws' code, as it made using the Nano much easier when moving across the 3 monitors I typically use for work.
-## OLED Logo
-I created my own OLED logo in [Figma](https://www.figma.com/), converted it with @javl's [image2cpp](https://javl.github.io/image2cpp), and cleaned up the result with @joric's [QMK Logo Editor](https://joric.github.io/qle/).
-```
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡/1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡! ,‡‡‡‡‡‡‡‡‡z!!!!!!!!!!!!r‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡! .1‡‡‡‡‡‡‡@! '&‡‡‡‡‡‡_" ';1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡' `‡‡‡‡‡‡‡BI ` `‡‡‡‡‡‡< `‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡? ;‡‡‡‡‡‡@l.;j'>‡‡‡‡‡&' .""""` .j‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡! `‡‡‡‡‡‡@I ,‡r ,‡‡‡‡‡‡l `M‡‡‡‡‡‡‡( M‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡1. "#‡‡‡‡z>';j‡; '&‡‡‡‡‡‡. i‡‡‡‡‡‡‡‡‡‡l .‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡^ ;8‡‡‡‡('.;#‡‡" >‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡/ )‡‡‡‡r`.{‡‡‡‡` M‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ "" "j‡‡‡j".;#‡‡‡c .""""""""""""""""1/‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ,‡‡‡1' ,‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡< `! ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ 'M‡`.;j‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡1'',;' ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ \< .‡‡‡‡( /! ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡; >‡‡‡‡‡‡‡‡‡‡‡‡1 '1‡‡j;''1‡' ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡M !‡‡‡‡‡‡‡‡‡‡' ^‡‡‡` .<‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡r .(‡‡‡‡‡‡‡' ;‡1" ,j‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡l >‡‡‡‡; `jl."1@‡‡‡‡‡‡‡ >‡‡‡‡‡‡‡‡‡‡- ‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡B. I‡z "^ t‡‡‡‡‡‡‡‡‡‡; I‡‡‡‡‡‡‡‡t c‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡x ./' ^/‡‡‡‡‡‡‡‡‡‡‡‡z. `""""". (‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡` `< Ir‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡! `‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡‡‡‡‡‡‡‡‡‡‡, "^ ""1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡i` ."1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡!!!!!!!!!‡‡‡‡‡‡‡‡‡‡‡‡!{` !‡!!!!‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡x!!!!!!!!!!!!?M‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡>';#‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡u8‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
-```
diff --git a/keyboards/splitkb/kyria/keymaps/ohlin/rules.mk b/keyboards/splitkb/kyria/keymaps/ohlin/rules.mk
deleted file mode 100644
index 90846dfb53..0000000000
--- a/keyboards/splitkb/kyria/keymaps/ohlin/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-ENCODER_ENABLE = no
-MOUSEKEY_ENABLE = yes
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-SPACE_CADET_ENABLE = no \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/plattfot/README.md b/keyboards/splitkb/kyria/keymaps/plattfot/README.md
deleted file mode 100644
index 70bb01353d..0000000000
--- a/keyboards/splitkb/kyria/keymaps/plattfot/README.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# plattfot's keymap for [Kyria](https://github.com/splitkb/kyria)
-
-![Keyboard](https://i.imgur.com/mcefoHnh.jpg)
-
-Designed to be ease of use when programming, typing in both English
-and Swedish and navigating around in a tiling window manager, in my
-case [sway](https://swaywm.org/). Uses the two rotary encoders (lower
-left/right thumb row) as two palm buttons.
-
-This keymap avoids [Mod-tap](https://docs.qmk.fm/#/mod_tap) as they do
-not work for me. [Kyria](https://github.com/splitkb/kyria) has enough
-thumb keys to make it work without them.
-
-The symbols are split into two layers, one for each hand. Then the
-layers are activated by the opposite thumb. Found that having all
-symbols on one layer then have one thumb activate them made it awkward
-to press keys with the index finger on the same hand.
-
-Custom feature I call the close tap (Clotap) key, I based on a code
-snippet from a
-[reddit post](https://www.reddit.com/r/olkb/comments/citkbx/double_key_press_modifier_qmkwould_work_like/ev9cue8).
-When pressed, it will insert the closing equivivalent key and press
-`â†` (left arrow). For example tapping Clotap then press `(` will
-result in the keypresses `()â†`, if pressing `"` will result in `""â†`,
-if pressing `)` will result in `)â†(`. Really nice to have when
-programming, it is editor agnostic and saves me two keypresses (need
-to press NAV+j for `â†`). It also removes the need for having specific
-macros for these as I had before.
-
-
-# Base Layer: Default
-```
-// ,-------------------------------------------. ,-------------------------------------------.
-// | Esc | 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 | Lead | RAISE| | LOWER|BSpace| N | M | , | . | / | RShift |
-// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// | MPlay| GUI | LCtrl| Space| LALT | | RCtrl| Enter| NAV | RALT |Scroll|
-// | | | | | | | | | | | Lock |
-// `----------------------------------' `----------------------------------'
-```
-
-Setup for using the
-[EurKey](https://eurkey.steffen.bruentjen.eu/layout.html) layout. As
-it's annoying to have to toggle us and swedish layout which shifts
-symbols around.
-
-AltGr is used to access the extra keys in the
-[EurKey](https://eurkey.steffen.bruentjen.eu/layout.html) layout.
-
-## Notable features on this layer
-
-Left rotary encoder
-- Press: play/pause
-- Rotate: Volume control
-
-Right rotary encoder
-- Press: Scroll lock
-- Rotate: Page up/Page down. Used mouse scrolling at first. But
- scrolling only works in the window where the mouse pointer
- is. Which kind of defeated the purpose of having the scroll
- on the keyboard, as I still needed to move my hand to the
- mouse and then I could just use the scroll on the mouse.
-
-[Leader key](https://docs.qmk.fm/#/feature_leader_key) is mainly used
-for jumping between workspaces. Otherwise I would need to use both
-hands everytime I need to switch. With the leader key I can jump
-between 1-5 with just the left hand.
-
-# Lower Layer: Left symbols/Right function keys
-```
-// ,-------------------------------------------. ,-------------------------------------------.
-// | | ! | @ | # | $ | % | | F6 | F7 | F8 | F9 | F10 | |
-// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// | | | | _ | \ | - | + | | F12 | | | | | |
-// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// | | ° | : | ( | ) | × | |ADJUST| | | |CLOTAP| | | | | |
-// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// | | | | | | | | | | | |
-// | | | | | | | | | | | |
-// `----------------------------------' `----------------------------------'
-```
-
-Symbols for the left hand, function keys for the right hand.
-
-I had the function keys at the bottom on the navigation layer. But it
-was annoying when typing version strings. Hitting f1-5+f11 involved
-both hands. And it turned out that my keybinding for closing a window
-(Super+Shift+c) and rebooting my machine (Super+Shift+f3) ended up on
-the same physical keys.
-
-Splitting them up like this allows me to hit all the function keys
-with just one hand and I wont accidentally reboot my machine when
-trying to close a window.
-
-## Notable features on this layer
-
-Left rotary encoder
-- Rotate: Skip next/previous song
-
-Clotap on the right hand.
-
-Has two Eurkey specific symbols `°` and `×` on the left hand.
-
-# Raise Layer: Left function/Right symbols + state keys
-```
-// ,-------------------------------------------. ,-------------------------------------------.
-// | | F1 | F2 | F3 | F4 | F5 | | ^ | & | * | ~ | ? | |
-// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// | | | | | | F11 | | = | { | } | [ | ] | ` |
-// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// | | | | | |CLOTAP| | | |ADJUST| | … | " | < | > | / |CapsLock|
-// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// | Mute | | | | | | | | | |Insert|
-// | | | | | | | | | | | |
-// `----------------------------------' `----------------------------------'
-```
-
-Function keys for the left hand, symbols for the right hand.
-
-This layer also includes caps lock and insert.
-
-## Notable features on this layer
-
-Left rotary encoder
-- Press: mute
-
-Right rotary encoder
-- Press: Toggle insert mode
-- Rotate: Scrolling between workspaces in `sway`.
-
-Clotap on the left hand.
-
-# Navigation Layer: Number keys, navigation
-```
- //
- // ,-------------------------------------------. ,-------------------------------------------.
- // | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- // |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- // | | | | | | | | | Left | Up | Down | Right| |
- // |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- // | | | | | | | | | | | | | | | | | |
- // `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- // | | | | | | | | | | | |
- // | | | | | | | | | | | |
- // `----------------------------------' `----------------------------------'
-```
-
-Access to the number and the arrow keys. Got use to the number row
-after using [ErgoDox](https://www.ergodox.io/) keyboards for a few
-years. Do not feel I need a numpad layer, which seems to be quite
-common with small keyboards like this.
-
-# Adjust Layer: RGB
-```
- //
- // ,-------------------------------------------. ,-------------------------------------------.
- // | | | | | | | | | | | | | |
- // |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- // | | TOG | SAI | HUI | VAI | MOD | | | | | | | |
- // |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- // | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
- // `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- // | | | | | | | | | | | |
- // | | | | | | | | | | | |
- // `----------------------------------' `----------------------------------'
-```
-
-Right now it only contains adjustment to the underglow. Activated by
-holding down `RAISE` and `LOWER` at the same time.
diff --git a/keyboards/splitkb/kyria/keymaps/plattfot/config.h b/keyboards/splitkb/kyria/keymaps/plattfot/config.h
deleted file mode 100644
index 96447d0c4c..0000000000
--- a/keyboards/splitkb/kyria/keymaps/plattfot/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- * Copyright 2020-2021 Fredrik Salomonsson <plattfot@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
-#endif
-
-#define ENCODER_DIRECTION_FLIP
-// Fixing the skipping with the EC11K encoder
-#define ENCODER_RESOLUTION 2
-
-#define EE_HANDS
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-// Remove the delay for the OSL keys. Not using any other tap keys.
-// Otherwise TAPPING_TERM_PER_KEY would be the way to go.
-#define TAPPING_TERM 0
diff --git a/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
deleted file mode 100644
index 2233e9b01b..0000000000
--- a/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
+++ /dev/null
@@ -1,475 +0,0 @@
-/* Copyright 2020-2021 Fredrik Salomonsson <plattfot@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- // New keys
- CLO_TAP, // Close the next key press
-};
-
-// Close tap feature based on a post from drashna
-// https://www.reddit.com/r/olkb/comments/citkbx/double_key_press_modifier_qmkwould_work_like/ev9cue8/
-// Will insert the closing equivalent key and move the cursor inside.
-// For example clo_tap and then ( will result in (|), where | is the
-// cursor. For " it will be "|" as the close equivalent key is the
-// same key.
-enum close_tap_modes {
- CLO_DISABLED = 0b000,
- CLO_PRESSED = 0b001, // Close tap key is pressed
- CLO_ACTIVE = 0b010, // Close tap next keypress
- CLO_USED = 0b100, // Turn off when close tap key is released
-};
-
-#define CLO_RELEASE(flag) flag & ~CLO_PRESSED
-
-static enum close_tap_modes close_tap_it = CLO_DISABLED;
-
-enum layers {
- _DEFAULT,
- _LOWER,
- _RAISE,
- _NAV,
- _ADJUST,
-};
-
-#define MO_ADJT MO(_ADJUST)
-#define L_RAISE OSL(_RAISE)
-#define L_LOWER OSL(_LOWER)
-#define L_NAV MO(_NAV)
-#define EU_TDOT RSA(KC_SLSH)
-#define EU_CDOT RALT(KC_EQUAL)
-#define EU_DEG RALT(KC_SCLN)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: Default
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Esc | 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 | Lead | RAISE| | LOWER|BSpace| N | M | , | . | / | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | MPlay| GUI | LCtrl| Space| LALT | | RCtrl| Enter| NAV | RALT |Scroll|
- * | | | | | | | | | | | Lock |
- * `----------------------------------' `----------------------------------'
- */
- [_DEFAULT] = LAYOUT(
- KC_ESC, 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, QK_LEAD, L_RAISE, L_LOWER, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_MPLY,KC_LGUI,KC_LCTL, KC_SPACE, KC_LALT, KC_RCTL, KC_ENT, L_NAV, KC_RALT, KC_SCRL
- ),
-
-/*
- * Lower Layer: Left symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | ! | @ | # | $ | % | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | _ | \ | - | + | | F12 | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | ° | : | ( | ) | × | |ADJUST| | | |CLOTAP| | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, KC_PIPE, KC_UNDS, KC_BSLS, KC_MINS, KC_PLUS, KC_F12, _______, _______, _______, _______, _______,
- _______, EU_DEG, KC_COLN, KC_LPRN, KC_RPRN, EU_CDOT, _______, MO_ADJT, _______, _______, CLO_TAP, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Raise Layer: Right symbols + state
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | ^ | & | * | ~ | ? | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | F11 | | = | { | } | [ | ] | ` |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | |CLOTAP| | | |ADJUST| | … | " | < | > | / |CapsLock|
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | Mute | | | | | | | | | |Insert|
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_CIRC, KC_AMPR, KC_ASTR, KC_TILDE,KC_QUES, _______,
- _______, _______, _______, _______, _______, KC_F11, KC_EQUAL,KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_GRV,
- _______, _______, _______, _______, _______, CLO_TAP, _______, _______, MO_ADJT, _______, EU_TDOT, KC_DQUO, KC_LT, KC_GT, _______, KC_CAPS,
- KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS
-
- ),
-/*
- * Navigation Layer: Number/Function keys, navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | | Left | Up | Down | Right| |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Adjust Layer: RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | TOG | SAI | HUI | VAI | MOD | | | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-// clang-format on
-
-/* void keyboard_post_init_user(void) { */
-/* rgblight_setrgb(51, 135, 204); */
-/* } */
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch (keycode) {
- case CLO_TAP:
- close_tap_it = close_tap_it & CLO_ACTIVE?
- CLO_USED:
- CLO_ACTIVE|CLO_PRESSED;
- return false;
- case QK_LEADER:
- close_tap_it = CLO_DISABLED;
- return true;
- }
- } else if (close_tap_it & CLO_ACTIVE &&
- keycode != CLO_TAP &&
- keycode != OSL(_RAISE) &&
- keycode != OSL(_LOWER) &&
- keycode != MO(_NAV)) {
-
- close_tap_it = close_tap_it & CLO_PRESSED?
- close_tap_it | CLO_USED:
- CLO_DISABLED;
- switch(keycode)
- {
- case KC_LPRN:
- tap_code16(KC_RPRN);
- tap_code16(KC_LEFT);
- break;
- case KC_RPRN:
- tap_code16(KC_LEFT);
- tap_code16(KC_LPRN);
- break;
- case KC_LCBR:
- tap_code16(KC_RCBR);
- tap_code16(KC_LEFT);
- break;
- case KC_RCBR:
- tap_code16(KC_LEFT);
- tap_code16(KC_LCBR);
- break;
- case KC_LBRC:
- tap_code16(KC_RBRC);
- tap_code16(KC_LEFT);
- break;
- case KC_RBRC:
- tap_code16(KC_LEFT);
- tap_code16(KC_LBRC);
- break;
- case KC_LT:
- tap_code16(KC_GT);
- tap_code16(KC_LEFT);
- break;
- case KC_GT:
- tap_code16(KC_LEFT);
- tap_code16(KC_LT);
- break;
- default:
- tap_code16(keycode);
- tap_code16(KC_LEFT);
- break;
- }
- } else {
- switch (keycode) {
- case CLO_TAP:
- close_tap_it = close_tap_it & CLO_USED?
- CLO_DISABLED:
- CLO_RELEASE(close_tap_it);
- }
- }
-
- return true;
-}
-
-//layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); }
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-
-// clang-format off
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-// clang-format on
-static void render_static_info(void) {
- render_qmk_logo();
- oled_write_P(PSTR("Kyria rev1.0\n"), false);
- oled_write_P(PSTR("Keymap: plattfot v2\n"), false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR("Kyria rev1.0\n"), false);
- oled_write_P(PSTR("v" QMK_VERSION "\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _DEFAULT:
- oled_write_P(PSTR("base\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("<-sym/fun->\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("<-fun/sym->\n"), false);
- break;
- case _NAV:
- oled_write_P(PSTR("num/nav\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("undefined\n"), false);
- }
-
- // Host Keyboard LED Status and Double tap
- led_t led_state = host_keyboard_led_state();
- if (led_state.num_lock) {
- oled_write_P(PSTR("NUMLCK "), false);
- } else if (close_tap_it) {
- oled_write_P(PSTR("Close "), false);
- } else {
- oled_write_P(PSTR(" "), false);
- }
-
- if (led_state.caps_lock) {
- oled_write_P(PSTR("CAPLCK "), false);
- } else if (close_tap_it) {
- oled_write_P(PSTR("Tap "), false);
- } else {
- oled_write_P(PSTR(" "), false);
- }
-
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_static_info();
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case _LOWER:
- // Skip/Prev song
- if (clockwise) {
- tap_code(KC_MNXT);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- } else {
- tap_code(KC_MPRV);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- }
- break;
- case _NAV:
- // Brightness control
- if (clockwise) {
- tap_code(KC_BRIU);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- } else {
- tap_code(KC_BRID);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- }
- break;
- default:
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLU);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- } else {
- tap_code(KC_VOLD);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- }
- break;
- }
- } else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- case _RAISE:
- // Scroll through the workspaces
- if (clockwise) {
- tap_code16(G(KC_GT));
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- } else {
- tap_code16(G(KC_LT));
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- }
- break;
- default:
- // Scrolling
- if (clockwise) {
- tap_code(KC_PGDN);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- } else {
- tap_code(KC_PGUP);
- clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
- }
- break;
- }
- }
- return true;
-}
-#endif
-
-void leader_end_user(void) {
- // Sway navigation
- if (leader_sequence_one_key(KC_Q)) { // Jump to workspace 1
- SEND_STRING(SS_LGUI("1"));
- }
- if (leader_sequence_one_key(KC_W)) { // Jump to workspace 2
- SEND_STRING(SS_LGUI("2"));
- }
- if (leader_sequence_one_key(KC_E)) { // Jump to workspace 3
- SEND_STRING(SS_LGUI("3"));
- }
- if (leader_sequence_one_key(KC_R)) { // Jump to workspace 4
- SEND_STRING(SS_LGUI("4"));
- }
- if (leader_sequence_one_key(KC_T)) { // Jump to workspace 5
- SEND_STRING(SS_LGUI("5"));
- }
-
- if (leader_sequence_one_key(KC_Y)) { // Jump to workspace 6
- SEND_STRING(SS_LGUI("6"));
- }
- if (leader_sequence_one_key(KC_U)) { // Jump to workspace 7
- SEND_STRING(SS_LGUI("7"));
- }
- if (leader_sequence_one_key(KC_I)) { // Jump to workspace 8
- SEND_STRING(SS_LGUI("8"));
- }
- if (leader_sequence_one_key(KC_O)) { // Jump to workspace 9
- SEND_STRING(SS_LGUI("9"));
- }
- if (leader_sequence_one_key(KC_P)) { // Jump to workspace 0
- SEND_STRING(SS_LGUI("0"));
- }
- if (leader_sequence_one_key(KC_G)) { // View scratch pad
- SEND_STRING(SS_LGUI("-"));
- }
-
- // Sway move window
- if (leader_sequence_two_keys(KC_M, KC_Q)) { // Move to workspace 1
- SEND_STRING(SS_LSFT(SS_LGUI("1")));
- }
- if (leader_sequence_two_keys(KC_M, KC_W)) { // Move to workspace 2
- SEND_STRING(SS_LSFT(SS_LGUI("2")));
- }
- if (leader_sequence_two_keys(KC_M, KC_E)) { // Move to workspace 3
- SEND_STRING(SS_LSFT(SS_LGUI("3")));
- }
- if (leader_sequence_two_keys(KC_M, KC_R)) { // Move to workspace 4
- SEND_STRING(SS_LSFT(SS_LGUI("4")));
- }
- if (leader_sequence_two_keys(KC_M, KC_T)) { // Move to workspace 5
- SEND_STRING(SS_LSFT(SS_LGUI("5")));
- }
-
- if (leader_sequence_two_keys(KC_M, KC_Y)) { // Move to workspace 6
- SEND_STRING(SS_LSFT(SS_LGUI("6")));
- }
- if (leader_sequence_two_keys(KC_M, KC_U)) { // Move to workspace 7
- SEND_STRING(SS_LSFT(SS_LGUI("7")));
- }
- if (leader_sequence_two_keys(KC_M, KC_I)) { // Move to workspace 8
- SEND_STRING(SS_LSFT(SS_LGUI("8")));
- }
- if (leader_sequence_two_keys(KC_M, KC_O)) { // Move to workspace 9
- SEND_STRING(SS_LSFT(SS_LGUI("9")));
- }
- if (leader_sequence_two_keys(KC_M, KC_P)) { // Move to workspace 0
- SEND_STRING(SS_LSFT(SS_LGUI("0")));
- }
- if (leader_sequence_two_keys(KC_M, KC_G)) { // Move to scratch pad
- SEND_STRING(SS_LSFT(SS_LGUI("-")));
- }
-}
diff --git a/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
deleted file mode 100644
index f35aee8683..0000000000
--- a/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enable the Leader Key feature
-MOUSEKEY_ENABLE = no # Disable mouse, need to save space.
diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/config.h b/keyboards/splitkb/kyria/keymaps/squigglybob/config.h
deleted file mode 100755
index 5ed5c84793..0000000000
--- a/keyboards/splitkb/kyria/keymaps/squigglybob/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2022 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef RGBLIGHT_ENABLE
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_MOOD
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_SNAKE
-# define RGBLIGHT_EFFECT_KNIGHT
-# define RGBLIGHT_EFFECT_CHRISTMAS
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-# define RGBLIGHT_EFFECT_RGB_TEST
-# define RGBLIGHT_EFFECT_ALTERNATING
-# define RGBLIGHT_SAT_STEP 8
-# define RGBLIGHT_VAL_STEP 8
-# define RGBLIGHT_LIMIT_VAL 150
-#endif
-
-#define TAPPING_TOGGLE 2 // can double tap into a layer if set using TT
-#define TAPPING_TERM 175
diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c b/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c
deleted file mode 100755
index 2b5df2a8f5..0000000000
--- a/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c
+++ /dev/null
@@ -1,315 +0,0 @@
-/* Copyright 2019 Thomas Baart<thomas @splitkb.com> **This program is free software : you can redistribute it and / or modify *it under the terms of the GNU General Public License as published by *the Free Software Foundation, either version 2 of the License, or *(at your option)any later version.**This program is distributed in the hope that it will be useful, *but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- _DVERTY = 0,
- _QWERTY,
- _DVORAK,
- _NAV,
- _SYM,
- _SYM_DVERTY,
- _FUNCTION,
- _ADJUST,
-};
-
-// Aliases for readability
-#define QWERTY DF(_QWERTY)
-#define DVERTY DF(_DVERTY)
-#define DVORAK DF(_DVORAK)
-
-#define SYM MO(_SYM)
-#define SYM_DVERTY MO(_SYM_DVERTY)
-#define NAV MO(_NAV)
-#define FKEYS MO(_FUNCTION)
-#define ADJUST MO(_ADJUST)
-
-#define CTL_ESC MT(MOD_LCTL, KC_ESC)
-#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
-#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
-#define ALT_ENT MT(MOD_LALT, KC_ENT)
-#define CTL_ENT MT(MOD_LCTL, KC_ENT)
-#define SFT_SPC MT(MOD_LSFT, KC_SPC)
-#define ALT KC_LEFT_ALT
-
-#define UK_BKSL KC_NUBS // UK backslash
-#define UK_PIPE S(UK_BKSL) // UK pipe symbol
-#define DV_AT S(KC_Q) // Dvorak @ symbol
-
-// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
-// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
-// produces the key `tap` when tapped (i.e. pressed and released)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY (default map)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- * | | | Enter| | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
- ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
- ),
-
-/*
- * Base Layer: DVERTY (a qwerty layout keyboard optimised for a system running UK dvorak)
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | { [ |CapsLk| |F-keys| } ] | N | M | , < | . > | / ? | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LGUI | LAlt |Space/| Nav | | Sym |Enter/| RGUI | AltGr| Menu |
- * | | | |LShift| | | | Ctrl | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_DVERTY] = LAYOUT(
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_SCLN, CTL_QUOT,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_MINS,KC_CAPS, FKEYS , KC_EQL , KC_N, KC_M , KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
- ADJUST , KC_LGUI, ALT , SFT_SPC ,NAV, SYM_DVERTY, CTL_ENT , KC_RGUI,KC_RALT,KC_APP
- ),
-
-/*
- * Base Layer: Dvorak
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _|
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
- * | | | Enter| | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_DVORAK] = LAYOUT(
- KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC,
- CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS,
- KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT,
- ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
- ),
-
-/*
- * Nav Layer: Media, navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | GUI | Alt | Ctrl | Shift| | | PgDn | ↠| ↓ | → | VolDn| Insert |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_NAV] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL,
- _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Sym Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYM] = LAYOUT(
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
- KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
- KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Sym Layer: Numbers and symbols for Dverty layout
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ~ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | CTRL | ! | " | £ | $ | % | | ^ | & | * | ( | ) | # |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | SHIFT | \ | = | + | [ | { | | | | | | } | ] | / | ? | | | @ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | / | ? | | layer| | | | |
- * | | | | | | | off | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_SYM_DVERTY] = LAYOUT(
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_PIPE ,
- CTL_ESC, KC_EXLM , KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS,
- KC_LSFT , UK_BKSL, KC_RBRC, KC_RCBR, KC_MINS, KC_UNDS, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_LBRC, KC_LCBR, UK_PIPE, DV_AT,
- _______, _______, _______, KC_LBRC, KC_LCBR, _______, _______, _______, _______, _______
- ),
-
-/*
- * Function Layer: Function keys
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | F7 | F8 | F9 | F10 | F11 | F12 | | | Shift| Ctrl | Alt | GUI | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_FUNCTION] = 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_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
- _______, _______ , _______ , _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/*
- * Adjust Layer: Default layer settings, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | |QWERTY| | | | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, DVERTY , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______,
- _______, _______, _______, DVORAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______,
- _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
- ),
-
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
- * These default settings can be overriden by your own settings in your keymap.c
- * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
- * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
- */
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // QMK Logo and version information
- // clang-format off
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
- // clang-format on
-
- oled_write_P(qmk_logo, false);
- oled_write_P(PSTR("Kyria rev2\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state|default_layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("QWERTY\n"), false);
- break;
- case _DVORAK:
- oled_write_P(PSTR("Dvorak\n"), false);
- break;
- case _DVERTY:
- oled_write_P(PSTR("Dverty\n"), false);
- break;
- case _NAV:
- oled_write_P(PSTR("Nav\n"), false);
- break;
- case _SYM_DVERTY:
- oled_write_P(PSTR("Sym\n"), false);
- break;
- case _SYM:
- oled_write_P(PSTR("Sym\n"), false);
- break;
- case _FUNCTION:
- oled_write_P(PSTR("Function\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Write host Keyboard LED Status to OLEDs
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- } else {
- // clang-format off
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- // clang-format on
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
- }
- return false;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk b/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk
deleted file mode 100755
index 7de296873a..0000000000
--- a/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-ENCODER_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/config.h b/keyboards/splitkb/kyria/keymaps/tessachka/config.h
deleted file mode 100644
index 1309aec028..0000000000
--- a/keyboards/splitkb/kyria/keymaps/tessachka/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_SLEEP
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
deleted file mode 100644
index 87f51c4cd3..0000000000
--- a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-enum layers {
- QWERTY = 0,
- LOWER,
- RAISE,
- ADJUST
-};
-
-enum custom_keycodes {
- RGBRST = SAFE_RANGE,
- KC_RACL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | TAB/ADJ| A | S | D | F | G | | H | J | K | L | ; : | ENTER |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LSHIFT | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | F16 |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | Space| | MYCM | Calc | F15 | | |
- * | | | Ctrl | LAlt | Lower| | Raise| | | | |
- * `----------------------------------' `----------------------------------'
- */
- [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,
- LT(ADJUST,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_F16,
- XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, LT(LOWER,KC_SPC), LT(RAISE,KC_MYCM), KC_CALC, KC_F15, XXXXXXX, XXXXXXX
- ),
-/*
- * Lower Layer: Numbers and symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | DEL |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | CAPS | - _ | = + | [ { | ] } | | | | | | | ' " | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LSHIFT | TAB | | | | | | | | | | Home | PgDn | PgUp | End | \ | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | Space| | Space| | | | |
- * | | | Ctrl | LAlt | Lower| | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [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_CAPS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_QUOT, KC_NO,
- KC_LSFT, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_BSLS, KC_NO,
- _______, _______, _______, _______, _______, KC_SPC, KC_NO, KC_NO, _______, _______
- ),
-/*
- * Raise Layer: Function Keys
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | |EEPRST| | | | | | | | | | F12 |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LSHIFT | TAB | QK_BOOT| | | | | | | | | Play | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | Space| | MYCM | Prev | Next | | |
- * | | | Ctrl | LAlt | | | Raise| | | | |
- * `----------------------------------' `----------------------------------'
- */
- [RAISE] = LAYOUT(
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_NO, KC_NO, EE_CLR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
- KC_LSFT, KC_TAB, QK_BOOT, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, KC_MPLY, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- _______, _______, _______, _______, KC_SPC , KC_MPRV, KC_MNXT, _______, _______, _______
- ),
-/*
- * Adjust Layer: Arrow keys, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | BTN2 | Up | BTN1 |RGBMOD|RGBTOG| | | | | | | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | Left | Down | Right|RGBSAI|RGBHUI| | | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | RGBRST | |RGBVAI|RGBVAD|RGBSAD|RGBHUD| | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | WBAK | BTN3 | WFWD | | MYCM | Calc | F15 | | |
- * | | | | | | | Raise| | | | |
- * `----------------------------------' `----------------------------------'
- */
- [ADJUST] = LAYOUT(
- KC_NO, KC_BTN2, KC_UP, KC_BTN1, RGB_MOD, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, RGB_SAI, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RGBRST, KC_NO, RGB_VAI, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- _______, _______, KC_WBAK, KC_BTN3, KC_WFWD, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, LOWER, RAISE, ADJUST);
-}
-
-// bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-// switch (keycode) {
-// case MyCustomKeycode:
-// if (record->event.pressed) {
-// // What to do if the button was pressed
-// } else {
-// // What to do if the button was released
-// }
-// break;
-// }
-// return true;
-// }
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_tessachka_logo(void) {
- static const char PROGMEM Tessachka_OLED_Logo_Inverted[] =
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 64, 0, 0, 128, 128, 192, 192, 192, 192, 192, 192, 64, 0, 0,
- 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 64, 0, 0, 128, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 64, 0, 0, 0, 0, 0, 0, 192, 192, 0, 0,
- 0, 0, 0, 0, 0, 128, 192, 192, 192, 192, 192, 192, 192, 192, 128, 0, 0,
- 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 0, 192, 128, 0, 0,
- 0, 0, 128, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 192, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 255, 255, 255, 127, 1, 1, 1, 0, 24, 126, 255, 255, 219,
- 219, 153, 153, 153, 137, 128, 128, 0, 135, 143, 159, 153, 153, 153, 153, 153, 153,
- 249, 240, 224, 0, 135, 143, 159, 153, 153, 153, 153, 153, 153, 249, 240, 224, 0,
- 0, 192, 240, 252, 159, 135, 135, 159, 124, 240, 192, 0, 60, 255, 255, 231, 195,
- 129, 0, 0, 0, 129, 195, 195, 195, 0, 255, 255, 255, 24, 24, 24, 24, 24,
- 24, 255, 255, 255, 0, 255, 255, 255, 28, 62, 127, 247, 227, 193, 128, 0, 0,
- 0, 192, 240, 252, 159, 135, 135, 159, 124, 240, 192, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 3, 3, 3, 3, 1, 0, 0,
- 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0, 0, 1, 3, 3,
- 3, 3, 3, 3, 3, 3, 1, 0, 0, 3, 3, 3, 3, 3, 3, 1, 0,
- 0, 1, 3, 3, 0, 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0,
- 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 3,
- 0, 0, 0, 0, 1, 3, 3, 1, 0, 3, 3, 3, 3, 3, 3, 1, 0,
- 0, 1, 3, 3, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(Tessachka_OLED_Logo_Inverted, sizeof(Tessachka_OLED_Logo_Inverted));
- oled_advance_page(false);
- oled_advance_page(false);
- oled_advance_page(false);
-}
-
-static void render_status(void) {
- // Logo and version information
- render_tessachka_logo();
- oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
- return false;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
deleted file mode 100644
index 7fe734fb72..0000000000
--- a/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-OLED_ENABLE = yes
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
deleted file mode 100644
index 32d8bb7611..0000000000
--- a/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_SLEEP
-#endif
-
-// EC11K encoders have a different resolution than other EC11 encoders.
-// When using the default resolution of 4, if you notice your encoder skipping
-// every other tick, lower the resolution to 2.
-#define ENCODER_RESOLUTION 2
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
-
-// Allows media codes to properly register in macros and rotary encoder code
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
deleted file mode 100644
index 14ce1b1a6e..0000000000
--- a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-uint16_t copy_paste_timer;
-
-enum layers {
- QWERTY = 0,
- LOWER,
- RAISE,
- NAV,
- ADJUST
-};
-
-enum custom_keycodes {
- KC_CCCV = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | LSFT | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LCTL | Z | X | C | V | B | CCCV | | | Del |Leader| N | M | , < | . > | / ? | - _ |
- * `----------------------+------+------+------+------+ | |------+------+------+------+------+----------------------'
- * | GUI | Alt | | Space| Enter| | Bspc | Space| | Tab | AltGr|
- * | | | Lower| Shift| Alt | | | Nav | Raise| | |
- * `----------------------------------' `----------------------------------'
- */
- [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_PIPE,
- 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_CCCV, XXXXXXX, KC_DEL, QK_LEAD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- KC_LGUI, KC_LALT, MO(LOWER), MT(MOD_LSFT, KC_SPC), MT(MOD_LALT, KC_ENT), KC_BSPC, LT(NAV, KC_SPC), MO(RAISE), KC_TAB, KC_RALT
- ),
-/*
- * Lower Layer: Numpad, Media
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | VolUp| | | | / ? | 7 & | 8 * | 9 ( | - _ | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | Prev | Play | Next | | | * | 4 $ | 5 % | 6 ^ | , < | + |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | VolDn| Mute | | | | | | | 0 ) | 1 ! | 2 @ | 3 # | = + | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | Lower| | | | | Nav | Raise| | |
- * `----------------------------------' `----------------------------------'
- */
- [LOWER] = LAYOUT(
- _______, _______, _______, KC_VOLU, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_ASTR, KC_4, KC_5, KC_6, KC_COMM, KC_PLUS,
- _______, _______, _______, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_EQL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Raise Layer: Symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | ! | @ | { | } | | | | | _ | € | | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` | | + | - | / | * | % | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | | | & | = | , | . | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | Lower| | | | | Nav | Raise| | |
- * `----------------------------------' `----------------------------------'
- */
- [RAISE] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_UNDS, ALGR(KC_5),_______,_______,KC_BSLS,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, _______, _______, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Navigation Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | PgUp | Home | Up | End | | ScrlLk |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | | | | | PgDn | Left | Down | Right| | CapsLk |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | Lower| | | | | Nav | Raise| | |
- * `----------------------------------' `----------------------------------'
- */
- [NAV] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, KC_SCRL,
- _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_CAPS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Adjust Layer
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | | | | | | | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | SAI | HUI | VAI | | | | F4 | F5 | F6 | F11 | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | SAD | HUD | VAD | | | | | | | | F1 | F2 | F3 | F12 | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, _______,
- _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, LOWER, RAISE, ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_CCCV: // One key copy/paste
- if (record->event.pressed) {
- copy_paste_timer = timer_read();
- } else {
- if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
- tap_code16(LCTL(KC_C));
- } else { // Tap, paste
- tap_code16(LCTL(KC_V));
- }
- }
- break;
- }
- return true;
-}
-
-void leader_end_user(void) {
- if (leader_sequence_one_key(KC_C)) { // Inline Code
- SEND_STRING("`` " SS_TAP(X_LEFT) SS_TAP(X_LEFT));
- }
- if (leader_sequence_one_key(KC_P)) { // Invoke Password Manager
- SEND_STRING(SS_LCTL(SS_LALT("\\")));
- }
- if (leader_sequence_one_key(KC_S)) { // Windows screenshot
- SEND_STRING(SS_LGUI("\nS"));
- }
- if (leader_sequence_two_keys(KC_F, KC_P)) { // Fusion Projection prefix
- SEND_STRING("[Projection] ");
- }
- if (leader_sequence_two_keys(KC_B, KC_B)) { // Basecone invoice description
- SEND_STRING("[Leveranciersnaam] [Factuurnummer]");
- }
- if (leader_sequence_two_keys(KC_E, KC_S)) { // Support email splitkb
- SEND_STRING("support@splitkb.com");
- }
- if (leader_sequence_two_keys(KC_E, KC_T)) { // Email splitkb
- SEND_STRING("thomas@splitkb.com");
- }
- if (leader_sequence_two_keys(KC_E, KC_P)) { // Email personal
- SEND_STRING("mail@thomasbaart.nl");
- }
- if (leader_sequence_two_keys(KC_S, KC_D)) { // Splitkb documentation
- SEND_STRING("https://docs.splitkb.com/");
- }
- if (leader_sequence_two_keys(KC_S, KC_V)) { // Splitkb VAT number
- SEND_STRING("NL210593349B01");
- }
- if (leader_sequence_two_keys(KC_B, KC_C)) { // Discord bongocat
- SEND_STRING(":bongocat:\n");
- }
- if (leader_sequence_two_keys(KC_C, KC_B)) { // Discord code block
- SEND_STRING("```c" SS_LSFT("\n\n") "``` " SS_TAP(X_UP));
- }
- if (leader_sequence_two_keys(KC_Y, KC_S)) { // Greeting
- SEND_STRING("Yours sincerely,\n\nThomas Baart");
- }
- if (leader_sequence_three_keys(KC_M, KC_V, KC_G)) { // Greeting
- SEND_STRING("Met vriendelijke groet,\n\nThomas Baart");
- }
-}
-
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-
-void matrix_scan_user(void) {
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1000) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
- }
- }
-}
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR(" Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case NAV:
- oled_write_P(PSTR("Navigation\n"), false);
- break;
- case ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
- return false;
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- // History scrubbing. For Adobe products, hold shift while moving
- // backward to go forward instead.
- if (clockwise) {
- tap_code16(C(KC_Z));
- } else {
- tap_code16(C(KC_Y));
- }
- break;
- default:
- // Switch between windows on Windows with alt tab.
- if (clockwise) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- break;
- }
- } else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- case QWERTY:
- // Scrolling with PageUp and PgDn.
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- break;
- default:
- // Volume control.
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
deleted file mode 100644
index a64a9f4e15..0000000000
--- a/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LEADER_ENABLE = yes # Enable the Leader Key feature
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/config.h b/keyboards/splitkb/kyria/keymaps/travishi/config.h
deleted file mode 100644
index c579a76ecc..0000000000
--- a/keyboards/splitkb/kyria/keymaps/travishi/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2022 TravisHi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
-#endif
-
-#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_LAYERS
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_SLEEP
-#endif
-
-// The Leader key allows to flexibly assign macros to key sequences.
-#define LEADER_PER_KEY_TIMING
-#define LEADER_TIMEOUT 350
-
-#define TAPPING_TERM 200
-
-// Allows to use either side as the master. Look at the documentation for info:
-// https://docs.qmk.fm/#/config_options?id=setting-handedness
-#define EE_HANDS
-
-// Allows media codes to properly register in macros and rotary encoder code
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/keymap.c b/keyboards/splitkb/kyria/keymaps/travishi/keymap.c
deleted file mode 100644
index e91d16b8f9..0000000000
--- a/keyboards/splitkb/kyria/keymaps/travishi/keymap.c
+++ /dev/null
@@ -1,423 +0,0 @@
-/* Copyright 2022 TravisHi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- DVORAK = 0,
- QWERTY,
- LAYERS,
- NUMSYM,
- FPSGAMES,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/*
- * Base Layer: DVORAK
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | ' " | , < | . | P | Y | | F | G | C | R | L |L_Qwerty|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Tab | A | O | E | U | I | | D | H | T | N | S | - |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | : ; | Q | J | K | X |LCtrl | | | Win |L_Lay | B | M | W | V | Z | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | Left |Right |L_NumS| Space| Bksp | |R_Alt | ENTER| Del | Up | Down |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, DF(QWERTY),
- KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LCTL, XXXXXXX, KC_LWIN, DF(LAYERS), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- KC_LEFT, KC_RGHT, MO(NUMSYM), KC_SPC, KC_BSPC, KC_RALT, KC_ENT, KC_DEL, KC_UP, KC_DOWN
- ),
-
-
-
-
-
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P |L_Dvorak|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ; : | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B |LCtrl | | | Win |L_Lay | N | M | , < | . > | / ? | RShift |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | Left |Right |L_NumS| Space| Bksp | | RAlt | ENTER| Del | Up | Down |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, DF(DVORAK),
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, XXXXXXX,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, XXXXXXX, KC_LWIN, DF(LAYERS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LEFT, KC_RGHT, MO(NUMSYM), KC_SPC, KC_BSPC, KC_RALT, KC_ENT, KC_DEL, KC_UP, KC_DOWN
- ),
-
-
-
-
-
-/*
- * Base Layer: FPSGAMES
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ESC | 1 | Q | W | E | R | | Y | U | I | O | P |L_Dvorak|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | Tab | 2 | A | S | D | F | | H | K | J | L | ; | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | 3 | Z | X | C | V | |L_NumS| | |L_Lay | N | M | , < | . > | / ? | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | LCtrl| Space| LAlt | | | | Mute |Vol U |Vol D |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [FPSGAMES] = LAYOUT(
- KC_ESC, KC_1, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, DF(DVORAK),
- KC_TAB, KC_2, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, XXXXXXX,
- KC_LSFT, KC_3, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, MO(NUMSYM), XXXXXXX, DF(LAYERS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_LCTL, KC_SPC, KC_LALT, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_VOLD
- ),
-
-
-
-
-
-/*
- * MO Layer: Numbers, symbols & Vol control
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | \ | : | ; | - | [ | { | ( | | ) | } | ] | _ | , | . | / | ? |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | Left |Right | |LShift| Home | | End | | Mute |Vol U |Vol D |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [NUMSYM] = LAYOUT(
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
- KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
- KC_LEFT, KC_RGHT, XXXXXXX, KC_LSFT, KC_HOME, KC_END, XXXXXXX, KC_MUTE, KC_VOLU, KC_VOLD
- ),
-
-
-
-
-
-/*
- * Adjust Layer: Layer index
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | | |FPSGames|Dvorak| | | | | | | |L_Dvorak|
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | | |QWERTY| | | | | | | | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | |NUMSYM| | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [LAYERS] = LAYOUT(
- _______, _______, _______, DF(FPSGAMES), DF(DVORAK), _______, _______, _______, _______, _______, _______, DF(DVORAK),
- _______, _______, _______, _______, DF(QWERTY), _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, MO(NUMSYM), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
-
-// END LAYERS
-
-
-
-
-
-///////////////////////////
-// OLED Display settings
-#ifdef OLED_ENABLE
-
-
-
-
-// WPM-responsive animation stuff here
-# define IDLE_FRAMES 2
-# define IDLE_SPEED 20 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-# define TAP_FRAMES 2
-# define TAP_SPEED 40 // above this wpm value typing animation to trigger
-
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-# define ANIM_SIZE 1024 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
-uint8_t current_tap_frame = 0;
-
-// Code containing pixel art, contains:
-// 5 idle frames, 1 prep frame, and 2 tap frames
-
-// To make your own pixel art:
-// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
-// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
-// replace numbers in brackets with your own
-// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
-
-
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x40,
-0x40, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30,
-0x18, 0x0c, 0x06, 0x02, 0xc2, 0x42, 0x62, 0x22, 0x22, 0x24, 0x2f, 0x39, 0x31, 0x60, 0xe0, 0x10,
-0x10, 0x08, 0x88, 0xcc, 0x44, 0x66, 0x23, 0x21, 0x31, 0x10, 0x98, 0x89, 0x8b, 0x0e, 0x08, 0x10,
-0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x60, 0x18,
-0xe4, 0x1a, 0xe4, 0x1a, 0xcc, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x78, 0x08, 0x08, 0x0c, 0x84, 0x9f, 0xe0, 0xb0,
-0x98, 0x08, 0x0c, 0x04, 0x04, 0x04, 0xe6, 0xe2, 0xf2, 0xf2, 0xb2, 0xb3, 0xe1, 0xe1, 0xc1, 0x81,
-0xe3, 0xbf, 0x81, 0xc0, 0x40, 0x40, 0x60, 0xa0, 0xbe, 0x3f, 0x1b, 0x9b, 0x8f, 0xcf, 0x66, 0x32,
-0x9e, 0xb1, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x0f, 0x08, 0x08, 0x10,
-0xd0, 0x70, 0x08, 0x0e, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x01, 0x01, 0x01, 0x01, 0x11, 0x11, 0x89, 0xcb, 0x4b, 0x4b, 0x8b, 0x87, 0x91, 0x4b, 0x45,
-0xe0, 0xa0, 0xb0, 0xd0, 0x51, 0x79, 0xad, 0xb4, 0xd6, 0x5a, 0x6b, 0x2d, 0x34, 0x96, 0xfb, 0xa9,
-0xbd, 0x46, 0x66, 0x33, 0x19, 0x0c, 0x07, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x70, 0x1c, 0x07,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20,
-0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x38, 0xe0, 0x80, 0xc0, 0x40, 0x60, 0x20, 0x20, 0x20,
-0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x87, 0x8c, 0x88, 0x99, 0xd2, 0x5a, 0x6a, 0x29, 0x2d,
-0x34, 0x94, 0x96, 0x9a, 0xcb, 0x49, 0x69, 0x2c, 0xb4, 0x96, 0x9a, 0x8b, 0x4d, 0x45, 0x46, 0x42,
-0x21, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0e, 0x0b, 0x09, 0x04, 0x04, 0x04, 0x04,
-0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1e, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x06, 0x0e, 0x0a, 0x1a, 0x1b, 0x35, 0x65, 0x45,
-0x45, 0xc3, 0x82, 0x82, 0x81, 0x01, 0x01, 0x01, 0x00, 0x10, 0xf0, 0xf8, 0xf8, 0x78, 0x18, 0x00,
-0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x20, 0x50, 0x10, 0xa0, 0x20, 0x40,
-0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
-0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
-0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x06,
-0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x30, 0x20, 0x20, 0x60,
-0x40, 0x80, 0x80, 0xc0, 0x41, 0x63, 0x26, 0x3c, 0x10, 0x48, 0x88, 0xab, 0x29, 0x70, 0xc0, 0x88,
-0x8e, 0xcf, 0x47, 0x43, 0x41, 0x40, 0x60, 0x20, 0x20, 0x20, 0x30, 0x10, 0x10, 0x18, 0x08, 0x08,
-0x0c, 0x05, 0x06, 0x02, 0x0c, 0x19, 0x3c, 0x29, 0x6a, 0x44, 0x44, 0xc5, 0x84, 0x04, 0x02, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x04, 0x0b, 0x0b, 0x36, 0x28, 0x2f, 0x2c, 0x29, 0x1a, 0x1c, 0x18, 0x1d, 0x16, 0x0a, 0x07,
-0x01, 0x02, 0x02, 0x06, 0x06, 0x0e, 0x0e, 0x1e, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03,
-0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x10},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x40,
-0x40, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30,
-0x18, 0x0c, 0x06, 0x02, 0xc2, 0x42, 0x62, 0x22, 0x22, 0x24, 0x2f, 0x39, 0x31, 0x60, 0xe0, 0x10,
-0x10, 0x08, 0x88, 0xcc, 0x44, 0x66, 0x23, 0x21, 0x31, 0x10, 0x98, 0x89, 0x8b, 0x0e, 0x08, 0x10,
-0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x98, 0x66, 0x0d, 0x72, 0x0d, 0x72, 0x0c, 0x30, 0x08,
-0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x78, 0x08, 0x08, 0x0c, 0x84, 0x9f, 0xe0, 0xb0,
-0x98, 0x08, 0x0c, 0x04, 0x04, 0x04, 0xe6, 0xe2, 0xf2, 0xf2, 0xb2, 0xb3, 0xe1, 0xe1, 0xc1, 0x81,
-0xe3, 0xbf, 0x81, 0xc0, 0x40, 0x40, 0x60, 0xa0, 0xbe, 0x3f, 0x1b, 0x9b, 0x8f, 0xcf, 0x66, 0x32,
-0x9e, 0xb1, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x04, 0xf8, 0x08, 0x08, 0x04, 0x04,
-0x07, 0x0c, 0xf8, 0x80, 0x00, 0xfc, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x01, 0x01, 0x01, 0x01, 0x11, 0x11, 0x89, 0xcb, 0x4b, 0x4b, 0x8b, 0x87, 0x91, 0x4b, 0x45,
-0xe0, 0xa0, 0xb0, 0xd0, 0x51, 0x79, 0xad, 0xb4, 0xd6, 0x5a, 0x6b, 0x2d, 0x34, 0x96, 0xfb, 0x29,
-0x3d, 0x16, 0x16, 0x13, 0x11, 0x10, 0x30, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20,
-0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x38, 0xe0, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x07, 0x3c, 0xe7, 0x8c, 0x38, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
-0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x87, 0x8c, 0x88, 0x99, 0xd2, 0x5a, 0x6a, 0x29, 0x2d,
-0x34, 0x94, 0x96, 0x9a, 0xcb, 0x49, 0x69, 0x2c, 0xb4, 0x96, 0x9a, 0x8b, 0x4d, 0x45, 0x46, 0x42,
-0x20, 0x20, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04,
-0x0a, 0x12, 0x22, 0x21, 0x41, 0x81, 0x01, 0x00, 0x00, 0x04, 0x1c, 0xfc, 0x3c, 0x0c, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3c,
-0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x82, 0x87, 0x85, 0x8d, 0x49, 0x49, 0x49,
-0x6c, 0x24, 0x24, 0x24, 0x24, 0x14, 0x14, 0x16, 0x12, 0x0a, 0x0a, 0x0a, 0x0b, 0x05, 0x05, 0x05,
-0x05, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x06, 0x04, 0x04, 0x0c, 0x08,
-0x18, 0x20, 0xe0, 0xf0, 0x90, 0x18, 0xc9, 0x0e, 0x44, 0x92, 0x22, 0x2a, 0x4a, 0x9c, 0xb0, 0xe0,
-0x60, 0x04, 0x07, 0x87, 0x83, 0x81, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
-0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
-0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0x80, 0x80,
-0x80, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x60, 0x20, 0x20, 0x20, 0x30, 0x10, 0x10, 0x18, 0x08, 0x08,
-0x0c, 0x05, 0x02, 0x02, 0x0d, 0x1a, 0x3b, 0x2b, 0x6a, 0x46, 0x47, 0xc6, 0x87, 0x05, 0x02, 0x01,
-0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x04, 0x0a, 0x0a, 0x32, 0x22, 0x25, 0x29, 0x21, 0x15, 0x10, 0x15, 0x10, 0x12, 0x08, 0x05,
-0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03,
-0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x10}
-};
-
-
-
- // assumes 1 frame prep stage
- void animation_phase(void) {
- current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
- oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
- }
-
- if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- }
- else {
-
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
- }
-}
-
-
-
-
-
-
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-
-static void render_keymap(void) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(default_layer_state)) {
- case DVORAK:
- oled_write_P(PSTR("Dvorak\n\n"), false);
- oled_write_P(PSTR("' , . p y f g c r l \n"), false);
- oled_write_P(PSTR("a o e i u d h t n s \n"), false);
- oled_write_P(PSTR("; q j k x b m w v z \n"), false);
- break;
- case QWERTY:
- oled_write_P(PSTR("Qwerty\n\n"), false);
- oled_write_P(PSTR("q w e r t y u i o p \n"), false);
- oled_write_P(PSTR("a s d f g h j k l ; \n"), false);
- oled_write_P(PSTR("z x c v b n m , . / \n"), false);
- break;
- case NUMSYM:
- oled_write_P(PSTR("Num & Sym\n\n"), false);
- oled_write_P(PSTR("`12345 | 67890= \n"), false);
- oled_write_P(PSTR("~!@#$P | ^&*()+ \n"), false);
- oled_write_P(PSTR("|\\:;-[{ }]_,./? \n"), false);
- break;
- case FPSGAMES:
- oled_write_P(PSTR("FPS Games \n\n"), false);
- oled_write_P(PSTR("1 q W e r | \n"), false);
- oled_write_P(PSTR("2 A S D f | \n"), false);
- oled_write_P(PSTR("3 z x c v | \n"), false);
- break;
- case LAYERS:
- oled_write_P(PSTR("Index Layer\n\n"), false);
- oled_write_P(PSTR("- - G D - | - - - - - \n"), false);
- oled_write_P(PSTR("- - - Q - | - - - - - \n"), false);
- oled_write_P(PSTR("- - - N - | - - - - - \n"), false);
- break;
- default:
- oled_write_P(PSTR("ERR No Layer!\n"), false);
- }
-}
-
-
-
-// Host Keyboard LED Status
-/*
-static void render_indicator_status(void) {
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-*/
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- render_keymap();
- } else {
- //render_indicator_status();
- //oled_write_P(PSTR(" Kyria rev1.4\n\n"), false);
- render_anim(); // renders pixelart
- }
- return false;
-}
-#endif \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/readme.md b/keyboards/splitkb/kyria/keymaps/travishi/readme.md
deleted file mode 100644
index c7b1f6dd1a..0000000000
--- a/keyboards/splitkb/kyria/keymaps/travishi/readme.md
+++ /dev/null
@@ -1,99 +0,0 @@
-# Introduction
-This keyboard layout centers around Dvorak, harnesing the power of the Kyria thumb
-clusters and layers to reduce finger and wrist movement.
-
-## IMPORTANT NOTE
-This keymap will only work if you have all the kyria keys available! If you've used 2u keys on the thumb cluster, or have broken off a column, this layout will not work!
-
----
-
-## Features
-- **Dvorak:** So you don't have to leave the home row so much.
-- **Qwerty:** So you don't have to remap common programs.
-- **Custom FPS gaming layer:** Because the WASD stagger is so extreme on the Kyria.
-- **A number layer:** To access numbers, symbols and volume controls.
-- **Index Layer:** To help navigate thru base layers without wasting accessible keys.
-- And a very *very* rare **fren** to tag along on your adventures.
-
-## Guiding ideology
-- Use lower thumb keys as much as possible.
-- Minimise home row departure.
-- Minimize or eliminate non home row pinkie finger use.
-- Create macros for very common key shortcuts (ctrl + c/v/s, ctrl+shift+home etc.).
-- Create macros for very common commands (git status, git pull, git push etc.).
-- Use hints to indicate current layer (rgb lighting/OLED display).
-- Allow graceful layer handling (emergency return to default layer/layer index layer).
----
-
-
-# Current Layers
-- Base1: dvorak
-- Base2: qwerty
-- Base3: Gaming layer (WASD is too staggered on Kyria)
-- MO layer: Number, Symbol & volume control layer
-
-## Future Layers
-
-- F keys
-- FE macros
-- Git macros
-
----
-
-
-# Issues
-### Major
-- [x] None
-
-### Minor
-- [ ] Backlight LEDs dont indicate layer
-- [ ] Not fully using thumb clusters
-- [ ] Function keys and indicators missing (NUM, CAPS, SCROLL)
-- [ ] No Macro layers
-
----
-
-# Helpful Links
-
-- QMK Docs https://docs.qmk.fm/#/
-- [Keymap diagram editor for the Kyria](http://www.keyboard-layout-editor.com/##@_name=Kyria%3B&@_y:0.25&x:3&a:7%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.75&x:3%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.75&x:3%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.5&x:2.5%3B&=&_x:10%3B&=%3B&@_rx:4&ry:8.175&y:-4.675000000000001&x:-0.5%3B&=%3B&@_rx:13&y:-4.675000000000001&x:-0.5%3B&=%3B&@_r:15&rx:4&y:-4.675000000000001&x:-0.5%3B&=%3B&@_r:30&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:45&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-45&rx:13&y:-5.675000000000001&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-30&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-15&y:-1&x:-0.5%3B&=)
-- [Thomas' Guide for creating OLED images](https://docs.splitkb.com/hc/en-us/articles/360013811280)
-- [Image converter](https://javl.github.io/image2cpp/)
-
----
-
-## Useful notes
-Various useful info for setting up your own keyboard layout.
-
-### Install QMK Tool steps
-[QMK Setup (Windows)](https://docs.qmk.fm/#/newbs_getting_started)
-- Install QMK MSYS,
-- Install Toolbox,
-- Using QMK MSYS, follow the setup guide, then `cd` to where you've cloned the `qmk_firmware` folder,
-- `qmk compile` to generate your .hex file (it should be located in the `qmk_firmware` folder),
-- Using QMK Toolbox, flash the .hex file to your keyboard halves (drag your hex file into the toolbox window, press the reset button on the keyboard, the toolbox should detect this, then press flash. You need to reset each half separately).
-- Congrats, all done!
-
-
----
-### Layer template
-```
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-```
-
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/rules.mk b/keyboards/splitkb/kyria/keymaps/travishi/rules.mk
deleted file mode 100644
index 398b5debfa..0000000000
--- a/keyboards/splitkb/kyria/keymaps/travishi/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# Enabled features
-LEADER_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-OLED_ENABLE = yes
-
-WPM_ENABLE = yes
-
-
-# Disabled features
-ENCODER_ENABLE = no # Enables the use of one or more encoders
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h
index 6c21b12a84..d666099135 100644
--- a/keyboards/splitkb/kyria/rev1/config.h
+++ b/keyboards/splitkb/kyria/rev1/config.h
@@ -45,12 +45,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define OLED_DISPLAY_128X64
# define SPLIT_OLED_ENABLE
#endif
-
-/* RGB matrix support */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 20 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 10, 10 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json
index aa38a7dd0c..38a2e6bf3f 100644
--- a/keyboards/splitkb/kyria/rev1/info.json
+++ b/keyboards/splitkb/kyria/rev1/info.json
@@ -9,7 +9,10 @@
"split_count": [10, 10]
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 170,
+ "sleep": true,
+ "split_count": [10, 10]
},
"matrix_pins": {
"cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
@@ -28,6 +31,11 @@
{"pin_a": "B5", "pin_b": "C6"}
]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"layout_aliases": {
diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h
index 198688772b..452e011f0a 100644
--- a/keyboards/splitkb/kyria/rev2/config.h
+++ b/keyboards/splitkb/kyria/rev2/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Side detection
// col 4 row 3 on right-hand-side
#define SPLIT_HAND_MATRIX_GRID E6, B3 // row first because the board is col2row
-#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
#define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `rev2.c`
/*
@@ -51,12 +50,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define OLED_DISPLAY_128X64
# define SPLIT_OLED_ENABLE
#endif
-
-/* RGB matrix support */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 20 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 10, 10 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json
index 6e362d9548..0290153f4a 100644
--- a/keyboards/splitkb/kyria/rev2/info.json
+++ b/keyboards/splitkb/kyria/rev2/info.json
@@ -9,7 +9,10 @@
"split_count": [10, 10]
},
"rgb_matrix": {
- "driver": "ws2812"
+ "driver": "ws2812",
+ "max_brightness": 170,
+ "sleep": true,
+ "split_count": [10, 10]
},
"matrix_pins": {
"cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"],
@@ -34,6 +37,11 @@
"cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6"],
"rows": ["D4", "C6", "D7", "E6"]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"layout_aliases": {
diff --git a/keyboards/splitkb/kyria/rev3/config.h b/keyboards/splitkb/kyria/rev3/config.h
index 5168e8678e..b0a64320c6 100644
--- a/keyboards/splitkb/kyria/rev3/config.h
+++ b/keyboards/splitkb/kyria/rev3/config.h
@@ -25,10 +25,3 @@
# define OLED_DISPLAY_128X64
# define SPLIT_OLED_ENABLE
#endif
-
-// Not yet available in `info.json`
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 62
-# define RGB_MATRIX_SPLIT { 31, 31 }
-# define SPLIT_TRANSPORT_MIRROR
-#endif
diff --git a/keyboards/splitkb/kyria/rev3/info.json b/keyboards/splitkb/kyria/rev3/info.json
index 07713f9658..4a426cb206 100644
--- a/keyboards/splitkb/kyria/rev3/info.json
+++ b/keyboards/splitkb/kyria/rev3/info.json
@@ -110,6 +110,11 @@
{"pin_a": "F4", "pin_b": "F5"}
]
}
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ }
}
},
"rgblight": {
@@ -187,6 +192,7 @@
{"flags": 4, "matrix": [4, 5], "x": 210, "y": 11}, // R SW05
{"flags": 4, "matrix": [4, 6], "x": 224, "y": 11} // R SW06
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "split_count": [31, 31]
}
}
diff --git a/keyboards/splitography/keymaps/jeandeaual/keymap.c b/keyboards/splitography/keymaps/jeandeaual/keymap.c
deleted file mode 100644
index 6e0f818688..0000000000
--- a/keyboards/splitography/keymaps/jeandeaual/keymap.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* Copyright 2021 Alexis Jeandeau
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 keyboard_layers {
- _GEMINI = 0,
- _QWERTY,
- _DVORAK,
- _BLUE,
- _ORANGE,
- _GREEN,
- _NUM,
- _END_LAYERS,
-};
-
-enum keyboard_keycodes {
- QWERTY = SAFE_RANGE,
- DVORAK,
- BASE,
- BASE1,
- BASE2,
- GEMINI,
- BLUE,
- ORANGE,
-};
-
-#define COPY LCTL(KC_C)
-#define CUT LCTL(KC_X)
-#define PASTE LCTL(KC_V)
-#define UNDO LCTL(KC_Z)
-#define TG_NUM TG(_NUM)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // ...................................................................... GeminiPR
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ T │ P │ H │ * │ * │ F │ P │ L │ T │ D │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ K │ W │ R │ * │ * │ R │ B │ G │ S │ Z │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ A │ O │ E │ U │
- // └──────┴──────┴──────┴──────┘
-
- [_GEMINI] = LAYOUT(
- STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC ,
- BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR ,
- BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR ,
- STN_A, STN_O, STN_E, STN_U
- ),
-
- // ...................................................................... Qwerty
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LALT
- ),
-
- // ...................................................................... Dvorak
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ " │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT ,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LALT
- ),
-
- // .................................................................. Blue Layer
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ Stop │ Prev │ Play │ Next │ +Vol │ │ │ │ [ │ ] │ ' │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Undo │ Cut │ Copy │ Paste│ -Vol │ Mute │ │ │ - │ = │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ f() │ Del │ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_BLUE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
- KC_LCTL, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_QUOT,
- KC_LSFT, UNDO, CUT, COPY, PASTE, KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LGUI,
- ORANGE, _______, KC_DEL, KC_LALT
- ),
-
- // ................................................................ Orange Layer
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ │ F1 │ F2 │ F3 │ F4 │ │ App │ PrScr│ScrLck│ Pause│ │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ F5 │ F6 │ F7 │ F8 │ │ │Insert│ Home │ PgUp │ │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ F9 │ F10 │ F11 │ F12 │ │ │ Del │ End │ PgDn │ \ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ f() │ Blue │ Tab │ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_ORANGE] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_APP, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, XXXXXXX,
- KC_LCTL, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX,
- KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_BSLS, KC_LGUI,
- _______, BLUE, KC_TAB, KC_LALT
- ),
-
- // ................................................................. Green Layer
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │Gemini│QWERTY│Dvorak│ │ │Scroll│ / │ 7 │ 8 │ 9 │ - │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ Home │ Up │ End │ PgUp │ Caps │ * │ 4 │ 5 │ 6 │ + │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Left │ Down │ Right│ PgDn │ Num │ 0 │ 1 │ 2 │ 3 │ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ f() │ f() │ -- │ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_GREEN] = LAYOUT(
- GEMINI, QWERTY, DVORAK, XXXXXXX, XXXXXXX, KC_SCRL, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_MINS, XXXXXXX,
- KC_LCTL, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_ENT ,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, TG_NUM, KC_P0, KC_P1, KC_P2, KC_P3, XXXXXXX, KC_LGUI,
- _______, _______, XXXXXXX, KC_LALT
- ),
-
- // ................................................................... Num Layer
- //
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ │ │ │ │ │ │ / │ 7 │ 8 │ 9 │ - │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Ctrl │ Home │ Up │ End │ PgUp │ │ * │ 4 │ 5 │ 6 │ + │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Left │ Down │ Right│ PgDn │ f() │ 0 │ 1 │ 2 │ 3 │ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ -- │ -- │ -- │ Alt │
- // └──────┴──────┴──────┴──────┘
-
- [_NUM] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, XXXXXXX,
- KC_LCTL, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_ENT ,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, BASE, KC_P0, KC_P1, KC_P2, KC_P3, XXXXXXX, KC_LGUI,
- XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT
- ),
-};
-// clang-format on
-
-// ..................................................................... Keymaps
-
-#define BASE_1 1
-#define BASE_2 2
-#define BASE_12 3
-static uint8_t base_n = 0;
-
-void (*base_layer)(void) = NULL;
-
-void qwerty(void) {
- base_layer = qwerty;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_QWERTY);
-}
-
-void dvorak(void) {
- base_layer = dvorak;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_DVORAK);
-}
-
-void gemini(void) {
- layer_move(0);
- set_single_persistent_default_layer(_GEMINI);
-}
-
-// ........................................................... User Keycode Trap
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- qwerty();
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- dvorak();
- }
- return false;
- case KC_QUOT:
- if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
- break;
- }
- if (record->event.pressed) {
- register_code(KC_SLSH);
- } else {
- unregister_code(KC_SLSH);
- }
- return false;
- case BASE:
- if (record->event.pressed) {
- base_layer();
- }
- return false;
- case BASE1:
- if (record->event.pressed) {
- base_n = base_n | BASE_1;
- if (base_n == BASE_12) {
- base_layer();
- }
- } else {
- base_n = base_n & ~BASE_1;
- }
- return false;
- case BASE2:
- if (record->event.pressed) {
- base_n = base_n | BASE_2;
- if (base_n == BASE_12) {
- base_layer();
- }
- } else {
- base_n = base_n & ~BASE_2;
- }
- return false;
- case BLUE:
- if (record->event.pressed) {
- layer_on(_BLUE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- } else {
- layer_off(_BLUE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- }
- return false;
- case ORANGE:
- if (record->event.pressed) {
- layer_on(_ORANGE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- } else {
- layer_off(_ORANGE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- }
- return false;
- case GEMINI:
- if (record->event.pressed) {
- gemini();
- }
- return false;
- }
- return true;
-}
-
-// Initialize the steno protocol
-void eeconfig_init_user(void) {
- steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT
- base_layer = dvorak;
-}
diff --git a/keyboards/splitography/keymaps/jeandeaual/readme.md b/keyboards/splitography/keymaps/jeandeaual/readme.md
deleted file mode 100644
index 8e786b7fc5..0000000000
--- a/keyboards/splitography/keymaps/jeandeaual/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Differences with the [default layout](../default)
-
-* Alt and Ctrl are shifted.
-* Use Gemini PR instead of TX Bolt.
-* The Plover layer has been removed.
-* QWERTY and Dvorak like in the [multi layout](../multi).
-* The default layer is set to the steno (Gemini PR) layout.
diff --git a/keyboards/splitography/keymaps/multi/keymap.c b/keyboards/splitography/keymaps/multi/keymap.c
deleted file mode 100644
index 42ab737698..0000000000
--- a/keyboards/splitography/keymaps/multi/keymap.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/* Copyright 2021 Alexis Jeandeau
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 keyboard_layers {
- _QWERTY = 0,
- _DVORAK,
- _COLEMAK,
- _WORKMAN,
- _TXBOLT,
- _PLOVER,
- _BLUE,
- _ORANGE,
- _GREEN,
- _NUM,
- _END_LAYERS,
-};
-
-enum keyboard_keycodes {
- QWERTY = SAFE_RANGE,
- DVORAK,
- COLEMAK,
- WORKMAN,
- BASE,
- BASE1,
- BASE2,
- TXBOLT,
- PLOVER,
- BLUE,
- ORANGE,
-};
-
-#define COPY LCTL(KC_C)
-#define CUT LCTL(KC_X)
-#define PASTE LCTL(KC_V)
-#define UNDO LCTL(KC_Z)
-#define TG_NUM TG(_NUM)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // ...................................................................... Qwerty
- //
- // http://www.keyboard-layout-editor.com/#/gists/1b04ce6be0cee6e5d2998b2a8efb8b09
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LCTL
- ),
-
- // ...................................................................... Dvorak
- //
- // http://www.keyboard-layout-editor.com/#/gists/1b04ce6be0cee6e5d2998b2a8efb8b09
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ " │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_LALT, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT ,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LCTL
- ),
-
- // ..................................................................... Colemak
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_COLEMAK] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_LALT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LCTL
- ),
-
- // ..................................................................... Workman
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ Esc │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ Bksp │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ Blue │ Space│ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_WORKMAN] = LAYOUT(
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
- KC_LALT, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
- ORANGE, BLUE, KC_SPC, KC_LCTL
- ),
-
- // .................................................................. Blue Layer
- //
- // http://www.keyboard-layout-editor.com/#/gists/054b8bc0e31971bb962ea1c781232e0b
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ Stop │ Prev │ Play │ Next │ +Vol │ │ │ │ [ │ ] │ ' │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Undo │ Cut │ Copy │ Paste│ -Vol │ Mute │ │ │ - │ = │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │Orange│ f() │ Del │ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_BLUE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
- KC_LALT, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_QUOT,
- KC_LSFT, UNDO, CUT, COPY, PASTE, KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LGUI,
- ORANGE, _______, KC_DEL, KC_LCTL
- ),
-
- // ................................................................ Orange Layer
- //
- // http://www.keyboard-layout-editor.com/#/gists/83ccc7c3faa78b1f67f6fef65063a248
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │Plover│ F1 │ F2 │ F3 │ F4 │ │ App │ PrScr│ScrLck│ Pause│ │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ F5 │ F6 │ F7 │ F8 │ │ │Insert│ Home │ PgUp │ │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ F9 │ F10 │ F11 │ F12 │ │ │ Del │ End │ PgDn │ \ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ f() │ Blue │ Tab │ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_ORANGE] = LAYOUT(
- PLOVER, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_APP, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, XXXXXXX,
- KC_LALT, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX,
- KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_BSLS, KC_LGUI,
- _______, BLUE, KC_TAB, KC_LCTL
- ),
-
- // ................................................................. Green Layer
- //
- // http://www.keyboard-layout-editor.com/#/gists/bc7902f1eada4d7d34d3445aa1eccdab
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │TxBolt│QWERTY│Dvorak│Colemk│Workmn│Scroll│ / │ 7 │ 8 │ 9 │ - │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ Home │ Up │ End │ PgUp │ Caps │ * │ 4 │ 5 │ 6 │ + │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Left │ Down │ Right│ PgDn │ Num │ 0 │ 1 │ 2 │ 3 │ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ f() │ f() │ -- │ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_GREEN] = LAYOUT(
- TXBOLT, QWERTY, DVORAK, COLEMAK, WORKMAN, KC_SCRL, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_MINS, XXXXXXX,
- KC_LALT, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_ENT ,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, TG_NUM, KC_P0, KC_P1, KC_P2, KC_P3, XXXXXXX, KC_LGUI,
- _______, _______, XXXXXXX, KC_LCTL
- ),
-
- // ................................................................... Num Layer
- //
- // http://www.keyboard-layout-editor.com/#/gists/bc7902f1eada4d7d34d3445aa1eccdab
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ │ │ │ │ │ │ / │ 7 │ 8 │ 9 │ - │ │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Alt │ Home │ Up │ End │ PgUp │ │ * │ 4 │ 5 │ 6 │ + │ Enter│
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Shift│ Left │ Down │ Right│ PgDn │ f() │ 0 │ 1 │ 2 │ 3 │ │ GUI │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ -- │ -- │ -- │ Ctrl │
- // └──────┴──────┴──────┴──────┘
-
- [_NUM] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, XXXXXXX,
- KC_LALT, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_ENT ,
- KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, BASE, KC_P0, KC_P1, KC_P2, KC_P3, XXXXXXX, KC_LGUI,
- XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL
- ),
-
- // ...................................................................... Plover
- //
- // http://www.keyboard-layout-editor.com/#/gists/27b8f8649393a8ba4071ba946a9306f4
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ T │ P │ H │ * │ * │ F │ P │ L │ T │ D │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ K │ W │ R │ * │ * │ R │ B │ G │ S │ Z │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ A │ O │ E │ U │
- // └──────┴──────┴──────┴──────┘
-
- [_PLOVER] = LAYOUT(
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
- BASE1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- BASE2, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_C, KC_V, KC_N, KC_M
- ),
-
- // ...................................................................... TxBolt
- //
- // http://www.keyboard-layout-editor.com/#/gists/27b8f8649393a8ba4071ba946a9306f4
-
- // ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
- // │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │ # │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ T │ P │ H │ * │ * │ F │ P │ L │ T │ D │
- // ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
- // │ Base │ S │ K │ W │ R │ * │ * │ R │ B │ G │ S │ Z │
- // └──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- // │ A │ O │ E │ U │
- // └──────┴──────┴──────┴──────┘
-
- [_TXBOLT] = LAYOUT(
- STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC ,
- BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR ,
- BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR ,
- STN_A, STN_O, STN_E, STN_U
- ),
-};
-// clang-format on
-
-// ..................................................................... Keymaps
-
-#define BASE_1 1
-#define BASE_2 2
-#define BASE_12 3
-static uint8_t base_n = 0;
-
-void (*base_layer)(void) = NULL;
-
-void qwerty(void) {
- base_layer = qwerty;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_QWERTY);
-}
-
-void dvorak(void) {
- base_layer = dvorak;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_DVORAK);
-}
-
-void colemak(void) {
- base_layer = colemak;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_COLEMAK);
-}
-
-void workman(void) {
- base_layer = workman;
- base_n = 0;
- layer_move(0);
- set_single_persistent_default_layer(_WORKMAN);
-}
-
-void plover(keyrecord_t *record) {
- if (record->event.pressed) {
- layer_move(0);
- layer_on(_PLOVER);
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
- keymap_config.raw = eeconfig_read_keymap();
- keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
- }
-}
-
-void txbolt(void) {
- layer_move(0);
- layer_on(_TXBOLT);
-}
-
-// ........................................................... User Keycode Trap
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- qwerty();
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- dvorak();
- }
- return false;
- case KC_QUOT:
- if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
- break;
- }
- if (record->event.pressed) {
- register_code(KC_SLSH);
- } else {
- unregister_code(KC_SLSH);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- colemak();
- }
- return false;
- case WORKMAN:
- if (record->event.pressed) {
- workman();
- }
- return false;
- case BASE:
- if (record->event.pressed) {
- base_layer();
- }
- return false;
- case BASE1:
- if (record->event.pressed) {
- base_n = base_n | BASE_1;
- if (base_n == BASE_12) {
- base_layer();
- }
- } else {
- base_n = base_n & ~BASE_1;
- }
- return false;
- case BASE2:
- if (record->event.pressed) {
- base_n = base_n | BASE_2;
- if (base_n == BASE_12) {
- base_layer();
- }
- } else {
- base_n = base_n & ~BASE_2;
- }
- return false;
- case BLUE:
- if (record->event.pressed) {
- layer_on(_BLUE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- } else {
- layer_off(_BLUE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- }
- return false;
- case ORANGE:
- if (record->event.pressed) {
- layer_on(_ORANGE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- } else {
- layer_off(_ORANGE);
- update_tri_layer(_BLUE, _ORANGE, _GREEN);
- }
- return false;
- case PLOVER:
- plover(record);
- return false;
- case TXBOLT:
- if (record->event.pressed) {
- txbolt();
- }
- return false;
- }
- return true;
-}
-
-// Initialize the steno protocol
-void eeconfig_init_user(void) {
- steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_BOLT
-}
diff --git a/keyboards/splitography/keymaps/multi/readme.md b/keyboards/splitography/keymaps/multi/readme.md
deleted file mode 100644
index 2eb7d8f98c..0000000000
--- a/keyboards/splitography/keymaps/multi/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Differences with the [default layout](../default)
-
-* QWERTY, Dvorak, Colemak and Workman are available by pressing Orange + Blue + one of the top left keys:
-
-```
-┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────â”
-│TxBolt│QWERTY│Dvorak│Colemk│Workmn│Scroll│ / │ 7 │ 8 │ 9 │ - │ │
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ Alt │ Home │ Up │ End │ PgUp │ Caps │ * │ 4 │ 5 │ 6 │ + │ Enter│
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ Shift│ Left │ Down │ Right│ PgDn │ Num │ 0 │ 1 │ 2 │ 3 │ │ GUI │
-└──────┴──────┴──────┴──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┴──────┘
- │ f() │ f() │ -- │ Ctrl │
- └──────┴──────┴──────┴──────┘
-```
diff --git a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c b/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c
deleted file mode 100644
index 0962521903..0000000000
--- a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2022 Peter C. Park <peter@stenokeyboards.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received 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 uni_layers {
- _PLOVER,
- _UTILITY,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_PLOVER] = LAYOUT(
- STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR ,
- STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR ,
- MO(_UTILITY), STN_A, STN_O, STN_E, STN_U, STN_N2),
- [_UTILITY] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP ,KC_RIGHT, KC_VOLU,
- _______, STN_N1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
-
-};
-
-void keyboard_post_init_user(void) {
- steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT
- }
diff --git a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/readme.md b/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/readme.md
deleted file mode 100644
index 152ef0bbe1..0000000000
--- a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Utility Bar Uni Layout
-
-## Default layer
-
-![The Uni Layout Image](https://i.imgur.com/z9AfjYZ.png)
-
-## Utility bar layer
-
-![The Uni Layout Image](https://i.imgur.com/JcU2Frh.png)
-
-
-Use this layout if you want to do modifier+mouse actions like shift+click. There is also arrows and volume keys on the right side.
-
-To use, press and hold the bottom left number key, which temporarily switches the layer to the utility bar layer.
diff --git a/keyboards/stront/config.h b/keyboards/stront/config.h
index 13c76a80e2..c1dfd3162a 100644
--- a/keyboards/stront/config.h
+++ b/keyboards/stront/config.h
@@ -34,60 +34,3 @@
#define BACKLIGHT_PWM_DRIVER PWMD7
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
#define QUANTUM_PAINTER_LVGL_USE_CUSTOM_CONF
-
-/* RGB config */
-#ifdef RGB_MATRIX_ENABLE
-# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT RGBLED_NUM
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
-# define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
-# define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
-# define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues
-# if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
-# endif
-# if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-# endif
-#endif
diff --git a/keyboards/stront/info.json b/keyboards/stront/info.json
index 40be364688..88ccb2c6d0 100644
--- a/keyboards/stront/info.json
+++ b/keyboards/stront/info.json
@@ -65,6 +65,7 @@
"transport": {
"sync": {
"indicators": true,
+ "matrix_state": true,
"modifiers": true
}
}
@@ -101,6 +102,51 @@
"split_count": [19, 19]
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"led_count": 38,
"split_count": [19, 19],
@@ -144,7 +190,8 @@
{ "flags": 4, "matrix": [4, 2], "x": 180, "y": 0 },
{ "flags": 4, "matrix": [4, 3], "x": 167, "y": 5 },
{ "flags": 4, "matrix": [4, 4], "x": 153, "y": 7 }
- ]
+ ],
+ "sleep": true
},
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/stront/keymaps/zzeneg/config.h b/keyboards/stront/keymaps/zzeneg/config.h
deleted file mode 100644
index 38fad1c0fd..0000000000
--- a/keyboards/stront/keymaps/zzeneg/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// #define DEBUG_MATRIX_SCAN_RATE
-
-#define SPLIT_TRANSACTION_IDS_USER RPC_ID_USER_HID_SYNC, RPC_ID_USER_CAPS_WORD_SYNC, RPC_ID_USER_LAYER_SYNC
-#define QUANTUM_PAINTER_DISPLAY_TIMEOUT 0
-
-#define I2C_DRIVER I2CD1
-#define I2C1_SDA_PIN GP10
-#define I2C1_SCL_PIN GP11
-
-#define CIRQUE_PINNACLE_TAP_ENABLE
-#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE
-#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
-#define MOUSE_EXTENDED_REPORT
-
-#define TAPPING_TERM 150
-#define TAPPING_TERM_PER_KEY
-#define QUICK_TAP_TERM 0
-
-#define CAPS_WORD_IDLE_TIMEOUT 2500
-#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_TIMEOUT 300000
-# define RGB_TRIGGER_ON_KEYDOWN
-#endif
diff --git a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c
deleted file mode 100644
index f03a7835a6..0000000000
--- a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c
+++ /dev/null
@@ -1,782 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-/*******************************************************************************
- * Size: 20 px
- * Bpp: 4
- * Opts:
- ******************************************************************************/
-
-#ifdef __has_include
-# if __has_include("lvgl.h")
-# ifndef LV_LVGL_H_INCLUDE_SIMPLE
-# define LV_LVGL_H_INCLUDE_SIMPLE
-# endif
-# endif
-#endif
-
-#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
-# include "lvgl.h"
-#else
-# include "lvgl/lvgl.h"
-#endif
-
-#ifndef MONTSERRAT_20_EN_RU
-# define MONTSERRAT_20_EN_RU 1
-#endif
-
-#if MONTSERRAT_20_EN_RU
-
-/*-----------------
- * BITMAPS
- *----------------*/
-
-/*Store the image of the glyphs*/
-static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
- /* U+0020 " " */
-
- /* U+0021 "!" */
- 0x3f, 0x63, 0xf6, 0x2f, 0x52, 0xf5, 0x1f, 0x41, 0xf4, 0xf, 0x40, 0xf3, 0xf, 0x30, 0xf2, 0x2, 0x0, 0x0, 0x1, 0x5, 0xf8, 0x3f, 0x60,
-
- /* U+0022 "\"" */
- 0x9a, 0x3, 0xf0, 0x99, 0x2, 0xf0, 0x99, 0x2, 0xf0, 0x89, 0x2, 0xf0, 0x89, 0x1, 0xf0, 0x44, 0x0, 0x70,
-
- /* U+0023 "#" */
- 0x0, 0x0, 0x6b, 0x0, 0x2, 0xe0, 0x0, 0x0, 0x0, 0x79, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x97, 0x0, 0x6, 0xa0, 0x0, 0x0, 0x0, 0xb6, 0x0, 0x8, 0x80, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x1, 0x22, 0xf4, 0x22, 0x2c, 0x62, 0x20, 0x0, 0x1, 0xf0, 0x0, 0xd, 0x30, 0x0, 0x0, 0x2, 0xe0, 0x0, 0xf, 0x10, 0x0, 0x0, 0x4, 0xc0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x6, 0xa0, 0x0, 0x3d, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x12, 0x2b, 0x82, 0x22, 0x8b, 0x22, 0x10, 0x0, 0xc, 0x50, 0x0, 0x88, 0x0, 0x0, 0x0, 0xe, 0x30, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x10, 0x0, 0xc4, 0x0, 0x0,
-
- /* U+0024 "$" */
- 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0xb6, 0x0, 0x0, 0xbf, 0x98, 0xd6, 0xaf, 0x90, 0x6, 0xf4, 0x4, 0xb0, 0x1, 0x20, 0xa, 0xc0, 0x4, 0xb0, 0x0, 0x0, 0xb, 0xc0, 0x4, 0xb0, 0x0, 0x0, 0x7, 0xf6, 0x4, 0xb0, 0x0, 0x0, 0x0, 0xcf, 0xca, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x5, 0xda, 0xff, 0x60, 0x0, 0x0, 0x4, 0xb0, 0x1b, 0xf1, 0x0, 0x0, 0x4, 0xb0, 0x3, 0xf5, 0x0, 0x0, 0x4, 0xb0, 0x2, 0xf4, 0xb, 0x50, 0x4, 0xb0, 0x9, 0xf1, 0x9, 0xfd, 0x88, 0xd7, 0xcf, 0x50, 0x0, 0x29, 0xdf, 0xfe, 0xa3, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x50, 0x0, 0x0,
-
- /* U+0025 "%" */
- 0x0, 0x9d, 0xd9, 0x0, 0x0, 0x0, 0xd5, 0x0, 0x8, 0x90, 0x9, 0x80, 0x0, 0x7, 0xb0, 0x0, 0xe, 0x10, 0x1, 0xe0, 0x0, 0x2e, 0x10, 0x0, 0x2d, 0x0, 0x0, 0xd2, 0x0, 0xb6, 0x0, 0x0, 0x2e, 0x0, 0x0, 0xe2, 0x6, 0xc0, 0x0, 0x0, 0xe, 0x10, 0x1, 0xe0, 0x1e, 0x20, 0x0, 0x0, 0x8, 0xb1, 0x1b, 0x80, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x8e, 0xe8, 0x4, 0xd0, 0x2b, 0xfd, 0x40, 0x0, 0x0, 0x0, 0xe, 0x30, 0xe5, 0x3, 0xe2, 0x0, 0x0, 0x0, 0x99, 0x6, 0xa0, 0x0, 0x88, 0x0, 0x0, 0x3, 0xe1, 0x8, 0x70, 0x0, 0x4b, 0x0, 0x0, 0xd, 0x50, 0x8, 0x70, 0x0, 0x4b, 0x0, 0x0, 0x7b, 0x0, 0x6, 0xa0, 0x0, 0x78, 0x0, 0x2, 0xe1, 0x0, 0x0, 0xe3, 0x2, 0xe2, 0x0, 0xc, 0x60, 0x0, 0x0, 0x2c, 0xdd, 0x40,
-
- /* U+0026 "&" */
- 0x0, 0x1, 0xae, 0xfd, 0x50, 0x0, 0x0, 0x0, 0xd, 0xc3, 0x16, 0xf3, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0xc8, 0x0, 0x0, 0x0, 0x3f, 0x10, 0x0, 0xc7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x6, 0xf2, 0x0, 0x0, 0x0, 0x6, 0xf4, 0x9f, 0x50, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xfc, 0xe2, 0x0, 0x0, 0x0, 0x1, 0xdc, 0x10, 0xcd, 0x10, 0xa, 0x20, 0x9, 0xd0, 0x0, 0xd, 0xd1, 0x1f, 0x10, 0xf, 0x70, 0x0, 0x1, 0xdc, 0x8c, 0x0, 0xf, 0x60, 0x0, 0x0, 0x2e, 0xf6, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x1c, 0xfa, 0x0, 0x3, 0xfd, 0x63, 0x48, 0xec, 0x4f, 0x90, 0x0, 0x29, 0xef, 0xfc, 0x60, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0027 "'" */
- 0x9a, 0x99, 0x99, 0x89, 0x89, 0x44,
-
- /* U+0028 "(" */
- 0x0, 0xd8, 0x5, 0xf1, 0xc, 0x90, 0x1f, 0x40, 0x5f, 0x0, 0x9d, 0x0, 0xba, 0x0, 0xd9, 0x0, 0xe8, 0x0, 0xe7, 0x0, 0xe8, 0x0, 0xd9, 0x0, 0xba, 0x0, 0x9d, 0x0, 0x5f, 0x0, 0x1f, 0x40, 0xc, 0x90, 0x5, 0xf1, 0x0, 0xd8,
-
- /* U+0029 ")" */
- 0xe, 0x70, 0x0, 0x7e, 0x0, 0x1, 0xf5, 0x0, 0xb, 0xb0, 0x0, 0x7f, 0x0, 0x3, 0xf2, 0x0, 0x1f, 0x40, 0x0, 0xf6, 0x0, 0xe, 0x70, 0x0, 0xe7, 0x0, 0xe, 0x70, 0x0, 0xf6, 0x0, 0x1f, 0x40, 0x3, 0xf2, 0x0, 0x7f, 0x0, 0xb, 0xa0, 0x1, 0xf5, 0x0, 0x7e, 0x0, 0xe, 0x60, 0x0,
-
- /* U+002A "*" */
- 0x0, 0x9, 0x50, 0x0, 0x23, 0x9, 0x50, 0x50, 0x3e, 0x9a, 0x7c, 0xc1, 0x0, 0x9f, 0xf5, 0x0, 0x6, 0xed, 0xdd, 0x30, 0x5b, 0x29, 0x54, 0xd1, 0x0, 0x9, 0x50, 0x0, 0x0, 0x4, 0x20, 0x0,
-
- /* U+002B "+" */
- 0x0, 0x0, 0xb4, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0xe8, 0x33, 0x30, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x0,
-
- /* U+002C "," */
- 0x12, 0xd, 0xf1, 0xaf, 0x15, 0xc0, 0x88, 0xc, 0x30,
-
- /* U+002D "-" */
- 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf7, 0x33, 0x33, 0x31,
-
- /* U+002E "." */
- 0x12, 0xd, 0xf1, 0xad, 0x0,
-
- /* U+002F "/" */
- 0x0, 0x0, 0x0, 0x7, 0x20, 0x0, 0x0, 0x3, 0xf1, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x60, 0x0, 0x0, 0x4, 0xf1, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x60, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0,
-
- /* U+0030 "0" */
- 0x0, 0x8, 0xdf, 0xea, 0x20, 0x0, 0x1, 0xdf, 0x86, 0x7d, 0xf3, 0x0, 0xb, 0xe2, 0x0, 0x0, 0xce, 0x10, 0x3f, 0x50, 0x0, 0x0, 0x1f, 0x70, 0x9e, 0x0, 0x0, 0x0, 0xa, 0xd0, 0xca, 0x0, 0x0, 0x0, 0x7, 0xf0, 0xe8, 0x0, 0x0, 0x0, 0x4, 0xf2, 0xf8, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xe8, 0x0, 0x0, 0x0, 0x4, 0xf2, 0xca, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x9e, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x3f, 0x50, 0x0, 0x0, 0x1f, 0x70, 0xb, 0xe2, 0x0, 0x0, 0xce, 0x10, 0x1, 0xdf, 0x96, 0x7e, 0xf3, 0x0, 0x0, 0x8, 0xdf, 0xea, 0x20, 0x0,
-
- /* U+0031 "1" */
- 0xdf, 0xff, 0xe4, 0x55, 0xae, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0,
-
- /* U+0032 "2" */
- 0x0, 0x7c, 0xff, 0xea, 0x20, 0x2, 0xdf, 0x96, 0x68, 0xef, 0x20, 0x4c, 0x10, 0x0, 0x1, 0xea, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x0, 0xc, 0xb0, 0x0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x0, 0x0, 0x2, 0xea, 0x0, 0x0, 0x0, 0x2, 0xec, 0x0, 0x0, 0x0, 0x1, 0xdc, 0x0, 0x0, 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0xcf, 0x75, 0x55, 0x55, 0x53, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x90,
-
- /* U+0033 "3" */
- 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x1, 0x55, 0x55, 0x55, 0x8f, 0x70, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x0, 0x0, 0x3, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x20, 0x0, 0x0, 0x0, 0xf, 0xff, 0xb4, 0x0, 0x0, 0x0, 0x33, 0x5b, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x67, 0x0, 0x0, 0x0, 0xbf, 0x6, 0xfe, 0x96, 0x68, 0xdf, 0x50, 0x2, 0x8d, 0xff, 0xea, 0x30, 0x0,
-
- /* U+0034 "4" */
- 0x0, 0x0, 0x0, 0x2, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9e, 0x10, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x40, 0x0, 0x0, 0x0, 0x0, 0x2e, 0x90, 0x0, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x2a, 0x10, 0x0, 0x4, 0xf6, 0x0, 0x4, 0xf2, 0x0, 0x1, 0xea, 0x0, 0x0, 0x4f, 0x20, 0x0, 0xbe, 0x21, 0x11, 0x15, 0xf3, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x44, 0x44, 0x44, 0x47, 0xf5, 0x43, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x20, 0x0,
-
- /* U+0035 "5" */
- 0x0, 0xef, 0xff, 0xff, 0xfc, 0x0, 0xf, 0x95, 0x55, 0x55, 0x40, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x0, 0x4, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x11, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xeb, 0x40, 0x0, 0x24, 0x44, 0x47, 0xcf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x3c, 0x20, 0x0, 0x0, 0xaf, 0x13, 0xef, 0xb7, 0x67, 0xdf, 0x60, 0x0, 0x7c, 0xef, 0xeb, 0x40, 0x0,
-
- /* U+0036 "6" */
- 0x0, 0x5, 0xbe, 0xfe, 0xb4, 0x0, 0xa, 0xfa, 0x64, 0x6a, 0x60, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x0, 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x7, 0xdf, 0xfc, 0x50, 0xf, 0x8c, 0xc5, 0x35, 0xaf, 0x80, 0xee, 0xb0, 0x0, 0x0, 0x8f, 0x2d, 0xf2, 0x0, 0x0, 0x0, 0xf7, 0xaf, 0x0, 0x0, 0x0, 0xe, 0x85, 0xf3, 0x0, 0x0, 0x0, 0xf7, 0xd, 0xb0, 0x0, 0x0, 0x8f, 0x20, 0x2e, 0xd6, 0x45, 0xbf, 0x60, 0x0, 0x19, 0xdf, 0xfb, 0x40, 0x0,
-
- /* U+0037 "7" */
- 0x5f, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xf6, 0x55, 0x55, 0x55, 0xeb, 0x5f, 0x10, 0x0, 0x0, 0x3f, 0x55, 0xf1, 0x0, 0x0, 0xa, 0xe0, 0x2, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x60, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x0, 0x0, 0xd, 0xb0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x0,
-
- /* U+0038 "8" */
- 0x0, 0x5, 0xcf, 0xfe, 0xa3, 0x0, 0x0, 0x9f, 0xa5, 0x46, 0xcf, 0x50, 0x3, 0xf7, 0x0, 0x0, 0xb, 0xe0, 0x7, 0xf0, 0x0, 0x0, 0x4, 0xf3, 0x8, 0xf0, 0x0, 0x0, 0x3, 0xf4, 0x5, 0xf3, 0x0, 0x0, 0x7, 0xf1, 0x0, 0xce, 0x40, 0x0, 0x7f, 0x80, 0x0, 0x1e, 0xff, 0xff, 0xfb, 0x0, 0x2, 0xed, 0x63, 0x33, 0x7e, 0xc0, 0xc, 0xd0, 0x0, 0x0, 0x2, 0xf7, 0xf, 0x70, 0x0, 0x0, 0x0, 0xbc, 0xf, 0x80, 0x0, 0x0, 0x0, 0xcb, 0xb, 0xe1, 0x0, 0x0, 0x4, 0xf7, 0x2, 0xee, 0x85, 0x45, 0xaf, 0xc0, 0x0, 0x18, 0xdf, 0xfe, 0xb6, 0x0,
-
- /* U+0039 "9" */
- 0x0, 0x2a, 0xef, 0xea, 0x20, 0x0, 0x4, 0xfc, 0x64, 0x6c, 0xf4, 0x0, 0xe, 0xb0, 0x0, 0x0, 0x9e, 0x10, 0x3f, 0x30, 0x0, 0x0, 0x1f, 0x80, 0x5f, 0x10, 0x0, 0x0, 0xd, 0xd0, 0x4f, 0x20, 0x0, 0x0, 0xf, 0xf0, 0x1f, 0x90, 0x0, 0x0, 0x7f, 0xf1, 0x7, 0xf9, 0x21, 0x28, 0xf7, 0xf2, 0x0, 0x6e, 0xff, 0xfc, 0x35, 0xf1, 0x0, 0x0, 0x23, 0x10, 0x7, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x2, 0xdc, 0x0, 0x3, 0xb6, 0x55, 0x9f, 0xc1, 0x0, 0x3, 0xae, 0xff, 0xc6, 0x0, 0x0,
-
- /* U+003A ":" */
- 0xbe, 0x1d, 0xf1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd, 0xf1, 0xad, 0x0,
-
- /* U+003B ";" */
- 0xbe, 0x1d, 0xf1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd, 0xf1, 0xaf, 0x15, 0xc0, 0x88, 0xc, 0x30,
-
- /* U+003C "<" */
- 0x0, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x1, 0x7e, 0xe1, 0x0, 0x3, 0xaf, 0xc5, 0x0, 0x6, 0xdf, 0x93, 0x0, 0x0, 0x9f, 0x70, 0x0, 0x0, 0x0, 0x5d, 0xe8, 0x20, 0x0, 0x0, 0x0, 0x4b, 0xfb, 0x40, 0x0, 0x0, 0x0, 0x28, 0xee, 0x70, 0x0, 0x0, 0x0, 0x5, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+003D "=" */
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0x33, 0x33, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0x33, 0x33, 0x30,
-
- /* U+003E ">" */
- 0x41, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xb4, 0x0, 0x0, 0x0, 0x2, 0x9f, 0xd7, 0x10, 0x0, 0x0, 0x0, 0x6c, 0xf9, 0x30, 0x0, 0x0, 0x0, 0x3c, 0xf1, 0x0, 0x0, 0x5, 0xbf, 0xa0, 0x0, 0x18, 0xee, 0x81, 0x0, 0x3b, 0xfb, 0x50, 0x0, 0x0, 0x89, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+003F "?" */
- 0x1, 0x7c, 0xff, 0xe9, 0x20, 0x2e, 0xe8, 0x55, 0x8e, 0xe2, 0x5b, 0x10, 0x0, 0x2, 0xfa, 0x0, 0x0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x2e, 0xc0, 0x0, 0x0, 0x2, 0xec, 0x0, 0x0, 0x0, 0xc, 0xd0, 0x0, 0x0, 0x0, 0x3f, 0x50, 0x0, 0x0, 0x0, 0x27, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x50, 0x0, 0x0, 0x0, 0x5f, 0x40, 0x0,
-
- /* U+0040 "@" */
- 0x0, 0x0, 0x4, 0x9d, 0xff, 0xec, 0x82, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xe8, 0x31, 0x1, 0x49, 0xe9, 0x0, 0x0, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x1, 0xad, 0x10, 0x0, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x0, 0xb, 0x80, 0x0, 0x4b, 0xff, 0xc5, 0xf, 0x50, 0xc7, 0x3, 0xf0, 0x0, 0x6f, 0x83, 0x25, 0xd7, 0xf5, 0x3, 0xe0, 0x89, 0x0, 0x2f, 0x50, 0x0, 0x0, 0xdf, 0x50, 0xd, 0x4c, 0x50, 0x9, 0xc0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x97, 0xe3, 0x0, 0xd8, 0x0, 0x0, 0x0, 0xf, 0x50, 0x7, 0x9f, 0x20, 0xe, 0x60, 0x0, 0x0, 0x0, 0xf5, 0x0, 0x69, 0xe3, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x1f, 0x50, 0x7, 0x9c, 0x50, 0x9, 0xd0, 0x0, 0x0, 0x5, 0xf5, 0x0, 0x96, 0x89, 0x0, 0x2f, 0x70, 0x0, 0x1, 0xdf, 0x50, 0xe, 0x23, 0xf0, 0x0, 0x6f, 0xa4, 0x36, 0xe7, 0xcc, 0x39, 0xb0, 0xb, 0x80, 0x0, 0x4b, 0xff, 0xc5, 0x3, 0xdf, 0xb1, 0x0, 0x2e, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xe8, 0x31, 0x12, 0x5a, 0x40, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9d, 0xff, 0xeb, 0x71, 0x0, 0x0, 0x0,
-
- /* U+0041 "A" */
- 0x0, 0x0, 0x0, 0xcf, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xc7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x1f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe, 0x80, 0x3, 0xf4, 0x0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x7f, 0x33, 0x33, 0x33, 0x33, 0xcc, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xe, 0xa0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x10,
-
- /* U+0042 "B" */
- 0xbf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0xbd, 0x44, 0x44, 0x46, 0xcf, 0x60, 0xbc, 0x0, 0x0, 0x0, 0xb, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xbc, 0x0, 0x0, 0x2, 0x8f, 0x50, 0xbf, 0xff, 0xff, 0xff, 0xf9, 0x0, 0xbd, 0x33, 0x33, 0x34, 0x7d, 0xe2, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xda, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x8e, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xbc, 0x0, 0x0, 0x0, 0x1, 0xeb, 0xbd, 0x44, 0x44, 0x45, 0x7e, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xd9, 0x20,
-
- /* U+0043 "C" */
- 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x3, 0xef, 0xa7, 0x57, 0xbf, 0xc1, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3d, 0x20, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x4e, 0x30, 0x4, 0xef, 0xa7, 0x67, 0xbf, 0xb0, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0,
-
- /* U+0044 "D" */
- 0xbf, 0xff, 0xff, 0xfd, 0xa3, 0x0, 0x0, 0xbd, 0x55, 0x55, 0x58, 0xdf, 0xa0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf6, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x0, 0xbd, 0x55, 0x55, 0x58, 0xdf, 0xa0, 0x0, 0xbf, 0xff, 0xff, 0xfd, 0xa3, 0x0, 0x0,
-
- /* U+0045 "E" */
- 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xb, 0xd5, 0x55, 0x55, 0x55, 0x40, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0x0, 0xbd, 0x33, 0x33, 0x33, 0x30, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xd5, 0x55, 0x55, 0x55, 0x51, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x30,
-
- /* U+0046 "F" */
- 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xbd, 0x55, 0x55, 0x55, 0x54, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x11, 0x11, 0x11, 0x10, 0xbf, 0xff, 0xff, 0xff, 0xf0, 0xbd, 0x44, 0x44, 0x44, 0x40, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0047 "G" */
- 0x0, 0x0, 0x6c, 0xef, 0xec, 0x60, 0x0, 0x3, 0xef, 0xa7, 0x57, 0xaf, 0xd2, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x2c, 0x40, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x64, 0xe9, 0x0, 0x0, 0x0, 0x0, 0xd, 0x9b, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x6f, 0x30, 0x0, 0x0, 0x0, 0xd, 0x90, 0xdd, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x2f, 0x90, 0x3, 0xef, 0xb7, 0x67, 0xbf, 0xe3, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x60, 0x0,
-
- /* U+0048 "H" */
- 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x11, 0x11, 0x11, 0x11, 0x8f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0x44, 0x44, 0x44, 0x44, 0xaf, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f,
-
- /* U+0049 "I" */
- 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
-
- /* U+004A "J" */
- 0x0, 0xbf, 0xff, 0xff, 0xd0, 0x3, 0x55, 0x55, 0xbd, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0xbc, 0xb, 0x50, 0x0, 0x1f, 0x80, 0x9f, 0xa5, 0x6d, 0xf1, 0x0, 0x6d, 0xff, 0xb2, 0x0,
-
- /* U+004B "K" */
- 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf4, 0xb, 0xc0, 0x0, 0x0, 0x6, 0xf5, 0x0, 0xbc, 0x0, 0x0, 0x4, 0xf7, 0x0, 0xb, 0xc0, 0x0, 0x3, 0xf9, 0x0, 0x0, 0xbc, 0x0, 0x2, 0xea, 0x0, 0x0, 0xb, 0xc0, 0x1, 0xec, 0x0, 0x0, 0x0, 0xbc, 0x1, 0xde, 0x10, 0x0, 0x0, 0xb, 0xc0, 0xcf, 0xf3, 0x0, 0x0, 0x0, 0xbc, 0xbe, 0x3d, 0xe1, 0x0, 0x0, 0xb, 0xff, 0x30, 0x2f, 0xb0, 0x0, 0x0, 0xbf, 0x40, 0x0, 0x5f, 0x80, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x7f, 0x50, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xaf, 0x20, 0xb, 0xc0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2, 0xeb, 0x0,
-
- /* U+004C "L" */
- 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbd, 0x55, 0x55, 0x55, 0x53, 0xbf, 0xff, 0xff, 0xff, 0xf9,
-
- /* U+004D "M" */
- 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xdb, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfd, 0xbf, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xdb, 0xef, 0x60, 0x0, 0x0, 0x0, 0x4f, 0xed, 0xbb, 0xbe, 0x0, 0x0, 0x0, 0xd, 0xc9, 0xdb, 0xb2, 0xf7, 0x0, 0x0, 0x5, 0xf3, 0x9d, 0xbb, 0x9, 0xf1, 0x0, 0x0, 0xda, 0x9, 0xdb, 0xb0, 0x1e, 0x90, 0x0, 0x6f, 0x10, 0x9d, 0xbb, 0x0, 0x6f, 0x20, 0xe, 0x80, 0x9, 0xdb, 0xb0, 0x0, 0xda, 0x8, 0xe0, 0x0, 0x9d, 0xbb, 0x0, 0x4, 0xf4, 0xf6, 0x0, 0x9, 0xdb, 0xb0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x9d, 0xbb, 0x0, 0x0, 0x2f, 0x40, 0x0, 0x9, 0xdb, 0xb0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x9d, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xd0,
-
- /* U+004E "N" */
- 0xbd, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbf, 0xa0, 0x0, 0x0, 0x0, 0x7f, 0xbf, 0xf6, 0x0, 0x0, 0x0, 0x7f, 0xbd, 0xef, 0x30, 0x0, 0x0, 0x7f, 0xbc, 0x4f, 0xd1, 0x0, 0x0, 0x7f, 0xbc, 0x7, 0xfb, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0xbf, 0x70, 0x0, 0x7f, 0xbc, 0x0, 0x1e, 0xf3, 0x0, 0x7f, 0xbc, 0x0, 0x3, 0xfe, 0x10, 0x7f, 0xbc, 0x0, 0x0, 0x7f, 0xc0, 0x7f, 0xbc, 0x0, 0x0, 0xa, 0xf8, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0xdf, 0xcf, 0xbc, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xbc, 0x0, 0x0, 0x0, 0x6, 0xff, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x9f,
-
- /* U+004F "O" */
- 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0, 0x3, 0xef, 0xa6, 0x57, 0xbf, 0xc1, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x2b, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xaf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xab, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0x3, 0xef, 0xa7, 0x67, 0xcf, 0xc1, 0x0, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0,
-
- /* U+0050 "P" */
- 0xbf, 0xff, 0xff, 0xec, 0x60, 0x0, 0xbd, 0x55, 0x55, 0x6a, 0xfc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x3f, 0x90, 0xbc, 0x0, 0x0, 0x0, 0x8, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xbc, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xbc, 0x11, 0x11, 0x26, 0xee, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xa1, 0x0, 0xbd, 0x44, 0x44, 0x30, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0051 "Q" */
- 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0, 0x0, 0x3e, 0xfa, 0x65, 0x7b, 0xfc, 0x10, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x0, 0x2, 0xfa, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x70, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xd, 0xd0, 0x0, 0x0, 0x0, 0x2, 0xfa, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0x0, 0x3e, 0xfa, 0x76, 0x7c, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x7c, 0xff, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf7, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x81, 0x18, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x20, 0x0,
-
- /* U+0052 "R" */
- 0xbf, 0xff, 0xff, 0xec, 0x60, 0x0, 0xbd, 0x55, 0x55, 0x6a, 0xfc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x3f, 0x90, 0xbc, 0x0, 0x0, 0x0, 0x8, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xbc, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xbc, 0x11, 0x11, 0x26, 0xee, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xa1, 0x0, 0xbd, 0x44, 0x43, 0x4f, 0x70, 0x0, 0xbc, 0x0, 0x0, 0x7, 0xf2, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf2,
-
- /* U+0053 "S" */
- 0x0, 0x6, 0xcf, 0xfe, 0xb6, 0x0, 0x0, 0xbf, 0x95, 0x46, 0xaf, 0x90, 0x6, 0xf4, 0x0, 0x0, 0x1, 0x20, 0xa, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x1, 0x5a, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xb, 0x50, 0x0, 0x0, 0x9, 0xf1, 0x9, 0xfd, 0x85, 0x57, 0xcf, 0x50, 0x0, 0x29, 0xdf, 0xfe, 0xa3, 0x0,
-
- /* U+0054 "T" */
- 0xef, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x45, 0x55, 0x5f, 0xa5, 0x55, 0x52, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0,
-
- /* U+0055 "U" */
- 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xcb, 0x0, 0x0, 0x0, 0x0, 0xd9, 0xad, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x6f, 0x30, 0x0, 0x0, 0x5, 0xf3, 0xe, 0xd1, 0x0, 0x0, 0x2e, 0xb0, 0x3, 0xee, 0x96, 0x69, 0xfd, 0x10, 0x0, 0x19, 0xdf, 0xfd, 0x80, 0x0,
-
- /* U+0056 "V" */
- 0xbd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x5f, 0x40, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x7, 0xf1, 0x0, 0x0, 0x0, 0x1f, 0x70, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x7f, 0x10, 0x0, 0xae, 0x0, 0x0, 0x0, 0xda, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x4, 0xf3, 0x0, 0x0, 0xd, 0xb0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x6, 0xf2, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x9e, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x65, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xc, 0xcc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0,
-
- /* U+0057 "W" */
- 0x1f, 0x60, 0x0, 0x0, 0x0, 0xaf, 0x0, 0x0, 0x0, 0x1, 0xf5, 0xc, 0xb0, 0x0, 0x0, 0x0, 0xff, 0x50, 0x0, 0x0, 0x6, 0xf0, 0x7, 0xf1, 0x0, 0x0, 0x5, 0xfd, 0xa0, 0x0, 0x0, 0xb, 0xb0, 0x2, 0xf5, 0x0, 0x0, 0xa, 0xb7, 0xf0, 0x0, 0x0, 0xf, 0x60, 0x0, 0xda, 0x0, 0x0, 0xf, 0x62, 0xf4, 0x0, 0x0, 0x5f, 0x10, 0x0, 0x8f, 0x0, 0x0, 0x4f, 0x10, 0xd9, 0x0, 0x0, 0xac, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x9b, 0x0, 0x8e, 0x0, 0x0, 0xf7, 0x0, 0x0, 0xe, 0x90, 0x0, 0xe6, 0x0, 0x2f, 0x30, 0x4, 0xf2, 0x0, 0x0, 0x9, 0xe0, 0x4, 0xf1, 0x0, 0xd, 0x80, 0x9, 0xd0, 0x0, 0x0, 0x4, 0xf3, 0x9, 0xc0, 0x0, 0x8, 0xd0, 0xe, 0x80, 0x0, 0x0, 0x0, 0xf8, 0xe, 0x70, 0x0, 0x3, 0xf3, 0x3f, 0x30, 0x0, 0x0, 0x0, 0xad, 0x3f, 0x20, 0x0, 0x0, 0xe8, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xbc, 0x0, 0x0, 0x0, 0x9d, 0xd9, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf7, 0x0, 0x0, 0x0, 0x4f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xb, 0xf2, 0x0, 0x0, 0x0, 0xe, 0xe0, 0x0, 0x0,
-
- /* U+0058 "X" */
- 0x1e, 0xb0, 0x0, 0x0, 0x0, 0x8f, 0x20, 0x4f, 0x60, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x9f, 0x20, 0x0, 0xd, 0xb0, 0x0, 0x0, 0xec, 0x0, 0x9, 0xe1, 0x0, 0x0, 0x4, 0xf7, 0x4, 0xf5, 0x0, 0x0, 0x0, 0x9, 0xf4, 0xea, 0x0, 0x0, 0x0, 0x0, 0xd, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xcf, 0x50, 0x0, 0x0, 0x0, 0xd, 0xc0, 0xbe, 0x10, 0x0, 0x0, 0x8, 0xf2, 0x1, 0xeb, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x5, 0xf6, 0x0, 0x0, 0xeb, 0x0, 0x0, 0xa, 0xf2, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x1e, 0xb0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x4f, 0x60,
-
- /* U+0059 "Y" */
- 0xbd, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x62, 0xf7, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x8, 0xf1, 0x0, 0x0, 0x3, 0xf4, 0x0, 0x1e, 0x90, 0x0, 0x0, 0xca, 0x0, 0x0, 0x6f, 0x20, 0x0, 0x5f, 0x20, 0x0, 0x0, 0xdb, 0x0, 0xe, 0x80, 0x0, 0x0, 0x4, 0xf4, 0x8, 0xe0, 0x0, 0x0, 0x0, 0xb, 0xd2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x40, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0,
-
- /* U+005A "Z" */
- 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x55, 0x55, 0x55, 0x55, 0x6f, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x1, 0xeb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x65, 0x55, 0x55, 0x55, 0x52, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60,
-
- /* U+005B "[" */
- 0xbf, 0xff, 0xbc, 0x33, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbc, 0x33, 0xbf, 0xff,
-
- /* U+005C "\\" */
- 0x45, 0x0, 0x0, 0x0, 0x5, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xa9, 0x0, 0x0, 0x0, 0x5, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x0, 0x9a, 0x0, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0x4, 0xf0,
-
- /* U+005D "]" */
- 0x9f, 0xff, 0x12, 0x37, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x12, 0x37, 0xf1, 0x9f, 0xff, 0x10,
-
- /* U+005E "^" */
- 0x0, 0x0, 0x73, 0x0, 0x0, 0x0, 0x4f, 0xc0, 0x0, 0x0, 0xa, 0x7e, 0x30, 0x0, 0x1, 0xf1, 0x89, 0x0, 0x0, 0x7a, 0x2, 0xf0, 0x0, 0xe, 0x40, 0xb, 0x60, 0x5, 0xd0, 0x0, 0x5d, 0x0, 0xb7, 0x0, 0x0, 0xe3, 0x2f, 0x10, 0x0, 0x8, 0xa0,
-
- /* U+005F "_" */
- 0xff, 0xff, 0xff, 0xff, 0xff,
-
- /* U+0060 "`" */
- 0x7, 0x60, 0x0, 0x2, 0xda, 0x0, 0x0, 0xb, 0xb0,
-
- /* U+0061 "a" */
- 0x4, 0xae, 0xff, 0xb3, 0x6, 0xfb, 0x64, 0x6d, 0xf3, 0x14, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0x8, 0xe0, 0x6c, 0xef, 0xff, 0xfe, 0x7f, 0x73, 0x22, 0x29, 0xed, 0x90, 0x0, 0x0, 0x8e, 0xd9, 0x0, 0x0, 0xd, 0xe7, 0xf7, 0x11, 0x4c, 0xde, 0x6, 0xdf, 0xfc, 0x57, 0xe0,
-
- /* U+0062 "b" */
- 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x61, 0x9e, 0xfe, 0x91, 0x0, 0xf, 0x9e, 0xb6, 0x47, 0xee, 0x30, 0xf, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x60, 0x0, 0x0, 0x0, 0xca, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0xf8, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0x8e, 0xb6, 0x58, 0xee, 0x20, 0xf, 0x52, 0x9e, 0xfe, 0x91, 0x0,
-
- /* U+0063 "c" */
- 0x0, 0x4, 0xbe, 0xfe, 0x91, 0x0, 0x7, 0xfb, 0x64, 0x7e, 0xe1, 0x4, 0xf7, 0x0, 0x0, 0x1a, 0x20, 0xcc, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x1, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf8, 0x0, 0x0, 0x1a, 0x20, 0x7, 0xfb, 0x65, 0x8e, 0xd1, 0x0, 0x3, 0xbe, 0xfe, 0x91, 0x0,
-
- /* U+0064 "d" */
- 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xd9, 0x0, 0x8f, 0xb5, 0x47, 0xea, 0xd9, 0x5, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0xc, 0xc0, 0x0, 0x0, 0x4, 0xf9, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0x0, 0x8f, 0xb6, 0x58, 0xea, 0xc9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xc9,
-
- /* U+0065 "e" */
- 0x0, 0x5, 0xcf, 0xfc, 0x50, 0x0, 0x0, 0x8f, 0x95, 0x49, 0xf9, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x4f, 0x50, 0xc, 0xa0, 0x0, 0x0, 0x9, 0xc0, 0xf, 0x60, 0x0, 0x0, 0x4, 0xf0, 0x1f, 0xfe, 0xee, 0xee, 0xef, 0xf2, 0xf, 0x71, 0x11, 0x11, 0x11, 0x10, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf7, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7f, 0xc6, 0x56, 0xcf, 0x30, 0x0, 0x3, 0xbe, 0xfe, 0xa2, 0x0,
-
- /* U+0066 "f" */
- 0x0, 0x7, 0xef, 0xd3, 0x0, 0x6f, 0x74, 0x72, 0x0, 0xbb, 0x0, 0x0, 0x0, 0xc9, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xd0, 0x23, 0xdb, 0x33, 0x30, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0,
-
- /* U+0067 "g" */
- 0x0, 0x4, 0xbf, 0xfd, 0x70, 0xab, 0x0, 0x8f, 0xa4, 0x35, 0xcc, 0xab, 0x4, 0xf6, 0x0, 0x0, 0xb, 0xfb, 0xc, 0xc0, 0x0, 0x0, 0x1, 0xfb, 0xf, 0x70, 0x0, 0x0, 0x0, 0xcb, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xbb, 0xf, 0x70, 0x0, 0x0, 0x0, 0xcb, 0xc, 0xc0, 0x0, 0x0, 0x2, 0xfb, 0x4, 0xf7, 0x0, 0x0, 0xc, 0xfb, 0x0, 0x8f, 0xb6, 0x57, 0xeb, 0xbb, 0x0, 0x4, 0xbf, 0xfd, 0x70, 0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x50, 0x0, 0x0, 0x6, 0xf2, 0x3, 0xfd, 0x85, 0x46, 0xaf, 0x80, 0x0, 0x18, 0xcf, 0xfe, 0xb5, 0x0,
-
- /* U+0068 "h" */
- 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x63, 0xbe, 0xfd, 0x80, 0x0, 0xfa, 0xfa, 0x65, 0x9f, 0xb0, 0xf, 0xf4, 0x0, 0x0, 0x6f, 0x40, 0xfb, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x70, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0,
-
- /* U+0069 "i" */
- 0x2f, 0x83, 0xf9, 0x0, 0x0, 0x0, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60,
-
- /* U+006A "j" */
- 0x0, 0x1, 0xe9, 0x0, 0x1, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe7, 0x0, 0x0, 0xf6, 0x56, 0x4b, 0xf1, 0x6e, 0xfd, 0x40,
-
- /* U+006B "k" */
- 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xcd, 0x10, 0xf6, 0x0, 0x1, 0xcd, 0x10, 0xf, 0x60, 0x1, 0xdd, 0x10, 0x0, 0xf6, 0x1, 0xdd, 0x10, 0x0, 0xf, 0x62, 0xef, 0x20, 0x0, 0x0, 0xf9, 0xec, 0xfb, 0x0, 0x0, 0xf, 0xfc, 0x5, 0xf7, 0x0, 0x0, 0xfc, 0x0, 0x8, 0xf3, 0x0, 0xf, 0x60, 0x0, 0xc, 0xe1, 0x0, 0xf6, 0x0, 0x0, 0x1e, 0xb0, 0xf, 0x60, 0x0, 0x0, 0x4f, 0x70,
-
- /* U+006C "l" */
- 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60,
-
- /* U+006D "m" */
- 0xf, 0x53, 0xbf, 0xfd, 0x60, 0x4, 0xcf, 0xfc, 0x50, 0x0, 0xf9, 0xf9, 0x56, 0xbf, 0x77, 0xf9, 0x56, 0xbf, 0x70, 0xf, 0xf4, 0x0, 0x0, 0xaf, 0xf4, 0x0, 0x0, 0xbf, 0x0, 0xfb, 0x0, 0x0, 0x3, 0xfa, 0x0, 0x0, 0x3, 0xf3, 0xf, 0x70, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50,
-
- /* U+006E "n" */
- 0xf, 0x53, 0xbe, 0xfd, 0x80, 0x0, 0xf9, 0xfa, 0x65, 0x9f, 0xb0, 0xf, 0xf4, 0x0, 0x0, 0x6f, 0x40, 0xfb, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x70, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0,
-
- /* U+006F "o" */
- 0x0, 0x4, 0xbf, 0xfd, 0x81, 0x0, 0x0, 0x8f, 0xb5, 0x47, 0xee, 0x20, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xb, 0xc0, 0x0, 0x0, 0x4, 0xf4, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xc0, 0x0, 0x7f, 0xb6, 0x58, 0xee, 0x20, 0x0, 0x4, 0xbf, 0xfd, 0x81, 0x0,
-
- /* U+0070 "p" */
- 0xf, 0x52, 0xae, 0xfe, 0x91, 0x0, 0xf, 0x8e, 0xb6, 0x47, 0xee, 0x30, 0xf, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x60, 0x0, 0x0, 0x0, 0xca, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0xf8, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0x8e, 0xb6, 0x58, 0xee, 0x20, 0xf, 0x61, 0x9e, 0xfe, 0x91, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0071 "q" */
- 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xc9, 0x0, 0x8f, 0xb5, 0x47, 0xea, 0xc9, 0x5, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0xc, 0xc0, 0x0, 0x0, 0x4, 0xf9, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0x0, 0x8f, 0xb6, 0x58, 0xea, 0xd9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9,
-
- /* U+0072 "r" */
- 0xf, 0x53, 0xbf, 0x40, 0xf9, 0xf9, 0x51, 0xf, 0xf4, 0x0, 0x0, 0xfb, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0,
-
- /* U+0073 "s" */
- 0x0, 0x7d, 0xff, 0xd9, 0x20, 0x9, 0xf8, 0x44, 0x7d, 0x80, 0xf, 0x60, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0xb, 0xf8, 0x30, 0x0, 0x0, 0x0, 0x8e, 0xff, 0xc7, 0x0, 0x0, 0x0, 0x14, 0x8f, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x3, 0x0, 0x0, 0x6, 0xf1, 0x4f, 0xc7, 0x55, 0x8f, 0xa0, 0x4, 0xae, 0xff, 0xc7, 0x0,
-
- /* U+0074 "t" */
- 0x0, 0x65, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xd0, 0x23, 0xdb, 0x33, 0x30, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x6f, 0x84, 0x82, 0x0, 0x8, 0xef, 0xc3,
-
- /* U+0075 "u" */
- 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x1f, 0x50, 0x0, 0x0, 0xf, 0x70, 0xf7, 0x0, 0x0, 0x4, 0xf7, 0xb, 0xe1, 0x0, 0x0, 0xcf, 0x70, 0x3f, 0xd7, 0x57, 0xda, 0xe7, 0x0, 0x2b, 0xef, 0xd7, 0xe, 0x70,
-
- /* U+0076 "v" */
- 0xcb, 0x0, 0x0, 0x0, 0xc, 0x95, 0xf2, 0x0, 0x0, 0x3, 0xf2, 0xe, 0x80, 0x0, 0x0, 0xac, 0x0, 0x8e, 0x0, 0x0, 0x1f, 0x50, 0x1, 0xf6, 0x0, 0x7, 0xe0, 0x0, 0xa, 0xc0, 0x0, 0xe7, 0x0, 0x0, 0x3f, 0x30, 0x5f, 0x10, 0x0, 0x0, 0xca, 0xc, 0xa0, 0x0, 0x0, 0x6, 0xf4, 0xf3, 0x0, 0x0, 0x0, 0xe, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x50, 0x0, 0x0,
-
- /* U+0077 "w" */
- 0xab, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, 0x1, 0xf3, 0x4f, 0x10, 0x0, 0x5, 0xfe, 0x0, 0x0, 0x6, 0xd0, 0xe, 0x60, 0x0, 0xb, 0xaf, 0x50, 0x0, 0xc, 0x80, 0x9, 0xc0, 0x0, 0x1f, 0x3a, 0xa0, 0x0, 0x2f, 0x20, 0x3, 0xf1, 0x0, 0x6d, 0x4, 0xf1, 0x0, 0x7c, 0x0, 0x0, 0xd7, 0x0, 0xc7, 0x0, 0xe6, 0x0, 0xd6, 0x0, 0x0, 0x8d, 0x2, 0xf1, 0x0, 0x8c, 0x3, 0xf1, 0x0, 0x0, 0x2f, 0x28, 0xc0, 0x0, 0x3f, 0x19, 0xb0, 0x0, 0x0, 0xc, 0x8e, 0x60, 0x0, 0xd, 0x7e, 0x50, 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x1, 0xfa, 0x0, 0x0, 0x1, 0xf9, 0x0, 0x0,
-
- /* U+0078 "x" */
- 0x1e, 0x80, 0x0, 0x0, 0xdb, 0x0, 0x5f, 0x40, 0x0, 0x9e, 0x10, 0x0, 0x9e, 0x10, 0x5f, 0x30, 0x0, 0x0, 0xcb, 0x2e, 0x70, 0x0, 0x0, 0x2, 0xfe, 0xb0, 0x0, 0x0, 0x0, 0xa, 0xf5, 0x0, 0x0, 0x0, 0x5, 0xfc, 0xe1, 0x0, 0x0, 0x1, 0xe8, 0xd, 0xb0, 0x0, 0x0, 0xcc, 0x0, 0x2f, 0x70, 0x0, 0x8f, 0x20, 0x0, 0x6f, 0x30, 0x4f, 0x50, 0x0, 0x0, 0xad, 0x0,
-
- /* U+0079 "y" */
- 0xc, 0xb0, 0x0, 0x0, 0x0, 0xc9, 0x5, 0xf2, 0x0, 0x0, 0x3, 0xf2, 0x0, 0xe9, 0x0, 0x0, 0xa, 0xb0, 0x0, 0x7f, 0x0, 0x0, 0x1f, 0x40, 0x0, 0x1f, 0x60, 0x0, 0x8d, 0x0, 0x0, 0x9, 0xd0, 0x0, 0xe7, 0x0, 0x0, 0x2, 0xf4, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xbb, 0xc, 0x90, 0x0, 0x0, 0x0, 0x5f, 0x5f, 0x20, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x3c, 0x55, 0xdd, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xb1, 0x0, 0x0, 0x0,
-
- /* U+007A "z" */
- 0xf, 0xff, 0xff, 0xff, 0xf4, 0x3, 0x33, 0x33, 0x3d, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x0, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x1e, 0x90, 0x0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x1, 0xe9, 0x0, 0x0, 0x0, 0xb, 0xe4, 0x33, 0x33, 0x31, 0x2f, 0xff, 0xff, 0xff, 0xf6,
-
- /* U+007B "{" */
- 0x0, 0x5d, 0xf4, 0x0, 0xfb, 0x40, 0x3, 0xf4, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x6, 0xf2, 0x0, 0xcf, 0xb0, 0x0, 0x28, 0xf1, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x0, 0xfb, 0x41, 0x0, 0x5d, 0xf4,
-
- /* U+007C "|" */
- 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,
-
- /* U+007D "}" */
- 0x9f, 0xb2, 0x0, 0x25, 0xeb, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x1e, 0xf7, 0x0, 0x6f, 0x51, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x25, 0xeb, 0x0, 0x9f, 0xb2, 0x0,
-
- /* U+007E "~" */
- 0x9, 0xfd, 0x50, 0x0, 0xc3, 0x6c, 0x36, 0xe8, 0x4, 0xe0, 0xb4, 0x0, 0x2c, 0xff, 0x50, 0x10, 0x0, 0x0, 0x20, 0x0,
-
- /* U+0401 "Ð" */
- 0x0, 0x4e, 0x20, 0xba, 0x0, 0x0, 0x3, 0xb1, 0x8, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xae, 0x55, 0x55, 0x55, 0x55, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xf1, 0xa, 0xe3, 0x33, 0x33, 0x33, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xae, 0x55, 0x55, 0x55, 0x55, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xf4,
-
- /* U+0410 "Ð" */
- 0x0, 0x0, 0x0, 0x8f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xca, 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x30, 0x6f, 0x10, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x8, 0xe0, 0x0, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x2f, 0x50, 0x0, 0x0, 0xe, 0x80, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x5, 0xf3, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x3f, 0x63, 0x33, 0x33, 0x33, 0x8f, 0x10, 0xa, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x50,
-
- /* U+0411 "Б" */
- 0xaf, 0xff, 0xff, 0xff, 0xff, 0x90, 0xad, 0x44, 0x44, 0x44, 0x44, 0x20, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xc6, 0x0, 0xad, 0x33, 0x33, 0x35, 0xaf, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x7, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0x0, 0x0, 0x8, 0xf2, 0xad, 0x33, 0x33, 0x35, 0xaf, 0x80, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0,
-
- /* U+0412 "Ð’" */
- 0xaf, 0xff, 0xff, 0xfe, 0xa2, 0x0, 0xad, 0x33, 0x33, 0x36, 0xdf, 0x30, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xad, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xad, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xad, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xad, 0x0, 0x0, 0x3, 0xbd, 0x10, 0xaf, 0xff, 0xff, 0xff, 0xf5, 0x0, 0xad, 0x33, 0x33, 0x34, 0x7e, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf5, 0xad, 0x0, 0x0, 0x0, 0x0, 0xd9, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe9, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf6, 0xad, 0x33, 0x33, 0x34, 0x8f, 0xc0, 0xaf, 0xff, 0xff, 0xff, 0xc7, 0x0,
-
- /* U+0413 "Г" */
- 0xaf, 0xff, 0xff, 0xff, 0xf4, 0xad, 0x55, 0x55, 0x55, 0x51, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0414 "Д" */
- 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x5, 0xf5, 0x55, 0x55, 0x58, 0xf2, 0x0, 0x0, 0x6, 0xe0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x7, 0xd0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x8, 0xc0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x9, 0xb0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xb, 0xa0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x49, 0xf8, 0x55, 0x55, 0x55, 0x58, 0xf6, 0x51, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
-
- /* U+0415 "Е" */
- 0xaf, 0xff, 0xff, 0xff, 0xff, 0xa, 0xe5, 0x55, 0x55, 0x55, 0x50, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0x10, 0xae, 0x33, 0x33, 0x33, 0x30, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe5, 0x55, 0x55, 0x55, 0x51, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x40,
-
- /* U+0416 "Ж" */
- 0xd, 0xb0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x8, 0xf1, 0x4, 0xf5, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x2f, 0x70, 0x0, 0xad, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x1f, 0x70, 0x0, 0x9, 0xd0, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x7, 0xf1, 0x0, 0x9, 0xd0, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0xda, 0x0, 0x9, 0xd0, 0x0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0x3f, 0x41, 0x1a, 0xd1, 0x12, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x74, 0x4b, 0xe4, 0x45, 0xf9, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x0, 0x9, 0xd0, 0x0, 0x7f, 0x40, 0x0, 0x0, 0xa, 0xf1, 0x0, 0x9, 0xd0, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x4f, 0x60, 0x0, 0x9, 0xd0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0xec, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x9f, 0x20, 0x9, 0xf2, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0xe, 0xc0, 0x3f, 0x80, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x4, 0xf6,
-
- /* U+0417 "З" */
- 0x0, 0x15, 0x9a, 0x96, 0x10, 0x0, 0x7, 0xff, 0xdb, 0xcf, 0xf6, 0x0, 0x7, 0x71, 0x0, 0x1, 0xaf, 0x40, 0x0, 0x0, 0x0, 0x0, 0xe, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x90, 0x0, 0x0, 0x0, 0x3, 0xbe, 0x10, 0x0, 0xb, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x2, 0x33, 0x35, 0xaf, 0x50, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf5, 0x9, 0x10, 0x0, 0x0, 0x1c, 0xf1, 0x1c, 0xfa, 0x64, 0x59, 0xef, 0x40, 0x0, 0x5b, 0xff, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0,
-
- /* U+0418 "И" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x4f, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x2a, 0xd0, 0x0, 0x0, 0xb, 0xe6, 0xf2, 0xad, 0x0, 0x0, 0x7, 0xf4, 0x5f, 0x2a, 0xd0, 0x0, 0x3, 0xf9, 0x5, 0xf2, 0xad, 0x0, 0x0, 0xdc, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0xaf, 0x20, 0x5, 0xf2, 0xad, 0x0, 0x5f, 0x60, 0x0, 0x5f, 0x2a, 0xd0, 0x2f, 0xa0, 0x0, 0x5, 0xf2, 0xad, 0xc, 0xe1, 0x0, 0x0, 0x5f, 0x2a, 0xd8, 0xf3, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xfc, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0x20, 0x0, 0x0, 0x0, 0x5f, 0x20,
-
- /* U+0419 "Й" */
- 0x0, 0x8, 0x0, 0x0, 0x53, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x3e, 0x30, 0x0, 0x0, 0x1, 0xad, 0xec, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x4f, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x2a, 0xd0, 0x0, 0x0, 0xb, 0xe6, 0xf2, 0xad, 0x0, 0x0, 0x7, 0xf4, 0x5f, 0x2a, 0xd0, 0x0, 0x3, 0xf9, 0x5, 0xf2, 0xad, 0x0, 0x0, 0xdc, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0xaf, 0x20, 0x5, 0xf2, 0xad, 0x0, 0x5f, 0x60, 0x0, 0x5f, 0x2a, 0xd0, 0x2f, 0xa0, 0x0, 0x5, 0xf2, 0xad, 0xc, 0xe1, 0x0, 0x0, 0x5f, 0x2a, 0xd8, 0xf3, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xfc, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0x20, 0x0, 0x0, 0x0, 0x5f, 0x20,
-
- /* U+041A "К" */
- 0xac, 0x0, 0x0, 0x0, 0x9, 0xe1, 0xac, 0x0, 0x0, 0x0, 0x4f, 0x40, 0xac, 0x0, 0x0, 0x1, 0xe9, 0x0, 0xac, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xac, 0x0, 0x0, 0x5f, 0x30, 0x0, 0xac, 0x0, 0x1, 0xf7, 0x0, 0x0, 0xad, 0x11, 0x1b, 0xc0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0x50, 0x0, 0x0, 0xad, 0x44, 0x4d, 0xd0, 0x0, 0x0, 0xac, 0x0, 0x2, 0xfa, 0x0, 0x0, 0xac, 0x0, 0x0, 0x5f, 0x50, 0x0, 0xac, 0x0, 0x0, 0xa, 0xf2, 0x0, 0xac, 0x0, 0x0, 0x0, 0xdc, 0x0, 0xac, 0x0, 0x0, 0x0, 0x3f, 0x80, 0xac, 0x0, 0x0, 0x0, 0x6, 0xf4,
-
- /* U+041B "Л" */
- 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x3, 0xf6, 0x55, 0x55, 0x56, 0xf5, 0x0, 0x3, 0xf1, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x6, 0xe0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x7, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x9, 0xb0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0xb, 0x90, 0x0, 0x0, 0x2, 0xf5, 0x0, 0xf, 0x60, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x6f, 0x20, 0x0, 0x0, 0x2, 0xf5, 0x58, 0xfb, 0x0, 0x0, 0x0, 0x2, 0xf5, 0xbf, 0xb1, 0x0, 0x0, 0x0, 0x2, 0xf5,
-
- /* U+041C "М" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xea, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfe, 0xaf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xea, 0xef, 0x70, 0x0, 0x0, 0x0, 0x3f, 0xee, 0xac, 0x9f, 0x10, 0x0, 0x0, 0xb, 0xd8, 0xea, 0xc1, 0xf9, 0x0, 0x0, 0x4, 0xf4, 0x8e, 0xac, 0x7, 0xf2, 0x0, 0x0, 0xcb, 0x8, 0xea, 0xc0, 0xe, 0xa0, 0x0, 0x5f, 0x20, 0x8e, 0xac, 0x0, 0x5f, 0x30, 0xd, 0x90, 0x8, 0xea, 0xc0, 0x0, 0xcb, 0x6, 0xf1, 0x0, 0x8e, 0xac, 0x0, 0x3, 0xf5, 0xe7, 0x0, 0x8, 0xea, 0xc0, 0x0, 0xa, 0xfe, 0x0, 0x0, 0x8e, 0xac, 0x0, 0x0, 0x1f, 0x50, 0x0, 0x8, 0xea, 0xc0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x8e, 0xac, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xe0,
-
- /* U+041D "Ð" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x11, 0x11, 0x11, 0x11, 0x7f, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xae, 0x44, 0x44, 0x44, 0x44, 0x9f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10,
-
- /* U+041E "О" */
- 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x0, 0x2, 0xdf, 0xb7, 0x57, 0xbf, 0xd2, 0x0, 0x2, 0xed, 0x20, 0x0, 0x0, 0x3d, 0xe2, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0x1e, 0xc0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x49, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xcd, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x40, 0xce, 0x10, 0x0, 0x0, 0x0, 0x1e, 0xc0, 0x2, 0xed, 0x20, 0x0, 0x0, 0x3d, 0xe2, 0x0, 0x2, 0xdf, 0xb7, 0x67, 0xbf, 0xd2, 0x0, 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x0,
-
- /* U+041F "П" */
- 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2a, 0xe5, 0x55, 0x55, 0x55, 0x58, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x20,
-
- /* U+0420 "Р" */
- 0xaf, 0xff, 0xff, 0xfc, 0x70, 0x0, 0xae, 0x55, 0x55, 0x6a, 0xfd, 0x10, 0xad, 0x0, 0x0, 0x0, 0x3e, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0xd, 0xc0, 0xad, 0x11, 0x11, 0x26, 0xdf, 0x30, 0xaf, 0xff, 0xff, 0xff, 0xb2, 0x0, 0xae, 0x44, 0x44, 0x30, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0421 "С" */
- 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x2, 0xdf, 0xb7, 0x57, 0xaf, 0xd2, 0x2, 0xed, 0x30, 0x0, 0x0, 0x2d, 0x40, 0xce, 0x10, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0x0, 0x2, 0xed, 0x30, 0x0, 0x0, 0x3d, 0x40, 0x2, 0xdf, 0xb7, 0x67, 0xbf, 0xd1, 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0,
-
- /* U+0422 "Т" */
- 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x55, 0x5e, 0xb5, 0x55, 0x52, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0,
-
- /* U+0423 "У" */
- 0x5f, 0x40, 0x0, 0x0, 0x0, 0x6, 0xf2, 0xc, 0xc0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x4, 0xf3, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x4f, 0x30, 0x0, 0x6, 0xf1, 0x0, 0x0, 0xc, 0xb0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x4, 0xf3, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0xcb, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x36, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xc, 0xbd, 0x70, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x86, 0xaf, 0x50, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xd5, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0424 "Ф" */
- 0x0, 0x0, 0x0, 0x6, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, 0xef, 0xff, 0xda, 0x50, 0x0, 0x0, 0xa, 0xfc, 0x75, 0xae, 0x46, 0xaf, 0xd3, 0x0, 0xc, 0xe4, 0x0, 0x8, 0xd0, 0x0, 0x1b, 0xf2, 0x6, 0xf3, 0x0, 0x0, 0x8d, 0x0, 0x0, 0xd, 0xc0, 0xca, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x5f, 0x2f, 0x70, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x2, 0xf4, 0xf7, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x1f, 0x5d, 0xa0, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x4, 0xf2, 0x8f, 0x10, 0x0, 0x8, 0xd0, 0x0, 0x0, 0xbd, 0x0, 0xdd, 0x20, 0x0, 0x8d, 0x0, 0x0, 0x9f, 0x40, 0x2, 0xdf, 0x94, 0x28, 0xd1, 0x37, 0xdf, 0x50, 0x0, 0x0, 0x6b, 0xff, 0xff, 0xff, 0xd8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x19, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x59, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0425 "Ð¥" */
- 0xd, 0xd0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x9f, 0x30, 0x0, 0x9f, 0x30, 0x0, 0x3f, 0x80, 0x0, 0x0, 0xdd, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x3, 0xf8, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x9, 0xf7, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xdf, 0x40, 0x0, 0x0, 0x0, 0xd, 0xd0, 0xde, 0x0, 0x0, 0x0, 0x9, 0xf3, 0x3, 0xf9, 0x0, 0x0, 0x3, 0xf7, 0x0, 0x8, 0xf4, 0x0, 0x0, 0xdc, 0x0, 0x0, 0xd, 0xd0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x3f, 0x90, 0x3f, 0x70, 0x0, 0x0, 0x0, 0x8f, 0x30,
-
- /* U+0426 "Ц" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xae, 0x55, 0x55, 0x55, 0x55, 0xdd, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37,
-
- /* U+0427 "Ч" */
- 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xca, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xbd, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x6f, 0x50, 0x0, 0x0, 0x4, 0xf3, 0xc, 0xf8, 0x21, 0x25, 0xaf, 0xf3, 0x1, 0x9f, 0xff, 0xff, 0xb8, 0xf3, 0x0, 0x0, 0x34, 0x20, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3,
-
- /* U+0428 "Ш" */
- 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xae, 0x55, 0x55, 0x55, 0xdc, 0x55, 0x55, 0x55, 0xf8, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
-
- /* U+0429 "Щ" */
- 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xae, 0x55, 0x55, 0x55, 0xdc, 0x55, 0x55, 0x55, 0xfa, 0x53, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x55,
-
- /* U+042A "Ъ" */
- 0xcf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x55, 0x9f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xc6, 0x0, 0x0, 0x0, 0x6f, 0x43, 0x33, 0x35, 0xbf, 0x90, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x8, 0xf3, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x9, 0xf1, 0x0, 0x0, 0x6f, 0x43, 0x33, 0x35, 0xbf, 0x60, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xfe, 0xa3, 0x0,
-
- /* U+042B "Ы" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0x4, 0xf3, 0xad, 0x33, 0x33, 0x46, 0xcf, 0x60, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xb, 0xf0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x4, 0xf3, 0xad, 0x33, 0x33, 0x46, 0xdf, 0x40, 0x4, 0xf3, 0xaf, 0xff, 0xff, 0xfd, 0x92, 0x0, 0x4, 0xf3,
-
- /* U+042C "Ь" */
- 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0xad, 0x33, 0x33, 0x46, 0xcf, 0x60, 0xad, 0x0, 0x0, 0x0, 0xb, 0xf0, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xc, 0xe0, 0xad, 0x33, 0x33, 0x46, 0xdf, 0x40, 0xaf, 0xff, 0xff, 0xfd, 0x92, 0x0,
-
- /* U+042D "Э" */
- 0x0, 0x39, 0xdf, 0xfd, 0x81, 0x0, 0x0, 0x8f, 0xd8, 0x66, 0x9f, 0xf4, 0x0, 0x1e, 0x70, 0x0, 0x0, 0x1b, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x23, 0x33, 0x33, 0x3b, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x1c, 0x50, 0x0, 0x0, 0x1b, 0xf4, 0x0, 0x9f, 0xd8, 0x66, 0xaf, 0xf5, 0x0, 0x0, 0x3a, 0xdf, 0xfd, 0x81, 0x0, 0x0,
-
- /* U+042E "Ю" */
- 0xad, 0x0, 0x0, 0x0, 0x3a, 0xef, 0xfc, 0x60, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x9f, 0xb6, 0x45, 0x9f, 0xd2, 0x0, 0xad, 0x0, 0x0, 0xaf, 0x50, 0x0, 0x0, 0x2d, 0xe1, 0xa, 0xd0, 0x0, 0x5f, 0x50, 0x0, 0x0, 0x0, 0x1e, 0xa0, 0xad, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x1a, 0xd0, 0x1, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x11, 0x5f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xe, 0x9a, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda, 0xad, 0x44, 0x7f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xe, 0x9a, 0xd0, 0x1, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x1a, 0xd0, 0x0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x1e, 0xa0, 0xad, 0x0, 0x0, 0xaf, 0x50, 0x0, 0x0, 0x2d, 0xe1, 0xa, 0xd0, 0x0, 0x0, 0x9f, 0xb6, 0x45, 0x9f, 0xd2, 0x0, 0xad, 0x0, 0x0, 0x0, 0x3a, 0xef, 0xfc, 0x60, 0x0, 0x0,
-
- /* U+042F "Я" */
- 0x0, 0x29, 0xef, 0xff, 0xff, 0xf4, 0x5, 0xfd, 0x85, 0x55, 0x57, 0xf4, 0x1f, 0xb0, 0x0, 0x0, 0x3, 0xf4, 0x7f, 0x10, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0x8f, 0x0, 0x0, 0x0, 0x3, 0xf4, 0x3f, 0x70, 0x0, 0x0, 0x3, 0xf4, 0x9, 0xf8, 0x31, 0x0, 0x3, 0xf4, 0x0, 0x7e, 0xff, 0xff, 0xff, 0xf4, 0x0, 0xd, 0xb3, 0x33, 0x36, 0xf4, 0x0, 0x7f, 0x10, 0x0, 0x3, 0xf4, 0x2, 0xf7, 0x0, 0x0, 0x3, 0xf4, 0xb, 0xd0, 0x0, 0x0, 0x3, 0xf4, 0x6f, 0x30, 0x0, 0x0, 0x3, 0xf4,
-
- /* U+0430 "а" */
- 0x4, 0xae, 0xff, 0xb3, 0x6, 0xfb, 0x64, 0x6d, 0xf3, 0x14, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x8, 0xe0, 0x6c, 0xef, 0xff, 0xfe, 0x7f, 0x73, 0x22, 0x29, 0xed, 0x90, 0x0, 0x0, 0x8e, 0xd9, 0x0, 0x0, 0xd, 0xe7, 0xf6, 0x11, 0x4c, 0xce, 0x6, 0xdf, 0xfc, 0x57, 0xe0,
-
- /* U+0431 "б" */
- 0x0, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, 0x5, 0x9d, 0xff, 0x80, 0x0, 0x8, 0xff, 0xd9, 0x52, 0x0, 0x0, 0xcf, 0x71, 0x0, 0x0, 0x0, 0x8, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x5, 0xcf, 0xfe, 0x80, 0x0, 0x8d, 0x8e, 0x74, 0x49, 0xfd, 0x0, 0xae, 0xd1, 0x0, 0x0, 0x3f, 0x90, 0xaf, 0x50, 0x0, 0x0, 0x9, 0xf0, 0x9f, 0x10, 0x0, 0x0, 0x5, 0xf2, 0x6f, 0x10, 0x0, 0x0, 0x5, 0xf1, 0x2f, 0x60, 0x0, 0x0, 0x9, 0xe0, 0xb, 0xe2, 0x0, 0x0, 0x4f, 0x70, 0x1, 0xee, 0x74, 0x48, 0xfb, 0x0, 0x0, 0x19, 0xef, 0xfc, 0x60, 0x0,
-
- /* U+0432 "в" */
- 0xff, 0xff, 0xff, 0xb3, 0xf, 0x72, 0x22, 0x4b, 0xf2, 0xf6, 0x0, 0x0, 0xf, 0x7f, 0x60, 0x0, 0x0, 0xf6, 0xf6, 0x0, 0x1, 0x9e, 0x1f, 0xff, 0xff, 0xff, 0x50, 0xf7, 0x22, 0x22, 0x6f, 0x6f, 0x60, 0x0, 0x0, 0xac, 0xf6, 0x0, 0x0, 0xa, 0xdf, 0x82, 0x22, 0x37, 0xf7, 0xff, 0xff, 0xff, 0xd7, 0x0,
-
- /* U+0433 "г" */
- 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x44, 0x44, 0x42, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0,
-
- /* U+0434 "д" */
- 0x0, 0x2f, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x2, 0xf6, 0x44, 0x44, 0xda, 0x0, 0x0, 0x3f, 0x10, 0x0, 0xc, 0xa0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x5f, 0x0, 0x0, 0xc, 0xa0, 0x0, 0x6, 0xe0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x7d, 0x0, 0x0, 0xc, 0xa0, 0x0, 0xa, 0xa0, 0x0, 0x0, 0xca, 0x0, 0x0, 0xe6, 0x0, 0x0, 0xc, 0xa0, 0x3, 0xaf, 0x44, 0x44, 0x44, 0xdb, 0x41, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x80, 0x0, 0x0, 0x0, 0x1, 0xf4, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x46, 0x40, 0x0, 0x0, 0x0, 0x0, 0x82,
-
- /* U+0435 "е" */
- 0x0, 0x4b, 0xff, 0xc6, 0x0, 0x0, 0x7f, 0xa5, 0x48, 0xfa, 0x0, 0x3f, 0x50, 0x0, 0x3, 0xf6, 0xa, 0xb0, 0x0, 0x0, 0x8, 0xe0, 0xe7, 0x0, 0x0, 0x0, 0x3f, 0x2f, 0xfe, 0xee, 0xee, 0xef, 0xf3, 0xe8, 0x11, 0x11, 0x11, 0x11, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x51, 0x0, 0x6f, 0xc7, 0x56, 0xbf, 0x40, 0x0, 0x3a, 0xef, 0xea, 0x30, 0x0,
-
- /* U+0436 "ж" */
- 0x1f, 0x80, 0x0, 0x7, 0xf0, 0x0, 0x1, 0xe8, 0x0, 0x6f, 0x20, 0x0, 0x7f, 0x0, 0x0, 0x9e, 0x0, 0x0, 0xcb, 0x0, 0x7, 0xf0, 0x0, 0x3f, 0x40, 0x0, 0x2, 0xf5, 0x0, 0x7f, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x7, 0xe1, 0x7, 0xf0, 0x7, 0xe1, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x9, 0xf4, 0x39, 0xf3, 0x39, 0xf2, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x7f, 0x0, 0xd, 0xc0, 0x0, 0x1, 0xeb, 0x0, 0x7, 0xf0, 0x0, 0x3f, 0x70, 0x0, 0xaf, 0x10, 0x0, 0x7f, 0x0, 0x0, 0x8f, 0x30, 0x5f, 0x60, 0x0, 0x7, 0xf0, 0x0, 0x0, 0xdd, 0x0,
-
- /* U+0437 "з" */
- 0x2, 0x9e, 0xff, 0xc6, 0x0, 0xc, 0xc7, 0x56, 0xaf, 0xa0, 0x1, 0x0, 0x0, 0x8, 0xf1, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x0, 0x0, 0x0, 0x3d, 0x90, 0x0, 0x9, 0xff, 0xfb, 0x0, 0x0, 0x1, 0x22, 0x4c, 0xe1, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x1, 0x0, 0x0, 0x3, 0xf6, 0x3f, 0xa6, 0x45, 0x8f, 0xc0, 0x3, 0xae, 0xff, 0xc7, 0x0,
-
- /* U+0438 "и" */
- 0xf7, 0x0, 0x0, 0x1, 0xdb, 0xf7, 0x0, 0x0, 0xb, 0xfb, 0xf7, 0x0, 0x0, 0x8f, 0xdb, 0xf7, 0x0, 0x5, 0xf4, 0xbb, 0xf7, 0x0, 0x3f, 0x70, 0xbb, 0xf7, 0x1, 0xea, 0x0, 0xbb, 0xf7, 0xc, 0xd0, 0x0, 0xbb, 0xf7, 0x9f, 0x20, 0x0, 0xbb, 0xfc, 0xf4, 0x0, 0x0, 0xbb, 0xff, 0x70, 0x0, 0x0, 0xbb, 0xfb, 0x0, 0x0, 0x0, 0xbb,
-
- /* U+0439 "й" */
- 0x2, 0xe0, 0x0, 0x5b, 0x0, 0x0, 0xd7, 0x1, 0xc6, 0x0, 0x0, 0x2b, 0xed, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x1, 0xdb, 0xf7, 0x0, 0x0, 0xb, 0xfb, 0xf7, 0x0, 0x0, 0x8f, 0xdb, 0xf7, 0x0, 0x5, 0xf4, 0xbb, 0xf7, 0x0, 0x3f, 0x70, 0xbb, 0xf7, 0x1, 0xea, 0x0, 0xbb, 0xf7, 0xc, 0xd0, 0x0, 0xbb, 0xf7, 0x9f, 0x20, 0x0, 0xbb, 0xfc, 0xf4, 0x0, 0x0, 0xbb, 0xff, 0x70, 0x0, 0x0, 0xbb, 0xfb, 0x0, 0x0, 0x0, 0xbb,
-
- /* U+043A "к" */
- 0xf7, 0x0, 0x0, 0xc, 0xb0, 0xf7, 0x0, 0x0, 0x9e, 0x10, 0xf7, 0x0, 0x5, 0xf3, 0x0, 0xf7, 0x0, 0x2e, 0x70, 0x0, 0xf7, 0x0, 0xca, 0x0, 0x0, 0xff, 0xff, 0xf2, 0x0, 0x0, 0xf9, 0x33, 0xdc, 0x0, 0x0, 0xf7, 0x0, 0x2f, 0x90, 0x0, 0xf7, 0x0, 0x5, 0xf6, 0x0, 0xf7, 0x0, 0x0, 0x7f, 0x30, 0xf7, 0x0, 0x0, 0xa, 0xe1,
-
- /* U+043B "л" */
- 0x0, 0x1f, 0xff, 0xff, 0xff, 0xa0, 0x2, 0xf6, 0x44, 0x44, 0xda, 0x0, 0x3f, 0x10, 0x0, 0xc, 0xa0, 0x3, 0xf0, 0x0, 0x0, 0xca, 0x0, 0x4f, 0x0, 0x0, 0xc, 0xa0, 0x5, 0xe0, 0x0, 0x0, 0xca, 0x0, 0x7d, 0x0, 0x0, 0xc, 0xa0, 0x9, 0xb0, 0x0, 0x0, 0xca, 0x0, 0xd7, 0x0, 0x0, 0xc, 0xa3, 0x8f, 0x20, 0x0, 0x0, 0xca, 0xdf, 0x60, 0x0, 0x0, 0xc, 0xa0,
-
- /* U+043C "м" */
- 0xfb, 0x0, 0x0, 0x0, 0x0, 0xdc, 0xff, 0x40, 0x0, 0x0, 0x6, 0xfc, 0xfd, 0xd0, 0x0, 0x0, 0xe, 0xdc, 0xf5, 0xe6, 0x0, 0x0, 0x8c, 0x8c, 0xf5, 0x6e, 0x10, 0x2, 0xf3, 0x8c, 0xf5, 0xc, 0x80, 0xb, 0x90, 0x8c, 0xf5, 0x3, 0xf2, 0x4f, 0x10, 0x8c, 0xf5, 0x0, 0xab, 0xd7, 0x0, 0x8c, 0xf5, 0x0, 0x2f, 0xd0, 0x0, 0x8c, 0xf5, 0x0, 0x6, 0x40, 0x0, 0x8c, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x8c,
-
- /* U+043D "н" */
- 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x33, 0x33, 0x33, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7,
-
- /* U+043E "о" */
- 0x0, 0x3b, 0xef, 0xe9, 0x10, 0x0, 0x6f, 0xb6, 0x47, 0xde, 0x30, 0x3f, 0x80, 0x0, 0x0, 0xce, 0xa, 0xd0, 0x0, 0x0, 0x2, 0xf6, 0xe8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0x70, 0x0, 0x0, 0x0, 0xbb, 0xe8, 0x0, 0x0, 0x0, 0xd, 0x9a, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0x3f, 0x90, 0x0, 0x1, 0xcd, 0x0, 0x6f, 0xc6, 0x57, 0xee, 0x20, 0x0, 0x3b, 0xef, 0xe9, 0x10, 0x0,
-
- /* U+043F "п" */
- 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x44, 0x44, 0x44, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7,
-
- /* U+0440 "Ñ€" */
- 0xf6, 0x19, 0xef, 0xe9, 0x10, 0xf, 0x8e, 0xb6, 0x47, 0xee, 0x30, 0xff, 0x80, 0x0, 0x1, 0xce, 0xf, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0xf8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0x70, 0x0, 0x0, 0x0, 0xba, 0xf8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0xff, 0x80, 0x0, 0x1, 0xcd, 0xf, 0x9e, 0xc6, 0x57, 0xee, 0x30, 0xf7, 0x19, 0xef, 0xe9, 0x10, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0441 "Ñ" */
- 0x0, 0x3a, 0xef, 0xe9, 0x10, 0x6, 0xfc, 0x64, 0x7d, 0xe2, 0x3f, 0x80, 0x0, 0x0, 0xa2, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x90, 0x0, 0x0, 0xa2, 0x6, 0xfc, 0x65, 0x7e, 0xe2, 0x0, 0x3a, 0xef, 0xe9, 0x10,
-
- /* U+0442 "Ñ‚" */
- 0xff, 0xff, 0xff, 0xff, 0xf6, 0x44, 0x44, 0xf9, 0x44, 0x42, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0,
-
- /* U+0443 "у" */
- 0xa, 0xd0, 0x0, 0x0, 0x0, 0xab, 0x3, 0xf4, 0x0, 0x0, 0x1, 0xf4, 0x0, 0xcb, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x5f, 0x20, 0x0, 0xe, 0x70, 0x0, 0xe, 0x90, 0x0, 0x5f, 0x0, 0x0, 0x7, 0xf0, 0x0, 0xc9, 0x0, 0x0, 0x1, 0xf6, 0x3, 0xf2, 0x0, 0x0, 0x0, 0x9d, 0xa, 0xb0, 0x0, 0x0, 0x0, 0x2f, 0x6f, 0x40, 0x0, 0x0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x80, 0x0, 0x0, 0x1c, 0x65, 0xbe, 0x10, 0x0, 0x0, 0x9, 0xef, 0xc2, 0x0, 0x0, 0x0,
-
- /* U+0444 "Ñ„" */
- 0x0, 0x0, 0x0, 0x6, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x18, 0xcf, 0xff, 0xeb, 0x60, 0x0, 0x0, 0x5f, 0xe8, 0x5e, 0xa6, 0xaf, 0xd2, 0x0, 0x3f, 0x90, 0x0, 0xd8, 0x0, 0x2d, 0xd0, 0xb, 0xd0, 0x0, 0xd, 0x80, 0x0, 0x2f, 0x60, 0xe7, 0x0, 0x0, 0xd8, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0xd, 0x80, 0x0, 0xb, 0xb0, 0xe7, 0x0, 0x0, 0xd8, 0x0, 0x0, 0xca, 0xb, 0xd0, 0x0, 0xd, 0x80, 0x0, 0x2f, 0x60, 0x3f, 0xa0, 0x0, 0xd8, 0x0, 0x2d, 0xd0, 0x0, 0x5f, 0xe8, 0x5e, 0xa6, 0xaf, 0xd2, 0x0, 0x0, 0x18, 0xcf, 0xff, 0xeb, 0x60, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0,
-
- /* U+0445 "Ñ…" */
- 0x2f, 0x70, 0x0, 0x1, 0xe9, 0x0, 0x6f, 0x30, 0x0, 0xad, 0x0, 0x0, 0xad, 0x0, 0x6f, 0x20, 0x0, 0x0, 0xda, 0x2f, 0x60, 0x0, 0x0, 0x3, 0xfe, 0xa0, 0x0, 0x0, 0x0, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x6, 0xfc, 0xd0, 0x0, 0x0, 0x2, 0xf7, 0x1e, 0x90, 0x0, 0x0, 0xdb, 0x0, 0x3f, 0x50, 0x0, 0x9e, 0x10, 0x0, 0x8f, 0x20, 0x5f, 0x40, 0x0, 0x0, 0xcd, 0x0,
-
- /* U+0446 "ц" */
- 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x94, 0x44, 0x44, 0x6f, 0x74, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x27,
-
- /* U+0447 "ч" */
- 0x1f, 0x50, 0x0, 0x0, 0x7f, 0x1f, 0x50, 0x0, 0x0, 0x7f, 0x1f, 0x50, 0x0, 0x0, 0x7f, 0xf, 0x50, 0x0, 0x0, 0x7f, 0xf, 0x80, 0x0, 0x0, 0x7f, 0x9, 0xf6, 0x10, 0x26, 0xdf, 0x0, 0x9f, 0xff, 0xfc, 0xbf, 0x0, 0x0, 0x22, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f,
-
- /* U+0448 "ш" */
- 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x94, 0x44, 0x49, 0xf4, 0x44, 0x44, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
-
- /* U+0449 "щ" */
- 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x94, 0x44, 0x49, 0xf4, 0x44, 0x44, 0xea, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x81,
-
- /* U+044A "ÑŠ" */
- 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x44, 0x4c, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xeb, 0x30, 0x0, 0xb, 0xc2, 0x22, 0x4b, 0xf3, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xe9, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xbb, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xe9, 0x0, 0xb, 0xc2, 0x22, 0x4b, 0xf3, 0x0, 0xb, 0xff, 0xff, 0xeb, 0x30,
-
- /* U+044B "Ñ‹" */
- 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xff, 0xff, 0xfd, 0x91, 0x0, 0xbb, 0xf8, 0x22, 0x25, 0xde, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x2f, 0x60, 0xbb, 0xf7, 0x0, 0x0, 0xf, 0x70, 0xbb, 0xf7, 0x0, 0x0, 0x2f, 0x50, 0xbb, 0xf7, 0x11, 0x15, 0xdd, 0x0, 0xbb, 0xff, 0xff, 0xfd, 0x91, 0x0, 0xbb,
-
- /* U+044C "ь" */
- 0xf7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfe, 0xa2, 0xf, 0x82, 0x22, 0x4c, 0xe1, 0xf7, 0x0, 0x0, 0x1f, 0x7f, 0x70, 0x0, 0x0, 0xe9, 0xf7, 0x0, 0x0, 0x1f, 0x7f, 0x81, 0x12, 0x4c, 0xe1, 0xff, 0xff, 0xfe, 0x91, 0x0,
-
- /* U+044D "Ñ" */
- 0x1, 0x9d, 0xff, 0xc6, 0x0, 0x2, 0xfc, 0x63, 0x48, 0xfb, 0x0, 0x5, 0x0, 0x0, 0x2, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x8f, 0xff, 0xff, 0xf7, 0x0, 0x1, 0x22, 0x22, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x3, 0x0, 0x0, 0x2, 0xe9, 0x2, 0xfb, 0x63, 0x48, 0xfb, 0x0, 0x2, 0x9d, 0xff, 0xc6, 0x0, 0x0,
-
- /* U+044E "ÑŽ" */
- 0xf7, 0x0, 0x0, 0x5c, 0xff, 0xc6, 0x0, 0xf, 0x70, 0x0, 0x9f, 0x84, 0x37, 0xfb, 0x0, 0xf7, 0x0, 0x6f, 0x40, 0x0, 0x2, 0xf8, 0xf, 0x70, 0xd, 0xa0, 0x0, 0x0, 0x8, 0xf0, 0xf7, 0x12, 0xf5, 0x0, 0x0, 0x0, 0x3f, 0x3f, 0xff, 0xff, 0x30, 0x0, 0x0, 0x2, 0xf4, 0xf9, 0x45, 0xf5, 0x0, 0x0, 0x0, 0x3f, 0x3f, 0x70, 0xd, 0xa0, 0x0, 0x0, 0x8, 0xe0, 0xf7, 0x0, 0x6f, 0x40, 0x0, 0x3, 0xf7, 0xf, 0x70, 0x0, 0x9f, 0x84, 0x37, 0xfb, 0x0, 0xf7, 0x0, 0x0, 0x5c, 0xff, 0xc6, 0x0, 0x0,
-
- /* U+044F "Ñ" */
- 0x2, 0xae, 0xff, 0xff, 0xf1, 0x3f, 0xd7, 0x44, 0x47, 0xf1, 0xae, 0x0, 0x0, 0x3, 0xf1, 0xca, 0x0, 0x0, 0x3, 0xf1, 0xbc, 0x0, 0x0, 0x3, 0xf1, 0x4f, 0x81, 0x0, 0x3, 0xf1, 0x5, 0xdf, 0xff, 0xff, 0xf1, 0x0, 0x9d, 0x22, 0x25, 0xf1, 0x4, 0xf4, 0x0, 0x3, 0xf1, 0xd, 0x90, 0x0, 0x3, 0xf1, 0x8e, 0x10, 0x0, 0x3, 0xf1,
-
- /* U+0451 "Ñ‘" */
- 0x0, 0x5e, 0x10, 0xc9, 0x0, 0x0, 0x3, 0xb1, 0x9, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0xff, 0xc6, 0x0, 0x0, 0x7f, 0xa5, 0x48, 0xfa, 0x0, 0x3f, 0x50, 0x0, 0x3, 0xf6, 0xa, 0xb0, 0x0, 0x0, 0x8, 0xe0, 0xe7, 0x0, 0x0, 0x0, 0x3f, 0x2f, 0xfe, 0xee, 0xee, 0xef, 0xf3, 0xe8, 0x11, 0x11, 0x11, 0x11, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x51, 0x0, 0x6f, 0xc7, 0x56, 0xbf, 0x40, 0x0, 0x3a, 0xef, 0xea, 0x30, 0x0};
-
-/*---------------------
- * GLYPH DESCRIPTION
- *--------------------*/
-
-static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
- {.bitmap_index = 0, .adv_w = 84, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 0, .adv_w = 83, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 23, .adv_w = 119, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 9},
- {.bitmap_index = 41, .adv_w = 223, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 146, .adv_w = 197, .box_w = 12, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 266, .adv_w = 265, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 386, .adv_w = 214, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 498, .adv_w = 65, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 9},
- {.bitmap_index = 504, .adv_w = 105, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 542, .adv_w = 105, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 590, .adv_w = 124, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 7},
- {.bitmap_index = 622, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2},
- {.bitmap_index = 672, .adv_w = 68, .box_w = 3, .box_h = 6, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 681, .adv_w = 122, .box_w = 6, .box_h = 3, .ofs_x = 1, .ofs_y = 4},
- {.bitmap_index = 690, .adv_w = 68, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 695, .adv_w = 107, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2},
- {.bitmap_index = 785, .adv_w = 212, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 875, .adv_w = 116, .box_w = 5, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 913, .adv_w = 182, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 996, .adv_w = 180, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1079, .adv_w = 212, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1177, .adv_w = 181, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1260, .adv_w = 195, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1343, .adv_w = 188, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1426, .adv_w = 204, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1516, .adv_w = 195, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1606, .adv_w = 68, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1623, .adv_w = 68, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 1644, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2},
- {.bitmap_index = 1694, .adv_w = 184, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 3},
- {.bitmap_index = 1734, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2},
- {.bitmap_index = 1784, .adv_w = 181, .box_w = 10, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1859, .adv_w = 331, .box_w = 19, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 2040, .adv_w = 229, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 2153, .adv_w = 241, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2243, .adv_w = 230, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2341, .adv_w = 264, .box_w = 14, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2446, .adv_w = 214, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2529, .adv_w = 203, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2604, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2702, .adv_w = 260, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2792, .adv_w = 97, .box_w = 2, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2807, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = -1, .ofs_y = 0},
- {.bitmap_index = 2875, .adv_w = 228, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2973, .adv_w = 188, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3048, .adv_w = 306, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3161, .adv_w = 260, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3251, .adv_w = 268, .box_w = 15, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 3364, .adv_w = 230, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3454, .adv_w = 268, .box_w = 16, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 3606, .adv_w = 231, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3696, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 3786, .adv_w = 184, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 3876, .adv_w = 253, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3966, .adv_w = 223, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4071, .adv_w = 356, .box_w = 22, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4236, .adv_w = 210, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4334, .adv_w = 203, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4432, .adv_w = 208, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4530, .adv_w = 102, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 4568, .adv_w = 107, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2},
- {.bitmap_index = 4658, .adv_w = 102, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 4706, .adv_w = 184, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3},
- {.bitmap_index = 4747, .adv_w = 160, .box_w = 10, .box_h = 1, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 4752, .adv_w = 192, .box_w = 6, .box_h = 3, .ofs_x = 2, .ofs_y = 13},
- {.bitmap_index = 4761, .adv_w = 189, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 4811, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 4901, .adv_w = 180, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 4962, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 5052, .adv_w = 193, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 5118, .adv_w = 108, .box_w = 8, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 5178, .adv_w = 219, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 5268, .adv_w = 216, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5351, .adv_w = 86, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5374, .adv_w = 88, .box_w = 6, .box_h = 19, .ofs_x = -2, .ofs_y = -4},
- {.bitmap_index = 5431, .adv_w = 192, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5514, .adv_w = 86, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5537, .adv_w = 340, .box_w = 19, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5642, .adv_w = 216, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5703, .adv_w = 201, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 5769, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 5859, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 5949, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 5988, .adv_w = 156, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6043, .adv_w = 130, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6099, .adv_w = 215, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 6160, .adv_w = 173, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6221, .adv_w = 281, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6320, .adv_w = 171, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6381, .adv_w = 173, .box_w = 12, .box_h = 15, .ofs_x = -1, .ofs_y = -4},
- {.bitmap_index = 6471, .adv_w = 164, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6526, .adv_w = 107, .box_w = 6, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 6583, .adv_w = 94, .box_w = 2, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 6602, .adv_w = 107, .box_w = 6, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 6659, .adv_w = 184, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5},
- {.bitmap_index = 6679, .adv_w = 211, .box_w = 11, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 6778, .adv_w = 238, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 6891, .adv_w = 232, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 6981, .adv_w = 240, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7071, .adv_w = 183, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7146, .adv_w = 254, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 7298, .adv_w = 211, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7381, .adv_w = 324, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 7531, .adv_w = 204, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 7627, .adv_w = 264, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7725, .adv_w = 264, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7849, .adv_w = 225, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 7939, .adv_w = 251, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 8044, .adv_w = 308, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 8157, .adv_w = 263, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 8255, .adv_w = 272, .box_w = 15, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 8368, .adv_w = 264, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 8466, .adv_w = 227, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 8556, .adv_w = 229, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 8654, .adv_w = 188, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 8744, .adv_w = 218, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 8849, .adv_w = 293, .box_w = 17, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
- {.bitmap_index = 8985, .adv_w = 208, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 9083, .adv_w = 265, .box_w = 14, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 9216, .adv_w = 234, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 9306, .adv_w = 350, .box_w = 18, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 9441, .adv_w = 357, .box_w = 20, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 9631, .adv_w = 262, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 9751, .adv_w = 313, .box_w = 16, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 9871, .adv_w = 227, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 9961, .adv_w = 226, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 10059, .adv_w = 349, .box_w = 19, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 10202, .adv_w = 234, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 10292, .adv_w = 187, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 10342, .adv_w = 211, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 10438, .adv_w = 195, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 10488, .adv_w = 152, .box_w = 8, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 10532, .adv_w = 208, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 10623, .adv_w = 198, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 10684, .adv_w = 264, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 10778, .adv_w = 171, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 10833, .adv_w = 220, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 10888, .adv_w = 220, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 10963, .adv_w = 186, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 11018, .adv_w = 202, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 11079, .adv_w = 253, .box_w = 12, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 11145, .adv_w = 216, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 11200, .adv_w = 204, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 11261, .adv_w = 216, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 11316, .adv_w = 220, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 11399, .adv_w = 180, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 11454, .adv_w = 151, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 11509, .adv_w = 179, .box_w = 12, .box_h = 15, .ofs_x = -1, .ofs_y = -4},
- {.bitmap_index = 11599, .adv_w = 251, .box_w = 15, .box_h = 20, .ofs_x = 0, .ofs_y = -4},
- {.bitmap_index = 11749, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 11810, .adv_w = 219, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = -3},
- {.bitmap_index = 11887, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 11942, .adv_w = 297, .box_w = 15, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 12025, .adv_w = 297, .box_w = 17, .box_h = 14, .ofs_x = 2, .ofs_y = -3},
- {.bitmap_index = 12144, .adv_w = 199, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 12210, .adv_w = 251, .box_w = 12, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 12276, .adv_w = 180, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 12326, .adv_w = 183, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 12387, .adv_w = 277, .box_w = 15, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 12470, .adv_w = 194, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 12525, .adv_w = 198, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}};
-
-/*---------------------
- * CHARACTER MAPPING
- *--------------------*/
-
-/*Collect the unicode lists and glyph_id offsets*/
-static const lv_font_fmt_txt_cmap_t cmaps[] = {{.range_start = 32, .range_length = 95, .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1025, .range_length = 1, .glyph_id_start = 96, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1040, .range_length = 64, .glyph_id_start = 97, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1105, .range_length = 1, .glyph_id_start = 161, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}};
-
-/*-----------------
- * KERNING
- *----------------*/
-
-/*Map glyph_ids to kern left classes*/
-static const uint8_t kern_left_class_mapping[] = {0, 0, 1, 2, 0, 3, 4, 5, 2, 6, 7, 8, 9, 10, 9, 10, 11, 12, 0, 13, 14, 15, 16, 17, 18, 19, 12, 20, 20, 0, 0, 0, 21, 22, 23, 24, 25, 22, 26, 27, 28, 29, 29, 30, 31, 32, 29, 29, 22, 33, 34, 35, 3, 36, 30, 37, 37, 38, 39, 40, 41, 42, 43, 0, 44, 0, 45, 46, 47, 48, 49, 50, 51, 45, 52, 52, 53, 48, 45, 45, 46, 46, 54, 55, 56, 57, 51, 58, 58, 59, 58, 60, 41, 0, 0, 9, 26, 23, 61, 24, 62, 63, 26, 38, 24, 29, 29, 38, 29, 29, 29, 22, 29, 33, 25, 36, 37, 22, 38, 63, 29, 29, 63, 64, 29, 64, 22, 22, 29, 51, 46, 0, 65, 51, 49, 59, 0, 51, 51, 59, 51, 51, 51, 46, 51, 46, 47, 65, 58, 46, 59, 51, 51, 51, 51, 66, 51, 66, 46, 46, 51, 49};
-
-/*Map glyph_ids to kern right classes*/
-static const uint8_t kern_right_class_mapping[] = {0, 0, 1, 2, 0, 3, 4, 5, 2, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 15, 16, 17, 12, 18, 19, 20, 21, 21, 0, 0, 0, 22, 23, 24, 25, 23, 25, 25, 25, 23, 25, 25, 26, 25, 25, 25, 25, 23, 25, 23, 25, 3, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 0, 36, 0, 37, 38, 39, 39, 39, 40, 39, 38, 41, 42, 38, 38, 43, 43, 39, 43, 39, 43, 44, 45, 46, 47, 47, 48, 49, 50, 0, 0, 35, 9, 25, 24, 25, 25, 25, 51, 25, 30, 52, 25, 25, 25, 53, 25, 25, 23, 25, 25, 23, 27, 30, 23, 30, 25, 54, 25, 25, 27, 25, 25, 52, 25, 30, 37, 23, 43, 43, 55, 39, 48, 56, 43, 43, 43, 55, 43, 43, 39, 43, 43, 39, 57, 47, 39, 48, 43, 46, 43, 43, 57, 43, 43, 56, 43, 48, 39};
-
-/*Kern values between classes*/
-static const int8_t kern_class_values[] = {0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 8, 6, 0, 3, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 9, -8, 0, 0, 6, 0, -18, -19, 3, 15, 8, 6, -13, 3, 17, 1, 14, 3, 11, 0, -14, 0, 0, 2, 0, 0, 0, 0, 0, 0, 19, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, -13, 0, 0, 0, 0, 0, -10, 0, 0, 0, 0, 0, -6, 6, 6, 0, 0, -3, 0, -3, 3, 0, -3, 0, -3, -2, -6, 0, 0, 0, 0, -3, 0, 0, -4, -5, 0, 0, -3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, -6, 0, -6, -7, 0, -1, -4, 0, -9, 0, -38, 0, 0, -6, -16, 6, 10, 0, 0, -6, 3, 3, 11, 6, -6, 6, 0, 0, -19, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -12, 0, 0, 5, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -17, 0, -13, -3, 0, 0, -10, 0, 1, 14, 0, -10, -2, 0, 0, 0, -6, 0, 0, -2, -25, 0, 5, 0, 11, -9, 0, -6, 0, -13, 5, 0, -26, -2, 14, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 3, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -4, -4, -7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11,
- 0, 0, 0, 2, 6, 3, 10, -3, 0, 0, 6, -3, -10, -45, 3, 9, 6, 1, -4, 0, 13, 0, 11, 0, 11, 0, -29, 0, -4, 10, 0, 11, -3, 6, 3, 0, 0, 0, -3, 0, 0, -6, 0, 0, 0, 26, 0, 10, 0, 14, 4, 14, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -12, 0, 0, 0, -3, 0, -2, 0, 3, -5, -4, -6, 3, 0, -3, 0, 0, 0, -13, 3, -5, 0, -6, -10, 0, -7, -5, -10, 0, 0, -21, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, -4, -7, -4, -4, -2, -5, -6, -8, -4, -6, -7, 0, -18, 3, -20, 0, 0, 0, -10, -2, 0, 33, -4, -4, 3, 3, -4, 0, -4, 3, 0, 0, -17, -6, 11, 0, 19, -10, -3, -12, 0, -12, 6, 0, -31, 0, 3, 3, 0, -5, 0, 0, 3, 0, 0, -3, -5, -11, 0, -11, 0, 8, 0, 8, -16, 6, 0, -12, 0, 19, -6, 0, -12, 0, 10, 0, -21, -31, -21, -6, 10, 0, 0, -22, 0, 5, -7, 0, -5, 0, -6, -13,
- 0, -3, 10, 0, 10, 0, 10, 0, 0, 10, 10, -40, -22, 0, -22, 0, 2, 0, -22, -22, -9, -22, -10, -20, -10, -22, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 3, -4, -6, 0, 0, 0, -3, 0, 0, -3, 0, 0, 0, -6, 0, -2, 0, -7, -6, 0, -8, -10, -10, -7, 0, -6, 0, -6, 0, 0, 0, 0, 0, -3, 0, 0, 3, 0, 3, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, -3, 3, 3, -1, 0, 0, 0, -7, 0, -1, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -4, 0, -5, 0, 0, -3, 0, 10, 0, 0, -3, 0, 0, 0, 0, 0, 0, -1, 1, -3, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, 0, -3, -4, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -2, -4, -2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -10, -3, -10, 6, 0, 0, -6, 3, 6, 9, 0, -8, -1, -5, 0, -1, -16, 3, -3, 2, -17, 3, 0, 0, 0, -16, 0, -17, -2, -28, -3, 0, -16, 0, 6, 9, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, -4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, 0, 0, -2, -2, 0, -2, -4, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, -2, -4, -3, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -6, 3, 0, 0, -5, 2, 3, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, -3, -3, -5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, 0, 0, 0, -3, -5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -3, 0, -11, 0, 0, 9, -16, -17, -14, -6, 3, 0, -3, -21, -6, 0, -6, 0, -6,
- 5, -6, -21, 0, -9, 0, 0, 2, -1, 2, -3, 0, 3, -1, -10, -12, 0, -16, 0, 0, -7, -8, -10, -5, -9, -1, -7, -1, -10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, 0, -1, -3, 0, -5, -7, -7, -1, 0, -10, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, -3, 0, 3, 0, 12, -3, 0, -7, -2, -12, 0, 0, -5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, -7, 0, 0, 5, 0, -16, -10, 0, 0, 0, -5, -16, 0, 0, -3, 3, 0, -10, 0, -13, 0, -9, 0, 0, -4, -5, -4, -3, -6, 0, 0, -7, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 3, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 5, 0, 3, -6, -6, 0, -3, -3, -4, 0, 0, 0, 0, 0, 0, -10, 0, -3, 0, -5, -3, 0, -7, -8, -10, -3, 0, -6, 0, -10, 0, 0, 0, 0, 0, 26, 0, 0, 2, 0, 0, -4, 0, 0, -6, -6, -6, -5, -5, -6, -5, 0, -14, 0, 0, 0, 0, 0, -29, -5, 11, 10, -2, -13, 0, 3, -5, 0, -16, -2, -4, 3, -22, -3, 3, 0, 5, -11, -5, -12, -10, -13, 0, 0, -19, 0, 19, 0, 0, -2, 0, 0, 0, 0, -2, -2, -3, -8, -10, -8, 0, 0, 0, 0, -14, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, -3, -5, 0, 0, -6, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -6, 0, 0, 6, 0, 4, 0, -7, 3, -3, -1, -10, -3, 0,
- -4, -3, -1, 0, -5, -6, 0, 0, -3, 0, -3, -6, -5, 0, 0, -3, 0, 3, -3, 0, -7, 0, 0, 0, 0, -6, 0, -6, 0, -6, 0, -6, -6, 0, -6, -4, -8, -5, -5, 0, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, -5, 0, -3, -5, -12, -3, -3, -3, -1, -3, -5, -1, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 5, -3, 0, -3, 0, 0, 0, 0, -3, -5, -3, -4, -5, -4, -4, 0, 0, 0, 0, 0, 0, 0, 2, 13, -1, 0, -10, 0, -3, 6, 0, -3, -14, -4, 5, -1, 0, -16, -6, 3, -6, 2, 0, -4, -3, -11, 0, -5, 2, 0, 0, -6, 0, 0, 0, 3, 3, -6, -7, 0, -6, 0, 0, -5, -3, -3, 0, -6, 2, -7, 2, -6, -13, -5, -13, -5, -13, -8, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, -4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, -4, 0, 0, -3, -3, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -3, 0, 0, -7, 0, -7, -8, -5, -5, -5, 0, 0, -5, 0, -6, 0, 0, 0, -10, 0, 3, -7, 6, 0, -3, -15, 0, 0, -7, -3, 0, -13, -8, -9, 0, 0, -13, -3, -13, -12, -15, 0, -10, 0, 2, 22, -4, 0, -8, 0, 0, -1, -3, -6, -9, -6, -12, -12, -12, -7, -1, -8, -1, -11, 0, -8, -13, 0, 0, -3, 0, 0, 0, 0, -22, -4, 10, 8, -8, -12, 0, 0,
- -12, 0, -16, -3, -3, 6, -30, -4, 0, 0, 0, -21, -4, -17, -3, -24, 0, 0, -22, 0, 20, 0, 0, -3, 0, 0, 0, 0, 0, -2, -3, -12, -3, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, -4, 0, 0, -9, -15, 0, 0, -2, -5, -10, -3, 0, -2, 0, 0, 0, 0, -14, -3, -11, -11, -2, -5, -8, -3, -6, 0, -6, -4, -10, -5, 0, -4, 0, 0, -3, -7, 0, 2, 0, -3, -11, -3, 0, -11, -6, -11, -6, -14, -6, -4, 0, -6, 0, 0, 0, 0, 5, 0, 3, -6, 12, 0, -3, -3, -4, 0, 0, 0, 0, 0, 0, -10, 0, -3, 0, -5, -3, 0, -7, -8, -10, -3, 0, -6, 2, 13, 0, 0, 0, 0, 0, 26, 0, 0, 2, 0, 0, -4, 0, 0, -6, -6, -6, -5, -5, -6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -6, 0, 0, 0, 0, 0, -2, 0, 0, 0, -3, -3, 0, 0, -6, -3, 0, 0, -6, 0, 6, -2, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, -4, 0, -11, -6, 0, 10, -10, -10, -6, -6, 13, 5, 3, -28, -2, 6, -3, 0, -3, 2, -3, -11, 0, -3, 3, -4, -2, -10, -2, 0, 0, 10, 6, 0, -9, 0, -18, 0, 0, 7, -4, -12, 0, -4, -11, -11, -11, -3, -12, 0, -12, -5, -22, -15, -7, 3, 0, -5, 0, -9, 0, 2, 11, -7, -12, -13, -8, 10, 0, 0, -23, -2, 3, -5, -2, -7, 0, -7, -12, -5, -5, -2, 0, 0, -7, -6, -3, 0, 10, 7, -3, -18, 0, -18, 0, -6, -6, -11, -18, 0, -10, -5, -11, -5, -9, -7, -1, -7, 0, -11, -15, -6, 0, 0, -4, 0, -6, -4, 0, -3, -5, 0, 6, -10, 3, 0, 0, -17, 0, -3, -7, -5, -2, -10, -8, -10, -8, 0, -10, -3, -7, -7, -10, -3, 0, 0, 0, 15, -5, 0, -10, 0, 0, 0, -3, -6, -7, -8, -8, -11, -8, -4, -4, -17, -4, -12, -5, -12, -16, 6, 0, -5, 0, -16, -5, 1, 6, -10, -12, -6, -10,
- 10, -3, 2, -29, -5, 6, -7, -5, -12, 0, -10, -13, -5, -3, -2, -3, -6, -10, 0, 0, 0, 10, 8, -3, -21, 0, -19, 0, -4, 6, -12, -21, -6, -11, -13, -16, -13, -10, -9, 0, -9, -5, -18, -18, -7, 0, 0, 0, 0, -5, 0, 0, 3, -5, 6, 3, -7, 6, 0, 0, -12, -1, 0, -1, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 2, 10, 0, 0, -5, 0, 0, 0, 0, 0, -3, -3, -5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, -3, 0, 11, 0, 5, 0, 0, -4, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 6, 0, 7, 0, 8, 0, 0, 10, 0, 8, -4, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -4, -4, -6, -5, -3, 0, -19, 0, -3, 6, 0, 10, -45, 0, 33, 5, -6, -6, 3, 3, -3, 0, -16, 0, 0, 14, -19, -6, 10, 0, 10, -6, -3, -13, 6, -6, 0, 0, -21, 11, 45, 0, 0, 0,
- 0, 0, 38, 0, 0, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, -7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -5, -4, -5, -4, -4, 0, 0, -3, 6, -9, 0, 0, 0, -3, 0, 3, 43, -6, -3, 11, 9, -9, 3, 0, 0, 3, 3, -3, -10, 19, 10, 27, 0, -3, -3, 15, -3, 6, 0, -42, 8, 0, -3, 0, -9, 0, 0, 34, 0, 3, -6, -9, -4, 12, 6, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, -9, 0, 0, 0, 0, -7, -2, 0, 0, 0, -7, 0, -5, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, 0, 0, -18, 0, 0, -3, 0, -5, 0, -9, 0, 0, 0, -6, 3,
- -5, 0, 0, -9, -3, -8, 0, 0, -9, 0, -3, 0, -15, 0, -2, 0, 0, -27, -7, -13, -2, -11, 0, 0, -22, 0, -9, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -6, -5, -3, -3, -8, -3, -8, -1, -1, -6, 0, 0, 0, 0, -8, 0, -7, 4, -2, 6, 0, -3, -8, -3, -6, -7, 0, -5, -2, -3, 2, -9, 0, 0, 0, 0, -30, -2, -3, 0, -5, 0, -3, -15, -4, 0, 0, -3, -3, 0, -3, 0, 0, 0, 2, 0, -3, -6, -3, -3, 0, 0, 0, 0, -6, -6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, -3, 0, 0, 0, -6, 3, 0, 0, 0, -9, -3, -6, 0, 0, -9, 0, -3, 0, -15, 0, 0, 0, 0, -31, 0, -6, -12, -16, 0, 0, -22, 0, -2,
- -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -5, -3, -2, -6, 0, -6, -7, -4, -5, -7, 0, 0, 0, 6, -4, 0, 9, 17, -3, -3, -10, 5, 17, 6, 8, -9, 5, 14, 5, 10, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 15, -5, -3, 0, -3, 1, 0, 13, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, 0, 0, -2, 0,
- 0, 0, -7, 3, 0, -3, 2, 5, 3, -10, 0, -1, -2, 3, 0, 2, 0, 0, 0, 0, -10, 0, -4, -3, -6, 0, -4, -13, 0, 21, -3, 0, -7, 0, 0, 0, -3, -5, 0, -3, -9, -6, -9, -4, 0, 0, 0, -6, 2, -7, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, -6, 0, -11, -5, -4, 10, -4, -3, -13, 0, -3, 0, -3, -10, 0, 7, 0, 2, 0, 2, -8, -12, -5, 0, -14, -7, -9, -14, -13, 0, -6, -6, -5, -4, -15, -3, -4, 0, -3, 0, -3, -1, 5, 0, 5, -3, 5, 0, -13, -7, -13, -6, -12, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, -9, 0, -2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, -6, -3, 3, 0, -6, -7, -3, 0, -11, -3, -8, -2, -5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 11, 0, 0, -6, 0, 0, 0, 0, 0, -4, 0, -3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -7, 0, 0, 14, -4, -11, -9, 3, 2, 2, -1, -8, 3, 5, 3, 10, 3, 10, -3, -8, 0, 0, -16, 0, 0, -10, -9, 0, 0, -6, 0, -4, -5, 0, -5, 0, 0, -5, 0, -2, 5, 0, -2, -10, -2, -3, -8, 0, -8, -5, -7, -4, 0, 0, 0, -4, 0, -6, 0, 0, 4, -7, 0, 3, -3, 2, -1, 0, -10, 0, -3, 0, 0, -3, 2, -2, 0, 0, 0, -16, -5, -7, 0, -10, 0, 0, -15, 0, 12, -3, 0, -6, 0, 0, -1, 0, -3, 0, -3, -10, 0, -10, -3, 0, -2, 0, -8, 0, -10, -4, 0, 0, 0,
- 0, -3, 0, 0, 3, -4, 0, 0, 0, -5, -3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 8, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, -3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, -13, -5, -11, -7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -6, -5, 0, -6, 0, -6, -11, -4, -5, -9, 0, 0, 0, 0, 0, 0, 0, 0, -65, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -49, 0, -3, 0, -38, 0, 0, 0, -38, -38, -38, 0, -28, 0, -28, -6, -50, -45, -36, 0, -6, 0, 0, 0, 0, 0, 0, -8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, -8, 0, -8, 0,
- -9, 0, 0, 0, 1, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -11, -7, -11, 0, 0, 0, 0, -7, 0, -6, -10, 0, -9, -6, 0, 0, 0, -5, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, -2, 0, 0, -21, 0, -10, -14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -5, -6, 0, -8, -6, -8, -2, -5, -5, -8, 0, 0, 0, 0, 0, 0, -2, 0, -7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, -2, -11, -7, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, -13, 0, -13, -3, -10, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, -35, 0, -12, -10, -10, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -12, -10, 0, -5, 0, -5, -24, -6, -2, -17};
-
-/*Collect the kern class' data in one place*/
-static const lv_font_fmt_txt_kern_classes_t kern_classes = {
- .class_pair_values = kern_class_values,
- .left_class_mapping = kern_left_class_mapping,
- .right_class_mapping = kern_right_class_mapping,
- .left_class_cnt = 66,
- .right_class_cnt = 57,
-};
-
-/*--------------------
- * ALL CUSTOM DATA
- *--------------------*/
-
-# if LV_VERSION_CHECK(8, 0, 0)
-/*Store all the custom data of the font*/
-static lv_font_fmt_txt_glyph_cache_t cache;
-static const lv_font_fmt_txt_dsc_t font_dsc = {
-# else
-static lv_font_fmt_txt_dsc_t font_dsc = {
-# endif
- .glyph_bitmap = glyph_bitmap,
- .glyph_dsc = glyph_dsc,
- .cmaps = cmaps,
- .kern_dsc = &kern_classes,
- .kern_scale = 16,
- .cmap_num = 4,
- .bpp = 4,
- .kern_classes = 1,
- .bitmap_format = 0,
-# if LV_VERSION_CHECK(8, 0, 0)
- .cache = &cache
-# endif
-};
-
-/*-----------------
- * PUBLIC FONT
- *----------------*/
-
-/*Initialize a public general font descriptor*/
-# if LV_VERSION_CHECK(8, 0, 0)
-const lv_font_t montserrat_20_en_ru = {
-# else
-lv_font_t montserrat_20_en_ru = {
-# endif
- .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
- .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
- .line_height = 23, /*The maximum line height required by the font*/
- .base_line = 4, /*Baseline measured from the bottom of the line*/
-# if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
- .subpx = LV_FONT_SUBPX_NONE,
-# endif
-# if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
- .underline_position = -2,
- .underline_thickness = 1,
-# endif
- .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
-};
-
-#endif /*#if MONTSERRAT_20_EN_RU*/
diff --git a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c
deleted file mode 100644
index ed0c74797d..0000000000
--- a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-/*******************************************************************************
- * Size: 48 px
- * Bpp: 4
- * Opts:
- ******************************************************************************/
-
-#ifdef __has_include
-# if __has_include("lvgl.h")
-# ifndef LV_LVGL_H_INCLUDE_SIMPLE
-# define LV_LVGL_H_INCLUDE_SIMPLE
-# endif
-# endif
-#endif
-
-#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
-# include "lvgl.h"
-#else
-# include "lvgl/lvgl.h"
-#endif
-
-#ifndef MONTSERRAT_48_DIGITS
-# define MONTSERRAT_48_DIGITS 1
-#endif
-
-#if MONTSERRAT_48_DIGITS
-
-/*-----------------
- * BITMAPS
- *----------------*/
-
-/*Store the image of the glyphs*/
-static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
- /* U+002E "." */
- 0x0, 0x44, 0x0, 0xc, 0xff, 0xd1, 0x5f, 0xff, 0xf8, 0x6f, 0xff, 0xf9, 0x2f, 0xff, 0xf5, 0x6, 0xef, 0x80,
-
- /* U+0030 "0" */
- 0x0, 0x0, 0x0, 0x0, 0x3, 0x9c, 0xef, 0xfe, 0xb8, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xe8, 0x54, 0x45, 0x9e, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0x40, 0x0, 0x0, 0x1f, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x9f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, 0x0, 0x1, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x30, 0xb, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0xf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xc0, 0x2f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf0, 0x4f, 0xff,
- 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1, 0x6f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x6f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x4f, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1, 0x2f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf0, 0xf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xc0, 0xb, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x30, 0x1, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x9f, 0xff, 0x40, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, 0x0, 0x0, 0x1f, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0x40, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xd8, 0x54, 0x45, 0x9e, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x9c, 0xef, 0xfe, 0xb8, 0x20, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0031 "1" */
- 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x12, 0x22, 0x22, 0x22, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0,
- 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd,
-
- /* U+0032 "2" */
- 0x0, 0x0, 0x0, 0x4, 0x8b, 0xef, 0xff, 0xec, 0x95, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xb8, 0x54, 0x34, 0x69, 0xdf, 0xff, 0xfe, 0x10, 0x0, 0xc, 0xff, 0xff, 0x71, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef, 0xff, 0xb0, 0x0, 0x6, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0x0, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x2, 0xef, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf7, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
-
- /* U+0033 "3" */
- 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x28, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xec, 0xa6,
- 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x59, 0xef, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x60, 0x5c, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf1, 0xe, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfa, 0x5, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c, 0xff,
- 0xff, 0x10, 0x8, 0xff, 0xff, 0xff, 0xb8, 0x54, 0x34, 0x58, 0xcf, 0xff, 0xff, 0x40, 0x0, 0x3, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x10, 0x0, 0x0, 0x0, 0x0, 0x1, 0x69, 0xce, 0xff, 0xfe, 0xc9, 0x50, 0x0, 0x0, 0x0,
-
- /* U+0034 "4" */
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
- 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xc2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x2f, 0xff, 0x72, 0x22, 0x22, 0x20, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x1f, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0,
-
- /* U+0035 "5" */
- 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x0, 0x0, 0x5, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf2, 0x22, 0x22, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x83, 0x0,
- 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x60, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x36, 0xae, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x0, 0x96, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xa0, 0x4f, 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0xb, 0xff, 0xff, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
- 0xff, 0xf9, 0x0, 0x2d, 0xff, 0xff, 0xfd, 0x96, 0x44, 0x34, 0x6a, 0xef, 0xff, 0xfc, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x7a, 0xdf, 0xff, 0xfd, 0xb8, 0x30, 0x0, 0x0, 0x0,
-
- /* U+0036 "6" */
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xbd, 0xff, 0xfe, 0xda, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xfc, 0x74, 0x21, 0x12, 0x47, 0xbf, 0xe0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xfa, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x2, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x30, 0x0, 0x1, 0x7b, 0xdf, 0xff, 0xdb, 0x61, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x10, 0x1,
- 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x7f, 0xff, 0x4, 0xff, 0xfe, 0x84, 0x10, 0x1, 0x49, 0xef, 0xff, 0xf4, 0x0, 0x7f, 0xff, 0x2f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfe, 0x10, 0x7f, 0xff, 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xa0, 0x6f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf1, 0x5f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf6, 0x3f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, 0xf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfb, 0xd, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfb, 0x8, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfb, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, 0x0, 0xdf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x0, 0x5f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf0, 0x0, 0xb, 0xff, 0xf5,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x80, 0x0, 0x1, 0xef, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x19, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xfe, 0x84, 0x10, 0x1, 0x48, 0xef, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9c, 0xef, 0xff, 0xda, 0x50, 0x0, 0x0, 0x0,
-
- /* U+0037 "7" */
- 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x7f, 0xff, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x2f, 0xff, 0xc0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x40, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf6, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x37, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+0038 "8" */
- 0x0, 0x0, 0x0, 0x2, 0x6a, 0xde, 0xff, 0xfe, 0xb8, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xfd, 0x73, 0x10, 0x0, 0x25, 0x9f, 0xff, 0xff, 0x40, 0x0, 0x0, 0x6f, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19, 0xff, 0xfe, 0x10, 0x0, 0xe, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf8, 0x0, 0x4, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xe0, 0x0, 0x7f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x10, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf1, 0x0, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x3, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xd0, 0x0, 0xe, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x0, 0x5f, 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x8f, 0xff, 0xf9, 0x40, 0x0, 0x0,
- 0x1, 0x6c, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x5e, 0xff, 0xff, 0xfe, 0xdc, 0xdf, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xfb, 0x63, 0x10, 0x0, 0x24, 0x8e, 0xff, 0xff, 0x60, 0x0, 0x0, 0xcf, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x60, 0x0, 0x8f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0x20, 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfa, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x9f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x3a, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x49, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf3, 0x6f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x1,
- 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xb0, 0xa, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0x0, 0x1e, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf9, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xb6, 0x31, 0x0, 0x2, 0x48, 0xef, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xbd, 0xef, 0xff, 0xec, 0x95, 0x10, 0x0, 0x0, 0x0,
-
- /* U+0039 "9" */
- 0x0, 0x0, 0x0, 0x5, 0x9c, 0xef, 0xfe, 0xda, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0x94, 0x10, 0x1, 0x37, 0xcf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0x40, 0x0, 0x7, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xe1, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x3f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x10, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x70, 0x7f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf1, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf4, 0x4f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf9, 0x8,
- 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xfa, 0x1, 0xef, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xf7, 0xdf, 0xfb, 0x0, 0x3f, 0xff, 0xff, 0x95, 0x20, 0x0, 0x36, 0xcf, 0xff, 0xa0, 0xcf, 0xfb, 0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0xcf, 0xfb, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x0, 0xcf, 0xfa, 0x0, 0x0, 0x0, 0x16, 0xad, 0xff, 0xfe, 0xc8, 0x30, 0x0, 0x0, 0xef, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0x60, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xc, 0xfd, 0x85, 0x31, 0x12, 0x47, 0xbf, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0xac, 0xef, 0xff, 0xeb, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0,
-
- /* U+003A ":" */
- 0x6, 0xef, 0x80, 0x3f, 0xff, 0xf5, 0x6f, 0xff, 0xf9, 0x4f, 0xff, 0xf7, 0xb, 0xff, 0xd1, 0x0, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44, 0x0, 0xc, 0xff, 0xd1, 0x5f, 0xff, 0xf8, 0x6f, 0xff, 0xf9, 0x2f, 0xff, 0xf5, 0x6, 0xef, 0x80};
-
-/*---------------------
- * GLYPH DESCRIPTION
- *--------------------*/
-
-static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
- {.bitmap_index = 0, .adv_w = 163, .box_w = 6, .box_h = 6, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 18, .adv_w = 508, .box_w = 28, .box_h = 34, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 494, .adv_w = 277, .box_w = 12, .box_h = 34, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 698, .adv_w = 436, .box_w = 26, .box_h = 34, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1140, .adv_w = 433, .box_w = 25, .box_h = 34, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1565, .adv_w = 508, .box_w = 31, .box_h = 34, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2092, .adv_w = 435, .box_w = 25, .box_h = 34, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2517, .adv_w = 468, .box_w = 26, .box_h = 34, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2959, .adv_w = 452, .box_w = 26, .box_h = 34, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 3401, .adv_w = 490, .box_w = 27, .box_h = 34, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 3860, .adv_w = 468, .box_w = 26, .box_h = 34, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 4302, .adv_w = 163, .box_w = 6, .box_h = 26, .ofs_x = 2, .ofs_y = 0}};
-
-/*---------------------
- * CHARACTER MAPPING
- *--------------------*/
-
-static const uint8_t glyph_id_ofs_list_0[] = {0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
-
-/*Collect the unicode lists and glyph_id offsets*/
-static const lv_font_fmt_txt_cmap_t cmaps[] = {{.range_start = 46, .range_length = 13, .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 13, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL}};
-
-/*-----------------
- * KERNING
- *----------------*/
-
-/*Map glyph_ids to kern left classes*/
-static const uint8_t kern_left_class_mapping[] = {0, 1, 2, 0, 3, 4, 5, 6, 7, 8, 9, 2, 10};
-
-/*Map glyph_ids to kern right classes*/
-static const uint8_t kern_right_class_mapping[] = {0, 1, 2, 3, 4, 5, 6, 7, 2, 8, 9, 10, 11};
-
-/*Kern values between classes*/
-static const int8_t kern_class_values[] = {0, -8, -9, 8, 8, -10, 0, -9, 8, 0, 0, -8, 0, 0, 0, -8, 0, 0, -6, 0, 0, 0, 8, -2, 0, 0, 0, -18, 0, -2, 0, 0, 0, 0, 0, 0, -4, -4, 0, -8, -10, 0, 0, 0, 15, 0, -19, -2, -12, 0, -2, -38, 8, -6, 5, 0, 0, 0, -4, -4, 0, -4, -11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, -41, -15, 8, 0, -7, -50, -15, 0, -15, 0, -15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0};
-
-/*Collect the kern class' data in one place*/
-static const lv_font_fmt_txt_kern_classes_t kern_classes = {
- .class_pair_values = kern_class_values,
- .left_class_mapping = kern_left_class_mapping,
- .right_class_mapping = kern_right_class_mapping,
- .left_class_cnt = 10,
- .right_class_cnt = 11,
-};
-
-/*--------------------
- * ALL CUSTOM DATA
- *--------------------*/
-
-# if LV_VERSION_CHECK(8, 0, 0)
-/*Store all the custom data of the font*/
-static lv_font_fmt_txt_glyph_cache_t cache;
-static const lv_font_fmt_txt_dsc_t font_dsc = {
-# else
-static lv_font_fmt_txt_dsc_t font_dsc = {
-# endif
- .glyph_bitmap = glyph_bitmap,
- .glyph_dsc = glyph_dsc,
- .cmaps = cmaps,
- .kern_dsc = &kern_classes,
- .kern_scale = 16,
- .cmap_num = 1,
- .bpp = 4,
- .kern_classes = 1,
- .bitmap_format = 0,
-# if LV_VERSION_CHECK(8, 0, 0)
- .cache = &cache
-# endif
-};
-
-/*-----------------
- * PUBLIC FONT
- *----------------*/
-
-/*Initialize a public general font descriptor*/
-# if LV_VERSION_CHECK(8, 0, 0)
-const lv_font_t montserrat_48_digits = {
-# else
-lv_font_t montserrat_48_digits = {
-# endif
- .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
- .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
- .line_height = 34, /*The maximum line height required by the font*/
- .base_line = 0, /*Baseline measured from the bottom of the line*/
-# if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
- .subpx = LV_FONT_SUBPX_NONE,
-# endif
-# if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
- .underline_position = -5,
- .underline_thickness = 2,
-# endif
- .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
-};
-
-#endif /*#if MONTSERRAT_48_DIGITS*/
diff --git a/keyboards/stront/keymaps/zzeneg/halconf.h b/keyboards/stront/keymaps/zzeneg/halconf.h
deleted file mode 100644
index 46c5a48c9a..0000000000
--- a/keyboards/stront/keymaps/zzeneg/halconf.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2023 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next <halconf.h>
diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c b/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c
deleted file mode 100644
index cac55d0eea..0000000000
--- a/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#ifdef __has_include
-# if __has_include("lvgl.h")
-# ifndef LV_LVGL_H_INCLUDE_SIMPLE
-# define LV_LVGL_H_INCLUDE_SIMPLE
-# endif
-# endif
-#endif
-
-#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
-# include "lvgl.h"
-#else
-# include "lvgl/lvgl.h"
-#endif
-
-#ifndef LV_ATTRIBUTE_MEM_ALIGN
-# define LV_ATTRIBUTE_MEM_ALIGN
-#endif
-
-#ifndef LV_ATTRIBUTE_IMG_FLAG_PL
-# define LV_ATTRIBUTE_IMG_FLAG_PL
-#endif
-
-const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_PL uint8_t flag_pl_map[] = {
- 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/
- 0x3c, 0x14, 0xdc, 0xff, /*Color of index 1*/
-
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
-};
-
-const lv_img_dsc_t flag_pl = {
- .header.cf = LV_IMG_CF_INDEXED_1BIT,
- .header.always_zero = 0,
- .header.reserved = 0,
- .header.w = 60,
- .header.h = 40,
- .data_size = 328,
- .data = flag_pl_map,
-};
diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c b/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c
deleted file mode 100644
index 8019b0b418..0000000000
--- a/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#ifdef __has_include
-# if __has_include("lvgl.h")
-# ifndef LV_LVGL_H_INCLUDE_SIMPLE
-# define LV_LVGL_H_INCLUDE_SIMPLE
-# endif
-# endif
-#endif
-
-#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
-# include "lvgl.h"
-#else
-# include "lvgl/lvgl.h"
-#endif
-
-#ifndef LV_ATTRIBUTE_MEM_ALIGN
-# define LV_ATTRIBUTE_MEM_ALIGN
-#endif
-
-#ifndef LV_ATTRIBUTE_IMG_FLAG_RU
-# define LV_ATTRIBUTE_IMG_FLAG_RU
-#endif
-
-const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_RU uint8_t flag_ru_map[] = {
- 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/
- 0xd8, 0x88, 0x0c, 0xff, /*Color of index 1*/
-
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-const lv_img_dsc_t flag_ru = {
- .header.cf = LV_IMG_CF_INDEXED_1BIT,
- .header.always_zero = 0,
- .header.reserved = 0,
- .header.w = 60,
- .header.h = 40,
- .data_size = 328,
- .data = flag_ru_map,
-};
diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c b/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c
deleted file mode 100644
index 8bf8234829..0000000000
--- a/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#ifdef __has_include
-# if __has_include("lvgl.h")
-# ifndef LV_LVGL_H_INCLUDE_SIMPLE
-# define LV_LVGL_H_INCLUDE_SIMPLE
-# endif
-# endif
-#endif
-
-#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
-# include "lvgl.h"
-#else
-# include "lvgl/lvgl.h"
-#endif
-
-#ifndef LV_ATTRIBUTE_MEM_ALIGN
-# define LV_ATTRIBUTE_MEM_ALIGN
-#endif
-
-#ifndef LV_ATTRIBUTE_IMG_FLAG_UK
-# define LV_ATTRIBUTE_IMG_FLAG_UK
-#endif
-
-const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_UK uint8_t flag_uk_map[] = {
- 0xfe, 0xfe, 0xfe, 0xff, /*Color of index 0*/
- 0x32, 0x15, 0xc9, 0xff, /*Color of index 1*/
- 0x6c, 0x25, 0x06, 0xff, /*Color of index 2*/
- 0xcd, 0xbd, 0xca, 0xff, /*Color of index 3*/
-
- 0x40, 0x02, 0xaa, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0x57, 0x50, 0x00, 0xea, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xab, 0xd5, 0x50, 0x55, 0x00, 0x0a, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xb3, 0x55, 0xc0, 0xd5, 0x40, 0x03, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xf5, 0x54, 0x00, 0xc5, 0x54, 0x00, 0x2a, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xac, 0xd5, 0x70, 0x03, 0xb3, 0x55, 0x00, 0x0e, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xbd, 0x55, 0x00, 0x0a, 0xab, 0x15, 0x50, 0x00, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xab, 0x35, 0x5c, 0x00, 0xea, 0xaa, 0xcd, 0x54, 0x00, 0x3a, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaf, 0x55, 0x40, 0x02, 0xaa, 0xaa, 0xac, 0x55, 0x40, 0x02, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xcd, 0x57, 0x00, 0x3a, 0xaa, 0xaa, 0xab, 0x35, 0x50, 0x00, 0xea, 0x81, 0x55, 0x4e, 0xab, 0xd5, 0x50, 0x00, 0xaa, 0xaa,
- 0xaa, 0xaa, 0xb1, 0x55, 0x00, 0x0a, 0x81, 0x55, 0x4e, 0xb3, 0x55, 0xc0, 0x0e, 0xaa, 0xaa, 0xaa, 0xaa, 0xac, 0xd5, 0x40, 0x03, 0x81, 0x55, 0x4e, 0xf5, 0x54, 0x00, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xc5, 0x54, 0x00, 0x01, 0x55, 0x40, 0xd5, 0x70, 0x03, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xc3, 0xfc, 0x00, 0x01, 0x55, 0x40, 0xff, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
- 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0x01, 0x55, 0x40, 0x00, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d, 0x54, 0x01, 0x55, 0x40, 0x00, 0xd5, 0x53, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xac, 0x00, 0x15, 0x53, 0x81, 0x55, 0x4e, 0xc0, 0x0d, 0x57, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0x0a, 0x81, 0x55, 0x4e, 0xb0, 0x03, 0x55, 0x4e, 0xaa, 0xaa,
- 0xaa, 0xab, 0x00, 0x05, 0x54, 0xea, 0x81, 0x55, 0x4e, 0xab, 0x00, 0x35, 0x5c, 0xaa, 0xaa, 0xaa, 0xac, 0x00, 0xd5, 0x42, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xc0, 0x0d, 0x55, 0x3a, 0xaa, 0xaa, 0xc0, 0x01, 0x55, 0x3a, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xac, 0x00, 0xd5, 0x72, 0xaa, 0xab, 0x00, 0x35, 0x50, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xab, 0x00, 0x35, 0x54, 0xea, 0xb0, 0x00, 0x55, 0x4e, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0xca, 0xc0, 0x0d, 0x54, 0x2a, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xac, 0x00, 0xd5, 0x53, 0x00, 0x15, 0x53, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d, 0x57, 0x03, 0x55, 0x0a, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0x05, 0x54, 0xea, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xab, 0x00, 0x35, 0xd5, 0x42, 0xaa, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d,
-};
-
-const lv_img_dsc_t flag_uk = {
- .header.cf = LV_IMG_CF_INDEXED_2BIT,
- .header.always_zero = 0,
- .header.reserved = 0,
- .header.w = 60,
- .header.h = 40,
- .data_size = 616,
- .data = flag_uk_map,
-};
diff --git a/keyboards/stront/keymaps/zzeneg/keymap.c b/keyboards/stront/keymaps/zzeneg/keymap.c
deleted file mode 100644
index 67cc52e142..0000000000
--- a/keyboards/stront/keymaps/zzeneg/keymap.c
+++ /dev/null
@@ -1,305 +0,0 @@
-// Copyright 2022 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "zzeneg_display.h"
-#include "raw_hid.h"
-#include "transactions.h"
-
-// Left-hand home row mods
-#define HOME_A LGUI_T(KC_A)
-#define HOME_S LALT_T(KC_S)
-#define HOME_D LCTL_T(KC_D)
-#define HOME_F LSFT_T(KC_F)
-
-// Right-hand home row mods
-#define HOME_J RSFT_T(KC_J)
-#define HOME_K RCTL_T(KC_K)
-#define HOME_L LALT_T(KC_L)
-#define HOME_P RGUI_T(KC_P)
-
-// bottom mods
-#define SYM_SPC LT(_SYMBOL, KC_SPC)
-#define NUM_TAB LT(_NUMBER, KC_TAB)
-#define FUNC_ESC LT(_FUNC, KC_ESC)
-#define FUNC_ENT LT(_FUNC, KC_ENT)
-#define NAV_BSPC LT(_NAV, KC_BSPC)
-#define EU_DEL LT(_EU, KC_DEL)
-
-// game layer mods
-#define LALT_Q LALT_T(KC_Q)
-#define LSFT_MINS LSFT_T(KC_MINS)
-#define LCTL_ESC LCTL_T(KC_ESC)
-#define LGUI_QUOT LGUI_T(KC_QUOT)
-
-enum custom_keycodes {
- M_EMAIL = SAFE_RANGE,
- M_CBR,
- M_PRN,
- M_BRC,
- M_ARROW,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * .---------------------------. .---------------------------.
- * | W | E | R | T | | Y | U | I | O |
- * .------+------+------+------+------+------| |------+------+------+------+------+------.
- * | Q | A | S | D | F | G | | H | J | K | L | P | ; |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | - | Z | X | C | V | B |--------. .--------| N | M | , | . | / | ' |
- * '-----------------------------------------/ / \ \-----------------------------------------'
- * | Esc | Tab | / Space / \ Enter \ | Bsps | Del |
- * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | _EU |
- * `-------------''-------' '-------''-------------'
- */
- // clang-format off
- [_QWERTY] = LAYOUT(
- KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,
- KC_Q, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_P, KC_SCLN,
- KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, EU_DEL
- ),
-
- [_GAME] = LAYOUT(
- KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,
- LALT_Q, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, KC_SCLN,
- LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LGUI_QUOT,
- LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, EU_DEL
- ),
-
- [_EU] = LAYOUT(
- XXXXXXX, RALT(KC_E), XXXXXXX, M_CBR, KC_MUTE, RALT(KC_U), XXXXXXX, RALT(KC_O),
- XXXXXXX, RALT(KC_A), RALT(KC_S), LCTL(KC_C), KC_LSFT, M_PRN, M_EMAIL, KC_RSFT, M_ARROW, RALT(KC_L), XXXXXXX, XXXXXXX,
- XXXXXXX, RALT(KC_Z), RALT(KC_X), RALT(KC_C), LCTL(KC_V), M_BRC, RALT(KC_N), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, XXXXXXX, _______
- ),
-
- [_NAV] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP,
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, LALT(KC_UP), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LALT(KC_DOWN), KC_HOME, KC_END, KC_INS, KC_APP, XXXXXXX,
- FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, _______, EU_DEL
- ),
-
- [_NUMBER] = LAYOUT(
- KC_7, KC_8, KC_9, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_GRV, KC_0, KC_4, KC_5, KC_6, KC_DOT, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_BSPC, KC_AT, KC_1, KC_2, KC_3, KC_ASTR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_ENT, _______, TG(_GAME), FUNC_ENT, NAV_BSPC, EU_DEL
- ),
-
- [_SYMBOL] = LAYOUT(
- KC_PERC, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_DLR, KC_AMPR, KC_EXLM, KC_EQL, KC_LPRN, KC_RPRN, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_BSLS, KC_PIPE, KC_HASH, KC_ASTR, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- MO(_SYS), KC_BSPC, _______, FUNC_ENT, NAV_BSPC, EU_DEL
- ),
-
- [_FUNC] = LAYOUT(
- KC_F7, KC_F8, KC_F9, KC_CAPS, XXXXXXX, KC_PSCR, KC_SCRL, KC_NUM,
- KC_LCTL, KC_F11, KC_F4, KC_F5, KC_F6, KC_F12, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX,
- KC_CIRC, KC_F10, KC_F1, KC_F2, KC_F3, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, MO(_SYS)
- ),
-
- [_SYS] = LAYOUT(
- BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD,
- XXXXXXX, XXXXXXX, DT_UP, DT_DOWN, DT_PRNT, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P,
- EH_LEFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EH_RGHT, EH_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, EH_LEFT,
- _______, QK_BOOT, _______, _______, QK_BOOT, _______
- )
- // clang-format on
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- // clang-format off
- [_QWERTY] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_GAME] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_EU] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_NAV] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_NUMBER] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_SYMBOL] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_FUNC] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_SYS] = { ENCODER_CCW_CW(BL_DOWN, BL_UP), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
- // clang-format on
-};
-#endif // ENCODER_MAP_ENABLE
-
-/* different tapping term for different fingers */
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // pinkies
- case HOME_A:
- case HOME_P:
- return 250;
- // ring
- case HOME_S:
- case HOME_L:
- return 200;
- // middle
- case HOME_D:
- case HOME_K:
- return 160;
- // index
- case HOME_F:
- case HOME_J:
- return 140;
- // thumb and game
- default:
- return TAPPING_TERM;
- }
-}
-
-/* helper function for custom increased tapping term for home row CTRL + other keys */
-uint16_t HOME_CTRL_pressed_time = 0;
-void custom_home_row_ctrl(keyrecord_t *record, uint16_t time) {
- if (record->tap.count && get_mods() & MOD_MASK_CTRL) {
- if (TIMER_DIFF_16(record->event.time, HOME_CTRL_pressed_time) < time) {
- del_mods(MOD_MASK_CTRL);
- tap_code(KC_D);
- }
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- dprintf("process_record_user %u %s %s %d\n", keycode, record->event.pressed ? "pressed" : "depressed", record->tap.interrupted ? "interrupted" : "not interrupted", record->tap.count);
-
- if (record->event.pressed) {
- uint8_t data[32];
- data[0] = 0;
-
- switch (keycode) {
- // send hid commands
- case KC_VOLU:
- case KC_VOLD:
- data[0] = _VOLUME;
- break;
-
- // handle macros
- case M_EMAIL:
- SEND_STRING("zzeneg@gmail.com");
- break;
- case M_CBR:
- SEND_STRING("{}" SS_TAP(X_LEFT));
- break;
- case M_PRN:
- SEND_STRING("()" SS_TAP(X_LEFT));
- break;
- case M_BRC:
- SEND_STRING("[]" SS_TAP(X_LEFT));
- break;
- case M_ARROW:
- SEND_STRING("=>");
- break;
-
- // custom increased tapping term for home row CTRL + other keys
- case HOME_D:
- // save time when CTRL from D key is pressed
- if (!record->tap.count) {
- HOME_CTRL_pressed_time = record->event.time;
- }
- break;
- case HOME_S:
- // if S is pressed and CTRL is active, and < 150 passed since CTRL was pressed, cancel CTRL and send D instead
- custom_home_row_ctrl(record, 150);
- break;
- case HOME_A:
- // if A is pressed and CTRL is active, and < 180 passed since CTRL was pressed, cancel CTRL and send D instead
- custom_home_row_ctrl(record, 180);
- break;
- }
-
- if (data[0]) {
- dprintf("raw_hid_send %u\n", data[0]);
- raw_hid_send(data, sizeof(data));
- }
- }
-
- return true;
-}
-
-/* Active Layer processing */
-layer_state_t layer_state_set_user(layer_state_t state) {
- if (is_display_enabled()) {
- display_process_layer_state(get_highest_layer(state));
- } else if (is_keyboard_master() && !is_keyboard_left()) {
- uint8_t layer = get_highest_layer(state);
- dprintf("RPC_ID_USER_LAYER_SYNC: %u\n", layer);
- transaction_rpc_send(RPC_ID_USER_LAYER_SYNC, 1, &layer);
- }
-
- return state;
-}
-
-/* Caps Word processing */
-void caps_word_set_user(bool active) {
- if (is_display_enabled()) {
- display_process_caps_word(active);
- } else if (is_keyboard_master() && !is_keyboard_left()) {
- dprintf("RPC_ID_USER_CAPS_WORD_SYNC: %s\n", active ? "active" : "inactive");
- transaction_rpc_send(RPC_ID_USER_CAPS_WORD_SYNC, 1, &active);
- }
-}
-
-/* default caps word logic that allows KC_MINS. Underscore can be typed with KC_RSFT + KC_MINS */
-bool caps_word_press_user(uint16_t keycode) {
- switch (keycode) {
- // Keycodes that continue Caps Word, with shift applied.
- case KC_A ... KC_Z:
- add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key.
- return true;
-
- // Keycodes that continue Caps Word, without shifting.
- case KC_1 ... KC_0:
- case KC_BSPC:
- case KC_DEL:
- case KC_MINS:
- case KC_RSFT:
- return true;
-
- default:
- return false; // Deactivate Caps Word.
- }
-}
-
-/* Raw HID processing*/
-void raw_hid_receive(uint8_t *data, uint8_t length) {
- dprintf("raw_hid_receive - received %u bytes \n", length);
-
- if (is_display_enabled()) {
- display_process_raw_hid_data(data, length);
- } else if (is_keyboard_master() && !is_keyboard_left()) {
- dprint("RPC_ID_USER_HID_SYNC \n");
- transaction_rpc_send(RPC_ID_USER_HID_SYNC, length, data);
- }
-}
-
-void hid_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
- if (is_display_enabled()) {
- display_process_raw_hid_data((uint8_t *)initiator2target_buffer, initiator2target_buffer_size);
- }
-}
-
-void layer_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
- if (is_display_enabled()) {
- display_process_layer_state(*(uint8_t *)initiator2target_buffer);
- }
-}
-
-void caps_word_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
- if (is_display_enabled()) {
- display_process_caps_word(*(bool *)initiator2target_buffer);
- }
-}
-
-void keyboard_post_init_user() {
- // sync received hid data
- transaction_register_rpc(RPC_ID_USER_HID_SYNC, hid_sync);
- // sync highest layer (a bit more performant than standard SPLIT_LAYER_STATE_ENABLE)
- transaction_register_rpc(RPC_ID_USER_LAYER_SYNC, layer_sync);
- // sync caps word state
- transaction_register_rpc(RPC_ID_USER_CAPS_WORD_SYNC, caps_word_sync);
-}
diff --git a/keyboards/stront/keymaps/zzeneg/lv_conf.h b/keyboards/stront/keymaps/zzeneg/lv_conf.h
deleted file mode 100644
index 8b0c1f3f83..0000000000
--- a/keyboards/stront/keymaps/zzeneg/lv_conf.h
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2023 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* disable some things before lv_conf include */
-#define LV_USE_CALENDAR 0
-#define LV_USE_SPAN 0
-#define LV_USE_ROLLER 0
-#define LV_USE_TEXTAREA 0
-
-#include_next <lv_conf.h>
-
-/* Custom fonts:
- - montserrat_20_en_ru - english/cyrillic symbols, range 0x20-0x7F,0x0410-0x044F,0x0401,0x0451
- - montserrat_48_digits - digits, dot and colon only, range 0x2E,0x30-0x3A
- */
-
-#undef LV_FONT_CUSTOM_DECLARE
-#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(montserrat_20_en_ru) LV_FONT_DECLARE(montserrat_48_digits)
-
-#undef LV_FONT_DEFAULT
-#define LV_FONT_DEFAULT &montserrat_20_en_ru
-
-#undef LV_FONT_MONTSERRAT_20
-#define LV_FONT_MONTSERRAT_20 0
-
-#undef LV_FONT_MONTSERRAT_48
-#define LV_FONT_MONTSERRAT_48 0
-
-// #undef LV_FONT_MONTSERRAT_16
-// #define LV_FONT_MONTSERRAT_16 1
-
-// #undef LV_FONT_MONTSERRAT_18
-// #define LV_FONT_MONTSERRAT_18 1
-
-// #undef LV_FONT_MONTSERRAT_20
-// #define LV_FONT_MONTSERRAT_20 1
-
-// #undef LV_FONT_MONTSERRAT_22
-// #define LV_FONT_MONTSERRAT_22 1
-
-// #undef LV_FONT_MONTSERRAT_24
-// #define LV_FONT_MONTSERRAT_24 1
-
-// #undef LV_FONT_MONTSERRAT_26
-// #define LV_FONT_MONTSERRAT_26 1
-
-// #undef LV_FONT_MONTSERRAT_28
-// #define LV_FONT_MONTSERRAT_28 1
-
-// #undef LV_FONT_MONTSERRAT_30
-// #define LV_FONT_MONTSERRAT_30 1
-
-// #undef LV_FONT_MONTSERRAT_32
-// #define LV_FONT_MONTSERRAT_32 1
-
-// #undef LV_FONT_MONTSERRAT_34
-// #define LV_FONT_MONTSERRAT_34 1
-
-// #undef LV_FONT_MONTSERRAT_36
-// #define LV_FONT_MONTSERRAT_36 1
-
-// #undef LV_FONT_MONTSERRAT_38
-// #define LV_FONT_MONTSERRAT_38 1
-
-// #undef LV_FONT_MONTSERRAT_40
-// #define LV_FONT_MONTSERRAT_40 1
-
-// #undef LV_FONT_MONTSERRAT_42
-// #define LV_FONT_MONTSERRAT_42 1
-
-// #undef LV_FONT_MONTSERRAT_44
-// #define LV_FONT_MONTSERRAT_44 1
-
-// #undef LV_FONT_MONTSERRAT_46
-// #define LV_FONT_MONTSERRAT_46 1
-
-// #undef LV_FONT_MONTSERRAT_48
-// #define LV_FONT_MONTSERRAT_48 1
-
-/* disable widgets*/
-#undef LV_USE_ANIMIMG
-#define LV_USE_ANIMIMG 0
-#undef LV_USE_BAR
-#define LV_USE_BAR 0
-#undef LV_USE_BTN
-#define LV_USE_BTN 0
-#undef LV_USE_BTNMATRIX
-#define LV_USE_BTNMATRIX 0
-#undef LV_USE_CANVAS
-#define LV_USE_CANVAS 0
-#undef LV_USE_CHECKBOX
-#define LV_USE_CHECKBOX 0
-#undef LV_USE_DROPDOWN
-#define LV_USE_DROPDOWN 0
-#undef LV_USE_LINE
-#define LV_USE_LINE 0
-#undef LV_USE_SLIDER
-#define LV_USE_SLIDER 0
-#undef LV_USE_SWITCH
-#define LV_USE_SWITCH 0
-#undef LV_USE_TABLE
-#define LV_USE_TABLE 0
-
-/* disable extra components */
-#undef LV_USE_CHART
-#define LV_USE_CHART 0
-#undef LV_USE_COLORWHEEL
-#define LV_USE_COLORWHEEL 0
-#undef LV_USE_IMGBTN
-#define LV_USE_IMGBTN 0
-#undef LV_USE_KEYBOARD
-#define LV_USE_KEYBOARD 0
-#undef LV_USE_LED
-#define LV_USE_LED 0
-#undef LV_USE_LIST
-#define LV_USE_LIST 0
-#undef LV_USE_MENU
-#define LV_USE_MENU 0
-#undef LV_USE_METER
-#define LV_USE_METER 0
-#undef LV_USE_MSGBOX
-#define LV_USE_MSGBOX 0
-#undef LV_USE_SPINBOX
-#define LV_USE_SPINBOX 0
-#undef LV_USE_SPINNER
-#define LV_USE_SPINNER 0
-#undef LV_USE_TABVIEW
-#define LV_USE_TABVIEW 0
-#undef LV_USE_TILEVIEW
-#define LV_USE_TILEVIEW 0
-#undef LV_USE_WIN
-#define LV_USE_WIN 0
-
-/* disable themes */
-#undef LV_USE_THEME_BASIC
-#define LV_USE_THEME_BASIC 0
-#undef LV_USE_THEME_MONO
-#define LV_USE_THEME_MONO 0
-
-/* disable layouts */
-#undef LV_USE_GRID
-#define LV_USE_GRID 0
-
-/* disable build examples */
-#undef LV_BUILD_EXAMPLES
-#define LV_BUILD_EXAMPLES 0
diff --git a/keyboards/stront/keymaps/zzeneg/mcuconf.h b/keyboards/stront/keymaps/zzeneg/mcuconf.h
deleted file mode 100644
index 47ee67119d..0000000000
--- a/keyboards/stront/keymaps/zzeneg/mcuconf.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2023 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include_next <mcuconf.h>
-
-#undef RP_I2C_USE_I2C1
-#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/stront/keymaps/zzeneg/rules.mk b/keyboards/stront/keymaps/zzeneg/rules.mk
deleted file mode 100644
index 26ddf77803..0000000000
--- a/keyboards/stront/keymaps/zzeneg/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# CONSOLE_ENABLE = yes
-
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-CAPS_WORD_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-DYNAMIC_TAPPING_TERM_ENABLE = yes
-
-POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c
-
-RAW_ENABLE = yes
-
-SRC += zzeneg_display.c \
- fonts/montserrat_20_en_ru.c \
- fonts/montserrat_48_digits.c \
- icons/flag_uk.c \
- icons/flag_ru.c
diff --git a/keyboards/stront/keymaps/zzeneg/zzeneg_display.c b/keyboards/stront/keymaps/zzeneg/zzeneg_display.c
deleted file mode 100644
index d8d6f4d70b..0000000000
--- a/keyboards/stront/keymaps/zzeneg/zzeneg_display.c
+++ /dev/null
@@ -1,242 +0,0 @@
-// Copyright 2023 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "zzeneg_display.h"
-#include "display.h"
-#include "raw_hid.h"
-#include "lvgl_helpers.h"
-
-uint16_t home_screen_timer = 0;
-
-/* screens */
-static lv_obj_t *screen_home;
-static lv_obj_t *screen_volume;
-static lv_obj_t *screen_media;
-
-/* home screen content */
-static lv_obj_t *label_time;
-static lv_obj_t *label_volume_home;
-static lv_obj_t *label_shift;
-static lv_obj_t *label_ctrl;
-static lv_obj_t *label_alt;
-static lv_obj_t *label_gui;
-static lv_obj_t *label_layer;
-static lv_obj_t *label_caps;
-static lv_obj_t *label_caps_word;
-static lv_obj_t *icon_layout;
-
-/* volume screen content */
-static lv_obj_t *arc_volume;
-static lv_obj_t *label_volume_arc;
-
-/* media screen content */
-static lv_obj_t *label_media_artist;
-static lv_obj_t *label_media_title;
-
-LV_IMG_DECLARE(flag_ru);
-LV_IMG_DECLARE(flag_uk);
-/* can be replaced with PL flag (update rules.mk as well) */
-// LV_IMG_DECLARE(flag_pl);
-
-enum layout { _EN = 0, _RU };
-void set_layout_icon(uint8_t layout) {
- switch (layout) {
- case _EN:
- lv_img_set_src(icon_layout, &flag_uk);
- break;
-
- case _RU:
- lv_img_set_src(icon_layout, &flag_ru);
- break;
- }
-}
-
-void read_string(uint8_t *data, char *string_data) {
- uint8_t data_length = data[1];
- memcpy(string_data, data + 2, data_length);
- string_data[data_length] = '\0';
-}
-
-void start_home_screen_timer(void) {
- dprint("reset home screen\n");
- home_screen_timer = timer_read();
-}
-
-void init_screen_home_custom(void) {
- screen_home = lv_scr_act();
- lv_obj_add_style(screen_home, &style_screen, 0);
- use_flex_column(screen_home);
-
- label_volume_home = lv_label_create(screen_home);
- lv_label_set_text(label_volume_home, "");
-
- lv_obj_t *mods = lv_obj_create(screen_home);
- lv_obj_add_style(mods, &style_container, 0);
- use_flex_row(mods);
-
- label_gui = create_button(mods, "GUI", &style_button, &style_button_active);
- label_alt = create_button(mods, "ALT", &style_button, &style_button_active);
- label_ctrl = create_button(mods, "CTL", &style_button, &style_button_active);
- label_shift = create_button(mods, "SFT", &style_button, &style_button_active);
-
- label_time = lv_label_create(screen_home);
- lv_label_set_text(label_time, "00:00");
- lv_obj_set_style_text_font(label_time, &montserrat_48_digits, LV_PART_MAIN);
-
- lv_obj_t *caps = lv_obj_create(screen_home);
- lv_obj_add_style(caps, &style_container, 0);
- use_flex_row(caps);
-
- label_caps = create_button(caps, "CAPS", &style_button, &style_button_active);
- label_caps_word = create_button(caps, "CAPS WORD", &style_button, &style_button_active);
-
- lv_obj_t *bottom_row = lv_obj_create(screen_home);
- lv_obj_add_style(bottom_row, &style_container, 0);
-
- label_layer = lv_label_create(bottom_row);
- lv_label_set_text(label_layer, "");
- lv_obj_align(label_layer, LV_ALIGN_LEFT_MID, 10, 0);
- display_process_layer_state(0);
-
- icon_layout = lv_img_create(bottom_row);
- lv_obj_set_style_radius(icon_layout, 4, 0);
- lv_obj_set_style_clip_corner(icon_layout, true, 0);
- lv_obj_align(icon_layout, LV_ALIGN_RIGHT_MID, -10, 0);
-}
-
-void init_screen_volume(void) {
- screen_volume = lv_obj_create(NULL);
- lv_obj_add_style(screen_volume, &style_screen, 0);
-
- arc_volume = lv_arc_create(screen_volume);
- lv_obj_set_size(arc_volume, 200, 200);
- lv_obj_center(arc_volume);
-
- label_volume_arc = lv_label_create(screen_volume);
- lv_label_set_text(label_volume_arc, "00");
- lv_obj_set_style_text_font(label_volume_arc, &montserrat_48_digits, LV_PART_MAIN);
- lv_obj_center(label_volume_arc);
-
- lv_obj_t *volume_text_label = lv_label_create(screen_volume);
- lv_label_set_text(volume_text_label, "Volume");
- lv_obj_align(volume_text_label, LV_ALIGN_BOTTOM_MID, 0, -10);
-}
-
-void init_screen_media(void) {
- screen_media = lv_obj_create(NULL);
- lv_obj_add_style(screen_media, &style_screen, 0);
- use_flex_column(screen_media);
- lv_obj_set_flex_align(screen_media, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
-
- label_media_artist = lv_label_create(screen_media);
- lv_label_set_text(label_media_artist, "N/A");
- lv_label_set_long_mode(label_media_artist, LV_LABEL_LONG_WRAP);
- lv_obj_set_width(label_media_artist, lv_pct(90));
- lv_obj_set_style_text_align(label_media_artist, LV_TEXT_ALIGN_CENTER, 0);
-
- label_media_title = lv_label_create(screen_media);
- lv_label_set_text(label_media_title, "N/A");
- lv_label_set_long_mode(label_media_title, LV_LABEL_LONG_WRAP);
- lv_obj_set_width(label_media_title, lv_pct(90));
- lv_obj_set_style_text_align(label_media_title, LV_TEXT_ALIGN_CENTER, 0);
-}
-
-bool display_init_user(void) {
- init_screen_home_custom();
- init_screen_volume();
- init_screen_media();
-
- return false;
-}
-
-void display_process_raw_hid_data(uint8_t *data, uint8_t length) {
- uint8_t data_type = data[0];
- char string_data[length - 2];
- dprintf("display_process_raw_hid_data - received data_type %u \n", data_type);
- switch (data_type) {
- case _TIME:
- dprintf("time %02d:%02d\n", data[1], data[2]);
- lv_label_set_text_fmt(label_time, "%02d:%02d", data[1], data[2]);
- break;
-
- case _VOLUME:
- dprintf("volume %d\n", data[1]);
- lv_label_set_text_fmt(label_volume_home, "Volume: %02d%%", data[1]);
- lv_label_set_text_fmt(label_volume_arc, "%02d", data[1]);
- lv_arc_set_value(arc_volume, data[1]);
- lv_scr_load(screen_volume);
- start_home_screen_timer();
- break;
-
- case _LAYOUT:
- dprintf("layout %d\n", data[1]);
- set_layout_icon(data[1]);
- break;
-
- case _MEDIA_ARTIST:
- read_string(data, string_data);
- dprintf("media artist %s\n", string_data);
- lv_label_set_text(label_media_artist, string_data);
- lv_scr_load(screen_media);
- start_home_screen_timer();
- break;
-
- case _MEDIA_TITLE:
- read_string(data, string_data);
- dprintf("media title %s\n", string_data);
- lv_label_set_text(label_media_title, string_data);
- lv_scr_load(screen_media);
- start_home_screen_timer();
- break;
- }
-}
-
-void display_process_layer_state(uint8_t layer) {
- switch (layer) {
- case _QWERTY:
- lv_label_set_text(label_layer, "QWERTY");
- break;
- case _GAME:
- lv_label_set_text(label_layer, "GAME");
- break;
- case _EU:
- lv_label_set_text(label_layer, "EU");
- break;
- case _NAV:
- lv_label_set_text(label_layer, "NAV");
- break;
- case _NUMBER:
- lv_label_set_text(label_layer, "NUMBER");
- break;
- case _SYMBOL:
- lv_label_set_text(label_layer, "SYMBOL");
- break;
- case _FUNC:
- lv_label_set_text(label_layer, "FUNC");
- break;
- case _SYS:
- lv_label_set_text(label_layer, "SYSTEM");
- break;
- }
-}
-
-void display_housekeeping_task(void) {
- if (home_screen_timer && timer_elapsed(home_screen_timer) > 5000) {
- home_screen_timer = 0;
- lv_scr_load(screen_home);
- }
-
- toggle_state(label_shift, LV_STATE_PRESSED, MODS_SHIFT);
- toggle_state(label_ctrl, LV_STATE_PRESSED, MODS_CTRL);
- toggle_state(label_alt, LV_STATE_PRESSED, MODS_ALT);
- toggle_state(label_gui, LV_STATE_PRESSED, MODS_GUI);
-}
-
-void display_process_caps(bool active) {
- toggle_state(label_caps, LV_STATE_PRESSED, active);
-}
-
-void display_process_caps_word(bool active) {
- dprint("display_process_caps_word\n");
- toggle_state(label_caps_word, LV_STATE_PRESSED, active);
-}
diff --git a/keyboards/stront/keymaps/zzeneg/zzeneg_display.h b/keyboards/stront/keymaps/zzeneg/zzeneg_display.h
deleted file mode 100644
index 22b36793f4..0000000000
--- a/keyboards/stront/keymaps/zzeneg/zzeneg_display.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2023 zzeneg (@zzeneg)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "quantum.h"
-
-typedef enum {
- _QWERTY = 0,
- _GAME,
- _EU,
- _NAV,
- _NUMBER,
- _SYMBOL,
- _FUNC,
- _SYS,
-} layer_number;
-
-typedef enum {
- _TIME = 0,
- _VOLUME,
- _LAYOUT,
- _MEDIA_ARTIST,
- _MEDIA_TITLE,
-} hid_data_type;
-
-void display_process_raw_hid_data(uint8_t *data, uint8_t length);
-void display_process_layer_state(uint8_t layer);
-void display_process_caps_word(bool active);
diff --git a/keyboards/sx60/keymaps/amnobis/config.h b/keyboards/sx60/keymaps/amnobis/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/sx60/keymaps/amnobis/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/sx60/keymaps/amnobis/keymap.c b/keyboards/sx60/keymaps/amnobis/keymap.c
deleted file mode 100644
index 014fed6cab..0000000000
--- a/keyboards/sx60/keymaps/amnobis/keymap.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT_ansi_split_bs_rshift(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_ESC,
- KC_SPC, KC_TAB, KC_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_SPC, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_SPC, 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_SPC, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
-
- LAYOUT_ansi_split_bs_rshift(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_LPRN, KC_RPRN, KC_GRV, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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/sx60/keymaps/amnobis/readme.md b/keyboards/sx60/keymaps/amnobis/readme.md
deleted file mode 100644
index 207d241804..0000000000
--- a/keyboards/sx60/keymaps/amnobis/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Default Keymap
-===
-
-Super simple default keymap.
-
-Keymap Maintainer: [amnobis](https://github.com/amnobis)
-
-Intended usage: This is mostly provided for testing before you build your own keymap and as a reference to a stock(ish) configuration
diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c
index 66bc494be6..22f37db539 100644
--- a/keyboards/sx60/matrix.c
+++ b/keyboards/sx60/matrix.c
@@ -214,7 +214,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
return 0;
} else {
uint8_t data = 0;
- mcp23018_status = i2c_readReg(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
+ mcp23018_status = i2c_read_register(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT);
if (!mcp23018_status) {
current_matrix[current_row] |= (~((uint16_t)data) << 8);
}
@@ -245,7 +245,7 @@ static void select_row(uint8_t row)
set active row output : 1
set other rows hi-Z : 1 */
uint8_t port = 0xFF & ~(1<<abs(row-4));
- mcp23018_status = i2c_writeReg(I2C_ADDR, GPIOB, &port, 1, I2C_TIMEOUT);
+ mcp23018_status = i2c_write_register(I2C_ADDR, GPIOB, &port, 1, I2C_TIMEOUT);
}
uint8_t pin = row_pins[row];
diff --git a/keyboards/sx60/sx60.c b/keyboards/sx60/sx60.c
index cb7f2b88ff..12fa6a9ed5 100755
--- a/keyboards/sx60/sx60.c
+++ b/keyboards/sx60/sx60.c
@@ -27,9 +27,9 @@ uint8_t init_mcp23018(void) {
0b00000000,
};
- mcp23018_status = i2c_writeReg(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT);
+ mcp23018_status = i2c_write_register(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT);
if (mcp23018_status) return mcp23018_status;
- mcp23018_status = i2c_writeReg(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT);
+ mcp23018_status = i2c_write_register(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT);
return mcp23018_status;
}
diff --git a/keyboards/synapse/keymaps/7u_space/rules.mk b/keyboards/synapse/keymaps/7u_space/rules.mk
deleted file mode 100644
index ab1e438182..0000000000
--- a/keyboards/synapse/keymaps/7u_space/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMBO_ENABLE = yes
diff --git a/keyboards/synapse/keymaps/default/rules.mk b/keyboards/synapse/keymaps/default/rules.mk
deleted file mode 100644
index ab1e438182..0000000000
--- a/keyboards/synapse/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMBO_ENABLE = yes
diff --git a/keyboards/synapse/readme.md b/keyboards/synapse/readme.md
deleted file mode 100644
index f98fee8e42..0000000000
--- a/keyboards/synapse/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# synapse
-
-![synapse](https://i.imgur.com/OQNNPBhh.jpg)
-
-Stagger PCB for Cervello!
-
-* Keyboard Maintainer: https://github.com/qpockets
-* Hardware Availability: [P3D Store](https://p3dstore.com/products/cervello-acrylic-keyboard-case-and-pcb-group-buy?_pos=4&_sid=fd078da46&_ss=r&variant=40398412677304) Group Buy
-
-Make example for this keyboard (after setting up your build environment):
-
- make synapse:default
-
-Flashing example for this keyboard:
-
- make synapse:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
-*
diff --git a/keyboards/synthlabs/060/config.h b/keyboards/synthlabs/060/config.h
deleted file mode 100644
index 4a475316ed..0000000000
--- a/keyboards/synthlabs/060/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2022 Aaron Hong (@hongaaronc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Backlighting */
-#define RGB_MATRIX_LED_COUNT 63
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// Enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// Enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-// Disabled due to firmware size constraints
-// Can be enabled in exchange for some other effects
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
diff --git a/keyboards/synthlabs/060/info.json b/keyboards/synthlabs/060/info.json
index b816b18027..0c5870b46a 100644
--- a/keyboards/synthlabs/060/info.json
+++ b/keyboards/synthlabs/060/info.json
@@ -30,6 +30,39 @@
"force_nkro": true
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
@@ -99,7 +132,8 @@
{"flags": 1, "matrix": [4, 11], "x": 180, "y": 64},
{"flags": 1, "matrix": [4, 12], "x": 200, "y": 64},
{"flags": 1, "matrix": [4, 13], "x": 220, "y": 64}
- ]
+ ],
+ "sleep": true
},
"community_layouts": [
"60_ansi",
diff --git a/keyboards/synthlabs/solo/keymaps/iidx/keymap.c b/keyboards/synthlabs/solo/keymaps/iidx/keymap.c
deleted file mode 100644
index d124a011f6..0000000000
--- a/keyboards/synthlabs/solo/keymaps/iidx/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2022 Aaron Hong (@hongaaronc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#include "joystick.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6,
- JS_8, MO(1), JS_7,
- JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6
- ),
- [1] = LAYOUT_all(
- JS_9,JS_0,JS_10, _______,JS_11,JS_1,JS_12,
- _______, _______, _______,
- JS_10,JS_0,JS_9, _______,JS_11,JS_1,JS_12
- ),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-/* The amount of time the encoder has to remain stationary, before unregistering encoder bindings */
-uint16_t encoder_stationary_release_delay_ms = 25;
-
-uint16_t encoder_last_update_time = 0;
-
-enum {
- CCW_JOYSTICK_BUTTON = 8,
- CW_JOYSTICK_BUTTON = 7,
-};
-
-enum {
- CCW_MACRO = SAFE_RANGE,
- CW_MACRO,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case CCW_MACRO:
- unregister_joystick_button(CW_JOYSTICK_BUTTON);
- register_joystick_button(CCW_JOYSTICK_BUTTON);
- encoder_last_update_time = timer_read(); /* Update the last time that the encoder was detected as rotated */
- return false;
- case CW_MACRO:
- unregister_joystick_button(CCW_JOYSTICK_BUTTON);
- register_joystick_button(CW_JOYSTICK_BUTTON);
- encoder_last_update_time = timer_read(); /* Update the last time that the encoder was detected as rotated */
- return false;
- default:
- return true;
- }
-}
-
-void housekeeping_task_user(void) {
- uint16_t current_time = timer_read();
- uint16_t elapsed_time_since_last_update = current_time - encoder_last_update_time;
-
- /* If an encoder has been stationary for encoder_stationary_release_delay_ms, then unregister the joystick buttons for both directions */
- if (elapsed_time_since_last_update >= encoder_stationary_release_delay_ms) {
- unregister_joystick_button(CCW_JOYSTICK_BUTTON);
- unregister_joystick_button(CW_JOYSTICK_BUTTON);
- }
-}
-
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(
- CCW_MACRO,
- CW_MACRO
- ) },
- [1] = { ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/synthlabs/solo/keymaps/iidx/readme.md b/keyboards/synthlabs/solo/keymaps/iidx/readme.md
deleted file mode 100644
index f56fa622d3..0000000000
--- a/keyboards/synthlabs/solo/keymaps/iidx/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# IIDX Synth Labs Solo Layout
-
-This keymap is intended for usage as a gamepad for [beatmania IIDX INFINITAS](https://p.eagate.573.jp/game/infinitas/2/index.html).
-
-This keycap follows the default keymapping for the game, shown here:
-
-![Default Keymapping Settings Screen](https://i.imgur.com/Va48FnZ.png)
-
-The face buttons correspond directly to ボタン 1 - ボタン 7
-
-Turning the knob clockwise corresponds to スクラッãƒ-å³å›žè»¢
-Turning the knob counter-clockwise corresponds to スクラッãƒ-左回転
-
-While holding down the knob button
-* The bottom row of face buttons corresponds to ボタン E1 - ボタン E4
-* The top-left and top-right face buttons correspond to ボタン 1 and ボタン 2, for adjustment of in-game scroll speed
diff --git a/keyboards/synthlabs/solo/keymaps/iidx/rules.mk b/keyboards/synthlabs/solo/keymaps/iidx/rules.mk
deleted file mode 100644
index 550de16143..0000000000
--- a/keyboards/synthlabs/solo/keymaps/iidx/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-JOYSTICK_ENABLE = yes
-DEBOUNCE_TYPE = sym_eager_pk
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/system76/launch_1/config.h b/keyboards/system76/launch_1/config.h
index 27e3025fe3..986a4db76e 100644
--- a/keyboards/system76/launch_1/config.h
+++ b/keyboards/system76/launch_1/config.h
@@ -17,34 +17,7 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 84
-# define RGB_MATRIX_KEYPRESSES // Reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // Reacts to keyreleases (instead of keypresses)
-// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables framebuffer effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // Turns off effects when suspended
-// Limit brightness to support USB-A at 0.5 A
-// TODO: Do this dynamically based on power source
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 176 // Limits maximum brightness of LEDs to 176 out of 255. If not defined, maximum brightness is set to 255
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Sets the default mode, if none has been set
-# define RGB_MATRIX_DEFAULT_HUE 142 // Sets the default hue value, if none has been set
-# define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set
-# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
-# define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
-# define RGB_MATRIX_DISABLE_KEYCODES // Disables control of rgb matrix by keycodes (must use code functions to control the feature)
-
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-#endif // RGB_MATRIX_ENABLE
+#define RGB_MATRIX_DISABLE_KEYCODES // Disables control of rgb matrix by keycodes (must use code functions to control the feature)
// Mechanical locking support; use KC_LCAP, KC_LNUM, or KC_LSCR instead in keymap
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/system76/launch_1/info.json b/keyboards/system76/launch_1/info.json
index eba3a115b8..536b310cc0 100644
--- a/keyboards/system76/launch_1/info.json
+++ b/keyboards/system76/launch_1/info.json
@@ -11,7 +11,28 @@
"pin": "E2"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "raindrops": true,
+ "splash": true,
+ "multisplash": true
+ },
+ "default": {
+ "animation": "rainbow_moving_chevron",
+ "hue": 142,
+ "sat": 255,
+ "speed": 127
+ },
+ "driver": "ws2812",
+ "max_brightness": 176,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D7", "C7", "C6", "B6", "B5", "B4", "D6", "D4", "E6", "D5", "D3", "D2", "B7", "B0"],
diff --git a/keyboards/system76/launch_1/usb_mux.c b/keyboards/system76/launch_1/usb_mux.c
index 6cb04dcdd7..dd51b7c4b2 100644
--- a/keyboards/system76/launch_1/usb_mux.c
+++ b/keyboards/system76/launch_1/usb_mux.c
@@ -77,51 +77,14 @@ i2c_status_t usb7206_read_reg(struct USB7206* self, uint32_t addr, uint8_t* data
return status;
}
- uint8_t read[2] = {
- 0x00, // Buffer address MSB: always 0
- 0x06, // Buffer address LSB: 6 to skip header
- };
-
- status = i2c_start((self->addr << 1) | I2C_WRITE, I2C_TIMEOUT);
- if (status >= 0) {
- for (uint16_t i = 0; i < sizeof(read); i++) {
- status = i2c_write(read[i], I2C_TIMEOUT);
- if (status < 0) {
- goto error;
- }
- }
- } else {
- goto error;
- }
-
- status = i2c_start((self->addr << 1) | I2C_READ, I2C_TIMEOUT);
- if (status < 0) {
- goto error;
- }
-
- // Read and ignore buffer length
- status = i2c_read_ack(I2C_TIMEOUT);
- if (status < 0) {
- goto error;
- }
+ uint16_t read = 0x0006; // Buffer address 6 to skip header
+ uint8_t data_with_buffer_length[length];
+ status = i2c_readReg16((self->addr << 1), read, data_with_buffer_length, length, I2C_TIMEOUT);
for (uint16_t i = 0; i < (length - 1) && status >= 0; i++) {
- status = i2c_read_ack(I2C_TIMEOUT);
- if (status >= 0) {
- data[i] = (uint8_t)status;
- }
+ data[i] = data_with_buffer_length[i+1];
}
- if (status >= 0) {
- status = i2c_read_nack(I2C_TIMEOUT);
- if (status >= 0) {
- data[(length - 1)] = (uint8_t)status;
- }
- }
-
-error:
- i2c_stop();
-
return (status < 0) ? status : length;
}
@@ -160,35 +123,21 @@ i2c_status_t usb7206_write_reg(struct USB7206* self, uint32_t addr, uint8_t* dat
(uint8_t)(addr >> 8), // Register address byte 1
(uint8_t)(addr >> 0), // Register address byte 0
};
+ uint8_t send_buffer_length = sizeof(register_write) + length;
+ uint8_t send_buffer[send_buffer_length];
+ uint8_t j = 0;
- status = i2c_start((self->addr << 1) | I2C_WRITE, I2C_TIMEOUT);
- if (status >= 0) {
- for (uint16_t i = 0; i < sizeof(register_write); i++) {
- status = i2c_write(register_write[i], I2C_TIMEOUT);
- if (status < 0) {
- goto error;
- }
- }
+ for (uint16_t i = 0; i < sizeof(register_write); i++) {
+ send_buffer[j++] = register_write[i];
+ }
- for (uint16_t i = 0; i < length; i++) {
- status = i2c_write(data[i], I2C_TIMEOUT);
- if (status < 0) {
- goto error;
- }
- }
- } else {
- goto error;
+ for (uint16_t i = 0; i < length; i++) {
+ send_buffer[j++] = data[i];
}
- i2c_stop();
+ status = i2c_transmit((self->addr << 1), send_buffer, send_buffer_length, I2C_TIMEOUT);
status = usb7206_register_access(self);
- if (status < 0) {
- goto error;
- }
-
-error:
- i2c_stop();
return (status < 0) ? status : length;
}
@@ -354,7 +303,7 @@ i2c_status_t ptn5110_init(struct PTN5110* self) {
// Read PTN5110 CC_STATUS.
// Returns zero on success or a negative number on error.
-i2c_status_t ptn5110_get_cc_status(struct PTN5110* self, uint8_t* cc) { return i2c_readReg(self->addr << 1, 0x1D, cc, 1, I2C_TIMEOUT); }
+i2c_status_t ptn5110_get_cc_status(struct PTN5110* self, uint8_t* cc) { return i2c_read_register(self->addr << 1, 0x1D, cc, 1, I2C_TIMEOUT); }
// Set PTN5110 SSMUX orientation.
// Returns zero on success or a negative number on error.
@@ -362,7 +311,7 @@ i2c_status_t ptn5110_set_ssmux(struct PTN5110* self, bool orientation) { return
// Write PTN5110 COMMAND.
// Returns zero on success or negative number on error.
-i2c_status_t ptn5110_command(struct PTN5110* self, uint8_t command) { return i2c_writeReg(self->addr << 1, 0x23, &command, 1, I2C_TIMEOUT); }
+i2c_status_t ptn5110_command(struct PTN5110* self, uint8_t command) { return i2c_write_register(self->addr << 1, 0x23, &command, 1, I2C_TIMEOUT); }
// Set orientation of PTN5110 operating as a sink, call this once.
// Returns zero on success or a negative number on error.
diff --git a/keyboards/tada68/keymaps/rgb/config.h b/keyboards/tada68/keymaps/rgb/config.h
index f902184d82..21ddfa1850 100755
--- a/keyboards/tada68/keymaps/rgb/config.h
+++ b/keyboards/tada68/keymaps/rgb/config.h
@@ -12,7 +12,7 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 16 // Number of LEDs. Change this to match your use case.
+#define RGBLIGHT_LED_COUNT 16 // Number of LEDs. Change this to match your use case.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/takashicompany/heavy_left/config.h b/keyboards/takashicompany/heavy_left/config.h
index c7f1d860ee..55bc23a592 100644
--- a/keyboards/takashicompany/heavy_left/config.h
+++ b/keyboards/takashicompany/heavy_left/config.h
@@ -1,41 +1,4 @@
-/*
-Copyright 2021 takashicompany
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* 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
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
#define EE_HANDS
diff --git a/keyboards/takashicompany/heavy_left/info.json b/keyboards/takashicompany/heavy_left/info.json
index a13f15cb4a..e0c020d0fd 100644
--- a/keyboards/takashicompany/heavy_left/info.json
+++ b/keyboards/takashicompany/heavy_left/info.json
@@ -1,13 +1,24 @@
{
"keyboard_name": "Heavy Left",
"manufacturer": "takashicompany",
- "url": "",
"maintainer": "takashicompany",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "rgblight": true
+ },
"usb": {
"vid": "0x7463",
"pid": "0x0015",
"device_version": "0.0.1"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
@@ -19,11 +30,8 @@
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
- "knight": true,
"christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
}
},
@@ -36,10 +44,11 @@
},
"diode_direction": "COL2ROW",
"split": {
- "soft_serial_pin": "D2"
+ "enabled": true,
+ "soft_serial_pin": "D2",
+ "main": "eeprom"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c
index e88fc04c9b..0a58e386f0 100644
--- a/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c
+++ b/keyboards/takashicompany/heavy_left/keymaps/default/keymap.c
@@ -18,11 +18,11 @@
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
- KC_00 = SAFE_RANGE
+ KC_00 = QK_USER
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+
LAYOUT(
KC_ESC, KC_PSLS, KC_PAST, KC_PMNS, 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, JP_YEN, KC_BSPC, KC_DEL,
KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME,
@@ -37,8 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
+ )
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -50,4 +49,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
}
return true;
-} \ No newline at end of file
+}
diff --git a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c
deleted file mode 100644
index 5e5fef6456..0000000000
--- a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2021 takashicompany
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- KC_00 = QK_KB_0,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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, JP_YEN, KC_BSPC, KC_DEL,
- KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME,
- KC_P4, KC_P5, KC_P6, KC_PCMM,KC_LCTL, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_END,
- KC_P1, KC_P2, KC_P3, KC_PEQL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT, KC_PGUP,
- KC_P0, KC_00, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, LALT_T(KC_LNG2), LALT_T(KC_LNG2), LSFT_T(KC_TAB), KC_SPC, LT(1, KC_LNG1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, MO(3)
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, KC_LBRC, KC_SLSH, KC_MINS, JP_BSLS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, JP_YEN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_NUM, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_00:
- if (record->event.pressed) {
- SEND_STRING("00");
- }
- return false;
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/rules.mk b/keyboards/takashicompany/heavy_left/keymaps/takashicompany/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/takashicompany/heavy_left/keymaps/takashicompany/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c b/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c
index eb523ebe50..fed6a0ae98 100644
--- a/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c
+++ b/keyboards/takashicompany/heavy_left/keymaps/via/keymap.c
@@ -22,7 +22,7 @@ enum custom_keycodes {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+
LAYOUT(
KC_ESC, KC_PSLS, KC_PAST, KC_PMNS, 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, JP_YEN, KC_BSPC, KC_DEL,
KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME,
@@ -37,24 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
-
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -66,4 +49,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
}
return true;
-} \ No newline at end of file
+}
diff --git a/keyboards/takashicompany/heavy_left/readme.md b/keyboards/takashicompany/heavy_left/readme.md
index fa38ac4f2c..ef676eba03 100644
--- a/keyboards/takashicompany/heavy_left/readme.md
+++ b/keyboards/takashicompany/heavy_left/readme.md
@@ -1,6 +1,6 @@
# heavy_left
-![heavy_left](https://github.com/takashicompany/heavy_left/blob/master/images/qmk.jpg)
+![heavy_left](https://i.imgur.com/cWHrklQh.jpeg)
This is a 95-key split type Japanese keyboard.
It has a numeric keypad on the left hand side, which can be used not only for entering numbers but also as a dedicated macro pad.
diff --git a/keyboards/takashicompany/heavy_left/rules.mk b/keyboards/takashicompany/heavy_left/rules.mk
index 2bccd4af0c..6e7633bfe0 100644
--- a/keyboards/takashicompany/heavy_left/rules.mk
+++ b/keyboards/takashicompany/heavy_left/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-SPLIT_KEYBOARD=yes \ No newline at end of file
+# This file intentionally left blank
diff --git a/keyboards/takashicompany/minizone/config.h b/keyboards/takashicompany/minizone/config.h
deleted file mode 100644
index 5665732b04..0000000000
--- a/keyboards/takashicompany/minizone/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2022 takashicompany (@takashicompany)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/takashicompany/minizone/info.json b/keyboards/takashicompany/minizone/info.json
index 911b924cfc..e5690d5488 100644
--- a/keyboards/takashicompany/minizone/info.json
+++ b/keyboards/takashicompany/minizone/info.json
@@ -3,11 +3,31 @@
"manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/minizone",
"maintainer": "takashicompany",
+ "development_board": "promicro",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "rgblight": true,
+ "oled": true
+ },
+ "build": {
+ "lto": true
+ },
"usb": {
"vid": "0x7463",
"pid": "0x0021",
"device_version": "0.0.1"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "dynamic_keymap": {
+ "layer_count": 10
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
@@ -31,8 +51,6 @@
"rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/minizone/keymaps/default/keymap.c b/keyboards/takashicompany/minizone/keymaps/default/keymap.c
index a1ae5d866c..f69284703a 100644
--- a/keyboards/takashicompany/minizone/keymaps/default/keymap.c
+++ b/keyboards/takashicompany/minizone/keymaps/default/keymap.c
@@ -5,66 +5,66 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT(
- LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
- LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+ [0] = LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_PGUP, KC_PGDN
),
-
- LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
- LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
+
+ [1] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
+ LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3),
- KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
- KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
+
+ [2] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3),
+ KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
- LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+
+ [3] = LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_PGUP, KC_PGDN
),
-
- LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
- LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+
+ [4] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
+ LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
+
+ [5] = LAYOUT(
KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL,
+
+ [6] = LAYOUT(
+ KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
+ KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
+ ),
+
+ [7] = LAYOUT(
+ KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
- RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
+
+ [8] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
+ RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
-}; \ No newline at end of file
+};
diff --git a/keyboards/takashicompany/minizone/keymaps/via/config.h b/keyboards/takashicompany/minizone/keymaps/via/config.h
deleted file mode 100644
index f357dce303..0000000000
--- a/keyboards/takashicompany/minizone/keymaps/via/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2022 takashicompany (@takashicompany)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 10 \ No newline at end of file
diff --git a/keyboards/takashicompany/minizone/keymaps/via/keymap.c b/keyboards/takashicompany/minizone/keymaps/via/keymap.c
index f64501f2f5..f69284703a 100644
--- a/keyboards/takashicompany/minizone/keymaps/via/keymap.c
+++ b/keyboards/takashicompany/minizone/keymaps/via/keymap.c
@@ -5,72 +5,66 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT(
- LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
- LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+ [0] = LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_PGUP, KC_PGDN
),
-
- LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
- LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
+
+ [1] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
+ LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3),
- KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
- KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
+
+ [2] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3),
+ KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
- LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+
+ [3] = LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_PGUP, KC_PGDN
),
-
- LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
- LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+
+ [4] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
+ LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
- KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
+
+ [5] = LAYOUT(
+ KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
+ KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
+
+ [6] = LAYOUT(
+ KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
+ KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
- RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
+
+ [7] = LAYOUT(
+ KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ ),
+
+ [8] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
+ RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
-}; \ No newline at end of file
+};
diff --git a/keyboards/takashicompany/minizone/rules.mk b/keyboards/takashicompany/minizone/rules.mk
index e6ed3b4b03..6e7633bfe0 100644
--- a/keyboards/takashicompany/minizone/rules.mk
+++ b/keyboards/takashicompany/minizone/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-OLED_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/takashiski/hecomi/keymaps/kakunpc/config.h b/keyboards/takashiski/hecomi/keymaps/kakunpc/config.h
deleted file mode 100644
index 326b121259..0000000000
--- a/keyboards/takashiski/hecomi/keymaps/kakunpc/config.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2018 kakunpc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 MASTER_RIGHT
-#define RGBLIGHT_SLEEP
-#define RGBLIGHT_SPLIT { 8, 8 }
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c b/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c
deleted file mode 100644
index df1b1195bc..0000000000
--- a/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2018 takashiski
- * Copyright 2019 kakunpc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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{
- DF,
- LW,
- FN
-};
-
-
-#define LT_F13 LT(FN, KC_F13)
-#define LT_F14 LT(FN, KC_F14)
-#define KC_LW MO(LW)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DF]=LAYOUT(
- KC_ESC,KC_GRV,KC_1,KC_2,KC_3,KC_4,KC_5, KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC,
- KC_TAB ,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y, KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS,
- KC_LCTL ,KC_A,KC_S,KC_D,KC_F,KC_G, KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,
- KC_LSFT ,KC_Z,KC_X,KC_C,KC_V,KC_B, KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,KC_DEL,
- KC_LGUI,KC_NO,KC_LALT,KC_LW,LT_F13,KC_SPC, KC_SPC,LT_F14,KC_LEFT,KC_UP,KC_DOWN,KC_RIGHT
- ),
- [LW]=LAYOUT(
- RGB_TOG,KC_NO,RGB_VAD,RGB_VAI,RGB_HUI,RGB_HUD,KC_TRNS, RGB_MOD,RGB_RMOD,KC_TRNS,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO ,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO
- ),
- [FN]=LAYOUT(
- KC_ESC,KC_GRV,KC_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_TAB ,KC_NO,KC_UP,KC_NO,KC_NO,KC_NO,KC_NO, KC_7,KC_8,KC_0,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_LCTL ,KC_LEFT,KC_DOWN,KC_RIGHT,KC_NO,KC_NO, KC_4,KC_5,KC_6,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_LSFT ,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_1,KC_2,KC_3,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_LGUI,KC_NO,KC_LALT,KC_INT5,KC_NO,KC_SPC, KC_0,KC_NO,KC_HOME,KC_PGUP,KC_PGDN,KC_END
- ),
-};
diff --git a/keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md b/keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md
deleted file mode 100644
index d5ccbbf824..0000000000
--- a/keyboards/takashiski/hecomi/keymaps/kakunpc/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The kakunpc keymap for hecomi_alpha
diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h
deleted file mode 100644
index dbacdcce58..0000000000
--- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 takashiski
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c
deleted file mode 100644
index 4b35b08418..0000000000
--- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2018 takashiski
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-enum Layer
-{
- JP,
- EN,
- CONFIG
-};
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[JP] = LAYOUT(
- JP_LABK,JP_RABK,JP_PLUS,JP_MINS,
- LT(CONFIG,JP_DOT),JP_COMM,JP_LBRC,LT(CONFIG,JP_RBRC)
- ),
-[EN] = LAYOUT(
- KC_LT,KC_GT,KC_PLUS,KC_MINS,
- LT(CONFIG,KC_DOT),KC_COMM,KC_LBRC,LT(CONFIG,KC_RBRC)
- ),
-[CONFIG]= LAYOUT(
- KC_NO,DF(JP),DF(JP),KC_NO,
- KC_TRNS,DF(EN),DF(JP),KC_TRNS
- )
-
-};
diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md
deleted file mode 100644
index 7fee17acd9..0000000000
--- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# keymap for brainfuck
-
- This keymap is specialized for the brainfuck programming language.
-
-| < | > | + | - |
-| . | , | [ | ] |
-
-and when you hold . or ], change config layer.
-
-default layer is for JP keyboard(logical pairing).
-you can choose EN keyboard(typewrite pairing).
-
diff --git a/keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c b/keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c
deleted file mode 100644
index 0ab6cc9891..0000000000
--- a/keyboards/takashiski/otaku_split/rev0/keymaps/sample/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2019 takashiski
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
-#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
-#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
-#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
-
-#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
-#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
-#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
-
-#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
-#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
-#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
-#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
-// 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_wrapper(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS ,KC_EQL,KC_INT3,KC_BSPC,
- KC_TAB, _________________QWERTY_L1_________________,KC_Y, _________________QWERTY_R1_________________,KC_LBRC,KC_RBRC,KC_ENT,
- KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,KC_QUOT,KC_NUHS,
- KC_LSFT, _________________QWERTY_L3_________________, KC_B,_________________QWERTY_R3_________________,KC_INT1,KC_RSFT,
- KC_LCTL, KC_LGUI,KC_LALT,KC_INT5,KC_TAB,KC_SPC, KC_ENT,KC_BSPC,KC_INT4,KC_INT2,KC_RALT,KC_RGUI,KC_APP,KC_RCTL
- ),
-};
-
-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;
-}
diff --git a/keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md b/keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md
deleted file mode 100644
index dbaaa2eb8e..0000000000
--- a/keyboards/takashiski/otaku_split/rev0/keymaps/sample/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for otaku_split \ No newline at end of file
diff --git a/keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c b/keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c
deleted file mode 100644
index c98b7bed8b..0000000000
--- a/keyboards/takashiski/otaku_split/rev1/keymaps/sample/keymap.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2019 takashiski
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-// Defines the keycodes used by our macros in process_record_user
-
-#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
-#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
-#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
-#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
-
-#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
-#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
-#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
-
-#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
-#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
-#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
-#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
-
-enum custom_keycodes {
- QMKBEST = SAFE_RANGE,
- QMKURL
-};
-
-enum layers{
- BASE=0
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_wrapper(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS ,KC_EQL,KC_INT3,KC_BSPC,
- KC_TAB, _________________QWERTY_L1_________________,KC_Y, _________________QWERTY_R1_________________,KC_LBRC,KC_RBRC,KC_ENT,
- KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,KC_QUOT,KC_NUHS,
- KC_LSFT, _________________QWERTY_L3_________________, KC_B,_________________QWERTY_R3_________________,KC_INT1,KC_RSFT,
- KC_LCTL, KC_LGUI,KC_LALT,KC_INT5,KC_TAB,KC_SPC,KC_SPC, KC_SPC,KC_ENT,KC_BSPC,KC_INT4,KC_INT2,KC_RALT,KC_APP,KC_RCTL
- )
-};
-
-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;
-}
diff --git a/keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md b/keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md
deleted file mode 100644
index dbaaa2eb8e..0000000000
--- a/keyboards/takashiski/otaku_split/rev1/keymaps/sample/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for otaku_split \ No newline at end of file
diff --git a/keyboards/tanuki/keymaps/tucznak/config.h b/keyboards/tanuki/keymaps/tucznak/config.h
deleted file mode 100644
index 37d42c0814..0000000000
--- a/keyboards/tanuki/keymaps/tucznak/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#undef MANUFACTURER
-#undef PRODUCT
-
-#define MANUFACTURER "Potato Inc."
-#define PRODUCT "Trash Panda"
-
-/* for bootloader */
-#define QMK_ESC_OUTPUT B2
-#define QMK_ESC_INPUT D0
-#define QMK_LED B0
-
-/* send tap key if no layer key was used even after tap delay */
-#undef TAPPING_TERM
-#define TAPPING_TERM 250
-#define RETRO_TAPPING
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/tanuki/keymaps/tucznak/keymap.c b/keyboards/tanuki/keymaps/tucznak/keymap.c
deleted file mode 100644
index 2b687b8485..0000000000
--- a/keyboards/tanuki/keymaps/tucznak/keymap.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _BASE,
- _DN,
- _UP,
- _NAV,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base layer (0)
- * ,------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ů | Nav |
- * `------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----'
- * | Shift | Z | X | C | V | B | N | M | , | . |Enter |
- * `-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------'
- * | Ctrl | GUI |LAlt | Space | SpaceUp |AltGr| Down |
- * `--------------------------------------------------------'
- */
-
- [_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_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, TT(_NAV),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(_UP,KC_SPC), KC_RALT, MO(_DN)
- ),
-
- /* Down layer (1)
- * function keys and numbers
- * ,------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * `------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----'
- * | |NumLk| | | + | - | * | / | , | . | |
- * `-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------'
- * | Fn | | | C+A+D | C+A+I | | |
- * `--------------------------------------------------------'
- */
-
- [_DN] = 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_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, _______,
- _______, KC_NUM, _______, _______, KC_PPLS, KC_PMNS, KC_PAST, KC_PSLS, KC_COMM, KC_DOT, _______,
- MO(_FN), _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, _______
- ),
-
- /* Up layer (2)
- * national and special characters
- * ,------------------------------------------------------------------------.
- * | +1 | Ä›2 | Å¡3 | Ä4 | Å™5 | ž6 | ý7 | á8 | í9 | é0 | ´ | ˇ |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | ;° | | | | | | ( | ) | § | ! | / | ú | |
- * `------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----'
- * | | | | \ | % | = | ¨ | ' | - | _ | |
- * `-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------'
- * | | | | | | | |
- * `--------------------------------------------------------'
- */
-
- [_UP] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, LSFT(KC_EQL),
- KC_GRV, _______, _______, _______, LSFT(KC_NUBS), LSFT(KC_RBRC), KC_RBRC, KC_QUOT, LSFT(KC_QUOT), LSFT(KC_LBRC), KC_LBRC, _______,
- _______, _______, _______, KC_NUBS, LSFT(KC_MINS), KC_MINS, KC_BSLS, LSFT(KC_BSLS), KC_SLSH, LSFT(KC_SLSH), _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Navigation layer (3)
- * arrows, nav cluster
- * ,------------------------------------------------------------------------.
- * | | | | | |Home |PgUp | | | Up | Ins | Del |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * | | | | | | End |PgDn | |Left |Down |Right| |
- * `------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----'
- * | |Caps |PrtSc|ScrLk|Pause| | | | | | |
- * `-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------'
- * | | | | | | | Menu |
- * `--------------------------------------------------------'
- */
-
- [_NAV] = LAYOUT(
- _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, KC_UP, KC_INS, KC_DEL,
- _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
- _______, KC_CAPS, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_APP
- ),
-
- /* Function layer (4)
- * keyboard and system control
- * ,------------------------------------------------------------------------.
- * |Reset| | | | | | |Play |Prev |Next |Stop | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------|
- * |Sleep | VLK |Mod+ |Hue+ |Sat+ |Val+ | | |Vol- |Vol+ |Mute | |
- * `------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----'
- * | | TOG |Mod- |Hue- |Sat- |Val- | | | | | |
- * `-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------'
- * | | | | | | | |
- * `--------------------------------------------------------'
- */
-
- [_FN] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, _______,
- KC_SLEP, VK_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
- _______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
-
-bool process_record_user (uint16_t keycode, keyrecord_t *record) {
- return true;
-}
diff --git a/keyboards/tanuki/keymaps/tucznak/readme.md b/keyboards/tanuki/keymaps/tucznak/readme.md
deleted file mode 100644
index b38490c9c5..0000000000
--- a/keyboards/tanuki/keymaps/tucznak/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# TuCZnak's modified layout
-
-This layout is optimized for Czech national QWERTZ keymap.
-It includes separated layers for:
- - F-keys and numbers
- - national and special characters
- - navigation cluster
- - keyboard config and media control
diff --git a/keyboards/tanuki/keymaps/tucznak/rules.mk b/keyboards/tanuki/keymaps/tucznak/rules.mk
deleted file mode 100644
index 627c893949..0000000000
--- a/keyboards/tanuki/keymaps/tucznak/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# screw Caterina
-BOOTLOADER = qmk-dfu
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-RGBLIGHT_ENABLE =yes # Enable keyboard underlight functionality (+4870)
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality (+1150)
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-TAP_DANCE_ENABLE = no
diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h
index 99c82df12e..31d0025883 100644
--- a/keyboards/teleport/native/config.h
+++ b/keyboards/teleport/native/config.h
@@ -14,9 +14,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* Use 3 dynamic keymap layers */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/* i2C Config */
#define I2C_DRIVER I2CD1
#define I2C1_SCL_PIN B6
@@ -27,36 +24,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
#define I2C1_CLOCK_SPEED 400000
-
-/* RGB Matrix driver config */
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 39
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-#define RGB_MATRIX_LED_FLUSH_LIMIT 32
+#define IS31FL3733_SDB_PIN B9
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_DEFAULT_SPD 40
-#define RGB_MATRIX_DEFAULT_VAL 220
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS // 2 Alphas and mods have different colors
-#define ENABLE_RGB_MATRIX_BREATHING // 3 Breath a static color
-#define ENABLE_RGB_MATRIX_CYCLE_ALL // 4 Cycle all colors
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // 5 Cycle vertically
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // 6 Cycle in a spirals
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP // 7 Heatmap of typing speed
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // 8 Static background, pressed keys light up
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // 9 Pressed keys and nearby keys light up
#define ENABLE_RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS // 0 Single color raindrops, random keys lighting up at randomized intensity
#define ENABLE_RGB_MATRIX_CUSTOM_STATIC_GAME_MODE // - Game mode sets the entire matrix (static) once, then stops LED refreshes
@@ -95,6 +68,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_TYPING_HEATMAP_SLIM
#endif
-
/* Set HSE clock since it differs from F411 default */
#define STM32_HSECLK 16000000
diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json
index 87b97e5b2d..3cd857a55d 100644
--- a/keyboards/teleport/native/info.json
+++ b/keyboards/teleport/native/info.json
@@ -11,7 +11,26 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "is31fl3733"
+ "animations": {
+ "alphas_mods": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_up_down": true,
+ "cycle_spiral": true,
+ "typing_heatmap": true,
+ "solid_reactive": true,
+ "solid_reactive_multiwide": true
+ },
+ "default": {
+ "speed": 40,
+ "val": 220
+ },
+ "driver": "is31fl3733",
+ "led_flush_limit": 32,
+ "sleep": true
+ },
+ "build": {
+ "lto": true
},
"features": {
"bootmagic": true,
@@ -19,8 +38,7 @@
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": true,
- "lto": true
+ "nkro": true
},
"diode_direction": "ROW2COL",
"matrix_pins": {
diff --git a/keyboards/teleport/native/native.c b/keyboards/teleport/native/native.c
index ab6d588de7..b53979e27c 100644
--- a/keyboards/teleport/native/native.c
+++ b/keyboards/teleport/native/native.c
@@ -16,111 +16,103 @@
#include "quantum.h"
-/* This board has !SDB of the is31 wired to D2. Set high to enable */
-void keyboard_post_init_kb(void) {
- setPinOutput(B9);
- writePinHigh(B9);
-
- keyboard_post_init_user();
-}
-
#ifdef RGB_MATRIX_ENABLE
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, L_1, K_1, J_1}, // Row 1
- {0, L_2, K_2, J_2},
- {0, L_3, K_3, J_3},
- {0, L_4, K_4, J_4},
- {0, L_5, K_5, J_5},
- {0, L_6, K_6, J_6},
- {0, L_7, K_7, J_7},
- {0, L_8, K_8, J_8},
- {0, L_9, K_9, J_9},
- {0, L_10, K_10, J_10},
- {0, L_11, K_11, J_11},
- {0, L_12, K_12, J_12},
- {0, L_13, K_13, J_13},
- {0, L_14, K_14, J_14},
- {0, L_15, K_15, J_15},
- {0, L_16, K_16, J_16},
+ {0, SW12_CS1, SW11_CS1, SW10_CS1}, // Row 1
+ {0, SW12_CS2, SW11_CS2, SW10_CS2},
+ {0, SW12_CS3, SW11_CS3, SW10_CS3},
+ {0, SW12_CS4, SW11_CS4, SW10_CS4},
+ {0, SW12_CS5, SW11_CS5, SW10_CS5},
+ {0, SW12_CS6, SW11_CS6, SW10_CS6},
+ {0, SW12_CS7, SW11_CS7, SW10_CS7},
+ {0, SW12_CS8, SW11_CS8, SW10_CS8},
+ {0, SW12_CS9, SW11_CS9, SW10_CS9},
+ {0, SW12_CS10, SW11_CS10, SW10_CS10},
+ {0, SW12_CS11, SW11_CS11, SW10_CS11},
+ {0, SW12_CS12, SW11_CS12, SW10_CS12},
+ {0, SW12_CS13, SW11_CS13, SW10_CS13},
+ {0, SW12_CS14, SW11_CS14, SW10_CS14},
+ {0, SW12_CS15, SW11_CS15, SW10_CS15},
+ {0, SW12_CS16, SW11_CS16, SW10_CS16},
- {0, I_1, H_1, G_1}, // Row 2
- {0, I_2, H_2, G_2},
- {0, I_3, H_3, G_3},
- {0, I_4, H_4, G_4},
- {0, I_5, H_5, G_5},
- {0, I_6, H_6, G_6},
- {0, I_7, H_7, G_7},
- {0, I_8, H_8, G_8},
- {0, I_9, H_9, G_9},
- {0, I_10, H_10, G_10},
- {0, I_11, H_11, G_11},
- {0, I_12, H_12, G_12},
- {0, I_13, H_13, G_13},
- {0, I_15, H_15, G_15},
- {0, I_16, H_16, G_16},
+ {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Row 2
+ {0, SW9_CS2, SW8_CS2, SW7_CS2},
+ {0, SW9_CS3, SW8_CS3, SW7_CS3},
+ {0, SW9_CS4, SW8_CS4, SW7_CS4},
+ {0, SW9_CS5, SW8_CS5, SW7_CS5},
+ {0, SW9_CS6, SW8_CS6, SW7_CS6},
+ {0, SW9_CS7, SW8_CS7, SW7_CS7},
+ {0, SW9_CS8, SW8_CS8, SW7_CS8},
+ {0, SW9_CS9, SW8_CS9, SW7_CS9},
+ {0, SW9_CS10, SW8_CS10, SW7_CS10},
+ {0, SW9_CS11, SW8_CS11, SW7_CS11},
+ {0, SW9_CS12, SW8_CS12, SW7_CS12},
+ {0, SW9_CS13, SW8_CS13, SW7_CS13},
+ {0, SW9_CS15, SW8_CS15, SW7_CS15},
+ {0, SW9_CS16, SW8_CS16, SW7_CS16},
- {0, F_1, E_1, D_1}, // Row 3
- {0, F_3, E_3, D_3},
- {0, F_4, E_4, D_4},
- {0, F_5, E_5, D_5},
- {0, F_6, E_6, D_6},
- {0, F_7, E_7, D_7},
- {0, F_8, E_8, D_8},
- {0, F_9, E_9, D_9},
- {0, F_10, E_10, D_10},
- {0, F_11, E_11, D_11},
- {0, F_12, E_12, D_12},
- {0, F_13, E_13, D_13},
- {0, F_14, E_14, D_14},
- {0, F_15, E_15, D_15},
- {0, F_16, E_16, D_16},
+ {0, SW6_CS1, SW5_CS1, SW4_CS1}, // Row 3
+ {0, SW6_CS3, SW5_CS3, SW4_CS3},
+ {0, SW6_CS4, SW5_CS4, SW4_CS4},
+ {0, SW6_CS5, SW5_CS5, SW4_CS5},
+ {0, SW6_CS6, SW5_CS6, SW4_CS6},
+ {0, SW6_CS7, SW5_CS7, SW4_CS7},
+ {0, SW6_CS8, SW5_CS8, SW4_CS8},
+ {0, SW6_CS9, SW5_CS9, SW4_CS9},
+ {0, SW6_CS10, SW5_CS10, SW4_CS10},
+ {0, SW6_CS11, SW5_CS11, SW4_CS11},
+ {0, SW6_CS12, SW5_CS12, SW4_CS12},
+ {0, SW6_CS13, SW5_CS13, SW4_CS13},
+ {0, SW6_CS14, SW5_CS14, SW4_CS14},
+ {0, SW6_CS15, SW5_CS15, SW4_CS15},
+ {0, SW6_CS16, SW5_CS16, SW4_CS16},
- {1, L_1, K_1, J_1}, // Row 4
- {1, L_3, K_3, J_3},
- {1, L_4, K_4, J_4},
- {1, L_5, K_5, J_5},
- {1, L_6, K_6, J_6},
- {1, L_7, K_7, J_7},
- {1, L_8, K_8, J_8},
- {1, L_9, K_9, J_9},
- {1, L_10, K_10, J_10},
- {1, L_11, K_11, J_11},
- {1, L_12, K_12, J_12},
- {1, L_13, K_13, J_13},
- {1, L_14, K_14, J_14},
- {1, L_16, K_16, J_16},
+ {1, SW12_CS1, SW11_CS1, SW10_CS1}, // Row 4
+ {1, SW12_CS3, SW11_CS3, SW10_CS3},
+ {1, SW12_CS4, SW11_CS4, SW10_CS4},
+ {1, SW12_CS5, SW11_CS5, SW10_CS5},
+ {1, SW12_CS6, SW11_CS6, SW10_CS6},
+ {1, SW12_CS7, SW11_CS7, SW10_CS7},
+ {1, SW12_CS8, SW11_CS8, SW10_CS8},
+ {1, SW12_CS9, SW11_CS9, SW10_CS9},
+ {1, SW12_CS10, SW11_CS10, SW10_CS10},
+ {1, SW12_CS11, SW11_CS11, SW10_CS11},
+ {1, SW12_CS12, SW11_CS12, SW10_CS12},
+ {1, SW12_CS13, SW11_CS13, SW10_CS13},
+ {1, SW12_CS14, SW11_CS14, SW10_CS14},
+ {1, SW12_CS16, SW11_CS16, SW10_CS16},
- {1, I_1, H_1, G_1}, // Row 5
- {1, I_2, H_2, G_2},
- {1, I_3, H_3, G_3},
- {1, I_4, H_4, G_4},
- {1, I_5, H_5, G_5},
- {1, I_6, H_6, G_6},
- {1, I_7, H_7, G_7},
- {1, I_8, H_8, G_8},
- {1, I_9, H_9, G_9},
- {1, I_10, H_10, G_10},
- {1, I_11, H_11, G_11},
- {1, I_12, H_12, G_12},
- {1, I_14, H_14, G_14},
- {1, I_15, H_15, G_15},
- {1, I_16, H_16, G_16},
+ {1, SW9_CS1, SW8_CS1, SW7_CS1}, // Row 5
+ {1, SW9_CS2, SW8_CS2, SW7_CS2},
+ {1, SW9_CS3, SW8_CS3, SW7_CS3},
+ {1, SW9_CS4, SW8_CS4, SW7_CS4},
+ {1, SW9_CS5, SW8_CS5, SW7_CS5},
+ {1, SW9_CS6, SW8_CS6, SW7_CS6},
+ {1, SW9_CS7, SW8_CS7, SW7_CS7},
+ {1, SW9_CS8, SW8_CS8, SW7_CS8},
+ {1, SW9_CS9, SW8_CS9, SW7_CS9},
+ {1, SW9_CS10, SW8_CS10, SW7_CS10},
+ {1, SW9_CS11, SW8_CS11, SW7_CS11},
+ {1, SW9_CS12, SW8_CS12, SW7_CS12},
+ {1, SW9_CS14, SW8_CS14, SW7_CS14},
+ {1, SW9_CS15, SW8_CS15, SW7_CS15},
+ {1, SW9_CS16, SW8_CS16, SW7_CS16},
- {1, F_1, E_1, D_1}, // Row 6
- {1, F_2, E_2, D_2},
- {1, F_3, E_3, D_3},
- {1, F_7, E_7, D_7},
- {1, F_11, E_11, D_11},
- {1, F_12, E_12, D_12},
- {1, F_13, E_13, D_13},
- {1, F_14, E_14, D_14},
- {1, F_15, E_15, D_15},
- {1, F_16, E_16, D_16}
+ {1, SW6_CS1, SW5_CS1, SW4_CS1}, // Row 6
+ {1, SW6_CS2, SW5_CS2, SW4_CS2},
+ {1, SW6_CS3, SW5_CS3, SW4_CS3},
+ {1, SW6_CS7, SW5_CS7, SW4_CS7},
+ {1, SW6_CS11, SW5_CS11, SW4_CS11},
+ {1, SW6_CS12, SW5_CS12, SW4_CS12},
+ {1, SW6_CS13, SW5_CS13, SW4_CS13},
+ {1, SW6_CS14, SW5_CS14, SW4_CS14},
+ {1, SW6_CS15, SW5_CS15, SW4_CS15},
+ {1, SW6_CS16, SW5_CS16, SW4_CS16}
};
#endif \ No newline at end of file
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h b/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h
deleted file mode 100644
index 4b885f24a1..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 v3ritas <v3ritas@tempoturtle.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#undef TAPPING_TERM
-#define TAPPING_TERM 190
-
-#define MUSIC_MASK (keycode != KC_NO)
-#define MIDI_ADVANCED
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c
deleted file mode 100644
index 4c9da96a2b..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-Copyright 2021 v3ritas <v3ritas@tempoturtle.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-extern MidiDevice midi_device;
-
-enum layers {
- _NATURAL,
- _SHARP,
- _FLAT,
-};
-
-/*
-MIDI CC codes for generic ON/OFF swiches
-80,81,82,83
-values off = 0-63
-*/
-
-#define OFF 0
-
-/*values on = 64-127*/
-
-#define ON 127
-
-/*implementation inspo taken from here: https://github.com/luantty2/pheromone_keyboard/blob/master/keyboards/pheromone/keymaps/default/keymap.c */
-
-enum custom_keycodes { MIDI_CC80 = SAFE_RANGE, MIDI_CC81, MIDI_CC82, MIDI_CC83 };
-
-static bool toggled_MIDI_CC80 = 0, toggled_MIDI_CC81 = 0, toggled_MIDI_CC82 = 0, toggled_MIDI_CC83 = 0;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MIDI_CC80:
- if (!IS_LAYER_ON(_NATURAL)) {
- toggled_MIDI_CC80 = false;
- if (record->event.pressed) {
- midi_send_cc(&midi_device, midi_config.channel, 80, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 80, OFF);
- }
- return true;
- } else {
- if (record->event.pressed) {
- if (!toggled_MIDI_CC80) {
- midi_send_cc(&midi_device, midi_config.channel, 80, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 80, OFF);
- }
- toggled_MIDI_CC80 = !toggled_MIDI_CC80;
- }
- return false;
- }
- case MIDI_CC81:
- if (!IS_LAYER_ON(_NATURAL)) {
- toggled_MIDI_CC81 = false;
- if (record->event.pressed) {
- midi_send_cc(&midi_device, midi_config.channel, 81, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 81, OFF);
- }
- return true;
- } else {
- if (record->event.pressed) {
- if (!toggled_MIDI_CC81) {
- midi_send_cc(&midi_device, midi_config.channel, 81, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 81, OFF);
- }
- toggled_MIDI_CC81 = !toggled_MIDI_CC81;
- }
- return false;
- }
- case MIDI_CC82:
- if (!IS_LAYER_ON(_NATURAL)) {
- toggled_MIDI_CC82 = false;
- if (record->event.pressed) {
- midi_send_cc(&midi_device, midi_config.channel, 82, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 82, OFF);
- }
- return true;
- } else {
- if (record->event.pressed) {
- if (!toggled_MIDI_CC82) {
- midi_send_cc(&midi_device, midi_config.channel, 82, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 82, OFF);
- }
- toggled_MIDI_CC82 = !toggled_MIDI_CC82;
- }
- return false;
- }
- case MIDI_CC83:
- if (!IS_LAYER_ON(_NATURAL)) {
- toggled_MIDI_CC83 = false;
- if (record->event.pressed) {
- midi_send_cc(&midi_device, midi_config.channel, 83, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 83, OFF);
- }
- return true;
- } else {
- if (record->event.pressed) {
- if (!toggled_MIDI_CC83) {
- midi_send_cc(&midi_device, midi_config.channel, 83, ON);
- } else {
- midi_send_cc(&midi_device, midi_config.channel, 83, OFF);
- }
- toggled_MIDI_CC83 = !toggled_MIDI_CC83;
- }
- return false;
- }
- }
- return true;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NATURAL] = LAYOUT(
- MI_C, MI_BNDD, MI_BNDU, MI_G,
- MI_D, MIDI_CC80, MIDI_CC81, MI_A,
- MI_E, MIDI_CC82, MIDI_CC83, MI_B,
- MI_F, MI_OCTD, MI_OCTU, MI_C,
- MO(_SHARP), MO(_FLAT)),
- [_SHARP] = LAYOUT(
- MI_Cs, KC_TRNS, KC_TRNS, MI_Gs,
- MI_Ds, KC_TRNS, KC_TRNS, MI_As,
- MI_F , KC_TRNS, KC_TRNS, MI_C ,
- MI_Fs, MI_TRSD, MI_TRSU, MI_Cs,
- KC_TRNS, KC_TRNS),
- [_FLAT] = LAYOUT(
- MI_B , KC_TRNS, KC_TRNS, MI_Gb,
- MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
- MI_Eb, KC_TRNS, KC_TRNS, MI_Bb,
- MI_E , MI_TRSD, MI_TRSU, MI_B,
- KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk b/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk
deleted file mode 100644
index b7152364ae..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MIDI_ENABLE = yes #enable MIDI \ No newline at end of file
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h
deleted file mode 100644
index 4b885f24a1..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 v3ritas <v3ritas@tempoturtle.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#undef TAPPING_TERM
-#define TAPPING_TERM 190
-
-#define MUSIC_MASK (keycode != KC_NO)
-#define MIDI_ADVANCED
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c
deleted file mode 100644
index ed489780ce..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2021 v3ritas <v3ritas@tempoturtle.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _NATURAL,
- _SHARP,
- _FLAT
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NATURAL] = LAYOUT(
- MI_C, MI_BNDD, MI_BNDU, MI_G,
- MI_D, MI_VELD, MI_VELU, MI_A,
- MI_E, MI_TRSD, MI_TRSU, MI_B,
- MI_F, MI_OCTD, MI_OCTU, MI_C,
- MO(_SHARP), MO(_FLAT)),
- [_SHARP] = LAYOUT(
- MI_Cs, KC_TRNS, KC_TRNS, MI_Gs,
- MI_Ds, KC_TRNS, KC_TRNS, MI_As,
- MI_F , KC_TRNS, KC_TRNS, MI_C ,
- MI_Fs, KC_TRNS, KC_TRNS, MI_Cs,
- KC_TRNS, KC_TRNS),
- [_FLAT] = LAYOUT(
- MI_B , KC_TRNS, KC_TRNS, MI_Gb,
- MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
- MI_Eb, KC_TRNS, KC_TRNS, MI_Bb,
- MI_E , KC_TRNS, KC_TRNS, MI_B,
- KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk
deleted file mode 100644
index b7152364ae..0000000000
--- a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MIDI_ENABLE = yes #enable MIDI \ No newline at end of file
diff --git a/keyboards/terrazzo/config.h b/keyboards/terrazzo/config.h
index d2e76f1de0..8be468fabe 100644
--- a/keyboards/terrazzo/config.h
+++ b/keyboards/terrazzo/config.h
@@ -15,43 +15,11 @@
*/
#pragma once
-#ifdef LED_MATRIX_ENABLE
-
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define LED_MATRIX_LED_COUNT 105
-#define LED_MATRIX_ROWS 15
-#define LED_MATRIX_COLS 7
-#define LED_MATRIX_MAXIMUM_BRIGHTNESS 20
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-// # define ENABLE_LED_MATRIX_ALPHAS_MODS
-// # define ENABLE_LED_MATRIX_BREATHING
-// # define ENABLE_LED_MATRIX_BAND
-// # define ENABLE_LED_MATRIX_BAND_PINWHEEL
-// # define ENABLE_LED_MATRIX_BAND_SPIRAL
-// # define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
-// # define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
-// # define ENABLE_LED_MATRIX_CYCLE_OUT_IN
-// # define ENABLE_LED_MATRIX_DUAL_BEACON
-// # if defined(LED_MATRIX_KEYREACTIVE_ENABLED)
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_LED_MATRIX_SPLASH
-// # define ENABLE_LED_MATRIX_MULTISPLASH
-// # endif
-// # define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
-// # define ENABLE_LED_MATRIX_WAVE_UP_DOWN
-#endif
/* Terrazzo animations */
+#define LED_MATRIX_ROWS 15
+#define LED_MATRIX_COLS 7
// #define DISABLE_TERRAZZO_EFFECT_STRIPES
// #define DISABLE_TERRAZZO_EFFECT_DINO
diff --git a/keyboards/terrazzo/info.json b/keyboards/terrazzo/info.json
index 279c0f3324..53a497cfc4 100644
--- a/keyboards/terrazzo/info.json
+++ b/keyboards/terrazzo/info.json
@@ -21,7 +21,9 @@
]
},
"led_matrix": {
- "driver": "is31fl3731"
+ "driver": "is31fl3731",
+ "max_brightness": 20,
+ "sleep": true
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c
index 7717b36e65..53b0bd4c51 100644
--- a/keyboards/terrazzo/terrazzo.c
+++ b/keyboards/terrazzo/terrazzo.c
@@ -21,7 +21,7 @@
#include "print.h"
#include "quantum.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* https://cdn-learn.adafruit.com/downloads/pdf/adafruit-15x7-7x15-charlieplex-led-matrix-charliewing-featherwing.pdf
*/
diff --git a/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c b/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c
deleted file mode 100644
index fae625e6a4..0000000000
--- a/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_UP , _______, _______,
- _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/config.h b/keyboards/themadnoodle/ncc1701kb/v2/config.h
new file mode 100644
index 0000000000..fbb498c408
--- /dev/null
+++ b/keyboards/themadnoodle/ncc1701kb/v2/config.h
@@ -0,0 +1,6 @@
+// Copyright 2023 Jesse Leventhal (@The=Mad-Noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/info.json b/keyboards/themadnoodle/ncc1701kb/v2/info.json
index 3ea2515e64..c67262c562 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/info.json
+++ b/keyboards/themadnoodle/ncc1701kb/v2/info.json
@@ -1,59 +1,71 @@
{
- "keyboard_name": "NCC-1701-KB v2",
- "manufacturer": "The Mad Noodle",
- "url": "instagram.com/the_mad_noodle",
- "maintainer": "The-Mad-Noodle",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x1701",
- "device_version": "0.0.2"
- },
- "matrix_pins": {
- "cols": ["B4", "B5", "B6"],
- "rows": ["D4", "D6", "D7"]
- },
- "diode_direction": "ROW2COL",
- "encoder": {
- "rotary": [
- {"pin_a": "D0", "pin_b": "D1"}
- ]
- },
- "rgblight": {
- "led_count": 4,
- "sleep": true,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true,
- "rgb_test": true,
- "alternating": true,
- "twinkle": true
- }
- },
- "ws2812": {
- "pin": "B7"
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT_ortho_3x3": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
+ "manufacturer": "The Mad Noodle",
+ "keyboard_name": "NCC-1701-KB v2",
+ "maintainer": "The-Mad-Noodle",
+ "url": "https://www.madnoodleprototypes.com/",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "ROW2COL",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true,
+ "encoder": true
+ },
+ "rgblight": {
+ "hue_steps": 10,
+ "led_count": 4,
+ "sleep": true,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "snake": true,
+ "knight": true,
+ "christmas": true,
+ "static_gradient": true,
+ "rgb_test": true,
+ "alternating": true,
+ "twinkle": true
+ }
+ },
+ "ws2812": {
+ "pin": "B7"
+ },
+ "matrix_pins": {
+ "rows": ["D4", "D6", "D7"],
+ "cols": ["B4", "B5", "B6"]
+ },
+ "processor": "atmega32u4",
+ "usb": {
+ "device_version": "2.0.0",
+ "pid": "0x0021",
+ "vid": "0x6A6C"
+ },
+ "community_layouts": ["ortho_3x3"],
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ {"x":0, "y":0, "matrix": [0,0]},
+ {"label":"Encoder", "x":1, "y":0, "matrix": [0,1]},
+ {"x":2, "y":0, "matrix": [0,2]},
+ {"x":0, "y":1, "matrix": [1,0]},
+ {"x":1, "y":1, "matrix": [1,1]},
+ {"x":2, "y":1, "matrix": [1,2]},
+ {"x":0, "y":2, "matrix": [2,0]},
+ {"x":1, "y":2, "matrix": [2,1]},
+ {"x":2, "y":2, "matrix": [2,2]}
+ ]
+ }
+ },
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2}
- ]
+ "encoder": {
+ "rotary": [
+ { "pin_a": "D0", "pin_b": "D1" }
+ ]
+
}
- }
-}
+} \ No newline at end of file
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c
index 15b6df3b1a..52932a3baa 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c
+++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c
@@ -1,10 +1,13 @@
+// Copyright 2023 The Mad Noodle(@the_mad_noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* LAYER 0
- * ,-----------------------.
- * | << | MUTE | >> | ENCODER - PRESS (MUTE) / HOLD (LAYER 2) / KNOB (VOLUME CONTROL)
+ /* LAYER 0
+ * ,-------|ENCODER|-------.
+ * | << | MUTE | >> |
* |-------+-------+-------|
* | STOP | PLAY | MEDIA |
* |-------+-------+-------|
@@ -13,72 +16,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[0] = LAYOUT_ortho_3x3(
- KC_MPRV, LT(2, KC_MUTE), KC_MNXT,
+ KC_MPRV, LT(2, KC_MUTE), KC_MNXT,
KC_MSTP, KC_MPLY, KC_MSEL,
KC_CALC, KC_MAIL, LT(1, KC_MYCM)
),
- /* LAYER 1
- * ,-----------------------.
- * | MODE+ |RGB TOG| MODE- | ENCODER - PRESS (NA) / KNOB (Hue Control)
+ /* LAYER 1
+ * ,-------|ENCODER|-------.
+ * | MODE+ |RGB TOG| MODE- |
* |-------+-------+-------|
- * | SPD- | SPD+ |Bright |
+ * |Bright-| PLAIN |Bright+|
* |-------+-------+-------|
- * | SAT+ | SAT- | |
+ * | SWIRL |BREATH | |
* `-----------------------'
*/
-
+
[1] = LAYOUT_ortho_3x3(
- RGB_MOD, RGB_TOG, RGB_RMOD,
- RGB_SPI, RGB_SPD, RGB_VAI,
- RGB_SAI, RGB_SAD, KC_TRNS
+ RGB_MOD, RGB_TOG, RGB_RMOD,
+ RGB_VAD, RGB_M_P, RGB_VAI,
+ LT(3,RGB_M_SW), RGB_M_B, KC_TRNS
),
-
- /* LAYER 2 (ENCODER)
- * ,-----------------------.
- * | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right)
+
+ /* LAYER 2
+ * ,-------|ENCODER|-------.
+ * | | | |
* |-------+-------+-------|
* | | | |
* |-------+-------+-------|
* | | | |
* `-----------------------'
*/
-
+
[2] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- 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 3
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * `-----------------------'
+ */
+
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
-bool encoder_update_user(uint8_t index, bool clockwise) {
-
- switch (get_highest_layer(layer_state)) {
- case 1:
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- break;
- case 2:
- if (clockwise) {
- tap_code(KC_RGHT);
- } else {
- tap_code(KC_LEFT);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
-
- }
- return true;
-}
+/*Encoder Mapping*/
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+ [2] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
+ [3] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+};
+#endif
diff --git a/keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk
index a40474b4d5..a40474b4d5 100644
--- a/keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk
+++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..22ceb93c7e
--- /dev/null
+++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c
@@ -0,0 +1,85 @@
+// Copyright 2023 The Mad Noodle(@the_mad_noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* LAYER 0
+ * ,-------|ENCODER|-------.
+ * | << | MUTE | >> |
+ * |-------+-------+-------|
+ * | STOP | PLAY | MEDIA |
+ * |-------+-------+-------|
+ * | CALC | MY PC | TO(3) |
+ * `-----------------------'
+ */
+
+ [0] = LAYOUT_ortho_3x3(
+ KC_MPRV, KC_MUTE, KC_MNXT,
+ KC_MSTP, KC_MPLY, KC_MSEL,
+ KC_CALC, KC_MYCM, TO(3)
+ ),
+
+
+ /* LAYER 1
+ * ,-------|ENCODER|-------.
+ * | MODE+ |RGB TOG| MODE- |
+ * |-------+-------+-------|
+ * |Bright-| PLAIN |Bright+|
+ * |-------+-------+-------|
+ * | SWIRL |BREATH | TO(0) |
+ * `-----------------------'
+ */
+
+ [1] = LAYOUT_ortho_3x3(
+ RGB_MOD, RGB_TOG, RGB_RMOD,
+ RGB_VAD, RGB_M_P, RGB_VAI,
+ RGB_M_SW, RGB_M_B, TO(0)
+ ),
+
+
+ /* LAYER 2
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * |-------+-------+-------|
+ * | | | TO(0) |
+ * `-----------------------'
+ */
+
+ [2] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, TO(0)
+ ),
+
+
+ /* LAYER 3
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | TO(1) | | TO(2) |
+ * |-------+-------+-------|
+ * | | | TO(0) |
+ * `-----------------------'
+ */
+
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ TO(1), KC_TRNS, TO(2),
+ KC_TRNS, KC_TRNS, TO(0)
+ )
+
+};
+
+/*Encoder Mapping*/
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
+ [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
+ [3] = { ENCODER_CCW_CW(KC_UP, KC_DOWN)},
+};
+#endif
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..6ccd6d9194
--- /dev/null
+++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+ENCODER_MAP_ENABLE = yes
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/readme.md b/keyboards/themadnoodle/ncc1701kb/v2/readme.md
index 4e70dd3422..02639aeec3 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/readme.md
+++ b/keyboards/themadnoodle/ncc1701kb/v2/readme.md
@@ -1,17 +1,27 @@
-# NCC-1701-KB v2 Keypad with Encoder
+# NCC-1701-KB v.2
-![NCC-1701-KB V2 TOP](https://static.wixstatic.com/media/59d0ff_e9812deb74a4408ca77599a19a8f93b6~mv2.jpg)
-![NCC-1701-KB V2 RGB](https://static.wixstatic.com/media/59d0ff_7a8968b70ed849a591664332964cc936~mv2.jpg)
+![NCC1701KBv2](https://i.imgur.com/Zq1SjBTh.jpg)
-The NCC-1701-KB v2 by The Mad Noodle Prototypes is a custom Star Trek inspired 3x3 mechanical keypad with an encoder knob and full RGB Underglow.
+*The NCC-1701-KB v.2 is a 8 key macro keypad with a push button encoder knob*
-* Keyboard Maintainer: [The Mad Noodle Prototypes](https://github.com/The-Mad-Noodle)
-* Hardware Supported: NCC-1701-KB v2 PCB, ATmega32U4
-* Hardware Availability: [MadNoodlePrototypes.com](https://www.madnoodleprototypes.com/shop)
+* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle)
+* Hardware Supported: NCC-1701-KB v.2 PCB
+* Hardware Availability: https://www.madnoodleprototypes.com/shop
-Make example for this keyboard (after setting up your build environment):
- make themadnoodle/ncc1701kb/v2:default
+Compile example for this keyboard (after setting up your build environment):
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
-Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+ qmk compile -kb themadnoodle/ncc1701kb/v2 -km default
+
+Flashing example for this keyboard:
+
+ qmk flash -kb themadnoodle/ncc1701kb/v2 -km default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader & Flashing
+
+
+**Physical reset button**:
+
+* Press the physical button located on the top left of the back of the PCB (Labeled RST) to enter Bootloader Mode
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
index dd5d8dbfe9..6e7633bfe0 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
+++ b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
@@ -1,14 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-UNICODE_ENABLE = yes # Unicode
-ENCODER_ENABLE = yes
+# This file intentionally left blank
diff --git a/keyboards/themadnoodle/noodlepad/config.h b/keyboards/themadnoodle/noodlepad/config.h
new file mode 100644
index 0000000000..d51dabf53d
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/config.h
@@ -0,0 +1,6 @@
+// Copyright 2023 Jesse Leventhal (@The=Mad-Noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json
index 5f21cbbc75..8ad698df38 100644
--- a/keyboards/themadnoodle/noodlepad/info.json
+++ b/keyboards/themadnoodle/noodlepad/info.json
@@ -1,59 +1,52 @@
{
- "keyboard_name": "Noodle Pad v1",
- "manufacturer": "The Mad Noodle",
- "url": "instagram.com/the_mad_noodle",
- "maintainer": "The-Mad-Noodle",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x1701",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B4", "B5", "B6"],
- "rows": ["D4", "D6", "D7"]
- },
- "diode_direction": "ROW2COL",
- "encoder": {
- "rotary": [
- {"pin_a": "D0", "pin_b": "D1"}
- ]
- },
- "rgblight": {
- "led_count": 4,
- "sleep": true,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true,
- "rgb_test": true,
- "alternating": true,
- "twinkle": true
- }
- },
- "ws2812": {
- "pin": "B7"
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT_ortho_3x3": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
+ "manufacturer": "The Mad Noodle",
+ "keyboard_name": "NoodlePad",
+ "maintainer": "The-Mad-Noodle",
+ "url": "https://www.madnoodleprototypes.com/",
+ "bootloader": "atmel-dfu",
+ "processor": "atmega32u4",
+ "diode_direction": "ROW2COL",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true,
+ "encoder": true
+ },
+ "rgblight": {
+ "hue_steps": 10,
+ "led_count": 4,
+ "sleep": true,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "snake": true,
+ "knight": true,
+ "christmas": true,
+ "static_gradient": true,
+ "rgb_test": true,
+ "alternating": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ {"x":0, "y":0, "matrix": [0,0]},
+ {"label":"Encoder", "x":1, "y":0, "matrix": [0,1]},
+ {"x":2, "y":0, "matrix": [0,2]},
+ {"x":0, "y":1, "matrix": [1,0]},
+ {"x":1, "y":1, "matrix": [1,1]},
+ {"x":2, "y":1, "matrix": [1,2]},
+ {"x":0, "y":2, "matrix": [2,0]},
+ {"x":1, "y":2, "matrix": [2,1]},
+ {"x":2, "y":2, "matrix": [2,2]}
+ ]
+ }
+ },
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2}
- ]
- }
- }
-}
+} \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c b/keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c
index 8fc7e2a27b..73294a41ab 100644
--- a/keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c
+++ b/keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c
@@ -1,10 +1,13 @@
+// Copyright 2023 The Mad Noodle(@the_mad_noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* LAYER 0
- * ,-----------------------.
- * | << | MUTE | >> | ENCODER - PRESS (MUTE) / KNOB (VOLUME CONTROL)
+ * ,-------|ENCODER|-------.
+ * | << | MUTE | >> |
* |-------+-------+-------|
* | STOP | PLAY | MEDIA |
* |-------+-------+-------|
@@ -13,72 +16,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[0] = LAYOUT_ortho_3x3(
- KC_MPRV, LT(2, KC_MUTE), KC_MNXT,
+ KC_MPRV, LT(2, KC_MUTE), KC_MNXT,
KC_MSTP, KC_MPLY, KC_MSEL,
KC_CALC, KC_MAIL, LT(1, KC_MYCM)
),
/* LAYER 1
- * ,-----------------------.
- * | MODE+ |RGB TOG| MODE- | ENCODER - PRESS (NA) / KNOB (Hue Control)
+ * ,-------|ENCODER|-------.
+ * | MODE+ |RGB TOG| MODE- |
* |-------+-------+-------|
- * | SPD- | SPD+ |Bright |
+ * |Bright-| PLAIN |Bright+|
* |-------+-------+-------|
- * | SAT+ | SAT- | |
+ * | SWIRL |BREATH | |
* `-----------------------'
*/
-
+
[1] = LAYOUT_ortho_3x3(
- RGB_MOD, RGB_TOG, RGB_RMOD,
- RGB_SPI, RGB_SPD, RGB_VAI,
- RGB_SAI, RGB_SAD, KC_TRNS
+ RGB_MOD, RGB_TOG, RGB_RMOD,
+ RGB_VAD, RGB_M_P, RGB_VAI,
+ LT(3,RGB_M_SW), RGB_M_B, KC_TRNS
),
-
- /* LAYER 2 (ENCODER)
- * ,-----------------------.
- * | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right)
+
+ /* LAYER 2
+ * ,-------|ENCODER|-------.
+ * | | | |
* |-------+-------+-------|
* | | | |
* |-------+-------+-------|
* | | | |
* `-----------------------'
*/
-
+
[2] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- 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 3
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * `-----------------------'
+ */
+
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
-bool encoder_update_user(uint8_t index, bool clockwise) {
-
- switch (get_highest_layer(layer_state)) {
- case 1:
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- break;
- case 2:
- if (clockwise) {
- tap_code(KC_RGHT);
- } else {
- tap_code(KC_LEFT);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
-
- }
- return true;
-}
+/*Encoder Mapping*/
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+ [2] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
+ [3] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+};
+#endif
diff --git a/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk b/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..a40474b4d5
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/keymaps/via/keymap.c b/keyboards/themadnoodle/noodlepad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..22ceb93c7e
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/keymaps/via/keymap.c
@@ -0,0 +1,85 @@
+// Copyright 2023 The Mad Noodle(@the_mad_noodle)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* LAYER 0
+ * ,-------|ENCODER|-------.
+ * | << | MUTE | >> |
+ * |-------+-------+-------|
+ * | STOP | PLAY | MEDIA |
+ * |-------+-------+-------|
+ * | CALC | MY PC | TO(3) |
+ * `-----------------------'
+ */
+
+ [0] = LAYOUT_ortho_3x3(
+ KC_MPRV, KC_MUTE, KC_MNXT,
+ KC_MSTP, KC_MPLY, KC_MSEL,
+ KC_CALC, KC_MYCM, TO(3)
+ ),
+
+
+ /* LAYER 1
+ * ,-------|ENCODER|-------.
+ * | MODE+ |RGB TOG| MODE- |
+ * |-------+-------+-------|
+ * |Bright-| PLAIN |Bright+|
+ * |-------+-------+-------|
+ * | SWIRL |BREATH | TO(0) |
+ * `-----------------------'
+ */
+
+ [1] = LAYOUT_ortho_3x3(
+ RGB_MOD, RGB_TOG, RGB_RMOD,
+ RGB_VAD, RGB_M_P, RGB_VAI,
+ RGB_M_SW, RGB_M_B, TO(0)
+ ),
+
+
+ /* LAYER 2
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | | | |
+ * |-------+-------+-------|
+ * | | | TO(0) |
+ * `-----------------------'
+ */
+
+ [2] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, TO(0)
+ ),
+
+
+ /* LAYER 3
+ * ,-------|ENCODER|-------.
+ * | | | |
+ * |-------+-------+-------|
+ * | TO(1) | | TO(2) |
+ * |-------+-------+-------|
+ * | | | TO(0) |
+ * `-----------------------'
+ */
+
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ TO(1), KC_TRNS, TO(2),
+ KC_TRNS, KC_TRNS, TO(0)
+ )
+
+};
+
+/*Encoder Mapping*/
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
+ [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
+ [3] = { ENCODER_CCW_CW(KC_UP, KC_DOWN)},
+};
+#endif
diff --git a/keyboards/themadnoodle/noodlepad/keymaps/via/rules.mk b/keyboards/themadnoodle/noodlepad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..6ccd6d9194
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+ENCODER_MAP_ENABLE = yes
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/readme.md b/keyboards/themadnoodle/noodlepad/readme.md
deleted file mode 100644
index e4439dac45..0000000000
--- a/keyboards/themadnoodle/noodlepad/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Noodle Pad v1 Keypad with Encoder
-
-![NoodlePad TOP](https://static.wixstatic.com/media/59d0ff_052f27ee5ae84266821af7277c51c4ed~mv2.jpg)
-![NoodlePad RGB](https://static.wixstatic.com/media/59d0ff_c91f2adc258547a38cc5b480a8d9c510~mv2.jpg)
-
-The Noodle Pad by The Mad Noodle Prototypes is a custom 3x3 mechanical keypad with an encoder knob and full RGB Underglow.
-
-* Keyboard Maintainer: [The Mad Noodle Prototypes](https://github.com/The-Mad-Noodle)
-* Hardware Supported: NoodlePad PCB, ATmega32U4
-* Hardware Availability: [MadNoodlePrototypes.com](https://www.madnoodleprototypes.com/shop)
-
-Make example for this keyboard (after setting up your build environment):
-
- make themadnoodle/noodlepad: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/themadnoodle/noodlepad/rules.mk b/keyboards/themadnoodle/noodlepad/rules.mk
index dd5d8dbfe9..318832e121 100644
--- a/keyboards/themadnoodle/noodlepad/rules.mk
+++ b/keyboards/themadnoodle/noodlepad/rules.mk
@@ -1,14 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-UNICODE_ENABLE = yes # Unicode
-ENCODER_ENABLE = yes
+# Default folder for noodlepad
+DEFAULT_FOLDER = themadnoodle/noodlepad/v1
+
diff --git a/keyboards/themadnoodle/noodlepad/v1/info.json b/keyboards/themadnoodle/noodlepad/v1/info.json
new file mode 100644
index 0000000000..e868400ee1
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v1/info.json
@@ -0,0 +1,25 @@
+{
+ "manufacturer": "The Mad Noodle",
+ "keyboard_name": "NoodlePad v1",
+ "maintainer": "The-Mad-Noodle",
+ "url": "https://www.madnoodleprototypes.com/",
+ "ws2812": {
+ "pin": "B7"
+ },
+ "matrix_pins": {
+ "rows": ["D4", "D6", "D7"],
+ "cols": ["B4", "B5", "B6"]
+ },
+ "processor": "atmega32u4",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0001",
+ "vid": "0x6A6C"
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "D0", "pin_b": "D1" }
+ ]
+
+ }
+} \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/v1/readme.md b/keyboards/themadnoodle/noodlepad/v1/readme.md
new file mode 100644
index 0000000000..a0ef407618
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v1/readme.md
@@ -0,0 +1,27 @@
+# NoodlePad v.1
+
+![NoodPad v1](https://i.imgur.com/dmThaHq.jpg)
+
+The Noodlepad v.1 is a 8 key macro keypad with a push button encoder knob.
+
+* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle)
+* Hardware Supported: NoodlePad v.1 PCB
+* Hardware Availability: https://www.madnoodleprototypes.com/shop
+
+
+Compile example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb themadnoodle/noodlepad/v1 -km default
+
+Flashing example for this keyboard:
+
+ qmk flash -kb themadnoodle/noodlepad/v1 -km default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader & Flashing
+
+
+**Physical reset button**:
+
+* Press the physical button located on the top left of the back of the PCB (Labeled RST) to enter Bootloader Mode
diff --git a/keyboards/themadnoodle/noodlepad/v1/rules.mk b/keyboards/themadnoodle/noodlepad/v1/rules.mk
new file mode 100644
index 0000000000..bd92456148
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v1/rules.mk
@@ -0,0 +1 @@
+#this file was left intentionally blank
diff --git a/keyboards/themadnoodle/noodlepad/v2/info.json b/keyboards/themadnoodle/noodlepad/v2/info.json
new file mode 100644
index 0000000000..d66c2813ce
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v2/info.json
@@ -0,0 +1,24 @@
+{
+ "manufacturer": "The Mad Noodle",
+ "keyboard_name": "NoodlePad v2",
+ "maintainer": "The-Mad-Noodle",
+ "url": "https://www.madnoodleprototypes.com/",
+ "ws2812": {
+ "pin": "B7"
+ },
+ "matrix_pins": {
+ "cols": ["F0", "B5", "B6"],
+ "rows": ["F1", "D6", "D7"]
+ },
+ "usb": {
+ "device_version": "2.0.0",
+ "pid": "0x0002",
+ "vid": "0x6A6C"
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "D0", "pin_b": "D1" }
+ ]
+
+ }
+} \ No newline at end of file
diff --git a/keyboards/themadnoodle/noodlepad/v2/readme.md b/keyboards/themadnoodle/noodlepad/v2/readme.md
new file mode 100644
index 0000000000..4b180c2066
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v2/readme.md
@@ -0,0 +1,27 @@
+# NoodlePad v.2
+
+![NoodPad v2](https://i.imgur.com/tzP0tdzh.jpg)
+
+The Noodlepad v.2 is a 8 hotswap key macro keypad with a push button encoder knob.
+
+* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle)
+* Hardware Supported: NoodlePad v.2 PCB
+* Hardware Availability: https://www.madnoodleprototypes.com/shop
+
+
+Compile example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb themadnoodle/noodlepad/v2 -km default
+
+Flashing example for this keyboard:
+
+ qmk flash -kb themadnoodle/noodlepad/v2 -km default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader & Flashing
+
+
+**Physical reset button**:
+
+* Press the physical button located on the top left of the back of the PCB (Labeled RST) to enter Bootloader Mode
diff --git a/keyboards/themadnoodle/noodlepad/v2/rules.mk b/keyboards/themadnoodle/noodlepad/v2/rules.mk
new file mode 100644
index 0000000000..bd92456148
--- /dev/null
+++ b/keyboards/themadnoodle/noodlepad/v2/rules.mk
@@ -0,0 +1 @@
+#this file was left intentionally blank
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h
deleted file mode 100644
index 060f5922f2..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2017 Balz Guenat
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-// place overrides here
-
-#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
deleted file mode 100644
index 6f0bb654d6..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2017 Balz Guenat
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-#define ______ KC_TRNS
-
-/*
- This switch layout is ANSI with the following modifications:
- Split right shift
- 225 125 275 spacebar
- Bottom right singles
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
--------------------------------------------------------------------------------------------
-|Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
--------------------------------------------------------------------------------------------
-| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
--------------------------------------------------------------------------------------------
-| Cpslock | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
--------------------------------------------------------------------------------------------
-| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up |
--------------------------------------------------------------------------------------------
-| Ctrl | GUI | Alt | L1(Space) | LED | Space | Home | End | Left |Rght |Down |
--------------------------------------------------------------------------------------------
-*/
-[0] = LAYOUT_base(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPACE), BL_TOGG, KC_SPC, KC_HOME, KC_END, KC_LEFT, KC_RGHT, KC_DOWN
-),
-/*
--------------------------------------------------------------------------------------------
-| ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
--------------------------------------------------------------------------------------------
-| | | UP | | | | | | | | | | | PrtSc |
--------------------------------------------------------------------------------------------
-| |Left | Down |Right | | | | | | | | | | SLEEP |
--------------------------------------------------------------------------------------------
-| | | | | | | | | | | | | | |
--------------------------------------------------------------------------------------------
-| | | | | Reset | | | | | |
--------------------------------------------------------------------------------------------
-*/
-[1] = LAYOUT_base(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- ______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PSCR,
- ______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, ______, ______, ______, ______, ______, ______, KC_SLEP,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP,
- ______, ______, ______, ______, QK_BOOT, ______, ______, ______, ______, ______, KC_PGDN
-),
-};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk b/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk
deleted file mode 100644
index d924278d3f..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2017 Balz Guenat
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# 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
-#
-# 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/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c
deleted file mode 100644
index a8a61c9efb..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define DEFAULT_LAYER 0
-#define HHKB_NAV_LAYER 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, _______, KC_MENU, KC_RCTL
- ),
-
- [HHKB_NAV_LAYER] = LAYOUT_hhkb_arrow(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/readme.md
deleted file mode 100644
index 53b1333dcd..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# cijanzen's keymap for the Bananasplit
-## Layout Notes
-
-Split right shift and split backspace. Second layer follows HHKB layer 2 layout.
-
-Base layer:
-```
--------------------------------------------------------------------------------------------
-| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
--------------------------------------------------------------------------------------------
-| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |Backspace|
--------------------------------------------------------------------------------------------
-| Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
--------------------------------------------------------------------------------------------
-| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn1 |
--------------------------------------------------------------------------------------------
-| Ctrl | GUI | Alt | Space | Alt | GUI | App | Ctrl |
--------------------------------------------------------------------------------------------
-```
-
-Fn1 layer:
-
-```
--------------------------------------------------------------------------------------------
-|Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
--------------------------------------------------------------------------------------------
-| | | | | | | | |Pscr |Slck |Paus | Up | | Del |
--------------------------------------------------------------------------------------------
-| | | | | | | | |Home |PgUp |Left |Right| Enter |
--------------------------------------------------------------------------------------------
-| | | | | | | | |End |PgDn |Down | | |
--------------------------------------------------------------------------------------------
-| | | | | | | | |
--------------------------------------------------------------------------------------------
-```
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c
deleted file mode 100644
index df9983015f..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- Author: jockyxu1122
-
- Hightlight: split backspace, split space, arrows on bottom right,
- and backlighting support (capslock's backlighting cannot be controlled separately).
-
- Note that "Previous track" and "next track" might only work with Windows.
-*/
-
-#include QMK_KEYBOARD_H
-
-#define DEFAULT_LAYER 0
-#define LAYER_1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- -------------------------------------------------------------
- |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
- -------------------------------------------------------------
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- -------------------------------------------------------------
- | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- -------------------------------------------------------------
- | Shift | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
- -------------------------------------------------------------
- |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
- -------------------------------------------------------------
- Hm: Home
- MoL1: Mo(L1)
- */
- [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
- // row 1
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
- KC_DEL,
- // row 2
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- // row 3
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- // row 4
- 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,
- // row 5
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN,
- KC_RIGHT
- ),
-
- /*
- -------------------------------------------------------------
- |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
- -------------------------------------------------------------
- | | | | @ | | | | | | | |BDn|BUp| |
- -------------------------------------------------------------
- | | | | | | | | | | | | | |
- -------------------------------------------------------------
- | | | |Cal| |www| |Mut| | | | |VUp|
- -------------------------------------------------------------
- | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
- -------------------------------------------------------------
- @: Email
- BDn: LED brightness down
- BUp: LED brightness up
- Cal: Calculator
- Ins: Insert
- Mut: Mute
- NTk: Next track
- PDn: Page down
- PTk: Previous track
- PUp: Page up
- VDn: Volume down
- VUp: Volume up
- www: Browser home page
- */
- [LAYER_1] = LAYOUT_hhkb_arrow(
- // row 1
- BL_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_F12, KC_TRNS, KC_INS,
- // row 2
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, BL_DOWN,BL_UP, KC_TRNS,
- // row 3
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // row 4
- KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_VOLU,
- // row 5
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD,
- KC_MNXT
- )
-};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md
deleted file mode 100644
index 664a0a0483..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md
+++ /dev/null
@@ -1,66 +0,0 @@
-Yida's keymap for BananaSplit
-===
-
-Hightlight: split backspace, split space, arrows on bottom right, and
-backlighting support (capslock's backlighting cannot be controlled separately).
-
-Note that "Previous track" and "next track" might only work with Windows.
-
-Default layer:
-
-```
- -------------------------------------------------------------
- |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
- -------------------------------------------------------------
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- -------------------------------------------------------------
- | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- -------------------------------------------------------------
- | Shift | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
- -------------------------------------------------------------
- |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
- -------------------------------------------------------------
- Hm: Home
- MoL1: Mo(L1)
-```
-
-Layer_1:
-
-```
- -------------------------------------------------------------
- |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
- -------------------------------------------------------------
- | | | | @ | | | | | | | |BDn|BUp| |
- -------------------------------------------------------------
- | | | | | | | | | | | | | |
- -------------------------------------------------------------
- | | | |Cal| |www| |Mut| | | | |VUp|
- -------------------------------------------------------------
- | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
- -------------------------------------------------------------
- @: Email
- BDn: LED brightness down
- BUp: LED brightness up
- Cal: Calculator
- Ins: Insert
- Mut: Mute
- NTk: Next track
- PDn: Page down
- PTk: Previous track
- PUp: Page up
- VDn: Volume down
- VUp: Volume up
- www: Browser home page
-```
-
-Compile and flash:
-
-`cd` to `/qmk_firmware` folder, then
-```
-make bananasplit:jockyxu1122_ansi
-```
-
-A .hex file will be generated under `/qmk_firmware` folder.
-
-
-To flash, use QMK Toolbox.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c
deleted file mode 100644
index 5146c8f4f3..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- Author: jockyxu1122
-
- Hightlight: split backspace, ISO Enter, split space, arrows on bottom right,
- and toggable capslock backlight.
-
- Note that "Previous track" and "next track" might only work with Windows.
-*/
-
-#include QMK_KEYBOARD_H
-
-#define DEFAULT_LAYER 0
-#define LAYER_1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- -------------------------------------------------------------
- |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
- -------------------------------------------------------------
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
- -------------------------------------------------------- -
- | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
- -------------------------------------------------------------
- | Shift | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
- -------------------------------------------------------------
- |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
- -------------------------------------------------------------
- Hm: Home
- MoL1: Mo(L1)
- */
- [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
- // row 1
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
- KC_DEL,
- // row 2
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,
- // row 3
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
- // row 4
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
- // row 5
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN,
- KC_RIGHT
- ),
-
- /*
- -------------------------------------------------------------
- | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
- -------------------------------------------------------------
- | | | | @ | | | | | | | | | | |
- -------------------------------------------------------- -
- | | | | | | | | | | | | | | |
- -------------------------------------------------------------
- | | | |Cal| |www| |Mut| | | |VUp| |
- -------------------------------------------------------------
- | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
- -------------------------------------------------------------
- @: Email
- Cal: Calculator
- Ins: Insert
- Mut: Mute
- NTk: Next track
- PDn: Page down
- PTk: Previous track
- PUp: Page up
- VDn: Volume down
- VUp: Volume up
- www: Browser home page
- */
- [LAYER_1] = LAYOUT_hhkb_arrow(
- // row 1
- 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_INS,
- // row 2
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- // row 3
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // row 4
- KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLU, KC_TRNS,
- // row 5
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD,
- KC_MNXT
- )
-};
-
-/*
-Capslock's led cannot be controlled separately on bananasplit and you can only turn on/off all
- leds at once. If you only install led for capslock, it will look like capslock has toggable
- backlight.
-*/
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- DDRB |= (1 << 7);
- PORTB |= (1 << 7);
- } else {
- DDRB &= ~(1 << 7);
- PORTB &= ~(1 << 7);
- }
- return false;
-}
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md
deleted file mode 100644
index e135f73e3a..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md
+++ /dev/null
@@ -1,61 +0,0 @@
-Yida's keymap for BananaSplit
-===
-
-Hightlight: split backspace, ISO Enter, split space, arrows on bottom right, and toggable capslock backlight.
-
-Note that "Previous track" and "next track" might only work with Windows.
-
-Default layer:
-```
- -------------------------------------------------------------
- |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
- -------------------------------------------------------------
- | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
- -------------------------------------------------------- -
- | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
- -------------------------------------------------------------
- | Shift | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
- -------------------------------------------------------------
- |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
- -------------------------------------------------------------
- Hm: Home
- MoL1: Mo(L1)
-```
-
-Layer_1:
-```
- -------------------------------------------------------------
- | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
- -------------------------------------------------------------
- | | | | @ | | | | | | | | | | |
- -------------------------------------------------------- -
- | | | | | | | | | | | | | | |
- -------------------------------------------------------------
- | | | |Cal| |www| |Mut| | | |VUp| |
- -------------------------------------------------------------
- | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
- -------------------------------------------------------------
- @: Email
- Cal: Calculator
- Ins: Insert
- Mut: Mute
- NTk: Next track
- PDn: Page down
- PTk: Previous track
- PUp: Page up
- VDn: Volume down
- VUp: Volume up
- www: Browser home page
-```
-
-Compile and flash:
-
-`cd` to `/qmk_firmware` folder, then
-```
-make bananasplit:jockyxu1122_iso
-```
-
-A .hex file will be generated under `/qmk_firmware` folder.
-
-
-To flash, use QMK Toolbox.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
deleted file mode 100644
index 9fdf1127af..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define DEFAULT_LAYER 0
-#define THUMB_LAYER 1
-#define NORMAN_LAYER 2
-#define MOD_LAYER 3
-
-#define HYPER_TAB ALL_T(KC_TAB)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- HYPER_TAB, KC_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,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, TG(NORMAN_LAYER),
- KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, MO(THUMB_LAYER), KC_SPC, KC_LGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [THUMB_LAYER] = LAYOUT_hhkb_arrow(
- MO(MOD_LAYER), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [NORMAN_LAYER] = LAYOUT_hhkb_arrow(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, _______, _______, _______,
- _______, _______, _______, KC_E, KC_T, _______, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_P, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [MOD_LAYER] = LAYOUT_hhkb_arrow(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md b/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md
deleted file mode 100644
index ec19d3935b..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# rask's BananaSplit60
-
-![BS60 layout](http://i.imgur.com/Q7so1py.png)
-
-## Notes
-
-### Layers
-
-Base layer is a regular HHKBish ANSI layer. Toggling the
-alternate base layer (Fn3) makes it simpler to play games with
-the left space being set to be an actual Space.
-
-Layer 1 (Fn1) contains usual 60% functionalities such as the
-F-row, while Layer 2 (Fn2) contains media controls.
-
-The final layer (Fn4) is a special layer that acts as a lock
-layer, meaning the keyboard is locked while the layer
-is active. This firmware assumes a lock switch (read below).
-
-### Lock switches
-
-1.25u between the split space halves and the 1u key right
-left of LeftArrow are to be operated with a lock switch.
-If you don't have lock switches you should swap the `MO()`
-calls with `TG()` calls to make the layer toggles work
-with regular non/locking switches.
-
-## How to make and flash
-
-(These instructions are for Linux-based operating systems
-with `dfu-programmer` available.)
-
-`cd` into the `bananasplit` keyboard's directory and run
-
- make rask
-
-which should result in a file called `bananasplit_rask.hex` appearing
-in your QMK root directory.
-
-Now plug in your BananaSplit60 keyboard via USB. Verify
-with `lsusb` that it appears. At least my PCB did not have
-anything preflashed so you should see `atmega32u4` or similar
-in the `lsusb` output.
-
-Now you can flash the firmware by
-
- $ sudo dfu-programmer atmega32u4 erase
- $ cd /qmk_firmware/root/directory
- $ sudo dfu-programmer atmega32u4 flash bananasplit_rask.hex
-
-_If_ you happen to have some other `atmega32u4` based device
-I suggest you plug it out before flashing your BS60 just to
-prevent accidentally flashing your old device.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c
deleted file mode 100644
index c8543e3353..0000000000
--- a/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// rask's BananaSplit60 layout
-
-#define L_BASE 0
-#define L_BASE_ALT 1
-#define L_ONE 2
-#define L_TWO 3
-#define L_LOCK 4
-
-#define ______ KC_TRNS
-#define XXXXXX KC_NO
-
-// L_BASE
-// Initial layer with default keymap
-//
-// L_BASE_ALT
-// Layer with some standardisation e.g. make
-// space key "full" to make gaming less of a
-// chore
-//
-// L_ONE
-// General things like F-row and navigation
-//
-// L_TWO
-// Media controls and more exotic keybinds
-//
-// L_LOCK
-// Lock the keyboard, release to unlock
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [L_BASE] = LAYOUT_hhkb_arrow(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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,
- MO(L_ONE), KC_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, MT(MOD_RSFT, KC_SLSH), KC_UP, MO(L_TWO),
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, MO(L_BASE_ALT), KC_SPACE, KC_RALT, MO(L_LOCK), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [L_BASE_ALT] = LAYOUT_hhkb_arrow(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, KC_SPACE, ______, ______, ______, ______, ______, ______, ______
- ),
-
- [L_ONE] = LAYOUT_hhkb_arrow(
- 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_INS,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, KC_HOME, KC_PGDN, KC_END
-
- ),
-
- [L_TWO] = LAYOUT_hhkb_arrow(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______,
- KC_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD, KC_VOLU, KC_MUTE, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, ______, ______, ______, ______,
- ______, KC_APP, ______, ______, ______, ______, ______, ______, ______, ______, ______
- ),
-
- [L_LOCK] = LAYOUT_hhkb_arrow(
- XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
- XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
- XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
- XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
- XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, ______, XXXXXX, XXXXXX, XXXXXX
- ),
-};
diff --git a/keyboards/thevankeyboards/caravan/keymaps/default/config.h b/keyboards/thevankeyboards/caravan/keymaps/default/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/thevankeyboards/caravan/keymaps/default/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
deleted file mode 100644
index 488ffa5418..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define TAPPING_TERM 500
-#define PERMISSIVE_HOLD
-
-#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
deleted file mode 100644
index 67d11f5e4c..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Layer names. We stick to 3 letters if possible so MO(NAME) fits in 7
-// characters and doesn't mess with the grid.
-#define _QW 0
-#define _L1 1
-#define _L2 2
-#define _L3 3
-
-// Curly braces have their own keys. These are defined so they don't mess up the
-// grid in layer 2.
-#define L_CURBR LSFT(KC_LBRC)
-#define R_CURBR LSFT(KC_RBRC)
-
-#define L1_TAB LT(_L1, KC_TAB)
-#define L2_ESC LT(_L2, KC_ESC)
-#define L2_SLSH LT(_L2, KC_SLSH)
-#define L3_QUOT LT(_L3, KC_QUOT)
-
-// Tap dance magic
-#define TD_LGUI TD(BE_TD_GUI)
-#define TD_LCTL TD(BE_TD_CTL)
-#define TD_LALT TD(BE_TD_ALT)
-
-#define ACTION_TAP_DANCE_MOD_TAP(mod) \
- { .fn = {mod_tap_fn, NULL, mod_reset_fn}, .user_data = (void *)&((uint8_t){mod}), }
-
-enum belak_td {
- BE_TD_GUI = 0,
- BE_TD_CTL,
- BE_TD_ALT,
-};
-
-void mod_tap_fn(tap_dance_state_t *state, void *user_data);
-void mod_reset_fn(tap_dance_state_t *state, void *user_data);
-
-tap_dance_action_t tap_dance_actions[] = {
- [BE_TD_GUI] = ACTION_TAP_DANCE_MOD_TAP(KC_LGUI),
- [BE_TD_CTL] = ACTION_TAP_DANCE_MOD_TAP(KC_LCTL),
- [BE_TD_ALT] = ACTION_TAP_DANCE_MOD_TAP(KC_LALT),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT_arrow_command( /* Qwerty */
- L2_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- L1_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, L2_SLSH,
- TD_LCTL, MO(_L3), TD_LALT, TD_LGUI, KC_SPC, KC_SPC, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_L1] = LAYOUT_arrow_command( /* LAYER 1 */
- 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_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_QUOT,
- _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
- _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L2] = LAYOUT_arrow_command( /* LAYER 2 */
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, _______,
- _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
- _______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
- ),
- [_L3] = LAYOUT_arrow_command( /* LAYER 3 */
- _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
- KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_RSFT,
- _______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
- )
-};
-
-// Tap dance functions
-void mod_tap_fn(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- uint8_t *mod = (uint8_t *)user_data;
- register_mods(MOD_BIT(*mod));
- send_keyboard_report();
- break;
- case 2:
- layer_on(_L2);
- break;
- case 3:
- layer_off(_L2);
- layer_on(_L1);
- break;
- default:
- reset_tap_dance(state);
- }
-}
-
-void mod_reset_fn(tap_dance_state_t *state, void *user_data) {
- uint8_t *mod = (uint8_t *)user_data;
- layer_off(_L1);
- layer_off(_L2);
- unregister_mods(MOD_BIT(*mod));
- send_keyboard_report();
-}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md b/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md
deleted file mode 100644
index b0a505c4ae..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Belak's TV44 (TV46?) layout
-
-This layout is roughly based on the low-rider arrow-southpaw layout from [the
-configurator](http://minivan.config.thevankeyboards.com) with a number of
-changes to make it easier to use and add in missing keys (like adding / and '
-to the main layer)
-
-## Rev1
-
-* Moved enter to a more standard location to have a full spacebar
-* Quote is now on L1
-* Small tweaks to make modifiers work a little more consistently
-* Greatly increase the tapping term to make the tap-dance mods easier to use
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk
deleted file mode 100644
index 8f71327759..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-#EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-#CONSOLE_ENABLE = yes # Console for debug(+400)
-#DEBUG_ENABLE = yes
-#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
-TAP_DANCE_ENABLE = yes
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/config.h b/keyboards/thevankeyboards/minivan/keymaps/budi/config.h
deleted file mode 100644
index e6c4f24877..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/budi/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-// place overrides here
-#ifdef DEBOUNCE
-#undef DEBOUNCE
-#endif
-#define DEBOUNCE 2
-#define MOUSEKEY_INTERVAL 10
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 120
-#define MOUSEKEY_MAX_SPEED 9
-#define MOUSEKEY_WHEEL_DELAY 0
-#define MOUSEKEY_WHEEL_MAX_SPEED 2
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 120
-#define TAPPING_TOGGLE 1
-#define TAPPING_TERM 200
-#define FORCE_NKRO
-#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
deleted file mode 100644
index fb86bda7a9..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
+++ /dev/null
@@ -1,225 +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 _DV 0
-#define _NM 1
-#define _NV 2
-#define _MN 3
-#define _FN 4
-
-// Requires KC_TRNS/_______ for the trigger key in the destination layer
-#define NM_SP LT(_NM, KC_SPC)
-#define NV_SP LT(_NV, KC_SPC)
-#define MN_EN LT(_MN, KC_ENT)
-#define FN_EX LT(_FN, KC_ESC)
-
-// Curly braces have their own keys. These are defined to make them not mess up
-// the grid in layer 2.
-#define L_CURB LSFT(KC_LBRC)
-#define R_CURB LSFT(KC_RBRC)
-
-// Hypers
-#define HYP0 HYPR(KC_0)
-#define HYP1 HYPR(KC_1)
-#define HYP2 HYPR(KC_2)
-#define HYP3 HYPR(KC_3)
-#define HYP4 HYPR(KC_4)
-#define HYP5 HYPR(KC_5)
-#define HYP6 HYPR(KC_6)
-#define HYP7 HYPR(KC_7)
-#define HYP8 HYPR(KC_8)
-#define HYP9 HYPR(KC_9)
-
-// MEH
-#define MEH0 MEH(KC_0)
-#define MEH1 MEH(KC_1)
-#define MEH2 MEH(KC_2)
-#define MEH3 MEH(KC_3)
-#define MEH4 MEH(KC_4)
-#define MEH5 MEH(KC_5)
-#define MEH6 MEH(KC_6)
-#define MEH7 MEH(KC_7)
-#define MEH8 MEH(KC_8)
-#define MEH9 MEH(KC_9)
-
-// CAG
-#define CAG0 LCAG(KC_0)
-#define CAG1 LCAG(KC_1)
-#define CAG2 LCAG(KC_2)
-#define CAG3 LCAG(KC_3)
-#define CAG4 LCAG(KC_4)
-#define CAG5 LCAG(KC_5)
-#define CAG6 LCAG(KC_6)
-#define CAG7 LCAG(KC_7)
-#define CAG8 LCAG(KC_8)
-#define CAG9 LCAG(KC_9)
-
-// ALTS
-#define ALT0 LALT(KC_0)
-#define ALT1 LALT(KC_1)
-#define ALT2 LALT(KC_2)
-#define ALT3 LALT(KC_3)
-#define ALT4 LALT(KC_4)
-#define ALT5 LALT(KC_5)
-#define ALT6 LALT(KC_6)
-#define ALT7 LALT(KC_7)
-#define ALT8 LALT(KC_8)
-#define ALT9 LALT(KC_9)
-#define ALTX LALT(KC_GRV)
-#define ALTL LALT(KC_LEFT)
-#define ALTR LALT(KC_RIGHT)
-#define ALTESC LALT(KC_ESC)
-#define ALTEQL LALT(KC_EQL)
-#define ALTMIN LALT(KC_MINS)
-
-// BACK AND FORWARD
-#define XBACK LGUI(LALT(KC_LEFT))
-#define XFFWD LGUI(LALT(KC_RIGHT))
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- SWTCH
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-/* DVORAK
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | TAB | ' | , | . | P | Y | F | G | C | R | L | BACKSPACE |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | LCTL | A | O | E | U | I | D | H | T | N | S | MN/ENTER |
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | LSHFT | ; | Q | J | K | X | B | M | W | V | Z | RSHFT |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * | FN EX | GUI | ALT | NM / SPACE | NV / SPACE | RALT | - | = | ESC |
- * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
- */
- [_DV] = LAYOUT_arrow(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MN_EN,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- FN_EX, KC_LGUI, KC_LALT, NM_SP, NV_SP, KC_RALT, KC_MINS, KC_EQL, KC_ESC
- ),
-
-
-
-/* NUMBERS
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DELETE |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | LCTL | ! | @ | [ | { | ( | ) | } | ] | | | ? | ENTER |
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | = |
- * | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | / |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * | | GUI | LALT |-----TRNS-----| SPACE | RALT | - | = | \ |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- */
- [_NM] = LAYOUT_arrow(
- 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_EXLM, KC_AT, KC_LBRC, L_CURB, KC_LPRN, KC_RPRN, R_CURB, KC_RBRC, KC_PIPE, KC_QUES, _______,
- _______, KC_GRV, KC_TILD, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, KC_SLSH,
- _______, _______, _______, _______, KC_SPC, _______, KC_MINS, KC_EQL, KC_BSLS
- ),
-
-
-
-/* NAVIGATION
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | ESC | MWU | MWL | MU | MWR | MPRV | MNXT | HOME | UP | END | PGUP | DELETE |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | LCTL | MWD | ML | MD | MR | MRWD | MFFD | LEFT | DOWN | RIGHT| PGDN | MB2 |
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | LSFT | HYP1 | HYP2 | HYP3 | HYP4 | HYP5 | HYP6 | HYP7 | HYP8 | HYP9 | HYP0 | VOLUP |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * | | GUI | LALT | MB1 |----TRNS----| MUTE | PLAY | STOP | VOLDN |
- * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
- */
- [_NV] = LAYOUT_arrow(
- KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_MPRV, KC_MNXT, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
- _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_MRWD, KC_MFFD, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BTN2,
- _______, HYP1, HYP2, HYP3, HYP4, HYP5, HYP6, HYP7, HYP8, HYP9, HYP0, KC_VOLU,
- _______, _______, _______, KC_BTN1, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_VOLD
- ),
-
-
-
-/* MODIFIED NUMBERS
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | ALTESC | CAG1 | CAG2 | CAG3 | CAG4 | CAG5 | CAG6 | CAG7 | CAG8 | CAG9 | CAG0 | SWTCH |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | ALT ` | ALT1 | ALT2 | ALT3 | ALT4 | ALT5 | ALT6 | ALT7 | ALT8 | ALT9 | ALT0 |----TRNS---|
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | ALT = | MEH1 | MEH2 | MEH3 | MEH4 | MEH5 | MEH6 | MEH7 | MEH8 | MEH9 | MEH0 | |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * | ALT - | | XBACK | ALT LEFT | ALT RIGHT | XFFWD | | | |
- * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
- */
- [_MN] = LAYOUT_arrow(
- ALTESC, CAG1, CAG2, CAG3, CAG4, CAG5, CAG6, CAG7, CAG8, CAG9, CAG0, SWTCH,
- ALTX, ALT1, ALT2, ALT3, ALT4, ALT5, ALT6, ALT7, ALT8, ALT9, ALT0, _______,
- ALTEQL, MEH1, MEH2, MEH3, MEH4, MEH5, MEH6, MEH7, MEH8, MEH9, MEH0, XXXXXXX,
- ALTMIN, XXXXXXX, XBACK, ALTL, ALTR, XFFWD, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
-
-
-/* FUNCTIONS
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | DELETE |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | LCTL | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | LSFT | | | | | | | | | | | |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * |---TRNS---| CAPS | LALT | | SWTCH | RALT | | QK_BOOT |--TRNS-|
- * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
- */
- [_FN] = LAYOUT_arrow(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PWR, KC_SLEP, KC_WAKE, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_CAPS, _______, XXXXXXX, SWTCH, KC_RALT, XXXXXXX, QK_BOOT, _______
- )
-
-
-
-/* Transparent placeholder for more layers
- * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
- * | | | | | | | | | | | | |
- * |---------`------`------`------`------`------`------`------`------`------`------`------------|
- * | | | | | | | | | | | | |
- * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
- * | | | | | | | | | | | | |
- * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * | | | | | | | | | |
- * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
- */
-// [_TR] = LAYOUT_arrow(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______
-// )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch (keycode) {
- case SWTCH:
- SEND_STRING(SS_DOWN(X_LGUI));
- SEND_STRING(SS_DOWN(X_LSFT));
- SEND_STRING(SS_TAP(X_ENTER));
- SEND_STRING(SS_UP(X_LSFT));
- SEND_STRING(SS_UP(X_LGUI));
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md b/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md
deleted file mode 100644
index e5de86ef81..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Budi's TV44 Arrow layout
-
-- Dvorak main layer
-- Somewhat easy bracket access for easy devs, happy :)
-- Dedicated gaming layers cuz u don't wanna mess with apm
-- Mainly for windows, but with translated alt/cmd on os, it's good to go
-
-ASCII graphics shamelessly stolen from tong92's layout :)
-
-Updates August 2018:
-- Escape both ways
-- Only include QMK_KEYBOARD_H
-
-Updates July 2018:
-- I guess I don't play games that much anymore
-- SUGDW modifiers
-- Somehow LALT(LSFT(KC_RET)) does not register correctly on my mac
diff --git a/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c
deleted file mode 100644
index 95987e1ca8..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _QW 0
-#define _L1 1
-#define _L2 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = 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,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(_L1), KC_RALT, KC_RCTL
- ),
- [_L1] = LAYOUT( /* LAYER 1 */
- KC_GRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_PAUS,
- KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L2] = LAYOUT( /* LAYER 2 */
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UNDS, KC_PLUS,
- _______, _______, _______, _______, _______, KC_COMM, KC_SLSH, KC_RBRC, KC_LBRC, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/core/readme.md b/keyboards/thevankeyboards/minivan/keymaps/core/readme.md
deleted file mode 100644
index 3ec503b21f..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/core/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# A minivan keymap based off the Vertex Core
-
-## Main differences
-
-* There are only 3 keys on the bottom right, so menu was dropped
-* There are only 3 keys on the bottom left, so Pn was dropped because there is
- no programmable layer.
-* There are only 12 keys in the first row, so the delete key (along with scroll
- lock) has been dropped.
-* The F1-F12 keys have been shifted by 1 so they all fit in the first row of
- layer 2.
-* Moved the grave/tilde to layer 1 (because in layer 2 it's now taken up by F1).
-* Keys relating to speed have been removed
-* The `L_Win + L_Alt + R_spacebar = R_Shift, R_Alt, Menu and R_Ctrl as arrow
- keys` as mentioned in the manual does not work.
-* The layer 2 plus shift should have support for symbols in the first row (where
- the F1-F12 keys are) but this has not been implemented, so you need to use the
- second row (where the numbers are).
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h b/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h
deleted file mode 100644
index 958b0cdaf5..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 505
-#define PERMISSIVE_HOLD
-#define RETRO_TAPPING
-
-// smooth mousekeys (copied from the ergo ez config)
-#ifdef MOUSEKEY_ENABLE
- #define MOUSEKEY_INTERVAL 16
- #define MOUSEKEY_DELAY 0
- #define MOUSEKEY_TIME_TO_MAX 60
- #define MOUSEKEY_MAX_SPEED 7
- #define MOUSEKEY_WHEEL_DELAY 0
-#endif
-
-#ifdef RGBLIGHT_ENABLE
- #define WS2812_DI_PIN D0
- #define RGBLED_NUM 3
- #define RGBLIGHT_EFFECT_BREATHING
-#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
deleted file mode 100644
index ece72f3319..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
+++ /dev/null
@@ -1,237 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _UTIL,
- _MOUSE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
-};
-
-#define MOUSE MO(_MOUSE)
-#define ESC_UT LT(_UTIL, KC_ESC)
-#define SPC_LO LT(_LOWER, KC_SPC)
-#define SPC_RA LT(_RAISE, KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
-* ,--------------------------------------------------------------------------.
-* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | Lo/Esc| A | S | D | F | G | H | J | K | L | ; | ' |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter|
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | Ctrl | Alt | GUI | Space/LOWER | Space/RAISE |Mouse | [ | ] | |
-* `--------------------------------------------------------------------------'
-*/
-[_QWERTY] = LAYOUT_arrow(
-KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
-ESC_UT, 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, SPC_LO, SPC_RA, MOUSE, KC_LBRC, KC_RBRC, XXXXXXX
-),
-
-/* Colemak
-* ,--------------------------------------------------------------------------.
-* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | Lo/Esc| A | R | S | T | D | H | N | E | I | O | ' |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | Shift | Z | X | C | V | B | K | M | , | . | / |Enter|
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | Ctrl | Alt | GUI | Space/LOWER | Space/RAISE |Mouse | [ | ] | |
-* `--------------------------------------------------------------------------'
-*/
-[_COLEMAK] = LAYOUT_arrow(
-KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
-ESC_UT, 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, SPC_LO, SPC_RA, MOUSE, KC_LBRC, KC_RBRC, XXXXXXX
-),
-
-/* Dvorak
-* ,--------------------------------------------------------------------------.
-* | Tab | / | , | . | P | Y | F | G | C | R | L | Del |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | Lo/Esc| A | O | E | U | I | D | H | T | N | S | ' |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | Shift | ; | Q | J | K | X | B | M | W | V | Z |Enter|
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | Ctrl | Alt | GUI | Space/LOWER | Space/RAISE |Mouse | [ | ] | |
-* `--------------------------------------------------------------------------'
-*/
-[_DVORAK] = LAYOUT_arrow(
-KC_TAB, KC_SLSH, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
-ESC_UT, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_QUOT,
-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, SPC_LO, SPC_RA, MOUSE, KC_LBRC, KC_RBRC, XXXXXXX
-),
-
-/* Lower
-* ,--------------------------------------------------------------------------.
-* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~|ISO || | | |
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | | | | | | Next |Vol- |Vol+ |Play |
-* `--------------------------------------------------------------------------'
-*/
-[_LOWER] = LAYOUT_arrow(
-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 | Del |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO #|ISO /| | | |
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | | | | | | Next |Vol- |Vol+ |Play |
-* `--------------------------------------------------------------------------'
-*/
-[_RAISE] = LAYOUT_arrow(
-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
-),
-
-/* Util
-* ,--------------------------------------------------------------------------.
-* | | | | | | | | | | | | |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | | | | | | |LEFT | UP |DOWN |RIGHT| | |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | | | | | | | | | | | | |
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | | | | | | | | | |
-* `--------------------------------------------------------------------------'
-*/
-[_UTIL] = LAYOUT_arrow(
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-_______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Mouse
-* ,--------------------------------------------------------------------------.
-* | | | M U | | | | | | |L Clk|R Clk| W Up |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | | M L | M D | M R | | | | | | | |W Dwn |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | | | | | | | | | | | | |
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | | | | | | | | | |
-* `--------------------------------------------------------------------------'
-*/
-[_MOUSE] = LAYOUT_arrow(
-XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_WH_U,
-XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D,
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-),
-
-/* Adjust
-* ,--------------------------------------------------------------------------.
-* | | | | | |QWRTY|COLMK|DVRAK| | | | QK_BOOT |
-* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
-* | | | | | | | | | | | | |
-* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
-* | | | | | | | | | | | | |
-* |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
-* | | | | | | | | | |
-* `--------------------------------------------------------------------------'
-*/
-[_ADJUST] = LAYOUT_arrow(
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-)
-
-
-};
-
-void keyboard_post_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- // set up rgb effects on only the third led (index 2)
- rgblight_set_effect_range(2, 1);
-
- // set led effects to breathing mode in warm white
- rgblight_sethsv_noeeprom(38, 191, 198);
- rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
-
- // set other led's to off
- setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
- setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
- rgblight_set();
- #endif
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- #ifdef RGBLIGHT_ENABLE
- if (layer_state_cmp(state, _ADJUST)) {
- setrgb(70, 255, 200, (rgb_led_t *)&led[0]);
- setrgb(255, 70, 100, (rgb_led_t *)&led[1]);
- } else if (layer_state_cmp(state, _LOWER)) {
- setrgb(70, 255, 200, (rgb_led_t *)&led[0]);
- setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
- } else if (layer_state_cmp(state, _RAISE)) {
- setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
- setrgb(255, 70, 100, (rgb_led_t *)&led[1]);
- } else if (layer_state_cmp(state, _UTIL)) {
- setrgb(200, 70, 225, (rgb_led_t *)&led[0]);
- setrgb(200, 70, 225, (rgb_led_t *)&led[1]);
- } else if (layer_state_cmp(state, _MOUSE)) {
- setrgb(255, 145, 5, (rgb_led_t *)&led[0]);
- setrgb(255, 145, 5, (rgb_led_t *)&led[1]);
- } else {
- setrgb(0, 0, 0, (rgb_led_t *)&led[0]);
- setrgb(0, 0, 0, (rgb_led_t *)&led[1]);
- }
-
- rgblight_set();
- #endif
-
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/readme.md b/keyboards/thevankeyboards/minivan/keymaps/halvves/readme.md
deleted file mode 100644
index c12b7512a0..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# a kumo cloud (minivan) layout for halvves
-
-A rough approximation of the halvves let's split layout.
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/halvves/rules.mk
deleted file mode 100644
index 574f73771d..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c
deleted file mode 100644
index 38b4c37138..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
- /* Layer _..._BASE: Qwerty, normal BASE layer and 'default' layer
- *
- * - Dual use keys create a delay in the key (tap/hold keys), therefore
- * space is not dual use (most ued key), neither is hyphen.
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_COLEMAK__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_COLEMAK__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (Letters). This is Colemak, except backspace/tab
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW fF pP gG | jJ lL uU yY ;: Bksp
- Tab+LCtl aA rR sS tT dD | hH nN eE iI oO '"
- LSht+_PAD zZ xX cC vV bB | kK mM ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-*/
-//
-// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT ,
- CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols, to work with the Colemak base layer above (unchanged from Qwerty).
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_COLEMAK__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_COLEMAK__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols). This fits the above Colemak layer _..._BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
- ^^ ^ // Only differences with normal version _..._NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
- LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md
deleted file mode 100644
index e09532babd..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Minifan layout
-
-Compiled for: Colemak
-=====================
-
-This file details the compile version `#define BASE_COLEMAK__DEF_BASE, BASE_COLEMAK__ALT_BASE`.
-This is a Colemak layout.
-
-Control follows Unix logic here (left/center), not Colemak Backspace.
-
-Colemak keymaps
----------------
-
-──────────Colemak──────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_colemak_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Colemak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_colemak_2000_vi.jpg)
-
-Layers (text)
-=============
-
- ───────────────Colemak────────────────
- Layer _..._BASE (Letters). This is Colemak, except backspace/tab
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW fF pP gG | jJ lL uU yY ;: Bksp
- Tab+LCtl aA rR sS tT dD | hH nN eE iI oO '"
- LSht+_PAD zZ xX cC vV bB | kK mM ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-
-- - -
-
-
- Layer _..._NSY (Numbers and SYmbols). (Same as Qwerty numbers layer.)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
- ^^ ^ // Only differences with Dvorak version _DEF_NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- u //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-
-
-- - -
-
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c
deleted file mode 100644
index 22f62cc831..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
- /* Layer _..._BASE: default BASE layer (Dvorak)
- *
- * - Dual use keys create a delay in the key (tap/hold keys), therefore
- * space is not dual use (most used key), neither is hyphen.
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_DVORAK__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_DVORAK__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (LeTteRs, standard Dvorak)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
- Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
- LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- … …
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ³) 'South paw' hardware configuration
- â´) 'Arrow' hardware configuration
- ³ â´) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- âµ) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- â¶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-*/
-//
-// <pink2 , <pinky , <ring , <middl , <indx, <ind|, indx>, inde>, midd>, ring>, pink>, pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS ,
- CHOLTAP_LSHFT , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols.
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_DVORAK__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_DVORAK__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
- LSFT_DASH , KC_LBRC , KC_RBRC , KC_SLSH , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_QUES , KC_LCBR , KC_RCBR , RSFT_TILDE ,
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RIGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md
deleted file mode 100644
index fb2c48b869..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# Minifan layout
-
-Compiled for: Dvorak
-====================
-
-This file details the compile version `#define BASE_DVORAK__DEF_BASE,
-BASE_DVORAK__ALT_BASE`. This is a Dvorak layout.
-
-Dvorak keymaps
---------------
-
-──────────Dvorak───────────────
-
-![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
-
-Layers (text)
-=============
-
- Layer _..._BASE (LeTteRs, standard Dvorak)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
- Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
- LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-- - -
-
- Layer _..._NSY (Numbers and SYmbols)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-- - -
-
-Key associations
-----------------
-Key placement associations between layers for Dvorak.
-
-![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak_1500_ve.jpg)
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c
deleted file mode 100644
index c686704a4b..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- *
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬆⬇ */
-
- /* Layers _ALT_BASE, _ALT_NSY: Descramble basic layers if the computer itself is
- * applying Dvorak remapping.
- *
- * When a computer is already set to Dvorak, connecting a
- * keyboard which is natively Dvorak results in garbage.
- * The computer side normal keycodes to Dvorak remapping goes
- * on top of the wrong input, resulting in the following being
- * effective:
- *
- * _DEF_BASE layer: |
- * Esc - w v l f u i j p n Bspc
- * Tab a r . g c e d y b o [
- * Sht s ' h t q x m , k ; Sht
- * Enter Space
- * _DEF_NSY layer: |
- * _DEF_BASE ! @ # $ % ^ & * ( ) Bspc
- * [ 1 2 3 4 5 \ ] z / = `
- * Sht 0 9 8 7 6 | } Z ? + `
- * Enter Space
- *
- * _ACC layer: |
- * <just semi-random character strings>
- *
- * _DRA, _BON: same as _ACC: garbage.
- *
- * To solve this results in the strange layout given below.
- * The result is close to a Qwerty layout. It will not be ideal
- * for Qwerty typers because the symbols are not arranged that
- * well.
- */
-
-
- /* Layer _ALT_BASE: Descrambled _DEF_BASE layer for a computer already set to Dvorak (see above).
- * It is a copy of _DEF_BASE, with moved around stuff, and points to _ALT_NSY instead
- * of _DEF_NSY, because that too has some descrambled symbols. The rest is the same.
- *
- */
-
-// This layout is only foreseen on ‛Alternate’.
- [ _ALT_BASE ] = LAYOUT_redefined (
-
-/*
- Layer _ALT_BASE (Dvorak descramble mode for letters, end result shown)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
- Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
- LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _ALT_NSY(_DRA) Enter+_MOV| Space _ALT_NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”â”â”â”â”â”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-
- _ALT_BASE input results in the same as _DEF_BASE with computer side Dvorak remapping. Only shown what changes:
-
- '" ,< .> pP yY | fF gG cC rR lL // row 4, result
- oO eE uU iI | dD hH tT nN sS -_ // row 3, result
- ;: qQ jJ kK xX | bB wW vV zZ // row 2, result
- ---------------------------------------------------------------------------------------
- _ALT_NSY _ALT_NSY // row 1, result
-
- (Keys for 'aA', '\|' and 'mM' are the same in Dvorak and Qwerty.)
-
- */
-//
-//
-// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, middle> , ring> , pink> , pink2> ,
-// -*- , , , , , <|,> , , , , , -!- ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
- CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
-
- /* Layer _ALT_NSY: Descrambled _DEF_NSY layer for a computer already set to Dvorak (see just above).
- *
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
- [ _ALT_NSY ] = LAYOUT_redefined (
-
-/*
- Layer _ALT_NSY (Dvorak descramble mode for numbers/symbols)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-
- _ALT_NSY input results in the same as _DEF_NSY with computer side Dvorak remapping. Only shown what changes:
-
- [{ ]} /? =+ | + ? { } // row 2, result
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , -*- , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
- LSFT_DASH , KC_MINS , KC_EQL , KC_LBRC , KC_BSLS , KC_RBRC , KC_RCBR , KC_PIPE , KC_LCBR , KC_UNDS , KC_PLUS , RSFT_TILDE ,
-// --------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RIGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md
deleted file mode 100644
index c9a81fc082..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Minifan layout
-
-Compiled for: Dvorak²
-=====================
-
-This file details the compile version `#define BASE_DVORAK_DESCRAMBLE__ALT_BASE`
-which has a special version of Dvorak so that you can type Dvorak on a computer
-*already* set to do Dvorak layout re-mapping.
-
-This can be useful on for example a laptop, for which the build-in
-keyboard should to be in Dvorak.
-
-Dvorak² keymaps
----------------
-
-──────────Dvorak───────────────
-
-![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
-
-Layers (text)
-=============
-
- Layer _ALT_BASE (Dvorak descramble mode for letters)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... // -o- BASE access
- Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
- Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
- LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _ALT_NSY(_DRA) Enter+_MOV| Space _ALT_NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”â”â”â”â”â”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-
- This layer input results in the same as normal Dvorak if computer side Dvorak remapping is occuring.
- Only shown what changes:
-
- '" ,< .> pP yY | fF gG cC rR lL // row 4, result
- oO eE uU iI | dD hH tT nN sS -_ // row 3, result
- ;: qQ jJ kK xX | bB wW vV zZ // row 2, result
- -------------------------------------------------------------------------------
- _ALT_NSY _ALT_NSY // row 1, result
-
- (Keys for 'aA', '\|' and 'mM' are the same in Dvorak and Qwerty.)
-
-- - -
-
- Layer _ALT_NSY (Dvorak descramble mode for numbers-symbols)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
- This layer input results in the same as regular Dvorak _..._NSY layer, if computer side Dvorak remapping
- is occuring. Only shown what changes:
-
- [{ ]} /? =+ | + ? { } // row 2, result
-
-- - -
-
-Special feature: 'Descramble' mode
-==================================
-
-![Minivan descramble Dvorak](http://socialism.nl/misc/minivan/minivan_descramble.jpg)
-
- This is an option to take care of typing normally on a computer already
- set to Dvorak ('descramble' mode.)
-
- Activation: go to `_RAR` layer, than touch what is space bar on the BASE layer
- (the key just right from the middle on the first row). This cycles through the modes.
-
- ⮚ When the left led is white: normal mode.
- ⮚ Right led white: full descramble mode (Linux descrambled Unicode input).
- ⮚ Middle led white: half descramble mode, with normal Unicode input system.
-
- With the middle led set to white, you can take advantage of a Unicode
- input mode that works on your system, if it is the same when the
- computer is set to Dvorak or not (see `_RAR` layer for Unicode input
- encoding selection). This more or less means there is one more Unicode
- encoding option than already standard in QMK: 'descrambled' version for
- Linux (Shift-Control-U HEX) encoding, for use on a computer *already* set to
- Dvorak.
-
- To test it, (in Debian/Linux) go to a terminal in X and type (normal user)
-
- > setxkbmap -layout us -variant dvorak
-
- Undo:
-
- > setxkbmap -layout us
-
- Unicode on Windos operating system may require to install something special.
-
-
-Key associations
-----------------
-Key placement associations between layers for Dvorak.
-
-![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak-descramble_1500_ve.jpg)
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c
deleted file mode 100644
index cac77aac60..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2021 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// See the user configuration file: ./base_hebrew.h
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
- /* ⬇ */
-
- /* Layer _..._BASE: default BASE layer (Hebrew)
- *
- * - Dual use keys create a delay in the key (tap/hold keys), therefore
- * space is not dual use (most used key), neither is hyphen.
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_HEBREW__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_HEBREW__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (LeTteRs, standard Hebrew as in Israel)
- ➡ This is a simple hebrew layout. Notice the letter ק is displaced from normal,
- to retain compatibility with Dvorak-English for ,<.>. There are no niqqud
- available, because it is far too many unique symbols in Unicode, and it is
- rarely used.
-
- HEBREW_ISRAEL
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc /; ׳ ק ר × | ט ו ן × ×¤ Bksp
- Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: ,״ //Right-Left-Mark
- LSht+_PAD ז ס ב ה נ | מ צ ת< ץ> .? RSht+_FUN //<>os side flip?
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- … …
-
- HEBREW_QWERTY
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc ת• ץ• ק ר × | ט ו ן ×׳ פ״ Bksp
- Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: '" //Right-Left-Mark
- LSht+_PAD ז ס ב ה נ | מ צ ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- … …
-
- HEBREW_DVORAK
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc '" ,< .> ר × | ט ו ן ×׳ פ״ Bksp
- Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף ־ //Right-Left-Mark
- LSht+_PAD ז: ס ב ה נ | מ צ ת ץ ק• RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- … …
-
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ³) 'South paw' hardware configuration
- â´) 'Arrow' hardware configuration
- ³ â´) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- âµ) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- â¶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
- â·) Letters marked with • are displaced from standard hebrew layout.
-*/
-//
-// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC
-
-# if defined(HEBREW_ISRAEL)
- , XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
-# elif defined(HEBREW_QWERTY)
- , XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
-# elif defined(HEBREW_DVORAK)
- , KC_QUOT , KC_COMM , KC_DOT
-# endif // HEBREW_DVORAK/QWERTY
- , XP_HEB_AD , XP_HEB_AE , XP_HEB_AF , XP_HEB_AG , XP_HEB_AH , XP_HEB_AI , XP_HEB_AJ , KC_BSPC ,
- LCTL_T ( KC_TAB ) , XP_HEB_BA , XP_HEB_BB , XP_HEB_BC , XP_HEB_BD , XP_HEB_BE , XP_HEB_BF , XP_HEB_BG , XP_HEB_BH , XP_HEB_BI , XP_HEB_BJ
-// ^^^^^^^^^ Different in Qwerty (done in macros) with ':'
-
-# if defined(HEBREW_ISRAEL)
- , XP_HEB_BK , // ,"
-# elif defined(HEBREW_QWERTY)
- , KC_QUOT , // '"
-# elif defined(HEBREW_DVORAK)
- , XP_HEB_MQF , // Ö¾
-# endif // HEBREW_*
-
- CHOLTAP_LSHFT , XP_HEB_CA , XP_HEB_CB , XP_HEB_CC , XP_HEB_CD , XP_HEB_CE , XP_HEB_CF , XP_HEB_CG
-
-# if defined(HEBREW_ISRAEL)
- , XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
-# elif defined(HEBREW_QWERTY)
- , KC_COMM , KC_DOT , KC_SLSH
-# elif defined(HEBREW_DVORAK)
- , XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
-# endif // HEBREW_*
- , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols.
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_HEBREW__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_HEBREW__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols)
- âž¡ The brace type symbols are *not* reversed as on standard hebrew boards (I find it confusing).
-
- HEBREW_ISRAEL & HEBREW_QWERTY
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | Ö¾ { } ~+RSht
- ^ // Only difference with Qwerty
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-
- HEBREW_DVORAK (Same as standard Dvorak)
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
- LSFT_DASH , KC_LBRC , KC_RBRC
-
-# if defined(HEBREW_ISRAEL)
- , KC_MINUS // allows -_, with Maqaf on mirror place right
-# elif defined(HEBREW_QWERTY)
- , KC_MINUS // same as HEBREW_ISRAEL
-# elif defined(HEBREW_DVORAK)
- , KC_SLSH
-# endif // HEBREW_*
-
- , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE
-
-
-# if defined(HEBREW_ISRAEL)
- , XP_HEB_MQF // 'Ö¾' Maqaf
-# elif defined(HEBREW_QWERTY)
- , XP_HEB_MQF //
-# elif defined(HEBREW_DVORAK)
- , KC_QUES
-# endif // HEBREW_*
- , KC_LCBR , KC_RCBR , RSFT_TILDE ,
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RIGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h
deleted file mode 100644
index f5604b8f1e..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2021 by Jos Boersema
- *
- */
-
-#pragma once
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
- /* Harmonize layout with a Latin layout
- *
- * See base_hebrew.md for design objectives.
- */
- #define HEBREW_ISRAEL // Close to standard Israeli hebrew.
-//#define HEBREW_QWERTY // Harmonize punctuation symbols with Qwerty.
-//#define HEBREW_DVORAK // Harmonize punctuation symbols with Dvorak.
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md
deleted file mode 100644
index 0e7adc40c8..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md
+++ /dev/null
@@ -1,198 +0,0 @@
-# Minifan layout
-
-Compiled for: Hebrew
-====================
-
-This file details the compile version `#define BASE_HEBREW__DEF_BASE,
-BASE_HEBREW__ALT_BASE`. This is a basic Hebrew layout, without niqqud.
-
-Only the most common symbols are implemented. Hebrew symbols are all
-done in Unicode.
-
-See also ![./readme.md](./readme.md) chapter 7 _Language support_.
-
-Parenthesis/braces/etc direction seems to be dealt with at the computer
-side, depending on the surrounding symbols. The keyboard is printing
-these symbols unchanged from what they are in standard Latin layouts,
-and are represented that way in the manual.
-
-Options
-=======
-
-You can compile the hebrew to be like a common Israeli layout, or to harmonize the
-punctuation symbols with either Dvorak or Qwerty. See the configuration file
-![./base_hebrew.h](./base_hebrew.h)
-
-☞ Israeli Hebrew
-
-As close to a simple standard hebrew layout as possible.
-A little larger memory cost than the other options. No `'"` ASCII quotes symbols,
-but proper ׳ and ״ (in Unicode).
-
-☞ Qwerty with Hebrew
-
-The letters ת, ץ get displaced from the standard hebrew layout.
-Numerical layer is the same as standard Qwerty, except the symbol
-`_` symbol becomes `Ö¾` (Maqaf). No `;` symbol.
-
-☞ Qwerty derivatives with Hebrew
-
-It is adviced to use Qwerty with Hebrew in this case, and adjust by hand
-coding if needed. “Workman†should harmonize the same as Qwerty.
-Colemak displaces the “;:†key relative to Qwerty, therefore you may
-like to change the “:†shifted symbol (by hand). The obscurity of this
-use case gets extreme, there will not be options for this.
-
-☞ Dvorak with Hebrew
-
-The letter ק gets displaced from the standard hebrew layout.
-Numerical layer is the same as standard Dvorak. No `;` symbol.
-
-
-Flash memory cost
------------------
-
-This layout adds several dozen new Unicode symbols, which takes up a certain
-amount of additional space in keyboard memory. If you end up going over
-the limit, you may need to change your compilation software setup, and/or
-you can look into the “Eviscerations†chapters in ![./user_config.h](./user_config.h)
-
-Hebrew keymaps
---------------
-
-──────────Hebrew Israel────────
-
-![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-israel_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hebrew-israel_vd.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-──────────Hebrew Qwerty────────
-
-![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-qwerty_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hebrew-israel_vd.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-──────────Hebrew Dvorak────────
-
-![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-dvorak_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
-Layer: `..._NSY` (Same as Dvorak.)
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Hebrew](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_hebrew_2000_vk.jpg)
-
-Layers (text)
-=============
-
-(The “x†padding was necessary to undo the direction of these characters being reversed.
-This layout might still not be represenetd correctly on your system. See the graphics instead.)
-
- HEBREW_ISRAEL
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Escxxxxxxxx/;xxxx׳xxxxxקxxxxxרxxxxx×xxxxx|xטxxxxxוxxxxxןxxxxx×xxxxxפxxxxxxxxxxBksp
- Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx,״ //Right-Left-Mark
- LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxת<xxxxץ>xxxx.?xxxxRSht+_FUN //<>os side flip?
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
-
- HEBREW_QWERTY
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Escxxxxxxxxת•xxxxץ•xxxxקxxxxxרxxxxx×xxxxx|xטxxxxxוxxxxxןxxxxx×x׳xxxפx×´xxxxxxxxBksp
- Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx'" //Right-Left-Mark
- LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxx,<xxxx.>xxxx/?xxxxRSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- (…)
-
- HEBREW_DVORAK
- Layer _..._BASE (LeTteRs, standard Hebrew)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Escxxxxxxxx'"xxxx,<xxxx.>xxxxרxxxxx×xxxxx|xטxxxxxוxxxxxןxxxxx×x׳xxxפx×´xxxxxxxxBksp
- Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxףxxxxxxxxxxxxx־ //Right/Left-Mark
- LSht+_PADxxז:xxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxתxxxxxץxxxxxק•xxxxRSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
-
- â‚) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
- â·) Letters marked with • are displaced from standard hebrew layout.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-- - -
-
- Layer _..._NSY (Numbers and SYmbols)
-
- HEBREW_ISRAEL & HEBREW_QWERTY (_ becomes Ö¾ Maqaf)
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASExxxxx!xxxxx@xxxxx#xxxxx$xxxxx%xxxxx|x^xxxxx&xxxxx*xxxxx(xxxx)xxxxxxxDel
- Tab+LCtlx1!xxxx2@xxxx3#xxxx4$xxxx5%xxxx|x6^xxxx7&xxxx8*xxxx9(xxx0)xx`~+RCtl
- -+LShtxxx[{xxxx]}xxxx-_xxxx\|xxxx=+xxxx|x+xxxxx|xxxxxÖ¾xxxxx{xxxxx}xxx~+RSht
- ^ // Only difference with Qwerty
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-
- HEBREW_DVORAK (Same as standard Dvorak)
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
- ---------------------------------------------------------------------------
- (…)
-- - -
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.c
deleted file mode 100644
index b54af62011..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.c
+++ /dev/null
@@ -1,409 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// See the user configuration file: ./base_numpad.h
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-// This is moved into ./user_config.h, because global #defines are affected.
-//((#include "./base_numpad.h" // Pull in the user configuration))
-
- /* ⬇ */
-
- /* Layer _..._BASE: default BASE layer (Dvorak)
- *
- * This thing is different from the usual different letters arrangement.
- * It is a numbers pad, one for the left hand, and one for the right
- * hand. Both are as identical as possible. The use case is the same as
- * a number pad keyboard: single handed numbers input.
- *
- * The number 5 is under the middle finger home row, as expected for blind
- * number pad typing.
- *
- * The left/upper key, where normally BASE is located, is now OTHER_BASE.
- * That switches the board to the ‛Default’ layout, which is effectively the
- * same way as a return to BASE in the sense of BASE being the letters/layer
- * switch layer. “Other Base†reached from the normal letters/layer-switching
- * BASE layout will then turn the keyboard into these number pads layers.
- *
- * A modified Numbers&Symbols layer _NSY is still supplied with this Numbers
- * Pad layout (as with other Base layers).
- *
- * The standard numbers pad layer _PAD also still exists. That one has the
- * numbers arranged differently.
- *
- */
-
-// When putting this layer on ‛Default’, it produced undesired side effects:
-// • _RAR and _MOV hold keys on the ‛Alternate’ letters layer, failed to switch back.
-// • Parts of the Numbers Pad keys got activated through transparent layer switch keys on letters layer.
-// Since there is no use for Numpad on ‛Default’ Base anyway, this is simply not supported, which seems to solve the problem.
-
-
-# ifndef NUMPAD_BASE_SINGLE
-
- [ _ALT_BASE ] = LAYOUT_redefined (
-
-/*
- Layer _..._BASE (Number pad, square layout)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- !AlterGo Bspc 7 8 9 - | Bspc 7 8 9 - Bspc //!AlterGo: to _DEF_BASE
- = * 4 5 6 + | * 4 5 6 + =
- _NSY¹ / 1 2 3 , | / 1 2 3 , _NSY¹
- ------------------------------------------------------------------------
- xxx 0 . Ent | NumL 0 . Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …²
-
- Layer _..._BASE (Number pad, with NumLock off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
- <|>
- !AlterGo Bspc Home Up PgUp - | Bspc Home Up PgUp - Bspc //!AlterGo: to _DEF_BASE
- = * Left 5 Right + | * Left 5 Right + = // modified 5
- _NSY¹ / End Down PgDn , | / End Down PgDn , _NSY¹
- -------------------------------------------------------------------------
- xxx Ins Del Ent | NumL Ins Del Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …²
-
- â‚) Toggle to the accompanying Super-Sub-Script (_NSY) layer.
- ₂) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-*/
-//
-// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- OTHER_BASE_GO , KC_BSPC , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
- KC_KP_EQUAL , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_KP_EQUAL ,
- CTO_NUMS , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , CTO_NUMS ,
-// -------------------------------------------------------------------------------------------------------------------------------------------------------
- XXXXXXX
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1 // Note anomaly, not MORE_key1_BASE: numpad is treated as a common layer here, because that is ± how it functions.
-# endif
-
- , KC_KP_0 , KC_KP_DOT , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_NUM , KC_KP_0
-// ---⬇
-// Note anomaly: the additional 'arrow' hardware key is shifted one to the
-// left, compared to other Base layouts, and so is TRANS_RIGHT This is to
-// maintain 'window/command' key on the same key between layers.
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
-
- //, MORE_key2
- , KC__YGUI
-
-// Note anomaly: not the usual configurable key (MORE_key2), but GUI. This
-// is because position has shifted already, and this GUI allows all the usual
-// keys on a 100% keyboard to be reached with all modifiers, including GUIs,
-// if 'command' hardware key is included. Unfortunately this causes a gap
-// in the numpad layout, but pressing GUI by itself in error will unlikely
-// produce serious mistakes. Maintaining similar keys between layers seems
-// more important. Since Numpad already is a navigation cluster, it seems
-// more important to allow all keys to be reachable with all modifiers,
-// including GUIs, than to have a quick switch over to the _MOV layer here.
-// Obviously it is fair enough to do this differently, but if someone needs a
-// Numpad + either GUI key combination, that could be a real problem without
-// GUIs here, whereas adding a _MOV switch is a matter of convenience. It
-// seems important to be able to type anything a regular 100% keyboard can,
-// or as near to it as possible.
-//
-// These anomalies are the same for all the Numpad layers here.
-
-# endif
-// ---⬆
- , KC_KP_DOT
-
- , KC_KP_ENTER
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _ALT_NSY: super-/sub-script numbers numpad, square layout
- */
-
- [ _ALT_NSY ] = LAYOUT_redefined (
-
-/*
- Layer _..._BASE (super-/sub-script numbers, Numlock on/off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE Bspc â·â‚‡ â¸â‚ˆ â¹â‚‰ - | Bspc â·â‚‡ â¸â‚ˆ â¹â‚‰ - Bspc
- = * â´â‚„ âµâ‚… â¶â‚† + | * â´â‚„ âµâ‚… â¶â‚† + =
- LSht / ¹₠²₂ ³₃ , | / ¹₠²₂ ³₃ , RSht
- -*- <|> -*- //(toggle) Access on Base
- ------------------------------------------------------------------------
- xxx â°â‚€ .DEL Ent | xxx â°â‚€ .DEL Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …¹
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-*/
-//High/low numbers guide:
-//¹₠²₂ ³₃ â´â‚„ âµâ‚… | â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€
-//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
-//
-// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- CTO_BASE , KC_BSPC , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC ,
- KC_KP_EQUAL , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_KP_EQUAL ,
- KC_LSFT , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_RSFT ,
-// -----------------------------------------------------------------------------------------------------------------------------------------------------------------
- XXXXXXX
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , XP_DRA_BJ , KC_KP_DOT , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , XXXXXXX , XP_DRA_BJ
-
-// See comment on the first layout in this file (double handed Base layer), about the next few keys:
-// ---⬇
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- //, MORE_key2
- , KC__YGUI
-# endif
-// ---⬆
- , KC_KP_DOT
-
- , KC_KP_ENTER
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
-
- ),
-
- /* ⬆⬇ */
-
-# else // NUMPAD_BASE_SINGLE is defined ====================================================================
-
- [ _ALT_BASE ] = LAYOUT_redefined (
-
-/*
-
- * Layer Numbers Pad on Base:
- * « See also documentation in keymap.c at _PAD layer, of which this is almost entirely a copy »
- * One difference is the key to go to the _ALT_NSY layer (denoted “NUMS:†just below).
- * The other difference is the key to switch to default Base and also immediately goes there
- * (denoted “!AlterGo†here).
-
- Layer _ALT_BASE (Number pad, with NumLock on)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- !AlterGo NUMS: xxx xxx xxx xxx | = 7 8 9 - Bspc // NUMS: to ¹/â‚
- LCtl xxx xxx xxx xxx xxx | * 4 5 6 + RCtl
- LSht xxx xxx xxx xxx xxx | / 1 2 3 , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL 0 . RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …¹
-
- Layer _ALT_BASE (Number pad, with NumLock off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
- <|>
- !AlterGo NUMS: xxx xxx xxx xxx | = Home Up PgUp - Bspc // NUMS: to ¹/â‚
- LCtl xxx xxx xxx xxx xxx | * Left 5 Right + RCtl // modified 5
- LSht xxx xxx xxx xxx xxx | / End Down PgDn , RSht
- -------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL Ins Del RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …¹
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-*/
-
-//High/low numbers guide:
-//¹₠²₂ ³₃ â´â‚„ âµâ‚… | â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€
-//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , -*- <|,> , , , , , ,
- OTHER_BASE_GO , CTO_NUMS , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
- KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_RCTL ,
- KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_RSFT ,
-// ------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , KC_TAB , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_NUM , KC_KP_0
-
-// See comment on the first layout in this file (double handed Base layer), about the next few keys:
-// ---⬇
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- //, MORE_key2
- , KC__YGUI
-# endif
-// ---⬆
- , KC_KP_DOT
-
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
-
- ),
-
- /* ⬆⬇ */
-
- [ _ALT_NSY ] = LAYOUT_redefined (
-
-/*
-
- * Layer Numbers Pad on Base:
- * This layer is the same as the above, except the numbers are in super-/sub-script.
- *
-
- Layer _ALT_NSY (Number pad, with NumLock on/off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE xxx xxx xxx xxx xxx | = â·â‚‡ â¸â‚ˆ â¹â‚‰ - Bspc
- LCtl xxx xxx xxx xxx xxx | * â´â‚„ âµâ‚… â¶â‚† + RCtl
- LSht xxx xxx xxx xxx xxx | / ¹₠²₂ ³₃ , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab Ent | xxx â°â‚€ .DEL RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- … | …¹
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-*/
-
-//High/low numbers guide:
-//¹₠²₂ ³₃ â´â‚„ âµâ‚… | â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€
-//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , -*- <|,> , , , , , ,
- CTO_BASE , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC ,
- KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_RCTL ,
- KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_RSFT ,
-// -----------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , KC_TAB , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , XXXXXXX , XP_DRA_BJ
-
-// See comment on the first layout in this file (double handed Base layer), about the next few keys:
-// ---⬇
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- //, MORE_key2
- , KC__YGUI
-# endif
-// ---⬆
- , KC_KP_DOT
-
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
-
- ),
-
-# endif // NUMPAD_BASE_SINGLE
-
- /* ⬆⬇ */
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h
deleted file mode 100644
index d4440721ff..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-#pragma once
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
- /* ➡ Number pad Configuration ⬅
- *
- * This concerns this Base layer in the shape of a numerical key pad, not the numerical
- * key pad layer which is part of the common layer system, which is defined and configured
- * elsewhere (see ./user_config.h).
- *
- * _Activate_ the below to have a single keypad definition on this layer, for the right
- * hand. Modifiers are also defined.
- * _Remove_ the below to have two keypad definitions on this Base layer, one for each hand.
- *
- * In both cases, you can reach the accompanying number pad layer with the super-/sub-script
- * numbers. For either option, there is a matching * super-/sub-script layer, which is
- * automatically compiled with it.
- */
- #define NUMPAD_BASE_SINGLE // _Activate_ to resemble a one handed numerical keyboard, for right hand.
- // _Remove_ to have two numerical key pads, side by side, one for each hand.
- //
- /* Tip: When in doubt it might be best to choose the single handed layer, because it
- * resembles a regular keyboard more, and has modifier combinations.
- */
-
-
- /* ➡ Removing the numbers pad _PAD layer ⬅
- *
- * You may have no use for this common layer, if you have a numerical
- * keypad on the Alternate Base already.
- *
- * While _PAD layer gives quick uncluttered access to Control, Shift and Alt
- * to modify your pointer device input, the _MOV layer does the same. You
- * end up with the same functionality, with or without _PAD, in this matter.
- *
- * This does precisely the same as REMOVE_PAD in ./user_config.h, but this
- * setting here overrides any setting in ./user_config.h
- */
-//#define REMOVES_PAD // _Activate_ to strip out the _PAD layer, _remove_ to have the _PAD layer.
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
-
-// The below sets some things up based on the above #defines.
-
-// Stripping out _PAD layer, sets the #define used global configuration file ./user_config.h
-# ifdef REMOVES_PAD // this file
-# ifndef REMOVE_PAD // user_config.h
-# define REMOVE_PAD // removes _PAD layer
-# endif
-# endif
-// Inserting the _PAD layer, even if stripped in ./user_config.h
-# ifndef REMOVES_PAD // this file
-# ifdef REMOVE_PAD // user_config.h
-# undef REMOVE_PAD // activtaes _PAD layer
-# endif
-# endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.md
deleted file mode 100644
index 0ebe9a29d9..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.md
+++ /dev/null
@@ -1,364 +0,0 @@
-# Minifan layout
-
-Compile options
----------------
-
-In ![./base_numpad.h](./base_numpad.h) this base layout is configured.
-
-• Single numpad.
-
-This number pad choice only has a number pad for the right hand. The
-usual modifiers are in their expected places.
-
-The single numbers pad variation is also a compile option for the _common
-layer_ `_PAD`, albeit without a super/subscript auxilery layer.
-
-• Dual numpad.
-
-This numbers pad choice has a number pad for each hand. There are two
-number pads together on the keyboard at once.
-
-Numpad keymaps
-==============
-
-Single numpad
--------------
-
-──────────Numpad───────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_numpad_single_vd.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_numpad_single_vd.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-The otherwise ‛common’ layers are not directly available in this special layout.
-You can still reach them as normal through your other Base layer.
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Numpad single](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_numpad_single_2000_vi.jpg)
-
-
-Layers (text)
-
- Layer _ALT_BASE (Number pad, with NumLock on)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- !AlterGo NUMS: xxx xxx xxx xxx | = 7 8 9 - Bspc // NUMS: to ¹/â‚
- LCtl xxx xxx xxx xxx xxx | * 4 5 6 + RCtl
- LSht xxx xxx xxx xxx xxx | / 1 2 3 , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL 0 . RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- LGUI | RGUI¹
-
- Layer _ALT_BASE (Number pad, with NumLock off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
- <|>
- !AlterGo NUMS: xxx xxx xxx xxx | = Home Up PgUp - Bspc // NUMS: to ¹/â‚
- LCtl xxx xxx xxx xxx xxx | * Left 5 Right + RCtl // modified 5
- LSht xxx xxx xxx xxx xxx | / End Down PgDn , RSht
- -------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL Ins Del RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ | ^
- LGUI | RGUI¹
-
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-- - -
-
- Layer _ALT_NSY (Number pad, with NumLock on/off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE xxx xxx xxx xxx xxx | = â·â‚‡ â¸â‚ˆ â¹â‚‰ - Bspc
- LCtl xxx xxx xxx xxx xxx | * â´â‚„ âµâ‚… â¶â‚† + RCtl
- LSht xxx xxx xxx xxx xxx | / ¹₠²₂ ³₃ , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab Ent | xxx â°â‚€ .DEL RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ | ^
- LGUI | RGUI¹
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-Dual numpad
------------
-
-![Minivan layout all](http://socialism.nl/misc/minivan/minivan_keycapview_numpad_double_vg.jpg)
-
-──────────Numpad───────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_numpad_double_vg.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_numpad_double_vd.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-The otherwise ‛common’ layers are not directly available in this special layout.
-You can still reach them as normal through your other Base layer.
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Numpad double](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_numpad_double_2000_vi.jpg)
-
-
-Layers (text)
-
- ───────────────Numpad────────────────
-
- Layer _..._BASE (Number pad, square layout)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- !AlterGo Bspc 7 8 9 - | Bspc 7 8 9 - Bspc //!AlterGo: to _DEF_BASE
- = * 4 5 6 + | * 4 5 6 + =
- _NSY¹ / 1 2 3 , | / 1 2 3 , _NSY¹
- ------------------------------------------------------------------------
- xxx 0 . Ent | NumL 0 . Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ | ^
- LGUI | RGUI²
-
- Layer _..._BASE (Number pad, with NumLock off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
- <|>
- !AlterGo Bspc Home Up PgUp - | Bspc Home Up PgUp - Bspc //!AlterGo: to _DEF_BASE
- = * Left 5 Right + | * Left 5 Right + = // modified 5
- _NSY¹ / End Down PgDn , | / End Down PgDn , _NSY¹
- -------------------------------------------------------------------------
- xxx Ins Del Ent | NumL Ins Del Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ | ^
- LGUI | RGUI²
-
- â‚) Toggle to the accompanying Super-Sub-Script (_NSY) layer.
- ₂) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-- - -
-
- Layer _..._BASE (super-/sub-script numbers, Numlock on/off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE Bspc â·â‚‡ â¸â‚ˆ â¹â‚‰ - | Bspc â·â‚‡ â¸â‚ˆ â¹â‚‰ - Bspc
- = * â´â‚„ âµâ‚… â¶â‚† + | * â´â‚„ âµâ‚… â¶â‚† + =
- LSht / ¹₠²₂ ³₃ , | / ¹₠²₂ ³₃ , RSht
- -*- <|> -*- //(toggle) Access on Base
- ------------------------------------------------------------------------
- xxx â°â‚€ .DEL Ent | xxx â°â‚€ .DEL Ent
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ | ^
- LGUI | RGUI¹
-
- â‚) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
-
-
-Special Base layer Numpad
-=========================
-
-This is a layout resembling a “numbers padâ€. A “numbers padâ€
-is a separate square on a 100% sized keyboard, or separate keypad.
-
-Unlike more usual base layers choices, which typically contain a letters
-layout and access to all the common layers, this ‛Base’ layer is
-quite different. Once you have switched to it, you lack keys to access
-all ‛common’ layers.
-
-You can only switch back to your ‛regular’ base layer, or switch to a
-second form of the numbers pad. This second layer is called “auxileryâ€
-layer here, but technically it is the same thing as the numbers/symbols
-`_NSY` layer, which accompanies a letters layer like Qwerty or Dvorak.
-
-Use the top left key from the numbers pad layer, to switch back to the
-other ‛Base’ layer. This is also unique to this special ‛Base’ layer,
-but similar to the way the “common layers†switch back to Base.
-
-The other Base layer (once you are in this Number Pad layer) for most
-people will be a letters layer with Qwerty, Dvorak or some other layout
-on it, in which the keyboard will start up. To reach the numbers pad
-Base layer, use the key ‛Other Base’ on the `_RAR` layer.
-
-
-Led colors
-----------
-
-The led colors for this ‛Base’ layer are different from the usual. They show
-the state of the Numbers Lock, on or off. Colors are green/light-blue/blue to
-indicate Numbers Lock is off, which means the navigation cluster is active.
-Colors are blue/light-blue/green to indicate the Numbers Lock is on,
-meaning you can type numbers.
-
-This follows the same scheme as the `_PAD` layer, which in turn follows
-the logic of the `_NSY` (numbers/symbols) layer being blue, and the `_MOV`
-(movement/navigation) layer being green, in such a way that the left most
-led is the indicator thereof, following reading direction left to right. The
-brightness of the leds is diminished, to indicate the difference with `_PAD`
-layer (whether or not that layer is compiled).
-
-
-Auxilery numpad layer
----------------------
-
-With the numbers pad layer comes a second layer, as is normal for
-all Base layer choices. This second layer is the same as the normal
-numbers pad, except the numbers are in super- â½Â¹Â²Â³â¾ or sub-script
-â‚â‚₂₃₎.
-
-The numbers on the second layer become subscript when Shift is pressed,
-otherwise they are in super-script. These super-/sub-script forms of the
-numbers Unicode (see the `_RAR` layer).
-
-This second form of numbers pad is reached from keys on the numbers pad
-Base layer. You can switch back to the regular numbers pad, with the
-upper/left key. Another key stroke from there on the upper/left key,
-will bring you back to what is likely your regular typing layer.
-
-
-Auxilery numpad layer led colors
---------------------------------
-
-For the second layer that comes with it, with super-/sub-script numbers,
-the led colors are what they “normally†are (for other compile
-choices) for this layer (the ‛Alternate‛ Base accompanying layer,
-usually numbers/symbols): blue/blue/light-blue. There is no indication
-of Numbers Lock on this layer, although a few keys are altered by Numbers
-Lock (Dot/Delete ‛.’, and Enter).
-
-
-‛Arrow’ additional hardware key
-===============================
-
-Unlike with other layers: the optional ‛arrow’ hardware key on the
-right hand is not inserted between the last and second last keys on the
-right, and neither is it set to the configurable default value (toggle
-`_MOV` layer). Instead, this key is inserted one key over to the left,
-and it is set to GUI.
-
-The reason is that this GUI will line up with the GUI on the ‛Base’
-layer. If combined with the ‛command’ hardware key on the right, set
-to the other GUI, you can reach all Numbers Pad keys with all modifiers,
-including both GUIs.
-
-Another reason is that a typical use of the additional hardware
-key on the right (called ‛Arrow’) will by default lead to a navigation
-layer, however the Numbers Pad already has its own navigation. To add
-a toggle to `_MOV` would be a matter of convenience, whereas not being
-able to reach all Numbers Pad keys with either GUI could represent a
-serious problem.
-
-Downsides to this design are the loss of default ‛Arrow’ hardware key
-use on this layer, and a sort of gap of one key in the Numbers Pad layout.
-The downsides seem to be matters of style and convenience, whereas not
-being able to type whatever you can on a 100% keyboard could be a serious
-problem for someone (keyboard shortcuts mainly).
-
-There is no default solution to type everything with all modifiers
-including the GUIs, without adding the additional hardware key(s).
-Obviously it is possible to just stick a GUI on a free spot, but that
-makes things chaotic. Single pad Numbers Pad could be re-arranged to
-make room for GUI, which would loose more of its similarity to other
-keyboards.
-
-
-Numbers pads everywhere ?
-=========================
-
-Perhaps the amount of options for a numberical keypad are a bit overkill.
-It had to do with how it developed.
-
-For some overview of your options:
-
- â‘  Common layer numerical keypad. Just another layer, like `_RAR`, `_BON`, etc.
-
- 1. You can have a numerical keypad in the _common layers._
- 2. You can also remove this layer entirely.
-
- 3. This “common layers†numbers pad is activated through the Base layer, on Left Shift tap.
- 4. Returns to ‛Default Base’ with upper/left key.
-
- 5. Variation of form: right hand square form, resembling a key pad on
- other keyboards.
- 6. Variation of form: the numbers in a straight line, resembling the
- `_NSY` layer and other layers.
-
- ② A numerical keypad on the other ‛Base’ layer, in the dual layout system.
-
- 1. You can have a numerical keypad on the ‛Alternate Base’ position.
- 2. You can also put something different on ‛Alternate Base’, such as a
- Colemak layout.
-
- 3. This layer is activated through the `_RAR` layer, by choosing ‛Other
- Base’.
- 4. Returns to ‛Default Base’ with upper/left key, effectively the same as with
- the common numerical keypad layer, and all other common layers.
-
- 5. Variation of form: right hand square form, resembling a key pad on
- other keyboards.
- 6. Variation of form: dual handed square form, so you have a key pad for
- each hand.
-
- 7. For all variation of form, there is an accompanying layer which is
- the same, except the numbers are in Unicode super (unshifted) and
- sub-script (shifted).
-
-Some examples:
-
-① As close to a 100% ‛regular’ keyboard as possible.
-
- If you have no use for ‛Alternate Base’ with anything else, you could put
- the single handed numerical keypad there, and remove the common `_PAD` layer
- to have less mental clutter.
-
- This makes accessing `_MOV` on Left Shift easier, you have modifiers with
- the numerical keypad, and you have super/sub-script as well (although its use
- is probably rather rare).
-
-â‘¡ The predictable numbers typing option.
-
- If you want ‛Alternate Base’ to have something else (or nothing
- at all), keep the `_PAD` layer, and choose straight line numbers,
- so that you don't have to learn a second way to type numbers, if you
- ever have a need to type keypad numbers (which could be quite rare).
-
- In this version, you are not envisioning the use of keypad navigation,
- but rather use regular `_MOV` layer navigation. (This was the original
- programming on the keyboard, before more options developed; it follows
- the overall logic that the same or similar keys are in the same or
- similar positions.)
-
-â‘¢ The everything option.
-
- You could keep both `_PAD` with straight lined up numbers if you like typing
- all numbers the same way, and also compile numpad single square on ‛Alternate
- Base’ to have good access to a regular numerical keypad, should you ever need
- it, and/or to have an easier to access navigation cluster there (easier than
- navigation on the straight line numpad variation that is, where navigation
- is difficult).
-
-â‘£ The numerical keyboard specialist.
-
- You could compile it for both hands, if you type so much on a numerical
- keypad, that it is useful to be fast on it with either hand.
-
- It will be harder to type on the double numerical keyboard with modifiers
- (Shift, Control, Alt), but if you compile with the common numbers pad layer,
- you can reach such combinations there. To keep things similar, you can compile
- this common numbers pad layer with numbers in square form, rather than a straight
- line.
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c
deleted file mode 100644
index 0814070f3d..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
- /* Layer _..._BASE: Qwerty, normal BASE layer and 'default' layer
- *
- * - Dual use keys create a delay in the key (tap/hold keys), therefore
- * space is not dual use (most ued key), neither is hyphen.
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_QWERTY__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_QWERTY__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (Letters). This is Qwerty
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
- Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
- LSht+_PAD zZ xX cC vV bB | nN mM ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-*/
-//
-// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
- CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols, to work with the Qwerty base layer above.
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_QWERTY__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_QWERTY__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
- ^^ ^ // Only differences with normal version _..._NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0
-// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't
-// messing up this key on this Qwerty layout, which has to be different in the other Qwerty.
-# ifdef QWERTY_BASEARROW_HARMONIZE
- , KC_SLSH , // Same as in ‛Qwerty Base Arrow’. A ‛`’ exists on _BON also.
-# else
- , RCTL_T ( KC_GRV ) , // Default
-# endif
- LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md
deleted file mode 100644
index 6eda191754..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md
+++ /dev/null
@@ -1,127 +0,0 @@
-# Minifan layout
-
-Compiled for: Qwerty
-====================
-
-This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`.
-This is a Qwerty layout.
-
-Dual layout combination with Qwerty Base Arrow
-==============================================
-âš  If you also compile `base_qwerty_basearrow`, the key for `/?` on `_NSY` layer in that
-`base_qwerty_basearrow` layout, will be replicated in _this_ Qwerty layout on the `_NSY`
-layer. It will displace the key `RCTL_T ( KC_GRV )`. Right Control, unless tapped for
-‛\`’ or tapped with shift for ‛~’ ➡ becomes `/?` (slash/questionmark).
-
-The reason for this is that when you switch from one or the other Qwerty variation
-(with or without arrows on ‛Base’ layer), it will likely be confusing to type ‛/?’
-on that key in one version of Qwerty, and suddenly get a ‛\`~’ in the other. The reason
-it is not in the normal position on ‛Qwerty Base Arrow’, is because it gets displaced
-by ‛Up Arrow’.
-
-You will likely switch from the Base Arrow variation to the regular version, due to a need
-for the row of keys displaced by the arrow cluster, or the other way around to get Base
-access to the arrows, rather than a need for this side effect: ‛/?’ being substituted for
-‛\`~’.
-
-This means you will loose `_NSY` layer access to ‛\`’, in both versions of Qwerty. You will
- have to use the key for ‛\`~’ on the `_BON` layer, which is an uncluttered version of this
-key (it repeats). It also means that you have two keys toward ‛/?’ in standard Qwerty: the
-default position for Qwerty, and this additional one to harmonize with ‛Qwerty Base Arrow’.
-
-This harmonization can be disabled in ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h),
-with `QWERTY_BASEARROW_HARMONIZE`.
-
-See also: ![./base_qwerty_basearrow.md](./base_qwerty_basearrow.md)
-
-Qwerty keymaps
---------------
-
-──────────Qwerty───────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_ve.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Qwerty](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_2000_vi.jpg)
-
-Layers (text)
-=============
-
- ───────────────Qwerty─────────────────
-
- Layer _..._BASE (Letters). This is standard Qwerty
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
- Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
- LSht+_PAD zZ xX cC vV bB | nN mM ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-
-- - -
-
-
- Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _DEF_BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl // `~+RCtl becomes /? in dual …
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // … layout with Qwerty Base Arrow
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- u //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-
-
-- - -
-
-Key associations
-----------------
-Key placement associations between layers for Qwerty.
-
-![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_qwerty_1500_ve.jpg)
-
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c
deleted file mode 100644
index 674f16c85a..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2020 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
- /* Layer _..._BASE: Qwerty with arrows on Base, normal BASE layer and 'default' layer
- *
- * - This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
- * When not compiled with 'arrow' hardware key, Base will not contain ‛down arrow’.
- *
- * This does not mean that this is the recommended version of Qwerty in general for
- * the 'arrow' hardware key with Qwerty. Regular Qwerty works with the additional
- * hardware key 'arrow'. The regular Qwerty compile option just works differently
- * than this version with arrows on Base. Regular qwerty has the additional hardware
- * key on the right be a toggle to _MOV layer, where you then have arrows in the same
- * area. Notice further that in all cases, you have a hold key to the _MOV layer under
- * what is colloqually known as the ‛left space bar’, which leads to convenient arrow
- * keys in the home row.
- *
- * Putting directional arrow keys on the Base layer will cost you several keys on
- * the Base layer: hold _RAR, GUI, and ‛/?’.
- * • The ‛/?’ key is displaced to the _NSY layer.
- * • The GUI key is lost. You could decide to also use the ‛south paw’/‛command’
- * hardware key, which is a GUI by default.
- * • Hold key to _RAR layer is lost. You can only reach _RAR layer, using the right
- * shift toggle, which is on a short timer.
- *
- * My recommendation would be: see if you can make things work with regular Qwerty
- * if you are a 10 fingers typist, first. Moving your hand to this arrow cluster
- * seems to be a high cost to pay. You will also loose the default location for ‛/?’.
- *
- * For special need situations regarding this right hand row1/2 arrow cluster, a
- * tap to _MOV layer on the ‛arrow’ hardware key, should be a reasonable cost to
- * pay, if a situation is already important enough to decide to move your hand there.
- * For short uses of arrow keys, holding to the _MOV layer is the most efficient.
- *
- * If you are not a 10 finger typist though, holding a key to _MOV layer seems to be
- * inconvenient, and thus arrows on Base could be better for you.
- *
- * Hence my conclusion: only compile ‛Qwerty with arrows on Base’ if the regular
- * Qwerty isn't working for you.
- *
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_QWERTY_BASEARROW__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_QWERTY_BASEARROW__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (Letters). This is Qwerty with arrows on Base
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
- Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
- LSht+_PAD zZ xX cC vV bB | nN mM ,< .> Up RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) Left Right
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (Down)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration. Set to Down Arrow.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-*/
-//
-// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
- CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_UP , CHOLTAP_RSHFT ,
- // KC_SLSH
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
- , KC_LEFT
- // , KC__YGUI
-
-# ifdef MORE_KEY__ARROW
- , KC_DOWN
- // , MORE_key2
-# endif
-
- , KC_RIGHT
- // , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols, to work with the Qwerty base layer above.
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_QWERTY_BASEARROW__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_QWERTY_BASEARROW__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // `~ on _BON
- ^^ ^ // Only differences with normal version _..._NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SLSH ,
- LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE , // note¹
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
-// note¹
-// Sacrificing RCTL, because ‛/’ is a major much used symbol,
-// which seem to warrant being uncluttered. ‛`’ exists also on _BON
-// (uncluttered). This breaks the logic that all these standard symbols
-// exist on this layer _NSY. However, ` and ~ are often in a diminutive
-// placement on mini keyboards, and ‛arrows on top’ was always going to
-// be a stretch for a keyboard like this. The other option is to have a
-// special macro to put tilde ‛~’ and accent grave ‛`’ both on Shift,
-// but it doesn't seem to make much difference, and makes the firmware
-// even larger.
- ),
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
deleted file mode 100644
index 386a6e593a..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2021 by Jos Boersema
- *
- */
-
-#pragma once
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
- /* • Harmonize regular Qwerty
- *
- * If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on
- * the other base pair (dual layout), the key ‛/?’ on the _NSY layer in
- * Qwerty Base Arrow, will be replicated in the same spot in regular Qwerty.
- *
- * Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location.
- * See ./base_qwerty_basearrow.md and ./base_qwerty.md for details.
- */
- #define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout.
- // _Remove_ leave regular Qwerty layout unchanged from default.
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md
deleted file mode 100644
index 889633714a..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md
+++ /dev/null
@@ -1,134 +0,0 @@
-# Minifan layout
-
-Compiled for: Qwerty with arrows on Base
-========================================
-This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
-
-You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`,
-to let compilation know you have that additional hardware key.
-
-If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’.
-You do not have to worry about what to set the additional hardware key to, on
-the Base layer. This will be set to Down Arrow, to complete that arrow cluster.
-
-Is arrows on Base efficient ?
-=============================
-This variation of Qwerty is not necessarily the recommended version of
-Qwerty for a board with the additional ‛Arrow’ hardware key.
-The regular Qwerty compile option can provide good arrow access.
-
-Putting directional arrow keys on the Base layer will cost you several
-keys on the Base layer: hold to layer `_RAR` (power, media, etc. layer),
-GUI, and ‛/?’.
-
-• The ‛/?’ key is displaced to the `_NSY` (numbers & symbols) layer, and is not
- in the default spot for a Qwerty layout.
-
-• The GUI key is lost. You could decide to also use the ‛south paw’/‛command’
- hardware key, which is a GUI by default.
-
-• Hold key to `_RAR` layer is lost. You can only reach `_RAR` layer using the
- right shift toggle, which is on a short timer.
-
-
-Have it both ways
-=================
-You could compile regular Qwerty on one of the Base pairs (‛Default’ or
-‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way
-you can switch to see what works for you. You could leave it like
-that, and choose what you want depending on what you are doing.
-
-Dual layout combination with Qwerty Base Arrow
-==============================================
-The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
-by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
-located in the same spot as in this ‛Qwerty with Arrows on Base’ layout.
-
-See also: ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h).
-See also: ![./base_qwerty.md](./base_qwerty.md) for the reason behind this.
-
-
-Qwerty keymaps
---------------
-
-──────────Qwerty───────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_basearrow_va.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_basearrow_vb.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Qwerty arrows on Base](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_basearrow_2000_vj.jpg)
-
-Layers (text)
-=============
-
- ───────────────Qwerty─────────────────
-
- Layer _..._BASE (Letters). This is Qwerty with arrows on Base
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
- Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
- LSht+_PAD zZ xX cC vV bB | nN mM ,< .> Up RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) Left Right
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (Down)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration. Set to Down Arrow.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The key with ';' (Del;`_ACC`) does not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-
-- - -
-
-
- Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // See _BON for ‛`’
- ^^ ^ // Only differences with normal version _..._NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-
-
-
-- - -
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c
deleted file mode 100644
index 3a2f4eaa4f..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2021 by Jos Boersema
- *
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-
-// --------------------------------------^---------------------------------------
-// Below here no more comfortable configuration options.....
-// --------------------------------------^---------------------------------------
-
-
- /* Redefine a layer in this file
- *
- * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
- * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
- * transparent keys (_______) for “hold†layer switch keys on the BASE map, for
- * your new layer.
- */
-// #define BASESFILE_LAYER_ACC
-// #define BASESFILE_LAYER_DRA
-// #define BASESFILE_LAYER_BON
-// #define BASESFILE_LAYER_PAD
-// #define BASESFILE_LAYER_MOV
-// #define BASESFILE_LAYER_RAR
-// #define BASESFILE_LAYER_FUN
-
- /* ⬇ */
-
- /* Layer _..._BASE: Workman, normal BASE layer and 'default' layer
- *
- * - Dual use keys create a delay in the key (tap/hold keys), therefore
- * space is not dual use (most ued key), neither is hyphen.
- */
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_WORKMAN__DEF_BASE)
- [ _DEF_BASE ] = LAYOUT_redefined (
-# elif defined(BASE_WORKMAN__ALT_BASE)
- [ _ALT_BASE ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._BASE (Letters). This is Workman
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ dD· rR· wW· bB· | jJ· fF· uU· pP· :;· Bksp
- Tab+LCtl aA sS hH· tT· gG | yY· nN· eE· oO· iI· '"
- LSht+_PAD zZ xX mM· cC· vV· | kK· lL· ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
- ₇) Letters marked by ‛·’ are different from Qwerty.
-*/
-//
-// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
-// -*!- , , , , , <|,> , , , , , ,
- KC_ESC , KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN , KC_BSPC ,
- LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_QUOT ,
- CHOLTAP_LSHFT , KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
-// -----------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1_BASE
-# endif
-
-# ifdef SWITCH_HOLD_ACC_NSY
- , DUO_HOLD , CHOLTAP_ACCE
-# else
- , CHOLTAP_ACCE , DUO_HOLD
-# endif
-
- , LEFTCENTER_THUMB
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , CHOLTAP_LAYR
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
-
- /* Layer _..._NSY: Numbers and symbols, to work with the Workman base layer above. (Same as Qwerty.)
- * Off hand Number input (-.Bksp ent (shft)tab).
- */
- // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
-
-// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
-# if defined(BASE_WORKMAN__DEF_BASE)
- [ _DEF_NSY ] = LAYOUT_redefined (
-# elif defined(BASE_WORKMAN__ALT_BASE)
- [ _ALT_NSY ] = LAYOUT_redefined (
-# endif
-
-/*
- Layer _..._NSY (Numbers and SYmbols). This fits the above Workman layer _..._BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
- ^^ ^ // Only differences with normal version _..._NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _..._BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (RGUI) (_MOV)
-*/
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , -*- , , , , <|,> , , , , , ,
- CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
- LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
- LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
-// ---------------------------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_DOT , DUO_HOLD , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , XXXXXXX
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RGHT )
-// , , -*- , <|,> , -*- , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
- /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md
deleted file mode 100644
index 2d68e2ea06..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Minifan layout
-
-Compiled for: Workman
-=====================
-
-This file details the compile version `#define BASE_WORKMAN__DEF_BASE, BASE_WORKMAN__ALT_BASE`.
-This is a Workman layout.
-
-The number & symbols layer (`_NSY`) is the same as for Qwerty.
-
-Workman keymaps
----------------
-
-─────────Workman───────────────
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_workman_va.jpg)
-Layer: `..._BASE`
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
-Layer: `..._NSY`
-
-──────────in common────────────
-
-(…)
-
-For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
-
-![Minivan illustration Overview layers by key, Workman](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_workman_2000_vi.jpg)
-
-Layers (text)
-=============
-
- ───────────────Workman─────────────────
-
- Layer _..._BASE (Letters). This is Workman
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- BASE access
- Esc qQ dD rR wW bB | jJ fF uU pP :; Bksp
- Tab+LCtl aA sS hH tT gG | yY nN eE oO iI '"
- LSht+_PAD zZ xX mM cC vV | kK lL ,< .> /? RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (RGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ₃) 'South paw' hardware configuration. Configurable, default shown.
- â‚„) 'Arrow' hardware configuration Configurable, default shown.
- ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- â‚…) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-
-- - -
-
-
- Layer _..._NSY (Numbers and SYmbols). This fits the above Workman layer _DEF_BASE
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE ! @ # $ % | ^ & * ( ) Del
- Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
- -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
- ^^ ^ // Only differences with Dvorak version _DEF_NSY
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- u //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-
-
-- - -
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
deleted file mode 100644
index 9db4d596de..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * © 2019,2020 by Jos Boersema
- */
-
-
-#pragma once
-#define LAYER_STATE_16BIT // This saves more than 400 bytes on the hex file
-
-// place overrides here
-
-// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
-//# ifndef LTO_ENABLE
- //Disable old style macro handling: MACRO() & action_get_macro
-//# define NO_ACTION_MACRO // This saves 320 bytes
- //disable calling of action_function() from the fn_actions array (deprecated)
-//# define NO_ACTION_FUNCTION // This saves 96 bytes
-//# endif
-
-#define PERMISSIVE_HOLD
-#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep"
-#define RGBLIGHT_EFFECT_BREATHING
-
-// Layer switch TT(layer) tapping amount to make it toggle
-#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference)
-
-
-// Attempts to reduce firmware size:
- //#define LTO_ENABLE // Did not decrease firmware size when tested on 26 Jan 2020
- //#define NO_DEBUG //disable debugging (already defined)
- //#define NO_PRINT JJdisable printing/debugging using hid_listen (already defined)
- //#define NO_ACTION_LAYER //disable layers (obviously need layers)
- //#define NO_ACTION_TAPPING // This saves 2516 bytes (9%) (keymap uses tapping)
- //#define NO_ACTION_ONESHOT // This did not reduse firmware size on 26 Jan 2020
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
deleted file mode 100644
index 39eb45e15e..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
+++ /dev/null
@@ -1,1784 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Authors: This QMK keymap file is a combination of the default
- * keymap, led code original copied/edited from ../jetpacktuxedo, some
- * copy/paste from QMK documentation code examples (etc).
- * Remainder: © 2019, 2020, 2021 by Jos Boersema
- */
-
-// --------------------------------------v---------------------------------------
-// Configuration:
-// --------------------------------------v---------------------------------------
-#include "./user_config.h" // Edit this file to set user preference compile options.
-// --------------------------------------^---------------------------------------
-
-
-
- /* Configurable keymap for Minivan layouts 44, 45, 46 keys.
- * May work for 12×12×12×[11-12] keys as well.
- * Configuration in ./user_config.h
- */
-
- /* Overview of the code
- *
- * The base layers are in separate files;
- * process_record_user(), unicode macros are defined in unicode_macros.c;
- * accented characters are defined in unicode_weurope.h
- *
- * Unicode macros facilitate recomputing for re-computing the Dvorak with changed letters
- * ('descramble'), and exist because space ran out for * UP(…).
- *
- * The led color code might be a bit hairy, due to speed/count middle led overlapping layer color.
- *
- * Preprocessor indentation: # always in column one, #includes and #defines
- * are most to the left unless nested, except in the user configuration
- * block where room is left for a ‛//’. Logical stuff (#if etc) is
- * indented from column two, and then in each nesting goes 4 more spaces
- * to the right, so in between the normal code indentations. There should
- * be a newline above and below logical statements. This makes preprocessor
- * statements stand out, while giving more information in each statement.
- * C indentation: trying to follow QMK standard.
- *
- */
-
-
-#include QMK_KEYBOARD_H
-
-// Bit masks for the Base layers, to set them as Default, in order to make transparency look back to the right one.
-#define _DEF_BASE_MASK 0x1 // Some functions take a bit-mask, where layer 0 (zero) is called 0x1 instead.
-#define _ALT_BASE_MASK 0x2 // Some functions take a bit-mask, where layer 0 (zero) is called 0x1 instead.
-
-// Below #defines the internal order of the layers.
-// Notice this order in layer_state_set_user as well, regarding the led indicators.
-enum {
- _DEF_BASE, // Default BASE layer (layer at startup). Typically the letters.
-
-# ifndef MINIFAN_SINGLE_LAYOUT
-
- _ALT_BASE, // Alternative BASE layer.
-
-# endif
-
- _DEF_NSY, // numbers and symbols
-
-# ifndef MINIFAN_SINGLE_LAYOUT
-
- _ALT_NSY, // Alternate version of _DEF_NSY
-
-# endif
-
- _MOV, // movement arrows and mouse
- _RAR, // keys RARely used, Unicode config, Power keys, Media keys, alternate mode switch, speed/size count, …
-
-# ifndef REMOVE_PAD
-
- _PAD, // Numbers pad. These are different versions of the same numbers, that is ‛1’ (_NSY) ≠ ‛1’ (_PAD).
-
-# endif
-
-# ifndef REMOVE_ACC // Removes this layer entirely, if set.
-
- _ACC, // Accented letters
-
-# endif
-
-# ifndef REMOVE_DRA // Removes this layer entirely, if set.
-
- _DRA, // Unusual symbols and whatever else
-
-# endif
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
-
- _BON, // Bonus layer with more Unicode symbols
-
-# endif
-
- _FUN, // function keys, layer switcher, given highest order precedence just in case
-} ;
-// The default and alternate base layers needs to have a low order
-// number, so that the other layers can be accessed on top of it.
-// Default Layer is set, according to active Base pair.
-
-// What BASE layer is active.
-enum {
- _NORMAL_, // BASE layer is _DEF_BASE
- _FULL_, // BASE layer is _ALT_BASE
-# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
- _HALF_, // BASE layer is _ALT_BASE For DVORAK_DESCRAMBLE keymap: does *not* re-compute letters in Unicode
- // This is for different Unicode encodings than “Control+U+HEX†(Linux). It will go through what is set on _RAR
-# endif
-};
-// The mechanism is about what layer to return to, once needing to go back to the letters layer (BASE).
-
-# ifndef STARTUP_ALTERNATE // Startup with in default BASE, normal mode.
-short alternate = _NORMAL_;
-# else // Startup with alternate BASE active
-short alternate = _FULL_; //
-# endif
-
-//* Shift detection
-bool shift_ison = 0; // keep track of the state of shift (Capslock is ignored). There may be more elegant code for this in
- // QMK (a function seems to do it?), but this is simple and keeps the issue isolated to this file.
-# define TRUE 1
-# define FALSE 0
-bool _fun_stay = FALSE; // for making _FUN layer not return to BASE after pressing an F-key
-bool leds_on; // toggle leds on/off
-
-# ifdef LEDS_OFF_BASE_DEF
-bool led_middle_on = TRUE; // Set to off later, if startup setting is off.
-# endif
-
-bool isolate_trigger = FALSE; // detects if _FUN layer move was pressed, and no other key (no normal use of Shift).
-bool capslock; // keeps track of capslock state
-bool numlock; // keeps track of numlock state
-//layer_state_t state_recall; // We are calling the function set_led_colors_ from this file as well.
-// speed measuring
-bool speed_measure = SPEED_INIT_VALUE; // feature activated or not on startup
-uint32_t speed_counttime; // counts the time
-short speed_countdown = SPEED_COUNTDOWN; // countdown to next computation/effects
-int speed; // we store typing result (keys/second) to make reporting less stressful on user, as it doesn't run away after typing
- // the value is recorded 10 times higher, to allow another digit of precision, needed to calculate Words-Per-Minute
-long int speed_batches = 0; // This counts how many batches of SPEED_COUNTDOWN have been added to wordcount_speed_add
-long int speed_add = 0; // This just adds the speed computed for every batch of SPEED_COUNTDOWN, also times 10 for precision
-// character and word counting, attempting to count the final text being written
-bool sizecount_measure = COUNT_INIT_VALUE; // feature activated or not on startup
-long int sizecount_blanks = 0; // This counts spaces/enters as a means of counting words, with manual substraction key
-long int sizecount_chars = 0; // This counts characters, substraction for delete/backspace
-bool sizecount_word; // remember if the last character was whitespace, so a second does not count a word
-bool sizecount_menu = FALSE; // menu mode for configuring sizecount led color & alert system for maximum size.
-long int sizecount_max = 0; // the maximum system for count, alert user about relative size/limit
-bool sizecount_max_type; // is size counting by word or by character
-#define SIZECOUNT_WORD 0 // The type of text size counting: words
-#define SIZECOUNT_CHAR 1 // " : characters
-
-/* This file contains mostly the Unicode and special macros.
- It contains the function: process_record_user(...)
- It has been isolated because the source file got long.
- */
-#include "./unicode_macros.c"
-
-
-// Pre-existing function, run when the keyboard starts up.
-void keyboard_post_init_user (void) {
-
-# ifdef RGBLIGHT_ENABLE
-
-// Set side leds on/off startup
-# ifdef STARTUP_SIDE_LEDS_OFF
- leds_on = FALSE;
-# else
- leds_on = TRUE;
-# endif
-
- // Set up RGB effects on _only_ the first LED
- rgblight_set_effect_range (1, 1); // Takes a range: 1st arg is start, 2nd how many
- rgblight_sethsv_noeeprom (HSV_WHITE); // Startup color of keyboard.
- // Set LED effects to breathing mode
- rgblight_mode_noeeprom (RGBLIGHT_EFFECT_BREATHING + 2);
-
- // Init the first and last LEDs to a static color.
- setrgb (0, 0, 0, (rgb_led_t *)&led[0]); // Led[0] is led 0
- setrgb (0, 0, 0, (rgb_led_t *)&led[2]); // 2nd led
-
-// The logic seems to be to establish the effect first, and then toggle it on/off.
-# ifdef STARTUP_MID_LED_OFF
- rgblight_disable (); //
-# ifdef LEDS_OFF_BASE_DEF // This messes with led effect on/off, so we need to track the state of this setting now.
- led_middle_on = FALSE;
-# endif
-# endif
-
- isolate_rgblight_set ();
-
-# endif //RGBLIGHT_ENABLE
-
-// Set startup layer
-# ifdef STARTUP_ALTERNATE
- layer_move (_ALT_BASE);
-# else
- layer_move (_DEF_BASE);
-# endif
-
- _fun_stay = TRUE; // startup with F-keys not returning to Base after stroke (_FUN)
-
-}
-
-
-// Writes a number as if typed on keyboard. Typically to show a speed/text size measurement.
-// If last argument is TRUE it prints a dot ‛.’ before the last digit
-int write_number (long int input, short divide10) {
- long int step10;
- short digit;
- short start = FALSE;
- short printed = 0;
- char output[2];
-
- output[1] = '\0';
- if (0 > input) { // number is negative
- send_string ("-"); // minus
- printed++;
- input *= -1; // turn positive
- }
- for (step10 = 1000000000; 0 != step10; step10 /= 10) { // assuming 32 bit, ± 10â¹
- digit = input / step10;
- input = input % step10;
- if (!start) { // remove leading zeros
- if ((0 != digit) || (1 == step10)) start = TRUE; // If all zeros, always print last zero.
- }
- if (divide10 && (1 == step10)) { // print with a dot before the last digit
- send_string (".");
- printed++;
- }
- if (start) { // print
- output[0] = '0' + digit;
- send_string (output);
- printed++;
- }
- }
- return printed;
-}
-
-
-// This function prevents the middle led from being altered by layer
-// switching (showing the layer color, that is), when another
-// functionality takes precedent over the middle led.
-void middle_led_control (short hsv_h, short hsv_s, short hsv_v ) {
-# ifdef RGBLIGHT_ENABLE
-
- if (FALSE == speed_measure) { // only touch middle led if no speed measuring going on
- if ( ! ((TRUE == sizecount_measure) && (0 != sizecount_max)) ) { // only touch middle led if no text size
- // counting set to a maximum is going on.
-
- rgblight_sethsv_noeeprom (hsv_h, hsv_s, hsv_v); // set it
- }
- }
-
-# endif
-}
-
-
-// Set middle led color for speed system. Needed in various places.
-void speed_led (int speed) {
-# ifdef RGBLIGHT_ENABLE
-
- speed /= 10; // argument is in 10 times its value
- if ( ! ((TRUE == sizecount_measure) && (0 != sizecount_max)) ) { // only touch middle led if no text size
- // counting set to a maximum is going on.
- rgblight_sethsv_noeeprom (SPEED_HUE_STEP * speed + SPEED_HUE_START, 255, 128); // full saturation, but half lit
- rgblight_set (); // only center led is altered, no need to go through isolate_rgblight_set()
- }
-
-# endif
-}
-
-
-// do this in one place to handle left/right leds being off here
-void isolate_rgblight_set (void) {
-
-# ifdef RGBLIGHT_ENABLE
- if (!leds_on) { // left/right leds are off
- // overwrite previously colors
- uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
- uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
- led0r = 0;
- led0g = 0;
- led0b = 0;
- led2r = 0;
- led2g = 0;
- led2b = 0;
- setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
- setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
- }
- rgblight_set ();
-# endif
-
-}
-
-
-// _FUN layer leds.
-void indicate_fun_stay (void) {
-# ifdef RGBLIGHT_ENABLE
-
- uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
- uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
- // See also below under _FUN layer led
- if (_fun_stay == TRUE) { // normal mode, 0 (100% normal)
- led0r = 255; // red
- led2r = 255; // Yellow
- led2g = 50;
- }else{
- led0r = 255; // Yellow
- led0g = 50; //
- led2r = 255; // red
- }
- setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
- setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
- isolate_rgblight_set ();
-
-# endif //RGBLIGHT_ENABLE
-}
-
-
-// _RAR layer leds
-// It is a function because this is also called when the Base layer OTHER_BASE key is pressed
-void indicate_base (void) {
-# ifdef RGBLIGHT_ENABLE
-
- uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
- uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
- // See also below under _FUN layer led
- if (_NORMAL_ == alternate) { // normal mode, 0 (100% normal)
- led0r = 255; // shine white left led
- led0g = 255;
- led0b = 255;
- rgblight_sethsv_noeeprom (HSV_PURPLE); // This overrides the speed setting.
- led2r = 100; // purple
- led2b = 100;
- }
-
-# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
- else if (_HALF_ == alternate) { // alternate mode, 1 (normal unicode)
- led0r = 100; // purple
- led0b = 100;
- rgblight_sethsv_noeeprom (HSV_WHITE); // shine white middle led (still breathes)
- led2r = 100; // purple
- led2b = 100;
- }
-# endif
-
- else if (_FULL_ == alternate) { // alternate mode, 1 (recomputed unicode for DVORAK_DESCRAMBLE)
- led0r = 100; // purple
- led0b = 100;
- rgblight_sethsv_noeeprom (HSV_PURPLE);
- led2r = 255;// shine white right led
- led2g = 255;
- led2b = 255;
- }
- setrgb(led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
- setrgb(led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
- isolate_rgblight_set ();
-
-# endif //RGBLIGHT_ENABLE
-}
-
-
-// Sets led colors for all layers. Including Capslock/Numlock changes. See a computer side activated function for that too:
-// led_update_user (…)
-void set_led_colors_ (layer_state_t state) {
-# ifdef RGBLIGHT_ENABLE
-
- uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
- uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
- short color_ddl = 28 ;
-
-# ifdef LEDS_OFF_BASE_DEF
- // Special case of switching centre led effect on/off
- if (!layer_state_cmp (state, _DEF_BASE)) { // letters
- //if (rgblight_is_enabled())
- if (led_middle_on) { // Follows user setting based on _RAR key.
- rgblight_enable_noeeprom (); // Would be easier if middle_led_control (…) could set brightness to dark, but seems to not work.
- }
- }
-# endif
-
- // The order should be the reverse of the #defines of layer number of the layers on top
- // because higher layer number is higher priority if activated
- /* _DEF_BASE 0 _ALT_BASE 1 _DEF_NSY 2 _ALT_NSY 3 _MOV 4 _RAR 5 _PAD 6 _ACC 7 _DRA 8 _BON 9 _FUN 10 */
- if (layer_state_cmp (state, _FUN)) { // F-keys, and layer toggles
- middle_led_control (HSV_RED); // purple
- indicate_fun_stay (); // Indicates state of _fun_stay, but only when it is being toggled.
- return ; // indicate_fun_stay function already does it all.
- }
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- else if (layer_state_cmp (state, _BON)) { // Bonus layer with encircled numbers and more symbols
- // side leds dark
- middle_led_control (HSV_YELLOW);
- }
-# endif // REMOVE_BON
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
- else if (layer_state_cmp (state, _DRA)) { // Unicode drawings and unusual things
- led0r = 255; // gold red
- led0g = 128; //
- led2r = 255; //
- led2g = 128; //
- middle_led_control( HSV_GOLDENROD );
- }
-# endif // REMOVE_DRA
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- else if (layer_state_cmp (state, _ACC)) { // Accented letters (Unicode input layer)
- led0g = 150; // With some blue, because it is also a symbol
- led0b = 100;
- led2g = 150;
- led2b = 100;
- middle_led_control (HSV_TURQUOISE); // cyan
- }
-# endif // REMOVE_ACC
-
-# ifndef REMOVE_PAD
- else if (layer_state_cmp (state, _PAD)) { // numbers pad layer
- if (numlock) {
- led0b = 255; // Blue for the numbers part
- led2g = 255; // Green for the navigation part
- }else{
- led0g = 255; // reversed
- led2b = 255; //
- }
- middle_led_control (60, 20, 100); // yellow (low saturation)
- }
-# endif // REMOVE_PAD
-
- //---
- else if (layer_state_cmp (state, _RAR)) { // layer with special keys
- indicate_base (); // this function already does it all
- return; //
- }
- //---
- else if (layer_state_cmp (state, _MOV)) { // movement layer
- led0g = 255;// movement is green, "go forward"
- led2g = 255;
- middle_led_control(HSV_GREEN);
- }
- //--- (pair)
- else if (layer_state_cmp (state, _ALT_NSY)) { // alternate, numbers/symbols
- led0b = 255; // first led follows the corresponding default layer: _DEF_NSY
- led2r = color_ddl; // Same as DDL, to which it belongs.
- led2g = color_ddl; //
- led2b = color_ddl; //
- middle_led_control (HSV_BLUE);
- }
- else if (layer_state_cmp (state, _DEF_NSY)) { // symbols and numbers
- led0b = 255; // blue for symbols, like ink (writing)
- led2b = 255;
- middle_led_control (HSV_BLUE);
- }
- //--- (pair)
- // Alternate BASE layer (alternate)
- else if (layer_state_cmp (state, _ALT_BASE)) {
-
-# ifdef LEDS_OFF_BASE_ALT // Alternative Base leds off (always)
-
- rgblight_disable_noeeprom ();
-
-# else // do use leds on Alternative Base layer
-
-# if !defined(BASE_NUMPAD__ALT_BASE) // Normal led colors for ‛regular’ base layers like Dvorak, Qwerty.
-
- if (capslock) {
- led2r = 255; // Brighter version to indicate capslock
- led2g = 255; //
- led2b = 255; //
- } else {
- led2r = color_ddl; // A bit of a white not too bright color on right
- led2g = color_ddl; //
- led2b = color_ddl; //
- }
- middle_led_control (HSV_TEAL); // seems to be the same as CYAN/AZURE, conflicts with _ACC
-
-# else // Numpad configured on Alternate Base, which should show the state of NumLock
-
- // This is a copy of the _PAD led colors, but less bright
- if (numlock) {
- led0b = 80; // Blue for the numbers part
- led2g = 80; // Green for the navigation part
- }else{
- led2b = 80; // reversed
- led0g = 80; //
- }
- middle_led_control (60, 20, 100); // light-blue
-
-# endif // BASE_NUMPAD__ALT_BASE
-
-# endif // LEDS_OFF_BASE_ALT
-
- }
- // Default layer (generally), normal BASE layer
- else if (layer_state_cmp (state, _DEF_BASE)) { // letters
-
-# ifdef LEDS_OFF_BASE_DEF // Default Base leds off (always)
-
- rgblight_disable_noeeprom ();
-
-# else // Do use leds on Default Base
-
- if (capslock) {
- led0r = 255; // Brighter version to indicate capslock
- led0g = 255; //
- led0b = 255; //
- } else {
- led0r = 28; // A bit of a weak white color on left
- led0g = 28; //
- led0b = 28; //
- }
- middle_led_control (HSV_TEAL);
-
-# endif // LEDS_OFF_BASE_DEF
-
- }
- //---
-
- // pushes the configuration
- setrgb (led0r, led0g, led0b, (rgb_led_t *)&led[0]); // Led 0
- setrgb (led2r, led2g, led2b, (rgb_led_t *)&led[2]); // Led 2
-
- isolate_rgblight_set (); // Activates the led color change, after on/off check.
-
-# endif //RGBLIGHT_ENABLE
-}
-
-// Pre-existing QMK function, called when NumLock/CapsLock key is pressed, including on another keyboard.
-// This function sets two booleans that keep track of the current capslock/numlock state, for use in layer led colors.
-bool led_update_user (led_t led_state) {
-
- if (led_state.num_lock) { // This doesn't look at the keyboard leds or any other actual leds. It seems to look at whether
- // or not the computer has numlock in the on/off state.
- numlock = TRUE;
- }else{
- numlock = FALSE;
- }
- if (led_state.caps_lock) {
- capslock = TRUE;
- }else{
- capslock = FALSE;
- }
- //layer_state_set_user
- set_led_colors_ (state_recall); // Update leds
- return true ;
-}
-
-
-// pre-existing function, called when layer changes
-layer_state_t layer_state_set_user (layer_state_t state) {
-
- set_led_colors_ (state); // Update leds
- state_recall = state; // Recall this, for calling set_led_colors_(…) on Num/Capslock changes in led_update_user(…)
- return state;
-}
-
-// -------------------------------- layers --------------------------------
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-/******************** What base layers to use: **************/
-
-// * Dvorak *
-# if defined(BASE_DVORAK__DEF_BASE) || defined(BASE_DVORAK__ALT_BASE)
-# include "./base_dvorak.c" // Regular Dvorak.
-# endif
-
-// * Dvorak descramble *
-# if defined(BASE_DVORAK_DESCRAMBLE__ALT_BASE) // only for ‛Alternate’ base
-# include "./base_dvorak_descramble.c" // Dvorak for when computer is already remapping to Dvorak.
-# endif
-
-// * Qwerty *
-# if defined(BASE_QWERTY__DEF_BASE) || defined(BASE_QWERTY__ALT_BASE)
-# include "./base_qwerty.c" // Regular Qwerty.
-# endif
-
-// * Qwerty arrows on Base *
-# if defined(BASE_QWERTY_BASEARROW__DEF_BASE) || defined(BASE_QWERTY_BASEARROW__ALT_BASE)
-# include "./base_qwerty_basearrow.c" // Qwerty + arrows
-# endif
-
-// * Colemak *
-# if defined(BASE_COLEMAK__DEF_BASE) || defined(BASE_COLEMAK__ALT_BASE)
-# include "./base_colemak.c" // Regular Colemak.
-# endif
-
-// * Workman *
-# if defined(BASE_WORKMAN__DEF_BASE) || defined(BASE_WORKMAN__ALT_BASE)
-# include "./base_workman.c" // Regular Workman.
-# endif
-
-// * Numpad *
-# if defined(BASE_NUMPAD__ALT_BASE)
-# include "./base_numpad.c" // Numbers pad
-# endif
-
-// * Hebrew *
-# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
-# include "./base_hebrew.c" // Hebrew
-# endif
-
-// // ⬇ insert your ./base_YOUR_KEYMAP.c #include here:
-
-
-// * YOUR KEYMAP *
-// # if defined(BASE_YOUR_KEYMAP__DEF_BASE) || defined(BASE_YOUR_KEYMAP__ALT_BASE)
-// # include "./base_YOUR_KEYMAP.c" // Your Keymap.
-// # endif
-
-// If your keymap also has a ./base_YOUR_KEYMAP.h configuration/header file, #include it in ./user_config.h
-// Look for similar inclusions of base header files, similar to the #includes here.
-// You should be able to just copy what you did here, and only change “.c†into “.hâ€.
-
-// // ⬆
-
-
- // See the ./bases_*.c file for definition of _DEF_BASE, _DEF_NSY, _ALT_BASE, _ALT_NSY layers, selected in ./user_config.h
-
- /* ⬆⬇ (next layer) */
-
-
-# ifndef BASESFILE_LAYER_MOV // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
- /* Layer _MOV: Movement layer: mouse and hands on navigation
- * Also delete/backspace, to navigate and delete together.
- */
-
- [ _MOV ] = LAYOUT_redefined (
-
-/*
- Layer _MOV (MOVement, mouse movement on right hand)
-
- triangle layout (mouse right hand):
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE PgDn Up PgUp Home Btn3 | xxx WhDn MsUp WhU WhLft Bksp
- LCtl Left Down Right End Btn1 | Btn1 MsLft MsDn MsRht WhRht RCtl
- LSht*- xxx Acc2 Acc1 Acc0 Btn2 | Btn2 Btn3 Btn4 Btn5 xxx RSht //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn LGUI RAlt
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-
- triangle layout, 'arrow' additional hardware key, with arrow cluster (difference marked _):
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE PgDn Up PgUp Home Btn3 | xxx WhDn MsUp WhU WhLft Bksp
- LCtl Left Down Right End Btn1 | Btn1 MsLft MsDn MsRht WhRht RCtl
- LSht*- xxx Acc2 Acc1 Acc0 Btn2 | Btn2 Btn3 Btn4 Btn5 _Up_ RSht //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn _Left__Down__Right_
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- …
-
- triangle layout, 'arrow' additional hardware key, with arrow cluster and navigation keys:
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE PgDn Up PgUp Home _Btn4_ | xxx WhDn MsUp WhU WhLft Bksp
- LCtl Left Down Right End Btn1 | Btn1 MsLft MsDn MsRht WhRht RCtl
- LSht*- xxx Acc2 Acc1 Acc0 _Btn5_ | Btn2 Btn3 _Home__PgUp_ _Up_ _PgDn_ //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _End_ _Left__Down__Right_
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- …
-
-
- flat layout (mouse movement on left hand):
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE WLft WDn WUp WRht xxx | Btn3 PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx | Btn2 Acc0 Acc1 Acc2 xxx RSht //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn LGUI RAlt
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- …
-
- flat layout, 'arrow' additional hardware key, with arrow cluster (difference marked _)
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE WLft WDn WUp WRht xxx | Btn3 PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx | Btn2 Acc0 Acc1 Acc2 xxx RSht //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _Up_ _Down__Right_
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- …
-
- flat layout, 'arrow' additional hardware key, with arrow cluster and additional navigation keys:
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE WLft WDn WUp WRht xxx |_Acc2_ PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx |_Acc1_ Acc0 _PgUp__Home__End_ _PgDn_ //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _Up_ _Down__Right_
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- …
-
- flat layout, 'arrow' additional hardware key, with arrow cluster, additional navigation keys, vi(1) layout:
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*- //(toggle) on _FUN
- BASE WLft WDn WUp WRht xxx |_Acc2_ PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Left Down Up Right Btn1 RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx |_Acc1_ Acc0 _PgUp__Home__End_ _PgDn_ //(toggle) on BASE
- ----------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _Down__Up_ _Right_
- -*-<|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- …
- */
-
- /* Inner default navigation/mouse layout. 11 means row 1, column 1, etc.
- * Configured for arrows on the right, mouse on the left (BTN* on the left side, that is).
- */
-
-# ifndef ARROWS_TRIANGLE
-# define NAVI_11 KC_BTN3 // NAVI for 'navigation cluster', 11 for row 1, column 1, etc.
-# define NAVI_12 KC_PGUP
-# define NAVI_13 KC_HOME
-# define NAVI_14 KC_END
-# define NAVI_15 KC_PGDN
-# define NAVI_21 KC_BTN1
-# define NAVI_22 KC_LEFT
-# define NAVI_23 KC_UP
-# define NAVI_24 KC_DOWN
-# define NAVI_25 KC_RIGHT
-# define NAVI_31 KC_BTN2
-# define NAVI_32 KC_ACL0
-# define NAVI_33 KC_ACL1
-# define NAVI_34 KC_ACL2
-# define NAVI_35 XXXXXXX
- //-----------------------------------------------------------------------------------
- // Configured for left handed mouse, with xxx,BTN* on the right most column.
-# define MOUS_11 KC_WH_L // MOUS for mouse, etc.
-# define MOUS_12 KC_WH_D
-# define MOUS_13 KC_WH_U
-# define MOUS_14 KC_WH_R
-# define MOUS_15 XXXXXXX
-# define MOUS_21 KC_MS_L
-# define MOUS_22 KC_MS_D
-# define MOUS_23 KC_MS_U
-# define MOUS_24 KC_MS_R
-# define MOUS_25 KC_BTN1
-# define MOUS_31 KC_BTN5
-# define MOUS_32 KC_BTN4
-# define MOUS_33 KC_BTN3
-# define MOUS_34 KC_BTN2
-# define MOUS_35 XXXXXXX
-# endif
-
-// Alternative navigation/mouse layout: arrows in triangle, and left hand on the left 'wasd' location.
-// If you want these arrows on the right hand, you may want to edit this, to put right most column left, etc.
-
-# ifdef ARROWS_TRIANGLE
-# define NAVI_11 KC_PGDN
-# define NAVI_12 KC_UP
-# define NAVI_13 KC_PGUP
-# define NAVI_14 KC_HOME
-# define NAVI_15 KC_BTN3
-# define NAVI_21 KC_LEFT
-# define NAVI_22 KC_DOWN
-# define NAVI_23 KC_RIGHT
-# define NAVI_24 KC_END
-# define NAVI_25 KC_BTN1
-# define NAVI_31 XXXXXXX
-# define NAVI_32 KC_ACL2
-# define NAVI_33 KC_ACL1
-# define NAVI_34 KC_ACL0
-# define NAVI_35 KC_BTN2
- //------------------------------------------------------------------------------------
- // If switching hands to put mouse left, same as for navigation side: switch outer columns by editing here.
-# define MOUS_11 XXXXXXX
-# define MOUS_12 KC_WH_D
-# define MOUS_13 KC_MS_U
-# define MOUS_14 KC_WH_U
-# define MOUS_15 KC_WH_L
-# define MOUS_21 KC_BTN1
-# define MOUS_22 KC_MS_L
-# define MOUS_23 KC_MS_D
-# define MOUS_24 KC_MS_R
-# define MOUS_25 KC_WH_R
-# define MOUS_31 KC_BTN2
-# define MOUS_32 KC_BTN3
-# define MOUS_33 KC_BTN4
-# define MOUS_34 KC_BTN5
-# define MOUS_35 XXXXXXX
-# endif
-
-// Default left/right layout, meaning arrows right and mouse left.
-# ifndef ARROWS_LEFT
-# define LEFT_AA MOUS_11
-# define LEFT_AB MOUS_12
-# define LEFT_AC MOUS_13
-# define LEFT_AD MOUS_14
-# define LEFT_AE MOUS_15
-# define LEFT_BA MOUS_21
-# define LEFT_BB MOUS_22
-# define LEFT_BC MOUS_23
-# define LEFT_BD MOUS_24
-# define LEFT_BE MOUS_25
-# define LEFT_CA MOUS_31
-# define LEFT_CB MOUS_32
-# define LEFT_CC MOUS_33
-# define LEFT_CD MOUS_34
-# define LEFT_CE MOUS_35
-# define RGHT_AA NAVI_11
-# define RGHT_AB NAVI_12
-# define RGHT_AC NAVI_13
-# define RGHT_AD NAVI_14
-# define RGHT_AE NAVI_15
-# define RGHT_BA NAVI_21
-# define RGHT_BB NAVI_22
-# define RGHT_BC NAVI_23
-# define RGHT_BD NAVI_24
-# define RGHT_BE NAVI_25
-# define RGHT_CA NAVI_31
-# define RGHT_CB NAVI_32
-# define RGHT_CC NAVI_33
-# define RGHT_CD NAVI_34
-# define RGHT_CE NAVI_35
-# endif
-
-# ifdef ARROWS_LEFT
-# define LEFT_AA NAVI_11
-# define LEFT_AB NAVI_12
-# define LEFT_AC NAVI_13
-# define LEFT_AD NAVI_14
-# define LEFT_AE NAVI_15
-# define LEFT_BA NAVI_21
-# define LEFT_BB NAVI_22
-# define LEFT_BC NAVI_23
-# define LEFT_BD NAVI_24
-# define LEFT_BE NAVI_25
-# define LEFT_CA NAVI_31
-# define LEFT_CB NAVI_32
-# define LEFT_CC NAVI_33
-# define LEFT_CD NAVI_34
-# define LEFT_CE NAVI_35
-# define RGHT_AA MOUS_11
-# define RGHT_AB MOUS_12
-# define RGHT_AC MOUS_13
-# define RGHT_AD MOUS_14
-# define RGHT_AE MOUS_15
-# define RGHT_BA MOUS_21
-# define RGHT_BB MOUS_22
-# define RGHT_BC MOUS_23
-# define RGHT_BD MOUS_24
-# define RGHT_BE MOUS_25
-# define RGHT_CA MOUS_31
-# define RGHT_CB MOUS_32
-# define RGHT_CC MOUS_33
-# define RGHT_CD MOUS_34
-# define RGHT_CE MOUS_35
-# endif
-
-/* Definition of the additional arrow cluster with optional navigation keys, for the 'arrow' hardware layout.
- *
- * By default what becomes the up-arrow (row 2, 2nd key from right) is a no-action key on this layer,
- * which can be displaced without worry.
- * Keys that are displaced for the larger arrow cluster with navigation keys, get moved to the second definition
- * of KC_BTN2 and KC_BTN3, which is on the non-mouse hand.
- *
- * Only the version where the triangle arrows are defined for the left hand, or the version where the flat line
- * arrows are defined for the right hand, are supported.
- *
- * There are several configurations, worked down in order to keep this mess under control.
- *
- * v----------------------not-defined-------------v----------------v
- * !MOREKEY2_ARROW_CLUSTER !MOREKEY2_ADD_NAVIGATION !ARROWS_TRIANGLE !ARROWS_LEFT
- * defined MOREKEY2_ARROW_CLUSTER ...................... yes yes yes
- * defined MOREKEY2_ADD_NAVIGATION yes ....................... yes only for flat arrows
- * defined ARROWS_TRIANGLE yes yes ............... no
- * defined ARROWS_LEFT yes only for triangle yes ...........
- * MOREKEY2_ARROW_CLUSTER MOREKEY2_ADD_NAVIGATION ARROWS_TRIANGLE ARROWS_LEFT
- * ^--------------------------defined-------------^----------------^
- *
- * Definition order:
- * 0 no arrow cluster (and therefore no additional navigation keys either)
- * 1 triangle arrows with arrow cluster
- * 2 '' '' + additional navigation and repositioning displaced keys
- * 3 flat arrows with arrow cluster
- * 4 '' '' + additional navigation and repositioning displaced keys
- */
-
- /* 0 (Nothing special, just the default keys)*/
-
-// Default layout without arrow cluster. (With a little imagination you can visualize the keyboard.)
-# if !defined(MOREKEY2_ARROW_CLUSTER)
-// Default
-# define _MOV_KEY_ROW2_KEY1 KC_RSFT
-# define _MOV_KEY_ROW2_KEY2 RGHT_CE // Key counting from the right to the left.
-# define _MOV_KEY_ROW2_KEY3 RGHT_CD
-# define _MOV_KEY_ROW2_KEY4 RGHT_CC
-// ------------------------------------------
-# define _MOV_KEY_ROW1_KEY1 KC_RALT // ''
-# define _MOV_KEY_ROW1_KEY2 MORE_key2 // ''
-# define _MOV_KEY_ROW1_KEY3 KC__YGUI // '' (etc)
-# define _MOV_KEY_ROW1_KEY4 KC_PGDN
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1> // ± is the additional hardware key
-# endif
-
- /* 1 (triangle arrows with arrow cluster) */
-
-// Patch in the arrows for arrow triangle layout
-# if defined(MOREKEY2_ARROW_CLUSTER) && defined(ARROWS_TRIANGLE)
-// Arrow cluster
-# define _MOV_KEY_ROW2_KEY2 KC_UP
-// ------------------------------------------
-# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
-# define _MOV_KEY_ROW1_KEY2 KC_DOWN
-# define _MOV_KEY_ROW1_KEY3 KC_LEFT
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-// The default layout around the arrows
-# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE)
-// Default keys
-# define _MOV_KEY_ROW2_KEY1 KC_RSFT
-# define _MOV_KEY_ROW2_KEY3 RGHT_CD
-# define _MOV_KEY_ROW2_KEY4 RGHT_CC
-// ------------------------------------------
-# define _MOV_KEY_ROW1_KEY4 KC_PGDN
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
- /* 2 ( '' '' + additional navigation and repositioning displaced keys) */
-
-// Patch in the navigation keys for the arrow in triangle layout.
-# if defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE) // Navigation additional keys (arrows implied).
-# define _MOV_KEY_ROW2_KEY1 KC_PGDN
-# define _MOV_KEY_ROW2_KEY3 KC_PGUP
-# define _MOV_KEY_ROW2_KEY4 KC_HOME
-// ------------------------------------------
-# define _MOV_KEY_ROW1_KEY4 KC_END
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-// We have now overwritten the positions of RGHT_CC and RGHT_CD, which could be useful keys.
-// You don't want to mess with BTN1 on the other hand, because it needs to select together with mouse moving in many applications.
-# if defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE) && defined(ARROWS_LEFT) // ARROWS_LEFT because the wider map is edited
-//
-// ... spelling this out to keep brain for exploding:
-// Overwritten (copied from above):
-// #define RGHT_CC MOUS_33
-// #define MOUS_33 KC_BTN4
-// #define RGHT_CD MOUS_34
-// #define MOUS_34 KC_BTN5
-// 'BTN4' and 'BTN5' are overwritten.
-// Where are KC_BTN2 and KC_BTN3 on the non-mouse hand:
-// #define NAVI_15 KC_BTN3
-// #define LEFT_AE NAVI_15
-// #define NAVI_35 KC_BTN2
-// #define LEFT_CE NAVI_35
-// 'LEFT_AE' and 'LEFT_CE' provide room.
-//
-# undef LEFT_AE
-# define LEFT_AE KC_BTN4
-# undef LEFT_CE
-# define LEFT_CE KC_BTN5
-# endif
-
- /* 3 (flat arrows with arrow cluster) */
-
-# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(ARROWS_TRIANGLE)
-// arrow cluster
-# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
-# define _MOV_KEY_ROW1_KEY2 KC_DOWN
-# define _MOV_KEY_ROW1_KEY3 KC_UP
-# define _MOV_KEY_ROW1_KEY4 KC_LEFT
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-// The default layout around the arrows
-# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE)
-// Default
-# define _MOV_KEY_ROW2_KEY1 KC_RSFT
-# define _MOV_KEY_ROW2_KEY2 RGHT_CE // Key counting from the right to the left.
-# define _MOV_KEY_ROW2_KEY3 RGHT_CD
-# define _MOV_KEY_ROW2_KEY4 RGHT_CC
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-
- /* 4 ( '' '' + additional navigation and repositioning displaced keys) */
-
-// The definitions for the additional navigation keys (HOME, etc)
-# if defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE)
-// Additional navigation keys: flat
-# define _MOV_KEY_ROW2_KEY1 KC_PGDN
-# define _MOV_KEY_ROW2_KEY2 KC_END
-# define _MOV_KEY_ROW2_KEY3 KC_HOME
-# define _MOV_KEY_ROW2_KEY4 KC_PGUP
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-// Replace the overwritten key positions:
-# if defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE) && !defined(ARROWS_LEFT) // !ARROWS_LEFT because the wider map is edited
-//
-// Overwritten (copied from above):
-// #define RGHT_CC NAVI_33
-// #define NAVI_33 KC_ACL1
-// #define RGHT_CD NAVI_34
-// #define NAVI_34 KC_ACL2
-// 'KC_ACL1' and 'KC_ACL2' are overwritten.
-// Where are BTN2 and BTN3 on the non-mouse hand:
-// #define NAVI_11 KC_BTN3
-// #define RGHT_AA NAVI_11
-// #define NAVI_31 KC_BTN2
-// #define RGHT_CA NAVI_31
-// 'RGHT_AA' and 'RGHT_CA' provide room.
-// It seems best to count the acceleration keys from right to left/up on the keyboard.
-//
-# undef RGHT_AA
-# define RGHT_AA KC_ACL2
-# undef RGHT_CA
-# define RGHT_CA KC_ACL1
-# endif
-
-// Changes the home row on the right hand to become HJKL (as in Qwerty) vi(1) arrow keys,
-// and causes the arrow block to move one key to the left. The key lost on the left is
-// put back on the other end (pinky).
-// Row 3
-# if defined(VI_SWITCHERYDOO) && !defined(ARROWS_TRIANGLE) // For all hardware variants
-// |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// <|,> , , , , , ,
-# undef RGHT_BA
-# define RGHT_BA KC_LEFT
-# undef RGHT_BB
-# define RGHT_BB KC_DOWN
-# undef RGHT_BC
-# define RGHT_BC KC_UP
-# undef RGHT_BD
-# define RGHT_BD KC_RIGHT
-# undef RGHT_BE
-# define RGHT_BE KC_BTN1
-# endif
-// Row 1
-# if defined(VI_SWITCHERYDOO) && !defined(ARROWS_TRIANGLE) && defined(MOREKEY2_ARROW_CLUSTER) // Only for 'arrow' hardware
-// arrow cluster
-# undef _MOV_KEY_ROW1_KEY1
-# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
-# undef _MOV_KEY_ROW1_KEY2
-# define _MOV_KEY_ROW1_KEY2 KC_UP
-# undef _MOV_KEY_ROW1_KEY3
-# define _MOV_KEY_ROW1_KEY3 KC_DOWN
-# undef _MOV_KEY_ROW1_KEY4
-# define _MOV_KEY_ROW1_KEY4 KC_LEFT
-// <|,> , , , ,
-// |, 4> , 3> , 2> , ± , 1>
-# endif
-
-// (If you want to alter something in detail just for your keyboard, it is probably smart to just write in the keycodes (like KC_PGUP) in the final definitions here below.)
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , -*- , , <|,> , , , , , ,
- CTO_BASE , LEFT_AA , LEFT_AB , LEFT_AC , LEFT_AD , LEFT_AE , RGHT_AA , RGHT_AB , RGHT_AC , RGHT_AD , RGHT_AE , KC_BSPC ,
- KC_LCTL , LEFT_BA , LEFT_BB , LEFT_BC , LEFT_BD , LEFT_BE , RGHT_BA , RGHT_BB , RGHT_BC , RGHT_BD , RGHT_BE , KC_RCTL ,
- KC_LSFT , LEFT_CA , LEFT_CB , LEFT_CC , LEFT_CD , LEFT_CE , RGHT_CA , RGHT_CB , _MOV_KEY_ROW2_KEY4 , _MOV_KEY_ROW2_KEY3 , _MOV_KEY_ROW2_KEY2 , _MOV_KEY_ROW2_KEY1 ,
-// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , KC_ENT
-
-# ifndef SPACE_LEFT__ENTER_RIGHT // standard, layer switch on Base
- , _______
-# else // reversed
- , KC_PGUP
-# endif
-
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
-
-# ifndef SPACE_LEFT__ENTER_RIGHT // standard
- , KC_PGUP
-# else // reversed, layer switch on Base
- , _______
-# endif
-
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
- , _MOV_KEY_ROW1_KEY4 , _MOV_KEY_ROW1_KEY3
-
-# ifdef MORE_KEY__ARROW
- , _MOV_KEY_ROW1_KEY2
-# endif
- , _MOV_KEY_ROW1_KEY1
-// , , , -*- <|,> , , ,
-// <1 ±± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_MOV
-
- /* ⬆⬇ */
-
-# ifndef BASESFILE_LAYER_RAR // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
- /* Layer _RAR: Various special keys.
- * - The key which switches between Default and Alternate base layer.
- * - Power keys
- * The power keys have to be pressed with Shift, as a safety guard.
- * Without shift they write their name, as if someone typed it.
- * - Media keys
- * - Brightness for screen keys (depends on computer system if it works)
- * - Leds of keyboard on/off
- * - Unicode input mode
- * ☑ precedes the Unicode input modes, as memory aid and tester
- * Note that ☑ has no letters in its Unicode, but press with Shift for 🗹
- * which does. This matters when testing ‛descramble’ Dvorak mode.
- * - Capslock is on its normal position
- * - Insert
- * - APP (whatever it is) fakes being next to right GUI (though other layer).
- * - The traditional obsolete button like ScrLk/PrtSc are also included, in
- * case some program needs them.
- * - Speed measuring
- * - Text size measuring
- * - Some unused spots remaining.
- */
-
- [ _RAR ] = LAYOUT_redefined (
-
-/*
- _RAR (RARe keys. Power keys, Unicode mode, Alternate BASE, Media, Brightness, Speed, leds, …)
-
- <pink2<pinky <ring <middl <indexx<indx2| indx2>index>middl>ring> pinky> pink2>
- <|> -*- //(toggle) on _FUN
- BASE Cnt/Mx Cnull CWmin CRprt Speed | SRprt Play Next Prev Stop RSht(•)
- CapsL Power• Wake• Sleep• Pause• ScrLk | PrtSc xxx Vol+ Vol- Mute Insert // • requires Shift
- ☑ uLNX uBSD uOSX uWIN uWNC | xxx xxx Bri+ Bri- xxx APP // Ü(nicode) tester
- ----------------------------------------------------------------------------
- SLed MLeds RGUI xxx | !Alter xxx LGUI ___ // Middle-led, Side-leds, ! 'alternate'
- <|> -*- // (Hold) on BASE
- <1 ± <2 ± <3 <4 | 4> 3> 2> ± 1>
- … …
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , -*- , <|,> , , , , , ,
- CTO_BASE , COUNT_TOG , COUNT_NULL , COUNT_WORDMIN , COUNT_REPORT , SPEED_TOG , SPEED_REPORT , KC_MPLY , KC_MNXT , KC_MPRV , KC_MSTP , KC_RSFT ,
- KC_CAPS , C_KC_PWR , C_KC_WAKE , C_KC_SLEP , C_KC_PAUS , KC_SCRL , KC_PSCR , XXXXXXX , KC_VOLU , KC_VOLD , KC_MUTE , KC_INS ,
- XP_DRA_CG , UC_LINX , UC_BSD , UC_MAC , UC_WIN , UC_WINC , XXXXXXX , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP ,
-// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- LEDS_ON
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
-# ifdef LEDS_OFF_BASE_DEF // This messes with led effect on/off, so we need to track the state of this setting now.
- , RGBTOG_
-# else // Here we don't mess with led effect on/off, so we can use QMK key blindly.
- , RGB_TOG
-# endif
- , KC__XGUI , XXXXXXX
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , OTHER_BASE , XXXXXXX
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
- , KC__YGUI
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
- , _______
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_RAR
-
- /* ⬆⬇ */
-
-# ifndef REMOVE_PAD // This removes all references to _PAD in the code, therefore is not functionally the same as BASESFILE_LAYER_PAD
-
-# ifndef BASESFILE_LAYER_PAD // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
-# ifndef NUMPAD_COMMON_SQUARE // Use default _PAD layer, where numbers are aligned as they are on _NSY.
- // Conversely, if this is defined, this layer will resembel a numeric keypad.
- // See also base_numpad.c
-
- /* Layer _PAD: Numbers pad, for numbers pad version of numbers (computer programs can see the difference).
- * Number pad navigation will be more or less useless, but there is a repetition of the Numpad
- * keys 4,2,8,6 row 4 for arrows, and 3,1,7,9 row 2 for navigation, to make it a little easier to find.
- */
-
- [ _PAD ] = LAYOUT_redefined (
-
-/*
- Layer _PAD Numbers Pad (special symbol versions; regular '1' is not the same as this numpad '1', etc)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE xxx xxx .DEL 4LEFT 2DOWN | 8UP 6RGHT * xxx xxx Bksp
- LCtl 1END 2DOWN 3PGDN 4LEFT 5 | 6RGHT 7HOME 8UP 9PGUP 0INS -
- LSht xxx xxx / xxx = | + 3PGDN 1END 7HOME 9PGUP RSht
- -*---------------------------------------------------------------------------- //-*- toggle on BASE
- LAlt Del Tab ENT | NUML xxx LGUI RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-
- */
-
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , -*- <|,> , , , , , ,
- CTO_BASE , XXXXXXX , XXXXXXX , KC_KP_DOT , KC_KP_4 , KC_KP_2 , KC_KP_8 , KC_KP_6 , KC_KP_ASTERISK , XXXXXXX , XXXXXXX , KC_BSPC ,
- KC_LCTL , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_0 , KC_KP_MINUS ,
- KC_LSFT , XXXXXXX , XXXXXXX , KC_KP_SLASH , XXXXXXX , KC_KP_EQUAL , KC_KP_PLUS , KC_KP_3 , KC_KP_1 , KC_KP_7 , KC_KP_9 , KC_RSFT ,
-// ----------------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , _______ // On Base layers this key typically defaults to MO ( _PAD )
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , KC_TAB , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_NUM , XXXXXXX , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# else // NUMPAD_COMMON_SQUARE
-
- [ _PAD ] = LAYOUT_redefined (
-
-/*
-
- * Layer _PAD: Option for a different _PAD layer in the common layers system.
- * This variety resembles the square layout of a numerical keyboard.
- * It is different from one of the Numpad Base layer compile options, in that
- * it only has a number pad for the right hand. It is also different in featuring
- * modifiers, and the overall layout is sligthly different (Enter, = symbol).
- *
- * ‛Tab’ on key 3 left hand is the same as the other _PAD layer option (with the
- * numbers in a line, equal to the _NSY layer), to retain the same ability to
- * type Control-Tab. It seems better to have RAlt in its usual place, Enter in
- * its usual place, than to strictly follow a standard numeric keyboard layout
- * (which puts Enter somewhere on the right, row 1). It seems easy enough to
- * type Enter on this key as well, even with the right hand. Numlock is also
- * in its usual place. Note that ‛Del’ on the left, row 1, is not a numbers pad
- * Delete/Dot key, but standard Delete, also in the usual place.
- *
- * This is probably the better one of the square layout numpads, unless you have a use
- * for the two hands version. This is also available on ‛Base’ Numpad.
- *
-
- Layer _PAD (Number pad, with NumLock on)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE xxx xxx xxx xxx xxx | = 7 8 9 - Bspc
- LCtl xxx xxx xxx xxx xxx | * 4 5 6 + RCtl
- LSht xxx xxx xxx xxx xxx | / 1 2 3 , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL 0 . RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … | …
-
- Layer _PAD (Number pad, with NumLock off)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
- <|>
- BASE xxx xxx xxx xxx xxx | = Home Up PgUp - Bspc
- LCtl xxx xxx xxx xxx xxx | * Left 5 Right + RCtl
- LSht xxx xxx xxx xxx xxx | / End Down PgDn , RSht
- -------------------------------------------------------------------------
- LAlt Del Tab Ent | NumL Ins Del RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … | …
-
-*/
-
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , -*- <|,> , , , , , ,
- CTO_BASE , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
- KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_RCTL ,
- KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_RSFT ,
-// -----------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , KC_TAB , KC_KP_ENTER
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_NUM , KC_KP_0
-
-// See comment in ./base_numpad.c on the first layout (double handed Base layer), about the next few keys:
-// This layer follows that layout Base Numpad.
-// ---⬇
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- //, MORE_key2
- , KC__YGUI
-# endif
-// ---⬆
- , KC_KP_DOT
-
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
-
- ),
-
-
-# endif // NUMPAD_COMMON_SQUARE
-
-# endif // BASESFILE_LAYER_PAD
-
-# endif // REMOVE_PAD
-
- /* ⬆⬇ */
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
-
-# ifndef BASESFILE_LAYER_ACC // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
- /* Layer _ACC: Accented and other unusual characters. It seems this would
- * cover Dutch, German, French, Scandinavia, Italy and Spain.
- * It should helps with remembering what keys are where, if one
- * knows the logic behind it (however flawed it might be).
- * This layer has the uncluttered Tab key (whoohoo!).
- *
- * The logic is ... Versions of the vowels with accents are
- * widened vertically on the board, from their
- * normal position.
- * Grave is a line going up, thus on upper row. é
- * Acute is a line going down, thus on lower row. è
- * Diaereses is dots going horizontal, thus middle. ë
- * Diareses is umlaut which is most frequent if
- * including German, thus home row. ë
- * There is no room for Caret on the left, thus it is
- * on the right, following same-finger logic (O
- * is ring finger, etc).
- * Caret is on the lower row to make room for versions
- * of 'n' and 'c' near their normal position.
- * There is no room for ÿŸ on the normal y, because
- * íà is on it, which is more important, and to
- * keep the logic of that block, therefore it is
- * as close to it as can be.
- * øØ and åÅ follow the same-finger logic (a is left
- * hand pinky, etc), and are on remaining spots.
- * œŒ and æÆ are also no remaining spots, both close
- * to êÊ for the e in there, the œŒ being further
- * to the left to follow the same finger logic on
- * that right hand side: a on the right, o on the left.
- * ¡ and ¿ had no more room on this layer, therefore,
- * and because they are unusual, they are on the
- * _DRA(wings) layer. They are located under the keys
- * that also have ! and ?, respectively.
- *
- */
-
- [ _ACC ] = LAYOUT_redefined (
-
-/*
- Layer _ACC (ACCented characters, see _RAR layer for input modes)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE áà óÓ éÉ úÚ íà | ýà ijIJ çÇ øØ åÅ Bksp
- RCTL(Tab) äÄ öÖ ëË üÜ ïà | ÿŸ œŒ æÆ ñÑ ß μ
- LSht àÀ òÒ èÈ ùÙ ìÌ | îÎ ûÛ êÊ ôÔ â RSht
- ----------------------------------------------------------------------------
- LAlt ___ ___ Ent | Spc ___ ___ RAlt
- -*- <|> //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , <|,>-*- , , , , , ,
- CTO_BASE , XP_ACC_AA , XP_ACC_AB , XP_ACC_AC , XP_ACC_AD , XP_ACC_AE , XP_ACC_AF , XP_ACC_AG , XP_ACC_AH , XP_ACC_AI , XP_ACC_AJ , KC_BSPC ,
- LCTL ( KC_TAB ) , XP_ACC_BA , XP_ACC_BB , XP_ACC_BC , XP_ACC_BD , XP_ACC_BE , XP_ACC_BF , XP_ACC_BG , XP_ACC_BH , XP_ACC_BI , XP_ACC_BJ , XP_ACC_BK ,
- KC_LSFT , XP_ACC_CA , XP_ACC_CB , XP_ACC_CC , XP_ACC_CD , XP_ACC_CE , XP_ACC_CF , XP_ACC_CG , XP_ACC_CH , XP_ACC_CI , XP_ACC_CJ , KC_RSFT ,
-// ----------------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_SPC , _______ , _______
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , KC_RALT
-// , -*- , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_ACC
-
-# endif // REMOVE_ACC
-
- /* ⬆⬇ */
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
-
-# ifndef BASESFILE_LAYER_DRA // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
- /* Layer _DRA: Drawings, like various Unicode symbols.
- *
- */
-
- [ _DRA ] = LAYOUT_redefined (
-
-/*
- Layer _DRA (DRAwings, whatever else (rendering width varies in different applications))
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE “„ â€â‰¤ £≥ ∅ ¢ ±ƒ | â¦â™¥ 🙂🙠ðŸ‘👎 â½â‚ â¾â‚Ž Bksp
- Tab ¹₠²₂ ³₃ â´â‚„ âµâ‚… | â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€ RCTL
- LSht 「┠ã€â”€ °〇 •§ …· | ⮘⮙ ⮚⮛ ¿¡ 《┄ 》┅ RSht
- -------------------------------------------------------------------------
- LAlt ___ ___ Ent | Spc ___ ___ RAlt
- -*- <|> -*- //(hold) on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , <|,> , -*- , , , , ,
- CTO_BASE , XP_DRA_AA , XP_DRA_AB , XP_DRA_AC , XP_DRA_AD , XP_DRA_AE , XP_DRA_AF , XP_DRA_AG , XP_DRA_AH , XP_DRA_AI , XP_DRA_AJ , KC_BSPC ,
- KC_TAB , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , XP_DRA_BJ , KC_RCTL ,
- KC_LSFT , XP_DRA_CA , XP_DRA_CB , XP_DRA_CC , XP_DRA_CD , XP_DRA_CE , XP_DRA_CF , XP_DRA_CG , XP_DRA_CH , XP_DRA_CI , XP_DRA_CJ , KC_RSFT ,
-// --------------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_SPC , _______ , _______
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_RAR
-
-# endif // REMOVE_DRA
-
- /* ⬆⬇ */
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
-
-# ifndef BASESFILE_LAYER_BON // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
-/*
- * Bonus layer: Enumeration numbers, some general purpose / mathematical symbols
- * ⻠is an exponential minus sign (the center-dot · can be used in exponents too)
- * × is multiplication
- * ‰ is promille, ‱ is pro-tenthousandth
- *
- */
-
- [ _BON ] = LAYOUT_redefined (
-
-/*
- Layer _BON (Bonus layer, a variety of more stuffs.)
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|>
- BASE ‛ 🛠 ’ ⬆ ¤ 🄯 ∑ © ‰ ‱ | ★ ٭ 😊 ⨠× ⃰ √ ⻠⺠Bksp
- `~ ① ⬅ ② ⬇ ③ ➡ ④ ┠⑤ ┓ | ⑥ ┃ ⑦ ┇ ⑧ ╋ ⑨ ⓪ ∞ — ≈ // — is a dash (larger), not hyphen
- LSht ‹ › ÷ ☞ ┗ ≠ ┛ | ✗ ┣ ✓ ┫ ⚠ « » RSht
- -------------------------------------------------------------------------
- Left ___ ___ Ent | Spc ___ ___ Right
- -*- -*- <|> -*- // Activation on BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , <|,> , , , , , ,
- CTO_BASE , XP_BON_AA , XP_BON_AB , XP_BON_AC , XP_BON_AD , XP_BON_AE , XP_BON_AF , XP_BON_AG , XP_BON_AH , XP_BON_AI , XP_BON_AJ , KC_BSPC ,
- KC_GRV , XP_BON_BA , XP_BON_BB , XP_BON_BC , XP_BON_BD , XP_BON_BE , XP_BON_BF , XP_BON_BG , XP_BON_BH , XP_BON_BI , XP_BON_BJ , XP_BON_BK ,
- KC_LSFT , XP_BON_CA , XP_BON_CB , XP_BON_CC , XP_BON_CD , XP_BON_CE , XP_BON_CF , XP_BON_CG , XP_BON_CH , XP_BON_CI , XP_BON_CJ , KC_RSFT ,
-// -------------------------------------------------------------------------------------------------------------------------------------------------
- KC_LEFT
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , _______ , _______ , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_SPC , _______ , _______
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
- , KC_RIGHT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_BON
-
-# endif // REMOVE_BON
-
- /* ⬆⬇ */
-
-# ifndef BASESFILE_LAYER_FUN // Use a definition of this layer in the ./bases_* file, where this #define can be defined.
-
- /* Layer _FUN: Function keys until F20. Some combo modifiers control/alt/shift
- * Toward any layer by toggle. Layer can be set to return to BASE after one F-key press (FUN<, row 1)
- */
-
- [ _FUN ] = LAYOUT_redefined (
-
-/*
- Layer _FUN (F-keys, Layer access, Set BASE key direction)
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- toggl toggl set toggl toggl toggl | toggl toggl // Type of layer switch
- <|>
- BASE: NUMS: _PAD _ACC _DRA _BON | _MOV _RAR xxx xxx xxx Bksp //':' are dynamic ...
- LCtl F1 F2 F3 F4 F5 | F6 F7 F8 F9 F10 RCtl
- LSht F11 F12 F13 F14 F15 | F16 F17 F18 F19 F20 RSht
- ----------------------------------------------------------------------*-- //-*- toggle on BASE
- LAlt LCtl& LCtl& LSht& | FUN< +LCtl&LSht LGUI RAlt //... < toggle 'stay'
- LSht LAlt LAlt | &LAlt
- +xxx +xxx +xxx | +xxx
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
- */
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , -*- , , , <|,> , , , , , ,
- CTO_BASE , CTO_NUMS , TO ( _PAD ) , CTO_ACCE , CTO_DRAW , TO ( _BON ), TO ( _MOV ) , TO ( _RAR ) , XXXXXXX , XXXXXXX , XXXXXXX , KC_BSPC ,
- KC_LCTL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL ,
- KC_LSFT , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_RSFT ,
-// ------------------------------------------------------------------------------------------------------------------------------------------
- KC_LALT
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , MT ( MOD_LCTL | MOD_LSFT, XXXXXXX ) , MT ( MOD_LCTL | MOD_LALT , XXXXXXX ) , MT ( MOD_LSFT | MOD_LALT , XXXXXXX )
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , _FUN_STAY , MT ( MOD_LCTL | MOD_LSFT | MOD_LALT , XXXXXXX ) , KC__YGUI
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , _______ // On Base layers this key typically defaults to MO ( _FUN )
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
- , KC_RALT
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-
-# endif // BASESFILE_LAYER_FUN
-
- /* ⬆ */
-
-
-/*
- * New layer template. Includes left/right movement arrows, deletion, modifiers.
- * If you want a new layer, in the logic of this layout you would add a toggle on the
- * _FUN layer top row on the first free key to it, and optionally alter the hold
- * layer switch keys on the base layers. (Check if a new layer will fit on the chip.)
- *
- [ _??? ] = LAYOUT_redefined (
-
-// <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
-// <|>
-// BASE xxx xxx xxx xxx xxx | xxx xxx xxx xxx xxx Bksp
-// LCtl xxx xxx xxx xxx xxx | xxx xxx xxx xxx xxx RCtl
-// LSht xxx xxx xxx xxx xxx | xxx xxx xxx xxx xxx RSht
-// -------------------------------------------------------------------------
-// LAlt+Left Del ___ Ent | Spc ___ ___ RAlt+Right
-// <|>
-// <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
-// … …
-//
-//
-// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
-// , , , , , <|,> , , , , , ,
- CTO_BASE , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_BSPC ,
- KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_RCTL ,
- KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_RSFT ,
-// ------------------------------------------------------------------------------------------------------------------------
- LALT_T ( KC_LEFT )
-
-# ifdef TRANSMINIVAN_LEFTSIDE
- , TRANS_LEFT
-# endif
-
-# ifdef MORE_KEY__COMMAND
- , MORE_key1
-# endif
-
- , KC_DEL , XXXXXXX , KC_ENT
-
-# ifdef TRANSMINIVAN_MIDLEFT
- , TRANS_MIDLEFT
-# endif
-
- , KC_SPC , XXXXXXX , XXXXXXX
-
-# ifdef TRANSMINIVAN_RIGHTSIDE
- , TRANS_RIGHT
-# endif
-
-# ifdef MORE_KEY__ARROW
- , MORE_key2
-# endif
-
- , RALT_T ( KC_RIGHT )
-// , , , <|,> , , ,
-// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
-
- ),
-*/
-
-};
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
deleted file mode 100644
index 932acf2a82..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-* © 2020,2021 by Jos Boersema
- */
-
-#pragma once
-
-/*
- * If MINIFAN_CONFIG_COMPACT in ./user_config.h ⬇
- */
-
-//#define BASE_QWERTY__DEF_BASE
-//#define BASE_QWERTY__ALT_BASE
-//#define BASE_QWERTY_BASEARROW__DEF_BASE // âž¡ base_qwerty_basearrow.h
-//#define BASE_QWERTY_BASEARROW__ALT_BASE // âž¡ base_qwerty_basearrow.h
- #define BASE_DVORAK__DEF_BASE
-//#define BASE_DVORAK__ALT_BASE
-//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE
-//#define BASE_COLEMAK__DEF_BASE
-//#define BASE_COLEMAK__ALT_BASE
-//#define BASE_WORKMAN__DEF_BASE
-//#define BASE_WORKMAN__ALT_BASE
-//#define BASE_NUMPAD__ALT_BASE // âž¡ base_numpad.h
-//#define BASE_HEBREW__DEF_BASE // âž¡ base_hebrew.h
- #define BASE_HEBREW__ALT_BASE // âž¡ base_hebrew.h
-
-//#define MINIFAN_SINGLE_LAYOUT
-
-//#define STARTUP_ALTERNATE
-//#define STARTUP_SIDE_LEDS_OFF
-//#define STARTUP_MID_LED_OFF
-//#define STARTUP_SPEED
-//#define STARTUP_COUNT
-
-//#define MORE_KEY__COMMAND
-//#define MORE_KEY__ARROW
-
-//#define TRANSMINIVAN_LAYOUT .......
-//#define TRANSMINIVAN_LEFTSIDE
- #define TRANS_LEFT XXXXXXX
-//#define TRANSMINIVAN_MIDLEFT
- #define TRANS_MIDLEFT XXXXXXX
-//#define TRANSMINIVAN_RIGHTSIDE
- #define TRANS_RIGHT XXXXXXX
-
-//#define MORE_key1_BASE TG ( _RAR )
-//#define MORE_key1_BASE KC_DEL
- #define MORE_key1_BASE KC__XGUI
-//#define MORE_key1 KC_DEL
- #define MORE_key1 KC__XGUI
- #define MOREKEY2_ARROW_CLUSTER
-//#define MOREKEY2_ADD_NAVIGATION
- #define MORE_key2 _MOV_UP
-//#define MORE_key2 KC_DEL
-
- #define ARROWS_TRIANGLE
-//#define VI_SWITCHERYDOO
-
- #define NUMPAD_COMMON_SQUARE
-
- #define SPEED_COUNTDOWN 25
- #define SPEED_HUE_STEP 8
- #define SPEED_HUE_START 160
- #define WORDS_PER_MINUTE
-
-//#define BASE_RIGHT_ALT
-//#define SWITCH_GUIS
-//#define UNICODE_CURRENCY 0x20ac
-//#define POINT_ON_CHECKBOXES
-//#define SWITCH_BASE_ROW1_23
-//#define SWITCH_HOLD_ACC_NSY
- #define SWITCH_LSHIFT_PAD_MOV
- #define SWITCH_RSHIFT_FUN_RAR
-//#define SPACE_LEFT__ENTER_RIGHT
-
-//#define REMOVE_PAD
-//#define REMOVE_ACC
-//#define _ACC_KEY_ALT_LAYER _BON
-//#define _ACC_KEY_ALT_LAYER _DRA
-//#define REMOVE_DRA
-//#define _DRA_KEY_ALT_LAYER _ACC
-//#define _DRA_KEY_ALT_LAYER _BON
-//#define REMOVE_BON
-//#define _BON_KEY_ALT_LAYER _ACC
-//#define _BON_KEY_ALT_LAYER _DRA
-//#define ALL_DRA_BON_EVISCERATIONS
- #define BOX_DRAWINGS
- #define SUB_SCRIPT_NUMS
- #define FULL_DRA_2NDROW
- #define FULL_DRA_4THROW
- #define FULL_BON_4THROW
-
-//#define LEDS_OFF_BASE_DEF
-//#define LEDS_OFF_BASE_ALT
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md
deleted file mode 100644
index a535a6f1f9..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md
+++ /dev/null
@@ -1,1252 +0,0 @@
-# Minivan keyboard layout _Minifan_
-A 40% keyboard made first by TheVan Keyboards
-_https://thevankeyboards.com_ now taken over by TKC
-_https://thekey.company_
-
-![Minivan layout all](http://socialism.nl/misc/minivan/minivan-all-layers-visualization_vd.jpg)
-
-Table of Contents
-=================
-
- 1 Overview
- 1.1 Hardware compatibility
- 1.2 Software compatibility
- 2 'make' example
- 3 Base layouts
- 3.1 Normal layouts
- 3.1.1 Qwerty
- 3.1.2 Qwerty with arrows on Base
- 3.1.3 Dvorak
- 3.1.4 Dvorak²
- 3.1.5 Colemak
- 3.1.6 Workman
- 3.2 Special layouts
- 3.2.1 Numbers pad
- 3.3 Non-Latin languages
- 3.3.1 Hebrew
- 4 The common system
- 4.1 Layer access
- 4.2 Layout in graphics
- 4.3 Layout in text
- 4.4 Movement layer options
- 4.5 Numbers pad layer options
- 5 Led colors for layers
- 6 Compile options
- 7 Language support
- 7.1 Input methods
- 7.2 Unicode symbols
- 8 Speed measuring
- 8.1 Speed Led color compilation assist
- 9 Text size measuring
- 9.1 Text size Usage
- 10 Making your own base layer(s)
- 11 Evisceration
- 12 Key associations
- 12.1 Compared to regular keyboard
- 13 Trouble shooting
- • Compiling
- • Unicode
- • Leds
- • Weird layer jumping
- • Difficult/impossible key combinations ?
- 14 Why you want this layout
- 15 BUGS
- 16 Resources
- 17 Author(s)
-
-1 Overview
-==========
-
-☑ _Intuitive:_ Key placement follows what a 10 finger typist is used
- to on a regular keyboard. Similar keys meanings are on the same
- key in different layers, or the same finger, etc. See also chapter
- 12, _Key associations._ Thumbs control the most used layer access.
-
-☑ _Feature rich:_ Dual layout, with several standard layouts to choose
- from. Expanded character set. Measure typing speed and/or amount of text
- typed. Mouse control, media control, power control, Unicode encoding for
- several platforms. In total there are about 4 times as many key functions
- than on a regular keyboard.
-
-☑ _Configurable:_ Choose between standard layouts (Qwerty, Dvorak, etc);
- additional hardware keys ‛command/south-paw’ and/or ‛arrow’; movement
- layer WASD or flat arrows/mouse; numbers pad similar to regular numbers
- and/or like a regular numbers pad; and other settings. Easy to add your
- own layers. See ![./user_config.h](./user_config.h)
-
-☒ What it does *not* do: work on a computer set to a non-English language,
- such as German or French. (To add such functionality requires some work,
- but it seems it should be possible. See ![./todo.md](./todo.md).)
-
-![Minivan illustration Overview layers](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization_1500_vg.jpg)
-
-By key view:
-
-![Minivan illustration Overview layers by key](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_2000_vi.jpg)
-
-1.1 Hardware compatibility
-==========================
-This keymap functions on _Minivan_ hardware variants with 44, 45 and
-46 keys.
-
-It may be fairly easily ported to 12x12x12x[11|12|13] keyboards.
-
-1.2 Software compatibility
-==========================
-This keymap relies on Unicode, in an attempt to avoid the
-“dead key†system for accented characters on many non-English keyboards.
-You need to have Unicode input working on your computer.
-
-On a Linux computer operating system, this keymap is designed to work
-with this keyboard/language setting:
-
- > setxkbmap -layout us
- > echo $LANG
- `en_US.UTF-8`
-
-If that works for you, you can type the most important characters in
-the western European group of languages, native from the keyboard.
-
-This keymap might not function as expected if you want to use a
-different keyboard language setting in your operating system.
-
-See also chapter 7 _Language support_.
-
-2 'make' example
-================
- … Download the repository, resolve software dependencies etc..
- … To change compile options: edit ./user_config.h (or `./minifan_config_compact.h`)
- > cd […]/qmk_firmware
- > make thevankeyboards/minivan:josjoha
- > su
- # dfu-programmer atmega32u4 erase
- # dfu-programmer atmega32u4 flash thevankeyboards_minivan_josjoha.hex
- # dfu-programmer atmega32u4 start
-
-This “Mini*fan*†layout is explained in several readme files, with
-links to the others files in this readme. The common system is explained
-in this readme.md file. The options for the letters and number/symbol
-layer pairs (two pairs in the dual layout) are explained in their
-separate readme file, see immediately below. Compile options are detailed
-in ![./user_config.h](./user_config.h)
-
-3 Base layouts
-==============
-Layouts are presented here in a sort of simplified key caps view. If a
-base layer pair has its own user configuration options, they are located
-in `./base_NAME.h`.
-
-3.1 Normal layouts
-------------------
-These are layouts for commonly used configurations, such as Qwerty or Dvorak.
-
-3.1.1 Qwerty
-------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_vc.jpg)
-
-For the readme about the Qwerty version, see ➡ ![base_qwerty.md](./base_qwerty.md) ⬅
-
-3.1.2 Qwerty with arrows on Base
---------------------------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_basearrow_ve.jpg)
-
-For the readme about this Qwerty variation, see ➡ ![base_qwerty_basearrow.md](./base_qwerty_basearrow.md) ⬅
-
-3.1.3 Dvorak
--------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_dvorak_vc.jpg)
-
-For the readme about the Dvorak version, see ➡ ![base_dvorak.md](./base_dvorak.md) ⬅
-
-3.1.4 Dvorak²
--------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_dvorak_descramble_vb.jpg)
-
-Regular Dvorak for a computer already set to Dvorak.
-
-For the readme about the Dvorak² version, see ➡ ![base_dvorak_descramble.md](./base_dvorak_descramble.md) ⬅
-
-3.1.5 Colemak
--------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_colemak_vc.jpg)
-
-For the readme about the Colemak version, see ➡ ![base_colemak.md](./base_colemak.md) ⬅
-
-3.1.6 Workman
--------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_workman_va.jpg)
-
-For the readme about the Workman version, see ➡ ![base_workman.md](./base_workman.md) ⬅
-
-3.2 Special layouts
-===================
-These are unusual layouts. Most people will probably only want one of these on the ‛Alternate’ layout,
-with a normal layout on ‛Default’. How this works is explained below.
-
-3.2.1 Numbers pad
------------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_numpad_single_va.jpg)
-
-For the readme about the Numpad version, see ➡ ![base_numpad.md](./base_numpad.md) ⬅
-
-
-3.3 Non-Latin languages
-=======================
-
-3.3.1 Hebrew
-------------
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_hebrew_vc.jpg)
-
-For the readme about the Hebrew version, see ➡ ![base_hebrew.md](./base_hebrew.md) ⬅
-
-
-4 The common system
-===================
-
-![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_common_vc.jpg)
-
-4.1 Layer access
-----------------
-The graphic below shows how layers are reached from the ‛Default base’ layer.
-
-This seems to be the place where one is supposed to say: “This is simpleâ€.
-It may look more confusing than it is. If you write down an alphabet A,B, âž¡ Z,
-made arrows from every key on a keyboard picture to one of the letters, it could
-look just as confusing. When switching to a layer, you only think about where you
-want to go.
-
-![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-default-base-layer-activation_2000_vi.jpg)
-
-Each of the two base layers comes with its own second layer, typically
-numbers-symbols. The other layers are used common between the default and
-alternate base layers. You can switch between the default base layer
-(typically letters), and another base layer, the alternate base layer
-(also typically letters), on the `_RAR` layer with key ‛Other Base’.
-
- Layer overview: Defined in:
-
- • Default Letters / Base ┓
- • Default Numbers-symbols ┃
- ┣ ./base_….c/md files
- • Alternate Letters / Base ┃
- • Alternate numbers-symbols layout ┛
-
- • Numbers pad ┓
- • Accented characters ┃
- • Additional Unicode characters ┃
- • More Additional Unicode characters ┣ ./keymap.c(etc)/readme.md
- • Movement arrows/mouse ┃ “The common systemâ€
- • Function keys / layer toggles ┃
- • Power, media, Speed, Text size, etc. ┛
-
-4.2 Layout in graphics
-----------------------
-
-![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_hide_def_base_ve.jpg)
-Layer: `DEF_BASE`
-
-![Minivan layout Image NSYdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_def_base_vc.jpg)
-Layer: `DEF_NSY`
-
-![Minivan layout Image BASEalt](http://socialism.nl/misc/minivan/minivan_base_layer_hide_alt_base_ve.jpg)
-Layer: `ALT_BASE`
-
-![Minivan layout Image NSYalt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_alt_base_vc.jpg)
-Layer: `ALT_NSY`
-
-![Minivan layout Image PAD](http://socialism.nl/misc/minivan/minivan_pad_layer_vc.jpg)
-Layer: `_PAD`
-
-^ See below for a different configuration of the numbers pad keys. See above for a Base layout for a numbers pad.
-
-![Minivan layout Image ACC](http://socialism.nl/misc/minivan/minivan_acc_layer_vd.jpg)
-Layer: `_ACC`
-
-![Minivan layout Image DRA](http://socialism.nl/misc/minivan/minivan_dra_layer_vd.jpg)
-Layer: `_DRA`
-
-![Minivan layout Image BON](http://socialism.nl/misc/minivan/minivan_bon_layer_vc.jpg)
-Layer: `_BON`
-
-![Minivan layout Image FUN](http://socialism.nl/misc/minivan/minivan_fun_layer_vb.jpg)
-Layer: `_FUN`
-
-![Minivan layout Image MOV](http://socialism.nl/misc/minivan/minivan_mov_layer_triangle_hw-basic-and-allkeys_vb.jpg)
-Layer: `_MOV`
-
-^ There is an alternative flat arrow configuration for this layer (see below),
-and options to compile with the 'arrow' hardware layout.
-
-![Minivan layout Image RAR](http://socialism.nl/misc/minivan/minivan_rar_layer_vc.jpg)
-Layer: `_RAR`
-
-4.3 Layout in text
-------------------
- What comes on “___†is to be defined by the Base layers choice.
-
- Layer _DEF_BASE (Letters layer, see ./base* files for what comes on ‛__’)
- | Right hand
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
- -o- <|> ... //-o- Base access
- Esc __ __ __ __ __ | __ __ __ __ __ Bksp
- Tab+LCtl __ __ __ __ __ | __ __ __ __ __ __
- LSht+_PAD __ __ __ __ __ | __ __ __ __ __ RSht+_FUN
- +_MOVâµ | +_RARâ¶
- ---------------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) RGUI Right;_RAR
- hold holdâ‚â‚,â‚‚Ù­â‚Ž hold | holdâ‚â‚,â‚‚Ù­â‚Ž hold // switch type
- holdâ‚â‚‚â‚Ž ^-┃-----------------------+--------^ ┃ // â‚â‚Ž both = _DRA
- â”—â”â”â”_BONâ”â”â”╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // â‚‚â‚Ž both = _BON
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
- ^³ ^ⴠ// Optional more keys
- (LGUI) (_MOV)
-
- â‚) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
- â‚‚) Hold key “<2†with eitherÙ­ key “<3†or “3>†for _BON, single hold “<2†for _ACC. Marked: â”—â”â”…â”â”â”›
- ³) 'South paw' hardware configuration. Configurable, default shown.
- â´) 'Arrow' hardware configuration Configurable, default shown.
- ³ â´) There are two more optional hardware keys, to make it easier to compile for
- a 12x12x12x11 or 12x12x12x12 layouts.
- âµ) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
- â¶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
-
-Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
-It seems this will be difficult to fix, because it is spread over two devices. To avoid the
-±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`, `_MOV`), using the layer toggle on
-left shift.
-
-The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
-
-There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
-
-There is an uncluttered _Tab_ on both the `_DRA` and `_ACC` layers. They can be modified with _Control_ there.
-
-Holding both `_..._NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
-
-Holding either one of the just above mentioned `_..._NSY` layer keys (<3 and 3>), with the `_ACC` layer key
-(on <2) results in layer `_BON`.
-
-- - -
-
- Layer _..._NSY (Numbers and SYmbols, ./base* files for what comes on ‛__’)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- -*- <|> //(toggle) Access on _FUN
- BASE __ __ __ __ __ | __ __ __ __ __ Bspc
- Tab+LCtl __ __ __ __ __ | __ __ __ __ __ __+RCtl
- -+LSht __ __ __ __ __ | __ __ __ __ __ __+RSht
- ---------------------------------------------------------------------------
- Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
- -*- <|> -*- //(hold) Access on _DEF_BASE
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-- - -
-
- Layer _FUN (F-keys, Layer access)
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- toggl toggl set toggl toggl toggl | toggl toggl // Type of layer switch
- <|>
- BASE: NUMS: _PAD _ACC _DRA _BON | _MOV _RAR xxx xxx xxx Bspc //':' are dynamic ...
- LCtl F1 F2 F3 F4 F5 | F6 F7 F8 F9 F10 RCtl
- LSht F11 F12 F13 F14 F15 | F16 F17 F18 F19 F20 RSht
- ---------------------------------------------------------------------*-- //-*- toggle on Base
- LAlt LCtl& LCtl& LSht& | FUN< +LCtl&LSht RGUI RAlt //... < toggle 'stay'
- LSht LAlt LAlt | &LAlt
- +xxx +xxx +xxx | +xxx
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-Remarks. FUN< toggles an immediate return to the Base layer after pressing an F-key,
-or staying on the `_FUN` layer. Right led yellow indicates F-layer stays active.
-
-- - -
-
-This is the _triangle_ configuration for arrows, arrow are on left hand (WASD):
-
- Layer _MOV (MOVement, mouse movement on right hand)
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*-
- Base PgDn Up PgUp Home Btn3 | xxx WhDn MsUp WhU WhLft Bksp
- LCtl Left Down Right End Btn1 | Btn1 MsLft MsDn MsRht WhRht RCtl
- LSht xxx Acc2 Acc1 Acc0 Btn2 | Btn2 Btn3 Btn4 Btn5 xxx RSht
- -------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn RGUI RAlt
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (DOWN)
-
-
-Remarks. For the Minivan _arrow_ hardware layout with arrow cluster, you get this on ‛Base’:
-
- (…)
- LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
- -------------------------------------------------------------------------------
- Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) RGUI _MOV Right;_RAR
- ^^^^ // new key (toggle)
-
-… and this on `_MOV` for the _triangle_ configuration:
-
- (…)
- LSht*- xxx Acc2 Acc1 Acc0 Btn2 | Btn2 Btn3 Btn4 Btn5 _Up_ RSht
- ---------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn _Left__Down__Right_
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- ^
- (LGUI)
-
-… or this on `_MOV` for the _triangle_ arrow configuration with additional _navigation_ keys:
-
- BASE PgDn Up PgUp Home _Btn4_ | xxx WhDn MsUp WhU WhLft Bksp
- LCtl Left Down Right End Btn1 | Btn1 MsLft MsDn MsRht WhRht RCtl
- LSht*- xxx Acc2 Acc1 Acc0 _Btn5_ | Btn2 Btn3 _Home__PgUp_ _Up_ _PgDn_
- ---------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _End_ _Left__Down__Right_
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- ^
- (LGUI)
-
-
-This is the _flat_ configuration for arrows, arrow are on right hand:
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*-
- BASE WLft WDn WUp WRht xxx | Btn3 PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx | Btn2 Acc0 Acc1 Acc2 xxx RSht
- -------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp PgDn RGUI RAlt
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (DOWN)
-
-For the Minivan _arrow_ hardware layout with _flat_ arrow cluster, you get this on `_MOV`:
-
- (…)
- BASE WLft WDn WUp WRht xxx | Btn3 PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx | Btn2 Acc0 Acc1 Acc2 xxx RSht
- ---------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _UP_ _Down__Right_
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- ^
- (LGUI)
-
-… or this on `_MOV` for the _flat_ arrow configuration with additional _navigation_ keys:
-
- BASE WLft WDn WUp WRht xxx |_Acc2_ PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Btn1 Left Up Down Right RCtl
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx |_Acc1_ Acc0 _PgUp__Home__End_ _PgDn_
- ---------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _UP_ _Down__Right_
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- ^
- (LGUI)
-
-… or this on `_MOV` for the _flat_ arrow configuration, […], and vi(1) layout:
-
- <pinky2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- <|>-*-
- BASE WLft WDn WUp WRht xxx |_Acc2_ PgUp Home End PgDn Bksp
- LCtl MLft MDn MUp MRht Btn1 | Left Down Up Right Btn1 RCtl // vi as in Qwerty
- LSht*- Btn5 Btn4 Btn3 Butn2 xxx |_Acc1_ Acc0 _PgUp__Home__End_ _PgDn_
- ---------------------------------------------------------------------------
- LAlt Del Ent ___ | PgUp _Left_ _Down__Up_ _Right_ // vi as in Qwerty
- -*-<|>
- <1 ± <2 <3 <4 | 4> 3> 2> _±_ 1>
- ^
- (LGUI)
-
-For the 'arrow' hardware layout (additional key on the right), keys on the first
-row are sacrificed and lost. The right most key on the second row is also lost.
-The two keys on places 3 and 4 when counting from the right on the second row,
-are being moved to the spots for Btn2 and Btn3 on the hand that also has the
-arrows (those keys are otherwise twice defined for left and right hand).
-
-- - -
-
- _RAR (RARe keys. Power keys, Unicode mode, Alternate Base, Media, Brightness, Speed, Size, leds, …)
-
- <pink2<pinky <ring <middl <indexx<indx2| indx2>index>middl>ring> pinky> pink2>
- <|> -*- //(toggle) on _FUN
- BASE Cnt/Mx Cnull CWmin CRprt Speed | SRprt Play Next Prev Stop RSht(•)
- CapsL Power• Wake• Sleep• Pause• ScrLk | PrtSc xxx Vol+ Vol- Mute Insert // • requires Shift
- ☑ uLNX uBSD uOSX uWIN uWNC | xxx xxx Bri+ Bri- xxx APP // Ü(nicode) tester
- ----------------------------------------------------------------------------
- SLed MLeds LGUI xxx | !Alter xxx RGUI ___ // Mid-led, Side-leds, !Alternate
- <|> -*- // (Hold) on Base
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-Remarks. !Alter switches between normal and alternate Base layer.
-
-☑ is a Unicode tester key. uLNX for Linux Unicode input encoding, uBSD
-for BSD Unix, uWIN for Windos, uWNC for another Windos encoding. The
-change is retained between on/off power cycles.
-
-MLed switches on/off the middle led, SLeds switches on/off the side leds.
-
-The keys marked with • require Shift to be activated, as a means of
-preventing accidents. Shift here is on (Base) 'Backspace' (upper/right key)
-which also reduces accidents (combinations which are never pressed
-normally). If you press these keys without 'shift' they print their own
-name between angled brackets. Example: pressing the 2nd key on the 3rd
-row prints `“<POWER>â€`.
-
-Bri+, Bri-: screen brightness (if your system supports it.)
-
-Speed: toggles speed measuring on/off. SRprt: writes your speed.
-See topic about Speed measuring.
-
-Cnt/Mx, Cnull CWmin, CRprt: text size measuring. See topic.
-
-- - -
-
-
- Layer _PAD Numbers Pad (special symbol versions; regular '1' is not the same as this numpad '1', etc)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE xxx xxx .DEL 4LEFT 2DOWN | 8UP 6RGHT * xxx xxx Bspc
- LCtl 1END 2DOWN 3PGDN 4LEFT 5 | 6RGHT 7HOME 8UP 9PGUP 0INS -
- LSht xxx xxx / xxx = | + 3PGDN 1END 7HOME 9PGUP RSht
- -*------------------------------------------------------------------------- //-*- toggle on Base
- LAlt Del Tab ENT | NUML xxx RGUI RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-Remarks: The keys between `.DEL` and `*`, `+` and `RSht` constitute sort of
-navigation clusters, to make it easier to find the number pad versions thereof.
-
-This is the variety for `_PAD` layer, which resembles a numerical keypad:
-
- Layer _PAD (Number pad, square layout)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
- <|>
- BASE xxx xxx xxx xxx xxx | = 7HOME 8UP 9PGUP - Bspc
- LCtl xxx xxx xxx xxx xxx | * 4LEFT 5 6RGHT + RCtl
- LSht xxx xxx xxx xxx xxx | / 1END 2DOWN 3PGDN , RSht
- ------------------------------------------------------------------------
- LAlt Del Tab ENT | NUML 0INS .DEL RAlt
- <|>
- <1 ± <2 <3 <4 | 4> 3> ± 2> 1>
- ^ ^
- (LGUI) (RGUI)¹
-
- â‚) Note anomaly, see Base Numpad for details `./base_numpad.md`.
- Different placement and different meaning, compared to the usual common layers.
-
-- - -
-
-
- Layer _ACC (ACCented characters, see _RAR layer for input modes)
-
- <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE áà óÓ éÉ úÚ íà | ýà ijIJ çÇ øØ åÅ Bksp
- LCTL(Tab) äÄ öÖ ëË üÜ ïà | ÿŸ œŒ æÆ ñÑ ß μ
- LSht àÀ òÒ èÈ ùÙ ìÌ | îÎ ûÛ êÊ ôÔ â RSht
- ----------------------------------------------------------------------------
- LAlt ___ ___ Ent | Spc ___ ___ RAlt
- -*- <|> //(hold) on Base
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- … …
-
-- - -
-
-
- Layer _DRA (DRAwings, whatever else (rendering width might vary in different applications))
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE “„ â€â‰¤ £≥ ∅ ¢ ±ƒ | â¦â™¥ 🙂🙠ðŸ‘👎 â½â‚ â¾â‚Ž Bspc
- Tab ¹₠²₂ ³₃ â´â‚„ âµâ‚… | â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€ RCTL
- LSht 「┠ã€â”€ °〇 •§ …· | â˜â˜’ ☑🗹 ¿¡ 《┄ 》┅ RSht // ☠☒ ☑ 🗹 or ⮘ â®™ ⮚ â®›
- -------------------------------------------------------------------------
- LAlt ___ ___ Ent | Spc ___ ___ RAlt
- -*- <|> -*- //(hold) on Base
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-Remarks. ☠☒ ☑ 🗹 or ⮘ ⮙ ⮚ ⮛
-- - -
-
- Layer _BON (Bonus layer, a variety of more stuffs.)
-
- <pink2<pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pink2>
- -*- <|> //(toggle) on _FUN
- BASE ‛ 🛠 ’ ⬆ ¤ 🄯 ∑ © ‰ ‱ | ★ ٭ 😊 ⨠× ⃰ √ ⻠⺠Bksp
- `~ ① ⬅ ② ⬇ ③ ➡ ④ ┠⑤ ┓ | ⑥ ┃ ⑦ ┇ ⑧ ╋ ⑨ ⓪ ∞ — ≈ // — is a dash (larger)
- LSht ‹ › ÷ ☞ ┗ ≠ ┛ | ✗ ┣ ✓ ┫ ⚠ « » RSht
- -------------------------------------------------------------------------
- Left ___ ___ Ent | Spc ___ ___ Right
- -*- -*- <|> -*- // Activation on Base
- <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
- ^ ^
- (LGUI) (_MOV)
-
-- - -
-
-4.4 Movement layer options
---------------------------
-The movement layer (`_MOV`) has several configuration options. You
-can either have _triangle_ configuration arrows on the _left_ hand
-(with navigation keys around it), or a _flat_ arrow configuration on
-the _right_ hand (with navigation above it).
-
-You can configure for the _arrow_ hardware layout (one additional hardware
-key on the right). The additional key on the Base layer can toggle to the
-movement layer, and than becomes part of the arrow cluster. For both
-versions (_triangle_ arrows left hand or _flat_ arrows right hand) you
-can compile this second arrow cluster to be completed with navigation keys
-(Home, End, PageUp, PageDown).
-
-![Minivan layout Image MOV 3 defaultf](http://socialism.nl/misc/minivan/minivan_mov_layer_flat_hw-basic_vb.jpg)
-
-![Minivan layout Image MOV 3b default](http://socialism.nl/misc/minivan/minivan_mov_layer_triangle_hw-basic_vb.jpg)
-
-^ `#define ARROWS_TRIANGLE`
-
-![Minivan illustration BASE towards 3](http://socialism.nl/misc/minivan/minivan_layer_illustration_base_mov_hw-arrow_vb.jpg)
-
-^ Illustration of accessing the arrows/navigation with a key on the Base layer
-
-![Minivan layout Image MOV 3b + arrow](http://socialism.nl/misc/minivan/minivan_mov_layer_hardw-arrow_triangle_vb.jpg)
-
-^ `#define ARROWS_TRIANGLE`, `MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`, `MORE_key2 _MOV_UP`
-
-![Minivan layout Image MOV 3b + navig](http://socialism.nl/misc/minivan/minivan_mov_layer_hardw-arrow_triangle_addnav_vb.jpg)
-
-^ `#define ARROWS_TRIANGLE`, `MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`, `MOREKEY2_ADD_NAVIGATION`, `MORE_key2 _MOV_UP` (note change on previously BTN2/3)
-
-![Minivan layout Image MOV 3 + arrows](http://socialism.nl/misc/minivan/minivan_mov_layer_hardw-arrow_flat_vb.jpg)
-
-^ `#define MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`, `MORE_key2 _MOV_UP`
-
-![Minivan layout Image MOV 3 + naviga](http://socialism.nl/misc/minivan/minivan_mov_layer_hardw-arrow_flat_addnav_vb.jpg)
-
-^ `#define MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`, `MOREKEY2_ADD_NAVIGATION`, `MORE_key2 _MOV_UP` (note change on previously BTN2/3)
-
-![Minivan layout Image MOV 3 vi arrow](http://socialism.nl/misc/minivan/minivan_mov_layer_vi_vb.jpg)
-
-^ `#define` \[`MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`\] `VI_SWITCHERYDOO`, `#undef ARROWS_TRIANGLE`
-
-4.5 Numbers pad layer options
------------------------------
-This concerns the numbers pad layer, the one that is part of the common layers.
-
-![Minivan layout Image PAD](http://socialism.nl/misc/minivan/minivan_pad_layer_vc.jpg)
-
-![Minivan layout Image PAD squared](http://socialism.nl/misc/minivan/minivan_pad_layer_squared_vb.jpg)
-
-^ `#define NUMPAD_COMMON_SQUARE`
-
-5 Led colors for layers
-=======================
- • letters Led: low-white/teal/offâ½Â¹â¾ _DEF_BASE "Default base"
- • letters (alternate) Led: off/teal/low-white _ALT_BASE "Alternate base"
- • numbers Led: blue/blue/blue _DEF_NSY "Default Numbers SYmbols"
- • numbers (alternate) Led: blue/blue/low-white _ALT_NSY "Alternate Numbers SYmbols"
- • number pad symbol versions Led: green/low-white/blue â½Â²â¾ _PAD "numbers PAD"
- • accented characters é, ø, ß … Led: cyan/cyan/cyan _ACC "ACCented"
- • Unicode symbols, ¹, ±, ° … Led: yellow/yellow/yellow _DRA "DRAwings"
- • Unicode symbols, ①, ‰, ÷ … Led: off/yellow/off _BON "Bonus"
- • function keys, Led: red/red/orange â½Â³â¾ _FUN "FUNction keys"
- • and a movement layer Led: green/green/green _MOV "MOVement"
- • keys like Power, Play, Led: white/purple/purple â½â´â¾ _RAR "RARe keys"
-
- Leds:
- • â½Â¹â¾ The low-white led is bright-white when capslock is on. Optionally the middle led (cyan) can
- show the color of the last layer that was active.
- • â½Â²â¾ The colors are reversed blue/low-white/green when numlock is on.
- Left led color memory aid: same as either numbers or movement layer for numlock on/off.
- • â½Â³â¾ The colors are reversed to orange/red/red when set to deactivate after one F-key press.
- • â½â´â¾ The colors are reversed purple/purple/white, indicating which of the two base layers
- is active (see below).
- • Middle led: Breathing effect. When not breathing, keyboard is not working normally with the computer.
- - When speed measurement is active, the middle led color indicates the speed, unless
- text size counting set to a maximum is active.
- - When text size counting is active and set to a maximum amount, the middle led color
- indicates progress to the limit from green to red, flipping white/red on the limit.
- - When on Base layer it shows a teal color, or (compile option) the layer most recently active.
- - When the left/right leds are off, when on Base, it shows a teal color (not last active), even
- if so compiled.
- • Leds can be switched on/off on the _RAR layer (SLeds, MLed).
-
-
-6 Compile options
-=================
- Layout
-
- • Several layouts to choose from: Qwerty, Dvorak, Colemak, Workman, Numpad.
-
- • You can use the keyboard with two different letters/number-symbols layouts.
-
- Hardware
-
- • Hardware key configurations: _default_ (44), _arrow_ (45), _south paw_ (45), _arrow_ + _south paw_ (46).
-
-![Minivan illustration 0](http://socialism.nl/misc/minivan/minivan_illustration_arrow_southpaw.jpg)
- (On the `_RAR` layer, the additional _south paw_ key is more to the right.)
-
- • What the additional hardware keys for _arrow,_ _south paw_ should be.
-
- Navigation cluster
-
- • An arrow cluster for _arrow_ hardware configuration, on the `_MOV` layer.
-
- • All navigation keys around _arrow_ hardware configuration arrow cluster on `_MOV` layer.
-
- • Navigation cluster in a triangle (WASD) (left hand), or flat layout with optional vi(1) layout.
-
- Numpad (in common layers)
-
- • Numpad with numbers in a row.
-
- • Numpad with layers in a block form.
-
- Special functions
-
- • Set speed measuring on/off at keyboard startup.
-
- • Set text size measuring on/off at keyboard startup.
-
- Changing symbols
-
- • Switching the GUIs left/right, and some other specific key changes.
-
- • Reduce firmware size/bloat: remove or eviscerate Unicode layer(s).
-
- For the complete list, see ![./user_config.h](./user_config.h)
-
-7 Language support
-==================
-
-7.1 Input methods
-=================
-There seem to generally be two ways in QMK for typing a language other than English.
-One is to use a language specific remapping on the computer operating side, and
-to use the QMK supplied symbols in the keymaps. This may include the use of a “dead keyâ€.
-Presumably you can also still use the Unicode symbols.
-
-âš  *There are currently no such Base pair layouts available. If this is the method you want,
-you may want to look elsewhere.*
-
-The other way is to type the additional symbols in Unicode. _The computer
-operating must understand these special sequences._ Several Unicode
-input modes are available, which can be changed while the keyboard is
-running. There is no need for a “dead keyâ€. The language setting
-in the computer operating system can be set to English. This layout is
-designed for this method, to avoid the dead key problem.
-
-7.2 Unicode symbols
-===================
-For the remainder of this chapter the Unicode input method is assumed.
-
-You may be able to type your language, with the help of some of the Unicode
-layers and one of these layouts: Qwerty, Dvorak, Coleman, Workman. The following
-languages might work for you this way.
-
- • Dutch (éëèïijí)
- • English (—“â€â€›â€™)
- • French (çœæéèàòùîûêôâëïüÿ)
- • German (äöüß)
- • Norwegian, Danish (œæøå, éêèëóêò, üáà …)
- • Spanish (¿¡ñ)
- • Swedish (äåö …)
-
-The following quotation marks are available, which seems it would cover these languages:
-
- 'test' "test" “test†„test†‛test’ ,test’¹ «test» ‹test› 《test》 「test〠— test
-
- ¹) Left side is a basic comma.
-
-See the `_ACC` _accented characters_ layer for all characters with diacritic markings.
-If you miss a symbol, you could replace one you don't use and add it yourself (by
-reprogramming the source code).
-
-8 Speed measuring
-=================
- ‛Speed’ starts speed measuring.
- ‛SRprt’ stands for ‛Speed Report’:
- • Tap to get your speed report.
- • Hold for a while for led color compilation (see below).
- ☞ Text size counting (see below) middle led colors take precedence,
- when a maximum is set, over layer colors or speed measurement.
-
-With the key ‛Speed’ on the `_RAR` layer, the speed of your latest
-completed batch of 25 key presses is computed, as well as the average of
-all your batches of 25 keys. The speed is displayed as the color of the
-middle led, which otherwise shows the layer color. A bright white middle
-led indicates ‛Speed’ has just been activated.
-
-With the key ‛SRprt’ (short for ‛Speed Report’), the keyboard
-will write your typing speed either in keystrokes per second (k/s)
-or words-per-minute (wpm), depending on your compilation configuration.
-
-“Keystrokes per second†uses the following format: `<A k/s B.B k/s
-Cx25keys>`. A is the amount of key presses per second (k/s) of your
-last batch, B.B is your average over the last C batches of keys.
-When using “Words per minuteâ€, A is in word-per-minute, B is also
-in words-per-minute: `<A wpm B wpm Cx25keys>`, no decimal precision.
-Example: <150wpm;108wpm20x25keys>
-
-Batches with 0 k/s are not counted to the average. You can take a
-longer break without it affecting your average.
-
-8.1 Speed Led color compilation assist
---------------------------------------
-If you hold the ‛Speed Report’ key for one second, it will increment the
-speed, and led color accordingly. This can be helpful when configuring
-your speed measuring compile settings. This works best with speed
-measuring set off.
-
-9 Text size measuring
-=====================
- ‛Cnt/Mx’ stands for ‛Count/Maximum’:
- • Tap to start counting, tap again to suspend.
- • Hold > 0.5 seconds for maximum menu.
- ‛Cnull’ stands for ‛Count null’:
- • Tap to set the counts to zero.
- ‛CWmin’ stands for ‛Count Word minus’:
- • Tap to detract one word from the word count.
- • Hold > 0.5 seconds to detract 10 words.
- ‛CRprt’ stands for ‛Count Report’:
- • Tap to get a counting report.
- ☞ ‛Count’ and ‛Speed’ (see above) reports get added to the
- character count, but not to the word count.
- ☞ Auto-repeating keys do not get counted as characters.
-
-You can count your text by character and word, by activating the key
-‛Count’ on the `_RAR` layer. Pressing ‛Count’ again will suspend
-counting, pressing it yet again resumes where the count left off earlier.
-The middle led turns cyan when no maximum is set (see below),
-or to green when it is set.
-
-You can set a maximum to type, with the ‛Cnt/Mx’ key. In your
-editor (or wherever typing these characters is harmless) you will get
-the following menu by pressing the ‛Cnt/MX’ key for at least half
-a second: `<Nc|w>`. In here: *N* stands for your numerical input, *c*
-for a maximum count in *characters* or *w* for a maximum in *words.*
-
-Start typing a number, finish with either *c* or *w* to make the maximum
-be counted in either characters or words. If you want to leave the
-menu before giving *c* or *w*, enter a *dot* ‛.’ or ‛Escape’,
-which will leave the maximum value at 0 (zero). A maximum value of zero
-implies there is no maximum.
-
-Setting a maximum of 1000 characters looks like so:
-
- Hold ‛Cnt/MX’ results in: `<Nc|w>`
- Then type “1000†results in: `<Nc|w>1000`
- Then type “c†results in: `<Nc|w>1000->1000c`
- At this point the keyboard is out of this special input menu.
-
- The keyboard indicates what it accepted as your input, by
- repeating the number, just before your last input is being printed.
-
-With a maximum established, the middle led color goes from green to red,
-as you type. When the maximum is reached, the keyboard will output a
-Backspace character for every key you subsequently press, making it
-impossible to go any further, until text size counting has been disabled,
-or the count is reduced. The middle led changes color between red and
-white while at the maximum set size, for every new input character.
-
-To get your word count report, press ‛CReport’ short for: ‛Count
-Report’. It comes in the form: `<Ac;Bw>`, where A is your character
-count, and B is your word count. Example: `<5420c;547w>`.
-
-When a maximum is established, the report will only be given in
-either characters or words, and the maximum is given with it, like so:
-`<66w>[200w]`. 66 words have been written, a maximum of 200 words has
-been set.
-
-If you have a maximum established and use it across different articles,
-you no longer have the total count. You can activate speed measuring,
-which in its report includes the total characters pressed.
-
-9.1 Text size Usage
--------------------
-It is assumed that you will take the report in the document you are
-editing, and then delete it. If you do character counting, the value of
-the report itself is added to the character count. Therefore you should
-delete that without using an auto-repeating on the deletion key. That
-way the characters are subtracted again.
-
-If you count in words, the report is not added to the word count. You
-can delete it however you want.
-
-This works the same for a ‛*Speed* Report’ you might like to take.
-You can take it in the document, and then delete it in the same,
-without affecting the text size counting in characters or words.
-When deleting keys with Backspace or Delete, the character count goes down
-accordingly, the word count does not.
-
-Words are counted by counting Space and Enter key presses. Immediately
-repeating blanks do not add to the word count. You can only manually
-subtract from the word count, using the key ‛CWmin’ short for ‛Count
-Word minus’. This means that if you delete sections in your document,
-you need to manually subtract the same words.
-
-Example: after typing something and then typing `<Enter>` twice to start a
-new paragraph, counts for one word. When deleting three words with their
-three blank areas, then tapping ‛Count Word minus’ three times,
-should result in an accurate word count. To add words to the count,
-type mock ones and then delete them: “x x x x†adds *three* words,
-“y y y †also adds three words (three separate blank spaces).
-
-Layer changes, shift and unusual/complex keys do not get counted.
-Navigation, arrow and mouse keys do not get counted. Auto-repeating
-of keys does not affect the *character* count, therefore should be avoided
-if you want to count in characters.
-
-10 Making your own base layer(s)
-================================
-You can insert your own `_DEF_BASE`, `_DEF_NSY` and/or `_ALT_BASE`, `_ALT_NSY`
-Base plus number/symbols layer pairs, integrate it nicely with the rest
-of the code, and re-define a special characters layer to go with it if
-you want (etc). The idea is to make it easy to change the alphanumerical
-keys, while leaving the modifiers, layer switch keys etc. the same.
-`YOUR_KEYMAP` stands for a name you choose.
-
-First we will look at a simple keymap, without its own configuration
-options or header file.
-
- â‘  Make a file named: `./base_YOUR_KEYMAP.c`), with at least
- those two layers: _..._BASE and _..._NSY. It is probably best to
- copy one of the existing `./base_....c` files, and edit that.
-
- â‘¡ Add a #define to `./user_config.h`:
- #define BASE_YOUR_KEYMAP__DEF_BASE
- #define BASE_YOUR_KEYMAP__ALT_BASE
- Under the topic ‛Base layers’ there is a comment to help you.
-
- â‘¢ Edit ./keymap.c to have your new file #included, using your just defined
- preprocessor element. Close to the other #includes is a comment there to
- help you. Look just under the line with this, in ./keymap.c:
-
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- (…)
- // // ⬇ insert your ./base_YOUR_KEYMAP.c #include here:
-
- // # if defined(BASE_YOUR_KEYMAP__DEF_BASE) || defined(BASE_YOUR_KEYMAP__ALT_BASE)
- // # include "./base_YOUR_KEYMAP.c" // Your Keymap.
- // # endif
-
-Now you have integrated your base layers alternative. To compile it:
-
- â‘£ _Activate_ your #define BASES_YOUR_KEYMAP__DEF_BASE or
- BASES_YOUR_KEYMAP__ALT_BASE in `./user_config.h`,
- _Remove_ any other base layers from being defined on the
- same spot _DEF_BASE or _ALT_BASE to prevent a conflict.
-
- ⑤ Check Preprocessing with:
- > gcc -E keymap.c | less
-
- â‘¥ Compile and flash to your keyboard.
-
-You can redefine any layer in your new `./base_YOUR_KEYMAP.c`
-You can do that by setting one or more of the `BASESFILE_LAYER_...` defines in
-your own `./base_YOUR_KEYMAP.c` file. See near the top of an existing
-`./base_....c` file for clues.
-`_ACC` in particular is a layer meant to augment a keymap with special
-characters for a given language/layout in the base layer(s). Perhaps you
-want to redefine it, for example.
-
-Example: Having done the above points â‘  âž¡ â‘£ for a `./base_YOUR_KEYMAP.c` file.
-Let's say you re-arranged keys on `_ACC` to suit ... French.
-
- ⑦ In your `./base_YOUR_KEYMAP.c`:
- #define `BASESFILE_LAYER_ACC`
- The `_ACC` in ./keymap.c will now be ignored.
-
-You can re-define `_ACC` in your own file.
-
- ⑧ Copy an existing `_ACC` layer into `./base_YOUR_KEYMAP.c`
- Edit it so that French characters like ‛Ç’ ‛«»’, ‛œ’, ‛æ’,
- ‛ô’, ‛é’ etc. are in positions that work best. You can look in
- `unicode_weurope.h` to find some Unicode points already defined.
-
- ⑨ Compile and flash to your keyboard.
-
-Now we will look at a more complicated keymap, where you are also altering
-preprocessor constants defined in ![./user_config.h](./user_config.h) (Warning, perhaps this
-is overkill … ;-)
-
-Example: the `./base_numpad.c` has an option to entirely eviscerate the
-`_PAD` layer, for convenience. (Why is this even useful ? Good question !
-One reason could be that it can set up a default, so that anyone who chooses
-this `./base_numpad.c` Base layer, automatically is eviscerating the `_PAD`
-_common_ layer, without having to do anything else. On the downside, it
-could be confusing that one option is configured in two places.)
-
-Having done the above points ⑦ ➡ ⑧ as well, let's say for some reason you
-need to reverse Left GUI and Right GUI.
-
- ⑨ Copy your User Configuration Block at the top of your `./base_YOUR_KEYMAP.c`
- and the GPL License, and place that in a new _header_ file:
- `./base_YOUR_KEYMAP.h`
-
- ① ⓪ Write the necessary code to set and unset the constant
- `SWITCH_GUIS` in your `./base_YOUR_KEYMAP.h` file You are encouraged
- to write code which overrides any setting in `./user_config.h,` for
- those constants which you choose to affect, for simplicity sake.
- (This is not a C programming manual, so it won't get into this.)
-
- â‘  â‘  Look in `./user_config.h`, and #include your header file there, in
- a similar way as was done for your C code file. It should be just
- below the user configuration block, and has a template for you.
-
- â‘  â‘¡ Compile, flash and test.
-
- â‘  â‘¢ It would be nice to put a remark on the general preprocessor constants
- which you might be affecting, that your keymap could be affecting them.
- You would edit the ./user_config.h comments with a short one line notice,
- such as:
-
- *
- * ⚠ Note: ./base_YOUR_KEYMAP.h can overrides this setting, if compiled with that ‛Base’ layer.
- */
-
-Putting your `*.h` header file in ![./user_config.h](./user_config.h) isn't strictly
-necessary, unless you alter “general preprocessor constantsâ€
-defined in ![./user_config.h](./user_config.h) (not local constants for your keymap only).
-
-Perhaps a separate header file is overkill. On the other hand, whatever
-preprocessor logic is necessary after user configuration has been given,
-can be handled in one place, if #included as suggested. It allows you
-to override the settings in ![./user_config.h](./user_config.h) from your header file
-(because it is #included immediately below those). If a user is playing with
-keymaps Base compile choices, it could be convenient to play with
-`./base_YOUR_KEYMAP.h` settings, have everything that could be relevant
-close at hand, then forgetting about those settings once compiling
-with another Base layer, and be able to return to it with previous
-configuration already done.
-
-You can also just #include your header file at the top of your
-`./base_YOUR_KEYMAP.h` file, if it does not touch anything else but your
-local keymap.
-
-11 Evisceration
-===============
-Cutting down the keymap reduces the firmware size, and helps reducing
-mental clutter from having masses of symbols you might never want to use.
-
-You can compile as a single layout. Define only a ‛Default’ base pair,
-and set `MINIFAN_SINGLE_LAYOUT` (![./user_config.h](./user_config.h)). The leds for the
-base layers letters and numbers&symbols, will show up as they would for
-the ‛Alternate’ layer in a dual layout compilation.
-
-You can remove the layers `_ACC`, `_DRA` and/or `_BON` (see
-![./user_config.h](./user_config.h) around `REMOVE_ACC`).
-
-You can remove a set of symbols from one or more of Unicode layers,
-such as not having box drawing characters on `_BON`, or no sub-script
-numbers on `_DRA` (see ![./user_config.h](./user_config.h) under
-`Eviscerations ②/②` ) ⬅
-
-
-12 Key associations
-===================
-The keymap was designed to have the same or similar keys on the same key
-or close to it, on different layers. Sometimes the association goes by
-what finger is used, and/or on what row. For example the symbol ‛(’
-on the numbers-symbols layer (`_NSY`), becomes the symbol ‛â½â€™ on
-another layer.
-
-![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_common_1500_ve.jpg)
-
-12.1 Compared to regular keyboard
-=================================
-The main advantage compared to a regular keyboard is to never have to
-leave the homerow.
-
-Basic trade-off examples are: (â‘ ) on a regular keyboard you need to
-reach two rows up to press a number like ‛4’; (②) three rows up to reach
-an F-key like ‛F4’; (③) or move your hand entirely to reach the navigation
-cluster for ‛Up-Arrow’. On this Minivan 40% keyboard with this ‛Minifan’
-layout you (â‘ ) move either thumb sideways a little to hold down the
-number/symbols layer key, and then press down left index finger for ‛4’;
-(②) press and let go ‛Right-Shift’ to toggle the F-keys layer and then
-press down left index finger for ‛F4’; (③) press down left thumb on where
-it probably is resting, and then move left ring finger one row up to reach
-‛Up-Arrow’.
-
-A downside is that you would be typing a non-standard keyboard, making
-it harder to adapt to regular keyboards. On the upside, this keyboard is
-small enough to take it with you. Plugging it into some other computer
-is only going to work, if that other computer is not using a language
-setting which changes too many keycodes, or if changing the language
-setting is not a problem.
-
-In total the differences are probably marginal. It can be worth it if
-you are doing a lot of 10 finger typing. The change in efficiency might
-be similar to changing from Qwerty to Dvorak or another such optimized
-layout, although incomparably much easier to learn than changing from
-Qwerty to Dvorak (in author's personal experience). If the latter can
-take years, the former could take weeks to months. Keep in mind that
-you have the whole standard letters keymap where it used to be, plus the
-numbers with their shifted symbols are in predictable locations.
-
-The hardest to learn out of the standard symbols, will be: /\=+|?, and
-to a lesser degree {}[]. These are now evenly spread out, rather than this
-mess you have under right little finger on regular keyboards.
-
-13 Trouble shooting
-===================
- • Compiling
-
- If the firmware is too large, you can try using a different version
- of the compiler, or you may have to reduce size by removing certain
- options.
-
- • Unicode
-
- Unicode is chaos: try going to `_RAR` layer, and hit the Unicode
- operating system buttons.
-
- • Leds
-
- Leds not working after flashing firmware: try going to `_RAR` layer,
- and hit the key MLeds and SLeds, which switch Leds on/off.
-
- • Weird layer jumping
-
- You weirdly end up on the `_PAD`, `_FUN` or some other layer while
- typing ? If you jump to layers which are on Shift key toggles, this
- is a typing mistake.
-
- • Difficult/impossible key combinations ?
-
- An example of a difficult key combination is: the modifier Control,
- Shift, or Alt, with media key “volume up†(or down, etc). It may
- work to press and hold “Control†(which should communicate “Control
- depressedâ€), then activate `_RAR` layer with the hold key (which
- communicates nothing to the computer attached to the keyboard),
- press and let go “volume up†(which should communicate just that), let
- go of the `_RAR` layer (which again communicates nothing), let go of
- the Control key (which should communicate “Control releasedâ€)..
-
-14 Why you want this layout
-===========================
-☞ This layout seems easy to learn and predictable. It is not personalized
- or idiosyncratic, but rather based on existing keyboards, typewriters
- and commonly used symbols in the supported languages. The key placement
- is as close to a regular keyboard as possible, unless there are clearly
- better placement choices.
-
-☞ The normally most used layer after letters is “numbers & symbolsâ€
- (123…, !@#…, []/…, called `_NSY`). This layer you can access by either
- your left or right thumb, to spread fatigue.
-
-☞ Right hand pinky is no longer overused, as it is on regular keyboards.
-
-☞ 0-9 enumerations / numbers, they are on the same fingers as a standard
- keyboard.
-
-☞ The symbols normally reached by shifting a number, are also still on
- the same fingers.
-
-☞ Because one often uses an F-key only once, the layer can switch back
- to Base after an F-key is used.
-
-☞ Modifier combination keys on `_FUN` layer for use with F-keys.
-
-☞ The movement layer has a bunch of layout options, and allows for mouse
- use.
-
-☞ The layer with Power buttons protects you from accidental keystrokes
- on the critical keys.
-
-☞ If you need working with Control/Shift/Alt and a pointing device in
- right hand, you can quickly get uncluttered such keys by tapping left shift.
-
-☞ The accented layer makes it possible to set the keyboard in a mode
- on the computer side without dead-keys.
-
-☞ The second Unicode layer adds a fair amount of fun stuff to spice up
- your writing. Write Hâ‚‚O, 2â·Â·â°=128, ±8 °C, §2.1, 2 ³/₈", a noteâ´, £ 6.²âµ
- etc.
-
-☞ The third Unicode layer adds a proper dash — and French style
- quotations «»‹› and other stuff. ① «Ça va bien», ② 5 × 3 ≠ 14,
- â‘¢ .083% ÷ 2 ≈ 4‱ âž¡ 4.â‚₅‱
-
- â”â”â”â”â”â”â”┓
- ┃ test ┃
- â”…â”â•‹â”â”â”â”â”â”â”›
- ┇ ④
-
-☞ Speed and text size measuring, including to set a maximum on your text input.
- These are features not part of regular keyboards.
-
-☞ Easy to create your own dual layout for letters / numbers.
-
-☞ If you do want to reprogram the code, it has a lot of comments to make
- it easier to follow, and over the top much documentation as you can see.
-
-15 BUGS
-=======
- No real bugs known currently. Just some minor issues …
-
- `LCTL_T` `( KC_TAB )` is not seen as a blank by word counting, use as Control is not
- ignored in character counting. (This minor issue is ignored for now. Tab is not
- normally used in text writing.)
-
- The evisceration may not have been worked out yet into the ultimate scrubbing of
- everything that may have become redundant, because it does complicate the code with
- a lot of #defines. Perhaps it should be done eventually, if there is an actual need.
-
- âž¡ You can send bug reports to what seem useful channels, and/or contact e-mail. Thanks
-
-16 Resources
-============
-This links to an external file, with some additional resources.
-[Resources](http://socialism.nl/misc/minivan/ "Additional resources")
-
- ☞ Gimp .xcf files.
- ☞ Some precompiled hex files.
- ☞ Documentation in other formats.
- …
-
-17 Author(s)
-============
- This keymap.c was edited from the Minivan default, original LED
- support was copied/edited from ../jetpacktuxedo/ keymap. Thanks to
- QMK support for their help, especially Drashna.
-
- _Personal note:_ This keymap came about because of a sudden need
- for a replacement keyboard. It took over a year to make (≈ 1.5 h/day).
- The goal became to make a good keymap for everyone without the time to
- make one.
-
- Written on the Minivan: Jos Boersema. [contact](https://market.socialism.nl/author/ "get e-mail address there")
- If anyone forks this or whatever, feel free to drop me a note.
-
- Contributions to this key map:
- - …
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/josjoha/rules.mk
deleted file mode 100644
index e04cfe17dd..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/rules.mk
+++ /dev/null
@@ -1,19 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-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 Leds. If you set to “noâ€, that saves ≈ 13% of the firmware size.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-UNICODEMAP_ENABLE = yes #
-LTO_ENABLE = yes # To reduce firmware size
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/todo.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/todo.md
deleted file mode 100644
index 6ab2f795b6..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/todo.md
+++ /dev/null
@@ -1,34 +0,0 @@
-Todo:
-=====
-
-
- § Further development
-
- The following seem interesting for further development. However following the “scratch your
- own itch†rule, perhaps it should be someone else's interest.
-
- ☠It seems fun to have a user friendly front end to compile the available variations of this keymap.
- Such a front end could edit minifan_config_compact.h
-
- ☠Language specific keyboards, such as Qwertz and Azerty, etc.
- Two option exist:
- • Using an include like #include keymap_german.h (etc).
- • If a language specific #include and computer language setting is not used, but merely some basics
- such as a matching basic alphabet ABC…XYZ on Base, with some additional Unicode symbols for that
- language on _ACC and or other Unicode layers, it might be simple to make, and avoid the dead key
- problem. To go another step and recreate a key like ‛<>’ (as it seems to exist in Qwertz), would
- seem to require macros in unicode_macros.c.
-
- § Other:
-
- ☠Testing all user configurations
- ☠Porting to Planck keyboard.
- ☠Review/fix C indendation. QMK indentation is not my preferred style, and
- therefore it is not entirely consistent.
- ?☠A lock mode, so that others cannot type on it if you walk off ?
- ?☠Fun and games: game layer.
-
- ?☒ User defining macros (record/play user input), another special Base layer ? Is there
- room for this, or how to create it if not.
- âž¡ It seems a bit odd to have a keyboard with internal registers. Probably better handled at the
- application level, so that the keyboard remains a basic input device.
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_hebrew.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_hebrew.h
deleted file mode 100644
index 881a80884b..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_hebrew.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2021 by Jos Boersema
- *
- */
-
-#pragma once
-
-/* An amount of Unicode #defines
- * - hebrew
- */
-
- //
-#define HB_ALEF 0x05D0 // 'HB' for 'Hebrew', "ALEF" for Alef : ×
-#define HB_BET 0x05D1 // " , "BET" for Bet : ב
-#define HB_GIMEL 0x05D2 // " , "GIMEL" for Gimel : ×’
-#define HB_DALET 0x05D3 // " , "DALET" for Daled : ד
-#define HB_HE 0x05D4 // " , "HE" for He : ×”
-#define HB_VAV 0x05D5 // " , "VAV" for Vav : ו
-#define HB_ZAYIN 0x05D6 // " , "ZAYIN" for Zayin : ×–
-#define HB_GET 0x05D7 // " , "HET" for Het : ×—
-#define HB_TET 0x05D8 // " , "TET" for Tet : ט
-#define HB_YOD 0x05D9 // " , "YOD" for Yod : ×™
-#define HB_KAFS 0x05DA // " , "KAFS" for Kaf sofiet : ך
-#define HB_KAF 0x05DB // " , "KAF" for Kaf : ×›
-#define HB_LAMED 0x05DC // " , "LAMED" for Lamed : ל
-#define HB_MEMS 0x05DD // " , "MEMS" for Mem sofiet : ×
-#define HB_MEM 0x05DE // " , "MEM" for Mem : מ
-#define HB_NUNS 0x05DF // " , "NUNS" for Nun sofiet : ן
-#define HB_NUN 0x05E0 // " , "NUN" for Nun : × 
-#define HB_SAMEG 0x05E1 // " , "SAMEG" for Sameg : ס
-#define HB_AYIN 0x05E2 // " , "AYIN" for Ayin : ×¢
-#define HB_PES 0x05E3 // " , "PES" for Pe sofiet : ×£
-#define HB_PE 0x05E4 // " , "PE" for Pe : פ
-#define HB_TSDIS 0x05E5 // " , "TSDIS" for Tsadi sofiet: ×¥
-#define HB_TSADI 0x05E6 // " , "TSADI" for Tsadi : צ
-#define HB_QOF 0x05E7 // " , "QOF" for Qof : ק
-#define HB_RESH 0x05E8 // " , "RESH" for Resh : ר
-#define HB_SHIN 0x05E9 // " , "SHIN" for Shin : ש
-#define HB_TAV 0x05EA // " , "TAV" for Tav : ת
-#define HB_MAQAF 0x05be // " , "MAQAF" for Maqaf : Ö¾
-
-// Yiddish digraphs:
-//#define HB_D_VAV 0x05F0 // " , "D_VAV" for double Van : ×°
-//#define HB_VAVYD 0x05F1 // " , "VAVYD" for Vav Yod : ×±
-//#define HB_D_YOD 0x05F2 // " , "D_YOD" for double Yod : ײ
-
-// special
-#define HB_RLM 0x200F // " , "RLM" for Right-Left-Mark: <non-printing>
-#define HB_LRM 0x200E // " , "LRM" for Left-Right-Mark: <non-printing>
-
-
-// The below are displacing symbols on other layers, some of which are quite obscure
-// and end up being unused. They are compiled based on a #define.
-// These where reported as symbols present on hebrew keyboards:
-// U+05F3 : HEBREW PUNCTUATION GERESH
-// U+20AC : EURO SIGN
-// U+20AA : NEW SHEQEL SIGN {shekel}
-// U+00B0 : DEGREE SIGN
-// U+05AB : HEBREW ACCENT OLE
-// U+05BD : HEBREW POINT METEG {siluq}
-// U+00D7 : MULTIPLICATION SIGN {z notation Cartesian product}
-// U+200E : LEFT-TO-RIGHT MARK [LRM]
-// U+200F : RIGHT-TO-LEFT MARK [RLM]
-// U+05BE : HEBREW PUNCTUATION MAQAF
-// U+2013 : EN DASH
-// U+05C2 : HEBREW POINT SIN DOT
-// U+05C1 : HEBREW POINT SHIN DOT
-// U+05B8 : HEBREW POINT QAMATS
-// U+05F0 : HEBREW LIGATURE YIDDISH DOUBLE VAV {tsvey vovn}
-// U+05B9 : HEBREW POINT HOLAM
-// U+05B7 : HEBREW POINT PATAH
-// U+05B2 : HEBREW POINT HATAF PATAH
-// U+05F1 : HEBREW LIGATURE YIDDISH VAV YOD
-// U+05F2 : HEBREW LIGATURE YIDDISH DOUBLE YOD {tsvey yudn}
-// U+05B4 : HEBREW POINT HIRIQ
-// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
-// U+201E : DOUBLE LOW-9 QUOTATION MARK {low double comma quotation mark}
-// U+05F4 : HEBREW PUNCTUATION GERSHAYIM
-// U+05B6 : HEBREW POINT SEGOL
-// U+05B1 : HEBREW POINT HATAF SEGOL
-// U+05B5 : HEBREW POINT TSERE
-// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
-// U+201A : SINGLE LOW-9 QUOTATION MARK {low single comma quotation mark}
-// U+00F7 : DIVISION SIGN {obelus}
-// U+05BA : HEBREW POINT HOLAM HASER FOR VAV
-// U+200D : ZERO WIDTH JOINER [ZWJ]
-// U+201C : LEFT DOUBLE QUOTATION MARK {double turned comma quotation mark}
-// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
-// U+034F : COMBINING GRAPHEME JOINER [CGJ]
-// U+05C6 : HEBREW PUNCTUATION NUN HAFUKHA
-// U+200C : ZERO WIDTH NON-JOINER [ZWNJ]
-// U+2018 : LEFT SINGLE QUOTATION MARK {single turned comma quotation mark}
-// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
-// Note: many modifiers probably only work with a hebrew language setting on the computer
-// operating system. As Unicode, it would print a disconnected diacretical symbol.
-
-// Geresh
-#define HB_GERSH 0x05F3 // " , "GERSH" for Geresh :
-#define HB_GRSHM 0x05F4 // " , "GRSHM" for Gershayim :
-// Currency
-#define HB_SHEKL 0x20AA // " , "SHEKL" for shekel :
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c
deleted file mode 100644
index ddd37c89e3..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c
+++ /dev/null
@@ -1,2671 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2019, 2020 by Jos Boersema
- *
- */
-
-/* This file contains mostly the Unicode and special macros.
- It contains the function: process_record_user(...)
- */
-
-#include "./unicode_macros.h"
-#include "./unicode_weurope.h"
-#include "./unicode_hebrew.h"
-
-// Definition of Æ’ (Dutch currency symbol).
-// Best changed in user_config.h, if you like a Euro symbol instead.
-//
-# ifndef UNICODE_CURRENCY // Prior optional definition in user_config.h
-# define UNICODE_CURRENCY 0x0192 // Hex number. The unicode hex number for position Æ’ in the default keymap.
-# endif
-
-//
-// 🛠
-#define CS_USER_DEFINED 0x1F6E0 // Hammer & wrench (place holder).
-
-#define DIV10POINT TRUE // suggest to function write_number, to divide by 10 and print as a fraction: N.N
-
-// Gives Unicode code points to the relevant QMK functions.
-// Handles Dvorak 'descramble' Unicode mode, if compiled (only tested on Linux).
-void unicode_hex2output (long unsigned int unshifted, long unsigned int shifted) {
-
- long unsigned int input; // which argument to work on
-
-# ifdef DVORAK_DESCRAMBLE // Do the letter descramble if needed.
-
- char output[10]; // will hold the ascii for output
- int index; // count backwards 'to left' in the string
- long unsigned int bitmove; // move computation to next digit.
- long unsigned int work; // temporary value for computation
-
-# endif
-
- // What to work on
- if(shift_ison) input = shifted; // Trying to get everything possible here in this function, to reduce firmware size.
- else input = unshifted;
-
-# ifndef DVORAK_DESCRAMBLE // Only normal mode
-
- register_unicode ( (uint32_t) input ) ;
-
-# else
-
- if(_FULL_ != alternate){
-
- register_unicode ( (uint32_t) input ) ; // normal Unicode mode
-
- }else{ // Special Dvorak-descramble mode: 0-9=0-9, a=a, b=n, c=i, d=h, e=d, f=y
-
- // Take the hex value 4 bits at a time, starting with the least significant, convert to ascii, store
- index = 9;
- output[index] = '\0'; // terminator
- bitmove = 0x1;
- while ((work = (input / bitmove)) && (index >= 0)) {
- index --;
- work &= 0xF;
- if (work < 0xA){ // numbers
- output[index] = work + 0x30; // pad to ASCII
- }else{ // alphas
- if (0xA == work) output[index] = 'a';
- if (0xB == work) output[index] = 'n';
- if (0xC == work) output[index] = 'i';
- if (0xD == work) output[index] = 'h';
- if (0xE == work) output[index] = 'd';
- if (0xF == work) output[index] = 'y';
- }
- bitmove *= 0x10; // next digit
- }
-
- SEND_STRING ( SS_DOWN(X_LCTL) SS_DOWN(X_LSFT) "f" SS_UP(X_LSFT) SS_UP(X_LCTL) ); // lead-in for Unicode on Linux, 'descramble' mode
- send_string (output + index); // pointer to argument with formatted string
- SEND_STRING ( " " ); // Ends the Unicode numerical input mode
- }
-
-# endif // DVORAK_DESCRAMBLE mode for that Base layer & mode setting is compiled in
-
-}
-
-
-// Wrapper for unicode keys that do have the same on shift.
-void unicode_hex2output_single (long unsigned int either) {
- unicode_hex2output (either, either);
-}
-
-
-// Required by QMK Unicode
-const uint32_t unicode_map[] PROGMEM = {
-
-};
-
-// Macro name definitions. The Unicode layers _ACC, _DRA and _BON are defined here,
-// because the Unicode map system does not have enough space (at time of this programming, year 2020).
-enum custom_keycodes {
-
- // Macro, allowing the upper left button to switch to either _DEF_BASE base layer, or the _ALT_BASE base layer.
- // Alternate is set on/half/off in the _RAR layer. The word "base" is used to avoid "default," because the default
- // layer system call DF() is not being used.
- CTO_BASE = SAFE_RANGE, // 'C' for costum, "TO" for to, "BASE" for chosen base layer
-
- OTHER_BASE, // cycles modes: use _DEF_BASE, _ALT_BASE. For “dvorak²†layout (descramble) compile option, there is a third mode.
-
-# if defined(BASE_NUMPAD__ALT_BASE)
- OTHER_BASE_GO, // Like OTHER_BASE, but also immediately switches to the other BASE layer.
-# endif
-
- CTO_NUMS, // activates number-symbols layer, taking into account the dual layout mode
- CTO_ACCE, // accented ''
- CTO_DRAW, // drawings ''
-
-# ifndef CHOLTAP_ACCE_NOP
- CHOLTAP_ACCE, // Go to accented layer, or others in combination with other keys.
-# endif
-
-// Keys can be pressed together for a separate layer (like 'adjust layer' on the Planck).
- DUO_HOLD,
-
- CHOLTAP_RSHFT, // Go to _FUN layer, or shift modifier.
- CHOLTAP_LSHFT, // Go to <configurable> layer, or shift modifier.
- CHOLTAP_LAYR, // Go to _RAR layer, or right arrow
-
-// Shifts which on tap produce a key
-
- RSFT_TILDE,
- LSFT_DASH,
-
-// Special macro to make F-keys one-shot or not.
- _FUN_STAY,
-
-// Layer toggle to be guaranteed on up-key, therefore macro definition here.
- _MOV_UP,
-
-// These macros protect the critical keys like 'Power' from accidental press, by needing Shift to be pressed.
- C_KC_PWR, // Powers computer off.
- C_KC_WAKE,
- C_KC_SLEP, // sleep computer
- C_KC_PAUS, // pauze computer
-
-// Toggles side leds on/off.
- LEDS_ON,
- RGBTOG_,
-
-// Typing speed measuring
- SPEED_TOG,
- SPEED_REPORT,
-
-// Word/character counting
- COUNT_TOG, // starts word counting
- COUNT_REPORT, // writes to the computer as if typing, gives count report
- COUNT_WORDMIN, // reduces the word count
- COUNT_NULL, // resets count to zero
- LT__MOV__KC_ENT, // move to layer _MOV, or <enter>
-
-// The _ACC layer, additional Unicode.
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- XP_ACC_AA,
- XP_ACC_AB,
- XP_ACC_AC,
- XP_ACC_AD,
- XP_ACC_AE,
- XP_ACC_AF,
- XP_ACC_AG,
- XP_ACC_AH,
- XP_ACC_AI,
- XP_ACC_AJ,
- XP_ACC_BA,
- XP_ACC_BB,
- XP_ACC_BC,
- XP_ACC_BD,
- XP_ACC_BE,
- XP_ACC_BF,
- XP_ACC_BG,
- XP_ACC_BH,
- XP_ACC_BI,
- XP_ACC_BJ,
- XP_ACC_BK,
- XP_ACC_CA,
- XP_ACC_CB,
- XP_ACC_CC,
- XP_ACC_CD,
- XP_ACC_CE,
- XP_ACC_CF,
- XP_ACC_CG,
- XP_ACC_CH,
- XP_ACC_CI,
- XP_ACC_CJ,
-# endif // REMOVE_ACC
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
-// The _DRA layer, additional Unicode.
- XP_DRA_AA,
- XP_DRA_AB,
- XP_DRA_AC,
- XP_DRA_AD,
- XP_DRA_AE,
- XP_DRA_AF,
- XP_DRA_AG,
- XP_DRA_AH,
- XP_DRA_AI,
- XP_DRA_AJ,
- XP_DRA_BA,
- XP_DRA_BB,
- XP_DRA_BC,
- XP_DRA_BD,
- XP_DRA_BE,
- XP_DRA_BF,
- XP_DRA_BG,
- XP_DRA_BH,
- XP_DRA_BI,
- XP_DRA_BJ,// XP_DRA_BK , // no 'BK' key definition on this layer
- XP_DRA_CA,
- XP_DRA_CB,
- XP_DRA_CC,
- XP_DRA_CD,
- XP_DRA_CE,
- XP_DRA_CF,
-# endif // REMOVE_DRA
- XP_DRA_CG, // Needed for ☑ on Unicode tester key in _RAR
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
- XP_DRA_CH,
- XP_DRA_CI,
- XP_DRA_CJ,
-# endif // REMOVE_DRA
-
-// The _BON layer, additional Unicode.
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- XP_BON_AA,
- XP_BON_AB,
- XP_BON_AC,
- XP_BON_AD,
- XP_BON_AE,
- XP_BON_AF,
- XP_BON_AG,
- XP_BON_AH,
- XP_BON_AI,
- XP_BON_AJ,
- XP_BON_BA,
- XP_BON_BB,
- XP_BON_BC,
- XP_BON_BD,
- XP_BON_BE,
- XP_BON_BF,
- XP_BON_BG,
- XP_BON_BH,
- XP_BON_BI,
- XP_BON_BJ,
- XP_BON_BK,
- XP_BON_CA,
- XP_BON_CB,
- XP_BON_CC,
- XP_BON_CD,
- XP_BON_CE,
- XP_BON_CF,
- XP_BON_CG,
- XP_BON_CH,
- XP_BON_CI,
- XP_BON_CJ,
-# endif // REMOVE_BON
-
-// Hebrew
-# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
- XP_HEB_AA,
- XP_HEB_AB,
- XP_HEB_AC,
- XP_HEB_AD,
- XP_HEB_AE,
- XP_HEB_AF,
- XP_HEB_AG,
- XP_HEB_AH,
- XP_HEB_AI,
- XP_HEB_AJ,
- XP_HEB_BA,
- XP_HEB_BB,
- XP_HEB_BC,
- XP_HEB_BD,
- XP_HEB_BE,
- XP_HEB_BF,
- XP_HEB_BG,
- XP_HEB_BH,
- XP_HEB_BI,
- XP_HEB_BJ,
-# if defined(HEBREW_ISRAEL)
- XP_HEB_BK, //
-# endif
- XP_HEB_CA,
- XP_HEB_CB,
- XP_HEB_CC,
- XP_HEB_CD,
- XP_HEB_CE,
- XP_HEB_CF,
- XP_HEB_CG,
-# if defined(HEBREW_ISRAEL) || defined(HEBREW_DVORAK)
- XP_HEB_CH,
- XP_HEB_CI,
- XP_HEB_CJ,
-# endif
- XP_HEB_MQF, // Ö¾
-# endif //BASE_HEBREW__*
-
-};
-
-// Pre-existing function, called for every key up and down.
-// This function is sortof the hub of the whole thing.
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- // User input for the word count menu
- if (sizecount_menu) {
- if (record->event.pressed) { // key down
-
- switch (keycode) {
- case KC_0: // read in how many is maximum
- sizecount_max = (sizecount_max * 10);
- break;
-
- case KC_1:
- sizecount_max = (sizecount_max * 10) + 1;
- break;
-
- case KC_2:
- sizecount_max = (sizecount_max * 10) + 2;
- break;
-
- case KC_3:
- sizecount_max = (sizecount_max * 10) + 3;
- break;
-
- case KC_4:
- sizecount_max = (sizecount_max * 10) + 4;
- break;
-
- case KC_5:
- sizecount_max = (sizecount_max * 10) + 5;
- break;
-
- case KC_6:
- sizecount_max = (sizecount_max * 10) + 6;
- break;
-
- case KC_7:
- sizecount_max = (sizecount_max * 10) + 7;
- break;
-
- case KC_8:
- sizecount_max = (sizecount_max * 10) + 8;
- break;
-
- case KC_9:
- sizecount_max = (sizecount_max * 10) + 9;
- break;
-
- case KC_C: // count characters
- sizecount_max_type = SIZECOUNT_CHAR;
- sizecount_menu = FALSE;
- break;
-
- case KC_W: // count words
- sizecount_max_type = SIZECOUNT_WORD;
- sizecount_menu = FALSE;
- break;
-
- // Anything else ends menu input.
- case KC_DOT:
- case KC_ESC:
- sizecount_menu = FALSE; // break out
- break;
-
- }
- if (!sizecount_menu) { // end
- send_string ("->");
- write_number (sizecount_max, FALSE); // just indicate something
- }
- }
- }
-
- // Go back to base-layer after pressing an F-key, on key-up to avoid BASE key activation
- if ((_fun_stay == FALSE) && //
- (((keycode >= KC_F1) && (keycode <= KC_F12))
- ||
- ((keycode >= KC_F13) && (keycode <= KC_F24)))) { // assumes keycodes 1-12 and 13-24 are consequtive, which seems likely, although using 1-24 failed (probably not consequtive)
- // Go back to base layer
- if (!(record->event.pressed)) { // key up
- if (alternate) { //
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
- }
-
- // Detect if Shift was pressed in isolation, by seeing if another key was pressed during the time
- // the right shift key was held down.
- // This system is also used by CHOLTAP_ACCE
- // This helps make sure a tapped use of these keys is correctly differentiated from their use as a
- // modifier/layer-hold key. The Shift and CHOLTAP_ACCE should not normally interfere with each other.
- if (isolate_trigger) { // speed: hoping this statement to execute a little quicker overall, than the next
- if ((keycode != CHOLTAP_RSHFT) // not right shift up
- &&
- (keycode != CHOLTAP_LSHFT) // not left shift up
- &&
- (keycode != CHOLTAP_ACCE) // _ACC layer (and others)
- &&
- (keycode != RSFT_TILDE) // Shift on _NSY
- &&
- (keycode != LSFT_DASH) // Shift on _NSY
- &&
- (keycode != CHOLTAP_LAYR))
- { // _RAR layer, or RAlt/Alt-Gr
- isolate_trigger = FALSE; // another key was pressed
- }
- }
-
- // This block contains the complex macros, which should not count in speed counting or word/character counting,
- // because they aren't typed characters.
- switch (keycode) {
-
- // Typing speed measuring
- case SPEED_TOG: // Toggle speed measuring on/off
- if (record->event.pressed) { // key down
- if (speed_measure) {
- speed_measure = FALSE;
-
-# ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (HSV_PURPLE); // indicates stop (_RAR color)
-# endif
-
- }else{
- // initialization of measurements
- speed_measure = TRUE; // activates
- speed = 0; // start at 0 k/s
- speed_countdown = SPEED_COUNTDOWN; // reset, speed is measured in batches of keypresses
- speed_counttime = timer_read32 ();// get current time
- speed_add = 0;// speed average accumulator, it keeps adding the *speed* of each batch to this total
- speed_batches = 0; // divider for speed_add to get the average
-
-# ifdef RGBLIGHT_ENABLE
- // set middle led
- rgblight_sethsv_noeeprom (HSV_WHITE); // indicates start
-# endif
-
- }
-
-# ifdef RGBLIGHT_ENABLE
- isolate_rgblight_set ();
-# endif
-
- }
- break;
-
- case SPEED_REPORT: // Report the current typing speed by writing it, as if typing
- if (record->event.pressed) { // down
- short added = 5; // This counts how many characters the report itself is adding into the current text,
- // to later delete it from the character count for text-size counting.
-
- if (speed_measure) {
-
-# ifdef WORDS_PER_MINUTE
-
- // The speed is recorded as an accumulation of keystrokes-per-second, times 10 for added precision.
- // This will be converted into words-per-minute by dividing by 5 characters for a word including
- // blank space and punctuation, and multiplied by 60 for seconds per minute. â¶â°/â‚… = 12. Multiplied
- // by 12 is the simple conversion.
- send_string ("<"); // +1 character written // analogue to '<POWER>'
- added += write_number ((long int)((speed*12)/10), FALSE); // writes the speed
- send_string ("wpm"); // +3 character written
- if (0 != speed_batches) {
- long int average_times_ten;
- average_times_ten =(long int) ((speed_add * 12) / speed_batches); // *12 converts k/s to wpm
-
- send_string (";"); // +â‘  ''
- added += write_number (average_times_ten / 10, FALSE); // writes the average speed, cannot use decimal because precision is not there
- send_string ("wpm"); // +â‘¢
- added += write_number ((long int) speed_batches, FALSE); // amount of batches
- send_string ("x"); // +â‘ 
- added += 9 + write_number ((long int) SPEED_COUNTDOWN, FALSE); // amount of batches
- send_string ("keys"); // +④ = ⑨
-
- speed_led ( (int) (average_times_ten / 12));// on report, show the average
- // we need to convert back to k/s now
- }
-
-# else // keystrokes per second, k/s
-
- send_string ("<"); // +1 character written // analogue to '<POWER>'
- added += write_number ((long int)(speed/10), FALSE); // writes the speed
- send_string ("k/s"); // +3 character written
- if (0 != speed_batches) {
- long int average_times_ten;
- average_times_ten =(long int) (speed_add / speed_batches);
-
- send_string (";"); // +â‘  ''
- added += write_number (average_times_ten, DIV10POINT); // writes the average speed
- send_string ("k/s"); // +â‘¢
- added += write_number ((long int) speed_batches, FALSE); // amount of batches
- send_string ("x"); // +â‘ 
- added += 9 + write_number ((long int) SPEED_COUNTDOWN, FALSE); // amount of batches
- send_string ("keys"); // +④ = ⑨
-
- speed_led ( (int) average_times_ten );// on report, show the average. speed_led divides by 10
- }
-
-# endif
-
- send_string (">"); // +1 = 5
- if (sizecount_measure) sizecount_chars += added; // the user is expected to hit <backspace>
- }else{
- send_string ("<Soff>"); // indicates off
- if (sizecount_measure) sizecount_chars += 5; // user: <backspace>, to take it down again
- }
-
- key_timer = timer_read ();
-
- }else{ // key up
- // This use of the key is for callibrating your colors; it is difficult otherwise to see.
- // This is not part of normal usage, therefore it is kept bare bones to reduce firmware size
- if (timer_elapsed (key_timer) > 999) { // held for one second
- speed += 10;
- write_number ((long int)(speed/10), FALSE); // writes the speed
- speed_led (speed); // update led
- }
- }
- break;
-
- case COUNT_TOG: // Toggle start/stop text size measuring
- if (record->event.pressed) { // key down
-
- key_timer = timer_read ();
-
- }else{ // up
- if (timer_elapsed (key_timer) < 500) { // held for less than half a second (tapped)
- if (sizecount_measure) {
-
- sizecount_measure = FALSE;
-
-# ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (HSV_PURPLE); // indicates stop (color of _RAR)
- isolate_rgblight_set ();
-# endif
-
- }else{
-
- sizecount_measure = TRUE; // start counting
- sizecount_word = FALSE; // detect double blanks. leading blanks are not a word
-
-# ifdef RGBLIGHT_ENABLE
- if (0 == sizecount_max) {
- rgblight_sethsv_noeeprom (HSV_BLUE); // indicates start/activated, but only without maximum set
- isolate_rgblight_set (); // .. if maximum set, led goes green to red.
- }else{
- rgblight_sethsv_noeeprom (HSV_GREEN); // indicates start/activated, but only without maximum set
- isolate_rgblight_set (); // .. if maximum set, led goes green to red.
- }
-# endif
-
- }
- }else{ // held longer
- sizecount_menu = TRUE;
- send_string ("<Nc|w>"); // Menu: N amount, c|w character|word counting. Input is a number then ‛c’ or ‛w’
- sizecount_max = 0;
- }
- }
- break;
-
- case COUNT_NULL: // Sets the count to zero, which allows on/off to have a suspend/resume
- if (record->event.pressed) { // key up
- sizecount_blanks = 0; //
- sizecount_chars = 0;
-
-# ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (HSV_CYAN); // indicates reset
- isolate_rgblight_set ();
-# endif
-
- }
- break;
-
- case COUNT_REPORT: // Report the current typing speed
- if (record->event.pressed) {
- // We assume the user is writing a report in its active document, and then likely deleting it.
- short added = 0; // This counts how much characters the report adds into the user document.
-
- if (sizecount_measure) {
- send_string ("<"); // + 1 and â‘  characters (1 is one logical stream, â‘  another)
- if (0 == sizecount_max) { // no size counting maximum, print both characters and words
-
- added += write_number (sizecount_chars, FALSE); // returns how many characters where printed
- send_string ("c;"); // + 2
- added += write_number (sizecount_blanks, FALSE) + 5; // adds here
- send_string ("w>"); // + 2 = 5
-
- }else{ // Only show the one for which the maximum is set, don't throw off that mental focus
- if (SIZECOUNT_WORD == sizecount_max_type ) {
-
- added += write_number (sizecount_blanks, FALSE) + 3;
- send_string ("w>"); // + â‘¡ = â‘¢
-
- }else{ // characters
-
- added += write_number (sizecount_chars, FALSE) + 3; // returns how many characters where printed
- send_string ("c>"); // + â‘¡ = â‘¢
-
- }
- // add current maximum setting
- send_string ("["); // + 1
- added += write_number (sizecount_max, FALSE) + 3;
- if (SIZECOUNT_WORD == sizecount_max_type) send_string ("w]"); // + 2
- else send_string ("c]"); // + 2
- }
- sizecount_chars += added; // Account for the written characters in the report itself.
-
- }else{ // no size counting, also here: keep the report terse
- send_string ("<Coff>"); // indicates off (no need to add to count, since counting is off)
- }
- }
- break;
-
- // This allows the user to manually remove word counts, when he has deleted a word.
- // This is not needed for character count, because <backspace> counts as minus.
- case COUNT_WORDMIN: // Take down one word in the word-count.
- if (record->event.pressed) { // down
- key_timer = timer_read ();
- }else{ // up
- if (timer_elapsed (key_timer) < 500) { // held for less than half a second (tapped)
- sizecount_blanks--;
- }else{
- sizecount_blanks -= 10;
- }
- }
- break;
-
- // Shift detection system.
- // Disused because it turned out 'one shot' like Unicode input. Shift detection copied from.
- // https://github.com/kyleterry/qmk_firmware/blob/master/quantum/quantum.c
- //uint8_t shifted = get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT));
-
- // Crude but self contained in this source file shift detection.
- // ... right shift
- case KC_RSFT:
- // + ... left shift
- case KC_LSFT:
- if (record->event.pressed) { // key down
- shift_ison = 1; // shift depressed
- }else{ // key up
- shift_ison = 0; // shift released
- }
- // There are macros on Shift who also alter this variable.
- break;
-
- case OTHER_BASE: // Switching through the default/alternate BASE modes, and Descramble for that Dvorak compile
- if (record->event.pressed) {
- ;
- }else{ // key up
-
- // Cycles through the modes
-# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
- if (_NORMAL_ == alternate) {
- alternate = _FULL_;// alternate layers
- default_layer_set (_ALT_BASE_MASK); // This is needed only for a rare case,
- // where _DEF_BASE and _ALT_BASE their layer switching keys don't line up,
- // such as with Qwerty Base Arrow
- } else if (_HALF_ == alternate) {
- alternate = _NORMAL_;// normal layers
- default_layer_set (_DEF_BASE_MASK);
- }else{ // _FULL_ == alternate
- alternate = _HALF_;// alternate layers, without 'descramble' recomputing Unicode
- //default_layer_set (_ALT_BASE_MASK);
- // it cycles, and this comes always after it was set _FULL_
- }
-# else // Only switching the BASE layers between alternate and default
-
- if (_NORMAL_ == alternate) {
- alternate = _FULL_;// alternate base layers
- default_layer_set (_ALT_BASE_MASK);
- }else{
- alternate = _NORMAL_;// default base layers
- default_layer_set (_DEF_BASE_MASK);
- }
-# endif
-
- indicate_base (); // activate led change
- }
- break;
-
-# if defined(BASE_NUMPAD__ALT_BASE)
-
- case OTHER_BASE_GO: // Switching through the default/alternate BASE modes, and Descramble for that Dvorak compile
- if (record->event.pressed) {
- ;
- }else{ // key up
-
- // Cycles through the modes
-# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
- if (_NORMAL_ == alternate) {
- alternate = _FULL_;// alternate layers
- default_layer_set (_ALT_BASE_MASK);
- } else if (_HALF_ == alternate) {
- alternate = _NORMAL_;// normal layers
- default_layer_set (_DEF_BASE_MASK);
- }else{ // _FULL_ == alternate
- alternate = _HALF_;// alternate layers, without 'descramble' recomputing Unicode
- //default_layer_set (_ALT_BASE_MASK);
- // it cycles, and this comes always after it was set _FULL_
- }
-# else // Only switching the BASE layers between alternate and default
-
- if (_NORMAL_ == alternate) {
- alternate = _FULL_;// alternate base layers
- default_layer_set (_ALT_BASE_MASK);
- }else{
- alternate = _NORMAL_;// default base layers
- default_layer_set (_DEF_BASE_MASK);
- }
-# endif
- // make the switch to the other Base layer
- if (alternate) { //
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
- break;
-# endif
-
- // Switching to layers:
-
- case CTO_BASE:
- // User pressed upper/left button, while not on BASE layer: ‛escape’ from a layer to BASE layer.
- // On BASE itself, that key is <Escape>.
- if (record->event.pressed) { // key down
- ;
- }else{ // key up
- if (alternate) { // go to the alternate version (bit of a hack maybe, but all alternate
- // ... modes are non-zero)
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
- break;
-
- case CTO_NUMS: // activates number-symbols layer
- if (record->event.pressed) { // key down
- ;
- }else{ // key up, so that upon key down the target layer isn't already activated, triggering that key on up
- if (alternate) { // go to the alternate version
- layer_move (_ALT_NSY);
- }else{
- layer_move (_DEF_NSY);
- }
- }
- break;
-
- case CTO_ACCE: // Unicode layer
- if (record->event.pressed) { // key down
- ;
- }else{ // key up
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- layer_move (_ACC); // activates normal accented layer
-# else
-# ifdef _ACC_KEY_ALT_LAYER
- layer_move (_ACC_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }
- break;
-
- case CTO_DRAW: // Unicode layer
- if (record->event.pressed) { // key down
- ;
- }else{ // key up
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
- layer_move (_DRA); // activates normal accented layer
-# else
-# ifdef _DRA_KEY_ALT_LAYER
- layer_move (_DRA_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
- }
- break;
-
- // The below are a simulated LT(layer,kc), layer-tap.
- // Double-tap-hold repeater functionality: not done.
- // They switch what layer to use depending on 'alternate' variable
- // Basically it starts the right layer on key down, goes back to base layer on key up,
- // and throws in a keypress as well if tapped.
- // It also integrates with DUO_HOLD, to reach the _BON layer.
-
-# ifndef CHOLTAP_ACCE_NOP // When this key has been eviscerated, this macro becomes useless
- case CHOLTAP_ACCE: // Works with DUO_HOLD macro to activate one of several layers.
- if (record->event.pressed) { // key down
- key_timer = timer_read ();
- isolate_trigger = TRUE; // keep track of whether another key gets pressed.
-
- duo_press_acc_bon ++; // This signals to the two DUO_HOLD keys, whether a move to _BON is desired.
-
- if (duo_press_nsy_dra) { // One or more of the DUO_HOLD layer keys was already pressed; move to _BON
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- layer_move (_BON); // Bonus Unicode layer
-# else
-# ifdef _BON_KEY_ALT_LAYER
- layer_move (_BON_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }else{ // pressed in isolation
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- layer_move (_ACC); // Accented layer
-# else
-# ifdef _ACC_KEY_ALT_LAYER
- layer_move (_ACC_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }
- }else{ // key up
-
- duo_press_acc_bon --;
-
- if (1 == duo_press_nsy_dra) { // One DUO_HOLD layer keys is still pressed; move to numbers/symbols
-
- if (_FULL_ == alternate) {
- layer_move (_ALT_NSY);
- }else{
- layer_move (_DEF_NSY);
- }
- }else if (2 == duo_press_nsy_dra) { // Two of the DUO_HOLD layer keys are still pressed: move to _DRA
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
- layer_move (_DRA); // activates normal accented layer
-# else
-# ifdef _DRA_KEY_ALT_LAYER
- layer_move (_DRA_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }else{
- if (alternate) { // No _DEF_NSY layer keys remain pressed; Go back to base layer
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
-
- // Pressed in isolation
- if (isolate_trigger)
- {
- if (timer_elapsed (key_timer) <= TAPPING_TERM_HOLTAP) { // tapped
- SEND_STRING (SS_TAP (X_DEL));
- }
- }
- }
- break;
-# endif // CHOLTAP_ACCE_NOP
-
- case CHOLTAP_LAYR: //to _RAR on hold, otherwise a keycode
- if (record->event.pressed) { // key down
- key_timer = timer_read ();
- isolate_trigger = TRUE; // keep track of whether another key gets pressed.
-
-# ifdef BASE_RIGHT_ALT
- SEND_STRING (SS_DOWN (X_RALT));
-# else
- layer_move (_RAR); // activates descrambled drawings layer
-# endif
-
- }else{ // key up
- // Go back to base layer
- if (speed_measure) speed_led (speed); // The _RAR layer overwrites the middle led,
- //.. for use with alternate _HALF_ led colors (middle); thus needs to be set back to speed
- // led color upon leaving.
-
-# ifdef BASE_RIGHT_ALT
- SEND_STRING (SS_UP (X_RALT));
-# else
- if (alternate) {
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
-# endif
-
- // Pressed in isolation
- if (isolate_trigger)
- {
- if (timer_elapsed (key_timer) <= TAPPING_TERM_HOLTAP) { // tapped
- SEND_STRING (SS_TAP (X_RIGHT));
- }
- }
- }
- break;
-
-# ifndef DUO_HOLD_BASIC
- // This is the normal 'big' version, dealing with switching between _DEF_NSY/_ALT_NSY, _ACC, _DRA and _BON, in
- // .. conjunction with the CHOLTAP_ACCE macro.
- case DUO_HOLD: // The macro around the split space-bar. Both keys come to this macro.
- if (record->event.pressed) { // key down
-
- duo_press_nsy_dra ++; // simple way to keep track of how many are pressed
-
- if (duo_press_acc_bon){ // Preceded by holding the _ACC/_BON layer switch key: move to _BON
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- layer_move (_BON); // Bonus Unicode layer
-# else
-# ifdef _BON_KEY_ALT_LAYER
- layer_move (_BON_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }else if (1 == duo_press_nsy_dra) { // This is the first press of either of the DUO_HOLD keys on BASE
-
- if (_NORMAL_ == alternate) {
- layer_move (_DEF_NSY);
- }else{
- layer_move (_ALT_NSY);
- }
- }
- else if (2 == duo_press_nsy_dra) { // both are pressed
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
- layer_move (_DRA); // activates normal accented layer
-# else
-# ifdef _DRA_KEY_ALT_LAYER
- layer_move (_DRA_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
- }
-
- }else{ // key up
-
- duo_press_nsy_dra --;
-
- if (1 == duo_press_nsy_dra) {
- if (duo_press_acc_bon){ // Still holding the _ACC/_BON layer switch key, and one DUO_HOLD keys
-
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- layer_move (_BON); // Bonus Unicode layer
-# else
-# ifdef _BON_KEY_ALT_LAYER
- layer_move (_BON_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }else{
- if (_NORMAL_ == alternate) {
- layer_move (_DEF_NSY);
- }else{
- layer_move (_ALT_NSY);
- }
- }
- }
- else { // Has to be zero.
- if (duo_press_acc_bon){ // Still holding the _ACC/_BON layer switch key, but zero DUO_HOLD layer keys
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- layer_move (_ACC); // Accented layer
-# else
-# ifdef _ACC_KEY_ALT_LAYER
- layer_move (_ACC_KEY_ALT_LAYER); // Alternative layer user configuration
-# endif
-# endif
-
- }else{
- if (alternate) { // Back to letters
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
- }
- }
- break;
-# else
- // This is the eviscerated version, compiled when all Unicode layers _ACC, _DRA, _BON are cut, and layer key
- // .. combinations have not been assigned other uses.
- case DUO_HOLD: // The macro for the keys around the split space-bar. Both keys come to this macro.
- if (record->event.pressed) { // key down
-
- duo_press_nsy_dra ++; // simple way to keep track of how many are pressed
-
- if (0 != duo_press_nsy_dra) { // One or more of the DUO_HOLD keys is pressed
- if (_NORMAL_ == alternate) {
- layer_move (_DEF_NSY);
- }else{
- layer_move (_ALT_NSY);
- }
- }
- }else{ // key up
-
- duo_press_nsy_dra --;
-
- if (0 == duo_press_nsy_dra) { // None of the DUO_HOLD keys remains pressed
- if (alternate) { // Back to letters
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- }
- }
- break;
-# endif // DUO_HOLD_BASIC
-
- // When held the key is shift. When tapped it is computed if the tap is short enough,
- // and if no other key was pressed, in which case: right-shift-up is a toggle to the _FUN layer.
- // The timing is meant to be able to undo an erroneous shift press just by holding longer,
- // and the test if another key was pressed is to prevent an erroneous detection when typing
- // very fast.
- // The reason for this on shift is to isolate GUI, where _FUN was previously more easily
- // located. No alternative tapping function with GUI because some systems do not treat GUI
- // purely as a modifier it seems. Since it is a toggle anyway, _FUN can fit away from the thumb-hold row.
- case CHOLTAP_RSHFT: // When tapped it toggles the _FUN layer, when held it is Shift
-
- if (record->event.pressed) { // key down
-
- SEND_STRING (SS_DOWN (X_RSFT));
- shift_ison = 1; // shift depressed
-
- key_timer = timer_read ();
- isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
-
- }else{ // key up
-
- SEND_STRING (SS_UP (X_RSFT));
- shift_ison = 0; // shift released
-
- if (isolate_trigger) { // no other key was hit since key down
-
-
- // Held medium long: _PAD, long: _MOV.
- // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
- // all by the left hand, when the right hand is on the mouse.
- if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
-
-# ifndef SWITCH_RSHIFT_FUN_RAR // user config to reverse what this key its timing toggles to
-
- layer_move (_FUN); // activates function layer as a toggle
-
- } else { // held for longer
-
- layer_move (_RAR);
-
-# else
-
- layer_move (_RAR); // activates function layer as a toggle
-
- } else { // held for longer
-
- layer_move (_FUN);
-
-# endif
-
-
- }
- }
- }
- break;
-
- // The left-shift version of the above keycode. User can configure something (_PAD is default)
- case CHOLTAP_LSHFT: // When tapped it toggles the _MOV layer, when held it is Shift
- // _RAR was the first idea, but some of its keys are too dangerous regarding accidents.
- if (record->event.pressed) { // key down
-
- SEND_STRING (SS_DOWN (X_LSFT));
- shift_ison = 1; // shift depressed
-
-# ifndef REMOVE_PAD // The _PAD layer exists, we will use a timer …
-
- key_timer = timer_read ();
-
-# endif
-
-
- // This variable is re-used, for speed and because using both shifts is useless,
- // .. thus very rare, and also not a usage problem if it occured.
- isolate_trigger = TRUE; // keep track of whether another key gets pressed.
-
- }else{ // key up
-
- SEND_STRING (SS_UP (X_LSFT));
- shift_ison = 0; // shift released
-
- if (isolate_trigger) { // no other key was hit since key down
-
-# ifndef REMOVE_PAD // The _PAD layer exists, differentiate meaning by timer.
-
- // Held medium long: _PAD, long: _MOV.
- // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
- // all by the left hand, when the right hand is on the mouse.
- if ((timer_elapsed (key_timer) <= 200)) { // tapped medium-long (milliseconds)
-
-# ifndef SWITCH_LSHIFT_PAD_MOV // user config to reverse what this key its timing toggles to
-
- layer_move (_PAD);
-
- } else { // held for longer
-
- layer_move (_MOV);
-
-# else
-
- layer_move (_MOV);
-
- } else { // held for longer
-
- layer_move (_PAD);
-
-# endif
-
- }
-
-# else // _PAD layer was eviscerated
-
- layer_move (_MOV);
-
-# endif
-
- }
- }
- break;
-
-/*
- case RSFT_TILDE:
-
- if (record->event.pressed) { // key down
-
- SEND_STRING (SS_DOWN (X_RSFT));
- shift_ison = 1; // shift depressed
-
- key_timer = timer_read ();
- isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
-
- }else{ // key up
-
- SEND_STRING (SS_UP (X_RSFT));
- shift_ison = 0; // shift released
-
- if (isolate_trigger) { // no other key was hit since key down
-
-
- // Held medium long: _PAD, long: _MOV.
- // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
- // all by the left hand, when the right hand is on the mouse.
- if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
-
- SEND_STRING ("~");
-
- }
- }
- }
- break;
-*/
-
- case RSFT_TILDE: // firmware size optimization, saves 36 bytes
- case LSFT_DASH:
-
- if (record->event.pressed) { // key down
-
- if (RSFT_TILDE == keycode) { // this is probably not needed, both can be left or right shift
- SEND_STRING (SS_DOWN (X_RSFT));
- }else{
- SEND_STRING (SS_DOWN (X_LSFT));
- }
- shift_ison = 1; // shift depressed
-
- key_timer = timer_read ();
- isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
-
- }else{ // key up
-
- if (RSFT_TILDE == keycode) {
- SEND_STRING (SS_UP (X_RSFT));
- }else{
- SEND_STRING (SS_UP (X_LSFT));
- }
-
- shift_ison = 0; // shift released
-
- if (isolate_trigger) { // no other key was hit since key down
-
-
- // Held medium long: _PAD, long: _MOV.
- // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
- // all by the left hand, when the right hand is on the mouse.
- if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
-
- if (RSFT_TILDE == keycode) {
- SEND_STRING ("~");
- }else{
- SEND_STRING ("-");
- }
- }
- }
- }
- break;
-
- case _FUN_STAY: // toggles if the f-keys return _FUN layer to BASE after one press
- if (record->event.pressed) { // key down
-
- if (_fun_stay == FALSE) {
- _fun_stay = TRUE;
- }else{
- _fun_stay = FALSE;
- }
- indicate_fun_stay (); // leds
- }
- break;
-
-# ifdef MOREKEY2_ARROW_CLUSTER
-
- case _MOV_UP: // To be sure it activates on up key, and not already has triggered the _MOV layer during up-key.
- if (record->event.pressed) { // key down
- ;
- }else{ // key up
- layer_move (_MOV);
- }
- break;
-# endif
-
- // These keys are so disruptive on an erroneous key press, that they are behind a shift lock.
- // When used unshifted, they print a memory aid string: their name.
- case C_KC_PWR:
- if (record->event.pressed) { // key down
- if (shift_ison) {
- SEND_STRING (SS_TAP (X_PWR));
- }else{
- SEND_STRING ("<POWER>"); // Memory aid
- }
- }
- break;
-
- case C_KC_WAKE:
- if (record->event.pressed) { // key down
- if (shift_ison) {
- SEND_STRING (SS_TAP (X_WAKE));
- }else{
- SEND_STRING ("<WAKE>"); // Memory aid
- }
- }
- break;
-
- case C_KC_SLEP:
- if (record->event.pressed) { // key down
- if (shift_ison) {
- SEND_STRING (SS_TAP (X_SLEP));
- }else{
- SEND_STRING ("<SLEEP>"); // Memory aid
- }
- }
- break;
-
- case C_KC_PAUS:
- if (record->event.pressed) { // key down
- if (shift_ison) {
- SEND_STRING (SS_TAP (X_PAUS));
- }else{
- SEND_STRING ("<PAUSE>"); // Memory aid
- }
- }
- break;
-
- case LEDS_ON: // Toggles left/right leds on or off
- if (record->event.pressed) { // key down
-
-# ifdef RGBLIGHT_ENABLE
- if (leds_on == FALSE) {
- leds_on = TRUE;
- }else{
- leds_on = FALSE;
- }
- set_led_colors_ (state_recall); // Update leds
- }
-# endif
-
- break;
-
-# ifdef LEDS_OFF_BASE_DEF // This messes with led effect on/off, so we need to track the state of this setting now.
- case RGBTOG_: // Toggles middle led on or off
- if (record->event.pressed) { // key down
- if (led_middle_on == FALSE) {
- led_middle_on = TRUE;
- rgblight_enable_noeeprom ();
- }else{
- led_middle_on = FALSE;
- rgblight_disable_noeeprom ();
- }
- }
- break;
-# endif
-
- // Some keycodes treated specially for the two counting systems (speed, text size)
- // Deletions:
- case KC_BSPC: // non-counting speed
- case KC_DEL: // non-counting speed
- if (record->event.pressed) { // key down
- if (sizecount_measure) sizecount_chars--; // minus count for text size (removed a character)
- }
- break;
-
- // White space for counting words
- case LT__MOV__KC_ENT: // We want to count the <enter> for word-counts, sadly this looses the key repetition of LT(…)
- if (record->event.pressed) { // key down
-
- key_timer = timer_read ();
- layer_move (_MOV);
-
- }else{ // key up
- if (alternate) { // Back to letters
- layer_move (_ALT_BASE);
- }else{
- layer_move (_DEF_BASE);
- }
- if (timer_elapsed (key_timer) <= TAPPING_TERM_HOLTAP) { // tapped
- send_string ("\n");
- if (sizecount_measure) {
- sizecount_chars++;
-
- if (sizecount_word) sizecount_blanks++; // count a word
- sizecount_word = FALSE; // don't count immediately next blank as a word
- }
- }
- }
- break;
-
- // Word counting
- case KC_SPC:
- if (record->event.pressed) { // key down
- if (sizecount_measure) {
- sizecount_chars++;
-
- if (sizecount_word) sizecount_blanks++; // count a word
- sizecount_word = FALSE; // don't count immediately next blank as a word
- }
- }
- break;
-
- // These are excluded from counting for text size/speed, they prevent the “default“ in the case statement to execute.
-
- case KC_LEFT:
- case KC_UP:
- case KC_DOWN:
- case KC_RIGHT:
- case KC_PGUP:
- case KC_PGDN:
- case KC_HOME:
- case KC_END:
- case LALT_T ( KC_LEFT ):
- if (speed_measure) speed_countdown++; // Navigation could be integral to someone typing and correcting mistakes,
- // but those keys don't add any text.
- // Mouse movement is discounted in both speed and text size
- case KC_WH_L:
- case KC_WH_D:
- case KC_WH_U:
- case KC_WH_R:
- case KC_MS_L:
- case KC_MS_D:
- case KC_MS_U:
- case KC_MS_R:
- case KC_BTN1:
- case KC_BTN5:
- case KC_BTN4:
- case KC_BTN3:
- case KC_BTN2:
- break;
-
-
- default: // If something else, it is a speed- and text measurement counting key
- if (record->event.pressed) { // key down
- if (speed_measure) speed_countdown--;
- if (sizecount_measure) sizecount_chars++;
- }
- }
-
- // If speed measuring is on, count keypresses
- // The idea is to more/less follow common standard with typing speed counting: shift is not counted,
- // layer-switching or its equivalent is neither. Arrows are not counted.
- if (speed_measure) {
- if (record->event.pressed) { // key down
-
- if (0 >= speed_countdown) {
-
- // key presses per second, but times ten for added precision of one digit
- // This calculation quickly looses precision if not calculated with high enough numbers, but low enough to fit.
- speed = (int) ( (SPEED_COUNTDOWN * 1000 ) / ((timer_read32 () - speed_counttime)/10) ); // counts time in ms
- speed_led (speed); // updates led
-
- // record for average
- if (0 < (speed/10)) { // ignore 0 k/s batches, we assume the typer took a break
- speed_batches++;
- speed_add += speed;
- }
-
- // reset for next batch
- speed_countdown = SPEED_COUNTDOWN; // reset
- speed_counttime = timer_read32 ();
- }
- }
- }
-
- // For word-counting, ignore double blanks
- if (sizecount_measure) {
- if (record->event.pressed) {
- bool within = TRUE; // When text size is maximized, this indicates we are not yet at that maximum.
-
-# ifdef RGBLIGHT_ENABLE
- unsigned short size_fraction = 0; // Used to compute led color as a fraction of a set maximum which is already typed.
-# endif
-
- // ignoring blanks wordcount
- if ((keycode != KC_SPC)
- &&
- (keycode != KC_TAB) // This is ok, but a tab on BASE layer combo with Control, is not caught by this XXX (problem ignored, I never write Tab in a text worth counting)
- &&
- (keycode != LT__MOV__KC_ENT)
- &&
- (keycode != LT__MOV__KC_ENT)) {
-
- sizecount_word = TRUE; // current key is not a blank, so we set this trigger for next key press
- }
-
- // computing maximum count effects: leds
- if (0 != sizecount_max) {
-
- if (SIZECOUNT_WORD == sizecount_max_type) {
- if (sizecount_blanks > sizecount_max) within = FALSE;
- }else{ // count chars
- if (sizecount_chars > sizecount_max) within = FALSE;
- }
-
- // led colors
- if (within) { // green to red middle led
-
-# ifdef RGBLIGHT_ENABLE
- if (SIZECOUNT_WORD == sizecount_max_type) {
- size_fraction = (90 * sizecount_blanks) / sizecount_max;
- }else{
- size_fraction = (90 * sizecount_chars) / sizecount_max;
- }
-
- rgblight_sethsv_noeeprom (90 - size_fraction , 255, 255); // green to red, full saturation, full lit
-# endif
-
- }else{ // when at or over the limit: blink led red/white
- if ((KC_BSPC != keycode)
- && (KC_DEL != keycode) // User already deleting, doubling is confusing
- && (CHOLTAP_LAYR != keycode)) { // This brings up the _RAR layer, to access the Count settings.
-
- SEND_STRING (SS_TAP(X_BSPC)); // refuses to type further, the user is stopped from typing to make it obvious
-
- }
-
-# ifdef RGBLIGHT_ENABLE
- if (sizecount_chars & 0x1) { // flip by every keypress
- rgblight_sethsv_noeeprom (HSV_RED);
- }else{
- rgblight_sethsv_noeeprom (HSV_WHITE);
- }
-# endif
-
- }
-
-# ifdef RGBLIGHT_ENABLE
- rgblight_set (); // only center led is altered, no need to go through isolate_rgblight_set()
-# endif
-
- }
- }
- }
-
- // Simple macros, printing a character.
- switch (keycode) {
-
- /* _ACC layer definitions. */
-
- // ------------------------- row 4
-
-# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
- case XP_ACC_AA: // because a
- if (record->event.pressed) { // key down
- unicode_hex2output (CAL_ACU, CAU_ACU);// á Ã
- }
- break;
-
- case XP_ACC_AB: // because o (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (COL_ACU, COU_ACU);// ó Ó
- }
- break;
-
- case XP_ACC_AC: // because e (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CEL_ACU, CEU_ACU);// é É
- }
- break;
-
- case XP_ACC_AD: // because u (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CUL_ACU, CUU_ACU);// ú Ú
- }
- break;
-
- case XP_ACC_AE: // because i (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CIL_ACU, CIU_ACU);// í Ã
- }
- break;
-
- case XP_ACC_AF: // Because near Y
- if (record->event.pressed) { // key down
- unicode_hex2output (CYL_ACU, CYU_ACU);// ý Ã
- }
- break;
-
- case XP_ACC_AG: // because near Y
- if (record->event.pressed) { // key down
- unicode_hex2output (CIJL_BI, CIJU_BI);// ij IJ
- }
- break;
-
- case XP_ACC_AH: // because c (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CCL_CDL, CCU_CDL);// ç Ç
- }
- break;
-
- case XP_ACC_AI: // because ring-finger left is o (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (COL_STK, COU_STK);// ø Ø
- }
- break;
-
- case XP_ACC_AJ: // because pinky finger left is a
- if (record->event.pressed) { // key down
- unicode_hex2output (CAL_RNG, CAU_RNG);// å Å
- }
- break;
-
- // ------------------------- row 3
- case XP_ACC_BA: // because a
- if (record->event.pressed) { // key down
- unicode_hex2output (CAL_DIA, CAU_DIA);// ä Ä
- }
- break;
-
- case XP_ACC_BB: // because o (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (COL_DIA, COU_DIA);// ö Ö
- }
- break;
-
- case XP_ACC_BC: // because e (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CEL_DIA, CEU_DIA);// ë Ë
- }
- break;
-
- case XP_ACC_BD: // because u (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CUL_DIA, CUU_DIA);// ü Ü
- }
- break;
-
- case XP_ACC_BE: // because i
- if (record->event.pressed) { // key down
- unicode_hex2output (CIL_DIA, CIU_DIA);// ï Ã
- }
- break;
-
- case XP_ACC_BF: // because near y
- if (record->event.pressed) { // key down
- unicode_hex2output (CYL_DIA, CYU_DIA);// ÿ Ÿ
- }
- break;
-
- case XP_ACC_BG: // because vague logic about other hand having ae near on similar fingers
- if (record->event.pressed) { // key down
- unicode_hex2output (COEL_BI, COEU_BI);// Å“ Å’
- }
- break;
-
- case XP_ACC_BH: // because near Å“, toward the side of a (pinky)
- if (record->event.pressed) { // key down
- unicode_hex2output (CAEL_BI, CAEU_BI);// æ Æ
- }
- break;
-
- case XP_ACC_BI: // because n
- if (record->event.pressed) { // key down
- unicode_hex2output (CNL_TLD, CNU_TLD);// ñ Ñ
- }
- break;
-
- case XP_ACC_BJ: // because s
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CSL_SHP);// ß ß
- }
- break;
-
- case XP_ACC_BK: // because roughly the location on French keyboard
- if (record->event.pressed) { // key down
- unicode_hex2output_single (C_MU_L);// μ
- }
- break;
-
- // ------------------------- row 2
- case XP_ACC_CA: // because a
- if (record->event.pressed) { // key down
- unicode_hex2output (CAL_GRA, CAU_GRA);//à À
- }
- break;
-
- case XP_ACC_CB: // because o (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (COL_GRA, COU_GRA);// ò Ò
- }
- break;
-
- case XP_ACC_CC: // because e (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CEL_GRA, CEU_GRA);// è È
- }
- break;
-
- case XP_ACC_CD: // because u (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CUL_GRA, CUU_GRA);// ù Ù
- }
- break;
-
- case XP_ACC_CE: // because i (Dvorak)
- if (record->event.pressed) { // key down
- unicode_hex2output (CIL_GRA, CIU_GRA);// ì Ì
- }
- break;
-
- case XP_ACC_CF: // because other hand same finger i
- if (record->event.pressed) { // key down
- unicode_hex2output (CIL_CAR, CIU_CAR);// î Î
- }
- break;
-
- case XP_ACC_CG: // because other hand same finger u
- if (record->event.pressed) { // key down
- unicode_hex2output (CUL_CAR, CUU_CAR);// û Û
- }
- break;
-
- case XP_ACC_CH: // because other hand same finger e
- if (record->event.pressed) { // key down
- unicode_hex2output (CEL_CAR, CEU_CAR);// ê Ê
- }
- break;
-
- case XP_ACC_CI: // because other hand same finger o
- if (record->event.pressed) { // key down
- unicode_hex2output (COL_CAR, COU_CAR);// ô Ô
- }
- break;
-
- case XP_ACC_CJ: // because other hand same finger a
- if (record->event.pressed) { // key down
- unicode_hex2output (CAL_CAR, CAU_CAR);// â Â
- }
- break;
-
-# endif // REMOVE_ACC // This cuts out the whole _ACC layer.
-
-
- /* _DRA layer definitions. */
-
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
- // ------------------------- row 4
- case XP_DRA_AA: // because '", the opening „“ at the ‛open’ of the keyboard (left/up)
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_DQUHR, CS_DQUL);// “ „
-
- }
- break;
-
- case XP_DRA_AB: // because to the right of opening “, ≤ on <
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_DQUH, CS_ELTHAN);// †≤
-
- }
- break;
-
- case XP_DRA_AC: // because this is where the £ is on an English keyboard, on 'any' money symbols ¤; ≥ on >
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_POUND, CS_EGTHAN);// £ ≥
-
- }
- break;
-
- case XP_DRA_AD: // because ∅ looks like ¢, and ¢ (cent) is on $ (money) ?
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_4THROW
- unicode_hex2output (CS_NONE, CS_CENT);// ∅ ¢
-# else
- unicode_hex2output_single (CS_NONE);// ∅ ¢
-# endif
-
- }
- break;
-
- case XP_DRA_AE: // because percentages %‰‱ and money ƒ are numerical ?
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_4THROW
- unicode_hex2output (CS_PLMI, CS_LGULDEN);// ± ƒ
-# else
- unicode_hex2output_single (CS_PLMI);// ±
-# endif
-
- }
- break;
-
- case XP_DRA_AF: // Because left of 🙂, on top of ★
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_FLEUR, CS_HEART);// ⦠♥
-
- }
- break;
-
- case XP_DRA_AG: // because 😊 â¨
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_SMIL, CS_SAD_);// 🙂 ðŸ™
-
- }
- break;
-
- case XP_DRA_AH: // because «no reason», next to 😊 (emoticons)
- if (record->event.pressed) { // key down
-
- unicode_hex2output (CS_THUP, CS_THDN);// 👠👎
-
- }
- break;
-
- case XP_DRA_AI: // because (
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_4THROW
- unicode_hex2output (CS_OPSUP, CS_OPSUB);// â½ â‚
-# endif
-
- }
- break;
-
- case XP_DRA_AJ: // because )
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_4THROW
- unicode_hex2output (CS_CPSUP, CS_CPSUB);// â¾ â‚Ž
-# endif
-
- }
- break;
-
- // ------------------------- row 3
- case XP_DRA_BA: // because 1
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_1SUP, CN_1SUB);// ¹ â‚
-# else
- unicode_hex2output_single (CN_1SUP);// ¹
-# endif
-
- }
- break;
-
- case XP_DRA_BB: // because 2
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_2SUP, CN_2SUB);// ² ₂
-# else
- unicode_hex2output_single (CN_2SUP);// ²
-# endif
-
- }
- break;
-
- case XP_DRA_BC: // because 3
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_3SUP, CN_3SUB);// ³ ₃
-# else
- unicode_hex2output_single (CN_3SUP);// ³
-# endif
-
- }
- break;
-
- case XP_DRA_BD: // because 4
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_4SUP, CN_4SUB);// â´ â‚„
-# else
- unicode_hex2output_single (CN_4SUP);// â´
-# endif
-
- }
- break;
-
- case XP_DRA_BE: // because 5
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_5SUP, CN_5SUB);// âµ â‚…
-# else
- unicode_hex2output_single (CN_5SUP);// âµ
-# endif
-
- }
- break;
-
- case XP_DRA_BF: // because 6
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_6SUP, CN_6SUB);// ⶠ₆
-# else
- unicode_hex2output_single (CN_6SUP);// â¶
-# endif
-
- }
- break;
-
- case XP_DRA_BG: // because 7
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_7SUP, CN_7SUB);// ⷠ₇
-# else
- unicode_hex2output_single (CN_7SUP);// â·
-# endif
-
- }
- break;
-
- case XP_DRA_BH: // because 8
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_8SUP, CN_8SUB);// ⸠₈
-# else
- unicode_hex2output_single (CN_8SUP);// â¸
-# endif
-
- }
- break;
-
- case XP_DRA_BI: // because 9
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_9SUP, CN_9SUB);// ⹠₉
-# else
- unicode_hex2output_single (CN_9SUP);// â¹
-# endif
-
- }
- break;
-
- case XP_DRA_BJ: // because 0
- if (record->event.pressed) { // key down
-
-# ifdef SUB_SCRIPT_NUMS
- unicode_hex2output (CN_0SUP, CN_0SUB);// â° â‚€
-# else
- unicode_hex2output_single (CN_0SUP);// â°
-# endif
-
- }
- break;
-
- // ------------------------- row 2
- case XP_DRA_CA: // because [
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_OCBRA, CB_HHORI);// 「 â”
-# else
- unicode_hex2output_single (CB_HHORI);// â”
-# endif
-
- }
- break;
-
- case XP_DRA_CB: // because ]
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_CCBRA, CB_LHORI);// 〠─
-# else
- unicode_hex2output_single (CB_LHORI);// ─
-# endif
-
- }
- break;
-
- case XP_DRA_CC: // because «no reason»
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_DEGREE, CS_CIRCLE);// ° 〇
-# else
- unicode_hex2output_single (CS_DEGREE);// °
-# endif
-
- }
- break;
-
- case XP_DRA_CD: // because «no reason»
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_BULLET, CS_PARA);// • §
-# else
- unicode_hex2output_single (CS_BULLET);// •
-# endif
-
- }
- break;
-
- case XP_DRA_CE: // because «no reason»
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_ELLIPS, CS_MIDDOT);// … ·
-# else
- unicode_hex2output_single (CS_ELLIPS);// …
-# endif
-
- }
- break;
-
- case XP_DRA_CF: // because «no reason» (+ resembles ‛☒’ ?), ✗
- if (record->event.pressed) { // key down
- unicode_hex2output (CS_CHECK_B, CS_CHECK_N);// ☠☒
- }
- break;
-# endif
-
- // This one must be included for _RAR layer
- case XP_DRA_CG: // because next to ✗ ☠☒
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_CHECK_Y, CS_CHECK_H);// ☑ 🗹
-# else
- unicode_hex2output_single (CS_CHECK_Y);// ☑
-# endif
-
- }
- break;
-
-# ifndef REMOVE_DRA // This cuts out the whole _DRA layer
- case XP_DRA_CH: // because ?
- if (record->event.pressed) { // key down
- unicode_hex2output (CQU_INV, CEX_INV);// ¿ ¡
- }
- break;
-
- case XP_DRA_CI: // because {, ┄ «no reason» (opposite side from â”)
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_ODABRA, CB_LHORID);// 《 ┄
-# else
- unicode_hex2output_single (CB_LHORID);// ┄
-# endif
-
- }
- break;
-
- case XP_DRA_CJ: // because }, ┅ «no reason» (opposite side from ─)
- if (record->event.pressed) { // key down
-
-# ifdef FULL_DRA_2NDROW
- unicode_hex2output (CS_CDABRA, CB_HHORID);// 》 ┅
-# else
- unicode_hex2output_single (CB_HHORID);// â”…
-# endif
- }
- break;
-# endif // REMOVE_DRA
-
-
- /* _BON layer definitions. */
-
- // ------------------------- row 4
-# ifndef REMOVE_BON // Removes this layer entirely, if set.
- case XP_BON_AA: // because of ' "
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_HQUOSB, CS_USER_DEFINED);// ‛ 🛠
-# else
- unicode_hex2output_single (CS_HQUOSB);// ‛
-# endif
-
- }
- break;
-
- case XP_BON_AB: // because of <, because "WASD" on _MOV
- // 0x2019, single quotation mark: ’
- // 0x2B06 arrow up: ⬆
- if (record->event.pressed) { // key down
- unicode_hex2output (CS_HQUOSE, CS_ARR_UP);// ’ ⬆
- }
- break;
-
- case XP_BON_AC: // because of >
- // 0x00A4 any currency symbol: ¤
- // 0x1F12F Copyleft: 🄯 (means free to copy, see also © for not free to copy.)
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_CURREN, CS_COPYL);// ¤ 🄯
-# else
- unicode_hex2output_single (CS_CURREN);// ¤
-# endif
-
- }
- break;
-
- case XP_BON_AD: // because $ and ¢ can be about money, and money is often added together
- // because … no reason, left over space.
- // 0x2211, summation: ∑
- // 0xA9, copyright: ©
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_CUMMU, CS_COPY);// ∑ ©
-# else
- unicode_hex2output_single (CS_CUMMU);// ∑
-# endif
-
- }
- break;
-
- case XP_BON_AE: // because % for percent
- // 0x2030,// promille: ‰
- // 0x2031,// pro ten thousandth: ‱
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_PROM, CS_PROTT);// ‰ ‱
-# else
- unicode_hex2output_single (CS_PROM);// ‰
-# endif
-
- }
- break;
-
- case XP_BON_AF: // Because ♥ is a star, ⦠and stars can be used as bullet points
- // 0x2605, star: ★
- // 0x066D, star small: Ù­
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_STARB, CS_STARL);// ★ ٭
-# else
- unicode_hex2output_single (CS_STARB);// ★
-# endif
-
- }
- break;
-
- case XP_BON_AG: // because of 🙂 ðŸ™
- // 0x1f60A,// <smile> ^^ 😊
- // 0x2368,// "Squiggly" face <sad> â¨
-
-# ifdef FULL_BON_4THROW
- if (record->event.pressed) { // key down
- unicode_hex2output (CS_SMILP, CS_SQUIG);// 😊 â¨
- }
-# endif
-
- break;
-
- case XP_BON_AH: // because * also for multiply, because asterisk *
- // 0x00D7,// multiply: ×
- // 0x20F0 high asterisk: ⃰(this thing seems to behave a bit weird in vim(1) or terminal)
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output (CS_MULT, CS_ASTL);// × ⃰
-# else
- unicode_hex2output_single (CS_MULT);// ×
-# endif
-
- }
- break;
-
- case XP_BON_AI: // because ø sort of seems to divide something, and √ also does that, and close to â»âº (exponential)
- // 0x221A,// square root: √
- if (record->event.pressed) { // key down
-
-# ifdef FULL_BON_4THROW
- unicode_hex2output_single (CS_SQRT);// √
-# endif
-
- }
- break;
-
- case XP_BON_AJ: // because å points in the circle where this exponential minus goes, and it is right/"up" on the board
- // because â»âº belong together
- // 0x207B,// exponential minus sign: â»
- // 0x207A,// exponential plus: âº
-
-# ifdef FULL_BON_4THROW
- if (record->event.pressed) { // key down
- unicode_hex2output (CS_EXPMIN, CS_EXPPLS);// â» âº
- }
-# endif
-
- break;
-
- // ------------------------- row 3
- case XP_BON_BA: // because 1, because "WASD" on _MOV (depending on setup)
- // 0x2460, "1" : â‘ 
- // 0x2B05, arrow left: ⬅
- if (record->event.pressed) { // key down
- unicode_hex2output (CN_1CIRC, CS_ARR_LE);// ① ⬅
- }
- break;
-
- case XP_BON_BB: // because 2, because "WASD" on _MOV (depending)
- // 0x2461, "2" : â‘¡
- // 0x2B07, arrow down: ⬇
- if (record->event.pressed) { // key down
- unicode_hex2output (CN_2CIRC, CS_ARR_DN);// ② ⬇
- }
- break;
-
- case XP_BON_BC: // because 3, because "WASD" on _MOV (depending)
- // 0x2462, "3" : â‘¢
- // 0x27A1, arrow right: âž¡
- if (record->event.pressed) { // key down
- unicode_hex2output (CN_3CIRC, CS_ARR_RI);// â‘¢ âž¡
- }
- break;
-
- case XP_BON_BD: // because 4, because â” forms a box with the other box drawings to the right/down
- // 0x2463, "4" : â‘£
- // 0x250F, box drawing heavy: â”
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CN_4CIRC, CB_C_RIDN);// â‘£ â”
-# else
- unicode_hex2output_single (CN_4CIRC);// â‘£
-# endif
-
- }
- break;
-
- case XP_BON_BE: // because 5, because ┓ forms a box
- // 0x2513,box drawing heavy: ┓
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CN_5CIRC, CB_C_LEDN);// ⑤ ┓
-# else
- unicode_hex2output_single (CN_5CIRC);// ⑤
-# endif
-
- }
- break;
-
- case XP_BON_BF: // because 6, because ┃ continues box block
- // 0x2465, "6" : â‘¥
- // 0x2503, box drawing heavy: ┃
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CN_6CIRC, CB_VE);// ⑥ ┃
-# else
- unicode_hex2output_single (CN_6CIRC);// â‘¥
-# endif
-
- }
- break;
-
- case XP_BON_BG: // because 7, because ┇ continues box block
- // 0x2466, "7" : ⑦
- // 0x2507, dotted line verticle (heavy): ┇
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CN_7CIRC, CB_VE_DOT);// ⑦ ┇
-# else
- unicode_hex2output_single (CN_7CIRC);// ⑦
-# endif
-
- }
- break;
-
- case XP_BON_BH: // because 8, â•‹ because 8 also has a crossing line in it
- // 0x254B, crossing lines: â•‹
- // 0x2467, "8" : ⑨
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CN_8CIRC, CB_VE_BI);// ⑧ ╋
-# else
- unicode_hex2output_single (CN_8CIRC);// ⑧
-# endif
-
- }
- break;
-
- case XP_BON_BI: // because 9
- // 0x2468, "9" : ⑨
- // 0x2513,box drawing heavy: ┓
- if (record->event.pressed) { // key down
-
- unicode_hex2output_single (CN_9CIRC);// ⑨
-
- }
- break;
-
- case XP_BON_BJ: // because 0, because a "0" can also be a symbol for infinity, round & round
- // 0x24EA, "0" : ⓪
- // 0x221E,// infinity:∞
- if (record->event.pressed) { // key down
- unicode_hex2output (CN_0CIRC, CS_INFIN);// ⓪ ∞
- }
- break;
-
- case XP_BON_BK: // because -, because ~
- // 0x2014,// dash: — (might not render differently than a hyphen - in some applications. Dash is longer).
- // 0x2248,// about equal to: ≈
- if (record->event.pressed) { // key down
- unicode_hex2output (CS_DASH, CS_ABOUT);// — ≈
- }
- break;
-
- // ------------------------- row 2
- case XP_BON_CA: // because 1 above, because 「[
- // 0x2039, opening single corner quotation: ‹
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_GUILSLE);// ‹
- }
- break;
-
- case XP_BON_CB: // because 2 above, because ã€]
- // 0x203A, closing sinle corner quotation: ›
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_GUILSRI);// ›
- }
- break;
-
- case XP_BON_CC: // because 3 above, because / (division)
- // 0x00F7,// division: ÷
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_DIVI);// ÷
- }
- break;
-
- case XP_BON_CD: // because 4 above, â”— because forms box
- // 0x261E, hand bullet point: ☞
- // 0x2517, box drawing heavy: â”—
- if (record->event.pressed) { // key down
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CS_FINGER, CB_C_RIUP);// ☞ ┗
-# else
- unicode_hex2output_single (CS_FINGER);// ☞
-# endif
-
- }
- break;
-
- case XP_BON_CE: // because 5 above, because =, â”› because forms box
- // 0x2260,// inequal: ≠
- // 0x251B, box drawing heavy: â”›
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CS_UNEQL, CB_C_LEUP);// ≠ ┛
-# else
- unicode_hex2output_single (CS_UNEQL);// ≠
-# endif
-
- }
- break;
-
- case XP_BON_CF: // because ☒ , ┣ box drawings block, some place
- // 0x2717, cross mark: ✗ (complements ✓)
- // 0x2523, box drawing: ┣
- if (record->event.pressed) { // key down
-
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CS_BOTCH, CB_VE_RI);// ✗ ┣
-# else
- unicode_hex2output_single (CS_BOTCH);// ✗
-# endif
-
- }
- break;
-
- case XP_BON_CG: // because 7 above, because ☑ 🗹 , ┫ complements with key to its left
- // 0x2713, checkmark: ✓
- // 0x252B, box drawing: ┫
-
- if (record->event.pressed) { // key down
-# ifdef BOX_DRAWINGS
- unicode_hex2output (CS_CHECK, CB_VE_LE);// ✓ ┫
-# else
- unicode_hex2output_single (CS_CHECK);// ✓
-# endif
-
- }
- break;
-
- case XP_BON_CH: // because 8 above, because ¡ (inverted exclamation mark)
- // 0x26A0,// alert: âš 
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_ALERT);// âš 
- }
- break;
-
- case XP_BON_CI: // because 9 above, because 《
- // 0xAB, French quotation opening: «
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_GUILLE);// «
- }
- break;
-
- case XP_BON_CJ: // because 0 above, because 》
- // 0xBB, French quotation closing: »
- if (record->event.pressed) { // key down
- unicode_hex2output_single (CS_GUILRI);// »
- }
- break;
-
-# endif // REMOVE_BON
-
-// Hebrew
-# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
-// The layout follows a standard hebrew keyboard, with the exception
-// of ק, which is displaced by “.>†copied from the Dvorak layout.
-
- // HEBREW_DVORAK
- // These letters on the upper left follow Dvorak layout.
- // The reason is space on the device: these are not macros.
- // Also: typing compatibility between Dvorak and Hebrew
- // for these similar/same symbols: ,<.>. Idealy these symbols
- // should be the hebrew variation, if space allows it.
-
-# if defined(HEBREW_ISRAEL)
-
- case XP_HEB_AA: //
- if (record->event.pressed) { // key down
- // These shifts-up seem to work on GNU/Debian/Linux, otherwise it prints ':'
- if (shift_ison) send_string ( SS_UP(X_RSFT) SS_UP(X_LSFT) ";" ); // moved here from <esc> on standard hebrew
- else send_string ("/");//
- } break;
-
- case XP_HEB_AB: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_GERSH);// ׳
- }
- break;
-
- case XP_HEB_AC: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_QOF);// ק
- }
- break;
-
-# elif defined(HEBREW_QWERTY)
-
- case XP_HEB_AA: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_TAV);// ת
- }
- break;
-
- case XP_HEB_AB: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_TSDIS);// ×¥
- }
- break;
-
- case XP_HEB_AC: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_QOF);// ק
- }
- break;
-
-# endif // #HEBREW_*
-
- case XP_HEB_AD: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_RESH);// ר
- }
- break;
-
- case XP_HEB_AE: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_ALEF);// ×
-
- }
- break;
-
- case XP_HEB_AF: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_TET);// ט
- }
- break;
-
- case XP_HEB_AG: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_VAV);// ו
- }
- break;
-
- case XP_HEB_AH: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_NUNS);// ן
- }
- break;
-
- case XP_HEB_AI:
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL)
- // The logic is that it mirrors '", “„, â€â‰¤, ‛’ in Dvorak Base and other layers.
- // Therefore the little and ring fingers are used. Mirroring â”─ and ┄┅ on DRA_
- // layer, the outside on the keyboard is “big/fatâ€, the inside is “small/thinâ€,
- // like something protected in a shell. Hence: ……׳״
- unicode_hex2output_single (HB_MEMS);// × // ׳ is located elsewhere
-# elif defined(HEBREW_QWERTY) || defined(HEBREW_DVORAK)
- unicode_hex2output (HB_MEMS, HB_GERSH);// ×׳
-# endif
-
- }
- break;
-
- case XP_HEB_AJ: //
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL)
- unicode_hex2output_single (HB_PE);// פ // ״ is located elsewhere
-# elif defined(HEBREW_QWERTY) || defined(HEBREW_DVORAK)
- unicode_hex2output (HB_PE, HB_GRSHM);// פ״
-# endif
-
- }
- break;
-
- // ------------------------- row 3
- case XP_HEB_BA: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_SHIN);// ש
- }
- break;
-
- case XP_HEB_BB: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_DALET);// ד
- }
- break;
-
- case XP_HEB_BC: //Right-left-mark to the first free strong homerow finger on the left (middle)
- if (record->event.pressed) { // key down
- unicode_hex2output (HB_GIMEL, HB_RLM);// ×’ {RLM}
- }
- break;
-
- case XP_HEB_BD: // The logic is that ×› is the same key as 4 on another layer, which connects
- // with $, and other currencies in the same region (ģ).
- if (record->event.pressed) { // key down
- unicode_hex2output (HB_KAF, HB_SHEKL);// כ₪
- }
- break;
-
- case XP_HEB_BE: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_AYIN);// ×¢
- }
- break;
-
- case XP_HEB_BF: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_YOD);// ×™
- }
- break;
-
- case XP_HEB_BG: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_GET);// ×—
- }
- break;
-
- case XP_HEB_BH: //
- if (record->event.pressed) { // key down
- unicode_hex2output (HB_LAMED, HB_LRM);// ל {LRM}
- }
- break;
-
- case XP_HEB_BI: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_KAFS);// ך
- }
- break;
-
- case XP_HEB_BJ: //
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL) || defined(HEBREW_QWERTY)
- if (shift_ison) send_string (":"); // : (the hebrew eqquivalent is apparently almost never used, and this saves space)
- else unicode_hex2output_single (HB_PES);// ×£
-# elif defined(HEBREW_DVORAK)
- unicode_hex2output_single (HB_PES);// ×£
-# endif
-
- }
- break;
-
-# if defined(HEBREW_ISRAEL)
- case XP_HEB_BK: //
- if (record->event.pressed) { // key down
- if (shift_ison) unicode_hex2output_single (HB_GRSHM);// ×´
- else send_string (","); // comma
- }
- break;
-# endif
-
- case XP_HEB_MQF: // Ö¾ Maqaf
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_MAQAF);// Ö¾
- }
- break;
-
- // ------------------------- row 2
- case XP_HEB_CA: //
- if (record->event.pressed) { // key down
-// Hebrew harmonization + ':'
-# if defined(HEBREW_ISRAEL) || defined(HEBREW_QWERTY)
- unicode_hex2output_single (HB_ZAYIN);// ×–
-# elif defined(HEBREW_DVORAK)
- if (shift_ison) send_string (":"); //
- else unicode_hex2output_single (HB_ZAYIN);// ×–
-# endif
- }
- break;
-
- case XP_HEB_CB: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_SAMEG);// ס
- }
- break;
-
- case XP_HEB_CC: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_BET);// ב
- }
- break;
-
- case XP_HEB_CD: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_HE);// ×”
- }
- break;
-
- case XP_HEB_CE: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_NUN);// × 
- }
- break;
-
- case XP_HEB_CF: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_MEM);// מ
- }
- break;
-
- case XP_HEB_CG: //
- if (record->event.pressed) { // key down
- unicode_hex2output_single (HB_TSADI);// צ
- }
- break;
-
-# if defined(HEBREW_ISRAEL) || defined(HEBREW_DVORAK)
- case XP_HEB_CH: //
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL)
- if (shift_ison) send_string ("<"); //
- else unicode_hex2output_single (HB_TAV);// ת
-# else // HEBREW_DVORAK
- unicode_hex2output_single (HB_TAV);// ת
-# endif
-
- }
- break;
-
- case XP_HEB_CI: //
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL)
- if (shift_ison) send_string (">"); //
- else unicode_hex2output_single (HB_TSDIS);// ×¥
-# else // HEBREW_DVORAK
- unicode_hex2output_single (HB_TSDIS);// ×¥
-# endif
-
- }
- break;
-
- case XP_HEB_CJ: // anomaly
- if (record->event.pressed) { // key down
-
-# if defined(HEBREW_ISRAEL)
- if (shift_ison) send_string ("?"); //
- else send_string ("."); //
-# else // HEBREW_DVORAK
- unicode_hex2output_single (HB_QOF);// ק
-# endif
-
- }
- break;
-# endif // HEBREW_*
-
- // HB_D_VAV,
- // HB_VAVYD,
- // HB_D_YOD,
-# endif // Hebrew Base layer
- }
-
- return true;
-};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.h
deleted file mode 100644
index 3543315911..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Remainder: © 2019 by J.B. <joshb@xs4all.nl>
- *
- */
-
-#pragma once
-
-/* This file contains function declarations for functions used in
- * unicode_macros.c
- */
-
-#define PRESCRAMBLED_U "f" // This is the letter 'u' for Unicode input, as effective on GNU/Debian/Linux 10 set to Dvorak
-static uint16_t key_timer; // Used in _DDL to differentiate layer switching in half or full descramble mode.
- // In 'full' mode it goes to _DDD and _DDA Unicode layers, in 'half' mode to _DRA and _ACC.
-
-short duo_press_nsy_dra = 0; // This remembers how many of the duo-press keys are being pressed: _NSY / _DRA layers
-short duo_press_acc_bon = 0; // This remembers how many of the duo-press keys are being pressed: _ACC / _BON layers
-layer_state_t state_recall; // Also used when leds on/off is pressed
-
-void deactivate_all_but (int layer);
-void activate_this_layer (int layer);
-void indicate_base (void);
-void leds_show_off (void);
-void speed_report (int speed);
-void speed_led (int speed);
-void indicate_fun_stay (void);
-int write_number (long int input, short divide10);
-void isolate_rgblight_set (void);
-void set_led_colors_ (layer_state_t state);
-
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_weurope.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_weurope.h
deleted file mode 100644
index f4a5bdab72..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_weurope.h
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * Author: © 2019, 2020 by Jos Boersema
- *
- */
-
-#pragma once
-
-/* An amount of Unicode #defines
- * - western european accented characters
- * - various punctuation symbols, different number formats, math symbols, other symbols.
- */
-
- // a lower case variants
-#define CAL_ACU 0xe1 // 'C' for Costum 'A' for a, 'L' for lower, "ACU" for acute: á
-#define CAL_CAR 0xe2 // '' '' '' "CAR" for caret: â
-#define CAL_DIA 0xe4 // '' '' '' "DIA" for diaereses: ä
-#define CAL_GRA 0xe0 // '' '' '' "GRA" for grave: à
- // A upper case variants
-#define CAU_ACU 0xc1 // '' '' 'U' for upper, "ACU" for acute: Ã
-#define CAU_CAR 0xc2 // '' '' '' "CAR" for caret: Â
-#define CAU_DIA 0xc4 // '' '' '' "DIA" for diaereses: Ä
-#define CAU_GRA 0xc0 // '' '' '' "GRA" for grave: À
-
- // A with ring (Scandinavia)
-#define CAL_RNG 0xe5 // '' 'A' for a, 'L' for lower, "RNG" for Ring: å
-#define CAU_RNG 0xc5 // '' '' 'U' for upper, '' : Ã…
-
- // AE (French)
-#define CAEL_BI 0xe6 // '' "AE" for ae, 'L' for lower '' : æ
-#define CAEU_BI 0xc6 // '' '' 'U' for upper, '' : Æ
-
- // OE (French)
-#define COEL_BI 0x153 // '' "AO" for ao, 'L' for lower, "BI" for two-character: Å“
-#define COEU_BI 0x152 // '' '' 'U' for upper, '' ; Å’
-
- // Mu (French)
-#define C_MU_L 0x03BC // '' "MU" for Mu (Greek letter), 'L' for lower:
-
- // C with cedilla
-#define CCL_CDL 0xe7 // '' 'C' for c, 'L' for lower, "CDL" for cedilla: ç
-#define CCU_CDL 0xc7 // '' '' 'U' for upper, '' : Ç
-
- // e lower case variants
-#define CEL_ACU 0xe9 // 'C' for Costum 'E' for e, 'L' for lower, "ACU" for acute: é
-#define CEL_CAR 0xea // '' '' '' "CAR" for caret: ê
-#define CEL_DIA 0xeb // '' '' '' "DIA" for diaereses: ë
-#define CEL_GRA 0xe8 // '' '' '' "GRA" for grave: è
- // E upper case variants
-#define CEU_ACU 0xc9 // '' '' 'U' for uuper, "ACU" for acute: É
-#define CEU_CAR 0xca // '' '' '' "CAR" for caret: Ê
-#define CEU_DIA 0xcb // '' '' '' "DIA" for diaereses: Ë
-#define CEU_GRA 0xc8 // '' '' '' "GRA" for grave: È
-
- // i lower case variants
-#define CIL_ACU 0xed // '' 'I' for i, 'L' for lower, "ACU" for acute: í
-#define CIL_CAR 0xee // '' '' '' "CAR" for caret: î
-#define CIL_DIA 0xef // '' '' '' "DIA" for diaereses: ï
-#define CIL_GRA 0xec // '' '' '' "GRA" for grave: ì
- // I upper case variants
-#define CIU_ACU 0xcd // '' '' 'U' for upper, "ACU" for acute: Ã
-#define CIU_CAR 0xce // '' '' '' "CAR" for caret: ÃŽ
-#define CIU_DIA 0xcf // '' '' '' "DIA" for diaereses: Ã
-#define CIU_GRA 0xcc // '' '' '' "GRA" for grave: Ì
-
- // N with tilde
-#define CNL_TLD 0xf1 // '' 'N' for n, 'L' for lower, "TLD" for tilde: ñ
-#define CNU_TLD 0xd1 // '' '' 'U' for upper, '' : Ñ
-
- //Spanish additional symbols:
-#define CEX_INV 0xa1 // '' "EX" for exclamation mark, "INV" for inverted: ¡
-#define CQU_INV 0xbf // '' "QU" for question mark, '' : ¿
-
- // o lower case variants
-#define COL_ACU 0xf3 // 'C' for Costum 'O' for a, 'L' for lower, "ACU" for acute: ó
-#define COL_CAR 0xf4 // '' '' '' "CAR" for caret: ô
-#define COL_DIA 0xf6 // '' '' '' "DIA" for diaereses: ö
-#define COL_GRA 0xf2 // '' '' '' "GRA" for grave: ò
- // O upper case variants
-#define COU_ACU 0xd3 // '' '' 'U' for upper, "ACU" for acute: Ó
-#define COU_CAR 0xd4 // '' '' '' "CAR" for caret: Ô
-#define COU_DIA 0xd6 // '' '' '' "DIA" for diaereses: Ö
-#define COU_GRA 0xd2 // '' '' '' "GRA" for grave: Ã’
-
- // O with stroke (Scandinavia)
-#define COL_STK 0xf8 // '' 'O' for o, 'L' for lower, "STK" for Stroke: ø
-#define COU_STK 0xd8 // '' '' 'U' for upper, '' : Ø
-
- // u lower case variants
-#define CUL_ACU 0xfa // 'C' for Costum 'U' for u, 'L' for lower, "ACU" for acute: ú
-#define CUL_CAR 0xfb // '' '' '' "CAR" for caret: û
-#define CUL_DIA 0xfc // '' '' '' "DIA" for diaereses: ü
-#define CUL_GRA 0xf9 // '' '' '' "GRA" for grave: ù
- // U upper case variants
-#define CUU_ACU 0xda // '' 'U' for u, 'U' for upper, "ACU" for acute: Ú
-#define CUU_CAR 0xdb // '' '' '' "CAR" for caret: Û
-#define CUU_DIA 0xdc // '' '' '' "DIA" for diaereses: Ü
-#define CUU_GRA 0xd9 // '' '' '' "GRA" for grave: Ù
-
- // Y with acute
-#define CYL_ACU 0xfd // '' 'Y' for y, 'L' for lower, "ACU" for Acute: ý
-#define CYU_ACU 0xdd // '' '' 'U' for upper, '' : Ã
- // Y with diaereses
-#define CYL_DIA 0xff // '' 'Y' for y, 'L' for lower, "DIA" for Diareses: ÿ
-#define CYU_DIA 0x178 // '' '' 'U' for upper, '' : Ÿ
-
- // Dutch IJ
-#define CIJL_BI 0x133 // '' 'IJ' for ij, 'L' for lower, BI for two-character: ij
-#define CIJU_BI 0x132 // '' '' , 'U' for upper '' : IJ
-
- //German:
- // sharp s
-#define CSL_SHP 0xdf // '' 'S' for s, 'L' for lower, "SHP" for sharp: ß
-
- // Some Unicode symbols that might be handy
- // Happy symbols:
-#define CS_SMIL 0x1f642 // "C" for costum, "S" for symbol , "SMIL" for <smile> 🙂
-#define CS_SMILP 0x1F60A // '' , '' , "SMIL" for smile, "P" for plus: 😊
-#define CS_THUP 0x1f44d // '' , '' , "THUP" for <thumb up> ðŸ‘
-
- //Sad symbols
-#define CS_SAD_ 0x1f641 // '' , '' , "SAD_" for <sad face> ðŸ™
-#define CS_SQUIG 0x2368 // '' , '' , "SQUIG" for squigly face: â¨
-#define CS_THDN 0x1f44e // '' , '' , "THDN" for <thumb down> 👎
-
-// Punctuation
-#define CS_ASTL 0x20F0 // '' , '' , "AST" for asterisk, "L" for little: ⃰
-#define CS_DASH 0x2014 // '' , '' , "DASH" for dash (a longer hyphen, if rendered correctly): —
-#define CS_DQUH 0x201D // '' , '' , "D" for double, "QU" for quote, "H" for high: â€
-#define CS_DQUHR 0x201C // '' , '' , '' , ,, , '' , "R" for reverse: “
-#define CS_DQUL 0x201E // '' , '' , , "L" for low: „
-#define CS_GUILLE 0xAB // '' , '' , "GUIL" for guillemet (French quotation), "LE" for left-pointing: «
-#define CS_GUILRI 0xBB // '' , '' , '' , "RI" for right-pointing: »
-#define CS_GUILSLE 0x2039 // '' , '' , '' , "S" for simple, "LE" for left-pointing: ‹
-#define CS_GUILSRI 0x203A // '' , '' , '' , '' , "RI" for right-pointing: ›
-#define CS_HQUOSB 0x201B // '' , '' , "H" for high, "QUO" for quote, "S" for single, "B" for begin: ‛
-#define CS_HQUOSE 0x2019 // '' , '' , '' '' '' , "E" for end: ’
-
- // Unusual parenthesis types
-#define CS_OCBRA 0x300c // '' , '' , "O" for opening, "C" for corner, "BRA" for bracket:「
-#define CS_CCBRA 0x300d // '' , '' , "C" for closing, '' '' : ã€
-#define CS_ODABRA 0x300a // '' '' , "O" for opening, "D" for double, "A" for angled, "BRA" for bracket:《
-#define CS_CDABRA 0x300b // '' , '' , "C" for closing, '' '' '' : 》
-
- // currency
-#define CS_LGULDEN UNICODE_CURRENCY // '' , "L" for lower, "GULDEN" for gulden (guilder): Æ’
- // ^ special case for easy user configuration
-#define CS_CURREN 0xA4 // '' , '' , "CURREN" for currency, 'any currency' symbol: ¤
-#define CS_POUND 0xA3 // '' , '' , "POUND" for pound: £
-#define CS_CENT 0xA2 // '' , '' , "CENT" for cent: ¢
-
- // legal
-#define CS_COPY 0xA9 // '' , '' , "COPY" for copyright:
-#define CS_COPYL 0x1F12F // '' , '' , "COPY" for Copyright, "L" for left:
-
- // circle, dots, bullet points
-#define CS_BULLET 0x2022 // '' , '' , "BULLET" for bullet: •
-#define CS_CIRCLE 0x3007 // '' , '' , "CIRCLE" for circle: 〇
-#define CS_DEGREE 0xB0 // '' , '' , "DEGREE" for degree: °
-#define CS_ELLIPS 0x2026 // '' , '' , "ELLIPS" for bullet: …
-#define CS_FINGER 0x261E // '' , '' , "FINGER" for finger: ☞
-#define CS_MIDDOT 0x00B7 // '' , '' , "MIDDOT" for mid dot: ·
-#define CS_PARA 0x00A7 // '' , '' , "PARA" for paragraaf: §
-
- // super and sub script numbers
-#define CN_0SUB 0x2080 // '' , N for number, "SUB" for sub-script or "SUP" for super-script:â‚€
-#define CN_0SUP 0x2070 // '' , '' , '' :â°
-#define CN_1SUB 0x2081 // '' , '' , '' :â‚
-#define CN_1SUP 0xB9 // '' , '' , '' :¹
-#define CN_2SUB 0x2082 // '' , '' , '' :â‚‚
-#define CN_2SUP 0xB2 // '' , '' , '' :²
-#define CN_3SUB 0x2083 // '' , '' , '' :₃
-#define CN_3SUP 0xB3 // '' , '' , '' :³
-#define CN_4SUB 0x2084 // '' , '' , '' :â‚„
-#define CN_4SUP 0x2074 // '' , '' , '' :â´
-#define CN_5SUB 0x2085 // '' , '' , '' :â‚…
-#define CN_5SUP 0x2075 // '' , '' , '' :âµ
-#define CN_6SUB 0x2086 // '' , '' , '' :₆
-#define CN_6SUP 0x2076 // '' , '' , '' :â¶
-#define CN_7SUB 0x2087 // '' , '' , '' :₇
-#define CN_7SUP 0x2077 // '' , '' , '' :â·
-#define CN_8SUB 0x2088 // '' , '' , '' :₈
-#define CN_8SUP 0x2078 // '' , '' , '' :â¸
-#define CN_9SUB 0x2089 // '' , '' , '' :₉
-#define CN_9SUP 0x2079 // '' , '' , '' :â¹
-
-// Exponent symbols
-#define CS_CPSUB 0x208E // '' , '' , "C" for closing, "P" for paranthesis, "SUB" for subscript: â‚Ž
-#define CS_OPSUB 0x208D // '' , '' , "O" for opening, '' , '' : â‚
-#define CS_CPSUP 0x207E // '' , '' , "C" for closing, '' , "SUP" for superscript: â¾
-#define CS_OPSUP 0x207D // '' , '' , "O" for opening: '' , '' : â½
-#define CS_EXPMIN 0x207B // '' , '' , "EXP" for exponent, "MIN" for minus : â»
-#define CS_EXPPLS 0x207A // '' , '' , '' , "PLS" for plus : âº
-// Math
-#define CS_ABOUT 0x2248 // '' , '' , "ABOUT" for about equal: ≈
-#define CS_CUMMU 0x2211 // '' , '' , "CUMMU" for cummulative: ∑
-#define CS_DIVI 0xF7 // '' , '' , "DIVI" for division: ÷
-#define CS_EGTHAN 0x2265 // '' , '' , "E" for equal, "G" for or-greater, "THAN" for than: ≥
-#define CS_ELTHAN 0x2264 // '' , '' , "E" for equal, "L" for or-less, "THAN" for than: ≤
-#define CS_INFIN 0x221E // '' , '' , "INFIN" for infinity: ∞
-#define CS_MULT 0xD7 // '' , '' , "MULTI" for multiplication: ×
-#define CS_NONE 0x2205 // '' , '' , "NONE" for empty-set / no-solution: ∅
-#define CS_PLMI 0xB1 // '' , '' , "PLMI" for plus-minus; ±
-#define CS_PROM 0x2030 // '' , '' , "PROM" for promille: ‰
-#define CS_PROTT 0x2031 // '' , '' , "PRO" for pro-, "TT" for ten-thousandth: ‱
-#define CS_SQRT 0x221A // '' , '' , "SQRT" for square root: √
-#define CS_UNEQL 0x2260 // '' , '' , "UNEQL" for unequal: ≠
-
-# ifdef POINT_ON_CHECKBOXES
- // pointers
-# define CS_CHECK_H 0x2B9B // '' , '' , "H" for Down, '' : â®›
-# define CS_CHECK_B 0x2B98 // '' , '' , "L" for Left, "ARROW" for arrow: ⮘
-# define CS_CHECK_Y 0x2B9A // '' , '' , "R" for Right, '' : ⮚
-# define CS_CHECK_N 0x2B99 // '' , '' , "U" for UP, '' : â®™
-# else
- // checkboxes
-# define CS_CHECK_H 0x1F5F9 // '' , '' , "CHECK" for check mark, "H" for heavy: 🗹
-# define CS_CHECK_B 0x2610 // '' , '' , '' , "B" for blank: â˜
-# define CS_CHECK_Y 0x2611 // '' , '' , '' , "Y" for yes: ☑
-# define CS_CHECK_N 0x2612 // '' , '' , '' , "N" for no: ☒
-# endif
-
-// More arrows
-#define CS_ARR_DN 0x2B07 // '' , '' , "ARR" for arrow, "DN" for down: ⬇
-#define CS_ARR_LE 0x2B05 // '' , '' , "ARR" for arrow, "LE" for left: ⬅
-#define CS_ARR_RI 0x27A1 // '' , '' , "ARR" for arrow, "RI" for right: âž¡
-#define CS_ARR_UP 0x2B06 // '' , '' , "ARR" for arrow, "UP" for up: ⬆
-
-// More checkmarks
-#define CS_BOTCH 0x2717 // '' , '' , "BOTCH" for botched: ✗
-#define CS_CHECK 0x2713 // '' , '' , "CHECK" for check mark: ✓
-
-// circled numbers
-#define CN_0CIRC 0x24EA // '' , "N" for number, "0" for , "CIRC" for circled: ⓪
-#define CN_1CIRC 0x2460 // '' , '' , "1" for 1, "CIRC" for circled: â‘ 
-#define CN_2CIRC 0x2461 // '' , '' , "2" for 2, "CIRC" for circled: â‘¡
-#define CN_3CIRC 0x2462 // '' , '' , "3" for 3, "CIRC" for circled: â‘¢
-#define CN_4CIRC 0x2463 // '' , '' , "4" for 4, "CIRC" for circled: â‘£
-#define CN_5CIRC 0x2464 // '' , '' , "5" for 5, "CIRC" for circled: ⑤
-#define CN_6CIRC 0x2465 // '' , '' , "6" for 6, "CIRC" for circled: â‘¥
-#define CN_7CIRC 0x2466 // '' , '' , "7" for 7, "CIRC" for circled: ⑦
-#define CN_8CIRC 0x2467 // '' , '' , "8" for 8, "CIRC" for circled: ⑧
-#define CN_9CIRC 0x2468 // '' , '' , "9" for 9, "CIRC" for circled: ⑨
-#define CN_10CIRC 0x2469 // '' , '' , "10" for 10, "CIRC" for circled: â‘©
-#define CN_11CIRC 0x246A // '' , '' , "11" for 11, "CIRC" for circled: ⑪
-#define CN_12CIRC 0x246B // '' , '' , "12" for 12, "CIRC" for circled: â‘«
-#define CN_13CIRC 0x246C // '' , '' , "13" for 13, "CIRC" for circled: ⑬
-#define CN_14CIRC 0x246D // '' , '' , "14" for 14, "CIRC" for circled: â‘­
-#define CN_15CIRC 0x246E // '' , '' , "15" for 15, "CIRC" for circled: â‘®
-#define CN_16CIRC 0x246F // '' , '' , "16" for 16, "CIRC" for circled: ⑯
-#define CN_17CIRC 0x2470 // '' , '' , "17" for 17, "CIRC" for circled: â‘°
-#define CN_18CIRC 0x2471 // '' , '' , "18" for 18, "CIRC" for circled: ⑱
-#define CN_19CIRC 0x2472 // '' , '' , "19" for 19, "CIRC" for circled: ⑲
-
-// Box drawings
-#define CB_C_LEDN 0x2513 // '' , "B" for box drawing, "C" for corner, "LE" for left, "DN" for down: ┓
-#define CB_C_LEUP 0x251B // '' , '' , "C" for corner, "LE" for left, "UP" for up: â”›
-#define CB_C_RIDN 0x250F // '' , '' , "C" for corner, "RI" for right, "DN" for down: â”
-#define CB_C_RIUP 0x2517 // '' , '' , "C" for corner, "RI" for right, "UP" for up: â”—
-#define CB_VE 0x2503 // '' , '' , "VE" for verticle: ┃
-#define CB_VE_BI 0x254B // '' , '' , "VE" for verticle, "BI" for bi (two): â•‹
-#define CB_VE_DOT 0x2507 // '' , '' , "VE" for verticle, "DOT" for dotted: ┇
-#define CB_VE_LE 0x252B // '' , '' , "VE" for verticle, "LE" for left: ┫
-#define CB_VE_RI 0x2523 // '' , '' , "VE" for verticle, "RI" for right: ┣
-// Horizontal lines, can be used with box drawings
-#define CB_HHORI 0x2501 // '' , '' , "H" for heavy, '' : â”
-#define CB_HHORID 0x2505 // '' , '' , "H" for heavy, '' , "D" for dashes: â”…
-#define CB_LHORI 0x2500 // '' , '' , "L" for light, "HORI" for horizontal: ─
-#define CB_LHORID 0x2504 // '' , '' , "L" for light, '' , "D" for dashes: ┄
-
-// Signs, unusual
-#define CS_ALERT 0x26A0 // '' , "S" for symbol, "ALERT" for alert/warning: âš 
-#define CS_STARB 0x2605 // '' , '' , "STAR" for star, "B" for big: ★
-#define CS_STARL 0x66D // '' , '' , "STAR" for star, "L" for little: Ù­
-#define CS_FLEUR 0x2766 // '' , '' , "FLEUR" for fleur (flower): â¦
-#define CS_HEART 0x2665 // '' , '' , "HEART" for heart: ♥
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h
deleted file mode 100644
index 6552c9a49f..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- * License (GPL):
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- * © 2019,2020 by Jos Boersema
- *
- */
-
-#pragma once
-
-// ------------------------------------- ⬇ --------------------------------------
-// Configuration:
-// ------------------------------------- ⬇ --------------------------------------
-
- // (For the non-coders:
- // “_Remove_†means to place ‛//’ in front of a line. The rest of the line becomes a comment.
- // Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation.
- // “_Activate_†means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled
- // /* ... */ is another a way to turn “...†into being a comment which is ignored during compilation.
- // (The documentation here is geared toward people who have no understanding about programming.)
-
- /*
- --------------------------------------------------------------------------------------
- ----
- --
- -
- Table of Contents:
-
- -0- ➡ Compact configuration file ⬅
-
- -1- ➡ Letters / Numbers & Symbols layouts ⬅
- • Qwerty
- • Qwerty with Base arrows
- • Dvorak
- • Dvorak descramble mode
- • Colemak
- • Workman
- • Numpad
- • Hebrew
-
- -2- ➡ Eviscerations ( ① / ② ) ⬅
- • Single layout
-
- -3- ➡ Startup settings ⬅
- • Alternate Base
- • Leds on/off at startup.
- • Speed measuring
- • Text size counting ⬅
-
- -4- ➡ How many hardware keys 1st row ⬅
-
- -5- ⚠ ≠ Minivan ⬅
-
- -6- ➡ Defining the meaning of the additional hardware keys ⬅
- • Defining the additional key for 'South paw' (also called 'Command')
- • Defining 'Arrow' hardware layout additional keys
-
- -7- ➡ Arrows/Navigation cluster ⬅
- • Navigation cluster configuration
- • VI editor arrows
-
- -8- ➡ Number pad Configuration⬅
-
- -9- ➡ Speed measuring ⬅
-
- -10- ➡ Some alternative keys ⬅
- • Right Alt or hold(_RAR) on Base
- • GUI left/right
- • Alternate currency symbol
- • Check boxes or Pointers
- • Switch _ACC/_BON ⬅➡ *left* side _NSY/_DRA hold keys
- • Switch _PAD ⬅➡ _MOV on Left Shift toggle
- • Switch _FUN ⬅➡ _RAR on Right Shift toggle
- • “Switch spacebarsâ€: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’â€
-
- -11- ➡ Eviscerations ( ② / ② ) ⬅
- • Removing the numbers pad _PAD layer
- • Removing one or more of the Unicode layers _ACC, _DRA or_BON
- • Removing groups of characters
-
- -12- ➡ Leds ⬅
- -
- --
- ----
- --------------------------------------------------------------------------------------
- */
-
- /* -0- ➡ Compact configuration file ⬅
- *
- * If you _activate_ this, this whole heavily documented configuration block below
- * gets skipped, and instead a bare bones configuration file with all these same options
- * gets read. There is no functional difference.
- *
- * (You can use the compact configuration if you like that better. It can make communicating
- * a configuration easier. The fully documented configuration is left in a state of default
- * when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad,
- * basic 44 Minivan keys. The compact version its state is whatever it is.)
- */
-//#define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an).
-#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this)
-
-
- /* -1- ➡ Letters / Numbers & Symbols layouts ⬅
- *
- * Here you can configure what letters layer (BASE layer), and number&symbols layer you
- * want. This is a dual layout system, so you can choose a second pair as well. You can
- * switch between them with a key on the _RAR layer. All the other layers are the same,
- * regardless of your choice in letter/number&symbol layers.
- *
- * The letters layer is the BASE layer, from which you also reach all other layers.
- * The letters it has is the alphabet in its simplest form: abcdefghijklmnopqrstuvwxyz.
- * The numbers & symbols layer has what you find on any regular keyboard: 123… !@#… []/…
- * The numbers & symbols layer is made to fit the Letters layer, due to small differences
- * between layouts like Qwerty and Dvorak (in this case the symbols ‛-’, ‛/’, ‛?’, and ‛_’).
- *
- * Example: A Qwerty letters layer, with a fitting numbers & symbols layer, as ‛Default’.
- * A Dvorak letters layer, with a fitting numbers & symbols layer, as ‛Alternate’.
- *
- * You will be asked to configure one layout as ‛Default’ and another as ‛Alternate’.
- *
- * A bases layout may have locally re-defined one or more of the common layers. If you
- * choose two bases layouts who re-define the same common layer locally, you will need
- * to choose either one by commenting out the other.
- */
- //
- // • Qwerty
- // (a regular Qwerty layout)
- // _Activate_ one of these two, _remove_ the other.
- #define BASE_QWERTY__DEF_BASE // _Activate_ if you want Qwerty on the ‛Default’ spot
-//#define BASE_QWERTY__ALT_BASE // _Activate_ if you want Qwerty on the ‛Alternate’ spot
- // Note: you still need to set if you have the additional ‛arrow’ hardware key. You
- // can ignore what it should be defined as, because it will be a plain arrow on Base.
- //
- // • Qwerty with Base arrows
- // (provides direct access to arrows)
- // _Activate_ one of these two, _remove_ the other.
-//#define BASE_QWERTY_BASEARROW__DEF_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Default’ spot
-//#define BASE_QWERTY_BASEARROW__ALT_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Alternate’ spot
- // âž¡ âž¡ âž¡ This Base layer has configuration options at the top of its file. See ./ base_qwerty_basearrow.h
- //
- // • Dvorak
- // (a regular Dvorak layout)
- // _Activate_ one of these two, _remove_ the other.
-//#define BASE_DVORAK__DEF_BASE // _Activate_ if you want Dvorak on the ‛Default’ spot
-//#define BASE_DVORAK__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot
- //
- // • Dvorak descramble mode
- // (Dvorak for a computer already remapping to Dvorak)
- // This layout is only available on ‛Alternate’, because of the special _HALF_ descramble mode.
-//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot
- //
- // • Colemak
- // (a regular Colemak layout)
- // _Activate_ one of these two, _remove_ the other.
-//#define BASE_COLEMAK__DEF_BASE // _Activate_ if you want Colemak on the ‛Default’ spot
-//#define BASE_COLEMAK__ALT_BASE // _Activate_ if you want Colemak on the ‛Alternate’ spot
- //
- // • Workman
- // (a regular Workman layout)
- // _Activate_ one of these two, _remove_ the other.
-//#define BASE_WORKMAN__DEF_BASE // _Activate_ if you want Workman on the ‛Default’ spot
-//#define BASE_WORKMAN__ALT_BASE // _Activate_ if you want Workman on the ‛Alternate’ spot
- //
- // • Numpad
- // (a numerical keypad, one for left hand and one for right hand)
- // _Activate_ to get Numpad on Alternate. There is no option for Numpad on ‛Default’ base.
- #define BASE_NUMPAD__ALT_BASE // _Activate_ if you want Numpad on the ‛Alternate’ spot
- // âž¡ âž¡ âž¡ This Base layer has configuration options at the top of its file. See ./base_numpad.h
- //
- // • Hebrew
- // (a simple Hebrew layout)
- // _Activate_ one of these two, _remove_ the other.
-//#define BASE_HEBREW__DEF_BASE // _Activate_ if you want Hebrew on the ‛Default’ spot
-//#define BASE_HEBREW__ALT_BASE // _Activate_ if you want Hebrew on the ‛Alternate’ spot
- // âž¡ âž¡ âž¡ This Base layer has configuration options at the top of its file. See ./base_hebrew.h
- //
- /* -2- ➡ Eviscerations ( ① / ② ) ⬅
- */
- /* • Single layout
- *
- * Removes the ‛Alternate’ base layers, and removes the switch key on _RAR.
- * ⚠ You have to not define a ‛Alternate’ base layer pair. Define only a ‛Default’ pair.
- */
-//#define MINIFAN_SINGLE_LAYOUT // _Activate_ to only have the ‛Default’ base layers, _remove_ to also have ‛Alternate’.
-
-
- /* -3- ➡ Startup settings ⬅
- */
- /* • Alternate Base
- *
- * You can define which of the two BASE layers is on when powering up the keyboard.
- */
-//#define STARTUP_ALTERNATE // Example: For BASES_QWERTY_DVORAK defined: _remove_ is startup in Qwerty, _active_ is
- // startup in Dvorak
- /* • Leds on/off at startup.
- */
-//#define STARTUP_SIDE_LEDS_OFF // _Activate_ to have side leds be off at keyboard startup (when you plug it in / computer powers on).
-//#define STARTUP_MID_LED_OFF // _Activate_ to have middle led be off at keyboard startup.
- //
- /* • Speed measuring
- */
-//#define STARTUP_SPEED // _Activate_ for default speed measuring on, _remove_ to set off at startup.
- //
- /* • Text size counting ⬅
- */
-//#define STARTUP_COUNT // _Activate_ for default character/word counting on, _remove_ to set off at startup.
-
-
-
- /* -4- ➡ How many hardware keys 1st row ⬅
- *
- * Define how many keys your keyboard has.
- */
- // Default (12x12x12x8 keys)
- //'Command' (12x12x12x9 keys) + key on the left
- //'Arrow' (12x12x12x9 keys) + key on the right
- //'South paw' + 'Arrow' (12x12x12x10 keys)
-//#define MORE_KEY__COMMAND // Additional key 1st row on the left. This hardware layout is called 'Command' or 'South paw'.
-//#define MORE_KEY__ARROW // Additional key 1st row (counting from row with space-bar) on the right, called 'Arrow' layout.
- //
- // See below for how to define your additional key(s).
-
-
- /* -5- ⚠ ≠ Minivan ⬅
- *
- * This section is for when you want to flash this keymap unto a board with more
- * keys than the Minivan has.
- *
- * Trans-Minivan keymap: 12x12x12x11, 12x12x12x12, 12x12x12x13 keys
- * Example board: Planck (12x12x12x12)
- *
- * It is assumed that you enabled MORE_KEY__ARROW and
- * MORE_KEY__COMMAND, to get to 12x12x12x10 keys. With this you
- * can get to one, two or three more keys on row 1, without manually
- * editing all layers. You could first edit the definition on layers that you have
- * a specific meaning for these keys, and let the rest be patched with the definitions
- * here.
- *
- * It can help to inspect the preprocessing with > gcc -E keymap.c | less
- *
- * Planck keyboard
- *
- * The identifier TRANSMINIVAN_MIDLEFT could help compile the layout on a Planck keyboard,
- * if it has a two unit large spacebar. You compile without TRANSMINIVAN_LEFTSIDE in that case.
- * All keys on the left, row 1 (closest to the user) shift one unit to the left, with TRANS_MIDLEFT
- * inserted on what would be the left key of the two unit spacebar (assuming that is a key).
- *
- * Other keyboards formats
- *
- * It is always possible to just padd the rows somewhere, if you have even more keys. On the other
- * hand, to try to cut this layout down to fewer keys than it has at minimum (12x12x12x8), is likely
- * going to reduce its functionality, and will require some puzzling to keep a well organized BASE
- * layer, and have “hold key†layer switching work correctly.
- *
- * FIXME: not been compiled or tested for any boards.
- */
-//#define TRANSMINIVAN_LAYOUT ....... // Set this to something with the needed amount of keycodes.
- // Your values are inserted here: [ _LTR ] = LAYOUT_redefined (
- // ^^^^^^^^^^^^^^^^ (throughout all layers)
-//#define TRANSMINIVAN_LEFTSIDE // _Activate_ to get yet one more key on the left side row 1
- #define TRANS_LEFT XXXXXXX // Define what the TRANSMINIVAN_LEFTSIDE key should be, where it is not otherwise defined.
- // (Ignored if TRANSMINIVAN_LEFTSIDE is _removed_).
- //
-//#define TRANSMINIVAN_MIDLEFT // _Activate_ to get yet one more key on the first key from center, row 1.
- #define TRANS_MIDLEFT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be on all layers at once.
- // (Ignored if TRANSMINIVAN_MIDLEFT is _removed_).
- //
-//#define TRANSMINIVAN_RIGHTSIDE // _Activate_ to get yet one more key on the right side row 1
- #define TRANS_RIGHT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be, where it is not otherwise defined.
- // (Ignored if TRANSMINIVAN_RIGHTSIDE is _removed_).
-
-
- /* -6- ➡ Defining the meaning of the additional hardware keys ⬅
- *
- * Some possibilities you might like:
- *
- * â‘  Number-pad and F-keys layers are only on a toggle. If you want them accessible on a hold key, you can use
- * these additional hardware keys. Make sure to use a transparent key on that location on those layers.
- *
- * â‘¡ You can use the right side additional key for quick access to an arrow/navigation cluster (see below).
- *
- * â‘¢ Other uses, such as a delete key and/or a special interface key your system needs.
- */
- /* • Defining the additional key for 'South paw' (also called 'Command')
- *
- * Left side additional key. This is ignored if MORE_KEY__COMMAND is not defined.
- */
- // Configure here what this key is on the BASE layers (excluding Base Numpad compile option).
-//#define MORE_key1_BASE TG ( _RAR ) // _Activate_ this to get a toggle to layer _RAR. MO(_RAR) does not follow a BASE switch by ‛Other Base’.
-//#define MORE_key1_BASE KC_DEL // Could be useful if you like to toggle to certain layers and stay there for a while.
- #define MORE_key1_BASE KC__XGUI // (Default) (Using KC__XGUI makes sure it is the *other* GUI, relative to KC__YGUI.)
- //
- // Configure here what this key is on all other layers
-//#define MORE_key1 KC_DEL // Configure here what this key is on all other layers (and Base Numpad).
- #define MORE_key1 KC__XGUI // (Default)
- //
- //
- /* • Defining 'Arrow' hardware layout additional keys
- *
- * You can create an arrow-cluster with your additional MORE_key2 hardware key on the _MOV layer.
- * Either way: this new key can toggle to _MOV layer, with the key that on the _MOV layer becomes the down-arrow,
- * in the middle of an arrow cluster. To do that, uncomment MOREKEY2_ARROW_CLUSTER.
- * The keys that are by default defined on those keys on _MOV layer, will now be overwritten (they are not typically
- * that much used there).
- *
- * Arrow cluster for 'arrow' layout: _activate_ MOREKEY2_ARROW_CLUSTER and _activate_ #define MORE_key2 _MOV_UP
- * No arrow cluster for 'arrow' layout: _remove_ MOREKEY2_ARROW_CLUSTER, and set MORE_key2 to whatever you want.
- */
- #define MOREKEY2_ARROW_CLUSTER // Arrow cluster on _MOV layer. This is ignored if MORE_KEY__ARROW is not defined.
- // This will cost you 'Right Alt' and 'GUI' on the _MOV layer.
-//#define MOREKEY2_ADD_NAVIGATION // Additional navigation keys around arrow cluster MOREKEY2_ARROW_CLUSTER. Ignored if MOREKEY2_ARROW_CLUSTER is not defined.
- // Note: this will cause mouse buttons 'BTN4' and 'BTN5' on the _MOV layer to be moved.
- /*
- * Define the key you want on the additional key. Leave it to _MOV_UP if you want an arrow cluster, easily
- * accessed with this key.
- *
- * If you want to be able to type all arrow cluster keys with both GUI keys, than you cannot have this additional
- * arrow cluster around the ‛arrow’ additional hardware key, because it eats away the GUI just to the left of
- * that additional hardware key.
- *
- * For typing both GUIs with the navigation cluster, you also need the left side additional hardware key. In this
- * case, you can still set the optional hardware key on the right to _MOV_UP, but that is marginally useful
- * as you already have that on Left Shift.
- *
- * When aiming to type all normally available keys on a 100% keyboard with all modifiers including GUIs, you
- * could use the right hand side optional hardware key (‛arrow’), because it causes the right side GUI to be
- * available there. (This kind of stuff affects rare or even never used keyboard shortcuts.)
- */
- #define MORE_key2 _MOV_UP // Right side additional key. This is ignored if MORE_KEY__ARROW is not defined.
-//#define MORE_key2 KC_DEL // More or less a random suggestion. Harmonizes well with “.DEL†on Numbers Pad.
- // It is convenient to have an uncluttered Delete key on the Base layer.
-//#define MORE_key2 <...your choice...> // Right side additional key.
- //
-
-
- /* -7- ➡ Arrows/Navigation cluster ⬅
- */
- /* • Navigation cluster configuration
- *
- * _Activate_ below line to use a "WASD" type layout (on the spot where WASD is in Qwerty).
- * _Remove_ if you prefer a flat type layout, with arrows in a row, on the right hand.
- */
- #define ARROWS_TRIANGLE // Implies mouse is also similarly in a triangle.
- /*
- * • VI editor arrows
- *
- * Vi is a famous editor, with its own peculiar text cursor movement arrangement (arrows).
- * This option modifies the flat arrows layout on the right hand, to be like the “HJKLâ€
- * arrows in the editor vi(1). “HJKL†meaning: the 7th to 10th key on the 3rd row.
- * The arrows on the additional MOREKEY2_ARROW_CLUSTER also get harmonized to be like vi.
- */
-//#define VI_SWITCHERYDOO // You have to _remove_ ARROWS_TRIANGLE, or this gets ignored.
-
-
- /* -8- ➡ Number pad Configuration⬅
- *
- * This concerns the Numbers Pad layer, which is part of the common layers (not the Bse
- * layer, which also has a Numbers Pad option).
- *
- * There are two compile versions for the number pad layer ‛_PAD’, in the common layers.
- *
- * _Activate_ the below to have the numbers pad _PAD layer resemble the squared layout of
- * a numerical keyboard, allowing to type all numbers with the right hand.
- * _Remove_ the below to have the numbers in this layer follow the layout of the _NSY layer,
- * with the numbers on a line from left to right on the home row, across both hands.
- */
-//#define NUMPAD_COMMON_SQUARE // _Activate_ to resemble a one handed numerical keyboard.
-
-
- /* -9- ➡ Speed measuring ⬅
- */
- /*
- * Led color configuration. You can see the speed you have configured below directly on the keyboard,
- * after you compiled and flashed it.
- * Set speed measuring to <off>.
- * Hold the 'Report' key for one second, then release. The keyboard prints a number, which is the
- * amount of characters per second for which that color is then being shown. Hold it again for
- * a second, and it increments. Toggle speed measuring on/off to restart.
- * You can play with the below settings until you like the result.
- *
- * The default values (8, 160 respectively) are starting at blue, avoiding confusion with default
- * cyan for BASE layer, going to purple and further avoiding confusion with text size counting.
- * Very fast typers could reach red, and then it goes further to yellow, etc.
- */
- #define SPEED_COUNTDOWN 25 // After how many keypresses to update the effect(s).
- #define SPEED_HUE_STEP 8 // For each key/sec faster, the hue value of HSV goes this step further.
- #define SPEED_HUE_START 160 // The starting hue for 0 k/s (0 = 255 = red).
- /*
- * Speed report in words-per-minute (wpm) rather than keystrokes-per-second (k/s). wpm = k/s * â¶â°/â‚… = k/s * 12
- */
- #define WORDS_PER_MINUTE // _Activate_ to get speed report in words-per-minute, _remove_ to get it in keystrokes-per-second (k/s).
-
-
- /* -10- ➡ Some alternative keys ⬅
- */
- /*
- * • Right Alt or hold(_RAR) on Base
- *
- * _Activate_ below line to get Right-Alt or Alt-Gr (same thing) on Base.
- * A short tap results in RAlt briefly pressed, plus Right-Arrow.
- * When pressed with another key, however short, results only in RAlt, and no Right-Arrow.
- * Held a little longer than tapping it, results in only RAlt being pressed, no Right-Arrow.
- *
- * _Remove_ to have a layer hold key to the _RAR layer there, instead of RAlt, together with tapped Right-Arrow.
- */
-//#define BASE_RIGHT_ALT // _Activate_ to get Right-Alt instead of _RAR on Base layer.
- /*
- * • GUI left/right
- *
- * _Activate_ below line to have LGUI (also called OS or Win key, etc) where RGUI is,
- * and RGUI where LGUI is.
- */
-//#define SWITCH_GUIS // _Activate_ this if you want LGUI on the BASE layer rather than RGUI, despite that spot being on the right.
- /*
- * • Alternate currency symbol
- *
- * _Activate_ the below to get a Euro symbol, where Æ’ (Dutch Guilder) is on the default map (_DRA layer).
- */
- #define UNICODE_CURRENCY 0x20ac // Hex number, euro symbol €. The unicode hex number for position ƒ in the default keymap.
- /*
- * • Check boxes or Pointers
- *
- * You can have these symbols (checkboxes): ☠☒ ☑ 🗹
- * or these (pointers): ⮘ ⮙ ⮚ ⮛
- */
-//#define POINT_ON_CHECKBOXES // _Activate_ to get arrows, _remove_ to get checkboxes on _DRA layer.
- /*
- * • Switch _ACC/_BON and *left* side _NSY/_DRA hold keys
- *
- * If you type a lot of _ACC layer (accented keys), and not much _DRA layer, you might like to
- * switch the _ACC hold key, and the left side _NSY key, if you find it awkward to reach to the
- * left with your thumb. These two keys are next to each other. Only the Base layer is affected.
- */
-//#define SWITCH_HOLD_ACC_NSY // _Activate_ to switch the *left* _NSY and _ACC layer hold keys, on Base layer.
- /*
- * • Switch _PAD and _MOV on Left Shift toggle
- *
- * Recommended if you use _MOV more than _PAD
- */
-//#define SWITCH_LSHIFT_PAD_MOV // _Activate_ to make _MOV layer be on the fast tap, and _PAD on a short hold toggle
- /*
- * • Switch _FUN and _RAR on Right Shift toggle
- *
- * Recommended if you use _RAR more than _FUN
- */
-//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle
- /*
- * • “Switch spacebarsâ€: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’â€
- *
- * Recommended if you usually type ‛Space-bar’ with your left hand.
- * These keys also switch on _MOV (movement) layer. Page-Up goes one spot to the left.
- */
-//#define SPACE_LEFT__ENTER_RIGHT // _Activate_ for ‛Space bar’ left, ‛Enter’ and ‛_MOV hold’ right hand.
-
-
- /* -11- ➡ Eviscerations ( ② / ② ) ⬅
- */
- /* • Removing the numbers pad _PAD layer
- *
- * You may have no use for this common layer, if you have a numerical keypad on the Alternate Base already.
- *
- * ⚠ Note: ./base_numpad.h can overrides this setting, if compiled with that ‛Base layers’.
- */
-//#define REMOVE_PAD // _Activate_ to strip out the _PAD layer, _remove_ to have the _PAD layer.
- //
- /* • Removing one or more of the Unicode layers _ACC, _DRA or_BON
- */
- /* Removes the _ACC layer, optionally redirect its key. This can save some 750 bytes.
- */
-//#define REMOVE_ACC // _Activate_ to strip out the _ACC layer, _remove_ to have the _ACC layer.
- /* Unless REMOVE_ACC is _active_, the next defines which redirect the _ACC key(s) are ignored. */
-//#define _ACC_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead.
-//#define _ACC_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _ACC, go to _DRA instead.
- /*
- *
- * Removes the _DRA layer, optionally redirect its key. Also saves some 750 bytes.
- */
-//#define REMOVE_DRA // _Activate_ to strip out the _DRA layer, _remove_ to have the _DRA layer.
- /* Unless REMOVE_DRA is _active_, the next defines which redirect the _DRA key(s) are ignored. */
-//#define _DRA_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _ACC, go to _ACC instead.
-//#define _DRA_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead.
- /*
- *
- * Removes the _BON layer, optionally redirect its key. Also saves some 750 bytes.
- */
-//#define REMOVE_BON // _Activate_ to strip out the _BON layer, _remove_ to have the _BON layer.
- /* Unless REMOVE_BON is _active_, the next defines which redirect the _BON key(s) are ignored. */
-//#define _BON_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _BON, go to _ACC instead.
-//#define _BON_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _BON, go to _DRA instead.
- /*
- *
- * • Removing groups of characters
- */
- /*
- * The below cut out an amount of symbols on a given layer, to simplify and/or reduce firmware size a little.
- */
-//#define ALL_DRA_BON_EVISCERATIONS // _Activate_ this to _remove_ the below all at once. (Seems to save only ±114 bytes)
- //
- #define BOX_DRAWINGS // _Activate_ to get box drawings on _BON. Horizontal lines (â”─┄┅) on _DRA are not affected.
- // Affected on rows 2 and 3: ┣┫â”┗┃┇┛┓
- // Full, 3rd row, boxdr.: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ┠⑤ ┓ ⑥ ┃ ⑦ ┇ ⑧ ╋ ⑨ ⓪ ∞ —
- // Full, 2nd row, boxdr.: LSht ‹ › ÷ ☞ ┗ ≠ ┛ ✗ ┣ ✓ ┫ ⚠ « » RSht
- //
- // 3rd row, no boxdrawing: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⓪ ∞ —
- // 2nd row, no boxdrawing: LSht ‹ › ÷ ☞ ≠ ✗ ✓ ⚠ « » RSht
- //
- #define SUB_SCRIPT_NUMS // _Activate_ to get subscript numbers (â‚₂₃…₀) on _DRA.
- // Affected on row 3: â‚₂₃₄₅₆₇₈₉₀
- // Thinned out 3rd row: xxx ¹ ² ³ ⴠⵠⶠⷠ⸠⹠Ⱐxxx
- // Full 3rd row: xxx ¹₠²₂ ³₃ â´â‚„ âµâ‚… â¶â‚† â·â‚‡ â¸â‚ˆ â¹â‚‰ â°â‚€ xxx
- //
- #define FULL_DRA_2NDROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 2nd row.
- // Affected: 「 〠〇 § · 🗹 《 》
- // Full 2nd row: LSht 「┠ã€â”€ °〇 •§ …· ☠☒ ☑ 🗹 ¿¡ 《┄ 》┅ Rsht
- // Thinned out 2nd row: LSht ┠─ ° • … ☠☑ ☑ ¿¡ ┄ ┅ RSht
- //
- #define FULL_DRA_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 4th row.
- // Affected 4th row: ¢ ƒ ⽠₠⾠₎
- // Full 4th row: BASE “„ â€â‰¤ £≥ ∅ ¢ ±ƒ ⦠♥ 🙂🙠ðŸ‘👎 â½â‚ â¾â‚Ž Bkspc
- // Thinned out 4th row: BASE “„ â€â‰¤ £≥ ∅ ± ⦠♥ 🙂🙠ðŸ‘👎 Bkspc
- //
- #define FULL_BON_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _BON, 4th row.
- // Affected 4th row: 🛠 ¤ ∑ ‱ Ù­ 😊 ⨠⃰ ⻠⺠🄯 © ⃰ √ â»âº
- // Full 4th row: BASE ‛🛠 ’⬆ ¤ 🄯 ∑ © ‰‱ ★٭ 😊⨠× ⃰ √ â»âº Bkspc
- // Thinned out 4th row: BASE ‛ ’⬆ ‰ ★ × Bkspc
- //
-
-
- /* -12- ➡ Leds ⬅
- *
- * Leds off for the Default or Alternative Base Layer.
- * Implies: no indication on Default Base for: Caps-lock, typing speed,
- * typing amount done of a limit.
- * Speed / typing amount indicated by led will be visible by going to another layer.
- */
-//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer.
- //
-//#define LEDS_OFF_BASE_ALT // _Activate_ to make leds dark when in ‛Alternative Base’ layer.
-
-// ------------------------------------- ⬆ --------------------------------------
-// Below here no more comfortable configuration options.....
-// There may be configuration options in the layout ./bases_....h file you chose.
-// ------------------------------------- ⬆ --------------------------------------
-
-#else // (ignore this)
-# include "./minifan_config_compact.h"
-#endif // MINIFAN_CONFIG_COMPACT
-
-
-// ------------------------------------- ⬇ --------------------------------------
-// Base layer headers
-// ------------------------------------- ⬇ --------------------------------------
-
-// * Numpad *
-# if defined(BASE_NUMPAD__ALT_BASE)
-# include "./base_numpad.h" // Numbers pad header
-# endif
-// * Qwerty Base Arrow *
-# if defined(BASE_QWERTY_BASEARROW__DEF_BASE) || defined(BASE_QWERTY_BASEARROW__ALT_BASE)
-# include "./base_qwerty_basearrow.h" // qwerty base arrow, header
-# endif
-// * Hebrew *
-# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
-# include "./base_hebrew.h" // Hebrew header
-# endif
-
-// // ⬇ insert your ./base_YOUR_KEYMAP.h #include here:
-
-// * YOUR KEYMAP *
-// # if defined(BASE_YOUR_KEYMAP__DEF_BASE) || defined(BASE_YOUR_KEYMAP__ALT_BASE)
-// # include "./base_YOUR_KEYMAP.h" // Your Keymap header/configuration file.
-// # endif
-
-// // ⬆
-
-// ------------------------------------- ⬆ --------------------------------------
-// Base layer headers are best #included here, so the preprocessor statements
-// following the user configuration block can pick up on anything that was set.
-//
-// Example: base_numpad.h _activate_ ‛REMOVE_PAD’. Based upon that, the preprocessor
-// constant ‛_PAD’ is changed into ‛_FUN’ in the below statements.
-// ------------------------------------- ⬆ --------------------------------------
-
-
-
-// The below sets some things up based on the above #defines.
-
-// This is sort of a hack. It re-defines _ALT_BASE and _ALT_NSY to point to the same
-// layer as _DEF_BASE and _DEF_NSY, because there are quite a few references to the
-// former and putting #if then around each one complicated the code even more. If needed,
-// it can be changed later. This option already reduces firmware size, so we should be
-// well below the maximum.
-# ifdef MINIFAN_SINGLE_LAYOUT
-# define _ALT_BASE _DEF_BASE
-# define _ALT_NSY _DEF_NSY
-# endif
-
-// This triggers the compilation of Dvorak descramble mode.
-# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE
-# define DVORAK_DESCRAMBLE
-# endif
-
-// Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster.
-# if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ARROW_CLUSTER)
-# undef MOREKEY2_ARROW_CLUSTER
-# endif
-
-# if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ADD_NAVIGATION)
-# undef MOREKEY2_ADD_NAVIGATION
-# endif
-# if !defined(MOREKEY2_ARROW_CLUSTER) && defined(MOREKEY2_ADD_NAVIGATION)
-# undef MOREKEY2_ADD_NAVIGATION // Only navigation keys, when the are arrows defined.
-# endif
-
-// When choosing 'triangle' arrows, then they go left. Not 'triangle' arrows, than right.
-# ifdef ARROWS_TRIANGLE
- /* _Activate_ below line to put the arrows on the left, comment out to have arrows right. */
-# define ARROWS_LEFT // Implies mouse is right
-# endif
-
-
-// Set up user GUI choice:
-# ifndef SWITCH_GUIS
-# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions..
-# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right.
-# else
-# define KC__XGUI KC_RGUI
-# define KC__YGUI KC_LGUI
-# endif
-
-// Switch “spacebarsâ€:
-# ifndef SPACE_LEFT__ENTER_RIGHT // standard
-# define LEFTCENTER_THUMB LT__MOV__KC_ENT
-# define RIGHTCENTER_THUMB KC_SPC
-# else
-# define LEFTCENTER_THUMB KC_SPC // reversed
-# define RIGHTCENTER_THUMB LT__MOV__KC_ENT
-# endif
-
-// Define the layout macro for the amount of hardware keys.
-// These for Minivan are defined up in the code tree.
-# if !defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW)
-# define LAYOUT_redefined LAYOUT // Default (8 keys on 1st row)
-# endif
-
-# if !defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW)
-# define LAYOUT_redefined LAYOUT_arrow // Additional key 1st row on the right. 'Arrow'
-# endif
-
-# if defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW)
-# define LAYOUT_redefined LAYOUT_command // Additional key 1st row on the left. 'Command'
-# endif
-
-# if defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW)
-# define LAYOUT_redefined LAYOUT_arrow_command // Additional keys 1st row both left and right. 'Arrow' + 'Command'
-# endif
-
-# ifdef TRANSMINIVAN_LAYOUT
-# undef LAYOUT_redefined
-# define LAYOUT_redefined TRANSMINIVAN_LAYOUT
-# endif
-
-
-// Process user config setting for speed measuring
-# ifdef STARTUP_SPEED
-# define SPEED_INIT_VALUE TRUE
-# else
-# define SPEED_INIT_VALUE FALSE
-# endif
-// Process user config setting for text size measuring
-# ifdef STARTUP_COUNT
-# define COUNT_INIT_VALUE TRUE
-# else
-# define COUNT_INIT_VALUE FALSE
-# endif
-
-
-// Get all key reductions at once
-# ifdef ALL_DRA_BON_EVISCERATIONS
-# ifdef BOX_DRAWINGS
-# undef BOX_DRAWINGS
-# endif
-
-# ifdef SUB_SCRIPT_NUMS
-# undef SUB_SCRIPT_NUMS
-# endif
-
-# ifdef FULL_DRA_2NDROW
-# undef FULL_DRA_2NDROW
-# endif
-
-# ifdef FULL_DRA_4THROW
-# undef FULL_DRA_4THROW
-# endif
-
-# ifdef FULL_BON_4THROW
-# undef FULL_BON_4THROW
-# endif
-# endif
-
-// This resolves compiling “TO (_BON)†on the _FUN layer.
-# ifdef REMOVE_BON
-# undef _BON
-# ifdef _BON_KEY_ALT_LAYER
-# define _BON _BON_KEY_ALT_LAYER // To what user wants
-# else
-# define _BON _FUN // void behavior
-# endif
-# endif
-
-// This resolves compiling “TO (_PAD)†on the _FUN layer.
-# ifdef REMOVE_PAD
-# undef _PAD
-# define _PAD _FUN // void behavior
-# endif
-
-// If the _ACC layer hold key has no function anymore because the layers _ACC and _BON to which it
-// switches have been removed, and no alternative use been set, that key reverts to being KC_DEL,
-// and the whole macro CHOLTAP_ACCE it normally activates gets cut.
-# if defined(REMOVE_ACC) \
- && !defined(_ACC_KEY_ALT_LAYER) \
- && defined(REMOVE_BON) \
- && !defined(_BON_KEY_ALT_LAYER)
-# define CHOLTAP_ACCE KC_DEL // replaces in the keymap
-# define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros
-# endif
-
-// Here all Unicode layers _ACC, _DRA and _BON have been removed, and none of their key(s) has
-// been re-assigned to a useful purpose. That makes that whole system redundant, so it is simplified.
-# if defined(REMOVE_ACC) \
- && !defined(_ACC_KEY_ALT_LAYER) \
- && defined(REMOVE_DRA) \
- && !defined(_DRA_KEY_ALT_LAYER) \
- && defined(REMOVE_BON) \
- && !defined(_BON_KEY_ALT_LAYER)
-# define CHOLTAP_ACCE KC_DEL // replaces in the keymap
-# define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros
-# define DUO_HOLD_BASIC // cuts out the long DUO_HOLD macro, replaces it with a simple 'descramble'-aware hold(_NSY/_DDN)
-# endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c
deleted file mode 100644
index 4c9019c669..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c
+++ /dev/null
@@ -1,124 +0,0 @@
- /* Copyright 2020 King Wang Wong
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-
-enum layer_names {
- _ML,
- _FL,
- _NL,
- _SL,
- _RL
-};
-
-
-#define SPC_FUN LT(_FL, KC_SPC)
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* 0: Main Layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │ ESC │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │BKSPC │
- * ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
- * │ TAB │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ENTER │
- * ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
- * │ LSHFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │' │
- * ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
- * │LCTRL │ LGUI │ LALT│SPACE(_NL) │MO(_NL) │MO_SL│ │MO(RL │
- * └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
- */
- [_ML] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_LCTL, KC_LGUI, KC_LALT, SPC_FUN, MO(_NL), MO(_SL), XXXXXXX, MO(_RL)
- ),
-
-
- /* 1: Function Layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │ │ │HOME │ UP │END │PGUP │ │ F1 │ F2 │ F3 │ F4 │ │
- * ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
- * │ CAPS │ │LEFT │DOWN │RIGHT│PGDN │ │ F5 │ F6 │ F7 │ F8 │ QUOT │
- * ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
- * │ │ │ │ DEL │ INS │ │ │ F9 │ F10 │ F11 │ F12 │ │
- * ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
- * │ │ │ │ │ │ │ │ │
- * └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
- */
- [_FL] = LAYOUT(
- _______, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, _______,
- KC_CAPS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_QUOT,
- _______, XXXXXXX, XXXXXXX, KC_DEL, KC_INS, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
-
- /* 2: Number Layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ │
- * ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 8 │ 0 │ │
- * ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
- * │ │ │ │ │ │ │ │ │
- * └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
- */
- [_NL] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* 3: Symbol Layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │ │ _ │ + │ { │ } │ | │ │ │ │ │ │ │
- * ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
- * │ │ - │ = │ [ │ ] │ \ │ │ DEL │ INS │ │ │ │
- * ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
- * │ │ │ │ │ │ │ │ │
- * └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
- */
- [_SL] = LAYOUT(
- _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, KC_DEL, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* 4: Reset Layer
- * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │QK_BOOT│ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
- * │ │ │ │ │ │ │ │ │
- * └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
- */
- [_RL] = LAYOUT(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/king/readme.md b/keyboards/thevankeyboards/minivan/keymaps/king/readme.md
deleted file mode 100644
index edcf5f43e9..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/king/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# King's KUMO layout
-
-Currently uses the fewest key layout (three keys on both sides of the bottom row) for the KUMO/minivan
-
diff --git a/keyboards/thevankeyboards/minivan/keymaps/king/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/king/rules.mk
deleted file mode 100644
index 5ae757f3c5..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/king/rules.mk
+++ /dev/null
@@ -1,6 +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 # Enable Bootmagic Lite
-CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/keyboards/thevankeyboards/minivan/keymaps/lexworth/config.h b/keyboards/thevankeyboards/minivan/keymaps/lexworth/config.h
deleted file mode 100644
index 36062c47b9..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/lexworth/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-// place overrides here
-#define BACKLIGHT_PIN B7
-#define BACKLIGHT_LEVELS 5 \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c
deleted file mode 100644
index 2bdf303e9f..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Helpful defines
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT
- (QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- LT(1,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(1,KC_QUOT),
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, TG(2), LT(3,KC_APP), KC_DEL),
-
- [1] = LAYOUT
- (KC_CAPS, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, KC_UNDS, KC_P7, KC_P8, KC_P9, KC_EQL, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
- KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_NUM,
- KC_TRNS, KC_TRNS, KC_MSTP, KC_PENT, KC_P0, KC_PDOT, KC_APP, KC_TRNS),
-
- [2] = LAYOUT
- (KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12),
-
- [3] = LAYOUT
- (KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PIPE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS,
- BL_TOGG, BL_DOWN, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT)
-};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/lexworth/readme.md b/keyboards/thevankeyboards/minivan/keymaps/lexworth/readme.md
deleted file mode 100644
index 5ac3aafdcc..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/lexworth/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Minivan
-
-![Layout Image](https://drive.google.com/file/d/1rDbtoOBvw5lxfvUBLYmjTt6MJPoeXngr/view?usp=sharing)
-
-# Custom keymap for the minivan with backlight enabled and 5 backlight levels.
-# Hardware Supported: Minivan
-# Hardware Availability: [thevankeyboards.com](https://thevankeyboards.com/) \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/lexworth/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/lexworth/rules.mk
deleted file mode 100644
index 9c7dc2e122..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/lexworth/rules.mk
+++ /dev/null
@@ -1,5 +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
-
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h b/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h
index 49d7d463aa..07915657c1 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h
@@ -38,5 +38,5 @@
#ifdef RGBLIGHT_ENABLE
#define WS2812_DI_PIN D0
#define RGBLIGHT_TIMER
- #define RGBLED_NUM 3
+ #define RGBLIGHT_LED_COUNT 3
#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/via/keymap.json b/keyboards/thevankeyboards/minivan/keymaps/via/keymap.json
index 54ceb5c342..bff872dee8 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/via/keymap.json
+++ b/keyboards/thevankeyboards/minivan/keymaps/via/keymap.json
@@ -9,10 +9,12 @@
["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
],
"config": {
- "features": {
- "via": true,
+ "build": {
"lto": true
},
+ "features": {
+ "via": true
+ },
"dynamic_keymap": {
"layer_count": 4
}
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h
deleted file mode 100644
index df06a26206..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-// place overrides here
-
-#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
deleted file mode 100644
index 45d58fee1d..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-
-void backlight_toggle(void){
-};
-
-enum roadkit_layers {
- _NUMPAD,
- _FPH,
- _FPHNOISY,
- _ADJUST,
- _DYN
-};
-
-enum roadkit_keycodes {
- NUMPAD = SAFE_RANGE,
- FPH_1,
- FPH_2,
- FPH_3,
- FPH_4,
- FPH_5,
- FPH_6,
- FPH_7,
- FPH_8,
- FPH_9,
- FN_0,
- BACKLIT,
- MACSLEEP,
- DYNAMIC_MACRO_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
- KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
- KC_KP_4, KC_KP_5, KC_KP_6,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
- LT(_ADJUST, KC_KP_0), KC_KP_DOT
- ),
- [_FPH] = LAYOUT_numpad_4x4( /* Quiet T9 */
- FPH_7, FPH_8, FPH_9, KC_KP_PLUS,
- FPH_4, FPH_5, FPH_6,
- FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER),
- LT(_ADJUST, KC_SPACE), KC_KP_DOT
- ),
- [_FPHNOISY] = LAYOUT_numpad_4x4( /* Noisy T9 */
- FPH_7, FPH_8, FPH_9, KC_KP_PLUS,
- FPH_4, FPH_5, FPH_6,
- FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER),
- LT(_ADJUST, KC_SPACE), KC_KP_DOT
- ),
- [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
- KC_NUM, TG(_FPHNOISY), TG(_FPH), TG(_NUMPAD),
- KC_BSPC, BACKLIT, KC_DEL,
- MACSLEEP, _______, _______, _______,
- _______, MO(_DYN)
- ),
- [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
- DM_REC1, DM_REC2, _______, DM_RSTP,
- _______, _______, _______,
- DM_PLY1, DM_PLY2, _______, _______,
- _______, _______
- ),
-};
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-uint16_t fph_tap_qty = false;
-uint16_t fph_keycode = 0; // stores which spacebar was used, either raise or lower...
-
-uint16_t get_render_keycode(uint16_t keycode, uint16_t tap_qty){ // maybe replace shift with "mods"
- tap_qty--; // reduce by one to match array indexes.
- switch(keycode){
- case FPH_2:
- {uint16_t kc[] = {KC_A, KC_B, KC_C};
- if(tap_qty % 6 > 2)
- return LSFT(kc[tap_qty % 3]);
- return kc[tap_qty % 3];}
- break;
- case FPH_3:
- {uint16_t kc[] = {KC_D, KC_E, KC_F};
- if(tap_qty % 6 > 2)
- return LSFT(kc[tap_qty % 3]);
- return kc[tap_qty % 3];}
- break;
- case FPH_4:
- {uint16_t kc[] = {KC_G, KC_H, KC_I};
- if(tap_qty % 6 > 2)
- return LSFT(kc[tap_qty % 3]);
- return kc[tap_qty % 3];}
- break;
- case FPH_5:
- {uint16_t kc[] = {KC_J, KC_K, KC_L};
- if(tap_qty % 6 > 2)
- return LSFT(kc[tap_qty % 3]);
- return kc[tap_qty % 3];}
- break;
- case FPH_6:
- {uint16_t kc[] = {KC_M, KC_N, KC_O};
- if(tap_qty % 6 > 2)
- return LSFT(kc[tap_qty % 3]);
- return kc[tap_qty % 3];}
- break;
- case FPH_7:
- {uint16_t kc[] = {KC_P, KC_Q, KC_R, KC_S};
- if(tap_qty % 8 > 2)
- return LSFT(kc[tap_qty % 4]);
- return kc[tap_qty % 4];}
- break;
- case FPH_8:
- {uint16_t kc[] = {KC_T, KC_U, KC_V};
- if(tap_qty % 8 > 2)
- return LSFT(kc[tap_qty % 4]);
- return kc[tap_qty % 4];}
- break;
- case FPH_9:
- {uint16_t kc[] = {KC_W, KC_X, KC_Y, KC_Z};
- if(tap_qty % 8 > 2)
- return LSFT(kc[tap_qty % 4]);
- return kc[tap_qty % 4];}
- break;
- case FPH_1:
- {uint16_t kc[] = {KC_COMM, LSFT(KC_SLSH), KC_EXLM, KC_AT, KC_MINS, KC_UNDS, KC_PLUS,
- KC_SCLN, LSFT(KC_SCLN), KC_QUOT, LSFT(KC_QUOT), KC_TILD,
- KC_PIPE, KC_BSLS, KC_HASH, LSFT(KC_4), KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
- KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, LSFT(KC_COMM), LSFT(KC_DOT)};
- return kc[tap_qty % 26];}
- }
- return KC_NO;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- uint8_t layer;
- layer = get_highest_layer(layer_state);
-
- switch (keycode) {
- case FPH_1 ... FPH_9:
- if(layer == _FPHNOISY){
- if (record->event.pressed) {
- if(fph_keycode != keycode) { // key change
- fph_tap_qty = 0;
- fph_keycode = keycode;
- } else { // same key tapped again so erase and increment.
- register_code(KC_BSPC);
- unregister_code(KC_BSPC);
- fph_tap_qty++;
- }
- uint16_t render_keycode = get_render_keycode(keycode, fph_tap_qty);
- // find mods? Apply mods..
- register_code(render_keycode);
- unregister_code(render_keycode);
- } else {
- // do we need to do anything on key-release?
- }
- } else { // not noisy, be demure .
- if (record->event.pressed) {
- if(fph_keycode != keycode) { // key change, kill everything.
- uint16_t render_keycode = get_render_keycode(fph_keycode, fph_tap_qty);
- // find mods? Apply mods..
- register_code(render_keycode);
- unregister_code(render_keycode);
- fph_keycode = keycode;
- fph_tap_qty = 0;
- } else { // same key tapped again so increment counter silently
- fph_tap_qty++;
- }
- } else {
- // do we need to do anything on key-release?
- // maybe start a timer on this one?
- }
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- }
- return false;
- break;
- case MACSLEEP:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- register_code(KC_RCTL);
- register_code(KC_PWR);
- unregister_code(KC_PWR);
- unregister_code(KC_RCTL);
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md
deleted file mode 100644
index ad630be195..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Flip Phone layout for Roadkit
-
-BEWARE, THIS DOES NOT WORK YET.
-
-Uses the numpad with classic cellular phone style letters assigned to the numbers.
-
-# LAYERS
-
-* Numpad - The layer that matches the caps mostly
-* FPH - Base layer for text
-* FPHNOISY - Text layer that outputs every character and then backspaces as they're replaced
-* DYN - dynamic macro layer for recording and playing macros
-
-## FPH
-
-Poke the "2" key twice and it makes "B".
-
-## FPHNOISY
-
-Poke the "2" key twice and it makes "A"+backspace+"B" so you can see it cycle through.
-
-## MACROS
-
-May be able to record macros with the T9 layer because the "KC_*"s are only sent
-at the end. Trying to do a macro with T9NOISY would probably fill up the buffer
-in just a few characters.
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk
deleted file mode 100644
index 93e7cd8bb7..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk
+++ /dev/null
@@ -1,18 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c
deleted file mode 100644
index dfdded8e7b..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4(
- KC_TAB, KC_Q, KC_W, KC_E,
- KC_ESC, KC_A, KC_S, KC_D,
- KC_LSFT, KC_Z, KC_X, KC_C,
- KC_F, KC_LALT, KC_LCTL, KC_SPC
- ),
-};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md
deleted file mode 100644
index 7eeb07ede1..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-![Keymap Diagram](https://i.imgur.com/hRjbhEn.png)
-
-# Gamepad Layout by @wavebeem
-
-The concept behind this layout is the left side of a computer keyboard,
-optimized with essential keys for playing FPS games. It was designed for TheVan
-RoadKit, but it should work for any 4x4 ortholinear keyboard.
-
-I play with my pinky on `Shift`, thumb on `Space`, and the rest of my fingers on
-`W A S D`. I use my thumb for `Control`, `X`, and sometimes `C`. I usually use
-`Z` with my ring finger. It also helps to angle my fingers more perpendicular to
-the board in order to allow my thumb to more easily access the `Z X C` row.
-
-The number keys `1 2 3` are missing for weapon switching, but you can usually
-switch with the mouse wheel or rebind those to `Z X C` or something else.
-
-The key `R` for reloading is missing, but I prefer to use my extra mouse buttons
-for that.
-
-I don't really use `Alt` for games, but I kept it around for `Alt-Tab` in
-Windows.
-
-# Keymap Text Diagram
-
-```
-+-------+-------+-------+-------+
-| Tab | Q | W | E |
-+-------+-------+-------+-------+
-| Esc | A | S | D |
-+-------+-------+-------+-------+
-| Shift | Z | X | C |
-+-------+-------+-------+-------+
-| F | Alt | Ctrl | Space |
-+-------+-------+-------+-------+
-```
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk
deleted file mode 100644
index 825ca36881..0000000000
--- a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-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/tkc/california/config.h b/keyboards/tkc/california/config.h
index a9909d1001..827133aed3 100644
--- a/keyboards/tkc/california/config.h
+++ b/keyboards/tkc/california/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2 //Reduced layer count due to memory space considerations
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/tkc/california/info.json b/keyboards/tkc/california/info.json
index d309e872f4..731e65323e 100644
--- a/keyboards/tkc/california/info.json
+++ b/keyboards/tkc/california/info.json
@@ -17,6 +17,9 @@
"pin": "B7",
"breathing": true
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"indicators": {
"caps_lock": "F0",
"num_lock": "F1"
diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h
index 265e0abbc3..a57c0b4b1d 100644
--- a/keyboards/tkc/portico/config.h
+++ b/keyboards/tkc/portico/config.h
@@ -17,38 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# undef ENABLE_RGB_MATRIX_BAND_SAT
-# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# undef ENABLE_RGB_MATRIX_SPLASH
-# undef ENABLE_RGB_MATRIX_MULTISPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
-# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-# define DRIVER_1_LED_TOTAL 36
-# define DRIVER_2_LED_TOTAL 31
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
-#else
-// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
+
+#ifndef RGB_MATRIX_ENABLE
+// IS31FL3731 driver
#define IS31FL3731_LED_COUNT 67
#define RGB_BACKLIGHT_ENABLED 1
diff --git a/keyboards/tkc/portico/info.json b/keyboards/tkc/portico/info.json
index 6eb15efb73..4f908c83e6 100644
--- a/keyboards/tkc/portico/info.json
+++ b/keyboards/tkc/portico/info.json
@@ -9,7 +9,39 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h
index 2c8ecf806d..3da76c332d 100644
--- a/keyboards/tkc/portico68v2/config.h
+++ b/keyboards/tkc/portico68v2/config.h
@@ -18,62 +18,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 82
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-#define DRIVER_INDICATOR_LED_TOTAL 0
-#define RGB_MATRIX_CENTER { 116, 32 }
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-//# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// #define RGB_MATRIX_LED_PROCESS_LIMIT 5
-// #define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/tkc/portico68v2/info.json b/keyboards/tkc/portico68v2/info.json
index 7a11cb6172..38a94c2c9d 100644
--- a/keyboards/tkc/portico68v2/info.json
+++ b/keyboards/tkc/portico68v2/info.json
@@ -9,7 +9,53 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [116, 32],
+ "driver": "is31fl3741",
+ "max_brightness": 175,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/tkc/portico68v2/portico68v2.c b/keyboards/tkc/portico68v2/portico68v2.c
index 90d8c12fca..0f3c557b2c 100644
--- a/keyboards/tkc/portico68v2/portico68v2.c
+++ b/keyboards/tkc/portico68v2/portico68v2.c
@@ -18,90 +18,90 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = {
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB1 */
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB2 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB3 */
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB4 */
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB5 */
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB6 */
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB7 */
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB8 */
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB9 */
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB10 */
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB11 */
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB12 */
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB13 */
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB14 */
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB15 */
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB16 */
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB17 */
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB18 */
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB19 */
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB20 */
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB21 */
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB22 */
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB23 */
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* RGB24 */
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB25 */
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB26 */
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB27 */
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB28 */
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB29 */
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB30 */
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB31 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB32 */
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB33 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB34 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB35 */
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB36 */
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB37 */
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB38 */
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB39 */
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB40 */
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB41 */
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB42 */
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB43 */
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB44 */
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB45 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB46 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB47 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB48 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB49 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB50 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB51 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB52 */
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB53 */
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB54 */
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB55 */
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB56 */
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB57 */
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, /* RGB58 */
- {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB59 */
- {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB60 */
- {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB61 */
- {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB62 */
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB63 */
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB64 */
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB65 */
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB66 */
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB67 */
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, /* RGB1 */
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, /* RGB2 */
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, /* RGB3 */
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, /* RGB4 */
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, /* RGB5 */
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, /* RGB6 */
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, /* RGB7 */
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, /* RGB8 */
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, /* RGB9 */
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, /* RGB10 */
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, /* RGB11 */
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, /* RGB12 */
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, /* RGB13 */
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, /* RGB14 */
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, /* RGB15 */
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, /* RGB16 */
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, /* RGB17 */
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, /* RGB18 */
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, /* RGB19 */
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, /* RGB20 */
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, /* RGB21 */
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, /* RGB22 */
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, /* RGB23 */
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, /* RGB24 */
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* RGB25 */
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, /* RGB26 */
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, /* RGB27 */
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, /* RGB28 */
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, /* RGB29 */
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, /* RGB30 */
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, /* RGB31 */
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, /* RGB32 */
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, /* RGB33 */
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, /* RGB34 */
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, /* RGB35 */
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, /* RGB36 */
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, /* RGB37 */
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, /* RGB38 */
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, /* RGB39 */
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB40 */
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, /* RGB41 */
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, /* RGB42 */
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, /* RGB43 */
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, /* RGB44 */
+ {0, SW1_CS9, SW1_CS8, SW1_CS7}, /* RGB45 */
+ {0, SW3_CS9, SW3_CS8, SW3_CS7}, /* RGB46 */
+ {0, SW4_CS9, SW4_CS8, SW4_CS7}, /* RGB47 */
+ {0, SW5_CS9, SW5_CS8, SW5_CS7}, /* RGB48 */
+ {0, SW6_CS9, SW6_CS8, SW6_CS7}, /* RGB49 */
+ {0, SW7_CS9, SW7_CS8, SW7_CS7}, /* RGB50 */
+ {0, SW8_CS9, SW8_CS8, SW8_CS7}, /* RGB51 */
+ {0, SW9_CS9, SW9_CS8, SW9_CS7}, /* RGB52 */
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB53 */
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, /* RGB54 */
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, /* RGB55 */
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, /* RGB56 */
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB57 */
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, /* RGB58 */
+ {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB59 */
+ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB60 */
+ {0, SW3_CS6, SW3_CS5, SW3_CS4}, /* RGB61 */
+ {0, SW7_CS6, SW7_CS5, SW7_CS4}, /* RGB62 */
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, /* RGB63 */
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB64 */
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB65 */
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, /* RGB66 */
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, /* RGB67 */
- {0,CS36_SW1,CS35_SW1,CS34_SW1}, /* RGB68 */
- {0,CS36_SW2,CS35_SW2,CS34_SW2}, /* RGB69 */
- {0,CS36_SW3,CS35_SW3,CS34_SW3}, /* RGB70 */
- {0,CS36_SW4,CS35_SW4,CS34_SW4}, /* RGB71 */
- {0,CS36_SW5,CS35_SW5,CS34_SW5}, /* RGB72 */
- {0,CS36_SW6,CS35_SW6,CS34_SW6}, /* RGB73 */
- {0,CS36_SW7,CS35_SW7,CS34_SW7}, /* RGB74 */
- {0,CS36_SW8,CS35_SW8,CS34_SW8}, /* RGB75 */
- {0,CS36_SW9,CS35_SW9,CS34_SW9}, /* RGB76 */
- {0,CS39_SW1,CS38_SW1,CS37_SW1}, /* RGB77 */
- {0,CS39_SW2,CS38_SW2,CS37_SW2}, /* RGB78 */
- {0,CS39_SW3,CS38_SW3,CS37_SW3}, /* RGB79 */
- {0,CS39_SW4,CS38_SW4,CS37_SW4}, /* RGB80 */
- {0,CS39_SW5,CS38_SW5,CS37_SW5}, /* RGB81 */
- {0,CS39_SW6,CS38_SW6,CS37_SW6}, /* RGB82 */
+ {0,SW1_CS36,SW1_CS35,SW1_CS34}, /* RGB68 */
+ {0,SW2_CS36,SW2_CS35,SW2_CS34}, /* RGB69 */
+ {0,SW3_CS36,SW3_CS35,SW3_CS34}, /* RGB70 */
+ {0,SW4_CS36,SW4_CS35,SW4_CS34}, /* RGB71 */
+ {0,SW5_CS36,SW5_CS35,SW5_CS34}, /* RGB72 */
+ {0,SW6_CS36,SW6_CS35,SW6_CS34}, /* RGB73 */
+ {0,SW7_CS36,SW7_CS35,SW7_CS34}, /* RGB74 */
+ {0,SW8_CS36,SW8_CS35,SW8_CS34}, /* RGB75 */
+ {0,SW9_CS36,SW9_CS35,SW9_CS34}, /* RGB76 */
+ {0,SW1_CS39,SW1_CS38,SW1_CS37}, /* RGB77 */
+ {0,SW2_CS39,SW2_CS38,SW2_CS37}, /* RGB78 */
+ {0,SW3_CS39,SW3_CS38,SW3_CS37}, /* RGB79 */
+ {0,SW4_CS39,SW4_CS38,SW4_CS37}, /* RGB80 */
+ {0,SW5_CS39,SW5_CS38,SW5_CS37}, /* RGB81 */
+ {0,SW6_CS39,SW6_CS38,SW6_CS37}, /* RGB82 */
};
led_config_t g_led_config = {
@@ -133,13 +133,13 @@ bool rgb_matrix_indicators_kb(void) {
return false;
}
if (host_keyboard_led_state().caps_lock) {
- for (uint8_t i = 0; i < DRIVER_1_LED_TOTAL; i++) {
+ for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
rgb_matrix_set_color(i, 0xFF, 0xFF, 0xFF);
}
}
else {
if (rgb_matrix_get_flags() == LED_FLAG_NONE) {
- for (uint8_t i = 0; i < DRIVER_1_LED_TOTAL; i++) {
+ for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
rgb_matrix_set_color(i, 0, 0, 0);
}
}
diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h
index 8146141bf0..8d209e3775 100644
--- a/keyboards/tkc/portico75/config.h
+++ b/keyboards/tkc/portico75/config.h
@@ -17,68 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 4
-# define RGB_MATRIX_LED_FLUSH_LIMIT 26
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-# define DRIVER_1_LED_TOTAL 98
-# define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-# define DRIVER_INDICATOR_LED_TOTAL 0
-#else
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+
+#ifndef RGB_MATRIX_ENABLE
// WT_RGB IS31FL3741 driver code
-# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
# define IS31FL3741_LED_COUNT 98
# define RGB_BACKLIGHT_ENABLED 1
diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json
index 5a90036972..fa2a24951f 100644
--- a/keyboards/tkc/portico75/info.json
+++ b/keyboards/tkc/portico75/info.json
@@ -9,7 +9,39 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3741"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true
+ },
+ "driver": "is31fl3741",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "B3", "B7"],
diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c
index 0a22a37d4e..cd6dafe31a 100644
--- a/keyboards/tkc/portico75/portico75.c
+++ b/keyboards/tkc/portico75/portico75.c
@@ -25,119 +25,119 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if defined(RGB_MATRIX_ENABLE) || defined(RGB_BACKLIGHT_PORTICO75)
const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
- {0, CS18_SW1, CS17_SW1, CS16_SW1},
- {0, CS18_SW2, CS17_SW2, CS16_SW2},
- {0, CS18_SW3, CS17_SW3, CS16_SW3},
- {0, CS18_SW4, CS17_SW4, CS16_SW4},
- {0, CS18_SW5, CS17_SW5, CS16_SW5},
- {0, CS18_SW6, CS17_SW6, CS16_SW6},
- {0, CS18_SW7, CS17_SW7, CS16_SW7},
- {0, CS18_SW8, CS17_SW8, CS16_SW8},
- {0, CS18_SW9, CS17_SW9, CS16_SW9},
-
- {0, CS21_SW1, CS20_SW1, CS19_SW1},
- {0, CS21_SW2, CS20_SW2, CS19_SW2},
- {0, CS21_SW3, CS20_SW3, CS19_SW3},
- {0, CS21_SW4, CS20_SW4, CS19_SW4},
- {0, CS21_SW5, CS20_SW5, CS19_SW5},
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, //Encoder, NO_LED
-
- {0, CS15_SW1, CS14_SW1, CS13_SW1},
- {0, CS15_SW2, CS14_SW2, CS13_SW2},
- {0, CS15_SW3, CS14_SW3, CS13_SW3},
- {0, CS15_SW4, CS14_SW4, CS13_SW4},
- {0, CS15_SW5, CS14_SW5, CS13_SW5},
- {0, CS15_SW6, CS14_SW6, CS13_SW6},
- {0, CS15_SW7, CS14_SW7, CS13_SW7},
- {0, CS15_SW8, CS14_SW8, CS13_SW8},
- {0, CS15_SW9, CS14_SW9, CS13_SW9},
-
- {0, CS24_SW1, CS23_SW1, CS22_SW1},
- {0, CS24_SW2, CS23_SW2, CS22_SW2},
- {0, CS24_SW3, CS23_SW3, CS22_SW3},
- {0, CS24_SW4, CS23_SW4, CS22_SW4},
- {0, CS24_SW5, CS23_SW5, CS22_SW5},
- {0, CS24_SW6, CS23_SW6, CS22_SW6},
-
- {0, CS12_SW1, CS11_SW1, CS10_SW1},
- {0, CS12_SW2, CS11_SW2, CS10_SW2},
- {0, CS12_SW3, CS11_SW3, CS10_SW3},
- {0, CS12_SW4, CS11_SW4, CS10_SW4},
- {0, CS12_SW5, CS11_SW5, CS10_SW5},
- {0, CS12_SW6, CS11_SW6, CS10_SW6},
- {0, CS12_SW7, CS11_SW7, CS10_SW7},
- {0, CS12_SW8, CS11_SW8, CS10_SW8},
- {0, CS12_SW9, CS11_SW9, CS10_SW9},
-
- {0, CS27_SW1, CS26_SW1, CS25_SW1},
- {0, CS27_SW2, CS26_SW2, CS25_SW2},
- {0, CS27_SW3, CS26_SW3, CS25_SW3},
- {0, CS27_SW4, CS26_SW4, CS25_SW4},
- {0, CS27_SW5, CS26_SW5, CS25_SW5},
- {0, CS27_SW6, CS26_SW6, CS25_SW6},
-
- {0, CS9_SW1, CS8_SW1, CS7_SW1},
- {0, CS9_SW2, CS8_SW2, CS7_SW2},
- {0, CS9_SW3, CS8_SW3, CS7_SW3},
- {0, CS9_SW4, CS8_SW4, CS7_SW4},
- {0, CS9_SW5, CS8_SW5, CS7_SW5},
- {0, CS9_SW6, CS8_SW6, CS7_SW6},
- {0, CS9_SW7, CS8_SW7, CS7_SW7},
- {0, CS9_SW8, CS8_SW8, CS7_SW8},
- {0, CS9_SW9, CS8_SW9, CS7_SW9},
-
- {0, CS30_SW1, CS29_SW1, CS28_SW1},
- {0, CS30_SW2, CS29_SW2, CS28_SW2},
- {0, CS30_SW3, CS29_SW3, CS28_SW3},
- {0, CS30_SW4, CS29_SW4, CS28_SW4},
-
- {0, CS6_SW1, CS5_SW1, CS4_SW1},
- {0, CS6_SW2, CS5_SW2, CS4_SW2},
- {0, CS6_SW3, CS5_SW3, CS4_SW3},
- {0, CS6_SW4, CS5_SW4, CS4_SW4},
- {0, CS6_SW5, CS5_SW5, CS4_SW5},
- {0, CS6_SW6, CS5_SW6, CS4_SW6},
- {0, CS6_SW7, CS5_SW7, CS4_SW7},
- {0, CS6_SW8, CS5_SW8, CS4_SW8},
- {0, CS6_SW9, CS5_SW9, CS4_SW9},
-
- {0, CS33_SW1, CS32_SW1, CS31_SW1},
- {0, CS33_SW2, CS32_SW2, CS31_SW2},
- {0, CS33_SW3, CS32_SW3, CS31_SW3},
- {0, CS33_SW4, CS32_SW4, CS31_SW4},
-
- {0, CS3_SW1, CS2_SW1, CS1_SW1},
- {0, CS3_SW2, CS2_SW2, CS1_SW2},
- {0, CS3_SW3, CS2_SW3, CS1_SW3},
- {0, CS3_SW6, CS2_SW6, CS1_SW6},
- {0, CS3_SW8, CS2_SW8, CS1_SW8},
- {0, CS3_SW9, CS2_SW9, CS1_SW9},
-
- {0, CS36_SW1, CS35_SW1, CS34_SW1},
- {0, CS36_SW2, CS35_SW2, CS34_SW2},
- {0, CS36_SW3, CS35_SW3, CS34_SW3},
+ {0, SW1_CS18, SW1_CS17, SW1_CS16},
+ {0, SW2_CS18, SW2_CS17, SW2_CS16},
+ {0, SW3_CS18, SW3_CS17, SW3_CS16},
+ {0, SW4_CS18, SW4_CS17, SW4_CS16},
+ {0, SW5_CS18, SW5_CS17, SW5_CS16},
+ {0, SW6_CS18, SW6_CS17, SW6_CS16},
+ {0, SW7_CS18, SW7_CS17, SW7_CS16},
+ {0, SW8_CS18, SW8_CS17, SW8_CS16},
+ {0, SW9_CS18, SW9_CS17, SW9_CS16},
+
+ {0, SW1_CS21, SW1_CS20, SW1_CS19},
+ {0, SW2_CS21, SW2_CS20, SW2_CS19},
+ {0, SW3_CS21, SW3_CS20, SW3_CS19},
+ {0, SW4_CS21, SW4_CS20, SW4_CS19},
+ {0, SW5_CS21, SW5_CS20, SW5_CS19},
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, //Encoder, NO_LED
+
+ {0, SW1_CS15, SW1_CS14, SW1_CS13},
+ {0, SW2_CS15, SW2_CS14, SW2_CS13},
+ {0, SW3_CS15, SW3_CS14, SW3_CS13},
+ {0, SW4_CS15, SW4_CS14, SW4_CS13},
+ {0, SW5_CS15, SW5_CS14, SW5_CS13},
+ {0, SW6_CS15, SW6_CS14, SW6_CS13},
+ {0, SW7_CS15, SW7_CS14, SW7_CS13},
+ {0, SW8_CS15, SW8_CS14, SW8_CS13},
+ {0, SW9_CS15, SW9_CS14, SW9_CS13},
+
+ {0, SW1_CS24, SW1_CS23, SW1_CS22},
+ {0, SW2_CS24, SW2_CS23, SW2_CS22},
+ {0, SW3_CS24, SW3_CS23, SW3_CS22},
+ {0, SW4_CS24, SW4_CS23, SW4_CS22},
+ {0, SW5_CS24, SW5_CS23, SW5_CS22},
+ {0, SW6_CS24, SW6_CS23, SW6_CS22},
+
+ {0, SW1_CS12, SW1_CS11, SW1_CS10},
+ {0, SW2_CS12, SW2_CS11, SW2_CS10},
+ {0, SW3_CS12, SW3_CS11, SW3_CS10},
+ {0, SW4_CS12, SW4_CS11, SW4_CS10},
+ {0, SW5_CS12, SW5_CS11, SW5_CS10},
+ {0, SW6_CS12, SW6_CS11, SW6_CS10},
+ {0, SW7_CS12, SW7_CS11, SW7_CS10},
+ {0, SW8_CS12, SW8_CS11, SW8_CS10},
+ {0, SW9_CS12, SW9_CS11, SW9_CS10},
+
+ {0, SW1_CS27, SW1_CS26, SW1_CS25},
+ {0, SW2_CS27, SW2_CS26, SW2_CS25},
+ {0, SW3_CS27, SW3_CS26, SW3_CS25},
+ {0, SW4_CS27, SW4_CS26, SW4_CS25},
+ {0, SW5_CS27, SW5_CS26, SW5_CS25},
+ {0, SW6_CS27, SW6_CS26, SW6_CS25},
+
+ {0, SW1_CS9, SW1_CS8, SW1_CS7},
+ {0, SW2_CS9, SW2_CS8, SW2_CS7},
+ {0, SW3_CS9, SW3_CS8, SW3_CS7},
+ {0, SW4_CS9, SW4_CS8, SW4_CS7},
+ {0, SW5_CS9, SW5_CS8, SW5_CS7},
+ {0, SW6_CS9, SW6_CS8, SW6_CS7},
+ {0, SW7_CS9, SW7_CS8, SW7_CS7},
+ {0, SW8_CS9, SW8_CS8, SW8_CS7},
+ {0, SW9_CS9, SW9_CS8, SW9_CS7},
+
+ {0, SW1_CS30, SW1_CS29, SW1_CS28},
+ {0, SW2_CS30, SW2_CS29, SW2_CS28},
+ {0, SW3_CS30, SW3_CS29, SW3_CS28},
+ {0, SW4_CS30, SW4_CS29, SW4_CS28},
+
+ {0, SW1_CS6, SW1_CS5, SW1_CS4},
+ {0, SW2_CS6, SW2_CS5, SW2_CS4},
+ {0, SW3_CS6, SW3_CS5, SW3_CS4},
+ {0, SW4_CS6, SW4_CS5, SW4_CS4},
+ {0, SW5_CS6, SW5_CS5, SW5_CS4},
+ {0, SW6_CS6, SW6_CS5, SW6_CS4},
+ {0, SW7_CS6, SW7_CS5, SW7_CS4},
+ {0, SW8_CS6, SW8_CS5, SW8_CS4},
+ {0, SW9_CS6, SW9_CS5, SW9_CS4},
+
+ {0, SW1_CS33, SW1_CS32, SW1_CS31},
+ {0, SW2_CS33, SW2_CS32, SW2_CS31},
+ {0, SW3_CS33, SW3_CS32, SW3_CS31},
+ {0, SW4_CS33, SW4_CS32, SW4_CS31},
+
+ {0, SW1_CS3, SW1_CS2, SW1_CS1},
+ {0, SW2_CS3, SW2_CS2, SW2_CS1},
+ {0, SW3_CS3, SW3_CS2, SW3_CS1},
+ {0, SW6_CS3, SW6_CS2, SW6_CS1},
+ {0, SW8_CS3, SW8_CS2, SW8_CS1},
+ {0, SW9_CS3, SW9_CS2, SW9_CS1},
+
+ {0, SW1_CS36, SW1_CS35, SW1_CS34},
+ {0, SW2_CS36, SW2_CS35, SW2_CS34},
+ {0, SW3_CS36, SW3_CS35, SW3_CS34},
/*UNDERGLOW*/
- {0, CS39_SW1, CS38_SW1, CS37_SW1},
- {0, CS39_SW2, CS38_SW2, CS37_SW2},
- {0, CS39_SW3, CS38_SW3, CS37_SW3},
- {0, CS39_SW4, CS38_SW4, CS37_SW4},
- {0, CS39_SW5, CS38_SW5, CS37_SW5},
- {0, CS39_SW6, CS38_SW6, CS37_SW6},
- {0, CS39_SW7, CS38_SW7, CS37_SW7},
- {0, CS39_SW8, CS38_SW8, CS37_SW8},
- {0, CS39_SW9, CS38_SW9, CS37_SW9},
-
- {0, CS36_SW4, CS35_SW4, CS34_SW4},
- {0, CS36_SW5, CS35_SW5, CS34_SW5},
- {0, CS36_SW6, CS35_SW6, CS34_SW6},
- {0, CS36_SW7, CS35_SW7, CS34_SW7},
- {0, CS36_SW8, CS35_SW8, CS34_SW8},
- {0, CS36_SW9, CS35_SW9, CS34_SW9},
-
- {0, CS33_SW5, CS32_SW5, CS31_SW5},
- {0, CS33_SW6, CS32_SW6, CS31_SW6},
- {0, CS33_SW7, CS32_SW7, CS31_SW7},
+ {0, SW1_CS39, SW1_CS38, SW1_CS37},
+ {0, SW2_CS39, SW2_CS38, SW2_CS37},
+ {0, SW3_CS39, SW3_CS38, SW3_CS37},
+ {0, SW4_CS39, SW4_CS38, SW4_CS37},
+ {0, SW5_CS39, SW5_CS38, SW5_CS37},
+ {0, SW6_CS39, SW6_CS38, SW6_CS37},
+ {0, SW7_CS39, SW7_CS38, SW7_CS37},
+ {0, SW8_CS39, SW8_CS38, SW8_CS37},
+ {0, SW9_CS39, SW9_CS38, SW9_CS37},
+
+ {0, SW4_CS36, SW4_CS35, SW4_CS34},
+ {0, SW5_CS36, SW5_CS35, SW5_CS34},
+ {0, SW6_CS36, SW6_CS35, SW6_CS34},
+ {0, SW7_CS36, SW7_CS35, SW7_CS34},
+ {0, SW8_CS36, SW8_CS35, SW8_CS34},
+ {0, SW9_CS36, SW9_CS35, SW9_CS34},
+
+ {0, SW5_CS33, SW5_CS32, SW5_CS31},
+ {0, SW6_CS33, SW6_CS32, SW6_CS31},
+ {0, SW7_CS33, SW7_CS32, SW7_CS31},
};
#endif
diff --git a/keyboards/tkc/tkl_ab87/config.h b/keyboards/tkc/tkl_ab87/config.h
index 5a3bda67c2..ef2f04081f 100644
--- a/keyboards/tkc/tkl_ab87/config.h
+++ b/keyboards/tkc/tkl_ab87/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2 //Reduced layer count due to memory space considerations
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/tmo50/keymaps/olivia/keymap.c b/keyboards/tmo50/keymaps/olivia/keymap.c
deleted file mode 100644
index f7a094060d..0000000000
--- a/keyboards/tmo50/keymaps/olivia/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2019 funderburker
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define LT1_SPC LT(1, KC_SPC)
-#define LT1_BSPC LT(1, KC_BSPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Default layer
- [0] = LAYOUT_all(
- KC_VOLU, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_VOLD, MT(MOD_LCTL, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_MUTE, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
- KC_MPLY, KC_LALT, KC_LGUI, LT1_BSPC, LT1_SPC, KC_RALT, MO(3)
- ),
-
- // Fn1 layer
- [1] = LAYOUT_all(
- KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- 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_GRV, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn2 layer
- [2] = LAYOUT_all(
- KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_UP, KC_TRNS, KC_TRNS, KC_DEL,
- KC_BRID, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn3 layer
- [3] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/tmo50/keymaps/pyrol/keymap.c b/keyboards/tmo50/keymaps/pyrol/keymap.c
deleted file mode 100644
index b45f5250e1..0000000000
--- a/keyboards/tmo50/keymaps/pyrol/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2019 funderburker
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 CALTDEL LCA(KC_DEL)
-#define TSKMGR C(S(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Default layer
- [0] = LAYOUT_all(
- KC_VOLU, 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_EQL, KC_BSPC,
- KC_VOLD, 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_MPLY, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(3),
- KC_MUTE, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(2, KC_SPC), KC_RALT, MO(4)
- ),
-
- // Fn1 layer
- [1] = LAYOUT_all(
- A(KC_TAB), KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RBRC, KC_LBRC, KC_DEL,
- C(KC_C), KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_TRNS,
- C(KC_V), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS,
- C(KC_X), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- //Fn2 layer
- [2] = LAYOUT_all(
- A(KC_TAB), KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, KC_LBRC, KC_DEL,
- C(KC_C), KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TILD, KC_TRNS,
- C(KC_V), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS,
- C(KC_X), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn3 layer
- [3] = LAYOUT_all(
- CALTDEL, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
- TSKMGR, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, TO(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn4 layer
- [4] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- // Game layer!
- [5] = LAYOUT_all(
- KC_VOLU, 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_EQL, KC_BSPC,
- KC_VOLD, 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_MPLY, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(3),
- KC_F12, KC_F13, KC_LALT, KC_SPC, LT(2, KC_SPC), KC_RALT, TO(0)
- ),
-};
diff --git a/keyboards/tmo50/keymaps/xerpocalypse/keymap.c b/keyboards/tmo50/keymaps/xerpocalypse/keymap.c
deleted file mode 100644
index 53070fcb0b..0000000000
--- a/keyboards/tmo50/keymaps/xerpocalypse/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2019 funderburker
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define LT1_SPC LT(1, KC_SPC)
-#define LT2_SPC LT(2, KC_BSPC)
-#define TSKMNGR C(S(KC_ESC))
-#define ALT_TAB A(KC_TAB)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // Default layer
- [0] = LAYOUT_all(
- KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_TRNS, 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_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(3),
- KC_TRNS, KC_LGUI, KC_LALT, LT1_SPC, LT2_SPC, KC_RALT, KC_RCTL
- ),
-
- // Fn1 layer
- [1] = LAYOUT_all(
- KC_GRV, 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,
- C(KC_C), KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_TRNS,
- C(KC_V), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS,
- C(KC_X), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn2 layer
- [2] = LAYOUT_all(
- ALT_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
- TSKMNGR, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn3 layer
- [3] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c b/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c
deleted file mode 100644
index f0b54c3635..0000000000
--- a/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define BL 0
-#define FN 1
-/*
- * Default HHKB Layout
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: Default layer
-┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
-│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │█████│Enter│█████│
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│Shift│█████│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │█████│Shift│ Fn │
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│█████│ Gui │ Alt │█████│█████│Space│█████│█████│█████│█████│█████│ Alt │ Gui │█████│█████│
-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-[BL] = LAYOUT_60_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(FN),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI ),
- /* 1: HHKB Fn layer
-┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
-│ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│Caps │ RGB │RGBfw│RGBrv│BLtog│BLstp│ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│ │ VoD │ VoU │ Mut │ │ │NP_* │NP_/ │Home │PgUp │Left │Right│█████│NPEnt│█████│
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│ │█████│ │ │Calc │ │ │NP_+ │NP_- │ End │PgDwn│Down │█████│ │ │
-├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
-│█████│ │ │█████│█████│█████│ │█████│█████│█████│█████│ │ │█████│█████│
-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
- */
-[FN]= LAYOUT_60_hhkb(
- 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_INS, KC_DEL,
- KC_CAPS, RGB_TOG, RGB_MOD, RGB_RMOD, BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-};
diff --git a/keyboards/tominabox1/adalyn/rules.mk b/keyboards/tominabox1/adalyn/rules.mk
index 60522b4706..92299c80b9 100644
--- a/keyboards/tominabox1/adalyn/rules.mk
+++ b/keyboards/tominabox1/adalyn/rules.mk
@@ -7,7 +7,4 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-COMBO_ENABLE = no
+
diff --git a/keyboards/tominabox1/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h
index 9b01cb3da4..333d0a100e 100644
--- a/keyboards/tominabox1/le_chiffre/config.h
+++ b/keyboards/tominabox1/le_chiffre/config.h
@@ -19,9 +19,3 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/*
- * WS2812 Underglow Matrix options
- */
-#define RGB_MATRIX_LED_COUNT 11
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json
index 8ebc0778e6..47c07ab361 100644
--- a/keyboards/tominabox1/le_chiffre/info.json
+++ b/keyboards/tominabox1/le_chiffre/info.json
@@ -73,7 +73,8 @@
"max_brightness": 150,
"sat_steps": 8,
"speed_steps": 10,
- "val_steps": 8
+ "val_steps": 8,
+ "sleep": true
},
"usb": {
"vid": "0x7431",
diff --git a/keyboards/torn/keymaps/kinesish/config.h b/keyboards/torn/keymaps/kinesish/config.h
deleted file mode 100644
index 5c4de67989..0000000000
--- a/keyboards/torn/keymaps/kinesish/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 Alexander Dergachev (alexander.dergachev@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 TAPPING_TERM 200
-#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
-#define PERMISSIVE_HOLD_PER_KEY
diff --git a/keyboards/torn/keymaps/kinesish/keymap.c b/keyboards/torn/keymaps/kinesish/keymap.c
deleted file mode 100644
index 9ddbac3601..0000000000
--- a/keyboards/torn/keymaps/kinesish/keymap.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright 2020 Alexander Dergachev (alexander.dergachev@gmail.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum torn_layers { _QWERTY, _LOWER, _RAISE, _ADJUST };
-
-#define G_DEL LGUI_T(KC_DEL)
-#define G_ENT RGUI_T(KC_ENT)
-
-#define C_BSPC LCTL_T(KC_BSPC)
-#define C_SPC RCTL_T(KC_SPC)
-
-#define S_EQL LSFT_T(KC_EQL)
-#define S_MINS RSFT_T(KC_MINS)
-
-#define R_TAB LT(_RAISE, KC_TAB)
-#define R_BSLS LT(_RAISE, KC_BSLS)
-
-#define L_GRV LT(_LOWER, KC_GRV)
-#define L_QUOT LT(_LOWER, KC_QUOT)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * | Raise| | | | | | | | | | | | Raise|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | A | S | D | F | G | | H | J | K | L | ; | ' |
- * | Lower| | | | | | | | | | | | Lower|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | =+ | Z | X | C | V | B | | N | M | , | . | / | -_ |
- * | Shift| | | | | | | | | | | | Shift|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ____ | Alt | Bksp | Del | |Enter |Space | Alt | ____ |
- * | | | Ctrl | Gui | | Gui | Ctrl | | |
- * `---------------------------' `---------------------------'
- */
-[_QWERTY] = LAYOUT_split_3x6_4(
- R_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, R_BSLS,
- L_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, L_QUOT,
- S_EQL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, S_MINS ,
- _______, KC_LALT, C_BSPC, G_DEL, G_ENT, C_SPC, KC_RALT, _______
-),
-
-/* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | [ | ] | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ____ | Alt | Bksp | Del | |Enter |Space | Alt | ____ |
- * | | | Ctrl | Gui | | Gui | Ctrl | | |
- * `---------------------------' `---------------------------'
- */
-[_LOWER] = LAYOUT_split_3x6_4(
- KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_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_LBRC, KC_RBRC, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-/* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | S+H | S+A+L| UP | S+A+R| S+E | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F6 | F7 | F8 | F9 | F10 | | Home | Left | Down | Right| End | PgUp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F11 | F12 | | | | | A+L | S+L | S+D | S+R | A+R | PgDn |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ____ | Alt | Bksp | Del | |Enter |Space | Alt | ____ |
- * | | | Ctrl | Gui | | Gui | Ctrl | | |
- * `---------------------------' `---------------------------'
- */
-[_RAISE] = LAYOUT_split_3x6_4(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, S(KC_HOME), S(A(KC_LEFT)), KC_UP, S(A(KC_RGHT)), S(KC_END), KC_TRNS,
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGUP,
- KC_TRNS, KC_F11, KC_F12, _______, _______, _______, A(KC_LEFT), S(KC_LEFT), S(KC_DOWN), S(KC_RGHT), A(KC_RGHT), KC_PGDN ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-/* Adjust
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ____ | Alt | Bksp | Del | |Enter |Space | Alt | ____ |
- * | | | Ctrl | Gui | | Gui | Ctrl | | |
- * `---------------------------' `---------------------------'
- */
-[_ADJUST] = LAYOUT_split_3x6_4(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-
-};
-
-const uint16_t PROGMEM encoder_keymaps[][2][2] = {
- [_QWERTY] = { { C(S(KC_TAB)), C(KC_TAB) }, { G(A(KC_LEFT)), G(A(KC_RIGHT)) } },
- [_LOWER] = { { C(KC_LEFT), C(KC_RGHT) }, { KC_VOLD, KC_VOLU } },
- [_RAISE] = { { G(KC_LEFT), G(KC_RGHT) }, { G(KC_TAB), G(S(KC_TAB)) } },
- [_ADJUST] = { { KC_TRNS, KC_TRNS }, { KC_TRNS, KC_TRNS } },
-};
-// clang-format on
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- torn_set_led(0, IS_LAYER_ON_STATE(state, _RAISE));
- torn_set_led(1, IS_LAYER_ON_STATE(state, _LOWER));
- torn_set_led(2, IS_LAYER_ON_STATE(state, _ADJUST));
- return state;
-}
-
-/*
- * Enable `HOLD_ON_OTHER_KEY_PRESS` only for `Shift`.
- * For more info see `HOLD_ON_OTHER_KEY_PRESS_PER_KEY` in `docs/tap_hold.md`.
- */
-
-bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case S_EQL:
- return true;
- case S_MINS:
- return true;
- default:
- return false;
- }
-}
-
-/*
- * Enable `PERMISSIVE_HOLD` for `Shift` modifers.
- * For more info see `PERMISSIVE_HOLD_PER_KEY` in `docs/tap_hold.md`.
- */
-
-bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case S_EQL:
- return true;
- case S_MINS:
- return true;
- default:
- return false;
- }
-}
diff --git a/keyboards/torn/keymaps/kinesish/readme.md b/keyboards/torn/keymaps/kinesish/readme.md
deleted file mode 100644
index 481602e5bc..0000000000
--- a/keyboards/torn/keymaps/kinesish/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# A Custom Keymap for [Torn](https://github.com/rtitmuss/torn)
-
-## Keymap
-This keymap was inspired by default layout of Kinesis Advantage.
-
-The main idea behind this keymap is that you have all modifiers as well as layer keys duplicated on both halves.
diff --git a/keyboards/torn/keymaps/kinesish/rules.mk b/keyboards/torn/keymaps/kinesish/rules.mk
deleted file mode 100644
index 36b7ba9cbc..0000000000
--- a/keyboards/torn/keymaps/kinesish/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/torn/mcp23018.c b/keyboards/torn/mcp23018.c
index 12c4f9bc7f..ba26e67ba9 100644
--- a/keyboards/torn/mcp23018.c
+++ b/keyboards/torn/mcp23018.c
@@ -48,7 +48,7 @@ i2c_status_t mcp23018_writeReg(uint8_t regaddr, const uint8_t* data, uint16_t le
return mcp23018_status;
}
- mcp23018_status = i2c_writeReg((MCP23018_ADDR << 1), regaddr, data, length, MCP23018_TIMEOUT);
+ mcp23018_status = i2c_write_register((MCP23018_ADDR << 1), regaddr, data, length, MCP23018_TIMEOUT);
return mcp23018_status;
}
@@ -57,6 +57,6 @@ i2c_status_t mcp23018_readReg(uint8_t regaddr, uint8_t* data, uint16_t length) {
return mcp23018_status;
}
- mcp23018_status = i2c_readReg((MCP23018_ADDR << 1), regaddr, data, length, MCP23018_TIMEOUT);
+ mcp23018_status = i2c_read_register((MCP23018_ADDR << 1), regaddr, data, length, MCP23018_TIMEOUT);
return mcp23018_status;
}
diff --git a/keyboards/touchpad/matrix.c b/keyboards/touchpad/matrix.c
index 6bffb826bd..87944cb7cc 100644
--- a/keyboards/touchpad/matrix.c
+++ b/keyboards/touchpad/matrix.c
@@ -38,7 +38,7 @@ volatile uint8_t LEDs[6][6] = {{0}};//Stores current LED values
//Read data from the cap touch IC
uint8_t readDataFromTS(uint8_t reg) {
uint8_t rx[1] = { 0 };
- if (i2c_readReg(0x1C << 1, reg, rx, 1, 100) == 0) {
+ if (i2c_read_register(0x1C << 1, reg, rx, 1, 100) == 0) {
return rx[0];
}
return 0;
diff --git a/keyboards/tr60w/keymaps/joule-flow/keymap.c b/keyboards/tr60w/keymaps/joule-flow/keymap.c
deleted file mode 100644
index 3adc9a84f9..0000000000
--- a/keyboards/tr60w/keymaps/joule-flow/keymap.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS, KC_LSFT, TG(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_F12, KC_RCTL
- ),
-
- LAYOUT_60_tsangan_hhkb(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS,
- _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, KC_WH_U, KC_BTN1 , KC_MS_U , KC_BTN2, KC_WH_L, _______, KC_DEL,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, KC_WH_D, KC_MS_L , KC_MS_D , KC_MS_R, KC_WH_R, _______,
- _______, RCTL(KC_Y), RCTL(KC_X), RCTL(KC_C), RCTL(KC_V), _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/treasure/type9s3/config.h b/keyboards/treasure/type9s3/config.h
deleted file mode 100644
index b87cd59b2f..0000000000
--- a/keyboards/treasure/type9s3/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2023 Treasure
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 9
-
-#define RGB_MATRIX_DEFAULT_SPD 40 // Sets the default animation speed, if none has been set
-#define RGB_MATRIX_DEFAULT_VAL 120
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/treasure/type9s3/info.json b/keyboards/treasure/type9s3/info.json
index 8e9c9fa38f..cb2bcf3a7a 100644
--- a/keyboards/treasure/type9s3/info.json
+++ b/keyboards/treasure/type9s3/info.json
@@ -31,6 +31,28 @@
"pin": "B6"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "jellybean_raindrops": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "splash": true,
+ "solid_splash": true
+ },
+ "default": {
+ "speed": 40,
+ "val": 120
+ },
"driver": "ws2812",
"layout": [
{ "matrix": [2, 0],"flags": 4, "x": 0, "y": 20 },
@@ -42,7 +64,8 @@
{ "matrix": [0, 0],"flags": 4, "x": 0, "y": 0 },
{ "matrix": [0, 1],"flags": 4, "x": 10, "y": 0 },
{ "matrix": [0, 2],"flags": 4, "x": 20, "y": 0 }
- ]
+ ],
+ "sleep": true
},
"community_layouts": ["ortho_3x3"],
"layouts": {
diff --git a/keyboards/tunks/ergo33/keymaps/default/config.h b/keyboards/tunks/ergo33/keymaps/default/config.h
index 33edf0b03c..3ca11c66a6 100644
--- a/keyboards/tunks/ergo33/keymaps/default/config.h
+++ b/keyboards/tunks/ergo33/keymaps/default/config.h
@@ -20,7 +20,7 @@
* No external LED PCB: 10
* External LED PCB: 14
*/
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/tunks/ergo33/keymaps/prpro/config.h b/keyboards/tunks/ergo33/keymaps/prpro/config.h
deleted file mode 100644
index 4fc3b21322..0000000000
--- a/keyboards/tunks/ergo33/keymaps/prpro/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 Mika Kuitunen
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* RGB LED count
- * No external LED PCB: 10
- * External LED PCB: 14
- */
-#define RGBLED_NUM 14
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_SLEEP
-
-/* Tap dance delay in ms */
-#define TAPPING_TERM 175 \ No newline at end of file
diff --git a/keyboards/tunks/ergo33/keymaps/prpro/keymap.c b/keyboards/tunks/ergo33/keymaps/prpro/keymap.c
deleted file mode 100644
index 8751f65126..0000000000
--- a/keyboards/tunks/ergo33/keymaps/prpro/keymap.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright 2020 Mika Kuitunen
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_finnish.h"
-
-enum layers {
- _BASE = 0,
- _PRPRO,
- _PRPRO2,
-};
-
-/* Tap Dance declarations */
-enum {
- TD_1,
- TD_2,
- TD_3,
- TD_4,
- TD_5,
- TD_6,
- TD_COMMA,
- TD_HOME,
- TD_K,
- TD_DEL,
- TD_X,
- TD_C,
- TD_V,
- TD_Z
-};
-
-/* Tap Dance definitions */
-tap_dance_action_t tap_dance_actions[] = {
- [TD_1] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_1), LCTL(LSFT(KC_1))),
- [TD_2] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_2), LCTL(LSFT(KC_2))),
- [TD_3] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_3), LCTL(LSFT(KC_3))),
- [TD_4] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_4), LCTL(LSFT(KC_4))),
- [TD_5] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_5), LCTL(LSFT(KC_5))),
- [TD_6] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_6), LCTL(LSFT(KC_6))),
- [TD_COMMA] = ACTION_TAP_DANCE_DOUBLE(KC_COMMA, KC_DOT),
- [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END),
- [TD_K] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_K), LCTL(LSFT(KC_K))),
- [TD_DEL] = ACTION_TAP_DANCE_DOUBLE(KC_DEL, LSFT(KC_DEL)),
- [TD_X] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_X), KC_S),
- [TD_C] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), KC_M),
- [TD_V] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_V), LCTL(KC_L)),
- [TD_Z] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_Z), LCTL(LSFT(KC_Z)))
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_Y, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
- KC_H, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_N, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, TG(_PRPRO),
- KC_LGUI, KC_LCTL, KC_ENT,
- KC_LALT, KC_SPC, KC_ENT
- ),
-
- [_PRPRO] = LAYOUT(
- KC_ESC, KC_M, KC_V, KC_UP, KC_A, KC_Y, KC_C,
- KC_1, KC_2, KC_LEFT, KC_DOWN, KC_RIGHT, TD(TD_Z), TD(TD_DEL),
- FI_SECT, TD(TD_HOME), KC_J, KC_K, KC_L, TD(TD_K), TG(_PRPRO2),
- KC_S, KC_LSFT, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_S), TG(_PRPRO),
- LCTL(KC_L), KC_LCTL, KC_ENT,
- KC_LALT, KC_SPC, KC_ENT
- ),
-
- [_PRPRO2] = LAYOUT(
- KC_TRNS, KC_TRNS, TD(TD_1), TD(TD_2), TD(TD_3), TD(TD_4), TD(TD_5),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_I, KC_O, TD(TD_COMMA), KC_TRNS, TG(_PRPRO2),
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MS_WH_DOWN);
- } else {
- tap_code(KC_MS_WH_UP);
- }
- }
- return true;
-}
-#endif
-
-#ifdef RGBLIGHT_LAYERS
-#define HUE_PRIMARY 10
-#define HSV_PRIMARY HUE_PRIMARY, 255, 255
-#define HSV_CAPS HUE_PRIMARY, 255, 64
-#define HSV_LAYER_BASE HUE_PRIMARY, 255, 64
-#define HSV_LAYER_PRPRO 213, 255, 64
-#define HSV_LAYER_PRPRO2 184, 255, 64
-
-const rgblight_segment_t PROGMEM ug_default_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 14, HSV_PRIMARY},
- {10, 4, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ug_caps_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {11, 1, HSV_CAPS}
-);
-
-const rgblight_segment_t PROGMEM ug_base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {13, 1, HSV_LAYER_BASE}
-);
-
-const rgblight_segment_t PROGMEM ug_prpro_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {13, 1, HSV_LAYER_PRPRO}
-);
-
-const rgblight_segment_t PROGMEM ug_prpro2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {13, 1, HSV_LAYER_PRPRO2}
-);
-
-/* Define layer order, later layers take precedence */
-const rgblight_segment_t* const PROGMEM ug_layers[] = RGBLIGHT_LAYERS_LIST(
- ug_default_layer,
- ug_caps_layer,
- ug_base_layer,
- ug_prpro_layer,
- ug_prpro2_layer
-);
-
-void keyboard_post_init_user(void) {
- /* Enable the LED layers */
- rgblight_layers = ug_layers;
- rgblight_set_layer_state(0, true);
- rgblight_set_layer_state(2, true);
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, true);
- /* Both layers will light up if both kb layers are active */
- rgblight_set_layer_state(2, layer_state_cmp(state, 0));
- rgblight_set_layer_state(3, layer_state_cmp(state, 1));
- rgblight_set_layer_state(4, layer_state_cmp(state, 2));
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(1, led_state.caps_lock);
- return true;
-}
-#endif
diff --git a/keyboards/tunks/ergo33/keymaps/prpro/readme.md b/keyboards/tunks/ergo33/keymaps/prpro/readme.md
deleted file mode 100644
index d9507df738..0000000000
--- a/keyboards/tunks/ergo33/keymaps/prpro/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Ergo33 Premiere Pro Layout
-
-Default layout + Premiere pro editing layout for Ergo33.
-
-On this layout, the second and third layers are Adobe Premiere Pro hotkeys. You'll need to use [My custom shortcuts](https://github.com/kulmajaba/tunks-keyboard/blob/master/Ergo33%20prpro.kys) for it to work.
diff --git a/keyboards/tunks/ergo33/keymaps/prpro/rules.mk b/keyboards/tunks/ergo33/keymaps/prpro/rules.mk
deleted file mode 100644
index 2176e6dc2b..0000000000
--- a/keyboards/tunks/ergo33/keymaps/prpro/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes # Tap dance \ No newline at end of file
diff --git a/keyboards/tunks/ergo33/keymaps/rgb/config.h b/keyboards/tunks/ergo33/keymaps/rgb/config.h
index 60cee638d2..036bcf81b8 100644
--- a/keyboards/tunks/ergo33/keymaps/rgb/config.h
+++ b/keyboards/tunks/ergo33/keymaps/rgb/config.h
@@ -20,9 +20,9 @@
* No external LED PCB: 10
* External LED PCB: 14
*/
-#if defined(RGBLED_NUM)
-# undef RGBLED_NUM
-# define RGBLED_NUM 10
+#if defined(RGBLIGHT_LED_COUNT)
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 10
#endif
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/tw40/keymaps/via/rules.mk b/keyboards/tw40/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc..0000000000
--- a/keyboards/tw40/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/tw40/readme.md b/keyboards/tw40/readme.md
deleted file mode 100644
index 7db7378590..0000000000
--- a/keyboards/tw40/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Training Wheel 40
-
-![tw40](https://cdn.shopify.com/s/files/1/0501/7537/7592/products/tw40_600x.jpg?v=1607835284)
-
-* Keyboard Maintainer: [KnoblesseOblige](https://github.com/KnoblesseOblige)
-* Hardware Supported: Training Wheel 40 PCB
-* Hardware Availability: https://p3dstore.com/products/tw40-gb
-
-Make example for this keyboard (after setting up your build environment):
-
- make tw40:default
-
-
-To flash a new firmware plug in the keyboard while holding Esc (top left key) and then run the commands below.
-
-Flashing example for this keyboard:
-
- make tw40:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/tweetydabird/chameleon/config.h b/keyboards/tweetydabird/chameleon/config.h
deleted file mode 100644
index ba31336014..0000000000
--- a/keyboards/tweetydabird/chameleon/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2023 Markus Knutsson (@TweetyDaBird)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/tweetydabird/lotus58/config.h b/keyboards/tweetydabird/lotus58/config.h
deleted file mode 100644
index 4175568d40..0000000000
--- a/keyboards/tweetydabird/lotus58/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2022 Markus Knutsson (@TweetyDaBird)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-// Options not yet fully implemented in info.json
-#define RGBLIGHT_DEFAULT_VAL 87
-
-#define SPLIT_HAND_PIN B5
diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json
index 751f57c519..646843e765 100644
--- a/keyboards/tweetydabird/lotus58/info.json
+++ b/keyboards/tweetydabird/lotus58/info.json
@@ -32,6 +32,9 @@
"pin_compatible": "promicro",
"processor": "atmega32u4",
"rgblight": {
+ "default": {
+ "val": 87
+ },
"led_count": 70,
"max_brightness": 175,
"sleep": true,
@@ -50,6 +53,9 @@
]
}
},
+ "handedness": {
+ "pin": "B5"
+ },
"soft_serial_pin": "D2",
"transport": {
"protocol": "serial",
diff --git a/keyboards/tzarc/djinn/rev1/config.h b/keyboards/tzarc/djinn/rev1/config.h
index cdcabed05c..7c8dc042f3 100644
--- a/keyboards/tzarc/djinn/rev1/config.h
+++ b/keyboards/tzarc/djinn/rev1/config.h
@@ -14,9 +14,6 @@
#endif // SERIAL_USART_SPEED
// RGB configuration
-#define RGB_MATRIX_LED_COUNT 84
-#define RGB_MATRIX_SPLIT \
- { 42, 42 }
#define RGB_POWER_ENABLE_PIN B1
#define RGB_CURR_1500mA_OK_PIN B0
#define RGB_CURR_3000mA_OK_PIN C5
diff --git a/keyboards/tzarc/djinn/rev1/info.json b/keyboards/tzarc/djinn/rev1/info.json
index 8a77a0fdc1..a0422dea93 100644
--- a/keyboards/tzarc/djinn/rev1/info.json
+++ b/keyboards/tzarc/djinn/rev1/info.json
@@ -97,6 +97,7 @@
{"flags": 4, "matrix": [6, 4], "x": 120, "y": 30},
{"flags": 4, "matrix": [6, 5], "x": 94, "y": 30},
{"flags": 4, "matrix": [6, 6], "x": 68, "y": 30}
- ]
+ ],
+ "split_count": [42, 42]
}
}
diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h
index 00a893ff65..bc7fcb3712 100644
--- a/keyboards/tzarc/djinn/rev2/config.h
+++ b/keyboards/tzarc/djinn/rev2/config.h
@@ -17,9 +17,6 @@
#define SERIAL_USART_FULL_DUPLEX
// RGB configuration
-#define RGB_MATRIX_LED_COUNT 86
-#define RGB_MATRIX_SPLIT \
- { 43, 43 }
#define RGB_POWER_ENABLE_PIN B0
#define RGB_CURR_1500mA_OK_PIN C5
#define RGB_CURR_3000mA_OK_PIN C4
diff --git a/keyboards/tzarc/djinn/rev2/info.json b/keyboards/tzarc/djinn/rev2/info.json
index a8716209ea..33db91971e 100644
--- a/keyboards/tzarc/djinn/rev2/info.json
+++ b/keyboards/tzarc/djinn/rev2/info.json
@@ -98,6 +98,7 @@
{"flags": 4, "matrix": [6, 4], "x": 120, "y": 30},
{"flags": 4, "matrix": [6, 5], "x": 94, "y": 30},
{"flags": 4, "matrix": [6, 6], "x": 68, "y": 30}
- ]
+ ],
+ "split_count": [43, 43]
}
}
diff --git a/keyboards/tzarc/ghoul/config.h b/keyboards/tzarc/ghoul/config.h
index 402f14cd92..4709151e8d 100644
--- a/keyboards/tzarc/ghoul/config.h
+++ b/keyboards/tzarc/ghoul/config.h
@@ -9,6 +9,3 @@
// EEPROM configuration
#define EEPROM_SPI_MB85RS64V
-
-// RGB configuration
-#define RGB_MATRIX_LED_COUNT 40
diff --git a/keyboards/uk78/keymaps/rask/README.md b/keyboards/uk78/keymaps/rask/README.md
deleted file mode 100644
index c9740c9f89..0000000000
--- a/keyboards/uk78/keymaps/rask/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# rask's UK78 Layout
-
-![UK78 Layout](https://i.imgur.com/46trAbD.png)
-
-### Update 2018-03-10
-
-Added `RGB_MOD` key on layer two to the `F` key location, allows
-shuffling between underglow animation modes.
-
-## Flashing
-
-Plug the keyboard in and press the reset button, then in the main
-`qmk_firmware` directory run
-
- $ sudo make uk78:rask:dfu
diff --git a/keyboards/uk78/keymaps/rask/keymap.c b/keyboards/uk78/keymaps/rask/keymap.c
deleted file mode 100644
index 01220a775e..0000000000
--- a/keyboards/uk78/keymaps/rask/keymap.c
+++ /dev/null
@@ -1,84 +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 _BL 0
-#define _FL1 1
-#define _FL2 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* _BL: Base Layer(Default) - For ISO enter use ANSI
- * ,-------------------------------------------------------------------------------.
- * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del |NLck| P/| P*| P-|
- * |-------------------------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Bspc | P7| P8| P9| |
- * |--------------------------------------------------------------------------| P+|
- * | L1 | A| S| D| F| G| H| J| K| L| ;| '| Ent| P4| P5| P6| |
- * |-------------------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| L2 | Up| P1| P2| P3| |
- * |--------------------------------------------------------------------------|PEnt|
- * |Ctrl |Alt | Space |AltGr |Win |Lef|Dow| Rig| P0| P.| |
- * `-------------------------------------------------------------------------------'
- */
- [_BL] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PPLS,
- MO(_FL1),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_FL2),MO(_FL2), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
- ),
-
- /* _FL1: Function Layer 1 - For ISO enter use ANSI
- * ,-------------------------------------------------------------------------------.
- * |Esc|F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|PScr|Ins| | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |PgUp| | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | |Home|PgDn|End | | | |
- * `-------------------------------------------------------------------------------'
- */
- [_FL1] = 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_INS, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______
- ),
-
- /* _FL2: Function Layer 2 - For ISO enter use ANSI
- * ,-------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | |RST| | | | |Prv|Ply|Nxt| | | | | | |
- * |-------------------------------------------------------------------------------|
- * |Caps | | |uln|Hu+|Va+|Sa+| | |Vod|Vou|Mut| | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | |RGB|Hu-|Va-|Sa-|Bl-|Bl+|Stp| | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | |Menu | BL_Toggle | | | | | | | | |
- * `-------------------------------------------------------------------------------'
- */
- [_FL2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DOWN, BL_UP, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_APP, KC_APP, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- DDRA |= (1 << 3); PORTA |= (1 << 3);
- } else {
- DDRA &= ~(1 << 3); PORTA &= ~(1 << 3);
- }
- return false;
-}
diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h
index f3431bd412..70dfd10d97 100644
--- a/keyboards/ungodly/launch_pad/config.h
+++ b/keyboards/ungodly/launch_pad/config.h
@@ -18,66 +18,3 @@
/* Midi Slider */
#define SLIDER_PIN F6
#define MIDI_ADVANCED
-
-/* RGB Matrix configuration */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 22
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // default mode
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-// # define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-// # define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// # define ENABLE_RGB_MATRIX_CYCLE_ALL
-// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// # define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// # define ENABLE_RGB_MATRIX_RAINDROPS
-// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// # define ENABLE_RGB_MATRIX_HUE_BREATHING
-// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// # define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json
index 5474bc5279..d9d0ea30ed 100644
--- a/keyboards/ungodly/launch_pad/info.json
+++ b/keyboards/ungodly/launch_pad/info.json
@@ -9,10 +9,19 @@
"device_version": "99.9.9"
},
"rgb_matrix": {
+ "animations": {
+ "gradient_left_right": true,
+ "cycle_pinwheel": true
+ },
+ "default": {
+ "animation": "cycle_pinwheel"
+ },
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
"val_steps": 8,
- "speed_steps": 10
+ "speed_steps": 10,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3"],
diff --git a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c b/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
deleted file mode 100644
index e3292dd30c..0000000000
--- a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Copyright 2020 Ungodly Design <hello@ungodly.design>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "analog.h"
-#include "qmk_midi.h"
-
-/* Force Numlock on */
-void matrix_init_user (void) {
- if (!host_keyboard_led_state().num_lock) {
- tap_code(KC_NUM_LOCK);
- }
-}
-
-// Tap Dance declarations
-enum {
- TD_ESC_TAB,
- TD_NUMLOCK_L1,
- TD_3_L0
-};
-
-// Tap Dance definitions
-tap_dance_action_t tap_dance_actions[] = {
- // Tap once for Escape, twice for Number 4 (armor plates in warzone)
- [TD_ESC_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_TAB),
- [TD_3_L0] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_3, 1),
- [TD_NUMLOCK_L1] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_NUM_LOCK, 1),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: (Base Layer) Default Numpad Layer
- * ,-------------------.
- * | NV | / | * |BK/FN|
- * |----|----|----|-----|
- * | 7 | 8 | 9 | - |
- * |----|----|----|-----|
- * | 4 | 5 | 6 | + |
- * |----|----|----|-----|
- * | 1 | 2 | 3 | En |
- * |----|----|----|-----|
- * | 0 | 0 | . | En |
- * `--------------------'
- */
- [0] = LAYOUT_ortho_5x4(
- TD(TD_NUMLOCK_L1), KC_PSLS, KC_PAST, LT(2, KC_BSPC),
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_P0, KC_PDOT, KC_PENT
- ),
- /* Keymap _WAR: (Warzone Layer) Default Numpad Layer for COD Warzone N00BS
- * ,-------------------.
- * | R | F | V | Spc |
- * |----|----|----|-----|
- * | E | D | C | Alt |
- * |----|----|----|-----|
- * | W | S | X | 4 |
- * |----|----|----|-----|
- * | Q | A | Z | 3 |
- * |----|----|----|-----|
- * | Esc|Ctrl|Shift| M |
- * `--------------------'
- */
- [1] = LAYOUT_ortho_5x4(
- KC_R, KC_F, KC_V, KC_SPACE,
- KC_E, KC_D, KC_C, KC_LALT,
- KC_W, KC_S, KC_X, KC_4,
- KC_Q, KC_A, KC_Z, TD(TD_3_L0),
- TD(TD_ESC_TAB), KC_LCTL, KC_LSFT, KC_M
- ),
- /* Keymap _FN: RGB Function Layer
- * ,-------------------.
- * |LAYR| | |RTOG|
- * |----|----|----|----|
- * |HUD |HUI | |RGBP|
- * |----|----|----|----|
- * |SAD |SAI | |RMOD|
- * |----|----|----|----|
- * |VAD |VAS | | |
- * |----|----|----|----|
- * |RST |RST | | |
- * `-------------------'
- */
- [2] = LAYOUT_ortho_5x4(
- KC_LUP, XXXXXXX, XXXXXXX, RGB_TOG,
- RGB_HUD, RGB_HUI, XXXXXXX, RGB_M_P,
- RGB_SAD, RGB_SAI, XXXXXXX, RGB_MOD,
- RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX,
- QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX
- ),
-};
-
-// (Optional) Rotary Encoder, Volume Control
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- return true;
-}
-
-// Potentiometer Slider, MIDI Control
-uint8_t divisor = 0;
-void slider(void){
- if (divisor++) { // only run the slider function 1/256 times it's called
- return;
- }
- midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
-}
-
-void matrix_scan_user(void) {
- slider();
-}
-
-// 0.91" OLED, 128x32 resolution
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_rocket_logo(void) {
- static const char PROGMEM rocket_logo[]={
- // Rocket Screen
- // 'home', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x80, 0x80, 0xc0, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x20, 0x50, 0x50, 0x90,
- 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x10, 0x10, 0xf0, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04,
- 0x04, 0xfc, 0xfc, 0xfc, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xfc, 0x7c, 0x7e, 0x7e, 0x7f,
- 0x81, 0x81, 0x81, 0x81, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
- 0xff, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x01, 0x01, 0x01, 0xf9, 0x01, 0xf9, 0x01,
- 0xf9, 0x01, 0xf9, 0x01, 0x01, 0x01, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe6,
- 0xe6, 0xe6, 0xe6, 0xe6, 0xff, 0x8c, 0x52, 0x52, 0x52, 0xde, 0x84, 0x08, 0x84, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04,
- 0x05, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x04, 0x04, 0x07, 0x04, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10,
- 0x10, 0x1f, 0x1f, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x20, 0x20, 0x40,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f,
- 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x40, 0x40, 0x40, 0x4a, 0x44, 0x4a, 0x40,
- 0x4f, 0x40, 0x4f, 0x40, 0x40, 0x40, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x9c,
- 0x9c, 0x9c, 0x9c, 0x1c, 0xff, 0x31, 0x4a, 0x4a, 0x4a, 0x7b, 0x10, 0x21, 0x10, 0x21, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(rocket_logo, sizeof(rocket_logo));
-}
-static void render_warzone_logo(void) {
- static const char PROGMEM warzone_logo[]={
- // Home Screen
- // 'warzone_bit', 128x32px
- 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe,
- 0xfc, 0xf0, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x7f, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x80, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xf8, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x1f,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x03, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff,
- 0xff, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x01, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x00, 0x03, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f,
- 0x1f, 0x07, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x07, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x00
- };
- oled_write_raw_P(warzone_logo, sizeof(warzone_logo));
-}
-static void render_light_logo(void) {
- static const char PROGMEM light_logo[]={
- // RGB Screen
- // 'rgb', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x9c, 0x80, 0x80,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
- 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x20, 0x50, 0x50, 0x90,
- 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x80, 0x80, 0x00, 0x00, 0xe0, 0x19, 0x04, 0x62, 0x11, 0x09, 0x04, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x02, 0x04, 0x19, 0x10, 0x10, 0xf0, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0xe0, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x24, 0x04,
- 0x07, 0xe4, 0x24, 0x24, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04,
- 0x05, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x88, 0x30, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x80, 0x40, 0x60, 0x30, 0x98, 0x08, 0x08, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x22, 0x24,
- 0x24, 0xc4, 0x44, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1d, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02,
- 0x02, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(light_logo, sizeof(light_logo));
-}
-
-bool oled_task_user(void) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- render_rocket_logo();
- break;
- case 1:
- render_warzone_logo();
- break;
- case 2:
- render_light_logo();
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR(" UND"), false);
- break;
- }
- return false;
-}
-#endif
diff --git a/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk b/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk
deleted file mode 100644
index 791d5ab502..0000000000
--- a/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/unison/keymaps/via/config.h b/keyboards/unison/keymaps/via/config.h
index 48fe417a5d..07a2c9f5cc 100644
--- a/keyboards/unison/keymaps/via/config.h
+++ b/keyboards/unison/keymaps/via/config.h
@@ -16,8 +16,8 @@
#pragma once
- #undef RGBLED_NUM
- #define RGBLED_NUM 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8)
+ #undef RGBLIGHT_LED_COUNT
+ #define RGBLIGHT_LED_COUNT 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8)
#undef RGBLIGHT_LED_MAP
#define RGBLIGHT_LED_MAP {2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} // Left to Right to Under
diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json
index 6332071994..43a3d9472c 100644
--- a/keyboards/v60_type_r/info.json
+++ b/keyboards/v60_type_r/info.json
@@ -18,22 +18,6 @@
"pin": "F7",
"on_state": 0
},
- "rgblight": {
- "driver": "custom",
- "led_count": 1,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true,
- "rgb_test": true,
- "alternating": true,
- "twinkle": true
- }
- },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["60_ansi", "60_iso"],
diff --git a/keyboards/v60_type_r/keymaps/followingghosts/config.h b/keyboards/v60_type_r/keymaps/followingghosts/config.h
deleted file mode 100644
index a2612e2d32..0000000000
--- a/keyboards/v60_type_r/keymaps/followingghosts/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2018 Ben Lewis (FollowingGhosts)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 V60_POLESTAR
-#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c b/keyboards/v60_type_r/keymaps/followingghosts/keymap.c
deleted file mode 100644
index 419c9ad5a7..0000000000
--- a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2018 Ben Lewis (FollowingGhosts)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* This is adapted from the official ANSI layout provided by the KBP V60 Type R
-* as depicted in their manual and on the stock keycaps.
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap 0: Default Layer (Qwerty)
- * CAPS opens Layer 1 if held, acts normally if tapped
- * Tab is used for Mouse Layer (2)
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bs |
- * |-----------------------------------------------------------|
- * |L2/Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
- * |-----------------------------------------------------------|
- * |L1/Caps| A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |LShift( | Z| X| C| V| B| N| M| ,| .| /| RShift) |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Fn0 |Gui |App|Ctrl|
- * `-----------------------------------------------------------'
- */
- [0] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- LT(2, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(1, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_APP, KC_RCTL),
-
- /*
- Keymap 1: FN Layer
- AGSW swaps Alt and OS keys for Windows/Mac
- RGB enabled
- Backlight keys are swapped as firmware is backwards?
- * ,-----------------------------------------------------------.
- * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
- * |-----------------------------------------------------------|
- * | | |Up |RGB|HUI|SAI|VAI| |Prt|Scl|Pau|Up| | Ins |
- * |-----------------------------------------------------------|
- * | |Lft|Dwn|Rig|HUD|SAD|VAD| |Hme|PgU|Lef|Rig| |
- * |-----------------------------------------------------------|
- * | |BLD|BLT|BLI| |VolD|VolU|Mut|End|PgD|Dwn| QK_BOOT |
- * |-----------------------------------------------------------|
- * | | | | | |AGSW| | |
- * `-----------------------------------------------------------'
- */
-
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_INS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS,
- KC_TRNS, BL_UP, BL_STEP, BL_DOWN, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_DOWN, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, AG_SWAP, KC_TRNS, KC_TRNS),
-
-/*
-Mouse Layer
-M1 = Mouse Button 1
-M2 = Mouse Button 2
-WASD are Up Left Right Down respectively
-* ,-----------------------------------------------------------.
-* | | | | | | | | | | | | | | |
-* |-----------------------------------------------------------|
-* | | M1|MUP|M2 | | | | | | | |MPLY| | |
-* |-----------------------------------------------------------|
-* | |ML |MDN|MR | | | | | | |MPRV|MNXT| |
-* |-----------------------------------------------------------|
-* | | | | | | | | | | | | |
-* |-----------------------------------------------------------|
-* | | | | | | | | |
-* `-----------------------------------------------------------'
-*/
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-
-};
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- // output low
- DDRE |= (1<<PE6);
- PORTE &= ~(1<<PE6);
- }
- else {
- // Hi-Z
- DDRE &= ~(1<<PE6);
- PORTE &= ~(1<<PE6);
- }
- return false;
-}
diff --git a/keyboards/v60_type_r/keymaps/followingghosts/readme.md b/keyboards/v60_type_r/keymaps/followingghosts/readme.md
deleted file mode 100644
index a7379a52dd..0000000000
--- a/keyboards/v60_type_r/keymaps/followingghosts/readme.md
+++ /dev/null
@@ -1,61 +0,0 @@
-KB Paradise V60 Type R Customised Layout by FollowingGhosts
-======================
-
-This is my custom keymap for the Polestar Type R
-
-## Keymap Notes
-Supports Underglow lighting with RGB modifier keys and normal backlight
-Selectable swap between Alt and OS keys which is stored in EEPROM
-CAPSLOCK acts as FN when held/equivalent to MO1
-TAB acts as FN2 when held to provide a mouse layer with WASD and Q and E as left and right click respectively
-LShift and RShift have Space Cadet Shift enabled
-
-RGB colour setting is set to HSV to bring it in line with (QMK docs)([https://beta.docs.qmk.fm/features/feature_rgblight])
-R+/R- are hue, G+/G- are saturation and B+/B- are value
-
-```
- Keymap 0: Default/Windows Layer (Qwerty)
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bs |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
- * |-----------------------------------------------------------|
- * |CAP/MO1| A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |LShift | Z| X| C| V| B| N| M| ,| .| /| RShift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space | MO1|Gui |App|Ctrl|
- * -----------------------------------------------------------'
-
-
-Keymap 1: FN Layer
- * -----------------------------------------------------------.
- * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
- * |-----------------------------------------------------------|
- * | | |Up |RGB|HUI|SAI|VAI| |Prt|Scl|Pau|Up| | Ins |
- * |-----------------------------------------------------------|
- * | |Lft|Dwn|Rig|HUD|SAD|VAD| |Hme|PgU|Lef|Rig| |
- * |-----------------------------------------------------------|
- * | |BLD|BLT|BLI| |VolD|VolU|Mut|End|PgD|Dwn| |
- * |-----------------------------------------------------------|
- * | | | | | |AGSW| | |
- * '-----------------------------------------------------------'
-
-Mouse Layer
- M1 = Mouse Button 1
- M2 = Mouse Button 2
- WASD are Up Left Right Down respectively
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | M1|MUP|M2 | | | | | | | |MPLY| | |
- * |-----------------------------------------------------------|
- * | |ML |MDN|MR | | | | | | |MNXT|MPRV| |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * -----------------------------------------------------------'
-```
-### Build
-To build this keymap, simply run `make v60_type_r:followingghosts`.
diff --git a/keyboards/v60_type_r/keymaps/followingghosts/rules.mk b/keyboards/v60_type_r/keymaps/followingghosts/rules.mk
deleted file mode 100644
index a1b0120a6b..0000000000
--- a/keyboards/v60_type_r/keymaps/followingghosts/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-CONSOLE_ENABLE = no
diff --git a/keyboards/v60_type_r/keymaps/vimouse/config.h b/keyboards/v60_type_r/keymaps/vimouse/config.h
deleted file mode 100644
index 285cb4fa23..0000000000
--- a/keyboards/v60_type_r/keymaps/vimouse/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2017 benlyall, MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define V60_POLESTAR
-
-// place overrides here
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/v60_type_r/keymaps/vimouse/keymap.c b/keyboards/v60_type_r/keymaps/vimouse/keymap.c
deleted file mode 100644
index 2eb06c0503..0000000000
--- a/keyboards/v60_type_r/keymaps/vimouse/keymap.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright 2017 benlyall, MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-#define _____ KC_TRNS
-#define XXXXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap 0: Default Layer
- * ,-----------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bs |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
- * |-----------------------------------------------------------|
- * |FN0 | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |LShift | Z| X| C| V| B| N| M| ,| .| /| RShift |
- * |-----------------------------------------------------------|
- * |Ctrl|Alt |Gui | Space/L3 |Gui |Alt |Ctrl|Fn1|
- * `-----------------------------------------------------------'
- */
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXX, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(1, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, XXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXX,
- KC_LCTL, KC_LALT, KC_LGUI, LT(2, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL, MO(3)),
- /* Keymap 1: FN Layer
- * ,-----------------------------------------------------------.
- * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | |PSc|SLk|Pau| Ins |
- * |-----------------------------------------------------------|
- * | | | | | | | Lt| Dn| Up| Rt|Hom|PgU| |
- * |-----------------------------------------------------------|
- * | | | | | | |Mut|VDn|VUp|End|PgD| |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _____, KC_DEL,
- _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS,
- _____, _____, _____, _____, _____, _____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_PGUP, _____,
- _____, _____, _____, _____, _____, _____, _____, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, KC_PGDN, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____),
- /* Keymap 2: Mouse Keys Layer
- * ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | |MWU|MWD| | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | |MLt|MDn|MUp|MRt| | | |
- * |-----------------------------------------------------------|
- * | | | | | |SPC|Ms1|Ms2|Ms3| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [2] = LAYOUT_all(
- _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, KC_MS_WH_UP, KC_MS_WH_DOWN, _____, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, KC_SPC, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____),
- /* Keymap 3: LED Modification Layer
- * ,-----------------------------------------------------------.
- * | |BLT|BLC|UGT|UGP|UGB|UGR| | | | | | | |
- * |-----------------------------------------------------------|
- * | |RD+|GN+|BL+|HU+|SA+|VA+| | | | | | | |
- * |-----------------------------------------------------------|
- * | |RD-|GN-|BL-|HU-|SA-|VA-| | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [3] = LAYOUT_all(
- _____, BL_TOGG, BL_STEP, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, _____, _____, _____, _____, _____, _____, _____, _____,
- _____, RGB_RI, RGB_GI, RGB_BI, RGB_HUI, RGB_SAI, RGB_VAI, _____, _____, _____, _____, _____, _____, _____,
- _____, RGB_RD, RGB_GD, RGB_BD, RGB_HUD, RGB_SAD, RGB_VAD, _____, _____, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____),
-};
-
-bool led_update_user(led_t led_state) {
- if (led_state.caps_lock) {
- // output low
- DDRE |= (1<<PE6);
- PORTE &= ~(1<<PE6);
- }
- else {
- // Hi-Z
- DDRE &= ~(1<<PE6);
- PORTE &= ~(1<<PE6);
- }
- return false;
-}
diff --git a/keyboards/v60_type_r/keymaps/vimouse/readme.md b/keyboards/v60_type_r/keymaps/vimouse/readme.md
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/v60_type_r/keymaps/vimouse/readme.md
+++ /dev/null
diff --git a/keyboards/v60_type_r/keymaps/vimouse/rules.mk b/keyboards/v60_type_r/keymaps/vimouse/rules.mk
deleted file mode 100644
index 31077066a3..0000000000
--- a/keyboards/v60_type_r/keymaps/vimouse/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/v60_type_r/rules.mk b/keyboards/v60_type_r/rules.mk
index d6654ffea6..a7f2bc7026 100644
--- a/keyboards/v60_type_r/rules.mk
+++ b/keyboards/v60_type_r/rules.mk
@@ -8,7 +8,7 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable the RGB Underglow
+RGBLIGHT_ENABLE = no # Enable the RGB Underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes
diff --git a/keyboards/v60_type_r/v60_type_r.c b/keyboards/v60_type_r/v60_type_r.c
index 871d9915d3..b266472e64 100644
--- a/keyboards/v60_type_r/v60_type_r.c
+++ b/keyboards/v60_type_r/v60_type_r.c
@@ -131,20 +131,6 @@ void set_rgb_pin_off(uint8_t pin) {
PORTF |= _BV(pin);
}
-void rgblight_set(void) {
- // xprintf("Setting RGB underglow\n");
- if (!rgblight_config.enable) {
- led[0].r = 0;
- led[0].g = 0;
- led[0].b = 0;
- set_rgb_pin_off(RGB_RED_PIN);
- set_rgb_pin_off(RGB_GREEN_PIN);
- set_rgb_pin_off(RGB_BLUE_PIN);
- }
-
- // //xprintf("Red: %u, Green: %u, Blue: %u\n", led[0].r, led[0].g, led[0].b);
-}
-
ISR(TIMER3_COMPA_vect)
{
static uint8_t pwm = 0;
diff --git a/keyboards/viendi8l/config.h b/keyboards/viendi8l/config.h
index 0538906ecc..050a0cca22 100644
--- a/keyboards/viendi8l/config.h
+++ b/keyboards/viendi8l/config.h
@@ -33,8 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define RGBLIGHT_DEFAULT_VAL 0
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/viendi8l/info.json b/keyboards/viendi8l/info.json
index d50b96a887..29dbd5b25a 100644
--- a/keyboards/viendi8l/info.json
+++ b/keyboards/viendi8l/info.json
@@ -9,7 +9,10 @@
"device_version": "0.0.1"
},
"rgblight": {
- "led_count": 4
+ "led_count": 4,
+ "default": {
+ "val": 0
+ }
},
"ws2812": {
"pin": "B15",
diff --git a/keyboards/vitamins_included/keymaps/vitavim/config.h b/keyboards/vitamins_included/keymaps/vitavim/config.h
deleted file mode 100644
index 95dd8ec464..0000000000
--- a/keyboards/vitamins_included/keymaps/vitavim/config.h
+++ /dev/null
@@ -1,42 +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. Default is Serial */
-// #define USE_I2C
-
-/* Select hand configuration */
-// Defaults:
-// Rev1: EE_HANDS
-// Rev2: SPLIT_HAND_PIN B4
-
-// You can override the defaults (rev1 doesn't support SPLIT_HAND_PIN)
-//#define EE_HANDS
-//#define MASTER_LEFT
-//#define MASTER_RIGHT
-
-
-#ifdef AUDIO_ENABLE
- #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(DVORAK_SOUND), \
- SONG(COLEMAK_SOUND) \
- }
-#endif
diff --git a/keyboards/vitamins_included/keymaps/vitavim/keymap.c b/keyboards/vitamins_included/keymaps/vitavim/keymap.c
deleted file mode 100644
index 5c2715550f..0000000000
--- a/keyboards/vitamins_included/keymaps/vitavim/keymap.c
+++ /dev/null
@@ -1,106 +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.
-enum layers {
- _ALPHAS,
- _MODS,
- _VIM,
- _NUMPAD,
- _CODE,
-};
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Alphas
- * ,--------------------------------------------------------------------------------------------.
- * | Tab | q | w | e | r | t | y | u | i | o | p | ins |
- * |--------+------+-----+------+---------+------+------+-------+------+------+--------+--------|
- * |ctl(esc)| a | s | d | f | g | h | j | k | l |LT(2,;:)|sft(ent)|
- * |--------+------+-----+------+---------+------|------+-------+------+------+--------+--------|
- * |LSPO | z | x | c | v | b | n | m | ,< | .> | up | RSPC |
- * |--------+------+-----+------+---------+------+------+-------+------+------+--------+--------|
- * | ctl | GUI | alt |MO(1) |lt(3,del)|Space |Space |bckspc |MO(4) | left | down | right |
- * `--------------------------------------------------------------------------------------------'
- */
-[_ALPHAS] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_INS,
- LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(2,KC_SCLN), RSFT_T(KC_ENT),
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), LT(3,KC_DEL), KC_SPC, KC_SPC, KC_BSPC, MO(4), KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-/* MODS
- * ,-----------------------------------------------------------------------------------.
- * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |PrtSc |
- * |-------+------+------+------+------+-------------+------+------+------+------+------|
- * |Meh(F7)| ! | * | # | $ | % | ^ | & | * | '" | " | \| |
- * |-------+------+------+------+------+------|------+------+------+------+------+------|
- * | LS/( | z | x | [{ | ] | b | -_ | =+ | /? | \| | PgUp | RS/) |
- * |-------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | | | | | spc | _ |bckspc| | Home |PgDwn | End |
- * `------------------------------------------------------------------------------------'
- */
-[_MODS] = LAYOUT_ortho_4x12(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR,
- MEH(KC_F7), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_QUOT, KC_DQUO, KC_BSLS,
- LSFT_T(KC_LCBR), KC_Z, KC_X, KC_LBRC, KC_RBRC, KC_B, KC_MINS, KC_EQL, KC_SLSH, KC_BSLS, KC_PGUP, RSFT_T(KC_RCBR),
- KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_UNDS, KC_BSPC, KC_NO, KC_HOME, KC_PGDN, KC_END
-),
-
-/* VIM layer that adds vim navigation by holding the ; key. Includes keys like $,^ for end/beg of line and b,w,e,d,y. Also includes
- * quick keys for excel like alt(=) for sum, ctl(+) & ctl(-) to add/remove columns/rows.
- * ,--------------------------------------------------------------------------------------.
- * | Tab | "' | b | w | e | d | y | Vol- | Vol+ | TO(0)| TG(2) |reset |
- * |--------+------+-----+-----+--------+-----+------+------+------+------+--------+------|
- * |Ctl(Esc)| Home |Home |Pg Up|Pg Down | End | Left | Down | Up |Right |LT(2,;:)|Enter |
- * |--------+------+-----+-----+--------+-----|------+------+------+------+--------+------|
- * | sft | ;: | q | ^ | $ | x |alt(=)|ctl(+)|ctl(-)| | | |
- * |--------+------+-----+-----+--------+-----+------+------+------+------+--------+------|
- * | Ctl | GUI | alt | sft |sft(ctl)| spc | del | bspc | | | | |
- * `--------------------------------------------------------------------------------------'
- */
-[_VIM] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_B, KC_W, KC_E, KC_D, KC_Y, KC_VOLD, KC_VOLU, TO(0), TG(2), QK_BOOT,
- LCTL_T(KC_ESC), KC_HOME, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, LT(2,KC_SCLN), KC_ENT,
- KC_LSFT, KC_SCLN, KC_Q, KC_CIRC, KC_DLR, KC_X, RALT(KC_EQL), RCTL(KC_PLUS), RCTL(KC_PMNS), KC_NO, KC_NO, KC_TRNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, LSFT(KC_LCTL), KC_SPC, KC_DEL, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_TRNS
-),
-
-/* NUMPAD: Numpad with operators and other keys
- * ,-------------------------------------------------------------------------------------.
- * | [{ | ! | @ | # | $ | % | ( | 7 | 8 | 9 | ) | ]} |
- * |------+------+------+------+------+-------------+------+------+------+------+--------|
- * | { | / | * | - | + | | = | 4 | 5 | 6 | ;: | } |
- * |------+------+------+------+------+------|------+------+------+------+------+--------|
- * | sft( | | | | | | | 1 | 2 | 3 | |kc_sft()|
- * |------+------+------+------+------+------+------+------+------+------+------+--------|
- * | | | | | |Space |Space | 0 | | | | |
- * `-------------------------------------------------------------------------------------'
- */
-[_NUMPAD] = LAYOUT_ortho_4x12(
- KC_LBRC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_RBRC,
- KC_LCBR, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_NO, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, KC_RCBR,
- SC_LSPO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_1, KC_2, KC_3, KC_PEQL, SC_RSPC,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_0, KC_NO, KC_NO, KC_NO, KC_NO
-),
-
-/* CODE
- * ,---------------------------------------------------------------------------.
- * | ~` | F11 | F12 | 3 | 4 | 5 | 6 | : | - | > | 0 | Del |
- * |----+-----+-----+----+-----+-------------+------+-----+------+------+------|
- * | | / | * | { | [{ | ( | ) | ]} | } | '" | ]} | \| |
- * |----+-----+-----+----+-----+-----|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | ~ | = | \ |RGBTOG|RGBHUI|RGBHUD|
- * |----+-----+-----+----+-----+-----+------+------+------+------+------+------|
- * | | | | | | | | | |RGBVAD|RBGVAI|RGBMOD|
- * `---------------------------------------------------------------------------'
- */
-[_CODE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_F11, KC_F12, KC_3, KC_4, KC_5, KC_6, KC_COLN, KC_MINS, KC_GT, KC_0, KC_DEL,
- KC_TRNS, KC_PSLS, KC_PAST, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, KC_QUOT, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TILD, KC_EQL, KC_NUBS, RGB_TOG, RGB_HUI, RGB_HUD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, RGB_MOD
-)
-
-};
diff --git a/keyboards/w1_at/config.h b/keyboards/w1_at/config.h
deleted file mode 100644
index 79fdc4275f..0000000000
--- a/keyboards/w1_at/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Yiancar-Designs
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published byß
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
-#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
diff --git a/keyboards/w1_at/info.json b/keyboards/w1_at/info.json
deleted file mode 100644
index 896e523c83..0000000000
--- a/keyboards/w1_at/info.json
+++ /dev/null
@@ -1,569 +0,0 @@
-{
- "keyboard_name": "W1-AT",
- "manufacturer": "Yiancar-Designs",
- "url": "https://yiancar-designs.com",
- "maintainer": "Yiancar-Designs",
- "usb": {
- "vid": "0x8968",
- "pid": "0x5754",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
- "rows": ["A2", "B9", "B8", "B5", "B4"]
- },
- "diode_direction": "COL2ROW",
- "indicators": {
- "caps_lock": "B6",
- "num_lock": "B3",
- "scroll_lock": "A15",
- "kana": "A13",
- "on_state": 0
- },
- "bootmagic": {
- "matrix": [0, 2]
- },
- "processor": "STM32F072",
- "bootloader": "stm32-dfu",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
- {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
- {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
- {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
- {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
- {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
- {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
- {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
- {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
- {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
- {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
- {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
- {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
- {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
- {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
- {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
- {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
- {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
- {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
- {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
- {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
- {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
- {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
- {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
- {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
- {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
- {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
- {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
- {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
- {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
- {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
- {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
- {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
- {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
- {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
- {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
- {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
- {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
- {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
- {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
- {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
- {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
- {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
- {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
- {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
- {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
- {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
- {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
- {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
- {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
- {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
- {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
- {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
- {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
- {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
- {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
- {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
- {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
- {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
- {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
- {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
- {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
- {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
- {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
- {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
- {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
- {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
- {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
- {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
- {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
- {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
- {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
- {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
- {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
- {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
- {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
- {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
- {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
- {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
- {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
- {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
- {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
- {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
- {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
- {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
- {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
- {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
- {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
- ]
- },
- "LAYOUT_ansi_wkl": {
- "layout": [
- {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
- {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
- {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
- {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
- {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
- {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
- {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
- {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
- {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
- {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
- {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
- {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
- {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
- {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
- {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
- {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
- {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
- {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
- {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
- {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
- {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
- {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
- {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
- {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
- {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
- {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
- {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
- {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
- {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
- {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
- {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
- {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
- {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
- {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
- {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
- {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
- {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
- {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
- {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
- {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
- {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
- {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
- {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
- {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
- {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
- {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
- {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
- {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
- {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
- {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
- {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
- {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
- {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
- {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
- {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
- {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
- {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
- {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
- {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
- {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
- {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
- {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
- {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
- {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
- {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
- {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
- {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
- {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
- {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
- {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
- {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
- {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
- {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
- {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
- {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
- {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
- {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
- {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
- {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
- {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
- {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
- {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
- {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
- {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
- {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
- ]
- },
- "LAYOUT_ansi_wkl_split_bs_rshift": {
- "layout": [
- {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
- {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
- {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
- {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
- {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
- {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
- {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
- {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
- {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
- {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
- {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
- {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
- {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
- {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
- {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
- {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
- {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
- {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
- {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
- {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
- {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
- {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
- {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
- {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
- {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
- {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
- {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
- {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
- {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
- {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
- {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
- {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
- {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
- {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
- {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
- {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
- {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
- {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
- {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
- {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
- {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
- {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
- {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
- {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
- {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
- {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
- {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
- {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
- {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
- {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
- {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
- {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
- {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
- {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
- {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
- {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
- {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
- {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
- {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
- {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
- {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
- {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
- {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
- {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
- {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
- {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
- {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
- {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
- {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
- {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
- {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
- {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
- {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
- {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
- {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
- {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
- {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
- {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
- {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
- {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
- {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
- {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
- {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
- {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
- {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
- {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
- {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
- ]
- },
- "LAYOUT_iso_wkl": {
- "layout": [
- {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
- {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
- {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
- {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
- {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
- {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
- {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
- {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
- {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
- {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
- {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
- {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
- {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
- {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
- {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
- {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
- {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
- {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
- {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
- {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
- {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
- {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
- {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
- {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
- {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
- {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
- {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
- {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
- {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
- {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
- {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
- {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
- {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
- {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
- {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
- {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
- {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
- {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
- {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
- {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
- {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
- {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
- {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
- {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
- {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
- {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
- {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
- {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
- {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
- {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
- {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
- {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
- {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
- {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
- {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
- {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
- {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
- {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
- {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
- {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
- {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
- {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
- {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
- {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
- {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
- {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
- {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
- {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
- {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
- {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
- {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
- {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
- {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
- {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
- {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
- {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
- {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
- {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
- {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
- {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
- {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
- {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
- {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
- {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
- {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
- {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
- ]
- },
- "LAYOUT_iso_wkl_split_bs_rshift": {
- "layout": [
- {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
- {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
- {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
- {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
- {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
- {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0},
- {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0},
- {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0},
- {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0},
- {"label": "7", "matrix": [0, 9], "x": 9.25, "y": 0},
- {"label": "8", "matrix": [0, 10], "x": 10.25, "y": 0},
- {"label": "9", "matrix": [0, 11], "x": 11.25, "y": 0},
- {"label": "0", "matrix": [0, 12], "x": 12.25, "y": 0},
- {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
- {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
- {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
- {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
- {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
- {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
- {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
- {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
- {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
- {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
- {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
- {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
- {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
- {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1},
- {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1},
- {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1},
- {"label": "Y", "matrix": [1, 8], "x": 8.75, "y": 1},
- {"label": "U", "matrix": [1, 9], "x": 9.75, "y": 1},
- {"label": "I", "matrix": [1, 10], "x": 10.75, "y": 1},
- {"label": "O", "matrix": [1, 11], "x": 11.75, "y": 1},
- {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
- {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
- {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
- {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
- {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
- {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
- {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
- {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
- {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
- {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
- {"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
- {"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
- {"label": "D", "matrix": [2, 5], "x": 6, "y": 2},
- {"label": "F", "matrix": [2, 6], "x": 7, "y": 2},
- {"label": "G", "matrix": [2, 7], "x": 8, "y": 2},
- {"label": "H", "matrix": [2, 8], "x": 9, "y": 2},
- {"label": "J", "matrix": [2, 9], "x": 10, "y": 2},
- {"label": "K", "matrix": [2, 10], "x": 11, "y": 2},
- {"label": "L", "matrix": [2, 11], "x": 12, "y": 2},
- {"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
- {"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
- {"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
- {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
- {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
- {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
- {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
- {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
- {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
- {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
- {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
- {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
- {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
- {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
- {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3},
- {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3},
- {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3},
- {"label": "N", "matrix": [3, 9], "x": 9.5, "y": 3},
- {"label": "M", "matrix": [3, 10], "x": 10.5, "y": 3},
- {"label": ",", "matrix": [3, 11], "x": 11.5, "y": 3},
- {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
- {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
- {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
- {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
- {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
- {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
- {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
- {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
- {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
- {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
- {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
- {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
- {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
- {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
- {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
- {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
- {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
- {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
- {"label": "Enter", "matrix": [4, 19], "x": 20.5, "y": 4}
- ]
- }
- }
-}
diff --git a/keyboards/w1_at/keymaps/default/keymap.c b/keyboards/w1_at/keymaps/default/keymap.c
deleted file mode 100644
index 7c190b73d6..0000000000
--- a/keyboards/w1_at/keymaps/default/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2021 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- KC_P00 = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PMNS,
- KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PMNS,
- KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_P0, KC_P00, KC_PDOT, KC_PENT),
-
-[1] = LAYOUT_all( /* FN */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case KC_P00:
- tap_code(KC_P0);
- tap_code(KC_P0);
- return false;
- }
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/w1_at/keymaps/default/readme.md b/keyboards/w1_at/keymaps/default/readme.md
deleted file mode 100644
index af0497e720..0000000000
--- a/keyboards/w1_at/keymaps/default/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# The default keymap for W1-AT.
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/pLdgxlJ.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)
diff --git a/keyboards/w1_at/keymaps/via/readme.md b/keyboards/w1_at/keymaps/via/readme.md
deleted file mode 100644
index 33cdf89e60..0000000000
--- a/keyboards/w1_at/keymaps/via/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# The default keymap for W1-AT. VIA support enabled.
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/4bUxnAz.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)
diff --git a/keyboards/w1_at/keymaps/zq/keymap.c b/keyboards/w1_at/keymaps/zq/keymap.c
deleted file mode 100644
index eba9aedb8f..0000000000
--- a/keyboards/w1_at/keymaps/zq/keymap.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright 2021 Zhi Quan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 {
- KC_P00 = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_F1, KC_F2, 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, TG(2), KC_PSLS, KC_PAST, KC_PMNS,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_F5, KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_F9, KC_F10, KC_LCTL, KC_LCMD, KC_SPC, KC_ROPT, MO(1), KC_P0, KC_P00, KC_PDOT, KC_PENT),
-
-[1] = LAYOUT_all( /* FN */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, QK_BOOT, KC_HOME, KC_UP, KC_PGUP, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_MUTE, KC_RGHT, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DOWN, KC_PGDN, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY),
-
-[2] = LAYOUT_all( /* Numpad */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, XXXXXXX, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DOWN, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case KC_P00:
- if (record->event.pressed) {
- tap_code(KC_P0);
- tap_code(KC_P0);
- }
- return false;
- break;
- case KC_ESC:
- if (record->event.pressed) {
- // Turn on capslock indicator.
- writePin(LED_CAPS_LOCK_PIN, LED_PIN_ON_STATE);
- } else {
- // Turn off capslock indicator.
- writePin(LED_CAPS_LOCK_PIN, !LED_PIN_ON_STATE);
- }
- }
- return true;
-}
-
-// Customized function so that numlock and capslock indicator are no longer controlled by the host.
-bool led_update_user(led_t led_state) {
-#if defined(LED_NUM_LOCK_PIN) || defined(LED_CAPS_LOCK_PIN) || defined(LED_SCROLL_LOCK_PIN) || defined(LED_COMPOSE_PIN) || defined(LED_KANA_PIN)
-# if LED_PIN_ON_STATE == 0
- // invert the whole thing to avoid having to conditionally !led_state.x later
- led_state.raw = ~led_state.raw;
-# endif
-
-// # ifdef LED_NUM_LOCK_PIN
-// writePin(LED_NUM_LOCK_PIN, led_state.num_lock);
-// # endif
-// # ifdef LED_CAPS_LOCK_PIN
-// writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
-// # endif
-# ifdef LED_SCROLL_LOCK_PIN
- writePin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
-# endif
-# ifdef LED_COMPOSE_PIN
- writePin(LED_COMPOSE_PIN, led_state.compose);
-# endif
-# ifdef LED_KANA_PIN
- writePin(LED_KANA_PIN, led_state.kana);
-# endif
-#endif
-
- // Return false to let led_update_kb fall through.
- return false;
-}
-
-// Customized function to manage numlock indicator based on layer.
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- // Base layer
- case 0:
- // Turn on numlock indicator.
- writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
- break;
-
- // Numpad navigation layer
- case 2:
- // Turn off numlock indicator.
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
- break;
- }
-
- return state;
-} \ No newline at end of file
diff --git a/keyboards/w1_at/keymaps/zq/readme.md b/keyboards/w1_at/keymaps/zq/readme.md
deleted file mode 100644
index 103130b161..0000000000
--- a/keyboards/w1_at/keymaps/zq/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Personal W1-AT keymap
-The main highlights are as follows:
-* VIA support enabled
-* Enter bootloader mode using Fn + \
-* Grave key (` and ~) in place of Esc key
-* Esc in place of CapsLock key
-* Use NumLock LED indicator on layers: ON in layer 0, OFF in layer 2 (workaround for macOS since there is no NumLock key)
-* Use CapsLock LED indicator on Esc key
-
-
-## Layer 0 (Base)
----
-![Layer 0](https://i.imgur.com/l1OKSBB.png)
-
-## Layer 1 (Function)
----
-![Layer 1](https://i.imgur.com/RdzVyvb.png)
-
-## Layer 2 (Numpad Navigation)
----
-![Layer 2](https://i.imgur.com/xKVnQaK.png) \ No newline at end of file
diff --git a/keyboards/w1_at/keymaps/zq/rules.mk b/keyboards/w1_at/keymaps/zq/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/w1_at/keymaps/zq/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/w1_at/readme.md b/keyboards/w1_at/readme.md
deleted file mode 100644
index 7608e72f76..0000000000
--- a/keyboards/w1_at/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# W1-AT
-
-This is a standard weird layout PCB, best build with a 10U spacebar. It supports VIA.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A TKL keyboard with STM32F072CB
-* Hardware Availability: https://geon.works/
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make w1_at:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or CLI (`make w1_at:<keymap>:flash`)
diff --git a/keyboards/w1_at/rules.mk b/keyboards/w1_at/rules.mk
deleted file mode 100644
index 7c0709f41e..0000000000
--- a/keyboards/w1_at/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Wildcard to allow APM32 MCU
-DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/w1_at/w1_at.c b/keyboards/w1_at/w1_at.c
deleted file mode 100644
index d4c4ce932a..0000000000
--- a/keyboards/w1_at/w1_at.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2021 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #include "quantum.h"
-
-void led_init_ports(void) {
- // Set our LED pins as open drain outputs
- palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_NUM_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_SCROLL_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_KANA_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(A14, PAL_MODE_OUTPUT_OPENDRAIN);
-}
-
-layer_state_t layer_state_set_kb(layer_state_t state) {
- writePin(A14, !layer_state_cmp(state, 1));
- return layer_state_set_user(state);
-} \ No newline at end of file
diff --git a/keyboards/waterfowl/keymaps/cyanduck/keymap.c b/keyboards/waterfowl/keymaps/cyanduck/keymap.c
deleted file mode 100644
index ac52c7454d..0000000000
--- a/keyboards/waterfowl/keymaps/cyanduck/keymap.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Copyright 2022 CyanDuck
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _COLEMAKDH,
- _NAVNUM,
- _SYM,
- _FUNC,
- _GAME
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Colemak-DH
- *
- * ,----------------------------------. ,----------------------------------.
- * | Q | W | F | P | B | | J | L | U | Y | ; |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | A | R | S | T | G | | M | N | E | I | O |
- * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
- * | Z | X | C | D | V | | 2 | | 3 | | K | H | , | . | / |
- * `----------------------------------' `-----' `-----' `----------------------------------'
- * ,-----. ,--------------------. ,--------------------. ,-----.
- * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
- * `-----' `--------------------' `--------------------' `-----'
- */
-[_COLEMAKDH] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
- KC_A, MT(MOD_LALT, KC_R), MT(MOD_LCTL, KC_S), MT(MOD_LSFT, KC_T), KC_G, KC_M, MT(MOD_LSFT, KC_N), MT(MOD_LCTL, KC_E), MT(MOD_LALT, KC_I), KC_O,
- KC_Z, KC_X, KC_C, MT(MOD_LGUI, KC_D), KC_V, KC_K, MT(MOD_LGUI, KC_H), KC_COMM, KC_DOT, KC_SLSH,
- KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
-),
-
-/* NAVNUM
- *
- * ,----------------------------------. ,----------------------------------.
- * | ESC | PgUp | UP | PgDn | TO(4)| | / | 7 | 8 | 9 | - |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + |
- * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
- * | | | INS | TO(2)| | | 2 | | 3 | | 0 | 1 | 2 | 3 | * |
- * `----------------------------------' `-----' `-----' `----------------------------------'
- * ,-----. ,--------------------. ,--------------------. ,-----.
- * | 1 | | DEL | SPACE | MO(3)| | TO(0) | BS | ENTER | | 4 |
- * `-----' `--------------------' `--------------------' `-----'
- */
-[_NAVNUM] = LAYOUT(
- KC_ESC, KC_PGUP, KC_UP, KC_PGDN, TO(4), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS,
- KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS,
- KC_NO, KC_NO, KC_INS, TO(2), KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR,
- KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_ESC, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
-),
-
-/* SYM
- *
- * ,----------------------------------. ,----------------------------------.
- * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` |
- * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
- * | $ | £ | { | } | & | | 2 | | 3 | | TO(1)| | | | |
- * `----------------------------------' `-----' `-----' `----------------------------------'
- * ,-----. ,--------------------. ,--------------------. ,-----.
- * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
- * `-----' `--------------------' `--------------------' `-----'
- */
-[_SYM] = LAYOUT(
- KC_PERC, S(KC_QUOT), KC_LBRC, KC_RBRC, KC_NUBS, RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO, KC_NO,
- KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS), KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
- KC_DLR, S(KC_3), KC_LCBR, KC_RCBR, KC_AMPR, TO(1), KC_NO, KC_NO, KC_NO, KC_NO,
- KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
-),
-
-/* FUNC
- *
- * ,----------------------------------. ,----------------------------------.
- * | | | | | | | | F7 | F8 | F9 | F11 |
- * |------+------+------+------+------| |------+------+------+------+------|
- * | | | | | | | | F4 | F5 | F6 | F12 |
- * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
- * | Reset| | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 |
- * `----------------------------------' `-----' `-----' `----------------------------------'
- * ,-----. ,--------------------. ,--------------------. ,-----.
- * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
- * `-----' `--------------------' `--------------------' `-----'
- */
-[_FUNC] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
- KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
-),
-
-/* GAME
- *
- * ,----------------------------------. ,----------------------------------.
- * | ESC | Q | W | E | R | | | | | | |
- * |------+------+------+------+------| |------+------+------+------+------|
- * |Shift | A | S | D | F | | | | | | |
- * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
- * | Ctrl | Z | X | C | V | | 2 | | 3 | | | | | | |
- * `----------------------------------' `-----' `-----' `----------------------------------'
- * ,-----. ,--------------------. ,--------------------. ,-----.
- * | 1 | | T | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
- * `-----' `--------------------' `--------------------' `-----'
- */
-[_GAME] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_1, KC_T, KC_SPC, KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
-),
-};
diff --git a/keyboards/wavtype/p01_ultra/config.h b/keyboards/wavtype/p01_ultra/config.h
index e01f469285..3da58bc5d2 100644
--- a/keyboards/wavtype/p01_ultra/config.h
+++ b/keyboards/wavtype/p01_ultra/config.h
@@ -22,8 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/wekey/we27/config.h b/keyboards/wekey/we27/config.h
index f6839b9006..c86ead57bd 100644
--- a/keyboards/wekey/we27/config.h
+++ b/keyboards/wekey/we27/config.h
@@ -17,65 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 27
-
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-#define RGB_MATRIX_DEFAULT_HUE 108 // Sets the default hue value, if none has been set
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-// # define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-// # define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-// # define ENABLE_RGB_MATRIX_CYCLE_ALL
-// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-// # define ENABLE_RGB_MATRIX_DUAL_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// # define ENABLE_RGB_MATRIX_RAINDROPS
-// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// # define ENABLE_RGB_MATRIX_HUE_BREATHING
-// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// # define ENABLE_RGB_MATRIX_HUE_WAVE
-// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/wekey/we27/info.json b/keyboards/wekey/we27/info.json
index 4d4081faf0..802ae8eed6 100644
--- a/keyboards/wekey/we27/info.json
+++ b/keyboards/wekey/we27/info.json
@@ -9,7 +9,14 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "rainbow_moving_chevron": true
+ },
+ "default": {
+ "hue": 108
+ },
+ "driver": "ws2812",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["F4", "F5", "C7", "D6", "D4"],
diff --git a/keyboards/wilba_tech/wt60_a/rules.mk b/keyboards/wilba_tech/wt60_a/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt60_a/rules.mk
+++ b/keyboards/wilba_tech/wt60_a/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt60_a/wt60_a.c b/keyboards/wilba_tech/wt60_a/wt60_a.c
new file mode 100644
index 0000000000..04657835c9
--- /dev/null
+++ b/keyboards/wilba_tech/wt60_a/wt60_a.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT60_A)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT60_A)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt65_a/rules.mk b/keyboards/wilba_tech/wt65_a/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt65_a/rules.mk
+++ b/keyboards/wilba_tech/wt65_a/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt65_a/wt65_a.c b/keyboards/wilba_tech/wt65_a/wt65_a.c
new file mode 100644
index 0000000000..398525c239
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_a/wt65_a.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT65_A)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT65_A)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt65_b/rules.mk b/keyboards/wilba_tech/wt65_b/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt65_b/rules.mk
+++ b/keyboards/wilba_tech/wt65_b/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt65_b/wt65_b.c b/keyboards/wilba_tech/wt65_b/wt65_b.c
new file mode 100644
index 0000000000..2e2385ace2
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_b/wt65_b.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT65_B)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT65_B)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/keymap.c b/keyboards/wilba_tech/wt65_xt/keymaps/zunger/keymap.c
deleted file mode 100644
index 64b24e9bf4..0000000000
--- a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/keymap.c
+++ /dev/null
@@ -1,640 +0,0 @@
-/* Copyright 2021 Yonatan Zunger
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 <assert.h>
-
-// This keymap is designed to make it easy to type in a wide variety of languages, as well as
-// generate mathematical symbols (à la Space Cadet), without relying on the host OS to do
-// key mappings or handle accents. Why? Because different OS's do this in radically different
-// ways, and don't support all of the features one often needs.
-//
-// LAYER MAGIC (aka, typing in many alphabets)
-//
-// This keyboard has three sets of "polyglot" layers: GREEK, CADET, and YIDDISH. Each of these
-// is actually a pair of layers, FOO and SHIFTFOO, which are full of Unicode points that let you
-// type in them. (The Greek and Yiddish keymaps selected here are very canted towards use on a
-// QWERTY layout, rather than the "standard" layouts often used for those languages in monolingual
-// environments. This is useful if your keyboard doesn't have legends for all of them, which in
-// most cases it won't. Of course, you could easily add more.)
-//
-// These each have their own layer select key, which can act as a held modifier key (GREEK+s to
-// produce sigma, etc). There's also a "layer lock" key; layer lock + modifier switches you into
-// that layer until you hit "layer lock" again to bounce back to QWERTY.
-//
-// ACCENT MAGIC
-//
-// We want to support easy typing of diacriticals, again without relying on the host OS. (On
-// MacOS, if you want Unicode to work you have to lose all the normal accent combining keys, and
-// if you're in a multi-OS world, each OS has a totally different input method)
-//
-// The real nuance comes from the three different ways Unicode represents these. Many common
-// accent + letter combinations like é have their own dedicated code points (the combined
-// normal form). One can also place a "combining accent mark" after the letter's code point to
-// form the decomposed normal form (NFKD); this often renders the same as the combined form, but
-// many less-sophisticated apps won't realize it's the same thing as the combined form (thus messing
-// up string matching), and if you backspace you need to backspace *twice* to remove the character,
-// because it's literally two characters. Finally, if you want to render just the accent mark as a
-// symbol of its own, that's a *third* code point. If you're simply typing, you don't want to think
-// about any of this!
-//
-// We thus have a bunch of special keycodes for "accent requests," which live on the FUNCTION
-// layer. Accent requests don't do anything immediate, but when the *next* non-modifier key is hit,
-// we generate a combined code point (if possible), two uncombined points (in cases where combined
-// points don't exist), or the isolated accent followed by the next character typed (in cases where
-// what you typed next isn't a letterform at all, e.g. you hit the space bar). You can also hit
-// shift-<accent request> to just generate the uncombined accent on its own.
-//
-// The current accent request codes are modeled on the ones in MacOS.
-//
-// fn+` Grave accent (`)
-// fn+e Acute accent (´)
-// fn+i Circumflex (^)
-// fn+u Diaresis / umlaut / trema (¨)
-// fn+c Cedilla (¸)
-// fn+n Tilde (˜)
-//
-// Together, these functions make for a nice "polyglot" keyboard: one that can easily type in a wide
-// variety of languages, which is very useful for people who, well, need to type in a bunch of
-// languages.
-//
-// The major TODOs are:
-// - Add accent support for Hebrew accents.
-// - Factor the code below so that the data layers are more clearly separated from the code logic,
-// so that other users of this keymap can easily add whichever alphabets they need without
-// having to deeply understand the implementation. Probably something similar to
-// users/drashna/keyrecords/unicode.c, but I want to see if I can do some preprocessor magic
-// so that we can actually have the rendered *character* sitting in the code instead of just the
-// hex code point!
-//
-// PLATFORM MAGIC (aka, working well on both Mac and Windows)
-//
-// Finally, this keyboard can switch between Mac and Windows modes, changing various macro
-// combinations, the Unicode mode, and the position of the ALT and GUI keys.
-
-
-enum custom_keycodes {
- // We provide special layer management keys:
- // GREEK triggers the Greek (aka "Front") layer, or the SHIFTGREEK layer when shift is held.
- // (Because we use Unicode, we need to implement shift-handling at the firmware level,
- // rather than the OS level like we do in the QWERTY layer)
- // CADET or GREEK+ALT triggers the Cadet (aka "Top") layer, or the SHIFTCADET layer when
- // shift is held.
- // YIDDISH triggers a keymap designed for easy Hebrew and Yiddish, based loosely on QWERTY
- // layouts.
- // LAYER_LOCK locks the "base" layer (i.e., QWERTY, GREEK, or CADET) to the value which is
- // pressed at the moment that it is being released. When a layer lock is set, the
- // analogous layer modifier key is reversed; e.g., if you lock the GREEK layer, then the
- // GREEK button bounces you back to QWERTY.
- //
- // We also parse the shift, alt, and caps lock keys to provide management of those which is
- // compatible with these various layers.
- KC_GREEK = SAFE_RANGE,
- KC_CADET,
- KC_YIDDISH,
- KC_LAYER_LOCK,
- KC_PLATFORM, // Platform select
-
- // OS-dependent macros
- KC_VC_MUTE, // Video conference mute
- KC_VC_HAND, // Video conference hand-raise
- KC_SCRNSHT, // Screenshot (gui-shift-S on Windows, gui-shift-4 on Mac)
-
- // These are the keycodes generated by the various "accent request" keystrokes.
- KC_ACCENT_START,
- KC_CGRV = KC_ACCENT_START, // Grave accent
- KC_CAGU, // Acute accent
- KC_CDIA, // Diaresis / umlaut / trema
- KC_CCIR, // Circumflex
- KC_CCED, // Cedilla
- KC_CTIL, // Tilde
- KC_ACCENT_END,
-};
-
-enum layers_keymap {
- _QWERTY = 0,
-
- _FIRST_LANGUAGE_LAYER,
- _YIDDISH = _FIRST_LANGUAGE_LAYER,
- _SHIFTYIDDISH,
- _GREEK,
- _SHIFTGREEK,
- _CADET,
- _SHIFTCADET,
- _LAST_LANGUAGE_LAYER,
-
- // Function goes last.
- _FUNCTION = _LAST_LANGUAGE_LAYER,
-};
-
-// We manage our OS mode internally, and store it in a static, rather than EEPROM, bit. That's
-// because it changes as we flip machines, and there's no good reason to wear out the memory.
-enum os_modes {
- _WINDOWS = 0,
- _MAC = 1,
- _OS_MODES_MAX = 2,
-};
-static uint8_t os_mode = _MAC;
-
-// Key types matter for accent handling. If there's a pending accent request and another key is
-// pressed:
-// - If it's a normal key, we trigger all our magic accent handling.
-// - If it's a modifier key, we do nothing and let the accent request hold until the next keypress.
-// - If it's a special key, we drop the accent request but don't handle it.
-enum key_types {
- _NORMAL_KEY,
- _MODIFIER_KEY,
- _SPECIAL_KEY,
-};
-
-// msec to hold the platform key to trigger a switch
-#define PLATFORM_HOLD_DURATION 750
-
-// This is so that H(xxxx) has the same width as _______, which makes the grids more legible.
-#define H(x) UC(0x##x)
-#define MO_FN MO(_FUNCTION)
-#define KC_LLCK KC_LAYER_LOCK
-
-// Values for our OS-dependent keys, as arrays keyed by OS mode. Use Meet shortcuts on Mac, Teams on Windows
-const char *VC_MUTE_VALUES[_OS_MODES_MAX] = {SS_LCTL(SS_LSFT("m")), SS_LCMD("d")};
-const char *VC_HAND_VALUES[_OS_MODES_MAX] = {SS_LCTL(SS_LSFT("k")), SS_LCTL(SS_LCMD("h"))};
-const char *SCRNSHT_VALUES[_OS_MODES_MAX] = {SS_LGUI(SS_LSFT("s")), SS_LCMD(SS_LSFT("4"))};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_ESC, KC_LLCK, 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_HOME,
- KC_PLATFORM, KC_MPLY, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_SCRNSHT, KC_YIDDISH, 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_PGDN,
- KC_GREEK, KC_CADET, 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_VC_HAND, KC_VC_MUTE, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO_FN, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* The Greek and Cadet layers. Tab, backspace, the nav and modifier keys, and the control block
- * are always transparent.
- *
- * QWERTY GREEK SGREEK CADET SCADET YID SYID
- * ` ׳ 05f3 ״ 05f4
- * 1 ₠2081 ¹ 00b9 ¡ 00a1 ¿ 00bf [transparent]
- * 2 ₂ 2082 ² 00b2 « 00ab » 00bb [transparent]
- * 3 ₃ 2083 ³ 00b3 £ 00a3 € 20ac [transparent]
- * 4 â‚„ 2084 â´ 2074 [transparent]
- * 5 â‚… 2085 âµ 2075 [transparent]
- * 6 ₆ 2086 ⶠ2076 [transparent]
- * 7 ₇ 2087 ⷠ2077 [transparent]
- * 8 ₈ 2088 ⸠2078 ° 00b0 ⊗ 2297 [transparent]
- * 9 ₉ 2089 ⹠2079 [transparent]
- * 0 ₀ 2080 Ⱐ2070 ∅ 2205 [transparent]
- * - ₋ 208b ⻠207b ¬ 00ac ⊖ 2296 [transparent]
- * = ₊ 208a ₋ 208b ≠ 2260 ⊕ 2295 [transparent]
- * q θ 03b8 Θ 0398 ℚ 211a ק 05e7
- * w ω 03c9 Ω 03a9 ש 05e9
- * e ε 03b5 Ε 0395 ∃ 2203 ∄ 2204 ע 05e2
- * r Ï 03c1 Ρ 03a1 â„ 211d ר 05e8
- * t τ 03c4 Τ 03a4 ט 05d8 תּ fb4a
- * y ψ 03c8 Ψ 03a8 ∨ 2228 ∧ 2227 ײ 05f2 ײַ fb1f
- * u υ 03c5 Υ 03a5 ∪ 222a ∩ 2229 ו 05d5 ױ 05f1
- * i ι 03b9 Ι 0399 ∞ 221e ℵ 2135 י 05d9
- * o ο 03bf Ο 039f ו 05d5 אָ fb2f
- * p π 03c0 Π 03a0 ≡ 2261 ≢ 2262 פ 05e4 ף 05e3
- * [ ± 00b1 ∓ 2213
- * ] ≈ 2248 ≉ 2249
- * \ ∼ 223c ≠2241
- * a α 03b1 Α 0391 ∀ 2200 â„« 212b × 05d0 אַ fb2e
- * s σ 03c3 Σ 03a3 ∈ 2208 ∉ 2209 ס 05e1 ת 05ea
- * d δ 03b4 Δ 0394 ⊂ 2282 ⊄ 2284 ד 05d3
- * f φ 03c6 Φ 03a6 ⊆ 2286 ⊈ 2288 פֿ fb4e
- * g γ 03b3 Γ 0393 ⊇ 2287 ⊉ 2289 ג 05d2
- * h η 03b7 Η 0397 ↠2190 ⇠21d0 ה 05d4
- * j Ï‘ 03d1 ↓ 2193 ⇓ 21d3 ×— 05d7 ï­ fb4d
- * k κ 03ba Κ 039a ↑ 2191 ⇑ 21d1 כ 05db ך 05da
- * l λ 03bb Λ 039b → 2192 ⇒ 21d2 ל 05dc
- * ; … 2026 ⋯ 22ef ↔ 2194 ⇔ 21d4
- * ' · 00b7 • 2022 ∴ 2234 ⊙ 2299
- * z ζ 03b6 Ζ 0396 ℤ 2124 ז 05d6
- * x ξ 03be Ξ 039e ✘ 2718 צ 05e6 ץ 05e5
- * c χ 03c7 Χ 03a7 ℂ 2102 כ 05db ך 05da
- * v ς 03c2 ✔ 2714 √ 221a װ 05f0 בֿ fb4c
- * b β 03b2 Β 0392 ב 05d1
- * n ν 03bd Π039d ℕ 2115 נ 05e0 ן 05df
- * m μ 03bc Îœ 039c מ 05de × 05dd
- * , ≪ 226a ≫ 226b ∂ 2202 ∫ 222b
- * . ≲ 2272 ≳ 2273 ≰ 2270 ≱ 2271
- * / ⊘ 2298
- */
- [_YIDDISH] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, H(05f3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(05e7), H(05e9), H(05e2), H(05e8), H(05d8), H(05f2), H(05d5), H(05d9), H(05d5), H(05e4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(05d0), H(05e1), H(05d3), H(fb4e), H(05d2), H(05d4), H(05d7), H(05db), H(05dc), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(05d6), H(05e6), H(05db), H(05f0), H(05d1), H(05e0), H(05de), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_SHIFTYIDDISH] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, H(05f4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, H(fb4a), H(fb1f), H(05f1), KC_TRNS, H(fb2f), H(05e3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(fb2e), H(05ea), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, H(fb4d), H(05da), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, H(05e5), H(05da), H(fb4c), KC_TRNS, H(05df), H(05dd), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_GREEK] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, XXXXXXX, H(2081), H(2082), H(2083), H(2084), H(2085), H(2086), H(2087), H(2088), H(2089), H(2080), H(208b), H(208a), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(03b8), H(03c9), H(03b5), H(03c1), H(03c4), H(03c8), H(03c5), H(03b9), H(03bf), H(03c0), XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(03b1), H(03c3), H(03b4), H(03c6), H(03b3), H(03b7), XXXXXXX, H(03ba), H(03bb), H(2026), H(00b7), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(03b6), H(03be), H(03c7), XXXXXXX, H(03b2), H(03bd), H(03bc), H(226a), H(2272), XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_SHIFTGREEK] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, XXXXXXX, H(00b9), H(00b2), H(00b3), H(2074), H(2075), H(2076), H(2077), H(2078), H(2079), H(2070), H(207b), H(208b), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(0398), H(03a9), H(0395), H(03a1), H(03a4), H(03a8), H(03a5), H(0399), H(039f), H(03a0), XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(0391), H(03a3), H(0394), H(03a6), H(0393), H(0397), H(03d1), H(039a), H(039b), H(22ef), H(2022), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(0396), H(039e), H(03a7), H(03c2), H(0392), H(039d), H(039c), H(226b), H(2273), XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_CADET] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, XXXXXXX, H(00a1), H(00ab), H(00a3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, H(00b0), XXXXXXX, H(2205), H(00ac), H(2260), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(211a), XXXXXXX, H(2203), H(211d), XXXXXXX, H(2228), H(222a), H(221e), XXXXXXX, H(2261), H(00b1), H(2248), H(223c), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(2200), H(2208), H(2282), H(2286), H(2287), H(2190), H(2193), H(2191), H(2192), H(2194), H(2234), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(2124), H(2718), H(2102), H(2714), XXXXXXX, H(2115), XXXXXXX, H(2202), H(2270), XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_SHIFTCADET] = LAYOUT_65_xt_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, XXXXXXX, H(00bf), H(00bb), H(20ac), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, H(2297), XXXXXXX, XXXXXXX, H(2296), H(2295), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, H(2204), XXXXXXX, XXXXXXX, H(2227), H(2229), H(2135), XXXXXXX, H(2262), H(2213), H(2249), H(2241), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, H(212b), H(2209), H(2284), H(2288), H(2289), H(21d0), H(21d3), H(21d1), H(21d2), H(21d4), H(2299), KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, H(221a), XXXXXXX, XXXXXXX, XXXXXXX, H(222b), H(2271), H(2298), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- // The function layer mostly contains the accent marks, but also has a few meta-control
- // operations. The accent marks are placed by analogy with Mac OS.
- [_FUNCTION] = LAYOUT_65_xt_ansi_blocker_tsangan(
- QK_BOOT, KC_TRNS, KC_CGRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX,
- KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, KC_CAGU, XXXXXXX, XXXXXXX, XXXXXXX, KC_CDIA, KC_CCIR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, KC_CCED, XXXXXXX, XXXXXXX, KC_CTIL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, XXXXXXX,
- KC_TRNS, KC_TRNS, KC_RCTL, KC_RGUI, KC_RALT, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX),
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-// Accent implementation
-//
-// In the body of process_record_user, we store an "accent_request", which is the accent keycode if
-// one was just selected, or zero otherwise. When the *next* key is hit, we look up whether the
-// accent request plus that next keycode (plus the state of the shift key) together amount to an
-// interesting combined (NFKC) character, and if so, emit it; otherwise, we emit the accent as a
-// separate character and then process the next key normally. The resulting UI behavior is similar
-// to that of the combining accent keys in MacOS.
-//
-// We store two arrays, depending on whether shift is or isn't held. Each is two-dimensional, with
-// its outer key by the next keycode struck, and the inner key by the accent requested. The outer
-// array has KC_Z + 1 as its upper bound, so that we can save memory by only coding alphabetic keys.
-// The contents are either Unicode code points, or zero to indicate that we don't have a point for
-// this combination.
-
-#define KC_NUM_ACCENTS (KC_ACCENT_END - KC_ACCENT_START)
-#define KC_NUM_SLOTS (KC_Z + 1)
-
-const uint16_t PROGMEM unshifted_accents[KC_NUM_SLOTS][KC_NUM_ACCENTS] = {
- // KC_CGRV, KC_CAGU, KC_CDIA, KC_CCIR, KC_CCED, KC_CTIL
- [KC_A] = { 0x00e0, 0x00e1, 0x00e4, 0x00e2, 0, 0x00e3 },
- [KC_E] = { 0x00e8, 0x00e9, 0x00eb, 0x00ea, 0, 0 },
- [KC_I] = { 0x00ec, 0x00ed, 0x00ef, 0x00ee, 0, 0 },
- [KC_O] = { 0x00f2, 0x00f3, 0x00f6, 0x00f4, 0, 0x00f5 },
- [KC_U] = { 0x00f9, 0x00fa, 0x00fc, 0x00fb, 0, 0 },
- [KC_Y] = { 0, 0, 0x00ff, 0, 0, 0 },
- [KC_N] = { 0, 0, 0, 0, 0, 0x00f1 },
- [KC_C] = { 0, 0, 0, 0, 0x00e7, 0 },
-};
-
-const uint16_t PROGMEM shifted_accents[KC_NUM_SLOTS][KC_NUM_ACCENTS] = {
- // KC_CGRV, KC_CAGU, KC_CDIA, KC_CCIR, KC_CCED, KC_CTIL
- [KC_A] = { 0x00c0, 0x00c1, 0x00c4, 0x00c2, 0, 0x00c3 },
- [KC_E] = { 0x00c8, 0x00c9, 0x00cb, 0x00ca, 0, 0 },
- [KC_I] = { 0x00cc, 0x00cd, 0x00cf, 0x00ce, 0, 0 },
- [KC_O] = { 0x00d2, 0x00d3, 0x00d6, 0x00d4, 0, 0x00d5 },
- [KC_U] = { 0x00d9, 0x00da, 0x00dc, 0x00db, 0, 0 },
- [KC_Y] = { 0, 0, 0x00df, 0, 0, 0 },
- [KC_N] = { 0, 0, 0, 0, 0, 0x00d1 },
- [KC_C] = { 0, 0, 0, 0, 0x00c7, 0 },
-};
-
-// The uncombined and combined forms of the accents, for when we want to emit them as single
-// characters.
-const uint16_t PROGMEM uncombined_accents[KC_NUM_ACCENTS] = {
- [KC_CGRV - KC_ACCENT_START] = 0x0060,
- [KC_CAGU - KC_ACCENT_START] = 0x00b4,
- [KC_CDIA - KC_ACCENT_START] = 0x00a8,
- [KC_CCIR - KC_ACCENT_START] = 0x005e,
- [KC_CCED - KC_ACCENT_START] = 0x00b8,
- [KC_CTIL - KC_ACCENT_START] = 0x02dc,
-};
-
-const uint16_t PROGMEM combined_accents[KC_NUM_ACCENTS] = {
- [KC_CGRV - KC_ACCENT_START] = 0x0300,
- [KC_CAGU - KC_ACCENT_START] = 0x0301,
- [KC_CDIA - KC_ACCENT_START] = 0x0308,
- [KC_CCIR - KC_ACCENT_START] = 0x0302,
- [KC_CCED - KC_ACCENT_START] = 0x0327,
- [KC_CTIL - KC_ACCENT_START] = 0x0303,
-};
-
-// This function manages keypresses that happen after an accent has been selected by an earlier
-// keypress.
-// Args:
-// accent_key: The accent key which was earlier selected. This must be in the range
-// [KC_ACCENT_START, KC_ACCENT_END).
-// keycode: The keycode which was just pressed.
-// is_shifted: The current shift state (as set by a combination of shift and caps lock)
-//
-// Returns true if the keycode has been completely handled by this function (and so should not be
-// processed further by process_record_user) or false otherwise.
-bool process_key_after_accent(
- uint16_t accent_key,
- uint16_t keycode,
- bool is_shifted
-) {
- assert(accent_key >= KC_ACCENT_START);
- assert(accent_key < KC_ACCENT_END);
- const int accent_index = accent_key - KC_ACCENT_START;
-
- // If the keycode is outside A..Z, we know we shouldn't even bother with a table lookup.
- if (keycode <= KC_Z) {
- // Pick the correct array. Because this is progmem, we're going to need to do the
- // two-dimensional array indexing by hand, and so we just cast it to a single-dimensional array.
- const uint16_t *points = (const uint16_t*)(is_shifted ? shifted_accents : unshifted_accents);
- const uint16_t code_point = pgm_read_word(points + KC_NUM_ACCENTS * keycode + accent_index);
- if (code_point) {
- register_unicode(code_point);
- return true;
- }
- }
-
- // If we get here, there was no accent match. Emit the accent as its own character (i.e. a
- // Unicode combining accent mark) and return false so that process_record_user also registers
- // whatever is appropriate for the keycode after that. The host can figure out what to do with
- // combining Unicode.
- register_unicode(pgm_read_word(uncombined_accents + accent_index));
- return false;
-}
-
-// This is a bitmask which selects the activation bits for layers *other* than our language
-// selectors.
-#define NON_LANGUAGE_LAYERS ~(((1UL << _LAST_LANGUAGE_LAYER) - 1) - ((1UL << _FIRST_LANGUAGE_LAYER) - 1))
-
-// Update the current layer state and return the layer we're in.
-uint8_t update_layer(
- uint8_t layer_lock,
- uint8_t layer_select_held,
- bool shifted
-) {
- uint8_t current_layer = layer_lock;
- layer_state_t language_layers = 0;
-
- // If there's a layer select being held right now, then it updates the current layer.
- // (If it's the layer select for the currently locked layer, then instead it's a toggle
- // back to _QWERTY!)
- if (layer_select_held != _QWERTY) {
- current_layer = (layer_lock == layer_select_held ? _QWERTY : layer_select_held);
- }
-
- language_layers |= (1UL << current_layer);
-
- // If we're shifted (with either shift or caps lock), and we're in one of our special
- // layers, bump up to the SHIFTED version of that layer. We don't do this for QWERTY;
- // there we just emit USB HID codes and let the host deal with shift.
- if (shifted && current_layer != _QWERTY) {
- ++current_layer;
- language_layers |= (1UL << current_layer);
- }
-
- // Update the QMK layer state by stomping just the language layer bits.
- const layer_state_t new_layer_state = (layer_state & NON_LANGUAGE_LAYERS) | language_layers;
- if (new_layer_state != layer_state) {
- layer_state_set(new_layer_state);
- }
-
- return current_layer;
-}
-
-void set_os_mode(uint8_t new_mode) {
- os_mode = new_mode;
- // NB: We set unicode_config.input_mode directly, rather than calling
- // set_unicode_input_mode, because we don't want to persist this and so we shouldn't put
- // extra load on the EEPROMs.
- unicode_config.input_mode = (os_mode == _MAC ? UNICODE_MODE_MACOS : UNICODE_MODE_WINCOMPOSE);
- // Swap LALT and LGUI depending on Mac/Windows.
- keymap_config.swap_lalt_lgui = (os_mode == _MAC);
- // This would be a great moment for some auditory or visual feedback, but this keyboard
- // doesn't support it. :(
-}
-
-void toggle_os_mode(void) {
- set_os_mode((os_mode + 1) % _OS_MODES_MAX);
-}
-
-void keyboard_post_init_user(void) {
- set_os_mode(_WINDOWS);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // We track these persistent globals and manage them on our own, rather than trying to rely on
- // get_mods or the like, because this function is called *before* that's updated!
- static bool shift_held = false;
- static bool alt_held = false;
- static bool ctrl_held = false;
- static bool super_held = false;
-
- // These are where we remember the values of lock states.
- static bool shift_lock = false;
- static uint8_t layer_lock = _QWERTY; // The currently locked layer
- static uint8_t next_layer_lock = _QWERTY; // Used when layer_lock is held
- // Which layer select key is currently being held down. _QWERTY is equivalent to "none."
- static uint8_t layer_select_held = _QWERTY;
-
- // When the hold on the platform key started
- static uint16_t platform_hold_start = 0;
-
- // The accent request, or zero if there isn't one.
- static uint16_t accent_request = 0;
-
- // What kind of key we're striking right now, so that we know what to do if any accent requests
- // are hanging around.
- uint8_t key_type = _NORMAL_KEY;
-
- // The layer selection and locking logic is:
- // * By default, the current layer is given by saved value layer_lock.
- // * If a layer select key is held down, we update the current layer to that value.
- // (But special thing: If the current layer lock is <layer> and you hit the select key
- // for <layer>, it instead toggles the current layer back to _QWERTY! That way you can
- // insert some QWERTY keys in the midst of other-layer text.)
- // * If the KC_LAYER_LOCK key is held down and a layer select key gets pressed, we update
- // next_layer_lock to that selected layer. When KC_LAYER_LOCK is released, we update
- // layer_lock to next_layer_lock. Note that that simply tapping KC_LAYER_LOCK resets
- // layer_lock to _QWERTY.
- // * After all of this is done, we check if shift is held (via either shift or caps lock);
- // if it is, and our current layer isn't _QWERTY, then we bump the current layer ID by 1
- // to get the shifted layer.
-
- // Step 1: Process various interesting keycodes, especially ones that update our running
- // state variables.
- switch (keycode) {
- // Monitoring the modifier keys, because we'll need them for our logic!
- case KC_LSFT:
- case KC_RSFT:
- shift_held = record->event.pressed;
- key_type = _MODIFIER_KEY;
- break;
- case KC_CAPS:
- // If we're in QWERTY mode, caps lock is already going to be managed by the host OS, but by
- // tracking it ourselves we can also usefully apply it to the GREEK and CADET layers.
- shift_lock = !shift_lock;
- key_type = _MODIFIER_KEY;
- break;
- case KC_LALT:
- case KC_RALT:
- alt_held = record->event.pressed;
- key_type = _MODIFIER_KEY;
- break;
- case KC_LCTL:
- case KC_RCTL:
- ctrl_held = record->event.pressed;
- key_type = _MODIFIER_KEY;
- break;
- case KC_LGUI:
- case KC_RGUI:
- super_held = record->event.pressed;
- key_type = _MODIFIER_KEY;
- break;
-
- case KC_LAYER_LOCK:
- if (record->event.pressed) {
- // On press, get ready for a layer selection.
- next_layer_lock = _QWERTY;
- } else {
- // On release, propagate next_layer_lock to layer_lock.
- layer_lock = next_layer_lock;
- }
- key_type = _MODIFIER_KEY;
- break;
-
- // Layer selectors
- case KC_GREEK:
- if (record->event.pressed) {
- layer_select_held = _GREEK;
- next_layer_lock = _GREEK;
- } else {
- layer_select_held = _QWERTY;
- }
- key_type = _MODIFIER_KEY;
- break;
- case KC_CADET:
- if (record->event.pressed) {
- layer_select_held = _CADET;
- next_layer_lock = _CADET;
- } else {
- layer_select_held = _QWERTY;
- }
- key_type = _MODIFIER_KEY;
- break;
- case KC_YIDDISH:
- if (record->event.pressed) {
- layer_select_held = _YIDDISH;
- next_layer_lock = _YIDDISH;
- } else {
- layer_select_held = _QWERTY;
- }
- key_type = _MODIFIER_KEY;
- break;
-
- // Accent selectors
- case KC_CGRV:
- case KC_CAGU:
- case KC_CDIA:
- case KC_CCIR:
- case KC_CCED:
- case KC_CTIL:
- // The accent request keys normally update accent_request (whose effect will trigger the next
- // time we see a "normal" key pressed). However, shift+accent request will instead immediately
- // generate the Unicode combining accent symbol instead.
- if (shift_held) {
- register_unicode(pgm_read_word(combined_accents + keycode - KC_ACCENT_START));
- return false;
- } else {
- accent_request = keycode;
- }
- key_type = _MODIFIER_KEY;
- break;
-
- // Our special keycodes
- case KC_PLATFORM:
- if (record->event.pressed) {
- platform_hold_start = record->event.time;
- } else if (platform_hold_start != 0 && record->event.time - platform_hold_start > PLATFORM_HOLD_DURATION) {
- toggle_os_mode();
- }
- key_type = _SPECIAL_KEY;
- return true;
-
- case KC_VC_MUTE:
- if (record->event.pressed) {
- send_string(VC_MUTE_VALUES[os_mode]);
- return true;
- }
- key_type = _SPECIAL_KEY;
- break;
-
- case KC_VC_HAND:
- if (record->event.pressed) {
- send_string(VC_HAND_VALUES[os_mode]);
- return true;
- }
- key_type = _SPECIAL_KEY;
- break;
-
- case KC_SCRNSHT:
- if (record->event.pressed) {
- send_string(SCRNSHT_VALUES[os_mode]);
- return true;
- }
- key_type = _SPECIAL_KEY;
- break;
-
- case QK_BOOT:
- key_type = _SPECIAL_KEY;
- break;
- }
-
- // Step 2: Finalize current_layer and update the QMK layer state.
- const bool shifted = (shift_held != shift_lock);
- const uint8_t current_layer = update_layer(layer_lock, layer_select_held, shifted);
-
- // Step 3: Handle accents.
- bool handled = false;
- if (accent_request && record->event.pressed) {
- // If we're in any layer other than _QWERTY, or a modifier key is being held down,
- // then we're actually generating a special key, not a normal one.
- if (key_type == _NORMAL_KEY &&
- (current_layer != _QWERTY || ctrl_held || super_held || alt_held)) {
- key_type = _SPECIAL_KEY;
- }
-
- switch (key_type) {
- case _NORMAL_KEY:
- handled = process_key_after_accent(accent_request, keycode, shifted);
- accent_request = 0;
- break;
-
- case _SPECIAL_KEY:
- accent_request = 0;
- break;
-
- case _MODIFIER_KEY:
- break;
- }
- }
-
- return !handled;
-}
diff --git a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/readme.md b/keyboards/wilba_tech/wt65_xt/keymaps/zunger/readme.md
deleted file mode 100644
index fe1264a085..0000000000
--- a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-* A polyglot keymap for the RamaWorks Zenith
-* Author: Yonatan Zunger (zunger@gmail.com)
-
-This keyboard is designed to make it easy to type a wide range of symbols and a wide range of
-alphabets, without relying on the host OS, because... host OS's aren't fantastic at a lot of
-things.
-
-See the keymap file for most of the documentation, in the form of comments; this is still in
-development!
diff --git a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/rules.mk b/keyboards/wilba_tech/wt65_xt/keymaps/zunger/rules.mk
deleted file mode 100644
index a61cfa33fa..0000000000
--- a/keyboards/wilba_tech/wt65_xt/keymaps/zunger/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# You need Unicode for this map.
-UNICODE_ENABLE = yes # Unicode
diff --git a/keyboards/wilba_tech/wt75_a/rules.mk b/keyboards/wilba_tech/wt75_a/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt75_a/rules.mk
+++ b/keyboards/wilba_tech/wt75_a/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt75_a/wt75_a.c b/keyboards/wilba_tech/wt75_a/wt75_a.c
new file mode 100644
index 0000000000..111e6c3a2c
--- /dev/null
+++ b/keyboards/wilba_tech/wt75_a/wt75_a.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT75_A)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT75_A)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt75_b/rules.mk b/keyboards/wilba_tech/wt75_b/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt75_b/rules.mk
+++ b/keyboards/wilba_tech/wt75_b/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt75_b/wt75_b.c b/keyboards/wilba_tech/wt75_b/wt75_b.c
new file mode 100644
index 0000000000..5a4b7de39f
--- /dev/null
+++ b/keyboards/wilba_tech/wt75_b/wt75_b.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT75_B)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT75_B)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt75_c/rules.mk b/keyboards/wilba_tech/wt75_c/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt75_c/rules.mk
+++ b/keyboards/wilba_tech/wt75_c/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt75_c/wt75_c.c b/keyboards/wilba_tech/wt75_c/wt75_c.c
new file mode 100644
index 0000000000..741bfb9594
--- /dev/null
+++ b/keyboards/wilba_tech/wt75_c/wt75_c.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT75_C)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT75_C)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt80_a/rules.mk b/keyboards/wilba_tech/wt80_a/rules.mk
index 9ca8e8f973..f7482c7a2f 100644
--- a/keyboards/wilba_tech/wt80_a/rules.mk
+++ b/keyboards/wilba_tech/wt80_a/rules.mk
@@ -11,7 +11,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# project specific files
-SRC = drivers/led/issi/is31fl3736-simple.c \
+SRC = drivers/led/issi/is31fl3736-mono.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt80_a/wt80_a.c b/keyboards/wilba_tech/wt80_a/wt80_a.c
new file mode 100644
index 0000000000..4acf56994d
--- /dev/null
+++ b/keyboards/wilba_tech/wt80_a/wt80_a.c
@@ -0,0 +1,120 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#if defined(MONO_BACKLIGHT_WT80_A)
+# include "drivers/led/issi/is31fl3736-mono.h"
+#endif
+
+#if defined(LED_MATRIX_ENABLE) || defined(MONO_BACKLIGHT_WT80_A)
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+ {0, SW1_CS1},
+ {0, SW1_CS2},
+ {0, SW1_CS3},
+ {0, SW1_CS4},
+ {0, SW1_CS5},
+ {0, SW1_CS6},
+ {0, SW1_CS7},
+ {0, SW1_CS8},
+
+ {0, SW2_CS1},
+ {0, SW2_CS2},
+ {0, SW2_CS3},
+ {0, SW2_CS4},
+ {0, SW2_CS5},
+ {0, SW2_CS6},
+ {0, SW2_CS7},
+ {0, SW2_CS8},
+
+ {0, SW3_CS1},
+ {0, SW3_CS2},
+ {0, SW3_CS3},
+ {0, SW3_CS4},
+ {0, SW3_CS5},
+ {0, SW3_CS6},
+ {0, SW3_CS7},
+ {0, SW3_CS8},
+
+ {0, SW4_CS1},
+ {0, SW4_CS2},
+ {0, SW4_CS3},
+ {0, SW4_CS4},
+ {0, SW4_CS5},
+ {0, SW4_CS6},
+ {0, SW4_CS7},
+ {0, SW4_CS8},
+
+ {0, SW5_CS1},
+ {0, SW5_CS2},
+ {0, SW5_CS3},
+ {0, SW5_CS4},
+ {0, SW5_CS5},
+ {0, SW5_CS6},
+ {0, SW5_CS7},
+ {0, SW5_CS8},
+
+ {0, SW6_CS1},
+ {0, SW6_CS2},
+ {0, SW6_CS3},
+ {0, SW6_CS4},
+ {0, SW6_CS5},
+ {0, SW6_CS6},
+ {0, SW6_CS7},
+ {0, SW6_CS8},
+
+ {0, SW7_CS1},
+ {0, SW7_CS2},
+ {0, SW7_CS3},
+ {0, SW7_CS4},
+ {0, SW7_CS5},
+ {0, SW7_CS6},
+ {0, SW7_CS7},
+ {0, SW7_CS8},
+
+ {0, SW8_CS1},
+ {0, SW8_CS2},
+ {0, SW8_CS3},
+ {0, SW8_CS4},
+ {0, SW8_CS5},
+ {0, SW8_CS6},
+ {0, SW8_CS7},
+ {0, SW8_CS8},
+
+ {0, SW9_CS1},
+ {0, SW9_CS2},
+ {0, SW9_CS3},
+ {0, SW9_CS4},
+ {0, SW9_CS5},
+ {0, SW9_CS6},
+ {0, SW9_CS7},
+ {0, SW9_CS8},
+
+ {0, SW10_CS1},
+ {0, SW10_CS2},
+ {0, SW10_CS3},
+ {0, SW10_CS4},
+ {0, SW10_CS5},
+ {0, SW10_CS6},
+ {0, SW10_CS7},
+ {0, SW10_CS8},
+
+ {0, SW11_CS1},
+ {0, SW11_CS2},
+ {0, SW11_CS3},
+ {0, SW11_CS4},
+ {0, SW11_CS5},
+ {0, SW11_CS6},
+ {0, SW11_CS7},
+ {0, SW11_CS8},
+
+ {0, SW12_CS1},
+ {0, SW12_CS2},
+ {0, SW12_CS3},
+ {0, SW12_CS4},
+ {0, SW12_CS5},
+ {0, SW12_CS6},
+ {0, SW12_CS7},
+ {0, SW12_CS8}
+};
+#endif
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index e218f0af4b..1523fbdb85 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -33,7 +33,7 @@
#error VIA_EEPROM_CUSTOM_CONFIG_SIZE was not defined to store backlight_config struct
#endif
-#include "drivers/led/issi/is31fl3736-simple.h"
+#include "drivers/led/issi/is31fl3736-mono.h"
#define BACKLIGHT_EFFECT_MAX 3
@@ -50,116 +50,6 @@ backlight_config g_config = {
.color_1 = MONO_BACKLIGHT_COLOR_1,
};
-const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
- {0, A_1},
- {0, A_2},
- {0, A_3},
- {0, A_4},
- {0, A_5},
- {0, A_6},
- {0, A_7},
- {0, A_8},
-
- {0, B_1},
- {0, B_2},
- {0, B_3},
- {0, B_4},
- {0, B_5},
- {0, B_6},
- {0, B_7},
- {0, B_8},
-
- {0, C_1},
- {0, C_2},
- {0, C_3},
- {0, C_4},
- {0, C_5},
- {0, C_6},
- {0, C_7},
- {0, C_8},
-
- {0, D_1},
- {0, D_2},
- {0, D_3},
- {0, D_4},
- {0, D_5},
- {0, D_6},
- {0, D_7},
- {0, D_8},
-
- {0, E_1},
- {0, E_2},
- {0, E_3},
- {0, E_4},
- {0, E_5},
- {0, E_6},
- {0, E_7},
- {0, E_8},
-
- {0, F_1},
- {0, F_2},
- {0, F_3},
- {0, F_4},
- {0, F_5},
- {0, F_6},
- {0, F_7},
- {0, F_8},
-
- {0, G_1},
- {0, G_2},
- {0, G_3},
- {0, G_4},
- {0, G_5},
- {0, G_6},
- {0, G_7},
- {0, G_8},
-
- {0, H_1},
- {0, H_2},
- {0, H_3},
- {0, H_4},
- {0, H_5},
- {0, H_6},
- {0, H_7},
- {0, H_8},
-
- {0, I_1},
- {0, I_2},
- {0, I_3},
- {0, I_4},
- {0, I_5},
- {0, I_6},
- {0, I_7},
- {0, I_8},
-
- {0, J_1},
- {0, J_2},
- {0, J_3},
- {0, J_4},
- {0, J_5},
- {0, J_6},
- {0, J_7},
- {0, J_8},
-
- {0, K_1},
- {0, K_2},
- {0, K_3},
- {0, K_4},
- {0, K_5},
- {0, K_6},
- {0, K_7},
- {0, K_8},
-
- {0, L_1},
- {0, L_2},
- {0, L_3},
- {0, L_4},
- {0, L_5},
- {0, L_6},
- {0, L_7},
- {0, L_8}
-};
-
bool g_suspend_state = false;
// Global tick at 20 Hz
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index 72ddb34ee7..cf36288705 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -980,34 +980,34 @@ void backlight_update_pwm_buffers(void)
#if defined(RGB_BACKLIGHT_M6_B)
is31fl3218_update_pwm_buffers();
#elif defined(RGB_BACKLIGHT_PORTICO75)
- is31fl3741_update_pwm_buffers( IS31FL3741_I2C_ADDRESS_1, 0 );
- is31fl3741_update_led_control_registers( IS31FL3741_I2C_ADDRESS_1, 0 );
+ is31fl3741_update_pwm_buffers( 0 );
+ is31fl3741_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_M10_C)
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_1, 0 );
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_1, 0 );
+ is31fl3731_update_pwm_buffers( 0 );
+ is31fl3731_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_HS60)
- is31fl3733_update_pwm_buffers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
+ is31fl3733_update_pwm_buffers( 0 );
+ is31fl3733_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_KW_MEGA)
- is31fl3733_update_pwm_buffers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_pwm_buffers( IS31FL3733_I2C_ADDRESS_2, 1 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_2, 1 );
+ is31fl3733_update_pwm_buffers( 0 );
+ is31fl3733_update_pwm_buffers( 1 );
+ is31fl3733_update_led_control_registers( 0 );
+ is31fl3733_update_led_control_registers( 1 );
#elif defined(RGB_BACKLIGHT_NEBULA12)
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_1, 0 );
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_1, 0 );
+ is31fl3731_update_pwm_buffers( 0 );
+ is31fl3731_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_U80_A)
static uint8_t driver = 0;
switch ( driver )
{
case 0:
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_1, 0 );
+ is31fl3731_update_pwm_buffers( 0 );
break;
case 1:
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_2, 1 );
+ is31fl3731_update_pwm_buffers( 1 );
break;
case 2:
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_3, 2 );
+ is31fl3731_update_pwm_buffers( 2 );
break;
}
if ( ++driver > 2 )
@@ -1015,10 +1015,10 @@ void backlight_update_pwm_buffers(void)
driver = 0;
}
#else
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_1, 0 );
- is31fl3731_update_pwm_buffers( IS31FL3731_I2C_ADDRESS_2, 1 );
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_1, 0 );
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_2, 1 );
+ is31fl3731_update_pwm_buffers( 0 );
+ is31fl3731_update_pwm_buffers( 1 );
+ is31fl3731_update_led_control_registers( 0 );
+ is31fl3731_update_led_control_registers( 1 );
#endif
}
@@ -2134,7 +2134,7 @@ void backlight_init_drivers(void)
// This actually updates the LED drivers
is31fl3218_update_led_control_registers();
#elif defined(RGB_BACKLIGHT_HS60)
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE );
+ is31fl3733_init( 0 );
for ( int index = 0; index < IS31FL3733_LED_COUNT; index++ )
{
@@ -2153,10 +2153,10 @@ void backlight_init_drivers(void)
is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
}
// This actually updates the LED drivers
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
+ is31fl3733_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_NK65)
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE );
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_NONE );
+ is31fl3733_init( 0 );
+ is31fl3733_init( 1 );
for ( int index = 0; index < IS31FL3733_LED_COUNT; index++ )
{
@@ -2167,11 +2167,11 @@ void backlight_init_drivers(void)
}
is31fl3733_set_led_control_register( 7+64-1, 0, 1, 0 ); //Enable LB7 green enable for indicators
// This actually updates the LED drivers
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_2, 1 );
+ is31fl3733_update_led_control_registers( 0 );
+ is31fl3733_update_led_control_registers( 1 );
#elif defined(RGB_BACKLIGHT_NK87)
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE );
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_NONE );
+ is31fl3733_init( 0 );
+ is31fl3733_init( 1 );
for ( int index = 0; index < IS31FL3733_LED_COUNT; index++ )
{
@@ -2197,11 +2197,11 @@ void backlight_init_drivers(void)
}
is31fl3733_set_led_control_register( 48+64-1, 0, 0, 1 ); //Enable LB48 blue enable for indicators
// This actually updates the LED drivers
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_2, 1 );
+ is31fl3733_update_led_control_registers( 0 );
+ is31fl3733_update_led_control_registers( 1 );
#elif defined(RGB_BACKLIGHT_NEBULA68)
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE );
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_NONE );
+ is31fl3733_init( 0 );
+ is31fl3733_init( 1 );
for ( int index = 0; index < IS31FL3733_LED_COUNT; index++ )
{
@@ -2211,20 +2211,20 @@ void backlight_init_drivers(void)
is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
}
// This actually updates the LED drivers
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_2, 1 );
+ is31fl3733_update_led_control_registers( 0 );
+ is31fl3733_update_led_control_registers( 1 );
#elif defined(RGB_BACKLIGHT_PORTICO75)
- is31fl3741_init( IS31FL3741_I2C_ADDRESS_1 );
+ is31fl3741_init( 0 );
bool enabled = true;
for ( int index = 0; index < IS31FL3741_LED_COUNT; index++ )
{
is31fl3741_set_led_control_register( index, enabled, enabled, enabled );
}
// This actually updates the LED drivers
- is31fl3741_update_led_control_registers( IS31FL3741_I2C_ADDRESS_1, 0 );
+ is31fl3741_update_led_control_registers( 0 );
#elif defined(RGB_BACKLIGHT_KW_MEGA)
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_NONE );
- is31fl3733_init( IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_NONE );
+ is31fl3733_init( 0 );
+ is31fl3733_init( 1 );
for ( int index = 0; index < IS31FL3733_LED_COUNT; index++ )
{
@@ -2234,18 +2234,18 @@ void backlight_init_drivers(void)
is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
}
// This actually updates the LED drivers
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_1, 0 );
- is31fl3733_update_led_control_registers( IS31FL3733_I2C_ADDRESS_2, 1 );
+ is31fl3733_update_led_control_registers( 0 );
+ is31fl3733_update_led_control_registers( 1 );
#else
// Init the #1 driver
- is31fl3731_init( IS31FL3731_I2C_ADDRESS_1 );
+ is31fl3731_init( 0 );
// Init the #2 driver (if used)
#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C)
- is31fl3731_init( IS31FL3731_I2C_ADDRESS_2 );
+ is31fl3731_init( 1 );
#endif
// Init the #3 driver (if used)
#if defined(RGB_BACKLIGHT_U80_A)
- is31fl3731_init( IS31FL3731_I2C_ADDRESS_3 );
+ is31fl3731_init( 2 );
#endif
// Experimental feature, not in configuration yet
@@ -2378,12 +2378,12 @@ void backlight_init_drivers(void)
}
// This actually updates the LED drivers
// TODO: refactor this to use DRIVER_COUNT
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_1, 0 );
+ is31fl3731_update_led_control_registers( 0 );
#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C)
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_2, 1 );
+ is31fl3731_update_led_control_registers( 1 );
#endif
#if defined(RGB_BACKLIGHT_U80_A)
- is31fl3731_update_led_control_registers( IS31FL3731_I2C_ADDRESS_3, 2 );
+ is31fl3731_update_led_control_registers( 2 );
#endif
#endif
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md b/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
deleted file mode 100644
index 1fbd745742..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# RGB Underglow Strip on the Zeal60: A Guide
-
-<img src="https://i.imgur.com/UuUdOCb.jpg" width="800">
-
-## Requirements
-
-- WS2812B RGB strip, preferably 60 LEDs/meter
-- Wire, solder
-- Tape, hot glue, or some sort of adhesive
-
-## A. Connecting the strip
-You might find the [**full PCB image**](https://cdn.shopify.com/s/files/1/0490/7329/files/zeal60jumpers.png) helpful. Ignore the red boxes!
-
-1. Connect V+ to the receiving end of the thermistor labeled F1; connect GND to the board's GND pin. (*Avoid connecting +V to the board's +5V pin* - you will likely overload the thermistor, and you will limit your maximum brightness.)
-
- <img src="https://i.imgur.com/jd7qivh.png" width="300">
-
-2. Connect DI to PB0.
-
- <img src="https://i.imgur.com/BiMyMLv.jpg" width="300">
-
-3. Should look something like this when finished:
-
- <img src="https://i.imgur.com/ngxYMuA.jpg" width="600">
-
-*Optional:* To allow considerably more light to escape, consider angling the strip outwards by using some sort of fulcrum under the strip. (I used a thick wire.)
-
-## B. Enabling the strip
-1. If it is not present already, add the following to your ***keymap's*** ```Makefile```:
-
- ```Makefile
- RGBLIGHT_ENABLE = yes
- AUDIO_ENABLE = no #Underglow animations cannot be used with audio.
- ```
-2. If it is not present already, add the following to your *keymap's* ```config.h```, and edit the values as necessary:
-
- ```c
- // Set up RGB underglow.
- #define WS2812_DI_PIN B0 // The pin your RGB strip is wired to
- #define RGBLED_NUM 35 // Number of LEDs
- #define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
- #define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
- #define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
- ```
-3. If they are not present already, add the following keycodes to your keymap to control the RGB strip: ```RGB_TOG``` (on/off), ```RGB_MOD``` (step through modes), ```RGB_HUI```, ```RGB_HUD```, ```RGB_SAI```, ```RGB_SAD```, ```RGB_VAI```, ```RGB_VAD``` (HSV increase/decrease). Add these to your keymap.
-
-## C. Dealing with current limits
-USB 2.0 ports on laptops provide up to 500mA max, but USB 3.0 ports can provide up to 900mA; USB 3.1 up to 1.5A; and powered USB hubs even more. We can run our keyboard at a higher brightness if we draw more power. **The Zeal60 uses 500mA at max brightness.** This means that **you have about 400mA remaining for the strip to use on a USB 3.0 port**; 1000mA free on a USB 3.1 port, so on and so forth.
-
-***Warning:*** **This means you will need to turn *off* your RGB strip before connecting to a USB 2.0 port**, as USB 2.0 cannot sustain the current necessary!
-
-1. If not present already, add the following to your keymap's ```config.h```. Change the numbers based on your needs. The ones below are safe underestimates.
-
- ```c
- // Enable current limiting for RGB underglow.
- #define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
- #define RGBSTRIP_MAX_CURRENT_PER_LIGHT 50 // mA per light when at max brightness.
- ```
- *Example:* I use a USB port capable of providing 1800 mA. The keyboard uses 500mA, so my personal value (in the `tusing` keymap) for `RGBSTRIP_CURRENT_LIMIT` is 1300. The particular WS2812B RGB strip I have uses a maximum of 60 mA per LED, so that is my personal value for `RGBSTRIP_MAX_CURRENT_PER_LIGHT`.
-2. Toggle on the LED strip (```RGB_TOG```) and step through animations (```RGB_MOD```) to test it out!
-
-## D. Sources and resources
-### A. Connecting the strip.
-* [In-depth description of connecting an RGB strip to the GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4d5or2/my_first_custom_build_satan_gh60_rbg_underglow_in/d1nz3o7/)
-* [32U4 Pinout](https://40.media.tumblr.com/93b6bbd4113418c2b45459bb177e67c5/tumblr_mi49a20QMB1s5t695o1_1280.png)
-* [Redditor describes connecting RGB strips on his Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4hbjw4/finally_finished_my_satan_gh60_also_granite_o/d2qn8zx/?context=3)
-* [Another Redditor on RGB with the Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4ewzdx/gh60_satan_with_the_rgb_mod/d251uu6/ )
-
-### B. Enabling the strip.
-* [QMK Wiki portion on underglow](https://github.com/jackhumbert/qmk_firmware/wiki#rgb-under-glow-mod)
-* [Planck ```Makefile```, ```config.h```, and ```keymap.c``` config example](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/planck/keymaps/yang)
-* [Video demonstrating keycode functions and RGB modes on a KC60](https://www.youtube.com/watch?v=VKrpPAHlisY)
-
-### C. Dealing with current limits.
-* [Discussion of cutting jumpers and adding resistors to lower current from Zeal60](https://www.reddit.com/r/MechanicalKeyboards/comments/5hou92/photos_zeal60_lets_just_say_santa_came_early_this/db23qid/)
-* [A selection of 900mA-1.5A current hold fuses - look for an SMD 0805-sized fuse.](https://goo.gl/748avG)
-* [Video detailing technique to solder 0805 resistors](https://www.youtube.com/watch?v=PU7wLcuqc-I&t=123s&list=FLheMlKEVQ5cmVXazUt6HrxQ&index=2)
-* [QMK feature request to implement max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/issues/954)
-* [Commit enabling max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/commit/83e613ad239459582ae28f78b6c81535b9b138d7)
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h b/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
deleted file mode 100644
index e797f81941..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#pragma once
-
-/* Enable/disable LEDs based on layout. */
-#undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE
-#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
-
-#undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT
-#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
-
-#undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT
-#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
-
-#undef RGB_BACKLIGHT_USE_7U_SPACEBAR
-#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
-
-#undef RGB_BACKLIGHT_USE_ISO_ENTER
-#define RGB_BACKLIGHT_USE_ISO_ENTER 0
-
-#undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS
-#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
-
-// Set up RGB underglow.
-#define WS2812_DI_PIN B0 // The pin your RGB strip is wired to
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 35 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
-#define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
-#define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
-
-// Enable current limiting for RGB underglow.
-#define RGBSTRIP_CURRENT_LIMIT 1300 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
-#define RGBSTRIP_MAX_CURRENT_PER_LIGHT 40 // mA per light when at max brightness.
-
-// Scale brightnes according to BRIGHTNESS_CORRECTION_TABLE in quantum/rgblight.c.
-// This allows to mitigate uneven brightness from LED underglow strips.
-// #define LED_BRIGHTNESS_CORRECTION
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
deleted file mode 100644
index 21cb2cd73f..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-// Default layout for Zeal60
-#include QMK_KEYBOARD_H
-
-// For readability.
-#define _x_ KC_NO
-#define AUD_PRV LCTL(KC_MPRV) // Previous music track
-#define AUD_PLY LCTL(KC_MPLY) // Pause music
-#define AUD_NXT LCTL(KC_MNXT) // Next music track
-
-// Zeal60-specific keys:
-// EF_INC, EF_DEC, // next/previous backlight effect
-// H1_INC, H1_DEC, // Color 1 hue increase/decrease
-// S1_INC, S1_DEC, // Color 1 saturation increase/decrease
-// H2_INC, H2_DEC, // Color 2 hue increase/decrease
-// S2_INC, S2_DEC, // Color 2 saturation increase/decrease
-// BR_INC, BR_DEC, // backlight brightness increase/decrease
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// Default layer: Pressing caps-lock momentarily switches to Layer 1.
-// This is the default layer. Pressing an empty keycode on another layer will take you here.
- [0] = {
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS},
- {MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _x_ },
- {KC_LSFT, _x_ , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _x_ },
- {KC_LCTL, KC_LGUI, KC_LALT, _x_ , _x_ , _x_ , _x_ , KC_SPC, _x_ , _x_ , KC_LEFT, KC_UP, KC_DOWN, KC_RGHT}
- },
-
-// Layer 1: Pressing enter switches to layer 2, where backlight controls live.
-// This is a momentary layer: once you let go of caps, you'll be back in layer 1.
- [1] = {
- {KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL },
- {_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_DEL, _______},
- {_______, AUD_PRV, AUD_PLY, AUD_NXT, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) , _x_ },
- {KC_CAPS, _x_ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _x_ },
- {KC_RCTL, KC_RGUI, KC_RALT, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , KC_HOME, KC_PGUP, KC_PGDN, KC_END}
- },
-
-// Layer 2: Zeal60 and backlight configuration. (Get here quickly by pressing Caps+Enter from Layer 1.)
-// This is a persistent layer. Get back to the default layer by pressing enter.
- [2] = {
- {QK_BOOT, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______},
- {_______, H1_DEC, H1_INC, S1_DEC, S1_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, H2_DEC, H2_INC, S2_DEC, S2_INC, _______, _______, _______, _______, _______, _______, _______, TO(0) , _x_ },
- {RGB_MOD, _x_ , RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _x_ },
- {RGB_TOG, RGB_VAD, RGB_VAI, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , _______, _______, _______, _______}
- }
-};
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk b/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk
deleted file mode 100644
index 762905da03..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk
+++ /dev/null
@@ -1,6 +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
-#
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no # Underglow cannot be used with audio.
diff --git a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c b/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c
deleted file mode 100644
index a74ec35701..0000000000
--- a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright 2017 Kyle Peatt <kpeatt@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 ______ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- * |-----------------------------------------------------------------------------------------+
- * | Caps/FN | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | GUI | Alt | Space | Alt | GUI | Ctrl | Fn |
- * `-----------------------------------------------------------------------------------------'
- */
-
- [0] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS,
- LT(1, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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, KC_RALT,KC_RGUI, KC_RCTL, MO(1)
- ),
-
- /* FN Layer
- * ,-----------------------------------------------------------------------------------------.
- * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
- * |-----------------------------------------------------------------------------------------+
- * | | | Up | | | | | | | |RGBMOD| Val+| Val- |RBGTOG|
- * |-----------------------------------------------------------------------------------------+
- * | | Left| Down|Right| | | | | Sat+| Sat-| Hue+| Hue-| |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | | | |
- * `-----------------------------------------------------------------------------------------'
- */
-
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ______,
- ______,______,KC_UP,______,______,______,______,______,______,______,RGB_MOD,RGB_VAI,RGB_VAD,RGB_TOG,
- ______,KC_LEFT,KC_DOWN,KC_RGHT,______, ______, ______,______,RGB_SAI,RGB_SAD,RGB_HUI,RGB_HUD,______,
- ______,______,______,______,______, ______, ______,______,______,______,______, ______,
- ______,______,______, ______, ______,______,______,______
- ),
- /* You can copy this layer as base for a new fn layer * /
- [n] = LAYOUT_60_ansi(
- ______,______,______,______,______,______,______,______,______,______,______,______,______,______,
- ______,______,______,______,______,______,______,______,______,______,______,______,______,______,
- ______,______,______,______,______,______,______,______,______,______,______,______,______,
- ______,______,______,______,______,______,______,______,______,______,______, ______,
- ______,______,______, ______, ______,______,______,______
- ), // */
-};
diff --git a/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md b/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md
deleted file mode 100644
index a7eef1e5fc..0000000000
--- a/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-kpeatt's bface layout
-======================
-
-## Keyboard Notes
-- This is for a clone bface PCB that is no longer for sale as far as I can tell. [Used to be sold on KBDFans](https://www.aliexpress.com/item/bface-60-RGB-underground-copy-pcb-from-china-gh60-pcb-Customize-keyboard-PCB/32731084597.html).
-- To put in reset mode hold `left ctrl` while inserting the USB cable
-- Use flashing instructions in the main `bface` directory
-
-### Build
-To build this keymap, run `make bface:kpeatt` from the qmk_firmware directory.
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/README.md b/keyboards/winkeyless/bface/keymaps/p3lim/README.md
deleted file mode 100644
index 94e84e7f22..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# p3lim's b.face layout
-
-![](https://user-images.githubusercontent.com/26496/61170794-bf8a2c80-a56e-11e9-893f-f1766e7a9a04.png)
-
-My layout using the winkeyless b.face X2 PCB.
-
-### Building & Flashing
-
-- Set up QMK
- - `pip install --user qmk`
- - `qmk setup`
-- Add udev rules if on Linux
- - Follow the docs: <https://docs.qmk.fm/#/faq_build?id=linux-udev-rules>
-- Build and flash
- - `qmk flash -kb winkeyless/bface -km p3lim`
-- Hold bottom-left key while connecting to put in flashing mode
-
-### Layout notes
-
-The keys indicated with a gray color in the image above was not supported by the layout so a custom matrix was made.
-The two additional keys were on pins 22+41 and 22+42, C3+B1 and C3+B2, which is mapped to col 10 row 1 and col 10 row 2 in the matrix.
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c b/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c
deleted file mode 100644
index f702810f9c..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
-Copyright 2019-2021 Adrian L Lange <legal@p3lim.net>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#define LAYOUT_p3lim(\
- K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, \
- K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, \
- K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KB2, KC2, KD2, \
- K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KB1, KC1, \
- K00, K10, K20, K56, K57, KB0, KC0 \
-){ \
- { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB0, KC0, KC_NO, KC_NO }, \
- { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KA1, KB1, KC1, KC_NO, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, KC_NO, KC_NO, KA2, KB2, KC2, KD2, KC_NO }, \
- { K03, K13, K23, K33, K43, K53, KC_NO, KC_NO, KC_NO, KC_NO, KA3, KB3, KC3, KC_NO, KC_NO }, \
- { K04, K14, K24, K34, K44, K54, KC_NO, KC_NO, KC_NO, KC_NO, KA4, KB4, KC4, KC_NO, KE4 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { KC_NO, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB6, KC6, KD6, KE6 }, \
- { KC_NO, K17, K27, K37, K47, K57, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB7, KC7, KD7, KE7 } \
-}
-
-enum my_keycodes {
- C_ESC0 = SAFE_RANGE, // layer 0 esc
- C_ESC1, // layer 1 esc
- C_NO1, // æ, requires RCTL to be a compose key in software
- C_NO2, // ø, requires RCTL to be a compose key in software
- C_NO3 // å, requires RCTL to be a compose key in software
-};
-
-// use compiler macros for simpler stuff
-#define C_KVM1 LCA(KC_1)
-#define C_KVM2 LCA(KC_2)
-#define C_KVM3 LCA(KC_3)
-#define C_KVM4 LCA(KC_4)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* QWERTY
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | |
- * |---------------------------------------------------------------------------------| Enter |
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Del |
- * |-----------------------------------------------------------------------------------------+
- * | FN1 | Alt | GUI | Space | FN2 | Alt | Ctrl |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_p3lim(
- C_ESC0, KC_1, KC_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
- MO(1), KC_LALT, KC_LGUI, KC_SPC, MO(2), KC_RGUI, KC_RCTL
- ),
-
- /* FN1
- * ,-----------------------------------------------------------------------------------------.
- * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
- * |-----------------------------------------------------------------------------------------+
- * | Caps | Home| Up | End | PgUp| | | | | | | | | |
- * |---------------------------------------------------------------------------------| |
- * | | Left| Down|Right| PgDn|PrtSc| | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | KVM1| KVM2| KVM3| KVM4| | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | |
- * `-----------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_p3lim(
- C_ESC1, KC_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_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, C_KVM1, C_KVM2, C_KVM3, C_KVM4, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_NO, _______, _______
- ),
-
- /* FN2
- * ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | | | | | | Ã… | | |
- * |---------------------------------------------------------------------------------| |
- * | | | | | | | | | | | Ø | Æ | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | |
- * `-----------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_p3lim(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_NO3, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_NO2, C_NO1, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_NO, _______, _______, _______, _______, _______, _______
- ),
- /*
- [n] = LAYOUT_p3lim(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-static bool grave_esc_shifted = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record){
- const uint8_t mods = get_mods();
- uint8_t shifted = mods & MOD_MASK_SHIFT;
-
- switch(keycode){
- case C_ESC0: // layer 0
- if(record->event.pressed){
- grave_esc_shifted = shifted;
- register_code(shifted ? KC_GRAVE : KC_ESCAPE);
- } else
- unregister_code(grave_esc_shifted ? KC_GRAVE : KC_ESCAPE);
- return false;
- case C_ESC1: // layer 1
- if(record->event.pressed){
- grave_esc_shifted = shifted;
- register_code(shifted ? KC_ESCAPE : KC_GRAVE);
- } else
- unregister_code(grave_esc_shifted ? KC_ESCAPE : KC_GRAVE);
- return false;
- case C_NO1: // æ
- if(record->event.pressed){
- // we use shift for A and E to make it capitalized, no need to handle it here
- tap_code(KC_RCTL);
- tap_code(KC_A);
- tap_code(KC_E);
- }
- return false;
- case C_NO2: // ø
- // the "/" symbol can't be shifted, so we have to deal with that
- if(record->event.pressed){
- if(shifted){
- unregister_code(KC_LSFT); // reset the shift state, I always use LSFT personally
- tap_code(KC_RCTL);
- tap_code(KC_SLSH);
- tap_code16(S(KC_O));
- register_code(KC_LSFT); // enable the shift state again to keep state consistent
- } else {
- tap_code(KC_RCTL);
- tap_code(KC_SLSH);
- tap_code(KC_O);
- }
- }
- return false;
- case C_NO3: // å
- // the "o" symbol can't be shifted, so we have to deal with that
- if(record->event.pressed){
- if(shifted){
- unregister_code(KC_LSFT); // reset the shift state, I always use LSFT personally
- tap_code(KC_RCTL);
- tap_code(KC_O);
- tap_code16(S(KC_A));
- register_code(KC_LSFT); // enable the shift state again to keep state consistent
- } else {
- tap_code(KC_RCTL);
- tap_code(KC_O);
- tap_code(KC_A);
- }
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk b/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk
deleted file mode 100644
index e0ed6f0c2d..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h
index 4a3c8c3e27..7bb818d273 100644
--- a/keyboards/winry/winry315/config.h
+++ b/keyboards/winry/winry315/config.h
@@ -3,78 +3,4 @@
#pragma once
-// clang-format on
-
-// RGB Matrix configuration.
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 27
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-
-# define RGB_MATRIX_CENTER \
- { 35, 35 }
-
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// This option is required for the TYPING_HEATMAP and DIGITAL_RAIN effects,
-// both of which are disabled below, so the common support for those effects is
-// disabled too.
-# undef RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// This option is required for reactive effects; disabling this option will
-// implicitly disable all of them.
-# define RGB_MATRIX_KEYPRESSES
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
+#define RGB_MATRIX_LED_COUNT 27
diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json
index 98bb376ba2..a7d71aca46 100644
--- a/keyboards/winry/winry315/info.json
+++ b/keyboards/winry/winry315/info.json
@@ -9,7 +9,51 @@
"vid": "0xF1F1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [35, 35],
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true
},
"rgblight": {
"saturation_steps": 8,
diff --git a/keyboards/wolf/m60_b/config.h b/keyboards/wolf/m60_b/config.h
deleted file mode 100644
index a0d44d48e3..0000000000
--- a/keyboards/wolf/m60_b/config.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-Copyright 2020 <contact@vwolf.be>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-/* Define RGB */
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGB_MATRIX_LED_COUNT 62
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
-// different from the physical layout; it also has problems when underglow
-// LEDs are present, or when multiple LEDs are associated with the same key.
-#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// is defined. Both of these effects currently don't work properly when the
-// key matrix does not match the physical layout, so they are disabled.
-#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// Reactive effects; can be enabled only if at least one of
-// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
diff --git a/keyboards/wolf/m60_b/info.json b/keyboards/wolf/m60_b/info.json
index 2c3b4a3b0d..6d39d0bbf8 100644
--- a/keyboards/wolf/m60_b/info.json
+++ b/keyboards/wolf/m60_b/info.json
@@ -23,6 +23,50 @@
},
"processor": "atmega32u4",
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [2, 0], "x": 7, "y": 32},
@@ -87,7 +131,9 @@
{"flags": 4, "matrix": [0, 12], "x": 209, "y": 0},
{"flags": 4, "matrix": [2, 12], "x": 227, "y": 0},
{"flags": 4, "matrix": [0, 13], "x": 244, "y": 0}
- ]
+ ],
+ "max_brightness": 120,
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/wolf/m6_c/config.h b/keyboards/wolf/m6_c/config.h
deleted file mode 100644
index d5f391bcdd..0000000000
--- a/keyboards/wolf/m6_c/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2023 contact@vwolf.be
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 6
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL \ No newline at end of file
diff --git a/keyboards/wolf/m6_c/info.json b/keyboards/wolf/m6_c/info.json
index ff83a95164..f6f2416902 100644
--- a/keyboards/wolf/m6_c/info.json
+++ b/keyboards/wolf/m6_c/info.json
@@ -25,7 +25,6 @@
"driver": "ws2812",
"max_brightness": 120,
"animations": {
- "solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -70,6 +69,9 @@
"solid_splash": true,
"solid_multisplash": true
},
+ "default": {
+ "animation": "cycle_all"
+ },
"layout": [
{ "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [0, 1], "x": 122, "y": 0 },
@@ -77,7 +79,8 @@
{ "flags": 4, "matrix": [1, 2], "x": 244, "y": 64 },
{ "flags": 4, "matrix": [1, 1], "x": 122, "y": 64 },
{ "flags": 4, "matrix": [1, 0], "x": 0, "y": 64 }
- ]
+ ],
+ "sleep": true
},
"url": "",
"usb": {
diff --git a/keyboards/wolf/ts60/config.h b/keyboards/wolf/ts60/config.h
deleted file mode 100644
index 81e0b787cb..0000000000
--- a/keyboards/wolf/ts60/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2020 <me@homedrop.org>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
-
-#define BACKLIGHT_DEFAULT_LEVEL 6
diff --git a/keyboards/wolf/ts60/info.json b/keyboards/wolf/ts60/info.json
index 5e883d2bf1..8f6d9318ea 100644
--- a/keyboards/wolf/ts60/info.json
+++ b/keyboards/wolf/ts60/info.json
@@ -31,6 +31,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"ws2812": {
diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h
index 28c506d867..25d390cecf 100644
--- a/keyboards/work_louder/loop/config.h
+++ b/keyboards/work_louder/loop/config.h
@@ -19,65 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DI_PIN E6
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
-#define RGBLIGHT_DEFAULT_HUE 36
-
-#define RGB_MATRIX_LED_COUNT 9
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/*
* Feature disable options
diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json
index eacbbbccbd..3c395e057a 100644
--- a/keyboards/work_louder/loop/info.json
+++ b/keyboards/work_louder/loop/info.json
@@ -9,7 +9,42 @@
"max_power": 100
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B3", "B2", "B1", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
@@ -30,6 +65,7 @@
"pin": "F1"
},
"rgblight": {
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
@@ -41,6 +77,9 @@
"christmas": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 36
}
},
"processor": "atmega32u4",
diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h
index 98f2b86973..733b226f69 100644
--- a/keyboards/work_louder/micro/config.h
+++ b/keyboards/work_louder/micro/config.h
@@ -3,63 +3,10 @@
#pragma once
-
-#define RGB_MATRIX_LED_COUNT 12
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define RGB_MATRIX_DISABLE_KEYCODES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_MATRIX_KEYPRESSES
#define RGBLIGHT_DI_PIN D2
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9
-#define RGBLIGHT_DEFAULT_HUE 213
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/* disable debug print */
//#define NO_DEBUG
diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json
index d76e7aa049..1b57ca82e8 100644
--- a/keyboards/work_louder/micro/info.json
+++ b/keyboards/work_louder/micro/info.json
@@ -21,6 +21,7 @@
},
"processor": "atmega32u4",
"rgblight": {
+ "driver": "custom",
"animations": {
"alternating": false,
"breathing": true,
@@ -33,6 +34,9 @@
"static_gradient": true,
"twinkle": true
},
+ "default": {
+ "hue": 213
+ },
"brightness_steps": 8,
"hue_steps": 8,
"led_count": 8,
@@ -44,7 +48,42 @@
"pin": "D1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true
},
"url": "https://worklouder.cc/",
"usb": {
diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h
index 22c6f7b1bd..e50f6a7e43 100644
--- a/keyboards/work_louder/nano/config.h
+++ b/keyboards/work_louder/nano/config.h
@@ -19,64 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DI_PIN C7
-#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
-#define RGBLIGHT_DEFAULT_HUE 170
-
-#define RGB_MATRIX_LED_COUNT 2
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
/*
* Feature disable options
diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json
index ab064bd019..61c48b3e80 100644
--- a/keyboards/work_louder/nano/info.json
+++ b/keyboards/work_louder/nano/info.json
@@ -10,7 +10,42 @@
"max_power": 100
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B5", "B6", "C6"],
@@ -27,6 +62,7 @@
},
"rgblight": {
"led_count": 6,
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
@@ -38,6 +74,9 @@
"christmas": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 170
}
},
"bootmagic": {
diff --git a/keyboards/work_louder/numpad/config.h b/keyboards/work_louder/numpad/config.h
index f6a70b90b0..f7d0039653 100644
--- a/keyboards/work_louder/numpad/config.h
+++ b/keyboards/work_louder/numpad/config.h
@@ -19,60 +19,7 @@
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-#define RGB_MATRIX_LED_COUNT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define RGB_MATRIX_DISABLE_KEYCODES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-
#define RGBLIGHT_DI_PIN D2
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9
-#define RGBLIGHT_DEFAULT_HUE 213
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/work_louder/numpad/info.json b/keyboards/work_louder/numpad/info.json
index 0fa2bf2565..bd615c4080 100644
--- a/keyboards/work_louder/numpad/info.json
+++ b/keyboards/work_louder/numpad/info.json
@@ -29,6 +29,39 @@
"lto": true
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 1, "matrix": [3, 3], "x": 141, "y": 64},
@@ -47,9 +80,12 @@
{"flags": 4, "matrix": [0, 1], "x": 103, "y": 7},
{"flags": 4, "matrix": [0, 2], "x": 122, "y": 7},
{"flags": 4, "matrix": [0, 3], "x": 141, "y": 7}
- ]
+ ],
+ "max_brightness": 150,
+ "sleep": true
},
"rgblight": {
+ "driver": "custom",
"animations": {
"breathing": true,
"knight": true,
@@ -59,6 +95,9 @@
"static_gradient": true,
"twinkle": true
},
+ "default": {
+ "hue": 213
+ },
"brightness_steps": 8,
"hue_steps": 8,
"led_count": 8,
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index b4d1a2ad72..9b39555971 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -24,9 +24,9 @@
#include "ws2812_bitbang.c"
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
- ws2812_setleds(start_led, num_leds);
-}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = ws2812_setleds,
+};
#endif
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h
index de91d98de9..57f309513b 100644
--- a/keyboards/work_louder/work_board/config.h
+++ b/keyboards/work_louder/work_board/config.h
@@ -20,67 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DI_PIN D2
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9
-#define RGBLIGHT_DEFAULT_HUE 213
#define RGB_MATRIX_LED_COUNT 49
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_MATRIX_KEYPRESSES
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
-#define RGB_MATRIX_DEFAULT_HUE 191 // Sets the default hue value, if none has been set
/*
* Feature disable options
diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json
index 1946b8bcf4..8714133ae7 100644
--- a/keyboards/work_louder/work_board/info.json
+++ b/keyboards/work_louder/work_board/info.json
@@ -9,7 +9,44 @@
"max_power": 100
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "default": {
+ "animation": "solid_color",
+ "hue": 191
+ },
+ "driver": "ws2812",
+ "max_brightness": 120,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"],
@@ -25,6 +62,7 @@
"pin": "D1"
},
"rgblight": {
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
@@ -36,6 +74,9 @@
"christmas": true,
"static_gradient": true,
"twinkle": true
+ },
+ "default": {
+ "hue": 213
}
},
"processor": "atmega32u4",
diff --git a/keyboards/wren/keymaps/walterhanley/config.h b/keyboards/wren/keymaps/walterhanley/config.h
deleted file mode 100644
index 3dd5b47c16..0000000000
--- a/keyboards/wren/keymaps/walterhanley/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 Walter Hanley
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// Lower board power consumption to boost compatibility
-#define USB_MAX_POWER_CONSUMPTION 250
diff --git a/keyboards/wren/keymaps/walterhanley/keymap.c b/keyboards/wren/keymaps/walterhanley/keymap.c
deleted file mode 100644
index bf6afc9ac6..0000000000
--- a/keyboards/wren/keymaps/walterhanley/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* Copyright 2021 Walter Hanley
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Cmd-tab tablesetting
-bool is_cmd_tab_active = false;
-uint16_t cmd_tab_timer = 0;
-
-// Alt-tab tablesetting
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-
-// Defines keycode alias
-#define ECTL LCTL_T(KC_ESC)
-#define EGUI LGUI_T(KC_ESC)
-#define DELSYM LT(_SYMBOL, KC_DEL)
-#define SCLNAV LT(_NAV, KC_SCLN)
-#define TGNLCK TG(_NLCK)
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _MAC,
- _WIN,
- _NLCK,
- _SYMBOL,
- _NAV
-};
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- NSEAL = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Mac */
- [_MAC] = LAYOUT(
- KC_PSLS, KC_7, KC_8, KC_9, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NO,
- KC_PAST, KC_4, KC_5, KC_6, 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_DEL, KC_END, KC_PGDN, KC_NO,
- KC_PMNS, KC_1, KC_2, KC_3, ECTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLNAV, KC_QUOT, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_PPLS, KC_0, KC_DOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- TGNLCK, KC_LALT, KC_LGUI, KC_BSPC, KC_ENT, KC_SPC, DELSYM, KC_RGUI, KC_RALT, KC_MUTE
- ),
-
- /* Windows */
- [_WIN] = LAYOUT(
- KC_PSLS, KC_7, KC_8, KC_9, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NO,
- KC_PAST, KC_4, KC_5, KC_6, 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_DEL, KC_END, KC_PGDN, KC_NO,
- KC_PMNS, KC_1, KC_2, KC_3, EGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLNAV, KC_QUOT, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_PPLS, KC_0, KC_DOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- TGNLCK, KC_LALT, KC_LCTL, KC_BSPC, KC_ENT, KC_SPC, DELSYM, KC_RCTL, KC_RALT, KC_MUTE
- ),
-
- /* In-Keyboard Numlock */
- [_NLCK] = LAYOUT(
- KC_PSLS, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PAST, KC_LEFT, KC_5, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PMNS, KC_END, KC_DOWN, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PPLS, KC_INS, KC_DOT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- TGNLCK, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Symbols, F-Keys, and Text Macros */
- [_SYMBOL] = LAYOUT(
- NSEAL, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_UNDS, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_MINS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Nav Cluster and Settings*/
- [_NAV] = LAYOUT(
- DF(_MAC), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- DF(_WIN), _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- // Encoder functionality for _MAC layer
- if (IS_LAYER_ON(_MAC))
- {
- if (clockwise) {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LGUI);
- }
- cmd_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- if (!is_cmd_tab_active) {
- is_cmd_tab_active = true;
- register_code(KC_LGUI);
- }
- cmd_tab_timer = timer_read();
- tap_code16(S(KC_TAB));
- }
- }
- // Encoder functionality for _WIN layer
- else if (IS_LAYER_ON(_WIN)) {
- if (clockwise) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- tap_code16(S(KC_TAB));
- }
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case NSEAL:
- if (record->event.pressed) {
- // when keycode NSEAL is pressed
- SEND_STRING("What the fuck did you just fucking say about me, you little bitch? I'll have you know I graduated top of my class in the Navy Seals, and I've been involved in numerous secret raids on Al-Quaeda, and I have over 300 confirmed kills. I am trained in gorilla warfare and I'm the top sniper in the entire US armed forces. You are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on this Earth, mark my fucking words. You think you can get away with saying that shit to me over the Internet? Think again, fucker. As we speak I am contacting my secret network of spies across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You're fucking dead, kid. I can be anywhere, anytime, and I can kill you in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the United States Marine Corps and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your little 'clever' comment was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You're fucking dead, kiddo.");
- } else {
- // when keycode NSEAL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_cmd_tab_active) {
- if (timer_elapsed(cmd_tab_timer) > 1000) {
- unregister_code(KC_LGUI);
- is_cmd_tab_active = false;
- }
- }
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1000) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
- }
- }
-}
diff --git a/keyboards/wren/keymaps/walterhanley/readme.md b/keyboards/wren/keymaps/walterhanley/readme.md
deleted file mode 100644
index 27e32360dc..0000000000
--- a/keyboards/wren/keymaps/walterhanley/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-![Author's Layout](https://github.com/walterhanley/wren-keyboard/blob/main/images/author-layout.png?raw=true)
-
-# Author's Wren Layout
-
-This is my personal Wren layout, which includes a few layers and macros that
-I find useful. It started as a clone of the default keymap, but will likely
-diverge more as time goes on.
-
-Please note that this layout preserves the entire keyboard matrix, but only
-includes keycodes for a numpad/nav cluster configuration. Depending on your
-configuration, you may need to replace some of the existing KC_NO values
-with actual keycodes.
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/README.md b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/README.md
deleted file mode 100644
index 3e84b4ee60..0000000000
--- a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-## Greetings, Traveler!
-
-This layout is for the [Wuque ikki68 Aurora](https://shop.wuquestudio.com/pages/ikki68-aurora) and is primarily meant for Windows.
-
-The keymap is similar to the default keymap for the Aurora, but it overloads the left alt key to behave like an additional 'Fn' key while keeping the standard functionality of the alt key intact.
-
-### For Example
-```
-LeftAlt + 1...N -> F1...FN
-LeftAlt + L/R Arrows -> Home/End
-LeftAlt + Home -> End
-LeftAlt + Backspace -> Delete
-LeftAlt + Esc -> Backtick (`)
-LeftAlt + Shift + Esc -> Tilde (~)
-LeftAlt + LeftShift + 4 -> Alt+F4
-```
-
-The novel part of this keymap is that it **preserves the default functionality** of the left alt key, so ```'alt + tab', 'ctrl + alt + del', 'alt + f4'```, etc. all work as expected without having to use timers.
-
-Everything also works with other modifier keys, so ```'alt + L/R' and 'alt + shift + L/R'``` work great for text manipulation to select lines.
-
-This **super alt** keymap will feel very familiar for anyone **coming from macOS** since the Windows alt key is in the same position as CMD on macOS keyboards.
-
-And finally, the original alt key functionality can be toggled at any time by pressing ```'Fn + period'``` so for example if a game requires use of the left alt, you can easily turn it off.
-
-### Toggle LED Modes
-You can also cycle though multiple LED modes (underglow, logo, all, none) by pressing ```'Fn + x'``` (the default ikki68 Aurora keymap only supports all or none). The last value set is persisted in EEPROM.
-
-### Compiling/Flashing
-1) After installing QMK MSYS, open the QMK MSYS terminal
-2) Type ```qmk compile -kb wuque/ikki68_aurora -km ewersp``` to test compilation
-3) Type ```qmk flash -kb wuque/ikki68_aurora -km ewersp``` to start flashing
-4) Press ```Fn+Page Up``` to put your keyboard into bootloader mode
- - Note: After installing the keymap, to enter bootloader mode again press and hold ```Fn+B``` for half a second
-5) Wait for the ```Validating... Success``` message to appear and you're done!
- - Note: If it gets stuck on ```Bootloader not found. Trying again every 0.5s...``` you may need to run QMK Toolbox to install/update drivers
-
-If you have any questions, feel free to reach out to me at: ewersp [at] gmail [dot] com.
-
-Enjoy! **<3**
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/config.h b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/config.h
deleted file mode 100644
index 1282334dce..0000000000
--- a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Paul Ewers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should 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 FORCE_NKRO
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c
deleted file mode 100644
index ac47e5888c..0000000000
--- a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* Copyright 2021 Paul Ewers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- ALT_DEL = SAFE_RANGE, // Map left alt + backspace to delete
- LED_TOG // Toggle LED modes
-};
-
-// Friendly layer names
-enum alt_layers {
- DEF = 0,
- ALT,
- MAC,
- FUNC,
- SUPR
-};
-
-// EEPROM storage mode
-enum alt_led_mode {
- LED_MODE_ALL = 0,
- LED_MODE_LOGO,
- LED_MODE_UNDERGLOW,
- LED_MODE_OFF,
- LED_MODE_TOTAL
-};
-
-// EEPROM storage type
-typedef union {
- uint32_t raw;
- struct {
- uint8_t led_mode: 8;
- };
-} user_config_t;
-
-user_config_t user_config;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEF] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, KC_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, MO(SUPR), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(FUNC),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [ALT] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [MAC] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LALT, KC_LGUI, _______, _______, _______, KC_RGUI, _______, KC_RALT, _______, _______, _______
- ),
- [FUNC] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_END, KC_VOLU,
- _______, RGB_HUD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_M_P, _______, _______, _______, KC_BRIU, KC_PAUS, KC_PSCR, _______, _______, KC_MUTE, KC_VOLD,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_SAD, RGB_M_B, _______, _______, _______, KC_BRID, _______, _______, _______,
- _______, _______, RGB_TOG, LED_TOG, _______, EE_CLR, QK_BOOT, _______, _______, TG(MAC), TG(ALT), _______, _______, _______, KC_PGUP,
- _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [SUPR] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ALT_DEL, ALT_DEL, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
- )
-};
-
-// If the super alt layer is the active layer
-bool super_alt_layer_active = false;
-
-// If we need to unregister alt when leaving the super alt layer
-bool need_to_unregister_alt = false;
-
-// This runs code every time that the layers get changed
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case DEF:
- // When returning to the default layer, check if we need to unregister the left alt key
- if (super_alt_layer_active && need_to_unregister_alt) {
- unregister_code(KC_LALT);
- }
- super_alt_layer_active = false;
- need_to_unregister_alt = false;
- break;
- case SUPR:
- super_alt_layer_active = true;
- break;
- }
- return state;
-}
-
-// There is a total of 20 LEDs on the board; the 4 logo LEDs have indices 16, 17, 18, 19
-void update_led_mode(void) {
- rgblight_setrgb(0, 0, 0);
- switch (user_config.led_mode) {
- case LED_MODE_ALL:
- rgblight_set_effect_range(0, RGBLED_NUM);
- rgblight_enable_noeeprom();
- break;
- case LED_MODE_LOGO:
- rgblight_set_effect_range(16, 4);
- rgblight_enable_noeeprom();
- break;
- case LED_MODE_UNDERGLOW:
- rgblight_set_effect_range(0, 16);
- rgblight_enable_noeeprom();
- break;
- case LED_MODE_OFF:
- rgblight_disable_noeeprom();
- break;
- }
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
- update_led_mode();
-}
-
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- user_config.led_mode = LED_MODE_ALL;
- eeconfig_update_user(user_config.raw);
- rgblight_enable();
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- // These are the keys we want to 'fall though' and behave as usual when pressed with the alt modifier
- case KC_A ... KC_Z:
- case KC_TAB:
- case KC_DEL:
- case KC_UP:
- case KC_DOWN:
- case KC_ENT:
- case KC_SPC:
- case MO(FUNC):
- if (super_alt_layer_active && record->event.pressed) {
- // Only activate the alt modifier for the first key press
- if ((get_mods() & MOD_BIT(KC_LALT)) == false) {
- register_code(KC_LALT);
- need_to_unregister_alt = true;
- }
- }
- // We still want to process the keycode normally
- return true;
- case KC_F4:
- // Map alt+shift+4 to alt+f4
- if (super_alt_layer_active && (get_mods() & MOD_BIT(KC_LSFT))) {
- if (record->event.pressed) {
- register_code(KC_LALT);
- } else {
- unregister_code(KC_LALT);
- }
- }
- return true;
- case ALT_DEL:
- if (record->event.pressed) {
- register_code(KC_DEL);
- } else {
- unregister_code(KC_DEL);
- }
- return false;
- case LED_TOG:
- if (record->event.pressed) {
- user_config.led_mode = (user_config.led_mode + 1) % LED_MODE_TOTAL;
- update_led_mode();
- eeconfig_update_user(user_config.raw);
- }
- return false;
- case QK_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case QK_CLEAR_EEPROM:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- eeconfig_init();
- }
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/rules.mk b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/rules.mk
deleted file mode 100644
index 4da205a168..0000000000
--- a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LTO_ENABLE = yes
diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h
index d28ca9eac4..1069259547 100644
--- a/keyboards/xbows/knight/config.h
+++ b/keyboards/xbows/knight/config.h
@@ -15,43 +15,6 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 18
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER \
- { 92, 33 }
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-# define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
-# define DRIVER_1_LED_TOTAL 36
-# define DRIVER_2_LED_TOTAL 35
-# define DRIVER_3_LED_TOTAL 15
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
+#define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
diff --git a/keyboards/xbows/knight/info.json b/keyboards/xbows/knight/info.json
index 7684ca6b39..b110bc6e49 100644
--- a/keyboards/xbows/knight/info.json
+++ b/keyboards/xbows/knight/info.json
@@ -9,7 +9,29 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [92, 33],
+ "driver": "is31fl3731",
+ "led_process_limit": 18,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/knight/knight.c b/keyboards/xbows/knight/knight.c
index 05ff84060c..87a297a5ed 100644
--- a/keyboards/xbows/knight/knight.c
+++ b/keyboards/xbows/knight/knight.c
@@ -15,7 +15,7 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
- const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h
index 433d8d994f..1069259547 100644
--- a/keyboards/xbows/knight_plus/config.h
+++ b/keyboards/xbows/knight_plus/config.h
@@ -15,43 +15,6 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 18
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER \
- { 92, 33 }
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-# define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
-# define DRIVER_1_LED_TOTAL 36
-# define DRIVER_2_LED_TOTAL 35
-# define DRIVER_3_LED_TOTAL 15
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
+#define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
diff --git a/keyboards/xbows/knight_plus/info.json b/keyboards/xbows/knight_plus/info.json
index 695ef03672..d524aed93e 100644
--- a/keyboards/xbows/knight_plus/info.json
+++ b/keyboards/xbows/knight_plus/info.json
@@ -9,7 +9,29 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [92, 33],
+ "driver": "is31fl3731",
+ "led_process_limit": 18,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/knight_plus/knight_plus.c b/keyboards/xbows/knight_plus/knight_plus.c
index b84f6b964b..a5335337f1 100644
--- a/keyboards/xbows/knight_plus/knight_plus.c
+++ b/keyboards/xbows/knight_plus/knight_plus.c
@@ -15,7 +15,7 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
- const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h
index 1710e17c2f..d488c7c9e8 100644
--- a/keyboards/xbows/nature/config.h
+++ b/keyboards/xbows/nature/config.h
@@ -15,45 +15,6 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 18
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER \
- { 92, 33 }
-
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-# define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
-# define DRIVER_1_LED_TOTAL 36
-# define DRIVER_2_LED_TOTAL 36
-# define DRIVER_3_LED_TOTAL 15
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
+#define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
diff --git a/keyboards/xbows/nature/info.json b/keyboards/xbows/nature/info.json
index 892dda8878..af496e6e36 100644
--- a/keyboards/xbows/nature/info.json
+++ b/keyboards/xbows/nature/info.json
@@ -9,7 +9,29 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [92, 33],
+ "driver": "is31fl3731",
+ "led_process_limit": 18,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/nature/nature.c b/keyboards/xbows/nature/nature.c
index 1ba964e453..9fcd40c08c 100644
--- a/keyboards/xbows/nature/nature.c
+++ b/keyboards/xbows/nature/nature.c
@@ -15,7 +15,7 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
- const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h
index df025a850d..0966c03f47 100644
--- a/keyboards/xbows/numpad/config.h
+++ b/keyboards/xbows/numpad/config.h
@@ -15,38 +15,4 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 18
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER \
- { 30, 32 }
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_VCC
-# define RGB_MATRIX_LED_COUNT 22
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_VCC
diff --git a/keyboards/xbows/numpad/info.json b/keyboards/xbows/numpad/info.json
index 2f5f5f4cd8..6ccb05e1b9 100644
--- a/keyboards/xbows/numpad/info.json
+++ b/keyboards/xbows/numpad/info.json
@@ -9,7 +9,29 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [30, 32],
+ "driver": "is31fl3731",
+ "led_process_limit": 18,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["D4", "D6", "B2", "B1"],
diff --git a/keyboards/xbows/numpad/numpad.c b/keyboards/xbows/numpad/numpad.c
index 519a1b36f4..b84f59fbed 100644
--- a/keyboards/xbows/numpad/numpad.c
+++ b/keyboards/xbows/numpad/numpad.c
@@ -15,7 +15,7 @@
*/
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
- const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C3_3, C2_3, C1_3}, // L01
{0, C3_4, C2_4, C1_4}, // L02
diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h
index 92bcfa492c..c9910cb145 100644
--- a/keyboards/xbows/ranger/config.h
+++ b/keyboards/xbows/ranger/config.h
@@ -15,43 +15,6 @@
*/
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_PROCESS_LIMIT 18
-# define RGB_MATRIX_LED_FLUSH_LIMIT 16
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER { 103, 32 }
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
-# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
-# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
-# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
-# define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SDA
-# define DRIVER_1_LED_TOTAL 36
-# define DRIVER_2_LED_TOTAL 36
-# define DRIVER_3_LED_TOTAL 15
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
-
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
+#define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SDA
diff --git a/keyboards/xbows/ranger/info.json b/keyboards/xbows/ranger/info.json
index edbb5fc504..f51d400ee4 100644
--- a/keyboards/xbows/ranger/info.json
+++ b/keyboards/xbows/ranger/info.json
@@ -9,7 +9,29 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_cross": true,
+ "splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [103, 32],
+ "driver": "is31fl3731",
+ "led_process_limit": 18,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "D7", "F6", "F7", "D4", "D5", "D3"],
diff --git a/keyboards/xbows/ranger/ranger.c b/keyboards/xbows/ranger/ranger.c
index 028b5fca5c..1ebb9a127c 100644
--- a/keyboards/xbows/ranger/ranger.c
+++ b/keyboards/xbows/ranger/ranger.c
@@ -17,7 +17,7 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C3_3, C2_3, C1_3}, // L01
{0, C3_4, C2_4, C1_4}, // L02
diff --git a/keyboards/xbows/woody/config.h b/keyboards/xbows/woody/config.h
index 7d06b7abda..82b582bfe1 100644
--- a/keyboards/xbows/woody/config.h
+++ b/keyboards/xbows/woody/config.h
@@ -1,64 +1,4 @@
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// # define ENABLE_RGB_MATRIX_SPLASH
-// # define ENABLE_RGB_MATRIX_MULTISPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-# define DRIVER_1_LED_TOTAL 35
-# define DRIVER_2_LED_TOTAL 32
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
+#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
diff --git a/keyboards/xbows/woody/info.json b/keyboards/xbows/woody/info.json
index 8212f31034..487fc76698 100644
--- a/keyboards/xbows/woody/info.json
+++ b/keyboards/xbows/woody/info.json
@@ -9,7 +9,41 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "is31fl3731"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_val": true,
+ "band_pinwheel_val": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true
+ },
+ "driver": "is31fl3731",
+ "led_flush_limit": 26,
+ "led_process_limit": 4,
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B6", "C6", "C7", "F4", "F5", "F6", "F7", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c
index e58ec15e10..9bfa1fd219 100644
--- a/keyboards/xbows/woody/woody.c
+++ b/keyboards/xbows/woody/woody.c
@@ -1,6 +1,6 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C8_8, C7_8, C6_8}, // LA17
{0, C9_8, C7_7, C6_7}, // LA16
diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h
index 4e6d418f21..81d5dc1e83 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/config.h
+++ b/keyboards/xelus/dawn60/rev1_qmk/config.h
@@ -26,15 +26,10 @@
//RGB Matrix defines
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
+#define IS31FL3731_LED_COUNT 64
-#define DRIVER_1_LED_TOTAL 32
-#define DRIVER_2_LED_TOTAL 32
-#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (IS31FL3731_LED_COUNT + WS2812_LED_TOTAL)
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_KEYPRESSES
-
// enable/disable LEDs based on layout
// switch between split backspace (1) or normal backspace(0)
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1
@@ -45,52 +40,3 @@
// | ? | Shift | Fn | vs | Shift | Up | Fn |
// `------------------' `-------------------'
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/xelus/dawn60/rev1_qmk/info.json b/keyboards/xelus/dawn60/rev1_qmk/info.json
index e32c8c53a8..12d6a5d529 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/info.json
+++ b/keyboards/xelus/dawn60/rev1_qmk/info.json
@@ -3,6 +3,52 @@
"pin": "F0"
},
"rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 80
+ },
"driver": "custom"
},
"matrix_pins": {
diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
index 35ac5a06b2..6b8f91bc2f 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
+++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
@@ -145,22 +145,22 @@ led_config_t g_led_config = { {
//Custom Driver
static void init(void) {
i2c_init();
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_1);
- is31fl3731_init(IS31FL3731_I2C_ADDRESS_2);
+ is31fl3731_init(0);
+ is31fl3731_init(1);
for (int index = 0; index < IS31FL3731_LED_COUNT; index++) {
bool enabled = true;
is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0);
- is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1);
+ is31fl3731_update_led_control_registers(0);
+ is31fl3731_update_led_control_registers(1);
//RGB Underglow ws2812
}
static void flush(void) {
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
- is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
+ is31fl3731_update_pwm_buffers(0);
+ is31fl3731_update_pwm_buffers(1);
ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
}
diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h
index 6e3a51166e..c8b4a6e5b1 100755
--- a/keyboards/xelus/la_plus/config.h
+++ b/keyboards/xelus/la_plus/config.h
@@ -22,59 +22,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-// RGB Matrix
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 32
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
-
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-// #define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
// Custom Startup Animation
// comment out for solid animation
// #define STARTUP_ANIMATION_DOTS
diff --git a/keyboards/xelus/la_plus/info.json b/keyboards/xelus/la_plus/info.json
index be1fa11584..85e4e60215 100644
--- a/keyboards/xelus/la_plus/info.json
+++ b/keyboards/xelus/la_plus/info.json
@@ -12,7 +12,42 @@
"pin": "F1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true
+ },
+ "default": {
+ "animation": "cycle_all",
+ "val": 80
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h
index e12b1af443..6cb40a9fae 100644
--- a/keyboards/xelus/pachi/rgb/rev1/config.h
+++ b/keyboards/xelus/pachi/rgb/rev1/config.h
@@ -38,57 +38,4 @@
// RGB Matrix defines
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-
-#define DRIVER_1_LED_TOTAL 117
-#define IS31FL3741_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT // is31fl3741.h does not set this for custom driver
diff --git a/keyboards/xelus/pachi/rgb/rev1/info.json b/keyboards/xelus/pachi/rgb/rev1/info.json
index 092021b23a..fe88e695be 100644
--- a/keyboards/xelus/pachi/rgb/rev1/info.json
+++ b/keyboards/xelus/pachi/rgb/rev1/info.json
@@ -10,7 +10,56 @@
"force_nkro": true
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all",
+ "val": 80
+ },
+ "driver": "custom",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C13", "C14", "C15", "H0", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "H1", "B10", "B11"],
diff --git a/keyboards/xelus/pachi/rgb/rev1/rev1.c b/keyboards/xelus/pachi/rgb/rev1/rev1.c
index e43726115e..b45dded891 100644
--- a/keyboards/xelus/pachi/rgb/rev1/rev1.c
+++ b/keyboards/xelus/pachi/rgb/rev1/rev1.c
@@ -29,131 +29,131 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, //A1
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, //A2
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, //A3
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, //A4
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, //A5
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, //A6
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, //A7
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, //A8
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, //A9
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, //A10
- {0, CS9_SW1 , CS8_SW1 , CS7_SW1 }, //A11
- {0, CS6_SW1 , CS5_SW1 , CS4_SW1 }, //A12
- {0, CS3_SW1 , CS2_SW1 , CS1_SW1 }, //A13
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, //A1
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, //A2
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, //A3
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, //A4
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, //A5
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, //A6
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, //A7
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, //A8
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, //A9
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, //A10
+ {0, SW1_CS9 , SW1_CS8 , SW1_CS7 }, //A11
+ {0, SW1_CS6 , SW1_CS5 , SW1_CS4 }, //A12
+ {0, SW1_CS3 , SW1_CS2 , SW1_CS1 }, //A13
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, //B1
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, //B2
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, //B3
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, //B4
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, //B5
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, //B6
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, //B7
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, //B8
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, //B9
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, //B10
- {0, CS9_SW2 , CS8_SW2 , CS7_SW2 }, //B11
- {0, CS6_SW2 , CS5_SW2 , CS4_SW2 }, //B12
- {0, CS3_SW2 , CS2_SW2 , CS1_SW2 }, //B13
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, //B1
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, //B2
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, //B3
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, //B4
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, //B5
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, //B6
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, //B7
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, //B8
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, //B9
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, //B10
+ {0, SW2_CS9 , SW2_CS8 , SW2_CS7 }, //B11
+ {0, SW2_CS6 , SW2_CS5 , SW2_CS4 }, //B12
+ {0, SW2_CS3 , SW2_CS2 , SW2_CS1 }, //B13
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, //C1
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, //C2
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, //C3
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, //C4
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, //C5
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, //C6
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, //C7
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, //C8
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, //C9
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, //C10
- {0, CS9_SW3 , CS8_SW3 , CS7_SW3 }, //C11
- {0, CS6_SW3 , CS5_SW3 , CS4_SW3 }, //C12
- {0, CS3_SW3 , CS2_SW3 , CS1_SW3 }, //C13
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, //C1
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, //C2
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, //C3
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, //C4
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, //C5
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, //C6
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, //C7
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, //C8
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, //C9
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, //C10
+ {0, SW3_CS9 , SW3_CS8 , SW3_CS7 }, //C11
+ {0, SW3_CS6 , SW3_CS5 , SW3_CS4 }, //C12
+ {0, SW3_CS3 , SW3_CS2 , SW3_CS1 }, //C13
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, //D1
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, //D2
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, //D3
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, //D4
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, //D5
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, //D6
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, //D7
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, //D8
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, //D9
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, //D10
- {0, CS9_SW4 , CS8_SW4 , CS7_SW4 }, //D11
- {0, CS6_SW4 , CS5_SW4 , CS4_SW4 }, //D12
- {0, CS3_SW4 , CS2_SW4 , CS1_SW4 }, //D13
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, //D1
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, //D2
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, //D3
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, //D4
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, //D5
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, //D6
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, //D7
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, //D8
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, //D9
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, //D10
+ {0, SW4_CS9 , SW4_CS8 , SW4_CS7 }, //D11
+ {0, SW4_CS6 , SW4_CS5 , SW4_CS4 }, //D12
+ {0, SW4_CS3 , SW4_CS2 , SW4_CS1 }, //D13
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, //E1
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, //E2
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, //E3
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, //E4
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, //E5
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, //E6
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, //E7
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, //E8
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, //E9
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, //E10
- {0, CS9_SW5 , CS8_SW5 , CS7_SW5 }, //E11
- {0, CS6_SW5 , CS5_SW5 , CS4_SW5 }, //E12
- {0, CS3_SW5 , CS2_SW5 , CS1_SW5 }, //E13
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, //E1
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, //E2
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, //E3
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, //E4
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, //E5
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, //E6
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, //E7
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, //E8
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, //E9
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, //E10
+ {0, SW5_CS9 , SW5_CS8 , SW5_CS7 }, //E11
+ {0, SW5_CS6 , SW5_CS5 , SW5_CS4 }, //E12
+ {0, SW5_CS3 , SW5_CS2 , SW5_CS1 }, //E13
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, //F1
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, //F2
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, //F3
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, //F4
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, //F5
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, //F6
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, //F7
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, //F8
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, //F9
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, //F10
- {0, CS9_SW6 , CS8_SW6 , CS7_SW6 }, //F11
- {0, CS6_SW6 , CS5_SW6 , CS4_SW6 }, //F12
- {0, CS3_SW6 , CS2_SW6 , CS1_SW6 }, //F13
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, //F1
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, //F2
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, //F3
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, //F4
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, //F5
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, //F6
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, //F7
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, //F8
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, //F9
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, //F10
+ {0, SW6_CS9 , SW6_CS8 , SW6_CS7 }, //F11
+ {0, SW6_CS6 , SW6_CS5 , SW6_CS4 }, //F12
+ {0, SW6_CS3 , SW6_CS2 , SW6_CS1 }, //F13
- {0, CS39_SW7, CS38_SW7, CS37_SW7}, //G1
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, //G2
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, //G3
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, //G4
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, //G5
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, //G6
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, //G7
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, //G8
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, //G9
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, //G10
- {0, CS9_SW7 , CS8_SW7 , CS7_SW7 }, //G11
- {0, CS6_SW7 , CS5_SW7 , CS4_SW7 }, //G12
- {0, CS3_SW7 , CS2_SW7 , CS1_SW7 }, //G13
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}, //G1
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, //G2
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, //G3
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, //G4
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, //G5
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, //G6
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, //G7
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, //G8
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, //G9
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, //G10
+ {0, SW7_CS9 , SW7_CS8 , SW7_CS7 }, //G11
+ {0, SW7_CS6 , SW7_CS5 , SW7_CS4 }, //G12
+ {0, SW7_CS3 , SW7_CS2 , SW7_CS1 }, //G13
- {0, CS39_SW8, CS38_SW8, CS37_SW8}, //H1
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, //H2
- {0, CS33_SW8, CS32_SW8, CS31_SW8}, //H3
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, //H4
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, //H5
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, //H6
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, //H7
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, //H8
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, //H9
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, //H10
- {0, CS9_SW8 , CS8_SW8 , CS7_SW8 }, //H11
- {0, CS6_SW8 , CS5_SW8 , CS4_SW8 }, //H12
- {0, CS3_SW8 , CS2_SW8 , CS1_SW8 }, //H13
+ {0, SW8_CS39, SW8_CS38, SW8_CS37}, //H1
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, //H2
+ {0, SW8_CS33, SW8_CS32, SW8_CS31}, //H3
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, //H4
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, //H5
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, //H6
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, //H7
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, //H8
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, //H9
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, //H10
+ {0, SW8_CS9 , SW8_CS8 , SW8_CS7 }, //H11
+ {0, SW8_CS6 , SW8_CS5 , SW8_CS4 }, //H12
+ {0, SW8_CS3 , SW8_CS2 , SW8_CS1 }, //H13
- {0, CS39_SW9, CS38_SW9, CS37_SW9}, //I1
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, //I2
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, //I3
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, //I4
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, //I5
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, //I6
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, //I7
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, //I8
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, //I9
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, //I10
- {0, CS9_SW9 , CS8_SW9 , CS7_SW9 }, //I11
- {0, CS6_SW9 , CS5_SW9 , CS4_SW9 }, //I12
- {0, CS3_SW9 , CS2_SW9 , CS1_SW9 } //I13
+ {0, SW9_CS39, SW9_CS38, SW9_CS37}, //I1
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, //I2
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, //I3
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, //I4
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, //I5
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, //I6
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, //I7
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, //I8
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, //I9
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, //I10
+ {0, SW9_CS9 , SW9_CS8 , SW9_CS7 }, //I11
+ {0, SW9_CS6 , SW9_CS5 , SW9_CS4 }, //I12
+ {0, SW9_CS3 , SW9_CS2 , SW9_CS1 } //I13
};
__attribute__ ((weak))
@@ -188,7 +188,7 @@ led_config_t g_led_config = { {
static void init(void) {
i2c_init();
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_1);
+ is31fl3741_init(0);
for (int index = 0; index < IS31FL3741_LED_COUNT; index++) {
bool enabled = !( ( index == -1+0+13) || //A13
( index == -1+13+3) || //B3
@@ -223,7 +223,7 @@ static void init(void) {
);
is31fl3741_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
}
const rgb_matrix_driver_t rgb_matrix_driver = {
diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h
index f852602705..50f7d6ac1d 100644
--- a/keyboards/xelus/pachi/rgb/rev2/config.h
+++ b/keyboards/xelus/pachi/rgb/rev2/config.h
@@ -38,61 +38,7 @@
// RGB Matrix defines
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-
-#define DRIVER_1_LED_TOTAL 117
-#define IS31FL3741_LED_COUNT DRIVER_1_LED_TOTAL
-
-#define RGB_MATRIX_DEFAULT_VAL 80
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT // is31fl3741.h does not set this for custom driver
// VIA KB level
#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/xelus/pachi/rgb/rev2/info.json b/keyboards/xelus/pachi/rgb/rev2/info.json
index e0b5dc7d1a..ea712b78d8 100644
--- a/keyboards/xelus/pachi/rgb/rev2/info.json
+++ b/keyboards/xelus/pachi/rgb/rev2/info.json
@@ -9,7 +9,54 @@
"device_version": "0.0.2"
},
"rgb_matrix": {
- "driver": "custom"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all",
+ "val": 80
+ },
+ "driver": "custom",
+ "sleep": true
},
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A10", "A9"],
diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c
index 25d1406653..f595e889c3 100644
--- a/keyboards/xelus/pachi/rgb/rev2/rev2.c
+++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c
@@ -29,131 +29,131 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, CS39_SW1, CS38_SW1, CS37_SW1}, //A1
- {0, CS36_SW1, CS35_SW1, CS34_SW1}, //A2
- {0, CS33_SW1, CS32_SW1, CS31_SW1}, //A3
- {0, CS30_SW1, CS29_SW1, CS28_SW1}, //A4
- {0, CS27_SW1, CS26_SW1, CS25_SW1}, //A5
- {0, CS24_SW1, CS23_SW1, CS22_SW1}, //A6
- {0, CS21_SW1, CS20_SW1, CS19_SW1}, //A7
- {0, CS18_SW1, CS17_SW1, CS16_SW1}, //A8
- {0, CS15_SW1, CS14_SW1, CS13_SW1}, //A9
- {0, CS12_SW1, CS11_SW1, CS10_SW1}, //A10
- {0, CS9_SW1 , CS8_SW1 , CS7_SW1 }, //A11
- {0, CS6_SW1 , CS5_SW1 , CS4_SW1 }, //A12
- {0, CS3_SW1 , CS2_SW1 , CS1_SW1 }, //A13
-
- {0, CS39_SW2, CS38_SW2, CS37_SW2}, //B1
- {0, CS36_SW2, CS35_SW2, CS34_SW2}, //B2
- {0, CS33_SW2, CS32_SW2, CS31_SW2}, //B3
- {0, CS30_SW2, CS29_SW2, CS28_SW2}, //B4
- {0, CS27_SW2, CS26_SW2, CS25_SW2}, //B5
- {0, CS24_SW2, CS23_SW2, CS22_SW2}, //B6
- {0, CS21_SW2, CS20_SW2, CS19_SW2}, //B7
- {0, CS18_SW2, CS17_SW2, CS16_SW2}, //B8
- {0, CS15_SW2, CS14_SW2, CS13_SW2}, //B9
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, //B10
- {0, CS9_SW2 , CS8_SW2 , CS7_SW2 }, //B11
- {0, CS6_SW2 , CS5_SW2 , CS4_SW2 }, //B12
- {0, CS3_SW2 , CS2_SW2 , CS1_SW2 }, //B13
-
- {0, CS39_SW3, CS38_SW3, CS37_SW3}, //C1
- {0, CS36_SW3, CS35_SW3, CS34_SW3}, //C2
- {0, CS33_SW3, CS32_SW3, CS31_SW3}, //C3
- {0, CS30_SW3, CS29_SW3, CS28_SW3}, //C4
- {0, CS27_SW3, CS26_SW3, CS25_SW3}, //C5
- {0, CS24_SW3, CS23_SW3, CS22_SW3}, //C6
- {0, CS21_SW3, CS20_SW3, CS19_SW3}, //C7
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, //C8
- {0, CS15_SW3, CS14_SW3, CS13_SW3}, //C9
- {0, CS12_SW3, CS11_SW3, CS10_SW3}, //C10
- {0, CS9_SW3 , CS8_SW3 , CS7_SW3 }, //C11
- {0, CS6_SW3 , CS5_SW3 , CS4_SW3 }, //C12
- {0, CS3_SW3 , CS2_SW3 , CS1_SW3 }, //C13
-
- {0, CS39_SW4, CS38_SW4, CS37_SW4}, //D1
- {0, CS36_SW4, CS35_SW4, CS34_SW4}, //D2
- {0, CS33_SW4, CS32_SW4, CS31_SW4}, //D3
- {0, CS30_SW4, CS29_SW4, CS28_SW4}, //D4
- {0, CS27_SW4, CS26_SW4, CS25_SW4}, //D5
- {0, CS24_SW4, CS23_SW4, CS22_SW4}, //D6
- {0, CS21_SW4, CS20_SW4, CS19_SW4}, //D7
- {0, CS18_SW4, CS17_SW4, CS16_SW4}, //D8
- {0, CS15_SW4, CS14_SW4, CS13_SW4}, //D9
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, //D10
- {0, CS9_SW4 , CS8_SW4 , CS7_SW4 }, //D11
- {0, CS6_SW4 , CS5_SW4 , CS4_SW4 }, //D12
- {0, CS3_SW4 , CS2_SW4 , CS1_SW4 }, //D13
-
- {0, CS39_SW5, CS38_SW5, CS37_SW5}, //E1
- {0, CS36_SW5, CS35_SW5, CS34_SW5}, //E2
- {0, CS33_SW5, CS32_SW5, CS31_SW5}, //E3
- {0, CS30_SW5, CS29_SW5, CS28_SW5}, //E4
- {0, CS27_SW5, CS26_SW5, CS25_SW5}, //E5
- {0, CS24_SW5, CS23_SW5, CS22_SW5}, //E6
- {0, CS21_SW5, CS20_SW5, CS19_SW5}, //E7
- {0, CS18_SW5, CS17_SW5, CS16_SW5}, //E8
- {0, CS15_SW5, CS14_SW5, CS13_SW5}, //E9
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, //E10
- {0, CS9_SW5 , CS8_SW5 , CS7_SW5 }, //E11
- {0, CS6_SW5 , CS5_SW5 , CS4_SW5 }, //E12
- {0, CS3_SW5 , CS2_SW5 , CS1_SW5 }, //E13
-
- {0, CS39_SW6, CS38_SW6, CS37_SW6}, //F1
- {0, CS36_SW6, CS35_SW6, CS34_SW6}, //F2
- {0, CS33_SW6, CS32_SW6, CS31_SW6}, //F3
- {0, CS30_SW6, CS29_SW6, CS28_SW6}, //F4
- {0, CS27_SW6, CS26_SW6, CS25_SW6}, //F5
- {0, CS24_SW6, CS23_SW6, CS22_SW6}, //F6
- {0, CS21_SW6, CS20_SW6, CS19_SW6}, //F7
- {0, CS18_SW6, CS17_SW6, CS16_SW6}, //F8
- {0, CS15_SW6, CS14_SW6, CS13_SW6}, //F9
- {0, CS12_SW6, CS11_SW6, CS10_SW6}, //F10
- {0, CS9_SW6 , CS8_SW6 , CS7_SW6 }, //F11
- {0, CS6_SW6 , CS5_SW6 , CS4_SW6 }, //F12
- {0, CS3_SW6 , CS2_SW6 , CS1_SW6 }, //F13
-
- {0, CS39_SW7, CS38_SW7, CS37_SW7}, //G1
- {0, CS36_SW7, CS35_SW7, CS34_SW7}, //G2
- {0, CS33_SW7, CS32_SW7, CS31_SW7}, //G3
- {0, CS30_SW7, CS29_SW7, CS28_SW7}, //G4
- {0, CS27_SW7, CS26_SW7, CS25_SW7}, //G5
- {0, CS24_SW7, CS23_SW7, CS22_SW7}, //G6
- {0, CS21_SW7, CS20_SW7, CS19_SW7}, //G7
- {0, CS18_SW7, CS17_SW7, CS16_SW7}, //G8
- {0, CS15_SW7, CS14_SW7, CS13_SW7}, //G9
- {0, CS12_SW7, CS11_SW7, CS10_SW7}, //G10
- {0, CS9_SW7 , CS8_SW7 , CS7_SW7 }, //G11
- {0, CS6_SW7 , CS5_SW7 , CS4_SW7 }, //G12
- {0, CS3_SW7 , CS2_SW7 , CS1_SW7 }, //G13
-
- {0, CS39_SW8, CS38_SW8, CS37_SW8}, //H1
- {0, CS36_SW8, CS35_SW8, CS34_SW8}, //H2
- {0, CS33_SW8, CS32_SW8, CS31_SW8}, //H3
- {0, CS30_SW8, CS29_SW8, CS28_SW8}, //H4
- {0, CS27_SW8, CS26_SW8, CS25_SW8}, //H5
- {0, CS24_SW8, CS23_SW8, CS22_SW8}, //H6
- {0, CS21_SW8, CS20_SW8, CS19_SW8}, //H7
- {0, CS18_SW8, CS17_SW8, CS16_SW8}, //H8
- {0, CS15_SW8, CS14_SW8, CS13_SW8}, //H9
- {0, CS12_SW8, CS11_SW8, CS10_SW8}, //H10
- {0, CS9_SW8 , CS8_SW8 , CS7_SW8 }, //H11
- {0, CS6_SW8 , CS5_SW8 , CS4_SW8 }, //H12
- {0, CS3_SW8 , CS2_SW8 , CS1_SW8 }, //H13
-
- {0, CS39_SW9, CS38_SW9, CS37_SW9}, //I1
- {0, CS36_SW9, CS35_SW9, CS34_SW9}, //I2
- {0, CS33_SW9, CS32_SW9, CS31_SW9}, //I3
- {0, CS30_SW9, CS29_SW9, CS28_SW9}, //I4
- {0, CS27_SW9, CS26_SW9, CS25_SW9}, //I5
- {0, CS24_SW9, CS23_SW9, CS22_SW9}, //I6
- {0, CS21_SW9, CS20_SW9, CS19_SW9}, //I7
- {0, CS18_SW9, CS17_SW9, CS16_SW9}, //I8
- {0, CS15_SW9, CS14_SW9, CS13_SW9}, //I9
- {0, CS12_SW9, CS11_SW9, CS10_SW9}, //I10
- {0, CS9_SW9 , CS8_SW9 , CS7_SW9 }, //I11
- {0, CS6_SW9 , CS5_SW9 , CS4_SW9 }, //I12
- {0, CS3_SW9 , CS2_SW9 , CS1_SW9 } //I13
+ {0, SW1_CS39, SW1_CS38, SW1_CS37}, //A1
+ {0, SW1_CS36, SW1_CS35, SW1_CS34}, //A2
+ {0, SW1_CS33, SW1_CS32, SW1_CS31}, //A3
+ {0, SW1_CS30, SW1_CS29, SW1_CS28}, //A4
+ {0, SW1_CS27, SW1_CS26, SW1_CS25}, //A5
+ {0, SW1_CS24, SW1_CS23, SW1_CS22}, //A6
+ {0, SW1_CS21, SW1_CS20, SW1_CS19}, //A7
+ {0, SW1_CS18, SW1_CS17, SW1_CS16}, //A8
+ {0, SW1_CS15, SW1_CS14, SW1_CS13}, //A9
+ {0, SW1_CS12, SW1_CS11, SW1_CS10}, //A10
+ {0, SW1_CS9 , SW1_CS8 , SW1_CS7 }, //A11
+ {0, SW1_CS6 , SW1_CS5 , SW1_CS4 }, //A12
+ {0, SW1_CS3 , SW1_CS2 , SW1_CS1 }, //A13
+
+ {0, SW2_CS39, SW2_CS38, SW2_CS37}, //B1
+ {0, SW2_CS36, SW2_CS35, SW2_CS34}, //B2
+ {0, SW2_CS33, SW2_CS32, SW2_CS31}, //B3
+ {0, SW2_CS30, SW2_CS29, SW2_CS28}, //B4
+ {0, SW2_CS27, SW2_CS26, SW2_CS25}, //B5
+ {0, SW2_CS24, SW2_CS23, SW2_CS22}, //B6
+ {0, SW2_CS21, SW2_CS20, SW2_CS19}, //B7
+ {0, SW2_CS18, SW2_CS17, SW2_CS16}, //B8
+ {0, SW2_CS15, SW2_CS14, SW2_CS13}, //B9
+ {0, SW2_CS12, SW2_CS11, SW2_CS10}, //B10
+ {0, SW2_CS9 , SW2_CS8 , SW2_CS7 }, //B11
+ {0, SW2_CS6 , SW2_CS5 , SW2_CS4 }, //B12
+ {0, SW2_CS3 , SW2_CS2 , SW2_CS1 }, //B13
+
+ {0, SW3_CS39, SW3_CS38, SW3_CS37}, //C1
+ {0, SW3_CS36, SW3_CS35, SW3_CS34}, //C2
+ {0, SW3_CS33, SW3_CS32, SW3_CS31}, //C3
+ {0, SW3_CS30, SW3_CS29, SW3_CS28}, //C4
+ {0, SW3_CS27, SW3_CS26, SW3_CS25}, //C5
+ {0, SW3_CS24, SW3_CS23, SW3_CS22}, //C6
+ {0, SW3_CS21, SW3_CS20, SW3_CS19}, //C7
+ {0, SW3_CS18, SW3_CS17, SW3_CS16}, //C8
+ {0, SW3_CS15, SW3_CS14, SW3_CS13}, //C9
+ {0, SW3_CS12, SW3_CS11, SW3_CS10}, //C10
+ {0, SW3_CS9 , SW3_CS8 , SW3_CS7 }, //C11
+ {0, SW3_CS6 , SW3_CS5 , SW3_CS4 }, //C12
+ {0, SW3_CS3 , SW3_CS2 , SW3_CS1 }, //C13
+
+ {0, SW4_CS39, SW4_CS38, SW4_CS37}, //D1
+ {0, SW4_CS36, SW4_CS35, SW4_CS34}, //D2
+ {0, SW4_CS33, SW4_CS32, SW4_CS31}, //D3
+ {0, SW4_CS30, SW4_CS29, SW4_CS28}, //D4
+ {0, SW4_CS27, SW4_CS26, SW4_CS25}, //D5
+ {0, SW4_CS24, SW4_CS23, SW4_CS22}, //D6
+ {0, SW4_CS21, SW4_CS20, SW4_CS19}, //D7
+ {0, SW4_CS18, SW4_CS17, SW4_CS16}, //D8
+ {0, SW4_CS15, SW4_CS14, SW4_CS13}, //D9
+ {0, SW4_CS12, SW4_CS11, SW4_CS10}, //D10
+ {0, SW4_CS9 , SW4_CS8 , SW4_CS7 }, //D11
+ {0, SW4_CS6 , SW4_CS5 , SW4_CS4 }, //D12
+ {0, SW4_CS3 , SW4_CS2 , SW4_CS1 }, //D13
+
+ {0, SW5_CS39, SW5_CS38, SW5_CS37}, //E1
+ {0, SW5_CS36, SW5_CS35, SW5_CS34}, //E2
+ {0, SW5_CS33, SW5_CS32, SW5_CS31}, //E3
+ {0, SW5_CS30, SW5_CS29, SW5_CS28}, //E4
+ {0, SW5_CS27, SW5_CS26, SW5_CS25}, //E5
+ {0, SW5_CS24, SW5_CS23, SW5_CS22}, //E6
+ {0, SW5_CS21, SW5_CS20, SW5_CS19}, //E7
+ {0, SW5_CS18, SW5_CS17, SW5_CS16}, //E8
+ {0, SW5_CS15, SW5_CS14, SW5_CS13}, //E9
+ {0, SW5_CS12, SW5_CS11, SW5_CS10}, //E10
+ {0, SW5_CS9 , SW5_CS8 , SW5_CS7 }, //E11
+ {0, SW5_CS6 , SW5_CS5 , SW5_CS4 }, //E12
+ {0, SW5_CS3 , SW5_CS2 , SW5_CS1 }, //E13
+
+ {0, SW6_CS39, SW6_CS38, SW6_CS37}, //F1
+ {0, SW6_CS36, SW6_CS35, SW6_CS34}, //F2
+ {0, SW6_CS33, SW6_CS32, SW6_CS31}, //F3
+ {0, SW6_CS30, SW6_CS29, SW6_CS28}, //F4
+ {0, SW6_CS27, SW6_CS26, SW6_CS25}, //F5
+ {0, SW6_CS24, SW6_CS23, SW6_CS22}, //F6
+ {0, SW6_CS21, SW6_CS20, SW6_CS19}, //F7
+ {0, SW6_CS18, SW6_CS17, SW6_CS16}, //F8
+ {0, SW6_CS15, SW6_CS14, SW6_CS13}, //F9
+ {0, SW6_CS12, SW6_CS11, SW6_CS10}, //F10
+ {0, SW6_CS9 , SW6_CS8 , SW6_CS7 }, //F11
+ {0, SW6_CS6 , SW6_CS5 , SW6_CS4 }, //F12
+ {0, SW6_CS3 , SW6_CS2 , SW6_CS1 }, //F13
+
+ {0, SW7_CS39, SW7_CS38, SW7_CS37}, //G1
+ {0, SW7_CS36, SW7_CS35, SW7_CS34}, //G2
+ {0, SW7_CS33, SW7_CS32, SW7_CS31}, //G3
+ {0, SW7_CS30, SW7_CS29, SW7_CS28}, //G4
+ {0, SW7_CS27, SW7_CS26, SW7_CS25}, //G5
+ {0, SW7_CS24, SW7_CS23, SW7_CS22}, //G6
+ {0, SW7_CS21, SW7_CS20, SW7_CS19}, //G7
+ {0, SW7_CS18, SW7_CS17, SW7_CS16}, //G8
+ {0, SW7_CS15, SW7_CS14, SW7_CS13}, //G9
+ {0, SW7_CS12, SW7_CS11, SW7_CS10}, //G10
+ {0, SW7_CS9 , SW7_CS8 , SW7_CS7 }, //G11
+ {0, SW7_CS6 , SW7_CS5 , SW7_CS4 }, //G12
+ {0, SW7_CS3 , SW7_CS2 , SW7_CS1 }, //G13
+
+ {0, SW8_CS39, SW8_CS38, SW8_CS37}, //H1
+ {0, SW8_CS36, SW8_CS35, SW8_CS34}, //H2
+ {0, SW8_CS33, SW8_CS32, SW8_CS31}, //H3
+ {0, SW8_CS30, SW8_CS29, SW8_CS28}, //H4
+ {0, SW8_CS27, SW8_CS26, SW8_CS25}, //H5
+ {0, SW8_CS24, SW8_CS23, SW8_CS22}, //H6
+ {0, SW8_CS21, SW8_CS20, SW8_CS19}, //H7
+ {0, SW8_CS18, SW8_CS17, SW8_CS16}, //H8
+ {0, SW8_CS15, SW8_CS14, SW8_CS13}, //H9
+ {0, SW8_CS12, SW8_CS11, SW8_CS10}, //H10
+ {0, SW8_CS9 , SW8_CS8 , SW8_CS7 }, //H11
+ {0, SW8_CS6 , SW8_CS5 , SW8_CS4 }, //H12
+ {0, SW8_CS3 , SW8_CS2 , SW8_CS1 }, //H13
+
+ {0, SW9_CS39, SW9_CS38, SW9_CS37}, //I1
+ {0, SW9_CS36, SW9_CS35, SW9_CS34}, //I2
+ {0, SW9_CS33, SW9_CS32, SW9_CS31}, //I3
+ {0, SW9_CS30, SW9_CS29, SW9_CS28}, //I4
+ {0, SW9_CS27, SW9_CS26, SW9_CS25}, //I5
+ {0, SW9_CS24, SW9_CS23, SW9_CS22}, //I6
+ {0, SW9_CS21, SW9_CS20, SW9_CS19}, //I7
+ {0, SW9_CS18, SW9_CS17, SW9_CS16}, //I8
+ {0, SW9_CS15, SW9_CS14, SW9_CS13}, //I9
+ {0, SW9_CS12, SW9_CS11, SW9_CS10}, //I10
+ {0, SW9_CS9 , SW9_CS8 , SW9_CS7 }, //I11
+ {0, SW9_CS6 , SW9_CS5 , SW9_CS4 }, //I12
+ {0, SW9_CS3 , SW9_CS2 , SW9_CS1 } //I13
};
__attribute__ ((weak))
@@ -194,7 +194,7 @@ led_config_t g_led_config = { {
static void init(void) {
i2c_init();
- is31fl3741_init(IS31FL3741_I2C_ADDRESS_1);
+ is31fl3741_init(0);
for (int index = 0; index < IS31FL3741_LED_COUNT; index++) {
bool enabled = !( ( index == -1+0+13) || //A13
( index == -1+13+3) || //B3
@@ -229,7 +229,7 @@ static void init(void) {
);
is31fl3741_set_led_control_register(index, enabled, enabled, enabled);
}
- is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
+ is31fl3741_update_led_control_registers(0);
}
const rgb_matrix_driver_t rgb_matrix_driver = {
diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h
index 9a0146172d..f601945a15 100644
--- a/keyboards/xelus/valor/rev2/config.h
+++ b/keyboards/xelus/valor/rev2/config.h
@@ -36,10 +36,6 @@
// I2C EEPROM
#define EEPROM_I2C_24LC64
-/* RGB Matrix */
-#define RGB_MATRIX_LED_COUNT 28
-#define NOP_FUDGE 0.4
-
// RGB PWM
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 2
@@ -52,57 +48,4 @@
#define WS2812_EXTERNAL_PULLUP
// RGB Matrix settings
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_test_mode
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json
index c082afbca2..196c1ad1c4 100644
--- a/keyboards/xelus/valor/rev2/info.json
+++ b/keyboards/xelus/valor/rev2/info.json
@@ -13,7 +13,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 200,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "A13", "B7", "B6", "B5", "B4", "B3", "A15", "A14"],
diff --git a/keyboards/xelus/xs60/hotswap/config.h b/keyboards/xelus/xs60/hotswap/config.h
index 56ecd57ec9..877313776a 100644
--- a/keyboards/xelus/xs60/hotswap/config.h
+++ b/keyboards/xelus/xs60/hotswap/config.h
@@ -40,4 +40,4 @@
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
// Bitbang WS2812
-#define NOP_FUDGE 0.4
+#define WS2812_BITBANG_NOP_FUDGE 0.4
diff --git a/keyboards/xelus/xs60/soldered/config.h b/keyboards/xelus/xs60/soldered/config.h
index 4b7be4d441..5b966800c6 100644
--- a/keyboards/xelus/xs60/soldered/config.h
+++ b/keyboards/xelus/xs60/soldered/config.h
@@ -42,4 +42,4 @@
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
// Bitbang WS2812
-#define NOP_FUDGE 0.4
+#define WS2812_BITBANG_NOP_FUDGE 0.4
diff --git a/keyboards/xiudi/xd004/keymaps/system_and_media/keymap.c b/keyboards/xiudi/xd004/keymaps/system_and_media/keymap.c
deleted file mode 100644
index f87a04e1e4..0000000000
--- a/keyboards/xiudi/xd004/keymaps/system_and_media/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BASE 0 // Base layer
-#define _SYSTEM 1 // System actions
-#define _VOLUME 2 // Volume actions
-
-#define SUPER_ALT_F4_TIMER 300 // Timeout on the super alt-f4 key
-
-/*
- The idea of this is pretty simple: base layer has four action, two of which (the outermost)
- are regular keystrokes on tap, and a momentary layer switch on hold, sending you to layers 1 and 2.
-
- The other bit of customization here is the 'Super Alt F4' which does Alt-F4, and then Enter if tapped
- again SUPER_ALT_F4_TIMER miliseconds after. This lets you Alt-F4 applications, and finally quickly
- double-tap it to Alt-F4+Enter to shut down the PC.
-*/
-
-bool is_alt_f4_active = false;
-uint16_t alt_f4_timer = 0;
-
-enum custom_keycodes { // Make sure have the awesome keycode ready
- SUPER_ALT_F4 = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [_BASE] = LAYOUT_ortho_1x4(LT(_SYSTEM, KC_F5), C(G(KC_LEFT)), C(G(KC_RIGHT)), LT(_VOLUME, KC_F7)),
-
- // 1: System actions
- [_SYSTEM] = LAYOUT_ortho_1x4(_______, SUPER_ALT_F4, G(KC_D), G(KC_L)),
-
- // 2: Volume actions
- [_VOLUME] = LAYOUT_ortho_1x4(KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, _______),
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) { // This will do most of the grunt work with the keycodes.
- case SUPER_ALT_F4:
- if (record->event.pressed) {
- if (!is_alt_f4_active) {
- is_alt_f4_active = true;
- tap_code16(LALT(KC_F4)); // Alt-F4
- } else {
- tap_code(KC_ENTER); // Tap enter
- }
- }
- alt_f4_timer = timer_read();
- break;
- }
- return true;
-}
-
-void matrix_scan_user(void) {
- if (is_alt_f4_active && timer_elapsed(alt_f4_timer) > SUPER_ALT_F4_TIMER) {
- is_alt_f4_active = false;
- }
-};
diff --git a/keyboards/xiudi/xd004/keymaps/system_and_media/readme.md b/keyboards/xiudi/xd004/keymaps/system_and_media/readme.md
deleted file mode 100644
index 3e5533b036..0000000000
--- a/keyboards/xiudi/xd004/keymaps/system_and_media/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Slightly more advanced keymap for XD004 PCB
-
-A somehow more useful keymap, allowing one to move across virtual desktops on Windows, etc.
-
-It also has a 'Super Alt-F4' key for Windows that, when tapped does Alt-F4, unless two consecutive taps are less than 300ms apart, in which case the second tap becomes Enter. This allows you to close all apps doing taps, and then when the System shutdown window arrives you do a second quick tap and it will type enter, thus shutting down the computer.
-
-## Build
-
-To build the keymap, simply run `make xiudi/xd004:system_and_media`.
diff --git a/keyboards/xiudi/xd60/keymaps/Jos/README.md b/keyboards/xiudi/xd60/keymaps/Jos/README.md
deleted file mode 100644
index c93ea25bfd..0000000000
--- a/keyboards/xiudi/xd60/keymaps/Jos/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Jos's Layout
-
-Custom layout with various options. Designed to be used with the Canadian Multilingual software layout.
-
-## Layout
-This is the physical layout of my xd60, for reference. See the keymap file for actual software layout.
-![Keyboard Layout (Physical appearence)](https://i.imgur.com/qzOmqyq.png "Physical Layout")
-
-## Features
-**Caps Lock** is **Escape** and the **Window key** is a **Function** key that still acts like the **Window** key in conjuction with `w`, `s`, `d`, `l`, `t`, `e`, `h`, and `SPACE`.
-
-There are a few `#define` lines at the beginning of the keymap file that enable the following options if not commented:
-- `ISOLIKE_ALT_ENTER`: `RALT` + `ENT` is the same as `RALT`+`BSLS`. For logical placement of `{` and `}` (the former being `RALT`+`BSLS`) with ANSI enter on a ISO-based layout.
-- `TWO_SFT_CAPS`: Both shifts together → Caps Lock.
-- `APP_IS_RALT_RCTRL`: Menu would be between `RCTRL` and `RALT`, so now `RALT` + `RCTRL` → `APP`.
-- `HELD_ESC_IS_SHIFT`: Holding `ESC` → `SHIFT`. It always register shift when pressing `ESC`. Useful for VIM.
-- `BSPC_BLOCKS_DEL`: If `BSPC` is held, we disable `DEL`. To avoid acidental presses of `DEL` with split backspace key.
-- `ALT_MINSEQL_IS_ALT_78`: Pressing `ALT+MINS/EQL` will act like `ALT+7/8`. Will yield `{}` instead of `½¬` in Canadian Multilingual Layout. Diminished finger stretching.
-
-
-# Build
-To build, simply run `make xiudi/xd60:Jos`
diff --git a/keyboards/xiudi/xd60/keymaps/Jos/config.h b/keyboards/xiudi/xd60/keymaps/Jos/config.h
deleted file mode 100644
index a3b0cd1ec0..0000000000
--- a/keyboards/xiudi/xd60/keymaps/Jos/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Delay for tap/hold for tap dance commands */
-#define TAPPING_TERM 150
diff --git a/keyboards/xiudi/xd60/keymaps/Jos/keymap.c b/keyboards/xiudi/xd60/keymaps/Jos/keymap.c
deleted file mode 100644
index ccc06e6633..0000000000
--- a/keyboards/xiudi/xd60/keymaps/Jos/keymap.c
+++ /dev/null
@@ -1,202 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-// TODO: THOSE ARE IDEAS:
-// TODO:
-// TODO: - Proper support for "GUI+TAB" application switching, with the GUI holding and shift, etc.
-// TODO: - Maybe implement a process_record instead of a tap-dance, or complex tap dance?
-// TODO: - Media keys on Fn1 layer, *hjklm,.* or arrow cluster?
-// TODO: - What more than NumPad + RGB on the Fn3 toggled layer?
-// TODO: - Add an in-keymap way to toggle LGUI/F(0) key, HELD_ESC_IS_SHIFT and BSPC_BLOCKS_DEL.
-// TODO:
-// TODO: THOSE ARE BUGS TO FIX:
-// TODO: - None (found so far)
-
-// Adjusting process_record_user functionnalities, comment to disable.
-#define ISOLIKE_ALT_ENTER
-#define TWO_SFT_CAPS
-#define APP_IS_RALT_RCTRL
-#define HELD_ESC_IS_SHIFT
-#define BSPC_BLOCKS_DEL
-#define ALT_MINSEQL_IS_ALT_78
-
-// Cases where the GUI key will actually do what the GUI key normally does.
-#define AC_G_W LGUI(KC_W) // Ubuntu: Shows windows on current desktop
-#define AC_G_S LGUI(KC_S) // Ubuntu: Overview of all desktops
-#define AC_G_D LGUI(KC_D) // Windows: Show/Toggle desktop
-#define AC_G_L LGUI(KC_L) // Ubuntu/Windows: Lock session
-#define AC_G_T LGUI(KC_T) // Ubuntu: Shows Trash // elementary: Opens terminal
-#define AC_G_E LGUI(KC_E) // Windows: Opens file explorer
-#define AC_G_H LGUI(KC_H) // Windows: Show/Hide hidden files
-#define AC_G_SPC LGUI(KC_SPC) // elementary: Shows application launcher
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- 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_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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, TD(0), KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function 1 Layers
- LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, KC_PSCR,
- KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS,
- KC_TRNS, TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
-
- // 2: GUI/Function 2 Layer
- 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_PAUS, KC_PSCR,
- KC_TRNS, KC_TRNS, AC_G_W, AC_G_E, KC_TRNS, AC_G_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, AC_G_S, AC_G_D, KC_TRNS, KC_TRNS, AC_G_H, KC_TRNS, KC_TRNS, AC_G_L, 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_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, AC_G_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
-
- // 3: NumPad/Function 3 Toggle Layer
- LAYOUT_all(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_PSLS, KC_PMNS, KC_PPLS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_4, KC_5, KC_6, KC_PAST, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_1, KC_2, KC_3, KC_PMNS, KC_PENT, KC_NO, KC_TRNS,
- KC_NO, KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_0, KC_COMM, KC_DOT, KC_PPLS, KC_NO, KC_TRNS, KC_TRNS,
- KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_PENT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS) ,
-
-// TRaNSparent layer for reference
-/* LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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), */
-};
-
-// LGUI acts as F(1) if held or as a tapped LGUI if tapped. Adapted from https://goo.gl/WnqGNS
-// Commented lines are for the "sticky" layer on two presses. Left it here for reference.
-static const int GUILAY = 2; // GUI Layer is layer #2
-
-typedef struct {
- bool layer_toggle;
- bool sticky;
-} td_ta_state_t;
-
-static void ang_tap_dance_ta_finished (tap_dance_state_t *state, void *user_data) {
- td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
-
-// if (td_ta->sticky) {
-// td_ta->sticky = false;
-// td_ta->layer_toggle = false;
-// layer_off (GUILAY);
-// return;
-// }
-//
- if (state->count == 1 && !state->pressed) {
- register_code (KC_LGUI);
-// td_ta->sticky = false;
- td_ta->layer_toggle = false;
- } else {
- td_ta->layer_toggle = true;
- layer_on(GUILAY);
-// td_ta->sticky = (state->count == 2);
- }
-}
-
-// Added this one to make it more reactive on keyup
-static void ang_tap_dance_ta_each (tap_dance_state_t *state, void *user_data) {
- td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
-
- if (!td_ta->layer_toggle) { // Braces added for clarity
- unregister_code (KC_LGUI);
- }
-}
-
-
-static void ang_tap_dance_ta_reset (tap_dance_state_t *state, void *user_data) {
- td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
-
- if (!td_ta->layer_toggle) { // Braces added for clarity
- unregister_code (KC_LGUI);
- }
-// if (!td_ta->sticky)
- layer_off (GUILAY); // We don't verify it was swithed on, switching off regardless
-}
-
-
-tap_dance_action_t tap_dance_actions[] = {
- [0] = {
- .fn = { ang_tap_dance_ta_each, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset },
- .user_data = (void *)&((td_ta_state_t) { false, false })
- }
-};
-
-#if defined ISOLIKE_ALT_ENTER || defined TWO_SFT_CAPS || defined APP_IS_RALT_RCTRL || defined ALT_MINSEQL_IS_ALT_78
-// Function for the special modifiers actions below, makes it cleaner and yields smaller firmware.
-static bool special_mods(uint16_t keycode, keyrecord_t *record, uint16_t modifier) {
- if (record->event.pressed && (keyboard_report->mods & MOD_BIT(modifier))) {
- register_code(keycode);
- return false;
- } else {
- unregister_code(keycode);
- return true;
- }
-}
-#endif
-
-#ifdef BSPC_BLOCKS_DEL
-static bool del_blocked = false; // Static as to not be defined elsewhere
-#endif
-
-// This function is processed before the key events on each key press/release.
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode){
- #ifdef ISOLIKE_ALT_ENTER
- // RALT + ENT is the same as RALT+BSLS.
- // For logical placement of *{* and *}* (the former being RALT+BSLS) with ANSI enter on
- // ISO-based Canadian Multilingual layout (or any other ISO layout on ANSI keyboards).
- case KC_ENT: return special_mods(KC_BSLS, record, KC_RALT); // RALT + ENT -> RALT + BSLS // See comment above
- #endif
- #ifdef TWO_SFT_CAPS
- case KC_LSFT: return special_mods(KC_CAPS, record, KC_RSFT); // Both shifts together -> Caps Lock // RSFT pressed first case
- case KC_RSFT: return special_mods(KC_CAPS, record, KC_LSFT); // Both shifts together -> Caps Lock // LSFT pressed first case
- #endif
- #ifdef APP_IS_RALT_RCTRL
- case KC_RCTL: return special_mods(KC_APP, record, KC_RALT); // RALT + RCTRL -> APP // RCTRL pressed first case
- case KC_RALT: return special_mods(KC_APP, record, KC_RCTL); // RALT + RCTRL -> APP // RALT pressed first case
- #endif
- #ifdef ALT_MINSEQL_IS_ALT_78
- case KC_MINS: return special_mods(KC_7, record, KC_RALT); // RALT + MINS -> RALT+7 // {} in CAN Mult. softawre layout
- case KC_EQL: return special_mods(KC_8, record, KC_RALT); // RALT + EQL -> RALT+8 // ½¬ normally... Less finger stretch.
- #endif
- #ifdef HELD_ESC_IS_SHIFT
- case KC_ESC: // Physically *ESC* is *CAPS* // Holding ESC -> SHIFT (0 delay) // Less awkward *<ESC>:wq* in vim
- if (record->event.pressed) {
- register_code(KC_ESC); // Tapping ESC
- unregister_code(KC_ESC);
- register_code(KC_LSFT); // Holding LSFT
- return false;
- } else {
- unregister_code(KC_LSFT); // Releasing LSFT
- return false;
- }
- #endif
- #ifdef BSPC_BLOCKS_DEL
- // If BSPC is held, we flag DEL as disabled. To avoids acidental presses of DEL with split backspace key.
- case KC_BSPC:
- del_blocked = record->event.pressed;
- return true;
- // We don't handle DEL if it is pressed and flagged as disabled
- case KC_DEL:
- if (del_blocked && record->event.pressed) {
- return false;
- } else {
- return true;
- }
- #endif
- default: return true; // Let QMK handle the rest as usual
- }
-}
-
-
diff --git a/keyboards/xiudi/xd60/keymaps/Jos/rules.mk b/keyboards/xiudi/xd60/keymaps/Jos/rules.mk
deleted file mode 100644
index 7af3f44b9a..0000000000
--- a/keyboards/xiudi/xd60/keymaps/Jos/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes # Enables Tap Dance
diff --git a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
deleted file mode 100644
index 845cd1a137..0000000000
--- a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSFT, KC_UP, TG(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- // 1: Function Layer
- LAYOUT_all(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, BL_DOWN, BL_UP, KC_F13, KC_F14,
- KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL,
- KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDN, KC_END
- ),
-
- // 2: Cool Layer
- LAYOUT_all(
- QK_BOOT, BL_DOWN, BL_UP, BL_ON, BL_OFF, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_MODE_PLAIN, KC_TRNS,
- KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL,
- KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDN, KC_END
- )
-};
-
-bool edit = false;
-uint32_t mode;
-uint16_t hue;
-uint8_t sat;
-uint8_t val;
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
- if (state == 0 && edit == true) {
- mode = rgblight_get_mode();
- hue = rgblight_get_hue();
- sat = rgblight_get_sat();
- val = rgblight_get_val();
- edit = false;
- }
-
- switch (get_highest_layer(state)) {
- case 1:
- rgblight_mode(1);
- rgblight_setrgb(0xD3, 0x7F, 0xED);
- break;
- case 2:
- rgblight_mode(1);
- rgblight_setrgb(0xFF, 0x00, 0x00);
- edit = true;
- break;
- default:
- rgblight_mode(mode);
- rgblight_sethsv(hue, sat, val);
- break;
- }
- return state;
-}
diff --git a/keyboards/xiudi/xd60/keymaps/birkir/readme.md b/keyboards/xiudi/xd60/keymaps/birkir/readme.md
deleted file mode 100644
index 47a1523f6c..0000000000
--- a/keyboards/xiudi/xd60/keymaps/birkir/readme.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Birkir's Keymap for XIUDI's 60% XD60 PCB
-
-Custom layout with some custom layers. Mac friendly.
-
-## Layout
-![Birkir's Layout](https://i.imgur.com/I69AYG1.png)
-
-### Layer 0
-Base layer as shown on layout above
-
-### Layer 1
-Active while pressing and holding `MENU`
-
-RGB is purple while active
-
-- `ESC` is `~`
-
-### Layer 2
-Toggled on and off with `FN`
-
-RGB is red while active
-
-RGB settings are persisted for layer 0 when done.
-
- - `1` Backlight DEC
- - `2` Backlight INC
- - `3` Backlight OFF
- - `4` Backlight ON
- - `5` RGB Toggle
- - `6` RGB Mode
- - `7` RGB Hue DEC (-)
- - `8` RGB Hue INC (+)
- - `9` RGB Saturation DEC (-)
- - `0` RGB Saturation INC (+)
- - `-/_` RGB Brightness DEC (-)
- - `+/=` RGB Brightness INC (+)
- - `BACKSPACE` RGB Mode set to PLAIN
-
-## TODO
-
-- Mac shortcuts on Layer 1
-- More dynamic keyboard configuration on Layer 2
-
-## Build
-To build the default keymap, simply run `make xiudi/xd60:birkir`.
diff --git a/keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c b/keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c
deleted file mode 100644
index b097b58e36..0000000000
--- a/keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- 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_BSPC, KC_BSPC,
- KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SCRL,KC_PAUS, RGB_RMOD,RGB_MOD, RGB_VAD, RGB_VAI,
- KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME,KC_PGUP, RGB_HUD, RGB_HUI, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_NO, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/edulpn64/readme.md b/keyboards/xiudi/xd60/keymaps/edulpn64/readme.md
deleted file mode 100644
index 0fd6e82752..0000000000
--- a/keyboards/xiudi/xd60/keymaps/edulpn64/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Edulpn64 Keymap for XIUDI's 60% XD60 PCB
-
-![Edulpn64 Keymap for XD60](https://dl2.pushbulletusercontent.com/K6bdlBlP5ix7jdMAr8QKes4johmpUfPI/image.png)
-
-## Additional Notes
-This keymap uses the Default XD60 base layer, but follows the GK64 function layer (one of my XD60 boards use GK64 keycaps).
-
-## Build
-To build the default keymap, simply run `make xiudi/xd60:edulpn64`.
diff --git a/keyboards/xiudi/xd60/keymaps/finnish/keymap.c b/keyboards/xiudi/xd60/keymaps/finnish/keymap.c
deleted file mode 100644
index 67e852eb20..0000000000
--- a/keyboards/xiudi/xd60/keymaps/finnish/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2021 Minna Pallari (@pallarim)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-#include "keymap_finnish.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, FI_PLUS, FI_ACUT, MO(1), KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FI_ARNG, FI_DIAE, KC_NO,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FI_ODIA, FI_ADIA, FI_QUOT, KC_ENT,
- KC_LSFT, FI_LABK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FI_MINS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
- KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL,
- KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDN, KC_END),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/finnish/readme.md b/keyboards/xiudi/xd60/keymaps/finnish/readme.md
deleted file mode 100644
index 2e5c96f770..0000000000
--- a/keyboards/xiudi/xd60/keymaps/finnish/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Finnish/Swedish iso Keymap for XIUDI's XD60 PCB
-
-FI/SV iso Keymap for XD60.
-
-## Keymap
-
-### Base Layer
-
-![Base layer](https://i.imgur.com/TrChS0N.png)
-
-### Function Layer
-
-![Default Keymap layer 2](https://img.alicdn.com/imgextra/i1/1713761720/TB2K0gTalPxQeBjy1XcXXXHzVXa_!!1713761720.png)
-
-## Build
-
-To build the default keymap, simply run:
-
- make xiudi/xd60/rev2:finnish # XD60 rev2
- make xiudi/xd60/rev3:finnish # XD60 rev3
diff --git a/keyboards/xiudi/xd60/keymaps/fvolpe83/config.h b/keyboards/xiudi/xd60/keymaps/fvolpe83/config.h
deleted file mode 100755
index b26b00b189..0000000000
--- a/keyboards/xiudi/xd60/keymaps/fvolpe83/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-/* Changes the number of taps required for layer toggle*/
-#define TAPPING_TOGGLE 3
-
-/* The RGB lighting will be switched off when the host goes to sleep */
-#define RGBLIGHT_SLEEP
-
-// lighting layers
-#define RGBLIGHT_LAYERS
diff --git a/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c b/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
deleted file mode 100755
index c19a90abf8..0000000000
--- a/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_PSCR,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_NO, TT(1), KC_RCTL),
-
- [1] = 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_NO, KC_DEL,
- KC_TAB, KC_INS, KC_DEL, KC_UP, KC_PGUP, KC_PGDN, KC_NO, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_NO, KC_ENT,
- KC_LSFT, KC_PSCR, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, MO(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_NO, KC_TRNS, KC_RCTL),
-
- [2] = LAYOUT_all(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
- KC_NO, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_NO, KC_NO,
- KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
-};
-
-const rgblight_segment_t PROGMEM my_0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 6, HSV_CYAN},
- {6, 6, HSV_BLUE}
-);
-
-const rgblight_segment_t PROGMEM my_1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 4, HSV_GREEN},
- {7, 4, HSV_GREEN}
-);
-const rgblight_segment_t PROGMEM my_2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 4, HSV_PURPLE},
- {7, 4, HSV_PURPLE}
-);
-
-const rgblight_segment_t PROGMEM my_caps_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_RED},
- {5, 1, HSV_RED},
- {6, 1, HSV_RED},
- {11, 1, HSV_RED}
-);
-
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM my_layers[] = RGBLIGHT_LAYERS_LIST(
- my_0_layer,
- my_1_layer,
- my_2_layer,
- my_caps_layer
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_layers;
- layer_state_set_user(layer_state);
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, 0));
- rgblight_set_layer_state(1, layer_state_cmp(state, 1));
- rgblight_set_layer_state(2, layer_state_cmp(state, 2));
- return state;
-};
-
- bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(3, led_state.caps_lock);
- return true;
-};
-
-/* // EEPROM Reset Function
-void eeconfig_init_user(void) {
- backlight_enable(); // Enable backlight by default
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(HSV_BLUE); // Set it to orange by default
-}; */
diff --git a/keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md b/keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md
deleted file mode 100755
index 63e507935d..0000000000
--- a/keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# fvolpe83's keymap for XIUDI's 60% XD60 PCB rev3
-
-3 layers in ISO:
-
-- 0 for ISO querty with split backspace and split right shift
-- 1 for arrows and mouse
-- 2 for backlight
-
-
-![Keyboard Layout (Physical appearence)](https://i.imgur.com/Zgc4Fv6.jpg "physical layout")
-
-
-## Additional Notes
-
-RGB lighting enabled and goes to sleep with the host, each layer has its own color, caps layer is still there (can be enabled via software) but acts as FN
-
-- 0 = cyan/blue
-- caps = red
-- 1 = green
-- 2 = purple
-
-tapping toggle has been defined to 3 in the separate config.h
-
-via has been enabled
-
-## Build
-
-To build the keymap, simply run:
-
- make xiudi/xd60/rev3:fvolpe83 # XD60 rev3
-
-
-![Keyboard Layout (Physical appearence)](https://i.imgur.com/CSRPjbX.png "physical layout")
diff --git a/keyboards/xiudi/xd60/keymaps/melka/.gitignore b/keyboards/xiudi/xd60/keymaps/melka/.gitignore
deleted file mode 100644
index c79982f2ea..0000000000
--- a/keyboards/xiudi/xd60/keymaps/melka/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-passwd.h
diff --git a/keyboards/xiudi/xd60/keymaps/melka/config.h b/keyboards/xiudi/xd60/keymaps/melka/config.h
deleted file mode 100644
index 37581d12ea..0000000000
--- a/keyboards/xiudi/xd60/keymaps/melka/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-#if __GNUC__ > 5
-# if __has_include("passwd.h")
-# include "passwd.h"
-# endif // if file exists
-#endif // __GNUC__
-
-#ifndef PASSWORD_A
- #define PASSWORD_A "1234567890"
-#endif
-
-#ifndef PASSWORD_B
- #define PASSWORD_B "pass123"
-#endif
-
-#define RGBLIGHT_LAYERS
-
-#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_5
-#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_MINS
diff --git a/keyboards/xiudi/xd60/keymaps/melka/keymap.c b/keyboards/xiudi/xd60/keymaps/melka/keymap.c
deleted file mode 100644
index 0a1f5d4e49..0000000000
--- a/keyboards/xiudi/xd60/keymaps/melka/keymap.c
+++ /dev/null
@@ -1,165 +0,0 @@
-#include QMK_KEYBOARD_H
-
-/*
-Security Note: While it is possible to use macros to send passwords, credit card numbers,
-and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
-of your keyboard will be able to access that information by opening a text editor.
-*/
-enum custom_keycodes
-{
- PASS_A = SAFE_RANGE,
- PASS_B
-};
-
-#define ___ KC_NO
-
-#define LAYOUT_melka( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48) \
- { \
- {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
- {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___}, \
- {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D}, \
- {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3E, K3D}, \
- {K40, K41, K42, ___, ___, K43, ___, K3C, K46, K0E, K44, K45, K47, K48} \
- }
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // 0: Base Layer
- LAYOUT_melka(
- KC_NUBS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
- MT(KC_LSFT, KC_5), KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(KC_RSFT, KC_MINS), KC_UP, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- LAYOUT_melka(
- 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_WH_U, KC_UP, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
- TO(2), TO(3), _______, KC_APP, BL_STEP, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLU, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE),
-
- // 2: RGB Layer
- LAYOUT_melka(
- RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, QK_BOOT,
- _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- TO(0), _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, PASS_A, PASS_B, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- // 3: Keypad Layer
- LAYOUT_melka(
- KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS,
- TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, TO(0),
- _______, _______, _______, _______, KC_P0, KC_P0, KC_PDOT, KC_PENT, _______)
-};
-
-// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
-const rgblight_segment_t PROGMEM rgb_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {2, 4, HSV_RED}, // Light 4 LEDs, starting with LED 6
- {6, 4, HSV_RED} // Light 4 LEDs, starting with LED 12
-);
-// Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
-const rgblight_segment_t PROGMEM rgb_function_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {9, 2, HSV_CYAN}
-);
-// Light LEDs 11 & 12 in purple when keyboard layer 2 is active
-const rgblight_segment_t PROGMEM rgb_backlight_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {10, 2, HSV_PURPLE}
-);
-const rgblight_segment_t PROGMEM rgb_keypad_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 4, HSV_RED}
-);
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- rgb_capslock_layer,
- rgb_function_layer,
- rgb_backlight_layer, // Overrides caps lock layer
- rgb_keypad_layer // Overrides other layers
-);
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- // Both layers will light up if both kb layers are active
- rgblight_set_layer_state(1, layer_state_cmp(state, 1));
- rgblight_set_layer_state(2, layer_state_cmp(state, 2));
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = rgb_layers;
-}
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
-
-static bool control_disabled = false;
-static bool delete_pressed = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
- if (keycode == KC_BSPC)
- {
- if (record->event.pressed)
- {
- if (keyboard_report->mods & MOD_BIT(KC_LCTL))
- {
- delete_pressed = true;
- control_disabled = true;
- unregister_code(KC_LCTL);
- register_code(KC_DEL);
- return false;
- }
- }
- else if (delete_pressed)
- {
- delete_pressed = false;
- unregister_code(KC_DEL);
-
- if (control_disabled)
- {
- control_disabled = false;
- register_code(KC_LCTL);
- }
- return false;
- }
- }
- else if (keycode == KC_LCTL && !record->event.pressed && delete_pressed)
- {
- delete_pressed = false;
- control_disabled = false;
- unregister_code(KC_DEL);
- register_code(KC_BSPC);
- return false;
- }
-
- switch (keycode)
- {
- case PASS_A:
- if (record->event.pressed)
- {
- SEND_STRING(PASSWORD_A "\n");
- }
- break;
- case PASS_B:
- if (record->event.pressed)
- {
- SEND_STRING(PASSWORD_B "\n");
- }
- break;
- }
- return true;
-}
diff --git a/keyboards/xiudi/xd60/keymaps/melka/passwd_template.h b/keyboards/xiudi/xd60/keymaps/melka/passwd_template.h
deleted file mode 100644
index a78de6d40d..0000000000
--- a/keyboards/xiudi/xd60/keymaps/melka/passwd_template.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-To define your password, rename this file to passwd.h and edit the defines below.
-
-Security Note: While it is possible to use macros to send passwords, credit card numbers,
-and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
-of your keyboard will be able to access that information by opening a text editor.
-*/
-
-#define PASSWORD_A "enter your first password here"
-#define PASSWORD_B "second password if you need"
diff --git a/keyboards/xiudi/xd60/keymaps/melka/readme.md b/keyboards/xiudi/xd60/keymaps/melka/readme.md
deleted file mode 100644
index 23e7ab0b09..0000000000
--- a/keyboards/xiudi/xd60/keymaps/melka/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# melka's keymap for XIUDI's 60% XD60 rev3 PCB
-
-## Additional Notes
-Custom Keymap for XD60 rev3. French Mac layout.
-
-## Security Note
-This keymap includes macros for entering passwords.
-
-While it is possible to use macros to send passwords, credit card numbers,
-and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
-of your keyboard will be able to access that information by opening a text editor.
-
-Use this functionnality at your own risk.
-
-To define your password, rename passwd_template.h file to passwd.h and edit the defines inside.
-
-## Build
-
-To build this keymap, simply run:
-
- make xiudi/xd60/rev3:melka # XD60 rev3
diff --git a/keyboards/xiudi/xd60/keymaps/petesmom/README.md b/keyboards/xiudi/xd60/keymaps/petesmom/README.md
deleted file mode 100644
index 075928205c..0000000000
--- a/keyboards/xiudi/xd60/keymaps/petesmom/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# pete's mom Layout
-
-Customized xd60 keymap based on yuuki's but a step sideways with Mac support. For Pete on his 40th
-
-## Programming Instructions
-
-Change the layout in `keymap.c` then run `make xiudi/xd60:petesmom`. The compiled file will be located in `.build/xiudi_xd60_petesmom.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run:
-
-* `sudo dfu-programmer atmega32u4 erase`
-* `sudo dfu-programmer atmega32u4 flash .build/xiudi_xd60-petesmom.hex`
-* `sudo dfu-programmer atmega32u4 start`
-
-## Layout
-
-See `keymap.c` for the details, but here are the important features:
-
-| Key | Function |
-| -------------------------- | ---------------------------------- |
-| ESC | ESC when pressed alone but acts as ~ when pressed with Shift or LGUI down |
-| FN + ESC | Grave |
-| Right Shift | When tapped generates / |
-| FN + HJKL | Arrow Keys |
-| FN + C | ^ |
-| FN + V | & |
-| FN + , . RShift | Mac Vol - + Mute |
-| FN + P [ ] \ | Mac Play/Pause, Prev Track, Next Track, Stop |
diff --git a/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c b/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
deleted file mode 100644
index f6dd13e9fa..0000000000
--- a/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-#define BASE 0
-#define FN 1
-
-#define CTL_SLSH CTL_T(KC_SLSH)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, RSFT_T(KC_SLASH), KC_UP, KC_RCTL,
- CTL_SLSH, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(FN), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- // 1: Function Layer
- [FN] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_TRNS, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MRWD, KC_MFFD, KC_MSTP,
- KC_TRNS, RGB_TOG, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_ENT,
- KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_NO, KC_MUTE,KC_PGUP, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN,KC_END
- ),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/rooski/instructions.txt b/keyboards/xiudi/xd60/keymaps/rooski/instructions.txt
deleted file mode 100644
index 1486647dcd..0000000000
--- a/keyboards/xiudi/xd60/keymaps/rooski/instructions.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-cd c:/QMK
-make xd60 / / / / / / / / \ No newline at end of file
diff --git a/keyboards/xiudi/xd60/keymaps/rooski/keymap.c b/keyboards/xiudi/xd60/keymaps/rooski/keymap.c
deleted file mode 100644
index 00dea7dcd4..0000000000
--- a/keyboards/xiudi/xd60/keymaps/rooski/keymap.c
+++ /dev/null
@@ -1,57 +0,0 @@
-// XD60 Rev 2.0
-
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-//#include "action_tapping.h"
-#include "backlight.h"
-
-// Define tapping term
-#define TAPPING_TERM 150
-
-// Layer definitions~
-#define _BL 0
-#define _FL 1
-#define _LK 2
-
-// RShift TapHold
-#define RSTT MT(MOD_RSFT, KC_SLSH)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* (Base Layer) Default Layer
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * | Caps | A| S| D| F| G| H| J| K| L| ;| '| Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .|Shift| Up |Del |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | Space |Ctrl|Fn| LT| DN | RT |
- * `-----------------------------------------------------------'
- */
- // 0: Base Layer
- [_BL] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, XXXXXXX, KC_ENT,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, XXXXXXX, RSTT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- [_FL] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(_LK), _______, KC_HOME, _______, KC_END),
-
- // 2: Lighting Keys
- [_LK] = LAYOUT_all(
- TO(_BL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, RGB_VAI, BL_STEP,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(_BL), XXXXXXX, RGB_TOG, RGB_VAD, RGB_MOD),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c b/keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c
deleted file mode 100644
index 7b1bacf0fe..0000000000
--- a/keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2021 Chase Nordengren
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_SLSH), KC_UP, KC_DEL, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT_all(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCAG(KC_SCLN), LCAG(KC_QUOT), KC_NO, KC_TRNS, KC_TRNS, KC_NO, LCAG(KC_Z), LCAG(KC_X), LCAG(KC_ASTR), LCAG(KC_V), LCAG(KC_B), LCAG(KC_N), LCAG(KC_M), LCAG(KC_COMM), KC_INS, KC_DEL, KC_TRNS, KC_PGUP, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, LCAG(KC_SPC), KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END)
-};
-
-// Loop
diff --git a/keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md b/keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md
deleted file mode 100644
index 7e74f753ff..0000000000
--- a/keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Semicolonsnet Keymap for XIUDI's 60% XD60 PCB
-
-![Semicolonsnet Keymap for XD60](https://i.imgur.com/VZygOqK.png)
-
-## Additional Notes
-Custom Keymap for XD60 - uses a META key and lots of shortcut keys that are later software controlled
-
-## Build
-
-To build the default keymap, simply run:
-
- make xiudi/xd60/rev2:default # XD60 rev2
- make xiudi/xd60/rev3:default # XD60 rev3 \ No newline at end of file
diff --git a/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c b/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
deleted file mode 100644
index 5b1f091600..0000000000
--- a/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_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,
- 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_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), KC_UP, KC_DEL,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
- KC_CAPS, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
- MO(1), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_INS,
- KC_LCTL, KC_LALT, KC_LGUI, KC_MPLY, KC_RGUI, KC_RALT, KC_HOME, KC_PGDN, KC_END),
-
- // 2: RGB Layer
- LAYOUT_all(
- KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/styr/keymap.c b/keyboards/xiudi/xd60/keymaps/styr/keymap.c
deleted file mode 100644
index fdadd3a135..0000000000
--- a/keyboards/xiudi/xd60/keymaps/styr/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _BL 0
-#define _FL 1
-#define _LL 2
-
-enum custom_keycodes {
- MACRO_STRING
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [_BL] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(_LL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(_FL), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- [_FL] = LAYOUT_all(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
- XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2,
- XXXXXXX, XXXXXXX, XXXXXXX, MACRO_STRING, XXXXXXX, F(0), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT),
-
- [_LL] = LAYOUT_all(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
- XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MPLY,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(0), KC_MRWD, KC_VOLD, KC_MFFD),
-
-
-};
-
-// Macros
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MACRO_STRING:
- if(record->event.pressed){
- SEND_STRING("My Custom String");
- }
- return false;
- break;
- default:
- return true;
- }
-}
-
-// Loop
-void matrix_scan_user(void) {
- // Empty
-};
diff --git a/keyboards/xiudi/xd60/keymaps/styr/readme.md b/keyboards/xiudi/xd60/keymaps/styr/readme.md
deleted file mode 100644
index 1c5d160cfa..0000000000
--- a/keyboards/xiudi/xd60/keymaps/styr/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Keyboard Layout by Styr
-
-## Additional Notes
-Default Keymap for XD60 as indicated on the original sale page.
-
-## Build
-To build the default keymap, simply run `make xiudi/xd60/rev3:styr`.
diff --git a/keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c b/keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c
deleted file mode 100644
index bdc47082a5..0000000000
--- a/keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL),
-
- // 1: Function Layer
- LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
- KC_NO, KC_NO, KC_UP, KC_END, KC_NO, KC_NO, KC_CALC, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
- KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO, KC_ENT,
- KC_LSFT, KC_NO, KC_NO, KC_DEL, BL_STEP,KC_NO, KC_NO, KC_VOLD, KC_VOLU,KC_MUTE, KC_NO, KC_PGDN, KC_RSFT, KC_NO, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL),
-
-};
diff --git a/keyboards/xiudi/xd60/keymaps/supercoffee/readme.md b/keyboards/xiudi/xd60/keymaps/supercoffee/readme.md
deleted file mode 100644
index 111f34e720..0000000000
--- a/keyboards/xiudi/xd60/keymaps/supercoffee/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Supercoffee Keymap for DeskCandy 60% XD60 PCB
-
-![Supercoffee Keymap for XD60](https://i.imgur.com/SPg4wXw.jpg)
-
-## Additional Notes
-60% Keymap for XD60 with GH60 ANSI layout. Arrow keys mapped to WASD in function layer.
-
-## Build
-To build the default keymap, simply run `make xiudi/xd60:supercoffee`.
diff --git a/keyboards/xiudi/xd60/keymaps/suryanisaac/README.md b/keyboards/xiudi/xd60/keymaps/suryanisaac/README.md
deleted file mode 100644
index dbc94dbf73..0000000000
--- a/keyboards/xiudi/xd60/keymaps/suryanisaac/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# suryanisaac's layout
-
-Just my custom layout, works really well for me so hopefully you guys like it.
-
-## Features:
-
-- Arrow keys on IJKL on Layer 1
-- Layer 1 toggle is the Caps Lock (No one likes caps lock)
-- Nav keys close to arrow keys, good for programming
-- Non-convoluted media control
-- For Mac or Linux with Kinto
-- Left and Right brackets on left shift and right shift
-- Layer 1 has F1 to F12 on number keys
-
-
-Pictures Available Here: https://imgur.com/a/7UzkhOu
diff --git a/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c b/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
deleted file mode 100644
index fff9fc6fc3..0000000000
--- a/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2021 Suryan Isaac
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-/* THIS FILE WAS GENERATED!
- *
- * This file was generated by qmk json2c. You may or may not want to
- * edit it directly.
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_ansi(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, TG(1)),
- [1] = LAYOUT_60_ansi(QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
diff --git a/keyboards/xiudi/xd60/keymaps/yuuki/README.md b/keyboards/xiudi/xd60/keymaps/yuuki/README.md
deleted file mode 100644
index ba0de049ee..0000000000
--- a/keyboards/xiudi/xd60/keymaps/yuuki/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# yuuki's Layout
-
-Customized xd60 keymap with inspirations from HHKB and the layout I used on my Vortex Core (a 40% keyboard).
-
-## Programming Instructions
-
-Change the layout in `keymap.c` then run `make xiudi/xd60:yuuki`. The compiled file will be located in `.build/xiudi_xd60_yuuki.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run:
-
-* reset keyboard by pressing the reset button on the back of the PCB
-* `sudo dfu-programmer atmega32u4 erase`
-* `sudo dfu-programmer atmega32u4 flash .build/xiudi_xd60_yuuki.hex`
-* `sudo dfu-programmer atmega32u4 start`
-
-## Layout
-
-![Keyboard Layout](https://github.com/cideM/cidem.github.io/blob/master/keyboard-layout.png "Layout")
-
-Upper row is default layer, bottom row is function layer. I Didn't include the symbols, such as @,# or $, as their placement is just as you'd expect it.
-
-## Summary of Changes
-
-| Key | Function |
-| -------------------------- | ---------------------------------- |
-| Capslock | Forward Slash when tapped and Left Control when held |
-| Left Control | Temporarily activate function layer |
-| FN + ESC | Grave |
-| Space Cadet Shift | Left Shift tapped writes ( and Right Shift tapped writes ) |
-| FN + HJKL | Arrow Keys |
-| Rightmost key in second row from bottom | Temporarily activate function layer |
-| FN + C | ^ |
-| FN + V | & (both for convenience as I use these keys a lot with VIM navigation and I find them hard reach) |
diff --git a/keyboards/xiudi/xd60/keymaps/yuuki/keymap.c b/keyboards/xiudi/xd60/keymaps/yuuki/keymap.c
deleted file mode 100644
index 90cb77b96e..0000000000
--- a/keyboards/xiudi/xd60/keymaps/yuuki/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-
-#define BASE 0
-#define FN 1
-
-#define CTL_SLSH CTL_T(KC_SLSH)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- CTL_SLSH, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
- SC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, SC_RSPC, KC_UP, MO(FN),
- MO(FN), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- // 1: Function Layer
- [FN] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_TRNS, RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_ENT,
- KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
- ),
-
-};
diff --git a/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c b/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c
deleted file mode 100755
index 219961e434..0000000000
--- a/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Tomasz Adamczyk <siano@sianecki.pl>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, EE_CLR, DB_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_UP,
- KC_TRNS, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_DOWN,
- KC_TRNS, KC_TRNS, RGB_VAD, RGB_RMOD,RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
-}; \ No newline at end of file
diff --git a/keyboards/xiudi/xd87/keymaps/mac_underglow/readme.md b/keyboards/xiudi/xd87/keymaps/mac_underglow/readme.md
deleted file mode 100755
index 61fee2218f..0000000000
--- a/keyboards/xiudi/xd87/keymaps/mac_underglow/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# The Mac OS layout for xd87
-
-With underglow and backlight support.
-
-## Keymap
-
-### Layer 0
-
-![XD87 - mac_underglow keymap - layer 0](https://i.imgur.com/LXq8phy.png)
-
-### Layer 1
-
-![XD87 - mac_underglow_keymap - layer 1](https://i.imgur.com/swqwVaO.png) \ No newline at end of file
diff --git a/keyboards/xiudi/xd87/keymaps/mac_underglow/rules.mk b/keyboards/xiudi/xd87/keymaps/mac_underglow/rules.mk
deleted file mode 100755
index fa5f343e70..0000000000
--- a/keyboards/xiudi/xd87/keymaps/mac_underglow/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-COMMAND_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c b/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c
deleted file mode 100644
index b554860c20..0000000000
--- a/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2020 Jonathan Souter
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 LT_ENT2 LT(2,KC_ENT)
-
-#ifdef RGBLIGHT_ENABLE
-void matrix_init_user(void) {
- rgblight_disable();
-}
-#endif
-
-enum custom_keycodes {
- ZEROZER,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_CALC, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_NUM, _______, KC_PMNS, KC_PSLS,
- KC_TAB, KC_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_P7, KC_P8, KC_P9, KC_PAST,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, LT_ENT2, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_EQL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_P0, ZEROZER, KC_PDOT, KC_PENT
- ),
-
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, QK_BOOT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_MPLY, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, KC_PSCR, _______, _______, _______, _______, _______,
- _______, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case ZEROZER:
- if (record->event.pressed) {
- SEND_STRING("00");
- } else {
- }
- break;
- }
- return true;
-}
diff --git a/keyboards/xw60/keymaps/pingjunior/keymap.c b/keyboards/xw60/keymaps/pingjunior/keymap.c
deleted file mode 100644
index 5c49e174ef..0000000000
--- a/keyboards/xw60/keymaps/pingjunior/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* 0: default */
- LAYOUT_pingjunior(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- /* 1: hhkb */
- LAYOUT_pingjunior(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
- KC_NO, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_NO
- ),
- /* 2: fn */
- LAYOUT_pingjunior(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_DEL,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, HF_TOGG, HF_DWLU, HF_DWLD, _______, _______, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/xw60/keymaps/pingjunior/readme.md b/keyboards/xw60/keymaps/pingjunior/readme.md
deleted file mode 100644
index 0943a88a95..0000000000
--- a/keyboards/xw60/keymaps/pingjunior/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# The default keymap for pingjunior
-
- ### layer 0 - default
- ```
- .--------------------------------------------------------------------------.
- | esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |bksp|
- |--------------------------------------------------------------------------|
- | tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- |--------------------------------------------------------------------------|
- | caps | A | S | D | F | G | H | J | K | L | ; | ' |pent|enter|
- |--------------------------------------------------------------------------|
- | shift | Z | X | C | V | B | N | M | , | . | / | shift | fn |
- |--------------------------------------------------------------------------|
- | ctrl | gui| alt | space | alt | gui/ ctrl |
- '--------------------------------------------------------------------------'
- ```
- ### layer 1 - hhkb
- ```
- .--------------------------------------------------------------------------.
- | esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
- |--------------------------------------------------------------------------|
- | tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | bksp |
- |--------------------------------------------------------------------------|
- | ctrl | A | S | D | F | G | H | J | K | L | ; | ' |pent|enter|
- |--------------------------------------------------------------------------|
- | shift | Z | X | C | V | B | N | M | , | . | / | shift | fn |
- '--------------------------------------------------------------------------'
- | alt| gui | space | gui | alt|
- '------------------------------------------------------------'
- ```
- ### layer 2 - fn
- ```
- ,--------------------------------------------------------------------------.
- | | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| ins| del|
- |--------------------------------------------------------------------------|
- | caps | | up | | | | | | | | | up | | del |
- |--------------------------------------------------------------------------|
- | |left|down|rght| | | | | | |left|rght| | |
- |--------------------------------------------------------------------------|
- | | | | | |buzz| + | - | | |down| | |
- |--------------------------------------------------------------------------|
- | | | | | | | |
- '--------------------------------------------------------------------------'
- ``` \ No newline at end of file
diff --git a/keyboards/yampad/keymaps/traditional/keymap.c b/keyboards/yampad/keymaps/traditional/keymap.c
deleted file mode 100644
index 6bd18cfd29..0000000000
--- a/keyboards/yampad/keymaps/traditional/keymap.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* MIT License
-
-Copyright (c) 2020 Richard Davey (Daveyr)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layers {
- _BL = 0,
- _NV,
- _FN
-};
-
-enum custom_keycodes {
- KC_DBL0 = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap _BL: (Base Layer) Default Layer
- * ,-------------------.
- * | NV | / | * |-/FN|
- * |----|----|----|----|
- * | 7 | 8 | 9 | |
- * |----|----|----| + |
- * | 4 | 5 | 6 | |
- * |----|----|----|----|
- * | 1 | 2 | 3 | |
- * |----|----|----| En |
- * | 0 | 00 | . | |
- * `-------------------'
- */
- [_BL] = LAYOUT(
- TG(_NV), KC_PSLS, KC_PAST, LT(_FN, 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_DBL0, KC_PDOT, KC_PENT
- ),
-
-/* Keymap _NV: Navigation layer
- * ,-------------------.
- * |INS |BSPC| | |
- * |----|----|----|----|
- * |HOME| UP |PGUP| |
- * |----|----|----| |
- * |LEFT|DEL |RGHT| |
- * |----|----|----|----|
- * |END |DOWN|PGDN| |
- * |----|----|----| |
- * | | | | |
- * `-------------------'
- */
- [_NV] = LAYOUT(
- KC_INS, KC_BSPC, XXXXXXX, TG(_NV),
- KC_HOME, KC_UP, KC_PGUP,
- KC_LEFT, KC_DEL, KC_RGHT, XXXXXXX,
- KC_END, KC_DOWN, KC_PGDN,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
-/* Keymap _FN: RGB Function Layer
- * ,-------------------.
- * |RMOD|RGBP|RTOG| FN |
- * |----|----|----|----|
- * |HUD |HUI | | |
- * |----|----|----| |
- * |SAD |SAI | | |
- * |----|----|----|----|
- * |VAD |VAS | | |
- * |----|----|----| |
- * |RST | | | |
- * `-------------------'
- */
- [_FN] = LAYOUT(
- RGB_MOD, RGB_M_P, RGB_TOG, _______,
- RGB_HUD, RGB_HUI, XXXXXXX,
- RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
- RGB_VAD, RGB_VAI, XXXXXXX,
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_DBL0:
- if (record->event.pressed) {
- SEND_STRING("00");
- } else {
- // when keycode KC_DBL0 is released
- }
- break;
-
- }
- return true;
-};
-
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
-}
-
-bool oled_task_user(void) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer"), false);
- switch (get_highest_layer(layer_state)) {
- case _BL:
- oled_write_ln_P(PSTR(" BAS"), false);
- break;
- case _NV:
- oled_write_ln_P(PSTR(" NAV"), false);
- break;
- case _FN:
- oled_write_ln_P(PSTR(" RGB"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR(" UND"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(PSTR("-----"), false);
- oled_write_P(PSTR("Stats"), false);
- oled_write_P(led_state.num_lock ? PSTR("num:*") : PSTR("num:."), false);
- oled_write_P(led_state.caps_lock ? PSTR("cap:*") : PSTR("cap:."), false);
- oled_write_P(led_state.scroll_lock ? PSTR("scr:*") : PSTR("scr:."), false);
-
- // Host Keyboard RGB backlight status
- oled_write_P(PSTR("-----"), false);
- oled_write_P(PSTR("Light"), false);
-
- static char led_buf[30];
- snprintf(led_buf, sizeof(led_buf) - 1, "RGB:%cM: %2d\nh: %2ds: %2dv: %2d\n",
- rgblight_is_enabled() ? '*' : '.', (uint8_t)rgblight_get_mode(),
- (uint8_t)(rgblight_get_hue() / RGBLIGHT_HUE_STEP),
- (uint8_t)(rgblight_get_sat() / RGBLIGHT_SAT_STEP),
- (uint8_t)(rgblight_get_val() / RGBLIGHT_VAL_STEP));
- oled_write(led_buf, false);
-
- return false;
-}
-#endif
diff --git a/keyboards/yandrstudio/eau_r2/config.h b/keyboards/yandrstudio/eau_r2/config.h
index 6985b4b8bb..aa9b295e02 100644
--- a/keyboards/yandrstudio/eau_r2/config.h
+++ b/keyboards/yandrstudio/eau_r2/config.h
@@ -15,13 +15,7 @@
*/
#pragma once
-#ifdef RGBLIGHT_ENABLE
-
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define WS2812_PWM_DRIVER PWMD1
-# define WS2812_PWM_CHANNEL 1
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM5
-# define WS2812_DMA_CHANNEL 5
-
-#endif
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
+#define WS2812_DMA_CHANNEL 5
diff --git a/keyboards/yandrstudio/eau_r2/info.json b/keyboards/yandrstudio/eau_r2/info.json
index a1b5a0e9cf..c3aaf39e2d 100644
--- a/keyboards/yandrstudio/eau_r2/info.json
+++ b/keyboards/yandrstudio/eau_r2/info.json
@@ -30,6 +30,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
}
},
"debounce": 8,
diff --git a/keyboards/yandrstudio/nightstar75/config.h b/keyboards/yandrstudio/nightstar75/config.h
index 98480b2687..4d5c662999 100644
--- a/keyboards/yandrstudio/nightstar75/config.h
+++ b/keyboards/yandrstudio/nightstar75/config.h
@@ -15,14 +15,10 @@
*/
#pragma once
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
+#define RGBLIGHT_LAYERS_RETAIN_VAL
-# define RGBLIGHT_LAYERS
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-# define RGBLIGHT_LAYERS_RETAIN_VAL
-
-# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
-# define WS2812_PWM_CHANNEL 2 // default: 2
-# define WS2812_PWM_PAL_MODE 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM3
-# define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
+#define WS2812_PWM_CHANNEL 2 // default: 2
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
diff --git a/keyboards/yandrstudio/nightstar75/info.json b/keyboards/yandrstudio/nightstar75/info.json
index 2bf8cd36b3..956016a7e6 100644
--- a/keyboards/yandrstudio/nightstar75/info.json
+++ b/keyboards/yandrstudio/nightstar75/info.json
@@ -24,6 +24,13 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
}
},
"matrix_pins": {
diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h
index 4aa37c5f20..81b549b60d 100644
--- a/keyboards/yandrstudio/nz64/config.h
+++ b/keyboards/yandrstudio/nz64/config.h
@@ -15,76 +15,8 @@
*/
#pragma once
-/* RGB Matrix */
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 82
-
-# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
-# define WS2812_PWM_CHANNEL 2 // default: 2
-# define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-
-
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true
-# define RGB_MATRIX_CENTER { 96, 32 }
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#endif
-
-
-#ifdef RGBLIGHT_ENABLE
-# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
-# define WS2812_PWM_CHANNEL 2 // default: 2
-# define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-#endif
+#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
+#define WS2812_PWM_CHANNEL 2 // default: 2
+#define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
diff --git a/keyboards/yandrstudio/nz64/info.json b/keyboards/yandrstudio/nz64/info.json
index 1ac32fe9a4..27515bebbc 100644
--- a/keyboards/yandrstudio/nz64/info.json
+++ b/keyboards/yandrstudio/nz64/info.json
@@ -12,7 +12,55 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [96, 32],
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["A15", "B3", "B4", "B6", "B7", "B5", "C13", "A5", "A4", "B14", "B15", "A8", "A9", "A10"],
diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h
index dba2f77395..7ecdfeafcf 100644
--- a/keyboards/yandrstudio/nz67v2/config.h
+++ b/keyboards/yandrstudio/nz67v2/config.h
@@ -16,65 +16,7 @@
#pragma once
-/* RGB Matrix */
-#ifdef RGB_MATRIX_ENABLE
-
-# define RGB_MATRIX_LED_COUNT 86
-
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
-# define WS2812_PWM_CHANNEL 2 // default: 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-
-#endif
+#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
+#define WS2812_PWM_CHANNEL 2 // default: 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json
index 3cd784934a..372330eb68 100644
--- a/keyboards/yandrstudio/nz67v2/info.json
+++ b/keyboards/yandrstudio/nz67v2/info.json
@@ -11,7 +11,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 180,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B9", "A3", "A4", "A5", "A6", "A7", "B0", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"],
diff --git a/keyboards/yandrstudio/tg67/config.h b/keyboards/yandrstudio/tg67/config.h
index 3386838c74..686696be7d 100644
--- a/keyboards/yandrstudio/tg67/config.h
+++ b/keyboards/yandrstudio/tg67/config.h
@@ -15,67 +15,8 @@
*/
#pragma once
-/* RGB Matrix */
-#ifdef RGB_MATRIX_ENABLE
-
-# define RGB_MATRIX_LED_COUNT 69
-
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-
-# define WS2812_PWM_DRIVER PWMD3
-# define WS2812_PWM_CHANNEL 2
-# define WS2812_PWM_PAL_MODE 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM3
-# define WS2812_DMA_CHANNEL 3
-
-#endif
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
diff --git a/keyboards/yandrstudio/tg67/info.json b/keyboards/yandrstudio/tg67/info.json
index a82f58300b..0e4a0f6243 100644
--- a/keyboards/yandrstudio/tg67/info.json
+++ b/keyboards/yandrstudio/tg67/info.json
@@ -11,7 +11,54 @@
"driver": "pwm"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 250,
+ "sleep": true
},
"matrix_pins": {
"cols": ["B2", "B10", "B11", "A8", "A9", "A10", "B5", "A15", "B3", "A2", "A3", "B4", "A4", "A5", "A6"],
diff --git a/keyboards/yandrstudio/yr6095/config.h b/keyboards/yandrstudio/yr6095/config.h
index 592953720f..05a8922788 100644
--- a/keyboards/yandrstudio/yr6095/config.h
+++ b/keyboards/yandrstudio/yr6095/config.h
@@ -15,13 +15,9 @@
*/
#pragma once
-# define RGBLIGHT_LAYERS
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-# define RGBLIGHT_LAYERS_RETAIN_VAL
+#define RGBLIGHT_LAYERS_RETAIN_VAL
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define WS2812_PWM_DRIVER PWMD3
-# define WS2812_PWM_CHANNEL 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM3
-# define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
diff --git a/keyboards/yandrstudio/yr6095/info.json b/keyboards/yandrstudio/yr6095/info.json
index 0ea82bd3ad..7f5308f50a 100644
--- a/keyboards/yandrstudio/yr6095/info.json
+++ b/keyboards/yandrstudio/yr6095/info.json
@@ -19,6 +19,13 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
}
},
"ws2812": {
diff --git a/keyboards/yandrstudio/yr80/config.h b/keyboards/yandrstudio/yr80/config.h
index a0841c469c..08e10e243e 100644
--- a/keyboards/yandrstudio/yr80/config.h
+++ b/keyboards/yandrstudio/yr80/config.h
@@ -16,14 +16,10 @@
#pragma once
-# define RGBLIGHT_LAYERS
-# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-# define RGBLIGHT_LAYERS_RETAIN_VAL
+#define RGBLIGHT_LAYERS_RETAIN_VAL
-# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
-
-# define WS2812_PWM_DRIVER PWMD3
-# define WS2812_PWM_CHANNEL 2
-# define WS2812_PWM_PAL_MODE 2
-# define WS2812_DMA_STREAM STM32_DMA1_STREAM3
-# define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
diff --git a/keyboards/yandrstudio/yr80/info.json b/keyboards/yandrstudio/yr80/info.json
index ce9f4bc379..3581fa9d1c 100644
--- a/keyboards/yandrstudio/yr80/info.json
+++ b/keyboards/yandrstudio/yr80/info.json
@@ -19,6 +19,13 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_mood"
+ },
+ "layers": {
+ "enabled": true,
+ "override_rgb": true
}
},
"ws2812": {
diff --git a/keyboards/yatara/drink_me/keymaps/caterpillar/keymap.c b/keyboards/yatara/drink_me/keymaps/caterpillar/keymap.c
deleted file mode 100644
index f7bfdf1df5..0000000000
--- a/keyboards/yatara/drink_me/keymaps/caterpillar/keymap.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- LSFT(KC_O),
- LSFT(KC_R),
- LSFT(KC_U),
- LSFT(KC_SLSH)
- )
-};
diff --git a/keyboards/yatara/drink_me/keymaps/caterpillar/readme.md b/keyboards/yatara/drink_me/keymaps/caterpillar/readme.md
deleted file mode 100644
index d04a30f238..0000000000
--- a/keyboards/yatara/drink_me/keymaps/caterpillar/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Drink Me - Caterpillar layout
-
-> ‘Who are you?’ said the Caterpillar.
-
-![Drink Me - Default layout](https://i.imgur.com/BHWNATB.png)
-
-```
-O, R, U, ?
-```
diff --git a/keyboards/yatara/drink_me/keymaps/cheshire_cat/keymap.c b/keyboards/yatara/drink_me/keymaps/cheshire_cat/keymap.c
deleted file mode 100644
index 528c1e408e..0000000000
--- a/keyboards/yatara/drink_me/keymaps/cheshire_cat/keymap.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_LEFT,
- KC_DOWN,
- KC_UP,
- KC_RIGHT
- )
-};
diff --git a/keyboards/yatara/drink_me/keymaps/cheshire_cat/readme.md b/keyboards/yatara/drink_me/keymaps/cheshire_cat/readme.md
deleted file mode 100644
index 1dd0d658a3..0000000000
--- a/keyboards/yatara/drink_me/keymaps/cheshire_cat/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Drink Me - Cheshire Cat layout
-
-> ‘Would you tell me, please, which way I ought to go from here?’
->
-> ‘That depends a good deal on where you want to get to,’ said the Cat.
-
-Cursor keys in VI layout.
-
-![Drink Me - Default layout](https://i.imgur.com/E4cScrK.png)
-
-```
-Left, Down, Up, Right
-```
diff --git a/keyboards/yatara/drink_me/keymaps/dormouse/keymap.c b/keyboards/yatara/drink_me/keymaps/dormouse/keymap.c
deleted file mode 100644
index e2d29a026a..0000000000
--- a/keyboards/yatara/drink_me/keymaps/dormouse/keymap.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_SLEP,
- KC_MUTE,
- KC_VOLD,
- KC_VOLU
- )
-};
diff --git a/keyboards/yatara/drink_me/keymaps/dormouse/readme.md b/keyboards/yatara/drink_me/keymaps/dormouse/readme.md
deleted file mode 100644
index 1a8c854d44..0000000000
--- a/keyboards/yatara/drink_me/keymaps/dormouse/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Drink Me - Dormouse layout
-
-> The Dormouse slowly opened his eyes. ‘I wasn’t asleep,’ he said in a hoarse, feeble voice: ‘I heard every word you fellows were saying.’
-
-Sleep and volume control.
-
-![Drink Me - Default layout](https://i.imgur.com/VQXH512.png)
-
-```
-Sleep, Mute, Volume down, Volume up
-```
diff --git a/keyboards/yatara/drink_me/keymaps/dormouse/rules.mk b/keyboards/yatara/drink_me/keymaps/dormouse/rules.mk
deleted file mode 100644
index fcfd2225bc..0000000000
--- a/keyboards/yatara/drink_me/keymaps/dormouse/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-EXTRAKEY_ENABLE = yes
diff --git a/keyboards/yatara/drink_me/keymaps/queen/config.h b/keyboards/yatara/drink_me/keymaps/queen/config.h
deleted file mode 100644
index 4cb538fc6c..0000000000
--- a/keyboards/yatara/drink_me/keymaps/queen/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/yatara/drink_me/keymaps/queen/keymap.c b/keyboards/yatara/drink_me/keymaps/queen/keymap.c
deleted file mode 100644
index 806dae3fcd..0000000000
--- a/keyboards/yatara/drink_me/keymaps/queen/keymap.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-enum td_keys {
- TD_K0,
- TD_K1,
- TD_K2,
- TD_K3
-};
-
-
-void td_spade_lnx (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_unicode(0x2660); // â™ 
- } else {
- set_unicode_input_mode(UNICODE_MODE_LINUX);
- }
- reset_tap_dance(state);
-}
-
-
-void td_diamond_osx (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_unicode(0x2666); // ♦
- } else {
- set_unicode_input_mode(UNICODE_MODE_MACOS);
- }
- reset_tap_dance(state);
-}
-
-
-void td_club_win (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_unicode(0x2663); // ♣
- } else {
- set_unicode_input_mode(UNICODE_MODE_WINDOWS);
- }
- reset_tap_dance(state);
-}
-
-
-void td_heart_winc (tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_unicode(0x2665); // ♥
- } else {
- set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE);
- }
- reset_tap_dance(state);
-}
-
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_K0] = ACTION_TAP_DANCE_FN(td_spade_lnx),
- [TD_K1] = ACTION_TAP_DANCE_FN(td_diamond_osx),
- [TD_K2] = ACTION_TAP_DANCE_FN(td_club_win),
- [TD_K3] = ACTION_TAP_DANCE_FN(td_heart_winc)
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- TD(TD_K0),
- TD(TD_K1),
- TD(TD_K2),
- TD(TD_K3)
- )
-};
diff --git a/keyboards/yatara/drink_me/keymaps/queen/readme.md b/keyboards/yatara/drink_me/keymaps/queen/readme.md
deleted file mode 100644
index cd89b7b0cb..0000000000
--- a/keyboards/yatara/drink_me/keymaps/queen/readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Drink Me - Queen layout
-
-> ‘Off with her head!’ the Queen shouted at the top of her voice. Nobody moved.
->
-> ‘Who cares for you?’ said Alice, (she had grown to her full size by this time.) ‘You’re nothing but a pack of cards!’
-
-Single tap for unicode symbols for playing card suits:
-
-![Drink Me - Queen layout single tap](https://i.imgur.com/xwHicLJ.png)
-
-```
-Spade, Diamond, Club, Heart
-```
-
-Double tap to change operating system unicode input method:
-
-![Drink Me - Queen layout double tap](https://i.imgur.com/fBbzq55.png)
-```
-Linux, OSX, Windows, Wincompose
-```
diff --git a/keyboards/yatara/drink_me/keymaps/queen/rules.mk b/keyboards/yatara/drink_me/keymaps/queen/rules.mk
deleted file mode 100644
index 705db8e333..0000000000
--- a/keyboards/yatara/drink_me/keymaps/queen/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-UNICODE_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/ydkb/grape/config.h b/keyboards/ydkb/grape/config.h
index c0bea85aba..a835243d58 100644
--- a/keyboards/ydkb/grape/config.h
+++ b/keyboards/ydkb/grape/config.h
@@ -28,5 +28,3 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/ydkb/grape/info.json b/keyboards/ydkb/grape/info.json
index 32c9914bdb..75aa8fffaf 100644
--- a/keyboards/ydkb/grape/info.json
+++ b/keyboards/ydkb/grape/info.json
@@ -12,6 +12,9 @@
"pin": "B7",
"breathing": true
},
+ "dynamic_keymap": {
+ "layer_count": 3
+ },
"rgblight": {
"led_count": 4
},
diff --git a/keyboards/ydkb/just60/keymaps/thinxer/keymap.c b/keyboards/ydkb/just60/keymaps/thinxer/keymap.c
deleted file mode 100644
index ebb7ba3673..0000000000
--- a/keyboards/ydkb/just60/keymaps/thinxer/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2019 Jianfei Wang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN,
- _COMMAND
-};
-
-#define FN_SPC LT(_FN, KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(_FN), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, FN_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_FN] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- KC_CAPS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, MO(_COMMAND),
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
- [_COMMAND] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ydkb/just60/keymaps/thinxer/readme.md b/keyboards/ydkb/just60/keymaps/thinxer/readme.md
deleted file mode 100644
index 9cd12c192f..0000000000
--- a/keyboards/ydkb/just60/keymaps/thinxer/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# thinxer keymap for Just60
-
-This is a duplicate of the default keymap, but for a Just60 with the QMK DFU bootloader.
-
-This layout is an ANSI layout with a Minila spacebar row.
-
-```
- +-------------------------------------------------------------------------+
- | 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 |
- +-------------------------------------------------------------------------+
- | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT |
- +-------------------------------------------------------------------------+
- | LCMD | LALT | LGUI | FN | SPACE | RGUI | RALT | LEFT | DOWN | UP | RGHT |
- +-------------------------------------------------------------------------+
-```
diff --git a/keyboards/ydkb/just60/keymaps/thinxer/rules.mk b/keyboards/ydkb/just60/keymaps/thinxer/rules.mk
deleted file mode 100644
index 0613ea8667..0000000000
--- a/keyboards/ydkb/just60/keymaps/thinxer/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-BOOTLOADER = qmk-dfu
diff --git a/keyboards/yiancardesigns/barleycorn/matrix.c b/keyboards/yiancardesigns/barleycorn/matrix.c
index 99366d6098..9ef2926566 100644
--- a/keyboards/yiancardesigns/barleycorn/matrix.c
+++ b/keyboards/yiancardesigns/barleycorn/matrix.c
@@ -42,9 +42,9 @@ static void init_pins(void) {
unselect_rows();
// Set I/O
uint8_t send_data[2] = { 0xFF, 0x03};
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20);
// Set Pull-up
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20);
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if ( x < 8 ) {
@@ -75,7 +75,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
matrix_io_delay();
uint8_t port_expander_col_buffer[2];
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20);
// For each col...
for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
diff --git a/keyboards/yiancardesigns/gingham/gingham.c b/keyboards/yiancardesigns/gingham/gingham.c
index 496ae35705..f34d4d7cfd 100644
--- a/keyboards/yiancardesigns/gingham/gingham.c
+++ b/keyboards/yiancardesigns/gingham/gingham.c
@@ -22,7 +22,7 @@ void matrix_init_kb(void) {
// Due to the way the port expander is setup both LEDs are already outputs. This is set n matrix.copy
//Turn the red LED on as power indicator.
send_data = 0x10;
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
matrix_init_user();
}
@@ -31,7 +31,7 @@ bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
send_data = led_state.caps_lock ? 0x18 : 0x10;
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
}
return res;
}
diff --git a/keyboards/yiancardesigns/gingham/matrix.c b/keyboards/yiancardesigns/gingham/matrix.c
index 47c8830565..d17518b494 100644
--- a/keyboards/yiancardesigns/gingham/matrix.c
+++ b/keyboards/yiancardesigns/gingham/matrix.c
@@ -42,9 +42,9 @@ static void init_pins(void) {
unselect_rows();
// Set I/O
uint8_t send_data = 0x07;
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
// Set Pull-up
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if ( (x > 0) && (x < 12) ) {
@@ -80,15 +80,15 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// Select the col pin to read (active low)
switch (col_index) {
case 0 :
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
pin_state = pin_state & 0x01;
break;
case 12 :
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
pin_state = pin_state & (1 << 2);
break;
case 13 :
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &pin_state, 1, 20);
pin_state = pin_state & (1 << 1);
break;
default :
diff --git a/keyboards/yiancardesigns/seigaiha/matrix.c b/keyboards/yiancardesigns/seigaiha/matrix.c
index 212b8015f0..55ee239db4 100644
--- a/keyboards/yiancardesigns/seigaiha/matrix.c
+++ b/keyboards/yiancardesigns/seigaiha/matrix.c
@@ -42,9 +42,9 @@ static void init_pins(void) {
unselect_rows();
// Set I/O
uint8_t send_data = 0x1F;
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20);
// Set Pull-up
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20);
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if ( x < 10 ) {
@@ -75,7 +75,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
matrix_io_delay();
uint8_t port_expander_col_buffer;
- i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &port_expander_col_buffer, 1, 20);
+ i2c_read_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &port_expander_col_buffer, 1, 20);
// For each col...
for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
diff --git a/keyboards/yiancardesigns/seigaiha/seigaiha.c b/keyboards/yiancardesigns/seigaiha/seigaiha.c
index 7a39637b91..03d420f053 100644
--- a/keyboards/yiancardesigns/seigaiha/seigaiha.c
+++ b/keyboards/yiancardesigns/seigaiha/seigaiha.c
@@ -26,7 +26,7 @@ void led_update_ports(led_t led_state) {
} else {
send_data &= ~(1 << 5);
}
- i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x0A, &send_data, 1, 20);
+ i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x0A, &send_data, 1, 20);
}
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
diff --git a/keyboards/ymdk/bface/keymaps/minila/keymap.c b/keyboards/ymdk/bface/keymaps/minila/keymap.c
deleted file mode 100644
index f249b50e20..0000000000
--- a/keyboards/ymdk/bface/keymaps/minila/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2019 Ethan Durrant (emdarcher)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BL,
- _FL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- //Base Layer
- [_BL] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, MT(MOD_RCTL, KC_ENT),
- SC_LSPO, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FL), KC_SPC, MO(_FL), KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- //FN Layer
- [_FL] = LAYOUT_all(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
- _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, NK_TOGG, KC_PSCR, KC_SCRL, KC_PAUS, _______, BL_STEP, BL_TOGG,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_INS, KC_HOME, KC_PGUP, KC_BSPC, _______, _______, _______,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/ymdk/bface/keymaps/minila/readme.md b/keyboards/ymdk/bface/keymaps/minila/readme.md
deleted file mode 100644
index 7b3760c136..0000000000
--- a/keyboards/ymdk/bface/keymaps/minila/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Basically layout like on Filco Minila board, found here: https://geekboards.ru/product/filco-minila
-
-There is one single function layer that can be accessed by holding either FN key or Caps Lock. Enter is also a Right Control when held down. Shifts are also '(' and ')' respectively when tapped.
-
-You can control underglow RGBs:
-
-* FN+Z - Toggle
-* FN+X - Effect
-* FN+C - Color
-* FN+V - Brightness lower
-* FN+B - Brightness higher
diff --git a/keyboards/ymdk/id75/config.h b/keyboards/ymdk/id75/config.h
index ed0d3f9539..14ed1d644c 100644
--- a/keyboards/ymdk/id75/config.h
+++ b/keyboards/ymdk/id75/config.h
@@ -16,13 +16,6 @@
#pragma once
-#define RGB_MATRIX_LED_COUNT 89
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_PWM_PAL_MODE 2
diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/info.json
index e30afaf717..76bed29efb 100644
--- a/keyboards/ymdk/id75/info.json
+++ b/keyboards/ymdk/id75/info.json
@@ -158,7 +158,8 @@
{"flags": 2, "x": 190, "y": 0},
{"flags": 2, "x": 224, "y": 0}
],
- "max_brightness": 128
+ "max_brightness": 128,
+ "sleep": true
},
"usb": {
"device_version": "0.0.1",
diff --git a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/config.h b/keyboards/ymdk/melody96/hotswap/keymaps/zunger/config.h
deleted file mode 100644
index cc06440e0d..0000000000
--- a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// Enable cmd-option-escape on mac.
-#define GRAVE_ESC_ALT_OVERRIDE
-
-// place overrides here
diff --git a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/keymap.c b/keyboards/ymdk/melody96/hotswap/keymaps/zunger/keymap.c
deleted file mode 100644
index c84f656080..0000000000
--- a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/keymap.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/* Copyright 2019 Yonatan Zunger
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 <assert.h>
-
-// This keymap is designed to make it easy to type in a wide variety of languages, as well as
-// generate mathematical symbols (à la Space Cadet).
-//
-// LAYER MAGIC (aka, typing in many alphabets)
-// This keyboard has three "base" layers: QWERTY, GREEK, and CADET. The GREEK and CADET layers
-// are actually full of Unicode points, and so which point they generate depends on things like
-// whether the shift key is down. To handle this, each of those layers is actually *two* layers, one
-// with and one without shift. In our main loop, we manage modifier state detection, as well as
-// layer switch detection, and pick the right layer on the fly.
-// Layers are selected with a combination of three keys. The "Greek" and "Cadet" keys act like
-// modifiers: When held down, they transiently select the indicated base layer. The "Layer Lock" key
-// locks the value of the base layer at whatever is currently held; so e.g., if you hold Greek +
-// Layer Lock, you'll stay in Greek mode until you hit Layer Lock again without any of the mods
-// held.
-// TODO: This system of layer selection is nice for math, but it's not very nice for actually
-// typing in multiple languages. It seems like a better plan will be to reserve one key for each
-// base layer -- maybe fn + F(n) -- which can either be held as a modifier or tapped to switch
-// layers. That will open up adding some more languages, like Yiddish, but to do this effectively
-// we'll need to find a good UI with which to show the currently selected layer. Need to check what
-// the melody96 has in the way of outputs (LEDs, sound, etc).
-//
-// ACCENT MAGIC (aka, typing conveniently in Romance languages)
-// We want to support easy typing of diacritical marks. We can't rely on the host OS for this,
-// because (e.g.) on MacOS, to make any of the other stuff work, we need to be using the Unicode
-// input method at the OS level, which breaks all the normal accent stuff on that end. So we do it
-// ourselves. Accents can actually be invoked in two different ways: one fast and very compatible,
-// one very versatile but with occasional compatibility problems.
-//
-// THE MAIN WAY: You can hit one of the "accent request" key patterns immediately *before* typing
-// a letter to be accented. It will emit the corresponding accented Unicode. For example, you can
-// hit fn-e to request an acute accent, followed by i, and it will output í, U+00ED LATIN SMALL
-// LETTER I WITH ACUTE. These "combined characters" are in Unicode normal form C (NFKC), which is
-// important because many European websites and apps, in particular, tend to behave very badly
-// (misunderstanding and/or crashing) when presented with characters in other forms! The catch is
-// that this only works for the various combinations of letters and accents found in the Latin-1
-// supplement block of Unicode -- basically, things you need for Western European languages.
-//
-// (NB: If you make an accent request followed by a letter which can't take the corresponding
-// accent, it will output the uncombined form of the accent followed by whatever you typed; so
-// e.g., if you hit fn-e followed by f, it will output ´f, U+00B4 ACUTE ACCENT followed by an
-// ordinary f. This is very similar to the default behavior of MacOS.)
-//
-// THE FLEXIBLE WAY: If you hit the accent request with a shift -- e.g., fn-shift-e -- it will
-// instead immediately output the corresponding *combining* Unicode accent mark, which will modify
-// the *previous* character you typed. For example, if you type i followed by fn-shift-e, it will
-// generate iÌ. But don't be fooled by visual similarity: unlike the previous example, this one is
-// an ordinary i followed by U+0301 COMBINING ACUTE ACCENT. It's actually *two symbols*, and this
-// is Unicode normal form D (NFKD). Unlike NFKC, there are NFKD representations of far more
-// combinations of letters and accents, and it's easy to add more of these if you need. (The NFKC
-// representation of such combinations is identical to their NFKD representation)
-//
-// Programs that try to compare Unicode strings *should* first normalize them by converting them
-// all into one normal form or another, and there are functions in every programming language to
-// do this -- e.g., JavaScript's string.normalize() -- but lots of programmers fail to understand
-// this, and so write code that massively freaks out when it encounters the wrong form.
-//
-// The current accent request codes are modeled on the ones in MacOS.
-//
-// fn+` Grave accent (`)
-// fn+e Acute accent (´)
-// fn+i Circumflex (^)
-// fn+u Diaresis / umlaut / trema (¨)
-// fn+c Cedilla (¸)
-// fn+n Tilde (˜)
-//
-// Together, these functions make for a nice "polyglot" keyboard: one that can easily type in a wide
-// variety of languages, which is very useful for people who, well, need to type in a bunch of
-// languages.
-//
-// The major TODOs are:
-// - Update the layer selection logic (and add visible layer cues);
-// - Factor the code below so that the data layers are more clearly separated from the code logic,
-// so that other users of this keymap can easily add whichever alphabets they need without
-// having to deeply understand the implementation.
-
-
-enum custom_keycodes {
- // We provide special layer management keys:
- // GREEK triggers the Greek (aka "Front") layer, or the SHIFTGREEK layer when shift is held.
- // (Because we use Unicode, we need to implement shift-handling at the firmware level,
- // rather than the OS level like we do in the QWERTY layer)
- // CADET or GREEK+ALT triggers the Cadet (aka "Top") layer, or the SHIFTCADET layer when
- // shift is held.
- // LAYER_LOCK locks the "base" layer (i.e., QWERTY, GREEK, or CADET) to the value which is
- // pressed at the moment that it is being released. When a layer lock is set, the
- // analogous layer modifier key is reversed; e.g., if you lock the GREEK layer, then the
- // GREEK button bounces you back to QWERTY.
- //
- // We also parse the shift, alt, and caps lock keys to provide management of those which is
- // compatible with these various layers.
- KC_GREEK = SAFE_RANGE,
- KC_CADET,
- KC_LAYER_LOCK,
-
- // These are the keycodes generated by the various "accent request" keystrokes.
- KC_ACCENT_START,
- KC_CGRV = KC_ACCENT_START, // Grave accent
- KC_CAGU, // Acute accent
- KC_CDIA, // Diaresis / umlaut / trema
- KC_CCIR, // Circumflex
- KC_CCED, // Cedilla
- KC_CTIL, // Tilde
- KC_ACCENT_END,
-};
-
-enum layers_keymap {
- _QWERTY = 0,
- _FUNCTION,
-
- _GREEK,
- _SHIFTGREEK,
- _CADET,
- _SHIFTCADET,
-};
-
-// This is so that H(xxxx) has the same width as _______, which makes the grids more legible.
-#define H(x) UC(0x##x)
-#define MO_FN MO(_FUNCTION)
-#define KC_LLCK KC_LAYER_LOCK
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // NB: Using GESC for escape in the QWERTY layer as a temporary hack because I messed up the
- // switch on the KC_GRV key; change back to KC_ESC once this is fixed.
- [_QWERTY] = LAYOUT_96_ansi(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_MPLY, KC_BRK,
- 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_LLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
- KC_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_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO_FN, KC_GREEK,KC_CADET,KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
- /* The Greek layers. Shown here are the QWERTY layer (for visual reference) and the two Greek
- * layers.
- * ,----------------------------------------------------------------------------
- * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|HOM|END|PGU|PGD|MUT|BRK| QWERTY
- * | ` | ₠| ₂ | ₃ | ₄ | ₅ | ₆ | ₇ | ₈ | ₉ | ₀ | ₋ | ₊ | ₠| ₎ | | | | | SHIFTGREEK
- * | ` | ¹ | ² | ³ | ⴠ| ⵠ| ⶠ| ⷠ| ⸠| ⹠| Ⱐ| ⻠| ⺠| ⽠| ⾠| | | | | GREEK
- * |---------------------------------------------------------------------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |LCK| / | * | - |
- * | ` | ¿ | | € | | | | | | | | | ≠| BKSPC |LCK| | ⊗ | |
- * | | | | | | | | | | | | ∠| ∼ | BKSPC |LCK| ⊘ | ⊙ | ⊖ |
- * |---------------------------------------------------------------------------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | 7 | 8 | 9 | |
- * | | Θ | Ω | Ε | Ρ | Τ | Ψ | Υ | Ι | Ο | Π | | | | | | | |
- * | | θ | ω | ε | Ï | Ï„ | ψ | Ï… | ι | ο | Ï€ | | | | | | | |
- * |-----------------------------------------------------------------------| + |
- * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | RET | 4 | 5 | 6 | ⊕ |
- * | CTRL | Α | Σ | Δ | Φ | Γ | Η | | Κ | Λ | … | ∴ | RET | | | | |
- * | CTRL | α | σ | δ | φ | γ | η | ϑ | κ | λ | ⋯ | ⋅ | RET | | | | |
- * |-----------------------------------------------------------------------|---|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / |SHFT | ↑ | 1 | 2 | 3 | |
- * | SHIFT | Ζ | Ξ | Χ | ✔ | Β | Π| Μ | ≲ | ≳ | |SHFT | | | | | |
- * | SHIFT | ζ | ξ | χ | ς | β | ν | μ | ≪ | ≫ | ∫ |SHFT | | | | | |
- * |-----------------------------------------------------------------------|ENT|
- * | CTL | ALT| CMD| SPACE | α | β | γ | ↠| ↓ | → | 0 | . | |
- * | CTL | ALT| CMD| SPACE | α | β | γ | | | | | | |
- * | CTL | ALT| CMD| SPACE | α | β | γ | | | | | | |
- * `---------------------------------------------------------------------------'
- */
- [_GREEK] = LAYOUT_96_ansi(
- KC_GRV, H(00b9), H(00b2), H(00b3), H(2074), H(2075), H(2076), H(2077), H(2078), H(2079), H(2070), H(207b), H(207a), H(207d), H(207e), XXXXXXX, XXXXXXX, XXXXXXX, _______,
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, H(00b0), _______, _______, H(221d), H(223c), _______, _______, H(2298), H(2299), H(2296),
- _______, H(03b8), H(03c9), H(03b5), H(03c1), H(03c4), H(03c8), H(03c5), H(03b9), H(03bf), H(03c0), KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
- _______, H(03b1), H(03c3), H(03b4), H(03c6), H(03b3), H(03b7), H(03d1), H(03ba), H(03bb), H(22ef), H(22c5), _______, KC_P4, KC_P5, KC_P6, H(2295),
- _______, H(03b6), H(03be), H(03c7), H(03c2), H(03b2), H(03bd), H(03bc), H(226a), H(226b), H(222b), _______, _______, KC_P1, KC_P2, KC_P3,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT),
- [_SHIFTGREEK] = LAYOUT_96_ansi(
- KC_GRV, H(2081), H(2082), H(2083), H(2084), H(2085), H(2086), H(2087), H(2088), H(2089), H(2080), H(208b), H(208a), H(208d), H(208e), XXXXXXX, XXXXXXX, XXXXXXX, _______,
- KC_GRV, H(00bf), _______, H(20ac), _______, _______, _______, _______, _______, _______, _______, XXXXXXX, H(2241), _______, _______, XXXXXXX, H(2297), XXXXXXX,
- _______, H(0398), H(03a9), H(0395), H(03a1), H(03a4), H(03a8), H(03a5), H(0399), H(039f), H(03a0), KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
- _______, H(0391), H(03a3), H(0394), H(03a6), H(0393), H(0397), XXXXXXX, H(039a), H(039b), H(2026), H(2234), _______, KC_P4, KC_P5, KC_P6, H(2295),
- _______, H(0396), H(039e), H(03a7), H(2714), H(0392), H(039d), H(039c), H(2272), H(2273), XXXXXXX, _______, _______, KC_P1, KC_P2, KC_P3,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT),
- /* The Cadet layers. Again, we show the QWERTY layer and the two cadet layers.
- * ,----------------------------------------------------------------------------
- * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|HOM|END|PGU|PGD|MUT|BRK| QWERTY
- * | ∅ | | | | | | | | | | | | | | | | | | | SHIFTCADET
- * | ¬ | | | | | | | | | | | | | | | | | | | CADET
- * |---------------------------------------------------------------------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |LCK| / | * | - |
- * | ` | ¡ | | £ | | | | | ° | | | * | ∓ | BKSPC |LCK| | | |
- * | | | | | | | | | | | | | ± | BKSPC |LCK| | × | |
- * |---------------------------------------------------------------------------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | 7 | 8 | 9 | |
- * | | ℚ | | | ℠| ⊆ | ⊇ | | ℵ | ∄ | | ∉ | | | * | * | * | |
- * | | ∧ | ∨ | ∩ | ∪ | ⊂ | ⊃ | ∀ | ∞ | ∃ | ∂ | ∈ | | | * | * | * | | [1]
- * |-----------------------------------------------------------------------| + |
- * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | RET | 4 | 5 | 6 | ⊕ |
- * | CTRL | Å | | ∇ | | ⇑ | ⇓ | ⇠| ⇒ | ⇔ | | | RET | * | * | * | |
- * | CTRL | ⟘ | ⊤ | ⊢ | ⊣ | ↑ | ↓ | ↠| → | ↔ | | | RET | * | * | * | | [1]
- * |-----------------------------------------------------------------------|---|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / |SHFT | ↑ | 1 | 2 | 3 | |
- * | SHIFT | ℤ | ℂ | | ≉ | ≢ | ℕ | | | | |SHFT | | * | * | * | |
- * | SHIFT | | ≠ | | ≈ | ≡ | ≤ | ≥ | | | ÷ |SHFT | | * | * | * | | [1]
- * |-----------------------------------------------------------------------|ENT|
- * | CTL | ALT| CMD| SPACE | α | β | γ | ↠| ↓ | → | 0 | . | |
- * | CTL | ALT| CMD| SPACE | α | β | γ | | | | | | |
- * | CTL | ALT| CMD| SPACE | α | β | γ | | | | | | |
- * `---------------------------------------------------------------------------'
- * [1] CADET + numpad moves the mouse. SHIFT+CADET+NUMPAD moves it more quickly. CADET+5
- * clicks the mouse, and SHIFT+CADET+FIVE right-clicks.
- */
- [_CADET] = LAYOUT_96_ansi(
- H(00AC), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, H(00b1), _______, _______, XXXXXXX, H(00d7), XXXXXXX,
- _______, H(2227), H(2228), H(2229), H(222a), H(2282), H(2283), H(2200), H(221e), H(2203), H(2202), H(2208), XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9,
- _______, H(22a5), H(22a4), H(22a2), H(22a3), H(2191), H(2193), H(2190), H(2192), H(2194), XXXXXXX, XXXXXXX, _______, KC_P4, KC_P5, KC_P6, XXXXXXX,
- _______, XXXXXXX, H(2260), XXXXXXX, H(2248), H(2261), H(2264), H(2265), XXXXXXX, XXXXXXX, H(00f7), _______, _______, KC_P1, KC_P2, KC_P3,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT),
- [_SHIFTCADET] = LAYOUT_96_ansi(
- H(2205), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- KC_GRV, H(00a1), XXXXXXX, H(00a3), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, H(2213), _______, _______, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, H(211a), XXXXXXX, XXXXXXX, H(211d), H(2286), H(2287), XXXXXXX, H(2135), H(2204), XXXXXXX, H(2209), XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9,
- _______, H(212b), XXXXXXX, H(2207), XXXXXXX, H(21d1), H(21d3), H(21d0), H(21d2), H(21d4), XXXXXXX, XXXXXXX, _______, KC_P4, KC_P5, KC_P6, XXXXXXX,
- _______, H(2124), H(2102), XXXXXXX, H(2249), H(2262), H(2115), XXXXXXX, XXXXXXX, XXXXXXX, H(00f7), _______, _______, KC_P1, KC_P2, KC_P3,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT),
-
- // Function layer is mostly for keyboard meta-control operations, but also contains the combining
- // accent marks. These are deliberately placed to match where the analogous controls go on Mac OS.
- [_FUNCTION] = LAYOUT_96_ansi(
- KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT,
- KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_CAGU, _______, _______, _______, KC_CDIA, KC_CCIR, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, UC_MAC, UC_LINX, UC_WIN, UC_BSD, UC_WINC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_CCED, _______, _______, KC_CTIL, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-// Accent implementation
-//
-// In the body of process_record_user, we store an "accent_request", which is the accent keycode if
-// one was just selected, or zero otherwise. When the *next* key is hit, we look up whether the
-// accent request plus that next keycode (plus the state of the shift key) together amount to an
-// interesting combined (NFKC) character, and if so, emit it; otherwise, we emit the accent as a
-// separate character and then process the next key normally. The resulting UI behavior is similar
-// to that of the combining accent keys in MacOS.
-//
-// We store two arrays, depending on whether shift is or isn't held. Each is two-dimensional, with
-// its outer key by the next keycode struck, and the inner key by the accent requested. The outer
-// array has KC_Z + 1 as its upper bound, so that we can save memory by only coding alphabetic keys.
-// The contents are either Unicode code points, or zero to indicate that we don't have a point for
-// this combination.
-
-#define KC_NUM_ACCENTS (KC_ACCENT_END - KC_ACCENT_START)
-#define KC_NUM_SLOTS (KC_Z + 1)
-
-const uint16_t PROGMEM unshifted_accents[KC_NUM_SLOTS][KC_NUM_ACCENTS] = {
- // KC_CGRV, KC_CAGU, KC_CDIA, KC_CCIR, KC_CCED, KC_CTIL
- [KC_A] = { 0x00e0, 0x00e1, 0x00e4, 0x00e2, 0, 0x00e3 },
- [KC_E] = { 0x00e8, 0x00e9, 0x00eb, 0x00ea, 0, 0 },
- [KC_I] = { 0x00ec, 0x00ed, 0x00ef, 0x00ee, 0, 0 },
- [KC_O] = { 0x00f2, 0x00f3, 0x00f6, 0x00f4, 0, 0x00f5 },
- [KC_U] = { 0x00f9, 0x00fa, 0x00fc, 0x00fb, 0, 0 },
- [KC_Y] = { 0, 0, 0x00ff, 0, 0, 0 },
- [KC_N] = { 0, 0, 0, 0, 0, 0x00f1 },
- [KC_C] = { 0, 0, 0, 0, 0x00e7, 0 },
-};
-
-const uint16_t PROGMEM shifted_accents[KC_NUM_SLOTS][KC_NUM_ACCENTS] = {
- // KC_CGRV, KC_CAGU, KC_CDIA, KC_CCIR, KC_CCED, KC_CTIL
- [KC_A] = { 0x00c0, 0x00c1, 0x00c4, 0x00c2, 0, 0x00c3 },
- [KC_E] = { 0x00c8, 0x00c9, 0x00cb, 0x00ca, 0, 0 },
- [KC_I] = { 0x00cc, 0x00cd, 0x00cf, 0x00ce, 0, 0 },
- [KC_O] = { 0x00d2, 0x00d3, 0x00d6, 0x00d4, 0, 0x00d5 },
- [KC_U] = { 0x00d9, 0x00da, 0x00dc, 0x00db, 0, 0 },
- [KC_Y] = { 0, 0, 0x00df, 0, 0, 0 },
- [KC_N] = { 0, 0, 0, 0, 0, 0x00d1 },
- [KC_C] = { 0, 0, 0, 0, 0x00c7, 0 },
-};
-
-// The uncombined and combined forms of the accents, for when we want to emit them as single
-// characters.
-const uint16_t PROGMEM uncombined_accents[KC_NUM_ACCENTS] = {
- [KC_CGRV - KC_ACCENT_START] = 0x0060,
- [KC_CAGU - KC_ACCENT_START] = 0x00b4,
- [KC_CDIA - KC_ACCENT_START] = 0x00a8,
- [KC_CCIR - KC_ACCENT_START] = 0x005e,
- [KC_CCED - KC_ACCENT_START] = 0x00b8,
- [KC_CTIL - KC_ACCENT_START] = 0x02dc,
-};
-
-const uint16_t PROGMEM combined_accents[KC_NUM_ACCENTS] = {
- [KC_CGRV - KC_ACCENT_START] = 0x0300,
- [KC_CAGU - KC_ACCENT_START] = 0x0301,
- [KC_CDIA - KC_ACCENT_START] = 0x0308,
- [KC_CCIR - KC_ACCENT_START] = 0x0302,
- [KC_CCED - KC_ACCENT_START] = 0x0327,
- [KC_CTIL - KC_ACCENT_START] = 0x0303,
-};
-
-// This function manages keypresses that happen after an accent has been selected by an earlier
-// keypress.
-// Args:
-// accent_key: The accent key which was earlier selected. This must be in the range
-// [KC_ACCENT_START, KC_ACCENT_END).
-// keycode: The keycode which was just pressed.
-// is_shifted: The current shift state (as set by a combination of shift and caps lock)
-// force_no_accent: If true, we're in a situation where we want to force there to be no
-// accent combination -- if e.g. we're in a non-QWERTY layer, or if other modifier keys
-// are held.
-//
-// Returns true if the keycode has been completely handled by this function (and so should not be
-// processed further by process_record_user) or false otherwise.
-bool process_key_after_accent(
- uint16_t accent_key,
- uint16_t keycode,
- bool is_shifted,
- bool force_no_accent
-) {
- assert(accent_key >= KC_ACCENT_START);
- assert(accent_key < KC_ACCENT_END);
- const int accent_index = accent_key - KC_ACCENT_START;
-
- // If the keycode is outside A..Z, or force_no_accent is set, we know we shouldn't even bother
- // with a table lookup.
- if (keycode <= KC_Z && !force_no_accent) {
- // Pick the correct array. Because this is progmem, we're going to need to do the
- // two-dimensional array indexing by hand, and so we just cast it to a single-dimensional array.
- const uint16_t *points = (const uint16_t*)(is_shifted ? shifted_accents : unshifted_accents);
- const uint16_t code_point = pgm_read_word_near(points + KC_NUM_ACCENTS * keycode + accent_index);
- if (code_point) {
- register_unicode(code_point);
- return true;
- }
- }
-
- // If we get here, there was no accent match. Emit the accent as its own character, and then let
- // the caller figure out what to do next.
- register_unicode(pgm_read_word_near(uncombined_accents + accent_index));
- return false;
-}
-
-// Layer bitfields.
-#define GREEK_LAYER (1UL << _GREEK)
-#define SHIFTGREEK_LAYER (1UL << _SHIFTGREEK)
-#define CADET_LAYER (1UL << _CADET)
-#define SHIFTCADET_LAYER (1UL << _SHIFTCADET)
-// The layers we don't touch.
-#define LAYER_MASK ~(GREEK_LAYER|SHIFTGREEK_LAYER|CADET_LAYER|SHIFTCADET_LAYER)
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // We track these persistent globals and manage them on our own, rather than trying to rely on
- // get_mods or the like, because this function is called *before* that's updated!
- static bool shift_held = false;
- static bool alt_held = false;
- static bool ctrl_held = false;
- static bool super_held = false;
- static bool greek_held = false;
- static bool cadet_held = false;
-
- // These are where we remember the values of lock states.
- static bool shift_lock = false;
- static int layer_lock = _QWERTY;
-
- // The accent request, or zero if there isn't one.
- static uint16_t accent_request = 0;
-
- // If this is set to true, don't trigger any handling of pending accent requests. That's what we
- // want to do if e.g. the user just hit the shift key or something.
- bool ignore_accent_change = !record->event.pressed;
-
- // Step 1: Process any modifier key state changes, so we can maintain that state.
- if (keycode == KC_LSFT || keycode == KC_RSFT) {
- shift_held = record->event.pressed;
- ignore_accent_change = true;
- } else if (keycode == KC_LALT || keycode == KC_RALT) {
- alt_held = record->event.pressed;
- ignore_accent_change = true;
- } else if (keycode == KC_LCTL || keycode == KC_RCTL) {
- ctrl_held = record->event.pressed;
- ignore_accent_change = true;
- } else if (keycode == KC_LGUI || keycode == KC_RGUI) {
- super_held = record->event.pressed;
- ignore_accent_change = true;
- } else if (keycode == KC_GREEK) {
- greek_held = record->event.pressed;
- ignore_accent_change = true;
- } else if (keycode == KC_CADET) {
- cadet_held = record->event.pressed;
- ignore_accent_change = true;
- }
-
- // Step 2: Figure out which layer we're supposed to be in, by transforming all the prior stuff
- // into layer requests.
- const bool greek_request = (greek_held && !alt_held);
- const bool cadet_request = (cadet_held || (greek_held && alt_held));
-
- // Now, handle the lock keys. We store next_layer_lock in a local variable so that we can
- // determine the layer to pick right now before we update layer_lock.
- int next_layer_lock = layer_lock;
- if (keycode == KC_CAPS) {
- // If we're in QWERTY mode, caps lock is already going to be managed by the host OS, but by
- // tracking it ourselves we can also usefully apply it to the GREEK and CADET layers.
- if (record->event.pressed) {
- shift_lock = !shift_lock;
- }
- } else if (keycode == KC_LAYER_LOCK) {
- if (record->event.pressed) {
- if (cadet_request) {
- next_layer_lock = _CADET;
- } else if (greek_request) {
- next_layer_lock = _GREEK;
- } else {
- next_layer_lock = _QWERTY;
- }
- }
- }
-
- // OK! Now we know which buttons are being held, and the current and upcoming states of the locks.
- // We can compute our new base layer. Remember that the CADET and GREEK keys act as their own
- // antonyms if they match the layer lock -- e.g., if you have CADET locked, then CADET+X generates
- // QWERTY-X.
- int base_layer;
- if (cadet_request) {
- base_layer = (layer_lock == _CADET ? _QWERTY : _CADET);
- } else if (greek_request) {
- base_layer = (layer_lock == _GREEK ? _QWERTY : _GREEK);
- } else {
- base_layer = layer_lock;
- }
-
- const bool shifted = (shift_held != shift_lock);
- int actual_layer;
- if (base_layer == _CADET) {
- actual_layer = (shifted ? _SHIFTCADET : _CADET);
- } else if (base_layer == _GREEK) {
- actual_layer = (shifted ? _SHIFTGREEK : _GREEK);
- } else {
- // We don't do shifting for the QWERTY layer, since for that we emit USB HID codes and shifting
- // is managed by the host OS.
- actual_layer = _QWERTY;
- }
-
- // And now we can update the layer lock and the actual firmware layer selector.
- layer_lock = next_layer_lock;
- layer_state_t new_layer_state = (layer_state & LAYER_MASK) | (1UL << actual_layer);
- if (new_layer_state != layer_state) {
- layer_state_set(new_layer_state);
- }
-
- // Step 3: Handle accents. If there's a pending accent request, process it. If what the user just
- // hit creates a new accent request, update the pending state for the next keypress.
- if (!ignore_accent_change && accent_request && record->event.pressed) {
- // Only do the accent stuff if we're in the QWERTY layer and we aren't modifying something.
- const bool force_no_accent = (
- actual_layer != _QWERTY ||
- ctrl_held ||
- super_held ||
- alt_held
- );
- const uint16_t old_accent = accent_request;
- accent_request = 0;
- if (process_key_after_accent(old_accent, keycode, shifted, force_no_accent)) {
- return false;
- }
- }
-
- // And if a new accent request just arrived, update accent_request.
- if (keycode >= KC_ACCENT_START && keycode < KC_ACCENT_END && record->event.pressed) {
- if (shifted) {
- // Shift + accent request generates the combining accent key, and leaves accent_request alone.
- register_unicode(pgm_read_word_near(combined_accents + keycode - KC_ACCENT_START));
- return false;
- } else {
- accent_request = keycode;
- }
- }
-
- return true;
-}
diff --git a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/readme.md b/keyboards/ymdk/melody96/hotswap/keymaps/zunger/readme.md
deleted file mode 100644
index 3eb64a2e73..0000000000
--- a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/readme.md
+++ /dev/null
@@ -1,78 +0,0 @@
-* The "Cadet-Style" keymap for the melody96.
-* Author: Yonatan Zunger (zunger@gmail.com)
-
-This is an experimental keymap being used both for practical reasons (as my daily driver) and to
-work out the ideas of a "space-cadet-style" keyboard which can type text and mathematical symbols
-with equal ease. It's designed for anyone who frequently needs to do this outside of a LaTeX
-environment, or for anyone who loves the old "Space Cadet" keyboard! And it works at its best when
-you have actual Cadet keycaps (like SA Symbolics) installed, because those keycaps will actually
-show what you get.
-
-The core idea of this keyboard is that, in addition to a QWERTY base layer and a function layer, it
-supports two additional base layers -- the GREEK layer (the analogue of the Space Cadet "Greek," or
-"Front," keys) and the CADET layer (the analogue of the Space Cadet "Top" keys). These layers use
-Unicode to generate all of the mathematical symbols you can find on a traditional Space Cadet
-layout, plus a bunch of extras.
-
-Because Unicode can't be encoded using the traditional USB HID protocol, QMK does some clever but
-horrifying things to fool your OS. One consequence of this is that the shift key needs to be handled
-by the keyboard firmware, not the host OS. To handle this, we have two additional layers --
-SHIFTGREEK and SHIFTCADET -- and handle the flipping between all of these layers here in the
-firmware.
-
-*The simple bit: Using this layout on a Melody96*
-
-At the core of this layout are three special modifier keys and two special lock keys:
-
-* The GREEK key, to the right of the spacebar, activates the GREEK layer. GREEK+SHIFT activates
- SHIFTGREEK. These keys generate Greek letters on the letter keys (thus the name), and a few
- mathematical symbols on other keys. They correspond to the notations on the front of traditional
- Space Cadet keys; if your capset doesn't include those (alas, most don't), they're the "pretty
- obvious" mappings.
-* The CADET key, to the right of GREEK, activates the CADET layer. These are the symbols above the
- letters on a Space Cadet layout. CADET+SHIFT activates the SHIFTCADET layer, with even more
- symbols.
-* The FUNCTION key, to the right of CADET, activates the function layer. This is where you have a
- reset mechanism, a selector for which Unicode input type you want, and so on.
-
-Additionally, GREEK+ALT is equivalent to CADET. This is handy for other keyboards where you don't
-have room for this many modifiers.
-
-The lock keys are:
-
-* Caps lock, if you use it, will also act as a "shift lock" for the Greek and Cadet layers. Shift
- lock is slightly different, in that while it is engaged shift will _dis_engage it; that's actually
- pretty useful when typing math.
-* An additional "layer lock" key, by default where "num lock" usually goes, will lock the choice of
- base layer. To use it, hold down any invocation of the GREEK or CADET layers, or none at all, and
- hit lock; it will then put you in that layer. The corresponding modifier key will then toggle you
- back to the QWERTY layer. (So for example, if you hit GREEK+LAYER_LOCK and release them, you're
- now typing in Greek; the GREEK modifier would cause you to type QWERTY momentarily. To go back to
- ordinary QWERTY mode, you'd just hit LAYER_LOCK again with no modifiers held)
-
-To see the full layout, check out the big comment in keymap.c.
-
-*A less-simple bit: Adapting this to other keyboards*
-
-This is really a canary for generic Cadet implementations. Before this can be made generic, a few
-things will have to happen:
-
-(1) Instead of a fixed keymap, this has to be refactored into some kind of array showing the
-mappings of QWERTY-layer keys onto the appropriate code points in the GREEK and CADET layers, and
-some preprocessor magic needs to auto-transform this plus a traditional keymap for the QWERTY layer
-into keymaps for all five of the core layers. (Function layers would presumably be handled on a
-per-keyboard basis)
-
-(2) The standard mapping of those should have some #define's to control things like whether there
-are physical F-keys (you would probably want to move superscript and subscripts onto the numbers if
-there weren't, and figure out what to do with the non-numeric super/sub keys), whether you actually
-want to enable GREEK+ALT=CADET, and so on;
-
-(3) There should be support for controlling indicator LEDs based on the base layer selection,
-caps/shift lock state, and layer lock state, as well as for triggering audio on transitions;
-
-(4) All the core fancy logic in process_record_user which implements the layer handling should be
-factored out into its own function, so that keyboards can easily reuse that, too.
-
-This is a lovely TODO for future work, and could be particularly fun to go along with new releases
-of SA Symbolics and the like. Anyone interested in such things, ping me!
diff --git a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/rules.mk b/keyboards/ymdk/melody96/hotswap/keymaps/zunger/rules.mk
deleted file mode 100644
index a61cfa33fa..0000000000
--- a/keyboards/ymdk/melody96/hotswap/keymaps/zunger/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# You need Unicode for this map.
-UNICODE_ENABLE = yes # Unicode
diff --git a/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c
deleted file mode 100644
index e5eff6ee9d..0000000000
--- a/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- DYNAMIC_MACRO_RANGE,
-};
-
-#include "dynamic_macro.h"
-
-#define KC_REC DM_REC1
-#define KC_DONE DM_RSTP
-#define KC_PLAY DM_PLY1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- 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_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TT(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
-
- LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_TAB,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TAB,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_PLAY, _______, KC_REC, KC_DONE, _______, _______, _______, _______, _______, _______),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
- return true;
-}
diff --git a/keyboards/ymdk/sp64/keymaps/daed/keymap.c b/keyboards/ymdk/sp64/keymaps/daed/keymap.c
deleted file mode 100644
index 723d3b1f88..0000000000
--- a/keyboards/ymdk/sp64/keymaps/daed/keymap.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _GAMER,
- _FN,
- _RAISE,
- _MODE,
- _GACROS,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _FN │ Win │ Alt │ │ _RA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
- MO(_FN), KC_LGUI, KC_LALT, KC_SPACE, MO(_RAISE), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-/* Keymap 1: Gamer layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ 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 │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _FN │ F13 │ Alt │ │ _GA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_GAMER] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
- MO(_FN), KC_F13, KC_LALT, KC_SPACE, MO(_GACROS), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-/* Keymap 2: Function
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FN] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-/* Keymap 3: Raise / Quality of life
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_RAISE] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-/* Keymap 4: Mode switching
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ RGB 0/1│RGBM-│RGBB+│RGBM+│ │ │ │ │ │ │ │ │ │ │ Reset │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │RGBS-│RGBB-│RGBS+│ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_MODE] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- RGB_TOG, RGB_RMOD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, RGB_SPD, RGB_VAD, RGB_SPI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 5: Gaming macros
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ PUSH│ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ FALL│ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ CAP │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_GACROS] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/config.h b/keyboards/ymdk/sp64/keymaps/minkezhang/config.h
deleted file mode 100644
index 5bfa79eb21..0000000000
--- a/keyboards/ymdk/sp64/keymaps/minkezhang/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2022 Minke Zhang (@minkezhang)
-// SPDX-License-Identifier: GPL-3.0-only
-#pragma once
-
-#define RGBLIGHT_LAYERS
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c b/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c
deleted file mode 100644
index e384c2a9e9..0000000000
--- a/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2022 Minke Zhang (@minkezhang)
-// SPDX-License-Identifier: GPL-3.0-only
-#include QMK_KEYBOARD_H
-
-/* Layer transitions diagram
- *
- * BASE <-> _FN [MO]
- * BASE <-> _NUM [TG]
- * _NUM <-> _MIRROR [MO]
- *
- * Direct transitions between layers not listed here are considered bugs.
- */
-enum layer_names {
- BASE, // default layer
- _FN, // function layer
- _NUM, // numpad
- _MIRROR, // mirrorboard layer
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Caps │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │Shft │ Up │ Del │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ Ctrl │ Win │ Alt │ Fn │ Sp │ │ │ Alt │ Fn │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_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_QUOTE, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_SPACE, KC_RALT, TG(_NUM), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-/* Function
- *
- * Cannot access the _NUM layer directly.
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Enter │ │ Lft │ Dwn │ Rgt │ │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ NO │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FN] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_ENT, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______
- ),
-
-/* Numpad
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ │ │ │ │ │ │ │ Num │ / │ * │ - │ | │ |
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ + │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ Ent │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ Fn │ │ │ 0 │ . │ Fn │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_NUM] = LAYOUT(
- KC_GRV, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______,
- _______, _______, _______, MO(_MIRROR), _______, KC_P0, KC_PDOT, TG(_NUM), _______, _______, _______
- ),
-
-/* Mirrorboard
- *
- * Useful in some niche situations per XKCD. Cannot pass directly to BASE layer
- * without releasing the _MIRROR toggle key.
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ Bk │ = │ - │ 0 │ 9 │ 8 │ 7 │ │ │ │ │ │ | │ |
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ \ │ P │ O │ I │ U │ Y │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Enter │ ; │ L │ K │ J │ H │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ ? │ > │ < │ M │ N │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ NO │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_MIRROR] = LAYOUT(
- KC_BSPC, KC_EQUAL, KC_MINUS, KC_0, KC_9, KC_8, KC_7, _______, _______, _______, _______, _______, _______, _______,
- KC_BSLS, KC_P, KC_O, KC_I, KC_U, KC_Y, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_ENT, KC_SCLN, KC_L, KC_K, KC_J, KC_H, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______
- ),
-};
-
-#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
-const rgblight_segment_t PROGMEM BASE_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_OFF});
-const rgblight_segment_t PROGMEM _FN_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_RED});
-const rgblight_segment_t PROGMEM _NUM_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_YELLOW});
-const rgblight_segment_t PROGMEM _MIRROR_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_ORANGE});
-
-const rgblight_segment_t* const PROGMEM user_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- BASE_layer,
- _FN_layer,
- _NUM_layer,
- _MIRROR_layer
-);
-
-void keyboard_post_init_user(void) {
- rgblight_layers = user_rgb_layers;
-}
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, BASE));
-
- return state;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-/* Add some indication for current function layer.
- *
- * N.B.: rgblight_set_layer_state calls rgblight_mode_noeeprom.
- */
- rgblight_set_layer_state(1, layer_state_cmp(state, _FN));
- rgblight_set_layer_state(2, layer_state_cmp(state, _NUM));
- rgblight_set_layer_state(3, layer_state_cmp(state, _MIRROR));
-
- return state;
-}
-#endif
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md b/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md
deleted file mode 100644
index 50d4eb8788..0000000000
--- a/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# YMDK Split 64
-Personal Keymap for [minkezhang](https://github.com/minkezhang)
-
-## Compile
-```bash
-qmk compile -kb ymdk/sp64 -km minkezhang
-```
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk b/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/ymdk/sp64/keymaps/walston/keymap.c b/keyboards/ymdk/sp64/keymaps/walston/keymap.c
deleted file mode 100644
index 5f4af717f7..0000000000
--- a/keyboards/ymdk/sp64/keymaps/walston/keymap.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include QMK_KEYBOARD_H
-enum layer_names {
- BASE, // default layer
- _FUN, // function layer
- _NUMPAD, // num-pad
- _MEDIA // media keys
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ ` │ 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 │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │_MED │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _NUM │_MED │ Alt │ Cmd │ Spc │ │ Space │ Cmd │ Alt │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[BASE] = LAYOUT(
- MT(QK_BOOT, KC_GRAVE), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, OSL(_MEDIA),
- LT(_NUMPAD, KC_CAPS), TT(_MEDIA), KC_LALT, KC_LGUI, LT(_FUN, KC_SPACE), KC_SPACE, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-/* Keymap 1: Function Layer / Vim Arrows
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FUN] = 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_LEFT, KC_UP, KC_DOWN, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 2: NumPad
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ │ Vol-│ Vol+│ Mute │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ |<< │ >>| │ >|| │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ 0 │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_VOLD, KC_VOLU, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_MPRV, KC_MNXT, KC_MPLY,
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 3: Media
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ Backlight │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_MEDIA] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/ymdk/sp64/keymaps/walston/rules.mk b/keyboards/ymdk/sp64/keymaps/walston/rules.mk
deleted file mode 100644
index a6c5cfa18a..0000000000
--- a/keyboards/ymdk/sp64/keymaps/walston/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMMAND_ENABLE = no
diff --git a/keyboards/ymdk/sp64/matrix.c b/keyboards/ymdk/sp64/matrix.c
index b5f0e10462..6f8c7962eb 100644
--- a/keyboards/ymdk/sp64/matrix.c
+++ b/keyboards/ymdk/sp64/matrix.c
@@ -114,7 +114,7 @@ uint8_t matrix_scan(void)
#ifdef RIGHT_HALF
uint8_t data = 0x7F;
// Receive the columns from right half
- i2c_receive(I2C_ADDR_WRITE, &data, 1, MCP23018_I2C_TIMEOUT);
+ i2c_receive(I2C_ADDR, &data, 1, MCP23018_I2C_TIMEOUT);
cols |= ((~(data) & 0x7F) << 7);
#endif
@@ -162,7 +162,7 @@ static void matrix_select_row(uint8_t row)
//Set the remote row on port A
txdata[0] = GPIOA;
txdata[1] = 0xFF & ~(1<<row);
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)txdata, 2, MCP23018_I2C_TIMEOUT);
+ mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)txdata, 2, MCP23018_I2C_TIMEOUT);
#endif
// select other half
diff --git a/keyboards/ymdk/sp64/sp64.c b/keyboards/ymdk/sp64/sp64.c
index 12f2577713..e9f30d91f9 100644
--- a/keyboards/ymdk/sp64/sp64.c
+++ b/keyboards/ymdk/sp64/sp64.c
@@ -39,7 +39,7 @@ uint8_t init_mcp23018(void)
data[0] = IODIRA;
data[1] = 0b00000000;
data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+ mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
if (mcp23018_status != I2C_STATUS_SUCCESS)
goto out;
@@ -50,7 +50,7 @@ uint8_t init_mcp23018(void)
data[0] = GPPUA;
data[1] = 0b00000000;
data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+ mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
if (mcp23018_status != I2C_STATUS_SUCCESS)
goto out;
@@ -61,7 +61,7 @@ uint8_t init_mcp23018(void)
data[0] = OLATA;
data[1] = 0b11111111;
data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+ mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
out:
return (mcp23018_status);
diff --git a/keyboards/ymdk/sp64/sp64.h b/keyboards/ymdk/sp64/sp64.h
index afad36ee9a..0e3e3c38b8 100644
--- a/keyboards/ymdk/sp64/sp64.h
+++ b/keyboards/ymdk/sp64/sp64.h
@@ -23,9 +23,7 @@
# include "i2c_master.h"
// I2C aliases and register addresses (see "mcp23018.md")
-# define I2C_ADDR 0b0100000
-# define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-# define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+# define I2C_ADDR (0b0100000<<1)
# define IODIRA 0x00 // i/o direction register
# define IODIRB 0x01
# define GPPUA 0x0C // GPIO pull-up resistor register
diff --git a/keyboards/ymdk/ymd09/config.h b/keyboards/ymdk/ymd09/config.h
index b66c41ad69..8d59b7832f 100644
--- a/keyboards/ymdk/ymd09/config.h
+++ b/keyboards/ymdk/ymd09/config.h
@@ -18,59 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define RGB_MATRIX_LED_COUNT 9
-
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-//#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-//#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-//#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-//#define ENABLE_RGB_MATRIX_BAND_SAT
-//#define ENABLE_RGB_MATRIX_BAND_VAL
-//#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-//#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-//#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-//#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-//#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-//#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/ymdk/ymd09/info.json b/keyboards/ymdk/ymd09/info.json
index 11552ae5b2..52dc9d3160 100644
--- a/keyboards/ymdk/ymd09/info.json
+++ b/keyboards/ymdk/ymd09/info.json
@@ -46,6 +46,40 @@
}
},
"rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [0, 2], "x": 64, "y": 0}, //7
@@ -58,6 +92,7 @@
{"flags": 4, "matrix": [2, 1], "x": 32, "y": 64}, //2
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 64} //3
],
- "center_point": [32, 32]
+ "center_point": [32, 32],
+ "sleep": true
}
}
diff --git a/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c b/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c
deleted file mode 100644
index 130db7e4e7..0000000000
--- a/keyboards/ymdk/ymd09/keymaps/andys8/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2021 andys8 <andys8@users.noreply.github.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include QMK_KEYBOARD_H
-#include "sendstring_german.h"
-
-enum custom_keycodes {
- GIT_STASH = SAFE_RANGE,
- GIT_STASH_POP,
- GIT_COMMIT,
- COPY_PASTE,
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case GIT_STASH:
- if (record->event.pressed) {
- SEND_STRING("git stash\n");
- }
- break;
- case GIT_STASH_POP:
- if (record->event.pressed) {
- SEND_STRING("git stash pop\n");
- }
- break;
- case GIT_COMMIT:
- if (record->event.pressed) {
- SEND_STRING("git add -A && git commit -a\n");
- }
- break;
- case COPY_PASTE:
- if (record->event.pressed) {
- tap_code16(C(KC_C));
- } else {
- tap_code16(C(KC_V));
- }
- break;
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(GIT_STASH, GIT_STASH_POP, GIT_COMMIT,
- LCTL(KC_F4), LT(1, KC_SPACE), LCTL(KC_F6),
- COPY_PASTE, LCTL(KC_F2), LCTL(KC_F3)),
-
- [1] = LAYOUT(RGB_RMOD, RGB_TOG, RGB_MOD,
- RGB_HUI, KC_TRNS, RGB_SAI,
- RGB_HUD, RGB_M_P, RGB_SAD),
-
-};
diff --git a/keyboards/ymdk/ymd40/air40/config.h b/keyboards/ymdk/ymd40/air40/config.h
deleted file mode 100644
index 2f64f97d93..0000000000
--- a/keyboards/ymdk/ymd40/air40/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2021 Dennis Kruyt (dennis@kruyt.org)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 51
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limit to vendor-recommended value
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif \ No newline at end of file
diff --git a/keyboards/ymdk/ymd40/air40/info.json b/keyboards/ymdk/ymd40/air40/info.json
index daf104ebfe..4e791c87c4 100644
--- a/keyboards/ymdk/ymd40/air40/info.json
+++ b/keyboards/ymdk/ymd40/air40/info.json
@@ -9,7 +9,54 @@
"device_version": "0.0.1"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations":{
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 130,
+ "sleep": true
},
"matrix_pins": {
"cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"],
diff --git a/keyboards/ymdk/ymd75/rev4/iso/config.h b/keyboards/ymdk/ymd75/rev4/iso/config.h
index 317c0ec236..58c4b34d61 100644
--- a/keyboards/ymdk/ymd75/rev4/iso/config.h
+++ b/keyboards/ymdk/ymd75/rev4/iso/config.h
@@ -2,8 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
#define WS2812_PWM_DRIVER PWMD4
#define WS2812_PWM_CHANNEL 4
#define WS2812_PWM_PAL_MODE 2
diff --git a/keyboards/ymdk/ymd75/rev4/iso/info.json b/keyboards/ymdk/ymd75/rev4/iso/info.json
index d7e27dbdeb..180c68beaa 100644
--- a/keyboards/ymdk/ymd75/rev4/iso/info.json
+++ b/keyboards/ymdk/ymd75/rev4/iso/info.json
@@ -179,7 +179,8 @@
{ "flags": 2, "x": 38, "y": 60 },
{ "flags": 2, "x": 1, "y": 60 },
{ "flags": 2, "x": 1, "y": 32 }
- ]
+ ],
+ "sleep": true
},
"community_layouts": ["75_iso"],
"layouts": {
diff --git a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md
deleted file mode 100644
index 249fff7ccb..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Personal Config by @AnthonyWharton
-
-The keymap and layout macro's in the main repository are for the following
-keyboard:
-
-![@AnthonyWharton's YMD96](https://i.imgur.com/uhKmkBz.jpg)
-
-**Note:** This setup has locking Caps Lock and Num Lock keys, so if you wish
-to use this layout and do not have such keys, you should :
-
- - Change the keys `KC_LCAP` and `KC_LNUM` to `KC_CAPS` and `KC_NUM`
- respectively.
- - Remove the `LOCKING_SUPPORT_ENABLE` and `LOCKING_RESYNC_ENABLE` lines
- from `config.h`.
-
-For any other questions, find my latest contact information on my github page.
diff --git a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h
deleted file mode 100644
index 27a2fcd6a7..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
-Modified 2018 Anthony Wharton <th3ant@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
-
-/* Required for MX Locks installed */
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
-#undef BACKLIGHT_LEVELS
-#define BACKLIGHT_LEVELS 12
-
-#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1.0-2.7
-#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 1-255
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 7
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3
-#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0
-#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM
-#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
-#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 500
diff --git a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c
deleted file mode 100644
index 9e334e9e32..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
-Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
-Modified 2018 Anthony Wharton <th3ant@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 LicensezZZ
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#define _DEFLT 0
-#define _RAISE 1
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Layer 0, default layer */
- [_DEFLT] = LAYOUT_iso(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_INS, KC_DEL, KC_PGUP,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_LNUM, KC_PSLS, KC_PAST, KC_PGDN,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_RAISE), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- /* Layer 1, raise layer */
- [_RAISE] = LAYOUT_iso(
- _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, KC_PAUS, KC_SCRL, _______, _______, _______,
- _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, BL_OFF, BL_ON, BL_DOWN, BL_UP, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, KC_MUTE, _______, KC_VOLU, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, BL_TOGG, KC_MPRV, KC_MPLY, KC_MNXT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, KC_VOLD, _______, QK_LOCK,
- _______, _______, KC_RALT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______
- )
-};
diff --git a/keyboards/ymdk/ymd96/keymaps/epx/keymap.c b/keyboards/ymdk/ymd96/keymaps/epx/keymap.c
deleted file mode 100644
index c0542efd6d..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/epx/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
- Copyright 2017 Andrew Novak <ndrw.nvk@gmail.com>
-Modified Copyright 2018 Elvis Pfutzenreuter <elvis.pfutzenreuter@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 LicensezZZ
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-#define _x_ KC_TRNS
-#define _DEFLT 0
-#define _AR 1
-#define _RAISE 2
-
-#define LAYOUT LAYOUT_default
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0, default layer
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | || > | << | >> | vol+ | vol- | Bkspc |
- * | ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BkSpc |NumLck| / | * | - |
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | 7 | 8 | 9 | |
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Return | 4 | 5 | 6 | + |
- * | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | 1 | 2 | 3 | |
- * | Ctrl | Alt | Win | Space | Win | Fn | Alt | Ctrl | 0 | . | Enter |
- *
- * Layout is inspired on Model F.
- * Extra keys on top right, as well as some seldom-used keys, are media keys in default layer.
- * Num Lock toogles layer, so the numeric block works as a Model F navigation block in a Mac.
- * (Fn-Num Lock operates as conventional Num Lock in case the keyboard needs to be used with Windows or Linux.)
- * Caps Lock operates normally but it takes FN to work, the key is Ctrl by default, like in Model F.
- */
- [_DEFLT] = 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_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, TO(_AR), KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_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_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI, KC_NO, MO(_RAISE), KC_RALT, KC_RCTL, KC_P0, KC_P0, KC_PDOT
- ),
-
- /* Layer 1, Num Lock activated
- * ...
- * ...
- * ... | Home | Up | Pg Up | |
- * ... | Left | (no) | Right | + |
- * ... | End | Down | Pg Dn | |
- * ... | Ins | Del | Enter |
- */
- [_AR] = LAYOUT(
- _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_,
- _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, TO(_DEFLT), _x_, _x_, _x_,
- _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, KC_HOME, KC_UP, KC_PGUP, _x_,
- _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, KC_LEFT, KC_NO, KC_RGHT, _x_,
- _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, KC_END, KC_DOWN, KC_PGDN, _x_,
- _x_, _x_,_x_, _x_, _x_, _x_, _x_, _x_, _x_, KC_INS, KC_INS, KC_DEL
- ),
-
- /* Layer 2, raise layer
- * | | | | | | | | | | | | | | PrtSc |Pause|ScrLck| stop | mute | Del |
- * | | RGB Toggle | RGB Hue - | RGB Hue + | | | | | | | | | | Del |NumLck| | | |
- * | | RGB Mode + | RGB Satu- | RGB Satu+ | | | | | | | | | | | | | | |
- * | Caps Lck | RGB Mode - | RGB Brgt- | RGB Brgt+ | | | | | | | | | | | | | | |
- * | | | | | | | | | | | | | | | | |
- * | | | | | Win Menu | | | | | | |
- */
- [_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_PAUS, KC_SCRL, KC_MUTE, KC_MSTP, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_NUM, _______, _______, _______,
- _______, RGB_TOG, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, RGB_MOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,_______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/ymdk/ymd96/keymaps/hgoel89/config.h b/keyboards/ymdk/ymd96/keymaps/hgoel89/config.h
deleted file mode 100644
index b1d74e1e69..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/hgoel89/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define TAPPING_TERM 300
-
-#endif
diff --git a/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c b/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
deleted file mode 100644
index 067beaa75a..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include QMK_KEYBOARD_H
-
-/*
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2*/
-/*
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
-};*/
-
-void matrix_scan_user(void) {
- // runs at every matrix scan.
-}
-
-enum {
- TD_H_E = 0
-};
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_H_E] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
-};
-#define ______ KC_TRNS
-#define _DEFLT 0
-#define _RAISE 1
-
-#define LAYOUT LAYOUT_custom
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Layer 0, default layer
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Print | Home | End |Insert|Delete| PgUp | 19 keys
- * | ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BkSpc |NumLck| / | * | PgDn | 18 keys
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | 7 | 8 | 9 | - | 18 keys
- * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | 4 | 5 | 6 | + | 17 keys
- * | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | 1 | 2 | 3 | En | 16 keys
- * | Ctrl | Win | Alt | Space | Fn | Win | Left | Down | Up | Right| 0 | . | | 12 keys
- */
-
- [_DEFLT] = 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_HOME, KC_END, KC_INSERT, KC_DELETE, KC_PGUP,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_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_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,MO(_RAISE), KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RGUI , KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_P0, KC_PDOT
- ),
- /* Layer 1, raise layer
- * | | | | | | | | | | | | | | | | | | | |
- * | | | | | | | | | | | | | | | | | | |
- * | | |rgb_up|rgb_dn|rgb_mo| | | | | | F22 | F23 | F24 | | | | | |
- * | | | | | | | | | | | | | | | | | |
- * | | | | | | | | | VolDn| VolUp| Mute | Play/Pause | | | | |
- * | | | | | | |MPrev | | | MNext| | | |
- */
- [_RAISE] = LAYOUT(
- QK_BOOT,RGB_TOG, BL_TOGG, BL_STEP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, BL_UP, BL_DOWN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_F22, KC_F23, KC_F24, ______, ______, ______, ______, ______,
- ______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MODE_FORWARD , ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, RGB_HUD, RGB_SAD, RGB_VAD, ______, ______, ______, ______, KC_VOLD,KC_VOLU, KC_MUTE, KC_MPLY, ______, ______, ______, ______,
- ______, ______, BL_OFF, BL_ON, ______, ______, ______, ______, ______, ______, ______, ______
- )
-};
diff --git a/keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md b/keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md
deleted file mode 100644
index 05488df990..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/hgoel89/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Harshit
-Modified the layout according to me. Full 2u NumPad 0, 5 * 1u modifiers on right of space. Split right shift. \ No newline at end of file
diff --git a/keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk b/keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/ymdk/ymd96/keymaps/hgoel89/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/yncognito/batpad/config.h b/keyboards/yncognito/batpad/config.h
deleted file mode 100644
index d44817cae9..0000000000
--- a/keyboards/yncognito/batpad/config.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright 2020 Yncognito
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define RGB_MATRIX_LED_COUNT 8
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/yncognito/batpad/info.json b/keyboards/yncognito/batpad/info.json
index 4ec1dc045f..0335608cfb 100644
--- a/keyboards/yncognito/batpad/info.json
+++ b/keyboards/yncognito/batpad/info.json
@@ -12,7 +12,56 @@
"pin": "B5"
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "animation": "cycle_all"
+ },
+ "driver": "ws2812",
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["F1", "F0", "D5", "D3"],
diff --git a/keyboards/yoichiro/lunakey_macro/config.h b/keyboards/yoichiro/lunakey_macro/config.h
index 4c3ced2c42..78ba8a377c 100644
--- a/keyboards/yoichiro/lunakey_macro/config.h
+++ b/keyboards/yoichiro/lunakey_macro/config.h
@@ -27,9 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Mouse Keys Combined mode */
//#define MK_COMBINED
-/* Layer Count */
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/yosino58/keymaps/default/config.h b/keyboards/yosino58/keymaps/default/config.h
index 763b31aa10..e82254fff1 100644
--- a/keyboards/yosino58/keymaps/default/config.h
+++ b/keyboards/yosino58/keymaps/default/config.h
@@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
+#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/yosino58/keymaps/sakura/config.h b/keyboards/yosino58/keymaps/sakura/config.h
deleted file mode 100644
index a463ee1808..0000000000
--- a/keyboards/yosino58/keymaps/sakura/config.h
+++ /dev/null
@@ -1,56 +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
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-#define MASTER_RIGHT
-// #define EE_HANDS
-
-#define OLED_DISPLAY_128X64
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 100
-
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 29
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-#define MOUSEKEY_DELAY 50
-#define MOUSEKEY_INTERVAL 10
-#define MOUSEKEY_MAX_SPEED 3
-#define MOUSEKEY_TIME_TO_MAX 20
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
diff --git a/keyboards/yosino58/keymaps/sakura/keymap.c b/keyboards/yosino58/keymaps/sakura/keymap.c
deleted file mode 100644
index e3c8c52d7d..0000000000
--- a/keyboards/yosino58/keymaps/sakura/keymap.c
+++ /dev/null
@@ -1,290 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-enum custom_keycodes {
- LOWER = SAFE_RANGE,
- RAISE,
- ADJUST,
- RGBRST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | Z | X | C | V | B |-------.-------. ,---------------| N | M | , | . | / | \ |
- * `-----------------------------------------/ Del / / \ \ Bksp \----------------------------------------'
- * | LAlt | LGUI | /-------/ Space / \ Enter \-------\ | [ | ] |
- * | | |/ LOWER / / \ \ RAISE \ | | |
- * `-----------------------------' '------------------------------'
- */
- [_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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
- KC_LALT, KC_LGUI, LOWER, RAISE, KC_LBRC, KC_RBRC
- ),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | / | - | 7 | 8 | 9 | | PSCR | SLCK | Pause| | �� | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| * | + | 4 | 5 | 6 | |Insert| Home |PageUP| | �� | �� |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | . | 0 | 1 | 2 | 3 |-------.-------. ,---------------| Del | End |PageDN| �� | Num | Caps |
- * `-----------------------------------------/ F11 / / \ \ F12 \----------------------------------------'
- * | LAlt | LGUI | /-------/ Space / \ Enter \-------\ | | |
- * | | |/ LOWER / / \ \ \ | | |
- * `-----------------------------' '------------------------------'
- */
- [_LOWER] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- _______, KC_PSLS, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, KC_UP, XXXXXXX,
- _______, KC_PAST, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, KC_DOWN, KC_RGHT,
- _______, KC_PDOT, KC_P0, KC_P1, KC_P2, KC_P3, KC_F11, _______, _______, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_LEFT, KC_NUM, KC_CAPS,
- _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * |QK_BOOT | | | | | | | Mute | Vol+ | Play | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | Prev | Vol- | Next | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |MS_Bt1| MS_U |MS_Bt2|MS_WhU|MS_WhL| | | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | MS_L | MS_D | MS_R |MS_WhD|MS_WhR|-------.-------. ,---------------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / / \ \ \----------------------------------------'
- * | | | /-------/ Space / \ Enter \-------\ | | |
- * | | |/ / / \ \ RAISE \ | | |
- * `-----------------------------' '------------------------------'
- */
- [_RAISE] = LAYOUT(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_WH_L, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_WH_R, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGBRST, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX
- )
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * |QK_BOOT | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------.-------. ,---------------| | | | | | |
- * `-----------------------------------------/ / / \ \ \----------------------------------------'
- * | | | /-------/ / \ \-------\ | | |
- * | | |/ / / \ \ \ | | |
- * `-----------------------------' '------------------------------'
-
- [_ADJUST] = LAYOUT(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-*/
-};
-
-
-int RGB_current_mode;
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
-}
-
-#ifdef OLED_ENABLE
-
-//assign the right code to your layers for OLED display
-#define L_QWERTY 0
-#define L_LOWER 2
-#define L_RAISE 4
-#define L_ADJUST 8
-
-// When add source files to SRC in rules.mk, you can use functions.
-const char *read_logo(void);
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- static char indctr[2][20][5]=
- {
- // white icon
- {
- {0x80,0x81,0x82,0x83,0},
- {0x88,0x89,0x8A,0x8B,0},
- {0x90,0x91,0x92,0x93,0},
- {0x98,0x99,0x9A,0x9B,0},
- {0x01,0x02,0x03,0x04,0},
- {0xA0,0xA1,0xA2,0xA3,0},
- {0xA8,0xA9,0xAA,0xAB,0},
- {0xB0,0xB1,0xB2,0xB3,0},
- {0xB8,0xB9,0xBA,0xBB,0},
- {0x21,0x22,0x23,0x24,0},
- {0xC0,0xC1,0xC2,0xC3,0},
- {0xC8,0xC9,0xCA,0xCB,0},
- {0xD0,0xD1,0xD2,0xD3,0},
- {0xD8,0xD9,0xDA,0xDB,0},
- {0x41,0x42,0x43,0x44,0},
- {0xE0,0xE1,0xE2,0xE3,0},
- {0xE8,0xE9,0xEA,0xEB,0},
- {0xF0,0xF1,0xF2,0xF3,0},
- {0xF8,0xF9,0xFA,0xFB,0},
- {0x61,0x62,0x63,0x64,0}
- },
- // Black icon
- {
- {0x84,0x85,0x86,0x87,0},
- {0x8C,0x8D,0x8E,0x8F,0},
- {0x94,0x95,0x96,0x97,0},
- {0x9C,0x9D,0x9E,0x9F,0},
- {0x05,0x06,0x07,0x08,0},
- {0xA4,0xA5,0xA6,0xA7,0},
- {0xAC,0xAD,0xAE,0xAF,0},
- {0xB4,0xB5,0xB6,0xB7,0},
- {0xBC,0xBD,0xBE,0xBF,0},
- {0x25,0x26,0x27,0x28,0},
- {0xC4,0xC5,0xC6,0xC7,0},
- {0xCC,0xCD,0xCE,0xCF,0},
- {0xD4,0xD5,0xD6,0xD7,0},
- {0xDC,0xDD,0xDE,0xDF,0},
- {0x45,0x46,0x47,0x48,0},
- {0xE4,0xE5,0xE6,0xE7,0},
- {0xEC,0xED,0xEE,0xEF,0},
- {0xF4,0xF5,0xF6,0xF7,0},
- {0xFC,0xFD,0xFE,0xFF,0},
- {0x65,0x66,0x67,0x68,0}
- }
- };
-
- int rown = 0;
- int rowc = 0;
- int rowl = 0;
- int rowr = 0;
- int rowa = 0;
-
- //Set Indicator icon
- led_t led_state = host_keyboard_led_state();
- if (led_state.num_lock) { rown = 1; } else { rown = 0; }
- if (led_state.caps_lock) { rowc = 1; } else { rowc = 0; }
- if (layer_state == L_LOWER) { rowl = 1; }
- if (layer_state == L_RAISE) { rowr = 1; }
- if (layer_state == L_ADJUST) { rowa = 1; }
-
- oled_write(indctr[rowl] [0], false);
- oled_write(indctr[rowr] [1], false);
- oled_write(indctr[rowa] [2], false);
- oled_write(indctr[rowc] [3], false);
- oled_write(indctr[rown] [4], false);
- oled_write_char(0x13, false);
- oled_write(indctr[rowl] [5], false);
- oled_write(indctr[rowr] [6], false);
- oled_write(indctr[rowa] [7], false);
- oled_write(indctr[rowc] [8], false);
- oled_write(indctr[rown] [9], false);
- oled_write_char(0x13, false);
- oled_write(indctr[rowl] [10], false);
- oled_write(indctr[rowr] [11], false);
- oled_write(indctr[rowa] [12], false);
- oled_write(indctr[rowc] [13], false);
- oled_write(indctr[rown] [14], false);
- oled_write_char(0x13, false);
- oled_write(indctr[rowl] [15], false);
- oled_write(indctr[rowr] [16], false);
- oled_write(indctr[rowa] [17], false);
- oled_write(indctr[rowc] [18], false);
- oled_write(indctr[rown] [19], false);
-
- }else{
- oled_write(read_logo(), false);
- }
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- } else {
- layer_off(_LOWER);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- } else {
- layer_off(_RAISE);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- case RGB_MOD:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- }
- return true;
-}
-
diff --git a/keyboards/yosino58/keymaps/sakura/rules.mk b/keyboards/yosino58/keymaps/sakura/rules.mk
deleted file mode 100644
index 679c8c155d..0000000000
--- a/keyboards/yosino58/keymaps/sakura/rules.mk
+++ /dev/null
@@ -1,31 +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 # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = 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.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-OLED_ENABLE = yes
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-# If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/logo_reader.c \
- # ./lib/rgb_state_reader.c \
- # ./lib/layer_state_reader.c \
- # ./lib/keylogger.c \
- # ./lib/mode_icon_reader.c \
- # ./lib/host_led_state_reader.c \
- # ./lib/timelogger.c \
diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h
index 1d3b4dd3ee..82b19956dc 100644
--- a/keyboards/yushakobo/quick17/config.h
+++ b/keyboards/yushakobo/quick17/config.h
@@ -17,18 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT 18
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-// HSV_TEAL
-#endif
-
#define RGBLIGHT_LAYERS
#define RGBLIGHT_MAX_LAYERS 8
diff --git a/keyboards/yushakobo/quick17/info.json b/keyboards/yushakobo/quick17/info.json
index 58374a7de7..51c41a6e82 100644
--- a/keyboards/yushakobo/quick17/info.json
+++ b/keyboards/yushakobo/quick17/info.json
@@ -10,7 +10,9 @@
},
"rgb_matrix": {
"driver": "ws2812",
+ "max_brightness": 150,
"sat_steps": 8,
+ "sleep": true,
"val_steps": 8,
"speed_steps": 10
},
diff --git a/keyboards/yynmt/dozen0/keymaps/f12/keymap.c b/keyboards/yynmt/dozen0/keymaps/f12/keymap.c
deleted file mode 100644
index 33512faa67..0000000000
--- a/keyboards/yynmt/dozen0/keymaps/f12/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2019 yynmt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_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/zfrontier/big_switch/keymaps/longtap/keymap.c b/keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c
deleted file mode 100644
index 486adcf369..0000000000
--- a/keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Copyright 2020 zFrontier
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include <print.h>
-
-
-enum {
- TD_ENTER = 0,
-};
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT( TD(TD_ENTER) ),
-};
-
-
-
-void keyboard_post_init_user(void) {
- print("zFrontier S01.6 boot...\n");
- rgblight_enable_noeeprom();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING);
- rgblight_sethsv_noeeprom(0,0,128);
-}
-
-
-void zf_switch_rgb_mode(void) {
- switch (rgblight_get_mode() ) {
- case RGBLIGHT_MODE_BREATHING:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD);
- break;
- case RGBLIGHT_MODE_RAINBOW_MOOD:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
- break;
- case RGBLIGHT_MODE_RAINBOW_SWIRL:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE);
- break;
- case RGBLIGHT_MODE_SNAKE:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT);
- break;
- case RGBLIGHT_MODE_KNIGHT:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_CHRISTMAS);
- break;
- case RGBLIGHT_MODE_CHRISTMAS:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT);
- break;
- case RGBLIGHT_MODE_STATIC_GRADIENT:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RGB_TEST);
- break;
- case RGBLIGHT_MODE_RGB_TEST:
- default:
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING);
- break;
- }
-}
-
-void zf_send_random_string(void) {
- uint8_t tmpu8 = (timer_read() & 0x7);
- switch (tmpu8) {
- case 0:
- case 1:
- SEND_STRING("Sazabi, launching!");
- break;
- case 2:
- case 3:
- SEND_STRING("I, Char Aznable, will purge them, Amuro!");
- break;
- case 4:
- case 5:
- SEND_STRING("Their souls are weighted down by gravity!");
- break;
- case 6:
- SEND_STRING("Go, Axis! With my unpleasant memories!");
- break;
- case 7:
- SEND_STRING("Hello from zFrontier!");
- break;
- }
-
- tap_code(KC_ENT);
-}
-
-void dance_finished(tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- register_code(KC_ENTER);
- break;
- case 2:
- zf_switch_rgb_mode();
- break;
- default:
- zf_send_random_string();
- break;
- }
-}
-
-void dance_reset(tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code(KC_ENTER);
- }
-}
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_ENTER] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset)
-};
diff --git a/keyboards/zfrontier/big_switch/keymaps/longtap/readme.md b/keyboards/zfrontier/big_switch/keymaps/longtap/readme.md
deleted file mode 100644
index a94e5c32cb..0000000000
--- a/keyboards/zfrontier/big_switch/keymaps/longtap/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# The longtap keymap for big_switch, the single switch keyboard,
-- tap once : send ENTER
-- tap twice : change RGB backlight mode
-- tap three times : send a pesudo-random string
diff --git a/keyboards/zfrontier/big_switch/keymaps/longtap/rules.mk b/keyboards/zfrontier/big_switch/keymaps/longtap/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/zfrontier/big_switch/keymaps/longtap/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/z12/config.h b/keyboards/zigotica/z12/config.h
index fef7fb59bd..fef7fb59bd 100644
--- a/keyboards/z12/config.h
+++ b/keyboards/zigotica/z12/config.h
diff --git a/keyboards/z12/info.json b/keyboards/zigotica/z12/info.json
index 8a88206df8..8a88206df8 100644
--- a/keyboards/z12/info.json
+++ b/keyboards/zigotica/z12/info.json
diff --git a/keyboards/z12/keymaps/default/config.h b/keyboards/zigotica/z12/keymaps/default/config.h
index 1fcf924f35..1fcf924f35 100644
--- a/keyboards/z12/keymaps/default/config.h
+++ b/keyboards/zigotica/z12/keymaps/default/config.h
diff --git a/keyboards/z12/keymaps/default/keymap.c b/keyboards/zigotica/z12/keymaps/default/keymap.c
index 16a6c1f70e..16a6c1f70e 100644
--- a/keyboards/z12/keymaps/default/keymap.c
+++ b/keyboards/zigotica/z12/keymaps/default/keymap.c
diff --git a/keyboards/z12/keymaps/default/readme.md b/keyboards/zigotica/z12/keymaps/default/readme.md
index 5f30ab6a39..5f30ab6a39 100644
--- a/keyboards/z12/keymaps/default/readme.md
+++ b/keyboards/zigotica/z12/keymaps/default/readme.md
diff --git a/keyboards/z12/keymaps/default/rules.mk b/keyboards/zigotica/z12/keymaps/default/rules.mk
index b220469c6c..b220469c6c 100644
--- a/keyboards/z12/keymaps/default/rules.mk
+++ b/keyboards/zigotica/z12/keymaps/default/rules.mk
diff --git a/keyboards/z12/readme.md b/keyboards/zigotica/z12/readme.md
index 17e4bfdb84..17e4bfdb84 100644
--- a/keyboards/z12/readme.md
+++ b/keyboards/zigotica/z12/readme.md
diff --git a/keyboards/z12/rules.mk b/keyboards/zigotica/z12/rules.mk
index 102b2e62a3..102b2e62a3 100644
--- a/keyboards/z12/rules.mk
+++ b/keyboards/zigotica/z12/rules.mk
diff --git a/keyboards/z34/config.h b/keyboards/zigotica/z34/config.h
index d2ec68cc39..d2ec68cc39 100644
--- a/keyboards/z34/config.h
+++ b/keyboards/zigotica/z34/config.h
diff --git a/keyboards/z34/info.json b/keyboards/zigotica/z34/info.json
index e82a6dd304..e82a6dd304 100644
--- a/keyboards/z34/info.json
+++ b/keyboards/zigotica/z34/info.json
diff --git a/keyboards/z34/keymaps/default/config.h b/keyboards/zigotica/z34/keymaps/default/config.h
index 2bcd017d72..2bcd017d72 100644
--- a/keyboards/z34/keymaps/default/config.h
+++ b/keyboards/zigotica/z34/keymaps/default/config.h
diff --git a/keyboards/z34/keymaps/default/keymap.c b/keyboards/zigotica/z34/keymaps/default/keymap.c
index 973d24eafb..973d24eafb 100644
--- a/keyboards/z34/keymaps/default/keymap.c
+++ b/keyboards/zigotica/z34/keymaps/default/keymap.c
diff --git a/keyboards/z34/keymaps/default/readme.md b/keyboards/zigotica/z34/keymaps/default/readme.md
index c6a0115573..c6a0115573 100644
--- a/keyboards/z34/keymaps/default/readme.md
+++ b/keyboards/zigotica/z34/keymaps/default/readme.md
diff --git a/keyboards/z34/keymaps/default/rules.mk b/keyboards/zigotica/z34/keymaps/default/rules.mk
index 827811a362..827811a362 100644
--- a/keyboards/z34/keymaps/default/rules.mk
+++ b/keyboards/zigotica/z34/keymaps/default/rules.mk
diff --git a/keyboards/z34/readme.md b/keyboards/zigotica/z34/readme.md
index 29bbf571a3..29bbf571a3 100644
--- a/keyboards/z34/readme.md
+++ b/keyboards/zigotica/z34/readme.md
diff --git a/keyboards/z34/rules.mk b/keyboards/zigotica/z34/rules.mk
index 669d2bc02f..669d2bc02f 100644
--- a/keyboards/z34/rules.mk
+++ b/keyboards/zigotica/z34/rules.mk
diff --git a/keyboards/zsa/moonlander/config.h b/keyboards/zsa/moonlander/config.h
new file mode 100644
index 0000000000..9fbb7a64b5
--- /dev/null
+++ b/keyboards/zsa/moonlander/config.h
@@ -0,0 +1,87 @@
+/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
+ * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+
+#define WEBUSB_LANDING_PAGE_URL u8"configure.ergodox-ez.com"
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 7
+
+/* PCB default pin-out */
+// #define MATRIX_ROW_PINS { B10, B11, B12, B13, B14, B15 }
+// #define MATRIX_COL_PINS { A0, A1, A2, A3, A6, A7, B0 }
+
+// #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 }
+// #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 }
+
+// #define MCP23_LED_R GPB7
+// #define MCP23_LED_G GPB6
+// #define MCP23_LED_B GPA7
+
+#define EEPROM_I2C_24LC128
+
+// Not needed, is default address:
+// #define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10100000
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* 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 IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
+#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
+
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_WHEEL_DELAY 400
+#define MOUSEKEY_WHEEL_INTERVAL MOUSEKEY_INTERVAL
+#define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED
+#define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX
+
+#define MUSIC_MAP
+
+#define FIRMWARE_VERSION_SIZE 17
+#define DYNAMIC_KEYMAP_EEPROM_ADDR (EECONFIG_SIZE + FIRMWARE_VERSION_SIZE)
+
+#define AUDIO_PIN A5
+#define AUDIO_PIN_ALT A4
+#define AUDIO_PIN_ALT_AS_NEGATIVE
diff --git a/keyboards/moonlander/halconf.h b/keyboards/zsa/moonlander/halconf.h
index 46b53b1a7f..46b53b1a7f 100644
--- a/keyboards/moonlander/halconf.h
+++ b/keyboards/zsa/moonlander/halconf.h
diff --git a/keyboards/zsa/moonlander/info.json b/keyboards/zsa/moonlander/info.json
new file mode 100644
index 0000000000..31d6693e39
--- /dev/null
+++ b/keyboards/zsa/moonlander/info.json
@@ -0,0 +1,162 @@
+{
+ "keyboard_name": "Moonlander Mark I",
+ "manufacturer": "ZSA Technology Labs",
+ "url": "zsa.io/moonlander",
+ "maintainer": "ZSA via Drashna",
+ "usb": {
+ "vid": "0x3297",
+ "pid": "0x1969",
+ "device_version": "0.0.1"
+ },
+ "dynamic_keymap": {
+ "layer_count": 8
+ },
+ "eeprom": {
+ "driver": "i2c"
+ },
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "center_point": [120, 36],
+ "driver": "is31fl3731",
+ "max_brightness": 175,
+ "sleep": true
+ },
+ "processor": "STM32F303",
+ "bootloader": "stm32-dfu",
+ "layout_aliases": {
+ "LAYOUT_moonlander": "LAYOUT"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.375},
+ {"matrix": [0, 1], "x": 1, "y": 0.375},
+ {"matrix": [0, 2], "x": 2, "y": 0.125},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.125},
+ {"matrix": [0, 5], "x": 5, "y": 0.25},
+ {"matrix": [0, 6], "x": 6, "y": 0.25},
+
+ {"matrix": [6, 0], "x": 10, "y": 0.25},
+ {"matrix": [6, 1], "x": 11, "y": 0.25},
+ {"matrix": [6, 2], "x": 12, "y": 0.125},
+ {"matrix": [6, 3], "x": 13, "y": 0},
+ {"matrix": [6, 4], "x": 14, "y": 0.125},
+ {"matrix": [6, 5], "x": 15, "y": 0.375},
+ {"matrix": [6, 6], "x": 16, "y": 0.375},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.375},
+ {"matrix": [1, 1], "x": 1, "y": 1.375},
+ {"matrix": [1, 2], "x": 2, "y": 1.125},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.125},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+
+ {"matrix": [7, 0], "x": 10, "y": 1.25},
+ {"matrix": [7, 1], "x": 11, "y": 1.25},
+ {"matrix": [7, 2], "x": 12, "y": 1.125},
+ {"matrix": [7, 3], "x": 13, "y": 1},
+ {"matrix": [7, 4], "x": 14, "y": 1.125},
+ {"matrix": [7, 5], "x": 15, "y": 1.375},
+ {"matrix": [7, 6], "x": 16, "y": 1.375},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.375},
+ {"matrix": [2, 1], "x": 1, "y": 2.375},
+ {"matrix": [2, 2], "x": 2, "y": 2.125},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.125},
+ {"matrix": [2, 5], "x": 5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6, "y": 2.25},
+
+ {"matrix": [8, 0], "x": 10, "y": 2.25},
+ {"matrix": [8, 1], "x": 11, "y": 2.25},
+ {"matrix": [8, 2], "x": 12, "y": 2.125},
+ {"matrix": [8, 3], "x": 13, "y": 2},
+ {"matrix": [8, 4], "x": 14, "y": 2.125},
+ {"matrix": [8, 5], "x": 15, "y": 2.375},
+ {"matrix": [8, 6], "x": 16, "y": 2.375},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.375},
+ {"matrix": [3, 1], "x": 1, "y": 3.375},
+ {"matrix": [3, 2], "x": 2, "y": 3.125},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+ {"matrix": [3, 4], "x": 4, "y": 3.125},
+ {"matrix": [3, 5], "x": 5, "y": 3.25},
+
+ {"matrix": [9, 1], "x": 11, "y": 3.25},
+ {"matrix": [9, 2], "x": 12, "y": 3.125},
+ {"matrix": [9, 3], "x": 13, "y": 3},
+ {"matrix": [9, 4], "x": 14, "y": 3.125},
+ {"matrix": [9, 5], "x": 15, "y": 3.375},
+ {"matrix": [9, 6], "x": 16, "y": 3.375},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.375},
+ {"matrix": [4, 1], "x": 1, "y": 4.375},
+ {"matrix": [4, 2], "x": 2, "y": 4.125},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+ {"matrix": [4, 4], "x": 4, "y": 4.125},
+ {"matrix": [5, 3], "x": 5, "y": 4.5, "w": 2},
+
+ {"matrix": [11, 3], "x": 10, "y": 4.5, "w": 2},
+ {"matrix": [10, 2], "x": 12, "y": 4.125},
+ {"matrix": [10, 3], "x": 13, "y": 4},
+ {"matrix": [10, 4], "x": 14, "y": 4.125},
+ {"matrix": [10, 5], "x": 15, "y": 4.375},
+ {"matrix": [10, 6], "x": 16, "y": 4.375},
+
+ {"matrix": [5, 0], "x": 5, "y": 5.5, "h": 1.5},
+ {"matrix": [5, 1], "x": 6, "y": 5.5, "h": 1.5},
+ {"matrix": [5, 2], "x": 7, "y": 5.5, "h": 1.5},
+
+ {"matrix": [11, 4], "x": 9, "y": 5.5, "h": 1.5},
+ {"matrix": [11, 5], "x": 10, "y": 5.5, "h": 1.5},
+ {"matrix": [11, 6], "x": 11, "y": 5.5, "h": 1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/moonlander/keymaps/default/config.h b/keyboards/zsa/moonlander/keymaps/default/config.h
index 83ea2a1b58..83ea2a1b58 100644
--- a/keyboards/moonlander/keymaps/default/config.h
+++ b/keyboards/zsa/moonlander/keymaps/default/config.h
diff --git a/keyboards/moonlander/keymaps/default/keymap.c b/keyboards/zsa/moonlander/keymaps/default/keymap.c
index ad7705eff8..ad7705eff8 100644
--- a/keyboards/moonlander/keymaps/default/keymap.c
+++ b/keyboards/zsa/moonlander/keymaps/default/keymap.c
diff --git a/keyboards/moonlander/keymaps/via/keymap.c b/keyboards/zsa/moonlander/keymaps/via/keymap.c
index 4b1e4c83e7..4b1e4c83e7 100644
--- a/keyboards/moonlander/keymaps/via/keymap.c
+++ b/keyboards/zsa/moonlander/keymaps/via/keymap.c
diff --git a/keyboards/moonlander/keymaps/via/readme.md b/keyboards/zsa/moonlander/keymaps/via/readme.md
index 8bede7bee3..8bede7bee3 100644
--- a/keyboards/moonlander/keymaps/via/readme.md
+++ b/keyboards/zsa/moonlander/keymaps/via/readme.md
diff --git a/keyboards/zsa/moonlander/keymaps/via/rules.mk b/keyboards/zsa/moonlander/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/zsa/moonlander/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/zsa/moonlander/matrix.c b/keyboards/zsa/moonlander/matrix.c
new file mode 100644
index 0000000000..aa97d0721f
--- /dev/null
+++ b/keyboards/zsa/moonlander/matrix.c
@@ -0,0 +1,233 @@
+/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
+ * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "moonlander.h"
+#include "i2c_master.h"
+
+/*
+#define MATRIX_ROW_PINS { B10, B11, B12, B13, B14, B15 } outputs
+#define MATRIX_COL_PINS { A0, A1, A2, A3, A6, A7, B0 } inputs
+ */
+/* matrix state(1:on, 0:off) */
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+static matrix_row_t raw_matrix_right[MATRIX_COLS];
+
+#define ROWS_PER_HAND (MATRIX_ROWS / 2)
+#ifndef MOONLANDER_I2C_TIMEOUT
+# define MOONLANDER_I2C_TIMEOUT 100
+#endif
+
+extern bool mcp23018_leds[3];
+extern bool is_launching;
+
+bool mcp23018_initd = false;
+static uint8_t mcp23018_reset_loop;
+
+uint8_t mcp23018_tx[3];
+uint8_t mcp23018_rx[1];
+
+void mcp23018_init(void) {
+ i2c_init();
+
+ // #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 } outputs
+ // #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 } inputs
+
+ mcp23018_tx[0] = 0x00; // IODIRA
+ mcp23018_tx[1] = 0b00000000; // A is output
+ mcp23018_tx[2] = 0b00111111; // B is inputs
+
+ if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
+ dprintf("error hori\n");
+ } else {
+ mcp23018_tx[0] = 0x0C; // GPPUA
+ mcp23018_tx[1] = 0b10000000; // A is not pulled-up
+ mcp23018_tx[2] = 0b11111111; // B is pulled-up
+
+ if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
+ dprintf("error hori\n");
+ } else {
+ mcp23018_initd = is_launching = true;
+ }
+ }
+}
+
+void matrix_init_custom(void) {
+ dprintf("matrix init\n");
+ // debug_matrix = true;
+ // outputs
+ setPinOutput(B10);
+ setPinOutput(B11);
+ setPinOutput(B12);
+ setPinOutput(B13);
+ setPinOutput(B14);
+ setPinOutput(B15);
+
+ // inputs
+ setPinInputLow(A0);
+ setPinInputLow(A1);
+ setPinInputLow(A2);
+ setPinInputLow(A3);
+ setPinInputLow(A6);
+ setPinInputLow(A7);
+ setPinInputLow(B0);
+
+ mcp23018_init();
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ bool changed = false;
+
+ // Try to re-init right side
+ if (!mcp23018_initd) {
+ if (++mcp23018_reset_loop == 0) {
+ // if (++mcp23018_reset_loop >= 1300) {
+ // 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_init();
+ if (!mcp23018_initd) {
+ print("right side not responding\n");
+ } else {
+ print("right side attached\n");
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_init();
+#endif
+ }
+ }
+ }
+
+ matrix_row_t data = 0;
+ // actual matrix
+ for (uint8_t row = 0; row <= ROWS_PER_HAND; row++) {
+ // strobe row
+ switch (row) {
+ case 0: writePinHigh(B10); break;
+ case 1: writePinHigh(B11); break;
+ case 2: writePinHigh(B12); break;
+ case 3: writePinHigh(B13); break;
+ case 4: writePinHigh(B14); break;
+ case 5: writePinHigh(B15); break;
+ case 6: break; // Left hand has 6 rows
+ }
+
+ // right side
+ if (mcp23018_initd) {
+ // #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 } outputs
+ // #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 } inputs
+
+ // select row
+ mcp23018_tx[0] = 0x12; // GPIOA
+ mcp23018_tx[1] = (0b01111111 & ~(1 << (row))) | ((uint8_t)!mcp23018_leds[2] << 7); // activate row
+ mcp23018_tx[2] = ((uint8_t)!mcp23018_leds[1] << 6) | ((uint8_t)!mcp23018_leds[0] << 7); // activate row
+
+ if (MSG_OK != i2c_transmit(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx, 3, MOONLANDER_I2C_TIMEOUT)) {
+ dprintf("error hori\n");
+ mcp23018_initd = false;
+ }
+
+ // read col
+
+ mcp23018_tx[0] = 0x13; // GPIOB
+ if (MSG_OK != i2c_read_register(MCP23018_DEFAULT_ADDRESS << 1, mcp23018_tx[0], &mcp23018_rx[0], 1, MOONLANDER_I2C_TIMEOUT)) {
+ dprintf("error vert\n");
+ mcp23018_initd = false;
+ }
+
+ data = ~(mcp23018_rx[0] & 0b00111111);
+ // data = 0x01;
+ } else {
+ data = 0;
+ }
+
+ if (raw_matrix_right[row] != data) {
+ raw_matrix_right[row] = data;
+ changed = true;
+ }
+
+
+ // left side
+ if (row < ROWS_PER_HAND) {
+ // i2c comm incur enough wait time
+ if (!mcp23018_initd) {
+ // need wait to settle pin state
+ matrix_io_delay();
+ }
+ // read col data
+ data = (
+ (readPin(A0) << 0 ) |
+ (readPin(A1) << 1 ) |
+ (readPin(A2) << 2 ) |
+ (readPin(A3) << 3 ) |
+ (readPin(A6) << 4 ) |
+ (readPin(A7) << 5 ) |
+ (readPin(B0) << 6 )
+ );
+ // unstrobe row
+ switch (row) {
+ case 0: writePinLow(B10); break;
+ case 1: writePinLow(B11); break;
+ case 2: writePinLow(B12); break;
+ case 3: writePinLow(B13); break;
+ case 4: writePinLow(B14); break;
+ case 5: writePinLow(B15); break;
+ case 6: break;
+ }
+
+ if (current_matrix[row] != data) {
+ current_matrix[row] = data;
+ changed = true;
+ }
+ }
+ }
+ for (uint8_t row = 0; row < ROWS_PER_HAND; row++) {
+ current_matrix[11 - row] = 0;
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ current_matrix[11 - row] |= ((raw_matrix_right[6 - col] & (1 << row) ? 1 : 0) << col);
+ }
+ }
+ return changed;
+}
+
+// DO NOT REMOVE
+// Needed for proper wake/sleep
+void matrix_power_up(void) {
+ bool temp_launching = is_launching;
+
+ matrix_init_custom();
+
+ is_launching = temp_launching;
+ if (!is_launching) {
+ ML_LED_1(false);
+ ML_LED_2(false);
+ ML_LED_3(false);
+ ML_LED_4(false);
+ ML_LED_5(false);
+ ML_LED_6(false);
+ }
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+
+}
+
+bool is_transport_connected(void) {
+ return mcp23018_initd;
+} \ No newline at end of file
diff --git a/keyboards/moonlander/mcuconf.h b/keyboards/zsa/moonlander/mcuconf.h
index 032c853f4e..032c853f4e 100644
--- a/keyboards/moonlander/mcuconf.h
+++ b/keyboards/zsa/moonlander/mcuconf.h
diff --git a/keyboards/zsa/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c
new file mode 100644
index 0000000000..dad795d315
--- /dev/null
+++ b/keyboards/zsa/moonlander/moonlander.c
@@ -0,0 +1,469 @@
+/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
+ * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "moonlander.h"
+
+keyboard_config_t keyboard_config;
+
+bool mcp23018_leds[3] = {0, 0, 0};
+bool is_launching = false;
+
+#ifdef DYNAMIC_MACRO_ENABLE
+static bool is_dynamic_recording = false;
+
+void dynamic_macro_record_start_user(int8_t direction) { is_dynamic_recording = true; }
+
+void dynamic_macro_record_end_user(int8_t direction) {
+ is_dynamic_recording = false;
+ ML_LED_3(false);
+}
+#endif
+
+void moonlander_led_task(void) {
+ if (is_launching) {
+ ML_LED_1(false);
+ ML_LED_2(false);
+ ML_LED_3(false);
+ ML_LED_4(false);
+ ML_LED_5(false);
+ ML_LED_6(false);
+
+ ML_LED_1(true);
+ wait_ms(250);
+ ML_LED_2(true);
+ wait_ms(250);
+ ML_LED_3(true);
+ wait_ms(250);
+ ML_LED_4(true);
+ wait_ms(250);
+ ML_LED_5(true);
+ wait_ms(250);
+ ML_LED_6(true);
+ wait_ms(250);
+ ML_LED_1(false);
+ wait_ms(250);
+ ML_LED_2(false);
+ wait_ms(250);
+ ML_LED_3(false);
+ wait_ms(250);
+ ML_LED_4(false);
+ wait_ms(250);
+ ML_LED_5(false);
+ wait_ms(250);
+ ML_LED_6(false);
+ wait_ms(250);
+ is_launching = false;
+ layer_state_set_kb(layer_state);
+ }
+#ifdef DYNAMIC_MACRO_ENABLE
+ else if (is_dynamic_recording) {
+ ML_LED_3(true);
+ wait_ms(100);
+ ML_LED_3(false);
+ wait_ms(155);
+ }
+#endif
+#if !defined(MOONLANDER_USER_LEDS)
+ else {
+ layer_state_set_kb(layer_state);
+ }
+#endif
+}
+
+static THD_WORKING_AREA(waLEDThread, 128);
+static THD_FUNCTION(LEDThread, arg) {
+ (void)arg;
+ chRegSetThreadName("LEDThread");
+ while (true) {
+ moonlander_led_task();
+ }
+}
+
+void keyboard_pre_init_kb(void) {
+ setPinOutput(B5);
+ setPinOutput(B4);
+ setPinOutput(B3);
+
+ writePinLow(B5);
+ writePinLow(B4);
+ writePinLow(B3);
+
+ chThdCreateStatic(waLEDThread, sizeof(waLEDThread), NORMALPRIO - 16, LEDThread, NULL);
+
+ /* the array is initialized to 0, no need to re-set it here */
+ // mcp23018_leds[0] = 0; // blue
+ // mcp23018_leds[1] = 0; // green
+ // mcp23018_leds[2] = 0; // red
+
+ keyboard_pre_init_user();
+}
+
+#if !defined(MOONLANDER_USER_LEDS)
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+ if (is_launching || !keyboard_config.led_level) return state;
+ bool LED_1 = false;
+ bool LED_2 = false;
+ bool LED_3 = false;
+ bool LED_4 = false;
+ bool LED_5 = false;
+#if !defined(CAPS_LOCK_STATUS)
+ bool LED_6 = false;
+#endif
+
+ uint8_t layer = get_highest_layer(state);
+ switch (layer) {
+ case 1:
+ LED_1 = true;
+ LED_4 = true;
+ break;
+ case 2:
+ LED_2 = true;
+ LED_5 = true;
+ break;
+ case 3:
+ LED_3 = true;
+#if !defined(CAPS_LOCK_STATUS)
+ LED_6 = true;
+#endif
+ break;
+ case 4:
+ LED_4 = true;
+ break;
+ case 5:
+ LED_5 = true;
+ break;
+ case 6:
+#if !defined(CAPS_LOCK_STATUS)
+ LED_6 = true;
+#endif
+ break;
+ default:
+ break;
+ }
+
+ ML_LED_1(LED_1);
+ ML_LED_2(LED_2);
+ ML_LED_3(LED_3);
+ ML_LED_4(LED_4);
+ ML_LED_5(LED_5);
+#if !defined(CAPS_LOCK_STATUS)
+ ML_LED_6(LED_6);
+#endif
+
+ return state;
+}
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, C3_2, C1_1, C4_2}, // 1
+ {0, C2_2, C1_2, C4_3},
+ {0, C2_3, C1_3, C3_3},
+ {0, C2_4, C1_4, C3_4},
+ {0, C2_5, C1_5, C3_5},
+ {0, C2_6, C1_6, C3_6},
+ {0, C2_7, C1_7, C3_7},
+ {0, C2_8, C1_8, C3_8},
+ {0, C3_1, C2_1, C4_1},
+
+ {0, C7_8, C6_8, C8_8}, // 10
+ {0, C7_7, C6_7, C9_8},
+ {0, C8_7, C6_6, C9_7},
+ {0, C8_6, C7_6, C9_6},
+ {0, C8_5, C7_5, C9_5},
+ {0, C8_4, C7_4, C9_4},
+ {0, C8_3, C7_3, C9_3},
+ {0, C8_2, C7_2, C9_2},
+ {0, C8_1, C7_1, C9_1},
+
+ {0, C3_10, C1_9, C4_10}, // 19
+ {0, C2_10, C1_10, C4_11},
+ {0, C2_11, C1_11, C3_11},
+ {0, C2_12, C1_12, C3_12},
+ {0, C2_13, C1_13, C3_13},
+ {0, C2_14, C1_14, C3_14},
+ {0, C2_15, C1_15, C3_15},
+ {0, C2_16, C1_16, C3_16},
+ {0, C3_9, C2_9, C4_9},
+
+ {0, C7_16, C6_16, C8_16}, // 28
+ {0, C7_15, C6_15, C9_16},
+ {0, C8_15, C6_14, C9_15},
+ {0, C8_10, C7_10, C9_10},
+ {0, C8_9, C7_9, C9_9},
+ {0, C8_11, C7_11, C9_11},
+ {0, C8_12, C7_12, C9_12},
+ {0, C8_13, C7_13, C9_13},
+ {0, C8_14, C7_14, C9_14},
+
+ {1, C3_2, C1_1, C4_2}, // 1
+ {1, C2_2, C1_2, C4_3},
+ {1, C2_3, C1_3, C3_3},
+ {1, C2_4, C1_4, C3_4},
+ {1, C2_5, C1_5, C3_5},
+ {1, C2_6, C1_6, C3_6},
+ {1, C2_7, C1_7, C3_7},
+ {1, C2_8, C1_8, C3_8},
+ {1, C3_1, C2_1, C4_1},
+
+ {1, C7_8, C6_8, C8_8}, // 10
+ {1, C7_7, C6_7, C9_8},
+ {1, C8_7, C6_6, C9_7},
+ {1, C8_6, C7_6, C9_6},
+ {1, C8_5, C7_5, C9_5},
+ {1, C8_4, C7_4, C9_4},
+ {1, C8_3, C7_3, C9_3},
+ {1, C8_2, C7_2, C9_2},
+ {1, C8_1, C7_1, C9_1},
+
+ {1, C3_10, C1_9, C4_10}, // 19
+ {1, C2_10, C1_10, C4_11},
+ {1, C2_11, C1_11, C3_11},
+ {1, C2_12, C1_12, C3_12},
+ {1, C2_13, C1_13, C3_13},
+ {1, C2_14, C1_14, C3_14},
+ {1, C2_15, C1_15, C3_15},
+ {1, C2_16, C1_16, C3_16},
+ {1, C3_9, C2_9, C4_9},
+
+ {1, C7_16, C6_16, C8_16}, // 28
+ {1, C7_15, C6_15, C9_16},
+ {1, C8_15, C6_14, C9_15},
+ {1, C8_10, C7_10, C9_10},
+ {1, C8_9, C7_9, C9_9},
+ {1, C8_11, C7_11, C9_11},
+ {1, C8_12, C7_12, C9_12},
+ {1, C8_13, C7_13, C9_13},
+ {1, C8_14, C7_14, C9_14},
+
+};
+
+led_config_t g_led_config = { {
+ { 0, 5, 10, 15, 20, 25, 29 },
+ { 1, 6, 11, 16, 21, 26, 30 },
+ { 2, 7, 12, 17, 22, 27, 31 },
+ { 3, 8, 13, 18, 23, 28, NO_LED },
+ { 4, 9, 14, 19, 24, NO_LED, NO_LED },
+ { 32, 33, 34, 35, NO_LED, NO_LED, NO_LED },
+ { 65, 61, 56, 51, 46, 41, 36 },
+ { 66, 62, 57, 52, 47, 42, 37 },
+ { 67, 63, 58, 53, 48, 43, 38 },
+ { NO_LED, 64, 59, 54, 49, 44, 39 },
+ { NO_LED, NO_LED, 60, 55, 50, 45, 40 },
+ { NO_LED, NO_LED, NO_LED, 71, 70, 69, 68 }
+}, {
+ { 0, 4}, { 0, 20}, { 0, 36}, { 0, 52}, { 0, 68},
+ { 16, 3}, { 16, 19}, { 16, 35}, { 16, 51}, { 16, 67},
+ { 32, 1}, { 32, 17}, { 32, 33}, { 32, 49}, { 32, 65},
+ { 48, 0}, { 48, 16}, { 48, 32}, { 48, 48}, { 48, 64},
+ { 64, 1}, { 64, 17}, { 64, 33}, { 64, 49}, { 64, 65},
+ { 80, 3}, { 80, 19}, { 80, 35}, { 80, 51},
+ { 96, 4}, { 96, 20}, { 96, 36},
+ { 88, 69}, {100, 80}, {112, 91}, {108, 69},
+
+ {240, 4}, {240, 20}, {240, 36}, {240, 52}, {240, 68},
+ {224, 3}, {224, 19}, {224, 35}, {224, 51}, {224, 67},
+ {208, 1}, {208, 17}, {208, 33}, {208, 49}, {208, 65},
+ {192, 0}, {192, 16}, {192, 32}, {192, 48}, {192, 64},
+ {176, 1}, {176, 17}, {176, 33}, {176, 49}, {176, 65},
+ {160, 3}, {160, 19}, {160, 35}, {160, 51},
+ {144, 4}, {144, 20}, {144, 36},
+ {152, 69}, {140, 80}, {128, 91}, {132, 69}
+}, {
+ 1, 1, 1, 1, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4,
+ 1, 1, 1,
+ 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 1,
+ 4, 4, 4, 4,
+ 1, 1, 1,
+ 1, 1, 1, 1
+} };
+// clang-format on
+
+#endif
+
+#ifdef AUDIO_ENABLE
+bool music_mask_kb(uint16_t keycode) {
+ switch (keycode) {
+ case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
+ case QK_TO ... QK_TO_MAX:
+ case QK_MOMENTARY ... QK_MOMENTARY_MAX:
+ case QK_DEF_LAYER ... QK_DEF_LAYER_MAX:
+ case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
+ case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
+ case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
+ case QK_LAYER_MOD ... QK_LAYER_MOD_MAX:
+ case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX:
+ case QK_MOD_TAP ... QK_MOD_TAP_MAX:
+ case AU_ON ... AU_PREV:
+ case QK_BOOT:
+ case QK_CLEAR_EEPROM:
+ return false;
+ default:
+ return music_mask_user(keycode);
+ }
+}
+#endif
+
+#ifdef SWAP_HANDS_ENABLE
+// swap-hands action needs a matrix to define the swap
+// clang-format off
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ /* Left hand, matrix positions */
+ {{6,6}, {5,6}, {4,6}, {3,6}, {2,6}, {1,6},{0,6}},
+ {{6,7}, {5,7}, {4,7}, {3,7}, {2,7}, {1,7},{0,7}},
+ {{6,8}, {5,8}, {4,8}, {3,8}, {2,8}, {1,8},{0,8}},
+ {{6,9}, {5,9}, {4,9}, {3,9}, {2,9}, {1,9},{0,9}},
+ {{6,10},{5,10},{4,10},{3,10},{2,10},{1,10},{0,10}},
+ {{6,11},{5,11},{4,11},{3,11},{2,11},{1,11},{0,11}},
+ /* Right hand, matrix positions */
+ {{6,0}, {5,0}, {4,0}, {3,0}, {2,0}, {1,0},{0,0}},
+ {{6,1}, {5,1}, {4,1}, {3,1}, {2,1}, {1,1},{0,1}},
+ {{6,2}, {5,2}, {4,2}, {3,2}, {2,2}, {1,2},{0,2}},
+ {{6,3}, {5,3}, {4,3}, {3,3}, {2,3}, {1,3},{0,3}},
+ {{6,4}, {5,4}, {4,4}, {3,4}, {2,4}, {1,4},{0,4}},
+ {{6,5}, {5,5}, {4,5}, {3,5}, {2,5}, {1,5},{0,5}},
+};
+// clang-format on
+
+void keyboard_post_init_kb(void) {
+ rgb_matrix_enable_noeeprom();
+ keyboard_post_init_user();
+}
+#endif
+
+#if defined(AUDIO_ENABLE) && defined(MUSIC_MAP)
+// clang-format off
+__attribute__ ((weak))
+const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = {
+ {58, 59, 60, 61, 62, 63, 64},
+ {44, 45, 46, 47, 48, 49, 50},
+ {30, 31, 32, 33, 34, 35, 36},
+ {18, 19, 20, 21, 22, 23, 0},
+ { 8, 9, 10, 11, 12, 0, 0},
+ { 0, 1, 2, 3, 0, 0, 0},
+ {65, 66, 67, 68, 69, 70, 71},
+ {51, 52, 53, 54, 55, 56, 57},
+ {37, 38, 39, 40, 41, 42, 43},
+ { 0, 24, 25, 26, 27, 28, 29},
+ { 0, 0, 13, 14, 15, 16, 17},
+ { 0, 0, 0, 4, 5, 6, 7}
+};
+// clang-format on
+#endif
+
+#ifdef CAPS_LOCK_STATUS
+void led_update_ports(led_t led_state) {
+ ML_LED_6(led_state.caps_lock);
+}
+#endif
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) { return false; }
+ switch (keycode) {
+#if !defined(MOONLANDER_USER_LEDS)
+ case LED_LEVEL:
+ if (record->event.pressed) {
+ keyboard_config.led_level ^= 1;
+ eeconfig_update_kb(keyboard_config.raw);
+ if (keyboard_config.led_level) {
+ layer_state_set_kb(layer_state);
+ } else {
+ ML_LED_1(false);
+ ML_LED_2(false);
+ ML_LED_3(false);
+ ML_LED_4(false);
+ ML_LED_5(false);
+ ML_LED_6(false);
+ }
+ }
+ break;
+#endif
+#ifdef RGB_MATRIX_ENABLE
+ case TOGGLE_LAYER_COLOR:
+ if (record->event.pressed) {
+ keyboard_config.disable_layer_led ^= 1;
+ if (keyboard_config.disable_layer_led) rgb_matrix_set_color_all(0, 0, 0);
+ eeconfig_update_kb(keyboard_config.raw);
+ }
+ break;
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ keyboard_config.rgb_matrix_enable = false;
+ rgb_matrix_set_color_all(0, 0, 0);
+ } break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ keyboard_config.rgb_matrix_enable = true;
+ } break;
+ }
+ eeconfig_update_kb(keyboard_config.raw);
+ }
+ return false;
+#endif
+ }
+ return true;
+}
+
+void matrix_init_kb(void) {
+ keyboard_config.raw = eeconfig_read_kb();
+
+ if (!keyboard_config.led_level && !keyboard_config.led_level_res) {
+ keyboard_config.led_level = true;
+ keyboard_config.led_level_res = 0b11;
+ eeconfig_update_kb(keyboard_config.raw);
+ }
+#ifdef RGB_MATRIX_ENABLE
+ if (keyboard_config.rgb_matrix_enable) {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ } else {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ }
+#endif
+ matrix_init_user();
+}
+
+void eeconfig_init_kb(void) { // EEPROM is getting reset!
+ keyboard_config.raw = 0;
+ keyboard_config.rgb_matrix_enable = true;
+ keyboard_config.led_level = true;
+ keyboard_config.led_level_res = 0b11;
+ eeconfig_update_kb(keyboard_config.raw);
+ eeconfig_init_user();
+}
diff --git a/keyboards/moonlander/moonlander.h b/keyboards/zsa/moonlander/moonlander.h
index 0e5282c511..0e5282c511 100644
--- a/keyboards/moonlander/moonlander.h
+++ b/keyboards/zsa/moonlander/moonlander.h
diff --git a/keyboards/zsa/moonlander/readme.md b/keyboards/zsa/moonlander/readme.md
new file mode 100644
index 0000000000..546681e630
--- /dev/null
+++ b/keyboards/zsa/moonlander/readme.md
@@ -0,0 +1,58 @@
+# Moonlander
+
+![Moonlander](https://i.imgur.com/st2PCgph.png)
+
+A next-gen split, ergonomic keyboard with an active left side, USB type C, integrated wrist rest, and a thumb cluster that can move.
+
+
+* Keyboard Maintainer: [drashna](https://github.com/drashna), [ZSA](https://github.com/zsa/)
+* Hardware Supported: Moonlander MK 1 (STM32F303xC)
+* Hardware Availability: [ZSA Store](https://zsa.io/moonlander/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make zsa/moonlander:default
+
+Flashing example for this keyboard:
+
+ make zsa/moonlander:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+
+## Moonlander Customization
+
+### Indicator LEDs
+
+There are 6 functions for enabling and disabling the LEDs on the top of the boards. The functions are `ML_LED_1(bool)` through `ML_LED_6(bool)`, with the first LED being the left most LED on the left hand, and the sixth LED being the right most LED on the right side.
+
+By default, the Indicator LEDs are used to indicate the layer state for the keyboard. If you wish to change this (and indicate caps/num/scroll lock status instead), then define `MOONLANDER_USER_LEDS` in your `config.h` file.
+
+
+### Oryx Configuration
+
+To enable the features from Oryx (ZSA's Configurator), either compile the `default` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file.
+
+This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR` keycode. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx.
+
+### RGB Matrix Features
+
+If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`.
+
+This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.
+
+Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.
+
+### Detecting split / Gaming mode
+
+To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak).
+
+Example for enabling a specific layer while right side is disconnected:
+
+```
+void housekeeping_task_user(void) {
+ if (!is_transport_connected()) {
+ // set layer
+ }
+}
+```
diff --git a/keyboards/moonlander/rules.mk b/keyboards/zsa/moonlander/rules.mk
index 204c5940e4..204c5940e4 100644
--- a/keyboards/moonlander/rules.mk
+++ b/keyboards/zsa/moonlander/rules.mk
diff --git a/keyboards/ztboards/after/keymaps/ellicose/keymap.c b/keyboards/ztboards/after/keymaps/ellicose/keymap.c
deleted file mode 100644
index 59b768ccc6..0000000000
--- a/keyboards/ztboards/after/keymaps/ellicose/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_65_ansi_wkl_split_bs(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_AUDIO_MUTE ,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP ,
- KC_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_PGDN ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP , MO(1) ,
- KC_CAPS, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_65_ansi_wkl_split_bs(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- /* Custom encoder control - handles CW/CCW turning of encoder
- * Default behavior:
- * main layer:
- * CW: move mouse right
- * CCW: move mouse left
- * other layers:
- * CW: = (equals/plus - increase slider in Adobe products)
- * CCW: - (minus/underscore - decrease slider in adobe products)
- * Thank you to imchipwood/dumbpad for defining this.
- */
- if (index == 0) {
- switch(get_highest_layer(layer_state)) {
- case 1:
- // main layer - move mouse right (CW) and left (CCW)
- if (clockwise) {
- tap_code(KC_BRIGHTNESS_UP);
- } else {
- tap_code(KC_BRIGHTNESS_DOWN);
- }
- break;
-
- default:
- // other layers - =/+ (quals/plus) (CW) and -/_ (minus/underscore) (CCW)
- if (clockwise) {
- tap_code(KC_AUDIO_VOL_UP);
- } else {
- tap_code(KC_AUDIO_VOL_DOWN);
- }
- break;
- }
- }
- return true;
-}
diff --git a/keyboards/ztboards/after/keymaps/phlop/keymap.c b/keyboards/ztboards/after/keymaps/phlop/keymap.c
deleted file mode 100644
index 9f14bc14fb..0000000000
--- a/keyboards/ztboards/after/keymaps/phlop/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_65_ansi_wkl_split_bs(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_PGUP ,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP , MO(1) ,
- KC_LCTL, KC_LALT, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_65_ansi_wkl_split_bs(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- switch(get_highest_layer(layer_state)) {
- case 1: //EDIT THESE FOR THE ENCODER'S FUNCTION WHEN PRESSING MO(1)
- if (clockwise) {
- tap_code16 (KC_VOLU);
- } else {
- tap_code16(KC_VOLD);
- }
- break;
- // default: //EDIT THESE FOR THE ENCODER'S FUNCTIONS ON DEFAULT LAYER
- if (clockwise) {
- tap_code16(KC_VOLU);
- } else {
- tap_code16(KC_VOLD);
- }
- break;
- }
- }
- return true;
-};
diff --git a/keyboards/zykrah/fuyu/config.h b/keyboards/zykrah/fuyu/config.h
index 20b0feb523..4561522868 100644
--- a/keyboards/zykrah/fuyu/config.h
+++ b/keyboards/zykrah/fuyu/config.h
@@ -17,46 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-#ifdef RGB_MATRIX_ENABLE
-/* The pin connected to the data pin of the LEDs */
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS * 3/4
-
-/* The number of LEDs connected (7 Snowflake, 34 Underglow) */
-#define DRIVER_LED_TOTAL 41
-#define RGB_MATRIX_LED_COUNT 41
-
/* Caps locks LED index default is 0 (LED1 on PCB) */
#define CAPS_LOCK_LED_INDEX 0
-
-/* Enable RGB MATRIX effects */
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define ENABLE_RGB_MATRIX_HUE_BREATHING
-#define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#define ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-#endif
diff --git a/keyboards/zykrah/fuyu/info.json b/keyboards/zykrah/fuyu/info.json
index 5431d14329..01053d4821 100644
--- a/keyboards/zykrah/fuyu/info.json
+++ b/keyboards/zykrah/fuyu/info.json
@@ -27,7 +27,42 @@
"cols": ["GP29", "GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP27", "GP9", "GP1", "GP0"]
},
"rgb_matrix": {
- "driver": "ws2812"
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true
+ },
+ "default": {
+ "val": 150
+ },
+ "driver": "ws2812",
+ "max_brightness": 200
},
"ws2812": {
"pin": "GP2",
diff --git a/keyboards/zykrah/fuyu/keymaps/via/keymap.c b/keyboards/zykrah/fuyu/keymaps/via/keymap.c
index 95eb2692cb..d502e9c50f 100644
--- a/keyboards/zykrah/fuyu/keymaps/via/keymap.c
+++ b/keyboards/zykrah/fuyu/keymaps/via/keymap.c
@@ -102,7 +102,7 @@ bool rgb_matrix_indicators_user(void) {
#if defined(RGB_MATRIX_ENABLE)
#define INDICATOR_RGB_DIVISOR 4
-extern rgb_led_t rgb_matrix_ws2812_array[DRIVER_LED_TOTAL];
+extern rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_COUNT];
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
for (uint8_t i = led_min; i < led_max; i++) {
if (g_led_config.flags[i] & LED_FLAG_INDICATOR) {
diff --git a/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c
new file mode 100644
index 0000000000..11958f3700
--- /dev/null
+++ b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c
@@ -0,0 +1,41 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │Bsp│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Tab│Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │# │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Ent│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Sft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ↑ │ / │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Ctl│GUI│LWR│Alt│RSE│ │ │ │Alt│Sft│↠│ ↓ │ → │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_5x13(
+ 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_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_NUHS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, TT(1), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ortho_5x13(
+ KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , KC_EQL ,
+ KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ ,
+ _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ ),
+ [2] = LAYOUT_ortho_5x13(
+ 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 ,
+ _______, _______, _______, _______, QK_RBT, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R
+ ),
+};
diff --git a/layouts/default/ortho_5x13/info.json b/layouts/default/ortho_5x13/info.json
new file mode 100644
index 0000000000..1bfa00d770
--- /dev/null
+++ b/layouts/default/ortho_5x13/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "5x13 ortholinear layout",
+ "url": "",
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT_ortho_5x13": {
+ "layout": [
+ {"x":0 , "y":0},
+ {"x":1 , "y":0},
+ {"x":2 , "y":0},
+ {"x":3 , "y":0},
+ {"x":4 , "y":0},
+ {"x":5 , "y":0},
+ {"x":6 , "y":0},
+ {"x":7 , "y":0},
+ {"x":8 , "y":0},
+ {"x":9 , "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0 , "y":1},
+ {"x":1 , "y":1},
+ {"x":2 , "y":1},
+ {"x":3 , "y":1},
+ {"x":4 , "y":1},
+ {"x":5 , "y":1},
+ {"x":6 , "y":1},
+ {"x":7 , "y":1},
+ {"x":8 , "y":1},
+ {"x":9 , "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0 , "y":2},
+ {"x":1 , "y":2},
+ {"x":2 , "y":2},
+ {"x":3 , "y":2},
+ {"x":4 , "y":2},
+ {"x":5 , "y":2},
+ {"x":6 , "y":2},
+ {"x":7 , "y":2},
+ {"x":8 , "y":2},
+ {"x":9 , "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0 , "y":3},
+ {"x":1 , "y":3},
+ {"x":2 , "y":3},
+ {"x":3 , "y":3},
+ {"x":4 , "y":3},
+ {"x":5 , "y":3},
+ {"x":6 , "y":3},
+ {"x":7 , "y":3},
+ {"x":8 , "y":3},
+ {"x":9 , "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+
+ {"x":0 , "y":4},
+ {"x":1 , "y":4},
+ {"x":2 , "y":4},
+ {"x":3 , "y":4},
+ {"x":4 , "y":4},
+ {"x":5 , "y":4},
+ {"x":6 , "y":4},
+ {"x":7 , "y":4},
+ {"x":8 , "y":4},
+ {"x":9 , "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4}
+ ]
+ }
+ }
+}
diff --git a/layouts/default/ortho_5x13/layout.json b/layouts/default/ortho_5x13/layout.json
new file mode 100644
index 0000000000..017a9d0fcd
--- /dev/null
+++ b/layouts/default/ortho_5x13/layout.json
@@ -0,0 +1,5 @@
+[{a:7},"","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""]
diff --git a/layouts/default/ortho_5x13/readme.md b/layouts/default/ortho_5x13/readme.md
new file mode 100644
index 0000000000..4ec2f9297a
--- /dev/null
+++ b/layouts/default/ortho_5x13/readme.md
@@ -0,0 +1,3 @@
+# ortho_5x13
+
+ LAYOUT_ortho_5x13
diff --git a/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c b/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c
index 5816e968d1..3827074612 100644
--- a/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c
+++ b/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c
@@ -8,7 +8,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │Esc│Tab│ Q │ W │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * │Esc│Tab│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Del│Cap│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[0] = LAYOUT_ortho_5x14(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_ESC, KC_TAB, KC_Q, KC_W, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LEFT, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, KC_ENT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_DOWN
diff --git a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c
new file mode 100644
index 0000000000..527f87f84b
--- /dev/null
+++ b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c
@@ -0,0 +1,46 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│Del│Bsp│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │ ` │ 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 │ ; │ ' │Ent│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Sft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ↑ │ / │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Ctl│GUI│Lwr│Alt│Rse│ │ │ │Alt│Sft│↠│ ↓ │ → │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_6x13(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_BSPC,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_NUHS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, TT(0), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+ [1] = LAYOUT_ortho_6x13(
+ KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, _______, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ ,
+ _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ ),
+ [2] = LAYOUT_ortho_6x13(
+ 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 ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ _______, _______, _______, _______, QK_RBT, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R
+ ),
+};
diff --git a/layouts/default/ortho_6x13/info.json b/layouts/default/ortho_6x13/info.json
new file mode 100644
index 0000000000..728bce3b2c
--- /dev/null
+++ b/layouts/default/ortho_6x13/info.json
@@ -0,0 +1,94 @@
+{
+ "keyboard_name": "6x13 ortholinear layout",
+ "url": "",
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT_ortho_6x13": {
+ "layout": [
+ {"x":0 , "y":0},
+ {"x":1 , "y":0},
+ {"x":2 , "y":0},
+ {"x":3 , "y":0},
+ {"x":4 , "y":0},
+ {"x":5 , "y":0},
+ {"x":6 , "y":0},
+ {"x":7 , "y":0},
+ {"x":8 , "y":0},
+ {"x":9 , "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0 , "y":1},
+ {"x":1 , "y":1},
+ {"x":2 , "y":1},
+ {"x":3 , "y":1},
+ {"x":4 , "y":1},
+ {"x":5 , "y":1},
+ {"x":6 , "y":1},
+ {"x":7 , "y":1},
+ {"x":8 , "y":1},
+ {"x":9 , "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0 , "y":2},
+ {"x":1 , "y":2},
+ {"x":2 , "y":2},
+ {"x":3 , "y":2},
+ {"x":4 , "y":2},
+ {"x":5 , "y":2},
+ {"x":6 , "y":2},
+ {"x":7 , "y":2},
+ {"x":8 , "y":2},
+ {"x":9 , "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0 , "y":3},
+ {"x":1 , "y":3},
+ {"x":2 , "y":3},
+ {"x":3 , "y":3},
+ {"x":4 , "y":3},
+ {"x":5 , "y":3},
+ {"x":6 , "y":3},
+ {"x":7 , "y":3},
+ {"x":8 , "y":3},
+ {"x":9 , "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+
+ {"x":0 , "y":4},
+ {"x":1 , "y":4},
+ {"x":2 , "y":4},
+ {"x":3 , "y":4},
+ {"x":4 , "y":4},
+ {"x":5 , "y":4},
+ {"x":6 , "y":4},
+ {"x":7 , "y":4},
+ {"x":8 , "y":4},
+ {"x":9 , "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+
+ {"x":0 , "y":5},
+ {"x":1 , "y":5},
+ {"x":2 , "y":5},
+ {"x":3 , "y":5},
+ {"x":4 , "y":5},
+ {"x":5 , "y":5},
+ {"x":6 , "y":5},
+ {"x":7 , "y":5},
+ {"x":8 , "y":5},
+ {"x":9 , "y":5},
+ {"x":10, "y":5},
+ {"x":11, "y":5},
+ {"x":12, "y":5}
+ ]
+ }
+ }
+}
diff --git a/layouts/default/ortho_6x13/layout.json b/layouts/default/ortho_6x13/layout.json
new file mode 100644
index 0000000000..1e5dab5b89
--- /dev/null
+++ b/layouts/default/ortho_6x13/layout.json
@@ -0,0 +1,6 @@
+[{a:7},"","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""],
+["","","","","","","","","","","","",""]
diff --git a/layouts/default/ortho_6x13/readme.md b/layouts/default/ortho_6x13/readme.md
new file mode 100644
index 0000000000..d4ea33dda9
--- /dev/null
+++ b/layouts/default/ortho_6x13/readme.md
@@ -0,0 +1,3 @@
+# ortho_6x13
+
+ LAYOUT_ortho_6x13
diff --git a/layouts/default/readme.md b/layouts/default/readme.md
index d5d268ae8b..892dbf1e03 100644
--- a/layouts/default/readme.md
+++ b/layouts/default/readme.md
@@ -1404,6 +1404,21 @@ LAYOUT_ortho_5x12
```
```
+LAYOUT_ortho_5x13
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+```
+
+```
LAYOUT_ortho_5x14
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
@@ -1466,6 +1481,23 @@ LAYOUT_ortho_6x4
```
```
+LAYOUT_ortho_6x13
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+```
+
+```
LAYOUT_planck_mit
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
│ │ │ │ │ │ │ │ │ │ │ │ │
diff --git a/lib/chibios-contrib b/lib/chibios-contrib
-Subproject da78eb3759b8d1779b237657c7667baa4aa95ca
+Subproject 9d7a7f904ed135e3459cf6d602db56a26872df6
diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py
index 80f587bcc0..d974d04020 100644
--- a/lib/python/qmk/build_targets.py
+++ b/lib/python/qmk/build_targets.py
@@ -119,9 +119,10 @@ class BuildTarget:
command = self.compile_command(build_target=build_target, dry_run=True, **env_vars)
from qmk.cli.generate.compilation_database import write_compilation_database # Lazy load due to circular references
output_path = QMK_FIRMWARE / 'compile_commands.json'
- write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
- if output_path.exists() and HAS_QMK_USERSPACE:
+ ret = write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
+ if ret and output_path.exists() and HAS_QMK_USERSPACE:
shutil.copy(str(output_path), str(QMK_USERSPACE / 'compile_commands.json'))
+ return ret
def compile(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None:
if self._clean or self._compiledb:
diff --git a/lib/python/qmk/cli/bux.py b/lib/python/qmk/cli/bux.py
index 8c7f172779..669521d08e 100755
--- a/lib/python/qmk/cli/bux.py
+++ b/lib/python/qmk/cli/bux.py
@@ -19,7 +19,7 @@ def bux(cli):
config.set_config('user', 'bux', bux + 1)
cli.save_config()
- buck = """
+ buck = r"""
@@BBBBBBBBBBBBBBBBBBBBK `vP8#####BE2~ x###g_ `S###q n##} -j#Bl. vBBBBBBBBBBBBBBBBBBBB@@
@B `:!: ^#@#]- `!t@@&. 7@@B@#^ _Q@Q@@R y@@l:P@#1' `!!_ B@
@B r@@@B g@@| ` N@@u 7@@iv@@u *#@z"@@R y@@&@@Q- l@@@D B@
@@ -34,7 +34,7 @@ def bux(cli):
@B _y ]# ,c vUWNWWPsfsssN9WyccnckAfUfWb0DR0&R5RRRddq2_ `@D`jr@2U@#c3@1@Qc- B@
@B !7! .r]` }AE0RdRqNd9dNR9fUIzzosPqqAddNNdER9EE9dPy! BQ!zy@iU@.Q@@y@8x- B@
@B :****>. '7adddDdR&gRNdRbd&dNNbbRdNdd5NdRRD0RSf}- .k0&EW`xR .8Q=NRRx B@
-@B =**-rx*r}r~}" ;n2jkzsf3N3zsKsP5dddRddddRddNNqPzy\\" '~****" B@
+@B =**-rx*r}r~}" ;n2jkzsf3N3zsKsP5dddRddddRddNNqPzy\" '~****" B@
@B :!!~!;=~r>:*_ `:^vxikylulKfHkyjzzozoIoklix|^!-` B@
@B ```'-_""::::!:_-.`` B@
@B `- .` B@
diff --git a/lib/python/qmk/cli/find.py b/lib/python/qmk/cli/find.py
index 55a0530092..8f3a29c90c 100644
--- a/lib/python/qmk/cli/find.py
+++ b/lib/python/qmk/cli/find.py
@@ -1,7 +1,7 @@
"""Command to search through all keyboards and keymaps for a given search criteria.
"""
from milc import cli
-from qmk.search import search_keymap_targets
+from qmk.search import filter_help, search_keymap_targets
@cli.argument(
@@ -11,7 +11,7 @@ from qmk.search import search_keymap_targets
action='append',
default=[],
help= # noqa: `format-python` and `pytest` don't agree here.
- "Filter the list of keyboards based on their info.json data. Accepts the formats key=value, function(key), or function(key,value), eg. 'features.rgblight=true'. Valid functions are 'absent', 'contains', 'exists' and 'length'. May be passed multiple times; all filters need to match. Value may include wildcards such as '*' and '?'." # noqa: `format-python` and `pytest` don't agree here.
+ f"Filter the list of keyboards based on their info.json data. Accepts the formats key=value, function(key), or function(key,value), eg. 'features.rgblight=true'. Valid functions are {filter_help()}. May be passed multiple times; all filters need to match. Value may include wildcards such as '*' and '?'." # noqa: `format-python` and `pytest` don't agree here.
)
@cli.argument('-p', '--print', arg_only=True, action='append', default=[], help="For each matched target, print the value of the supplied info.json key. May be passed multiple times.")
@cli.argument('-km', '--keymap', type=str, default='default', help="The keymap name to build. Default is 'default'.")
diff --git a/lib/python/qmk/cli/format/json.py b/lib/python/qmk/cli/format/json.py
index 283513254c..87a3837d10 100755
--- a/lib/python/qmk/cli/format/json.py
+++ b/lib/python/qmk/cli/format/json.py
@@ -92,8 +92,8 @@ def format_json(cli):
output = json.dumps(json_data, cls=json_encoder, sort_keys=True)
if cli.args.inplace:
- with open(cli.args.json_file, 'w+', encoding='utf-8') as outfile:
- outfile.write(output)
+ with open(cli.args.json_file, 'w+', encoding='utf-8', newline='\n') as outfile:
+ outfile.write(output + '\n')
# Display the results if print was set
# We don't operate in-place by default, so also display to stdout
diff --git a/lib/python/qmk/cli/generate/compilation_database.py b/lib/python/qmk/cli/generate/compilation_database.py
index 5100d2b6d2..a2190fee66 100755
--- a/lib/python/qmk/cli/generate/compilation_database.py
+++ b/lib/python/qmk/cli/generate/compilation_database.py
@@ -17,6 +17,7 @@ from qmk.constants import QMK_FIRMWARE
from qmk.decorators import automagic_keyboard, automagic_keymap
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.keymap import keymap_completer
+from qmk.build_targets import KeyboardKeymapBuildTarget
@lru_cache(maxsize=10)
@@ -138,4 +139,5 @@ def generate_compilation_database(cli: MILC) -> Union[bool, int]:
elif not current_keymap:
cli.log.error('Could not determine keymap!')
- return write_compilation_database(current_keyboard, current_keymap, QMK_FIRMWARE / 'compile_commands.json')
+ target = KeyboardKeymapBuildTarget(current_keyboard, current_keymap)
+ return target.generate_compilation_database()
diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py
index 00fb1d9585..fc681300a3 100755
--- a/lib/python/qmk/cli/generate/config_h.py
+++ b/lib/python/qmk/cli/generate/config_h.py
@@ -108,6 +108,8 @@ def generate_config_items(kb_info_json, config_h_lines):
elif key_type.startswith('array'):
config_h_lines.append(generate_define(config_key, f'{{ {", ".join(map(str, config_value))} }}'))
elif key_type == 'bool':
+ config_h_lines.append(generate_define(config_key, 'true' if config_value else 'false'))
+ elif key_type == 'flag':
if config_value:
config_h_lines.append(generate_define(config_key))
elif key_type == 'mapping':
diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py
index f010341613..5a6c967486 100755
--- a/lib/python/qmk/cli/generate/keyboard_c.py
+++ b/lib/python/qmk/cli/generate/keyboard_c.py
@@ -9,21 +9,25 @@ from qmk.path import normpath
from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
-def _gen_led_config(info_data):
+def _gen_led_configs(info_data):
+ lines = []
+
+ if 'layout' in info_data.get('rgb_matrix', {}):
+ lines.extend(_gen_led_config(info_data, 'rgb_matrix'))
+
+ if 'layout' in info_data.get('led_matrix', {}):
+ lines.extend(_gen_led_config(info_data, 'led_matrix'))
+
+ return lines
+
+
+def _gen_led_config(info_data, config_type):
"""Convert info.json content to g_led_config
"""
cols = info_data['matrix_size']['cols']
rows = info_data['matrix_size']['rows']
- config_type = None
- if 'layout' in info_data.get('rgb_matrix', {}):
- config_type = 'rgb_matrix'
- elif 'layout' in info_data.get('led_matrix', {}):
- config_type = 'led_matrix'
-
lines = []
- if not config_type:
- return lines
matrix = [['NO_LED'] * cols for _ in range(rows)]
pos = []
@@ -53,6 +57,7 @@ def _gen_led_config(info_data):
lines.append(f' {{ {", ".join(flags)} }},')
lines.append('};')
lines.append('#endif')
+ lines.append('')
return lines
@@ -98,7 +103,7 @@ def generate_keyboard_c(cli):
# Build the layouts.h file.
keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#include QMK_KEYBOARD_H', '']
- keyboard_h_lines.extend(_gen_led_config(kb_info_json))
+ keyboard_h_lines.extend(_gen_led_configs(kb_info_json))
keyboard_h_lines.extend(_gen_matrix_mask(kb_info_json))
# Show the results
diff --git a/lib/python/qmk/cli/git/submodule.py b/lib/python/qmk/cli/git/submodule.py
index ef116ea124..1cbfd74e88 100644
--- a/lib/python/qmk/cli/git/submodule.py
+++ b/lib/python/qmk/cli/git/submodule.py
@@ -1,8 +1,8 @@
import shutil
+from pathlib import Path
from milc import cli
-from qmk.path import normpath
from qmk import submodules
REMOVE_DIRS = [
@@ -40,12 +40,12 @@ def git_submodule(cli):
remove_dirs = REMOVE_DIRS
if cli.config.git_submodule.force:
# Also trash everything that isnt marked as "safe"
- for path in normpath('lib').iterdir():
+ for path in Path('lib').iterdir():
if not any(ignore in path.as_posix() for ignore in IGNORE_DIRS):
remove_dirs.append(path)
- for folder in map(normpath, remove_dirs):
- if normpath(folder).is_dir():
+ for folder in map(Path, remove_dirs):
+ if folder.is_dir():
print(f"Removing '{folder}'")
shutil.rmtree(folder)
diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py
index a7c85b5643..7ebb0cf9c4 100644
--- a/lib/python/qmk/cli/lint.py
+++ b/lib/python/qmk/cli/lint.py
@@ -13,6 +13,7 @@ from qmk.git import git_get_ignored_files
from qmk.c_parse import c_source_files
CHIBIOS_CONF_CHECKS = ['chconf.h', 'halconf.h', 'mcuconf.h', 'board.h']
+INVALID_KB_FEATURES = set(['encoder_map', 'dip_switch_map', 'combo', 'tap_dance', 'via'])
def _list_defaultish_keymaps(kb):
@@ -69,6 +70,17 @@ def _handle_json_errors(kb, info):
return ok
+def _handle_invalid_features(kb, info):
+ """Check for features that should never be enabled at the keyboard level
+ """
+ ok = True
+ features = set(info.get('features', []))
+ for found in features & INVALID_KB_FEATURES:
+ ok = False
+ cli.log.error(f'{kb}: Invalid keyboard level feature detected - {found}')
+ return ok
+
+
def _chibios_conf_includenext_check(target):
"""Check the ChibiOS conf.h for the correct inclusion of the next conf.h
"""
@@ -154,6 +166,9 @@ def keyboard_check(kb):
ok = False
# Additional checks
+ if not _handle_invalid_features(kb, kb_info):
+ ok = False
+
rules_mk_assignment_errors = _rules_mk_assignment_only(kb)
if rules_mk_assignment_errors:
ok = False
diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py
index 69b9103fdc..7db704d6c2 100755
--- a/lib/python/qmk/cli/mass_compile.py
+++ b/lib/python/qmk/cli/mass_compile.py
@@ -52,9 +52,9 @@ all: {keyboard_safe}_{keymap_name}_binary
{' '.join(command)} \\
>>"{build_log}" 2>&1 \\
|| cp "{build_log}" "{failed_log}"
- @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\
- || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\
- || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}"
+ @{{ grep '\\[ERRORS\\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \\e[1;31m[ERRORS]\\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\
+ || {{ grep '\\[WARNINGS\\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \\e[1;33m[WARNINGS]\\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\
+ || printf "Build %-64s \\e[1;32m[OK]\\e[0m\\n" "{keyboard_name}:{keymap_name}"
@rm -f "{build_log}" || true
"""# noqa
)
diff --git a/lib/python/qmk/cli/migrate.py b/lib/python/qmk/cli/migrate.py
index c1b1ad1ea9..0bab5c1949 100644
--- a/lib/python/qmk/cli/migrate.py
+++ b/lib/python/qmk/cli/migrate.py
@@ -47,9 +47,12 @@ def migrate(cli):
files = _candidate_files(cli.args.keyboard)
# Filter down keys if requested
- keys = info_map.keys()
+ keys = list(filter(lambda key: info_map[key].get("to_json", True), info_map.keys()))
if cli.args.filter:
keys = list(set(keys) & set(cli.args.filter))
+ rejected = set(cli.args.filter) - set(keys)
+ for key in rejected:
+ cli.log.info(f'{{fg_yellow}}Skipping {key} as migration not possible...')
cli.log.info(f'{{fg_green}}Migrating keyboard {{fg_cyan}}{cli.args.keyboard}{{fg_green}}.{{fg_reset}}')
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index d42ba5c660..13588abdb8 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -233,6 +233,9 @@ def _extract_features(info_data, rules):
key = '_'.join(key.split('_')[:-1]).lower()
value = True if value.lower() in true_values else False if value.lower() in false_values else value
+ if key in ['lto']:
+ continue
+
if 'config_h_features' not in info_data:
info_data['config_h_features'] = {}
@@ -524,6 +527,9 @@ def _config_to_json(key_type, config_value):
"""Convert config value using spec
"""
if key_type.startswith('array'):
+ if key_type.count('.') > 1:
+ raise Exception(f"Conversion of {key_type} not possible")
+
if '.' in key_type:
key_type, array_type = key_type.split('.', 1)
else:
@@ -536,7 +542,7 @@ def _config_to_json(key_type, config_value):
else:
return list(map(str.strip, config_value.split(',')))
- elif key_type == 'bool':
+ elif key_type in ['bool', 'flag']:
if isinstance(config_value, bool):
return config_value
return config_value in true_values
@@ -706,27 +712,23 @@ def _extract_led_config(info_data, keyboard):
cols = info_data['matrix_size']['cols']
rows = info_data['matrix_size']['rows']
- # Determine what feature owns g_led_config
- features = info_data.get("features", {})
- feature = None
- if features.get("rgb_matrix", False):
- feature = "rgb_matrix"
- elif features.get("led_matrix", False):
- feature = "led_matrix"
-
- if feature:
- # Process
- for file in find_keyboard_c(keyboard):
- try:
- ret = find_led_config(file, cols, rows)
- if ret:
- info_data[feature] = info_data.get(feature, {})
- info_data[feature]["layout"] = ret
- except Exception as e:
- _log_warning(info_data, f'led_config: {file.name}: {e}')
-
- if info_data[feature].get("layout", None) and not info_data[feature].get("led_count", None):
- info_data[feature]["led_count"] = len(info_data[feature]["layout"])
+ for feature in ['rgb_matrix', 'led_matrix']:
+ if info_data.get('features', {}).get(feature, False) or feature in info_data:
+
+ # Only attempt search if dd led config is missing
+ if 'layout' not in info_data.get(feature, {}):
+ # Process
+ for file in find_keyboard_c(keyboard):
+ try:
+ ret = find_led_config(file, cols, rows)
+ if ret:
+ info_data[feature] = info_data.get(feature, {})
+ info_data[feature]['layout'] = ret
+ except Exception as e:
+ _log_warning(info_data, f'led_config: {file.name}: {e}')
+
+ if info_data[feature].get('layout', None) and not info_data[feature].get('led_count', None):
+ info_data[feature]['led_count'] = len(info_data[feature]['layout'])
return info_data
diff --git a/lib/python/qmk/painter_qgf.py b/lib/python/qmk/painter_qgf.py
index 2b8edfb04d..cc4697f1c6 100644
--- a/lib/python/qmk/painter_qgf.py
+++ b/lib/python/qmk/painter_qgf.py
@@ -1,9 +1,11 @@
# Copyright 2021 Nick Brassel (@tzarc)
+# Copyright 2023 Pablo Martinez (@elpekenin) <elpekenin@elpekenin.dev>
# SPDX-License-Identifier: GPL-2.0-or-later
# Quantum Graphics File "QGF" Image File Format.
# See https://docs.qmk.fm/#/quantum_painter_qgf for more information.
+import functools
from colorsys import rgb_to_hsv
from types import FunctionType
from PIL import Image, ImageFile, ImageChops
@@ -15,6 +17,12 @@ def o24(i):
return o16(i & 0xFFFF) + o8((i & 0xFF0000) >> 16)
+# Helper to convert from RGB888 to the QMK "dialect" of HSV888
+def rgb888_to_qmk_hsv888(e):
+ hsv = rgb_to_hsv(e[0] / 255.0, e[1] / 255.0, e[2] / 255.0)
+ return (int(hsv[0] * 255.0), int(hsv[1] * 255.0), int(hsv[2] * 255.0))
+
+
########################################################################################################################
@@ -60,6 +68,14 @@ class QGFGraphicsDescriptor:
+ o16(self.frame_count) # frame count
)
+ @property
+ def image_size(self):
+ return self.image_width, self.image_height
+
+ @image_size.setter
+ def image_size(self, size):
+ self.image_width, self.image_height = size
+
########################################################################################################################
@@ -180,6 +196,14 @@ class QGFFrameDeltaDescriptorV1:
+ o16(self.bottom) # bottom
)
+ @property
+ def bbox(self):
+ return self.left, self.top, self.right, self.bottom
+
+ @bbox.setter
+ def bbox(self, bbox):
+ self.left, self.top, self.right, self.bottom = bbox
+
########################################################################################################################
@@ -221,42 +245,159 @@ def _accept(prefix):
return False
-def _save(im, fp, filename):
+def _for_all_frames(x: FunctionType, /, images):
+ frame_num = 0
+ last_frame = None
+ for frame in images:
+ # Get number of of frames in this image
+ nfr = getattr(frame, "n_frames", 1)
+ for idx in range(nfr):
+ frame.seek(idx)
+ frame.load()
+ copy = frame.copy().convert("RGB")
+ x(frame_num, copy, last_frame)
+ last_frame = copy
+ frame_num += 1
+
+
+def _compress_image(frame, last_frame, *, use_rle, use_deltas, format_, **_kwargs):
+ # Convert the original frame so we can do comparisons
+ converted = qmk.painter.convert_requested_format(frame, format_)
+ graphic_data = qmk.painter.convert_image_bytes(converted, format_)
+
+ # Convert the raw data to RLE-encoded if requested
+ raw_data = graphic_data[1]
+ if use_rle:
+ rle_data = qmk.painter.compress_bytes_qmk_rle(graphic_data[1])
+ use_raw_this_frame = not use_rle or len(raw_data) <= len(rle_data)
+ image_data = raw_data if use_raw_this_frame else rle_data
+
+ # Work out if a delta frame is smaller than injecting it directly
+ use_delta_this_frame = False
+ bbox = None
+ if use_deltas and last_frame is not None:
+ # If we want to use deltas, then find the difference
+ diff = ImageChops.difference(frame, last_frame)
+
+ # Get the bounding box of those differences
+ bbox = diff.getbbox()
+
+ # If we have a valid bounding box...
+ if bbox:
+ # ...create the delta frame by cropping the original.
+ delta_frame = frame.crop(bbox)
+
+ # Convert the delta frame to the requested format
+ delta_converted = qmk.painter.convert_requested_format(delta_frame, format_)
+ delta_graphic_data = qmk.painter.convert_image_bytes(delta_converted, format_)
+
+ # Work out how large the delta frame is going to be with compression etc.
+ delta_raw_data = delta_graphic_data[1]
+ if use_rle:
+ delta_rle_data = qmk.painter.compress_bytes_qmk_rle(delta_graphic_data[1])
+ delta_use_raw_this_frame = not use_rle or len(delta_raw_data) <= len(delta_rle_data)
+ delta_image_data = delta_raw_data if delta_use_raw_this_frame else delta_rle_data
+
+ # If the size of the delta frame (plus delta descriptor) is smaller than the original, use that instead
+ # This ensures that if a non-delta is overall smaller in size, we use that in preference due to flash
+ # sizing constraints.
+ if (len(delta_image_data) + QGFFrameDeltaDescriptorV1.length) < len(image_data):
+ # Copy across all the delta equivalents so that the rest of the processing acts on those
+ graphic_data = delta_graphic_data
+ raw_data = delta_raw_data
+ rle_data = delta_rle_data
+ use_raw_this_frame = delta_use_raw_this_frame
+ image_data = delta_image_data
+ use_delta_this_frame = True
+
+ # Default to whole image
+ bbox = bbox or [0, 0, *frame.size]
+ # Fix sze (as per #20296), we need to cast first as tuples are inmutable
+ bbox = list(bbox)
+ bbox[2] -= 1
+ bbox[3] -= 1
+
+ return {
+ "bbox": bbox,
+ "graphic_data": graphic_data,
+ "image_data": image_data,
+ "use_delta_this_frame": use_delta_this_frame,
+ "use_raw_this_frame": use_raw_this_frame,
+ }
+
+
+# Helper function to save each frame to the output file
+def _write_frame(idx, frame, last_frame, *, fp, frame_offsets, **kwargs):
+ # Not an argument of the function as it would consume from **kwargs
+ format_ = kwargs["format_"]
+
+ # (potentially) Apply RLE and/or delta, and work out output image's information
+ outputs = _compress_image(frame, last_frame, **kwargs)
+ bbox = outputs["bbox"]
+ graphic_data = outputs["graphic_data"]
+ image_data = outputs["image_data"]
+ use_delta_this_frame = outputs["use_delta_this_frame"]
+ use_raw_this_frame = outputs["use_raw_this_frame"]
+
+ # Write out the frame descriptor
+ frame_offsets.frame_offsets[idx] = fp.tell()
+ vprint(f'{f"Frame {idx:3d} base":26s} {fp.tell():5d}d / {fp.tell():04X}h')
+ frame_descriptor = QGFFrameDescriptorV1()
+ frame_descriptor.is_delta = use_delta_this_frame
+ frame_descriptor.is_transparent = False
+ frame_descriptor.format = format_['image_format_byte']
+ frame_descriptor.compression = 0x00 if use_raw_this_frame else 0x01 # See qp.h, painter_compression_t
+ frame_descriptor.delay = frame.info.get('duration', 1000) # If we're not an animation, just pretend we're delaying for 1000ms
+ frame_descriptor.write(fp)
+
+ # Write out the palette if required
+ if format_['has_palette']:
+ palette = graphic_data[0]
+ palette_descriptor = QGFFramePaletteDescriptorV1()
+
+ # Convert all palette entries to HSV888 and write to the output
+ palette_descriptor.palette_entries = list(map(rgb888_to_qmk_hsv888, palette))
+ vprint(f'{f"Frame {idx:3d} palette":26s} {fp.tell():5d}d / {fp.tell():04X}h')
+ palette_descriptor.write(fp)
+
+ # Write out the delta info if required
+ if use_delta_this_frame:
+ # Set up the rendering location of where the delta frame should be situated
+ delta_descriptor = QGFFrameDeltaDescriptorV1()
+ delta_descriptor.bbox = bbox
+
+ # Write the delta frame to the output
+ vprint(f'{f"Frame {idx:3d} delta":26s} {fp.tell():5d}d / {fp.tell():04X}h')
+ delta_descriptor.write(fp)
+
+ # Write out the data for this frame to the output
+ data_descriptor = QGFFrameDataDescriptorV1()
+ data_descriptor.data = image_data
+ vprint(f'{f"Frame {idx:3d} data":26s} {fp.tell():5d}d / {fp.tell():04X}h')
+ data_descriptor.write(fp)
+
+
+def _save(im, fp, _filename):
"""Helper method used by PIL to write to an output file.
"""
# Work out from the parameters if we need to do anything special
encoderinfo = im.encoderinfo.copy()
- append_images = list(encoderinfo.get("append_images", []))
- verbose = encoderinfo.get("verbose", False)
- use_deltas = encoderinfo.get("use_deltas", True)
- use_rle = encoderinfo.get("use_rle", True)
- # Helper for inline verbose prints
- def vprint(s):
- if verbose:
- print(s)
+ # Helper for prints, noop taking any args if not verbose
+ global vprint
+ verbose = encoderinfo.get("verbose", False)
+ vprint = print if verbose else lambda *_args, **_kwargs: None
# Helper to iterate through all frames in the input image
- def _for_all_frames(x: FunctionType):
- frame_num = 0
- last_frame = None
- for frame in [im] + append_images:
- # Get number of of frames in this image
- nfr = getattr(frame, "n_frames", 1)
- for idx in range(nfr):
- frame.seek(idx)
- frame.load()
- copy = frame.copy().convert("RGB")
- x(frame_num, copy, last_frame)
- last_frame = copy
- frame_num += 1
+ append_images = list(encoderinfo.get("append_images", []))
+ for_all_frames = functools.partial(_for_all_frames, images=[im, *append_images])
# Collect all the frame sizes
frame_sizes = []
- _for_all_frames(lambda idx, frame, last_frame: frame_sizes.append(frame.size))
+ for_all_frames(lambda _idx, frame, _last_frame: frame_sizes.append(frame.size))
# Make sure all frames are the same size
- if len(list(set(frame_sizes))) != 1:
+ if len(set(frame_sizes)) != 1:
raise ValueError("Mismatching sizes on frames")
# Write out the initial graphics descriptor (and write a dummy value), so that we can come back and fill in the
@@ -264,8 +405,7 @@ def _save(im, fp, filename):
graphics_descriptor_location = fp.tell()
graphics_descriptor = QGFGraphicsDescriptor()
graphics_descriptor.frame_count = len(frame_sizes)
- graphics_descriptor.image_width = frame_sizes[0][0]
- graphics_descriptor.image_height = frame_sizes[0][1]
+ graphics_descriptor.image_size = frame_sizes[0]
vprint(f'{"Graphics descriptor block":26s} {fp.tell():5d}d / {fp.tell():04X}h')
graphics_descriptor.write(fp)
@@ -276,117 +416,9 @@ def _save(im, fp, filename):
vprint(f'{"Frame offsets block":26s} {fp.tell():5d}d / {fp.tell():04X}h')
frame_offsets.write(fp)
- # Helper function to save each frame to the output file
- def _write_frame(idx, frame, last_frame):
- # If we replace the frame we're going to output with a delta, we can override it here
- this_frame = frame
- location = (0, 0)
- size = frame.size
-
- # Work out the format we're going to use
- format = encoderinfo["qmk_format"]
-
- # Convert the original frame so we can do comparisons
- converted = qmk.painter.convert_requested_format(this_frame, format)
- graphic_data = qmk.painter.convert_image_bytes(converted, format)
-
- # Convert the raw data to RLE-encoded if requested
- raw_data = graphic_data[1]
- if use_rle:
- rle_data = qmk.painter.compress_bytes_qmk_rle(graphic_data[1])
- use_raw_this_frame = not use_rle or len(raw_data) <= len(rle_data)
- image_data = raw_data if use_raw_this_frame else rle_data
-
- # Work out if a delta frame is smaller than injecting it directly
- use_delta_this_frame = False
- if use_deltas and last_frame is not None:
- # If we want to use deltas, then find the difference
- diff = ImageChops.difference(frame, last_frame)
-
- # Get the bounding box of those differences
- bbox = diff.getbbox()
-
- # If we have a valid bounding box...
- if bbox:
- # ...create the delta frame by cropping the original.
- delta_frame = frame.crop(bbox)
- delta_location = (bbox[0], bbox[1])
- delta_size = (bbox[2] - bbox[0], bbox[3] - bbox[1])
-
- # Convert the delta frame to the requested format
- delta_converted = qmk.painter.convert_requested_format(delta_frame, format)
- delta_graphic_data = qmk.painter.convert_image_bytes(delta_converted, format)
-
- # Work out how large the delta frame is going to be with compression etc.
- delta_raw_data = delta_graphic_data[1]
- if use_rle:
- delta_rle_data = qmk.painter.compress_bytes_qmk_rle(delta_graphic_data[1])
- delta_use_raw_this_frame = not use_rle or len(delta_raw_data) <= len(delta_rle_data)
- delta_image_data = delta_raw_data if delta_use_raw_this_frame else delta_rle_data
-
- # If the size of the delta frame (plus delta descriptor) is smaller than the original, use that instead
- # This ensures that if a non-delta is overall smaller in size, we use that in preference due to flash
- # sizing constraints.
- if (len(delta_image_data) + QGFFrameDeltaDescriptorV1.length) < len(image_data):
- # Copy across all the delta equivalents so that the rest of the processing acts on those
- this_frame = delta_frame
- location = delta_location
- size = delta_size
- converted = delta_converted
- graphic_data = delta_graphic_data
- raw_data = delta_raw_data
- rle_data = delta_rle_data
- use_raw_this_frame = delta_use_raw_this_frame
- image_data = delta_image_data
- use_delta_this_frame = True
-
- # Write out the frame descriptor
- frame_offsets.frame_offsets[idx] = fp.tell()
- vprint(f'{f"Frame {idx:3d} base":26s} {fp.tell():5d}d / {fp.tell():04X}h')
- frame_descriptor = QGFFrameDescriptorV1()
- frame_descriptor.is_delta = use_delta_this_frame
- frame_descriptor.is_transparent = False
- frame_descriptor.format = format['image_format_byte']
- frame_descriptor.compression = 0x00 if use_raw_this_frame else 0x01 # See qp.h, painter_compression_t
- frame_descriptor.delay = frame.info['duration'] if 'duration' in frame.info else 1000 # If we're not an animation, just pretend we're delaying for 1000ms
- frame_descriptor.write(fp)
-
- # Write out the palette if required
- if format['has_palette']:
- palette = graphic_data[0]
- palette_descriptor = QGFFramePaletteDescriptorV1()
-
- # Helper to convert from RGB888 to the QMK "dialect" of HSV888
- def rgb888_to_qmk_hsv888(e):
- hsv = rgb_to_hsv(e[0] / 255.0, e[1] / 255.0, e[2] / 255.0)
- return (int(hsv[0] * 255.0), int(hsv[1] * 255.0), int(hsv[2] * 255.0))
-
- # Convert all palette entries to HSV888 and write to the output
- palette_descriptor.palette_entries = list(map(rgb888_to_qmk_hsv888, palette))
- vprint(f'{f"Frame {idx:3d} palette":26s} {fp.tell():5d}d / {fp.tell():04X}h')
- palette_descriptor.write(fp)
-
- # Write out the delta info if required
- if use_delta_this_frame:
- # Set up the rendering location of where the delta frame should be situated
- delta_descriptor = QGFFrameDeltaDescriptorV1()
- delta_descriptor.left = location[0]
- delta_descriptor.top = location[1]
- delta_descriptor.right = location[0] + size[0] - 1
- delta_descriptor.bottom = location[1] + size[1] - 1
-
- # Write the delta frame to the output
- vprint(f'{f"Frame {idx:3d} delta":26s} {fp.tell():5d}d / {fp.tell():04X}h')
- delta_descriptor.write(fp)
-
- # Write out the data for this frame to the output
- data_descriptor = QGFFrameDataDescriptorV1()
- data_descriptor.data = image_data
- vprint(f'{f"Frame {idx:3d} data":26s} {fp.tell():5d}d / {fp.tell():04X}h')
- data_descriptor.write(fp)
-
# Iterate over each if the input frames, writing it to the output in the process
- _for_all_frames(_write_frame)
+ write_frame = functools.partial(_write_frame, format_=encoderinfo["qmk_format"], fp=fp, use_deltas=encoderinfo.get("use_deltas", True), use_rle=encoderinfo.get("use_rle", True), frame_offsets=frame_offsets)
+ for_all_frames(write_frame)
# Go back and update the graphics descriptor now that we can determine the final file size
graphics_descriptor.total_file_size = fp.tell()
diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py
index 84cf6cbe32..33550a3db2 100644
--- a/lib/python/qmk/search.py
+++ b/lib/python/qmk/search.py
@@ -5,7 +5,7 @@ import functools
import fnmatch
import logging
import re
-from typing import List, Tuple
+from typing import Callable, List, Optional, Tuple
from dotty_dict import dotty, Dotty
from milc import cli
@@ -15,6 +15,82 @@ from qmk.keyboard import list_keyboards, keyboard_folder
from qmk.keymap import list_keymaps, locate_keymap
from qmk.build_targets import KeyboardKeymapBuildTarget, BuildTarget
+TargetInfo = Tuple[str, str, dict]
+
+
+# by using a class for filters, we dont need to worry about capturing values
+# see details <https://github.com/qmk/qmk_firmware/pull/21090>
+class FilterFunction:
+ """Base class for filters.
+ It provides:
+ - __init__: capture key and value
+
+ Each subclass should provide:
+ - func_name: how it will be specified on CLI
+ >>> qmk find -f <func_name>...
+ - apply: function that actually applies the filter
+ ie: return whether the input kb/km satisfies the condition
+ """
+
+ key: str
+ value: Optional[str]
+
+ func_name: str
+ apply: Callable[[TargetInfo], bool]
+
+ def __init__(self, key, value):
+ self.key = key
+ self.value = value
+
+
+class Exists(FilterFunction):
+ func_name = "exists"
+
+ def apply(self, target_info: TargetInfo) -> bool:
+ _kb, _km, info = target_info
+ return self.key in info
+
+
+class Absent(FilterFunction):
+ func_name = "absent"
+
+ def apply(self, target_info: TargetInfo) -> bool:
+ _kb, _km, info = target_info
+ return self.key not in info
+
+
+class Length(FilterFunction):
+ func_name = "length"
+
+ def apply(self, target_info: TargetInfo) -> bool:
+ _kb, _km, info = target_info
+ return (self.key in info and len(info[self.key]) == int(self.value))
+
+
+class Contains(FilterFunction):
+ func_name = "contains"
+
+ def apply(self, target_info: TargetInfo) -> bool:
+ _kb, _km, info = target_info
+ return (self.key in info and self.value in info[self.key])
+
+
+def _get_filter_class(func_name: str, key: str, value: str) -> Optional[FilterFunction]:
+ """Initialize a filter subclass based on regex findings and return it.
+ None if no there's no filter with the name queried.
+ """
+
+ for subclass in FilterFunction.__subclasses__():
+ if func_name == subclass.func_name:
+ return subclass(key, value)
+
+ return None
+
+
+def filter_help() -> str:
+ names = [f"'{f.func_name}'" for f in FilterFunction.__subclasses__()]
+ return ", ".join(names[:-1]) + f" and {names[-1]}"
+
def _set_log_level(level):
cli.acquire_lock()
@@ -48,11 +124,12 @@ def _keymap_exists(keyboard, keymap):
return keyboard if locate_keymap(keyboard, keymap) is not None else None
-def _load_keymap_info(kb_km):
+def _load_keymap_info(target: Tuple[str, str]) -> TargetInfo:
"""Returns a tuple of (keyboard, keymap, info.json) for the given keyboard/keymap combination.
"""
+ kb, km = target
with ignore_logging():
- return (kb_km[0], kb_km[1], keymap_json(kb_km[0], kb_km[1]))
+ return (kb, km, keymap_json(kb, km))
def expand_make_targets(targets: List[str]) -> List[Tuple[str, str]]:
@@ -139,26 +216,14 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str
key = function_match.group('key')
value = function_match.group('value')
- if value is not None:
- if func_name == 'length':
- valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and len(e[2].get(key)) == int(value), valid_keymaps)
- elif func_name == 'contains':
- valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and value in e[2].get(key), valid_keymaps)
- else:
- cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}')
- continue
-
- cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}, {{fg_cyan}}{value}{{fg_reset}})...')
- else:
- if func_name == 'exists':
- valid_keymaps = filter(lambda e, key=key: key in e[2], valid_keymaps)
- elif func_name == 'absent':
- valid_keymaps = filter(lambda e, key=key: key not in e[2], valid_keymaps)
- else:
- cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}')
- continue
-
- cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}})...')
+ filter_class = _get_filter_class(func_name, key, value)
+ if filter_class is None:
+ cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}')
+ continue
+ valid_keymaps = filter(filter_class.apply, valid_keymaps)
+
+ value_str = f", {{fg_cyan}}{value}{{fg_reset}})" if value is not None else ""
+ cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}{value_str}...')
elif equals_match is not None:
key = equals_match.group('key')
diff --git a/platforms/arm_atsam/gpio.h b/platforms/arm_atsam/gpio.h
index a42aaff54d..fd8caeab0b 100644
--- a/platforms/arm_atsam/gpio.h
+++ b/platforms/arm_atsam/gpio.h
@@ -15,7 +15,7 @@
*/
#pragma once
-#include "stdint.h"
+#include <stdint.h>
#include "samd51j18a.h"
#include "pin_defs.h"
@@ -26,13 +26,13 @@ typedef uint8_t pin_t;
#define SAMD_PIN(pin) ((pin)&0x1f)
#define SAMD_PIN_MASK(pin) (1 << ((pin)&0x1f))
-#define setPinInput(pin) \
+#define gpio_set_pin_input(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].PINCFG[SAMD_PIN(pin)].bit.INEN = 1; \
PORT->Group[SAMD_PORT(pin)].DIRCLR.reg = SAMD_PIN_MASK(pin); \
} while (0)
-#define setPinInputHigh(pin) \
+#define gpio_set_pin_input_high(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].DIRCLR.reg = SAMD_PIN_MASK(pin); \
PORT->Group[SAMD_PORT(pin)].OUTSET.reg = SAMD_PIN_MASK(pin); \
@@ -40,7 +40,7 @@ typedef uint8_t pin_t;
PORT->Group[SAMD_PORT(pin)].PINCFG[SAMD_PIN(pin)].bit.PULLEN = 1; \
} while (0)
-#define setPinInputLow(pin) \
+#define gpio_set_pin_input_low(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].DIRCLR.reg = SAMD_PIN_MASK(pin); \
PORT->Group[SAMD_PORT(pin)].OUTCLR.reg = SAMD_PIN_MASK(pin); \
@@ -48,27 +48,27 @@ typedef uint8_t pin_t;
PORT->Group[SAMD_PORT(pin)].PINCFG[SAMD_PIN(pin)].bit.PULLEN = 1; \
} while (0)
-#define setPinOutputPushPull(pin) \
+#define gpio_set_pin_output_push_pull(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].DIRSET.reg = SAMD_PIN_MASK(pin); \
PORT->Group[SAMD_PORT(pin)].OUTCLR.reg = SAMD_PIN_MASK(pin); \
} while (0)
-#define setPinOutputOpenDrain(pin) _Static_assert(0, "arm_atsam platform does not implement an open-drain output")
+#define gpio_set_pin_output_open_drain(pin) _Static_assert(0, "Open-drain outputs are not available on ATSAM")
-#define setPinOutput(pin) setPinOutputPushPull(pin)
+#define gpio_set_pin_output(pin) gpio_set_pin_output_push_pull(pin)
-#define writePinHigh(pin) \
+#define gpio_write_pin_high(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].OUTSET.reg = SAMD_PIN_MASK(pin); \
} while (0)
-#define writePinLow(pin) \
+#define gpio_write_pin_low(pin) \
do { \
PORT->Group[SAMD_PORT(pin)].OUTCLR.reg = SAMD_PIN_MASK(pin); \
} while (0)
-#define writePin(pin, level) \
+#define gpio_write_pin(pin, level) \
do { \
if (level) \
PORT->Group[SAMD_PORT(pin)].OUTSET.reg = SAMD_PIN_MASK(pin); \
@@ -76,6 +76,6 @@ typedef uint8_t pin_t;
PORT->Group[SAMD_PORT(pin)].OUTCLR.reg = SAMD_PIN_MASK(pin); \
} while (0)
-#define readPin(pin) ((PORT->Group[SAMD_PORT(pin)].IN.reg & SAMD_PIN_MASK(pin)) != 0)
+#define gpio_read_pin(pin) ((PORT->Group[SAMD_PORT(pin)].IN.reg & SAMD_PIN_MASK(pin)) != 0)
-#define togglePin(pin) (PORT->Group[SAMD_PORT(pin)].OUTTGL.reg = SAMD_PIN_MASK(pin))
+#define gpio_toggle_pin(pin) (PORT->Group[SAMD_PORT(pin)].OUTTGL.reg = SAMD_PIN_MASK(pin))
diff --git a/platforms/avr/_print.h b/platforms/avr/_print.h
index 5c1fdd26d8..bf8247c2f3 100644
--- a/platforms/avr/_print.h
+++ b/platforms/avr/_print.h
@@ -24,10 +24,3 @@
#pragma once
#include "avr/xprintf.h"
-
-// Create user & normal print defines
-#define print(s) xputs(PSTR(s))
-#define println(s) xputs(PSTR(s "\r\n"))
-#define uprint(s) xputs(PSTR(s))
-#define uprintln(s) xputs(PSTR(s "\r\n"))
-#define uprintf(fmt, ...) __xprintf(PSTR(fmt), ##__VA_ARGS__) \ No newline at end of file
diff --git a/platforms/avr/drivers/audio_pwm_hardware.c b/platforms/avr/drivers/audio_pwm_hardware.c
index 6799cf2fdd..d484fba00f 100644
--- a/platforms/avr/drivers/audio_pwm_hardware.c
+++ b/platforms/avr/drivers/audio_pwm_hardware.c
@@ -216,12 +216,12 @@ void channel_2_stop(void) {
void audio_driver_initialize(void) {
#ifdef AUDIO1_PIN_SET
channel_1_stop();
- setPinOutput(AUDIO1_PIN);
+ gpio_set_pin_output(AUDIO1_PIN);
#endif
#ifdef AUDIO2_PIN_SET
channel_2_stop();
- setPinOutput(AUDIO2_PIN);
+ gpio_set_pin_output(AUDIO2_PIN);
#endif
// TCCR3A / TCCR3B: Timer/Counter #3 Control Registers TCCR3A/TCCR3B, TCCR1A/TCCR1B
diff --git a/platforms/avr/drivers/backlight_pwm.c b/platforms/avr/drivers/backlight_pwm.c
index 74d25753a4..f6ab9391e2 100644
--- a/platforms/avr/drivers/backlight_pwm.c
+++ b/platforms/avr/drivers/backlight_pwm.c
@@ -291,11 +291,11 @@ ISR(TIMERx_OVF_vect) {
#endif // BACKLIGHT_BREATHING
void backlight_init_ports(void) {
- setPinOutput(BACKLIGHT_PIN);
+ gpio_set_pin_output(BACKLIGHT_PIN);
#if BACKLIGHT_ON_STATE == 1
- writePinLow(BACKLIGHT_PIN);
+ gpio_write_pin_low(BACKLIGHT_PIN);
#else
- writePinHigh(BACKLIGHT_PIN);
+ gpio_write_pin_high(BACKLIGHT_PIN);
#endif
// I could write a wall of text here to explain... but TL;DW
diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c
index 58939f3e00..64083d862a 100644
--- a/platforms/avr/drivers/i2c_master.c
+++ b/platforms/avr/drivers/i2c_master.c
@@ -24,6 +24,7 @@
#include "timer.h"
#include "wait.h"
#include "util.h"
+#include "progmem.h"
#ifndef F_SCL
# define F_SCL 400000UL // SCL frequency
@@ -38,7 +39,7 @@
#define TWBR_val (((F_CPU / F_SCL) - 16) / 2)
-void i2c_init(void) {
+__attribute__((weak)) void i2c_init(void) {
TWSR = 0; /* no prescaler */
TWBR = (uint8_t)TWBR_val;
@@ -94,7 +95,7 @@ static i2c_status_t i2c_start_impl(uint8_t address, uint16_t timeout) {
return I2C_STATUS_SUCCESS;
}
-i2c_status_t i2c_start(uint8_t address, uint16_t timeout) {
+__attribute__((always_inline)) static inline i2c_status_t i2c_start(uint8_t address, uint16_t timeout) {
// Retry i2c_start_impl a bunch times in case the remote side has interrupts disabled.
uint16_t timeout_timer = timer_read();
uint16_t time_slice = MAX(1, (timeout == (I2C_TIMEOUT_INFINITE)) ? 5 : (timeout / (I2C_START_RETRY_COUNT))); // if it's infinite, wait 1ms between attempts, otherwise split up the entire timeout into the number of retries
@@ -105,6 +106,11 @@ i2c_status_t i2c_start(uint8_t address, uint16_t timeout) {
return status;
}
+__attribute__((always_inline)) static inline void i2c_stop(void) {
+ // transmit STOP condition
+ TWCR = (1 << TWINT) | (1 << TWEN) | (1 << TWSTO);
+}
+
i2c_status_t i2c_write(uint8_t data, uint16_t timeout) {
// load data into data register
TWDR = data;
@@ -167,6 +173,18 @@ i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length,
return status;
}
+i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout) {
+ i2c_status_t status = i2c_start(address | I2C_ACTION_WRITE, timeout);
+
+ for (uint16_t i = 0; i < length && status >= 0; i++) {
+ status = i2c_write(pgm_read_byte((const char*)data++), timeout);
+ }
+
+ i2c_stop();
+
+ return status;
+}
+
i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout) {
i2c_status_t status = i2c_start(address | I2C_ACTION_READ, timeout);
@@ -189,7 +207,7 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16
return (status < 0) ? status : I2C_STATUS_SUCCESS;
}
-i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
i2c_status_t status = i2c_start(devaddr | 0x00, timeout);
if (status >= 0) {
status = i2c_write(regaddr, timeout);
@@ -204,7 +222,7 @@ i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data,
return status;
}
-i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
i2c_status_t status = i2c_start(devaddr | 0x00, timeout);
if (status >= 0) {
status = i2c_write(regaddr >> 8, timeout);
@@ -223,7 +241,7 @@ i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* da
return status;
}
-i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
i2c_status_t status = i2c_start(devaddr, timeout);
if (status < 0) {
goto error;
@@ -256,7 +274,7 @@ error:
return (status < 0) ? status : I2C_STATUS_SUCCESS;
}
-i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
+i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
i2c_status_t status = i2c_start(devaddr, timeout);
if (status < 0) {
goto error;
@@ -293,7 +311,8 @@ error:
return (status < 0) ? status : I2C_STATUS_SUCCESS;
}
-void i2c_stop(void) {
- // transmit STOP condition
- TWCR = (1 << TWINT) | (1 << TWEN) | (1 << TWSTO);
-}
+__attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout) {
+ i2c_status_t status = i2c_start(address, timeout);
+ i2c_stop();
+ return status;
+} \ No newline at end of file
diff --git a/platforms/avr/drivers/i2c_master.h b/platforms/avr/drivers/i2c_master.h
index 04ef126c80..b797997619 100644
--- a/platforms/avr/drivers/i2c_master.h
+++ b/platforms/avr/drivers/i2c_master.h
@@ -21,6 +21,13 @@
#include <stdint.h>
+// ### DEPRECATED - DO NOT USE ###
+#define i2c_writeReg(devaddr, regaddr, data, length, timeout) i2c_write_register(devaddr, regaddr, data, length, timeout)
+#define i2c_writeReg16(devaddr, regaddr, data, length, timeout) i2c_write_register16(devaddr, regaddr, data, length, timeout)
+#define i2c_readReg(devaddr, regaddr, data, length, timeout) i2c_read_register(devaddr, regaddr, data, length, timeout)
+#define i2c_readReg16(devaddr, regaddr, data, length, timeout) i2c_read_register16(devaddr, regaddr, data, length, timeout)
+// ###############################
+
#define I2C_READ 0x01
#define I2C_WRITE 0x00
@@ -34,14 +41,11 @@ typedef int16_t i2c_status_t;
#define I2C_TIMEOUT_INFINITE (0xFFFF)
void i2c_init(void);
-i2c_status_t i2c_start(uint8_t address, uint16_t timeout);
-i2c_status_t i2c_write(uint8_t data, uint16_t timeout);
-int16_t i2c_read_ack(uint16_t timeout);
-int16_t i2c_read_nack(uint16_t timeout);
i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout);
i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
-void i2c_stop(void);
+i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout);
diff --git a/platforms/avr/drivers/ps2/ps2_io.c b/platforms/avr/drivers/ps2/ps2_io.c
index b75a1ab0be..fb87474372 100644
--- a/platforms/avr/drivers/ps2/ps2_io.c
+++ b/platforms/avr/drivers/ps2/ps2_io.c
@@ -19,18 +19,18 @@ void clock_init(void) {}
void clock_lo(void) {
// Transition from input with pull-up to output low via Hi-Z instead of output high
- writePinLow(PS2_CLOCK_PIN);
- setPinOutput(PS2_CLOCK_PIN);
+ gpio_write_pin_low(PS2_CLOCK_PIN);
+ gpio_set_pin_output(PS2_CLOCK_PIN);
}
void clock_hi(void) {
- setPinInputHigh(PS2_CLOCK_PIN);
+ gpio_set_pin_input_high(PS2_CLOCK_PIN);
}
bool clock_in(void) {
- setPinInputHigh(PS2_CLOCK_PIN);
+ gpio_set_pin_input_high(PS2_CLOCK_PIN);
wait_us(1);
- return readPin(PS2_CLOCK_PIN);
+ return gpio_read_pin(PS2_CLOCK_PIN);
}
/*
@@ -40,16 +40,16 @@ void data_init(void) {}
void data_lo(void) {
// Transition from input with pull-up to output low via Hi-Z instead of output high
- writePinLow(PS2_DATA_PIN);
- setPinOutput(PS2_DATA_PIN);
+ gpio_write_pin_low(PS2_DATA_PIN);
+ gpio_set_pin_output(PS2_DATA_PIN);
}
void data_hi(void) {
- setPinInputHigh(PS2_DATA_PIN);
+ gpio_set_pin_input_high(PS2_DATA_PIN);
}
bool data_in(void) {
- setPinInputHigh(PS2_DATA_PIN);
+ gpio_set_pin_input_high(PS2_DATA_PIN);
wait_us(1);
- return readPin(PS2_DATA_PIN);
+ return gpio_read_pin(PS2_DATA_PIN);
}
diff --git a/platforms/avr/drivers/serial.c b/platforms/avr/drivers/serial.c
index 730d9b7a01..b529f9b45e 100644
--- a/platforms/avr/drivers/serial.c
+++ b/platforms/avr/drivers/serial.c
@@ -239,28 +239,28 @@ inline static void serial_delay_half2(void) {
inline static void serial_output(void) ALWAYS_INLINE;
inline static void serial_output(void) {
- setPinOutput(SOFT_SERIAL_PIN);
+ gpio_set_pin_output(SOFT_SERIAL_PIN);
}
// make the serial pin an input with pull-up resistor
inline static void serial_input_with_pullup(void) ALWAYS_INLINE;
inline static void serial_input_with_pullup(void) {
- setPinInputHigh(SOFT_SERIAL_PIN);
+ gpio_set_pin_input_high(SOFT_SERIAL_PIN);
}
inline static uint8_t serial_read_pin(void) ALWAYS_INLINE;
inline static uint8_t serial_read_pin(void) {
- return !!readPin(SOFT_SERIAL_PIN);
+ return !!gpio_read_pin(SOFT_SERIAL_PIN);
}
inline static void serial_low(void) ALWAYS_INLINE;
inline static void serial_low(void) {
- writePinLow(SOFT_SERIAL_PIN);
+ gpio_write_pin_low(SOFT_SERIAL_PIN);
}
inline static void serial_high(void) ALWAYS_INLINE;
inline static void serial_high(void) {
- writePinHigh(SOFT_SERIAL_PIN);
+ gpio_write_pin_high(SOFT_SERIAL_PIN);
}
void soft_serial_initiator_init(void) {
diff --git a/platforms/avr/drivers/spi_master.c b/platforms/avr/drivers/spi_master.c
index ae9df03c02..74b847c71a 100644
--- a/platforms/avr/drivers/spi_master.c
+++ b/platforms/avr/drivers/spi_master.c
@@ -41,10 +41,10 @@ static uint8_t currentSlaveConfig = 0;
static bool currentSlave2X = false;
void spi_init(void) {
- writePinHigh(SPI_SS_PIN);
- setPinOutput(SPI_SCK_PIN);
- setPinOutput(SPI_MOSI_PIN);
- setPinInput(SPI_MISO_PIN);
+ gpio_write_pin_high(SPI_SS_PIN);
+ gpio_set_pin_output(SPI_SCK_PIN);
+ gpio_set_pin_output(SPI_MOSI_PIN);
+ gpio_set_pin_input(SPI_MISO_PIN);
SPCR = (_BV(SPE) | _BV(MSTR));
}
@@ -105,8 +105,8 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
SPSR |= _BV(SPI2X);
}
currentSlavePin = slavePin;
- setPinOutput(currentSlavePin);
- writePinLow(currentSlavePin);
+ gpio_set_pin_output(currentSlavePin);
+ gpio_write_pin_low(currentSlavePin);
return true;
}
@@ -169,8 +169,8 @@ spi_status_t spi_receive(uint8_t *data, uint16_t length) {
void spi_stop(void) {
if (currentSlavePin != NO_PIN) {
- setPinOutput(currentSlavePin);
- writePinHigh(currentSlavePin);
+ gpio_set_pin_output(currentSlavePin);
+ gpio_write_pin_high(currentSlavePin);
currentSlavePin = NO_PIN;
SPSR &= ~(_BV(SPI2X));
SPCR &= ~(currentSlaveConfig);
diff --git a/platforms/avr/gpio.h b/platforms/avr/gpio.h
index 95f15c28dc..6f089bc663 100644
--- a/platforms/avr/gpio.h
+++ b/platforms/avr/gpio.h
@@ -22,17 +22,17 @@ typedef uint8_t pin_t;
/* Operation of GPIO by pin. */
-#define setPinInput(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF))
-#define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF))
-#define setPinInputLow(pin) _Static_assert(0, "AVR processors cannot implement an input as pull low")
-#define setPinOutputPushPull(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF))
-#define setPinOutputOpenDrain(pin) _Static_assert(0, "AVR platform does not implement an open-drain output")
-#define setPinOutput(pin) setPinOutputPushPull(pin)
+#define gpio_set_pin_input(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF))
+#define gpio_set_pin_input_high(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF))
+#define gpio_set_pin_input_low(pin) _Static_assert(0, "GPIO pulldowns in input mode are not available on AVR")
+#define gpio_set_pin_output_push_pull(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF))
+#define gpio_set_pin_output_open_drain(pin) _Static_assert(0, "Open-drain outputs are not available on AVR")
+#define gpio_set_pin_output(pin) gpio_set_pin_output_push_pull(pin)
-#define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF))
-#define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF))
-#define writePin(pin, level) ((level) ? writePinHigh(pin) : writePinLow(pin))
+#define gpio_write_pin_high(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF))
+#define gpio_write_pin_low(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF))
+#define gpio_write_pin(pin, level) ((level) ? gpio_write_pin_high(pin) : gpio_write_pin_low(pin))
-#define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF)))
+#define gpio_read_pin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF)))
-#define togglePin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin)&0xF))
+#define gpio_toggle_pin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin)&0xF))
diff --git a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/config.h b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/config.h
index 9209e99e76..73c2b40f46 100644
--- a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/config.h
+++ b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/config.h
@@ -1,4 +1,4 @@
-// Copyright 2022 Stefan Kerkmann
+// Copyright 2024 Stefan Kerkmann
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -56,7 +56,31 @@
#endif
/**======================
+ ** UART Driver
+ *========================**/
+
+#if !defined(UART_DRIVER)
+# define UART_DRIVER SIOD0
+#endif
+
+#if !defined(UART_TX_PIN)
+# define UART_TX_PIN GP0
+#endif
+
+#if !defined(UART_RX_PIN)
+# define UART_RX_PIN GP1
+#endif
+
+#if !defined(UART_CTS_PIN)
+# define UART_CTS_PIN GP2
+#endif
+
+#if !defined(UART_RTS_PIN)
+# define UART_RTS_PIN GP3
+#endif
+
+/**======================
** Double-tap
*========================**/
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/hal_lld.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/hal_lld.h
new file mode 100644
index 0000000000..15d7fbec0b
--- /dev/null
+++ b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/hal_lld.h
@@ -0,0 +1,8 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// TODO: Remove when upstream no longer requires patching
+#include <stm32_registry.h>
+
+#include_next <hal_lld.h>
diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/stm32_registry.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/stm32_registry.h
new file mode 100644
index 0000000000..766df5a78e
--- /dev/null
+++ b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/stm32_registry.h
@@ -0,0 +1,14 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// TODO: Remove when STM32_FLASH_SECTORS_PER_BANK fixed upstream
+#ifndef STM32_FLASH_SECTORS_PER_BANK
+# define STM32_FLASH_SECTORS_PER_BANK 64
+#endif
+
+#include_next <stm32_registry.h>
+
+// TODO: Remove when STM32_FLASH_NUMBER_OF_BANKS fixed upstream
+#undef STM32_FLASH_NUMBER_OF_BANKS
+#define STM32_FLASH_NUMBER_OF_BANKS 1
diff --git a/platforms/chibios/boards/QMK_BLOK/configs/config.h b/platforms/chibios/boards/QMK_BLOK/configs/config.h
index 168afb1fc4..834dc497d3 100644
--- a/platforms/chibios/boards/QMK_BLOK/configs/config.h
+++ b/platforms/chibios/boards/QMK_BLOK/configs/config.h
@@ -3,6 +3,10 @@
#pragma once
+/**======================
+ ** I2C Driver
+ *========================**/
+
#ifndef I2C_DRIVER
# define I2C_DRIVER I2CD0
#endif
@@ -13,6 +17,26 @@
# define I2C1_SCL_PIN D0
#endif
+/**======================
+ ** UART Driver
+ *========================**/
+
+#ifndef UART_DRIVER
+# define UART_DRIVER SIOD0
+#endif
+
+#ifndef UART_TX_PIN
+# define UART_TX_PIN D3
+#endif
+
+#ifndef UART_RX_PIN
+# define UART_RX_PIN D2
+#endif
+
+/**======================
+ ** Double-tap
+ *========================**/
+
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#endif
diff --git a/platforms/chibios/boards/QMK_PM2040/configs/config.h b/platforms/chibios/boards/QMK_PM2040/configs/config.h
index ec85ae0cf4..f8b46b7fe4 100644
--- a/platforms/chibios/boards/QMK_PM2040/configs/config.h
+++ b/platforms/chibios/boards/QMK_PM2040/configs/config.h
@@ -3,6 +3,10 @@
#pragma once
+/**======================
+ ** I2C Driver
+ *========================**/
+
#ifndef I2C_DRIVER
# define I2C_DRIVER I2CD1
#endif
@@ -13,6 +17,26 @@
# define I2C1_SCL_PIN D0
#endif
+/**======================
+ ** UART Driver
+ *========================**/
+
+#ifndef UART_DRIVER
+# define UART_DRIVER SIOD0
+#endif
+
+#ifndef UART_TX_PIN
+# define UART_TX_PIN D3
+#endif
+
+#ifndef UART_RX_PIN
+# define UART_RX_PIN D2
+#endif
+
+/**======================
+ ** Double-tap
+ *========================**/
+
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#endif
diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h
index f1636f9da0..759ac6943b 100644
--- a/platforms/chibios/chibios_config.h
+++ b/platforms/chibios/chibios_config.h
@@ -69,6 +69,20 @@
# ifndef SPI_MISO_PAL_MODE
# define SPI_MISO_PAL_MODE (PAL_MODE_ALTERNATE_SPI | PAL_RP_PAD_SLEWFAST | PAL_RP_PAD_DRIVE4)
# endif
+
+# ifndef UART_TX_PAL_MODE
+# define UART_TX_PAL_MODE PAL_MODE_ALTERNATE_UART
+# endif
+# ifndef UART_RX_PAL_MODE
+# define UART_RX_PAL_MODE PAL_MODE_ALTERNATE_UART
+# endif
+# ifndef UART_CTS_PAL_MODE
+# define UART_CTS_PAL_MODE PAL_MODE_ALTERNATE_UART
+# endif
+# ifndef UART_RTS_PAL_MODE
+# define UART_RTS_PAL_MODE PAL_MODE_ALTERNATE_UART
+# endif
+
#endif
// STM32 compatibility
diff --git a/platforms/chibios/converters/promicro_to_imera/_pin_defs.h b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h
new file mode 100644
index 0000000000..475a84d697
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h
@@ -0,0 +1,36 @@
+// Copyright 2023 splitkb.com
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Left side (front)
+#define D3 0U
+#define D2 1U
+// GND
+// GND
+#define D1 2U
+#define D0 3U
+#define D4 4U
+#define C6 5U
+#define D7 6U
+#define E6 7U
+#define B4 8U
+#define B5 9U
+
+// Right side (front)
+// RAW
+// GND
+// RESET
+// VCC
+#define F4 29U
+#define F5 28U
+#define F6 17U
+#define F7 16U
+#define B1 22U
+#define B3 20U
+#define B2 23U
+#define B6 21U
+
+// LEDs
+#define D5 24U // Power LED, default-on
+#define B0 18U // Unconnected
diff --git a/platforms/chibios/converters/promicro_to_imera/converter.mk b/platforms/chibios/converters/promicro_to_imera/converter.mk
new file mode 100644
index 0000000000..bfca20cd99
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_imera/converter.mk
@@ -0,0 +1,10 @@
+# rp2040_ce MCU settings for converting AVR projects
+MCU := RP2040
+BOARD := QMK_PM2040
+BOOTLOADER := rp2040
+
+# These are defaults based on what has been implemented for RP2040 boards
+SERIAL_DRIVER ?= vendor
+WS2812_DRIVER ?= vendor
+BACKLIGHT_DRIVER ?= software
+OPT_DEFS += -DUSB_VBUS_PIN=19U
diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c
index bf84ce8f76..fb146df936 100644
--- a/platforms/chibios/drivers/analog.c
+++ b/platforms/chibios/drivers/analog.c
@@ -31,7 +31,15 @@
#endif
#if STM32_ADCV3_OVERSAMPLING
-# error "STM32 ADCV3 Oversampling is not supported at this time."
+// Apparently all ADCV3 chips that support oversampling (STM32L4xx, STM32L4xx+,
+// STM32G4xx, STM32WB[35]x) have errata like “Wrong ADC result if conversion
+// done late after calibration or previous conversionâ€; the workaround is to
+// perform a dummy conversion and discard its result. STM32G4xx chips also
+// have the “ADC channel 0 converted instead of the required ADC channelâ€
+// errata, one workaround for which is also to perform a dummy conversion.
+# define ADC_DUMMY_CONVERSIONS_AT_START 1
+#else
+# define ADC_DUMMY_CONVERSIONS_AT_START 0
#endif
// Otherwise assume V3
@@ -76,8 +84,10 @@
#ifndef ADC_COUNT
# if defined(RP2040) || defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F4XX) || defined(GD32VF103) || defined(WB32F3G71xx) || defined(WB32FQ95xx)
# define ADC_COUNT 1
-# elif defined(STM32F3XX)
+# elif defined(STM32F3XX) || defined(STM32G4XX)
# define ADC_COUNT 4
+# elif defined(STM32L4XX)
+# define ADC_COUNT 3
# else
# error "ADC_COUNT has not been set for this ARM microcontroller."
# endif
@@ -89,13 +99,24 @@
# error "The ARM ADC implementation currently only supports reading one channel at a time."
#endif
+// Add dummy conversions as extra channels (this would work only on chips that
+// have multiple channel index fields instead of a channel mask, but all chips
+// that need that workaround are like that).
+#define ADC_TOTAL_CHANNELS (ADC_DUMMY_CONVERSIONS_AT_START + ADC_NUM_CHANNELS)
+
#ifndef ADC_BUFFER_DEPTH
# define ADC_BUFFER_DEPTH 1
#endif
// For more sampling rate options, look at hal_adc_lld.h in ChibiOS
-#ifndef ADC_SAMPLING_RATE
-# define ADC_SAMPLING_RATE ADC_SMPR_SMP_1P5
+#if !defined(ADC_SAMPLING_RATE) && !defined(RP2040)
+# if defined(ADC_SMPR_SMP_1P5)
+# define ADC_SAMPLING_RATE ADC_SMPR_SMP_1P5
+# elif defined(ADC_SMPR_SMP_2P5) // STM32L4XX, STM32L4XXP, STM32G4XX, STM32WBXX
+# define ADC_SAMPLING_RATE ADC_SMPR_SMP_2P5
+# else
+# error "Cannot determine the default ADC_SAMPLING_RATE for this MCU."
+# endif
#endif
// Options are 12, 10, 8, and 6 bit.
@@ -108,7 +129,7 @@
#endif
static ADCConfig adcCfg = {};
-static adcsample_t sampleBuffer[ADC_NUM_CHANNELS * ADC_BUFFER_DEPTH];
+static adcsample_t sampleBuffer[ADC_TOTAL_CHANNELS * ADC_BUFFER_DEPTH];
// Initialize to max number of ADCs, set to empty object to initialize all to false.
static bool adcInitialized[ADC_COUNT] = {};
@@ -116,7 +137,7 @@ static bool adcInitialized[ADC_COUNT] = {};
// TODO: add back TR handling???
static ADCConversionGroup adcConversionGroup = {
.circular = FALSE,
- .num_channels = (uint16_t)(ADC_NUM_CHANNELS),
+ .num_channels = (uint16_t)(ADC_TOTAL_CHANNELS),
#if defined(USE_ADCV1)
.cfgr1 = ADC_CFGR1_CONT | ADC_RESOLUTION,
.smpr = ADC_SAMPLING_RATE,
@@ -240,6 +261,74 @@ __attribute__((weak)) adc_mux pinToMux(pin_t pin) {
case C5: return TO_MUX( ADC_CHANNEL_IN15, 0 );
// STM32F103x[C-G] in 144-pin packages also have analog inputs on F6...F10, but they are on ADC3, and the
// ChibiOS ADC driver for STM32F1xx currently supports only ADC1, therefore these pins are not usable.
+#elif defined(STM32L4XX)
+ case A0: return TO_MUX( ADC_CHANNEL_IN5, 0 ); // Can also be ADC2 in some cases
+ case A1: return TO_MUX( ADC_CHANNEL_IN6, 0 ); // Can also be ADC2 in some cases
+ case A2: return TO_MUX( ADC_CHANNEL_IN7, 0 ); // Can also be ADC2
+ case A3: return TO_MUX( ADC_CHANNEL_IN8, 0 ); // Can also be ADC2
+ case A4: return TO_MUX( ADC_CHANNEL_IN9, 0 ); // Can also be ADC2
+ case A5: return TO_MUX( ADC_CHANNEL_IN10, 0 ); // Can also be ADC2
+ case A6: return TO_MUX( ADC_CHANNEL_IN11, 0 ); // Can also be ADC2
+ case A7: return TO_MUX( ADC_CHANNEL_IN12, 0 ); // Can also be ADC2
+ case B0: return TO_MUX( ADC_CHANNEL_IN15, 0 ); // Can also be ADC2
+ case B1: return TO_MUX( ADC_CHANNEL_IN16, 0 ); // Can also be ADC2
+ case C0: return TO_MUX( ADC_CHANNEL_IN1, 0 ); // Can also be ADC2 or ADC3
+ case C1: return TO_MUX( ADC_CHANNEL_IN2, 0 ); // Can also be ADC2 or ADC3
+ case C2: return TO_MUX( ADC_CHANNEL_IN3, 0 ); // Can also be ADC2 or ADC3
+ case C3: return TO_MUX( ADC_CHANNEL_IN4, 0 ); // Can also be ADC2 or ADC3
+ case C4: return TO_MUX( ADC_CHANNEL_IN13, 0 ); // Can also be ADC2
+ case C5: return TO_MUX( ADC_CHANNEL_IN14, 0 ); // Can also be ADC2
+# if STM32_HAS_GPIOF && STM32_ADC_USE_ADC3
+ case F3: return TO_MUX( ADC_CHANNEL_IN6, 2 );
+ case F4: return TO_MUX( ADC_CHANNEL_IN7, 2 );
+ case F5: return TO_MUX( ADC_CHANNEL_IN8, 2 );
+ case F6: return TO_MUX( ADC_CHANNEL_IN9, 2 );
+ case F7: return TO_MUX( ADC_CHANNEL_IN10, 2 );
+ case F8: return TO_MUX( ADC_CHANNEL_IN11, 2 );
+ case F9: return TO_MUX( ADC_CHANNEL_IN12, 2 );
+ case F10: return TO_MUX( ADC_CHANNEL_IN13, 2 );
+# endif
+#elif defined(STM32G4XX)
+ case A0: return TO_MUX( ADC_CHANNEL_IN1, 0 ); // Can also be ADC2
+ case A1: return TO_MUX( ADC_CHANNEL_IN2, 0 ); // Can also be ADC2
+ case A2: return TO_MUX( ADC_CHANNEL_IN3, 0 );
+ case A3: return TO_MUX( ADC_CHANNEL_IN4, 0 );
+ case A4: return TO_MUX( ADC_CHANNEL_IN17, 1 );
+ case A5: return TO_MUX( ADC_CHANNEL_IN13, 1 );
+ case A6: return TO_MUX( ADC_CHANNEL_IN3, 1 );
+ case A7: return TO_MUX( ADC_CHANNEL_IN4, 1 );
+ case B0: return TO_MUX( ADC_CHANNEL_IN15, 0 ); // Can also be ADC3
+ case B1: return TO_MUX( ADC_CHANNEL_IN12, 0 ); // Can also be ADC3
+ case B2: return TO_MUX( ADC_CHANNEL_IN12, 1 );
+ case B11: return TO_MUX( ADC_CHANNEL_IN14, 0 ); // Can also be ADC2
+ case B12: return TO_MUX( ADC_CHANNEL_IN11, 0 ); // Can also be ADC4
+ case B13: return TO_MUX( ADC_CHANNEL_IN5, 2 );
+ case B14: return TO_MUX( ADC_CHANNEL_IN5, 0 ); // Can also be ADC4
+ case B15: return TO_MUX( ADC_CHANNEL_IN15, 1 ); // Can also be ADC4
+ case C0: return TO_MUX( ADC_CHANNEL_IN6, 0 ); // Can also be ADC2
+ case C1: return TO_MUX( ADC_CHANNEL_IN7, 0 ); // Can also be ADC2
+ case C2: return TO_MUX( ADC_CHANNEL_IN8, 0 ); // Can also be ADC2
+ case C3: return TO_MUX( ADC_CHANNEL_IN9, 0 ); // Can also be ADC2
+ case C4: return TO_MUX( ADC_CHANNEL_IN5, 1 );
+ case C5: return TO_MUX( ADC_CHANNEL_IN11, 1 );
+ case D8: return TO_MUX( ADC_CHANNEL_IN12, 3 );
+ case D9: return TO_MUX( ADC_CHANNEL_IN13, 3 );
+ case D10: return TO_MUX( ADC_CHANNEL_IN7, 2 ); // Can also be ADC4
+ case D11: return TO_MUX( ADC_CHANNEL_IN8, 2 ); // Can also be ADC4
+ case D12: return TO_MUX( ADC_CHANNEL_IN9, 2 ); // Can also be ADC4
+ case D13: return TO_MUX( ADC_CHANNEL_IN10, 2 ); // Can also be ADC4
+ case D14: return TO_MUX( ADC_CHANNEL_IN11, 2 ); // Can also be ADC4
+ case E5: return TO_MUX( ADC_CHANNEL_IN2, 3 );
+ case E7: return TO_MUX( ADC_CHANNEL_IN4, 2 );
+ case E8: return TO_MUX( ADC_CHANNEL_IN6, 2 ); // Can also be ADC4
+ case E9: return TO_MUX( ADC_CHANNEL_IN2, 2 );
+ case E10: return TO_MUX( ADC_CHANNEL_IN14, 2 ); // Can also be ADC4
+ case E11: return TO_MUX( ADC_CHANNEL_IN15, 2 ); // Can also be ADC4
+ case E12: return TO_MUX( ADC_CHANNEL_IN16, 2 ); // Can also be ADC4
+ case E13: return TO_MUX( ADC_CHANNEL_IN3, 2 );
+ case E14: return TO_MUX( ADC_CHANNEL_IN1, 3 );
+ case F0: return TO_MUX( ADC_CHANNEL_IN10, 0 );
+ case F1: return TO_MUX( ADC_CHANNEL_IN10, 1 );
#elif defined(RP2040)
case 26U: return TO_MUX(0, 0);
case 27U: return TO_MUX(1, 0);
@@ -306,7 +395,11 @@ int16_t adc_read(adc_mux mux) {
#elif defined(RP2040)
adcConversionGroup.channel_mask = 1 << mux.input;
#else
- adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(mux.input);
+ adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(mux.input)
+# if ADC_DUMMY_CONVERSIONS_AT_START >= 1
+ | ADC_SQR1_SQ2_N(mux.input)
+# endif
+ ;
#endif
ADCDriver* targetDriver = intToADCDriver(mux.adc);
@@ -321,9 +414,9 @@ int16_t adc_read(adc_mux mux) {
#if defined(USE_ADCV2) || defined(RP2040)
// fake 12-bit -> N-bit scale
- return (*sampleBuffer) >> (12 - ADC_RESOLUTION);
+ return (sampleBuffer[ADC_DUMMY_CONVERSIONS_AT_START]) >> (12 - ADC_RESOLUTION);
#else
// already handled as part of adcConvert
- return *sampleBuffer;
+ return sampleBuffer[ADC_DUMMY_CONVERSIONS_AT_START];
#endif
}
diff --git a/platforms/chibios/drivers/audio_dac.h b/platforms/chibios/drivers/audio_dac.h
index 07cd622ead..2f62d12934 100644
--- a/platforms/chibios/drivers/audio_dac.h
+++ b/platforms/chibios/drivers/audio_dac.h
@@ -24,11 +24,6 @@
#endif
/**
- * Size of the dac_buffer arrays. All must be the same size.
- */
-#define AUDIO_DAC_BUFFER_SIZE 256U
-
-/**
* Highest value allowed sample value.
* since the DAC is limited to 12 bit, the absolute max is 0xfff = 4095U;
@@ -97,6 +92,35 @@
#endif
/**
+ * Size of the dac_buffer array. This controls the length of the runtime buffer
+ * which accumulates the data to be sent to the DAC every few milliseconds, and
+ * it does not need to correspond to the length of the wavetable for the chosen
+ * waveform defined by AUDIO_DAC_SAMPLE_WAVEFORM_* in the additive DAC driver.
+ * By default, this is set to be as close to 3.3 ms as possible, giving 300 DAC
+ * interrupts per second. Any smaller and the interrupt load gets too heavy and
+ * this results in crackling due to buffer underrun in the additive DAC driver;
+ * too large and the RAM (additive driver) or flash (basic driver) usage may be
+ * too high, causing build failures, and matrix scanning is liable to have long
+ * periodic pauses that delay key presses or releases or fully lose short taps.
+ * Large buffers also cause notes to take longer to stop after they should from
+ * music mode or MIDI input.
+ * This should be a power of 2 for maximum compatibility.
+ */
+#ifndef AUDIO_DAC_BUFFER_SIZE
+# if AUDIO_DAC_SAMPLE_RATE < 5100U
+# define AUDIO_DAC_BUFFER_SIZE 16U
+# elif AUDIO_DAC_SAMPLE_RATE < 9900U
+# define AUDIO_DAC_BUFFER_SIZE 32U
+# elif AUDIO_DAC_SAMPLE_RATE < 19500U
+# define AUDIO_DAC_BUFFER_SIZE 64U
+# elif AUDIO_DAC_SAMPLE_RATE < 38700U
+# define AUDIO_DAC_BUFFER_SIZE 128U
+# else
+# define AUDIO_DAC_BUFFER_SIZE 256U
+# endif
+#endif
+
+/**
* The number of tones that can be played simultaneously. If too high a value
* is used here, the keyboard will freeze and glitch-out when that many tones
* are being played.
diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c
index 26e044b048..d6fde42b68 100644
--- a/platforms/chibios/drivers/audio_dac_additive.c
+++ b/platforms/chibios/drivers/audio_dac_additive.c
@@ -53,35 +53,39 @@
#ifdef AUDIO_DAC_SAMPLE_WAVEFORM_SINE
/* one full sine wave over [0,2*pi], but shifted up one amplitude and left pi/4; for the samples to start at 0
*/
-static const dacsample_t dac_buffer_sine[AUDIO_DAC_BUFFER_SIZE] = {
+static const dacsample_t dac_buffer_sine[] = {
// 256 values, max 4095
0x0, 0x1, 0x2, 0x6, 0xa, 0xf, 0x16, 0x1e, 0x27, 0x32, 0x3d, 0x4a, 0x58, 0x67, 0x78, 0x89, 0x9c, 0xb0, 0xc5, 0xdb, 0xf2, 0x10a, 0x123, 0x13e, 0x159, 0x175, 0x193, 0x1b1, 0x1d1, 0x1f1, 0x212, 0x235, 0x258, 0x27c, 0x2a0, 0x2c6, 0x2ed, 0x314, 0x33c, 0x365, 0x38e, 0x3b8, 0x3e3, 0x40e, 0x43a, 0x467, 0x494, 0x4c2, 0x4f0, 0x51f, 0x54e, 0x57d, 0x5ad, 0x5dd, 0x60e, 0x63f, 0x670, 0x6a1, 0x6d3, 0x705, 0x737, 0x769, 0x79b, 0x7cd, 0x800, 0x832, 0x864, 0x896, 0x8c8, 0x8fa, 0x92c, 0x95e, 0x98f, 0x9c0, 0x9f1, 0xa22, 0xa52, 0xa82, 0xab1, 0xae0, 0xb0f, 0xb3d, 0xb6b, 0xb98, 0xbc5, 0xbf1, 0xc1c, 0xc47, 0xc71, 0xc9a, 0xcc3, 0xceb, 0xd12, 0xd39, 0xd5f, 0xd83, 0xda7, 0xdca, 0xded, 0xe0e, 0xe2e, 0xe4e, 0xe6c, 0xe8a, 0xea6, 0xec1, 0xedc, 0xef5, 0xf0d, 0xf24, 0xf3a, 0xf4f, 0xf63, 0xf76, 0xf87, 0xf98, 0xfa7, 0xfb5, 0xfc2, 0xfcd, 0xfd8, 0xfe1, 0xfe9, 0xff0, 0xff5, 0xff9, 0xffd, 0xffe,
- 0xfff, 0xffe, 0xffd, 0xff9, 0xff5, 0xff0, 0xfe9, 0xfe1, 0xfd8, 0xfcd, 0xfc2, 0xfb5, 0xfa7, 0xf98, 0xf87, 0xf76, 0xf63, 0xf4f, 0xf3a, 0xf24, 0xf0d, 0xef5, 0xedc, 0xec1, 0xea6, 0xe8a, 0xe6c, 0xe4e, 0xe2e, 0xe0e, 0xded, 0xdca, 0xda7, 0xd83, 0xd5f, 0xd39, 0xd12, 0xceb, 0xcc3, 0xc9a, 0xc71, 0xc47, 0xc1c, 0xbf1, 0xbc5, 0xb98, 0xb6b, 0xb3d, 0xb0f, 0xae0, 0xab1, 0xa82, 0xa52, 0xa22, 0x9f1, 0x9c0, 0x98f, 0x95e, 0x92c, 0x8fa, 0x8c8, 0x896, 0x864, 0x832, 0x800, 0x7cd, 0x79b, 0x769, 0x737, 0x705, 0x6d3, 0x6a1, 0x670, 0x63f, 0x60e, 0x5dd, 0x5ad, 0x57d, 0x54e, 0x51f, 0x4f0, 0x4c2, 0x494, 0x467, 0x43a, 0x40e, 0x3e3, 0x3b8, 0x38e, 0x365, 0x33c, 0x314, 0x2ed, 0x2c6, 0x2a0, 0x27c, 0x258, 0x235, 0x212, 0x1f1, 0x1d1, 0x1b1, 0x193, 0x175, 0x159, 0x13e, 0x123, 0x10a, 0xf2, 0xdb, 0xc5, 0xb0, 0x9c, 0x89, 0x78, 0x67, 0x58, 0x4a, 0x3d, 0x32, 0x27, 0x1e, 0x16, 0xf, 0xa, 0x6, 0x2, 0x1};
+ 0xfff, 0xffe, 0xffd, 0xff9, 0xff5, 0xff0, 0xfe9, 0xfe1, 0xfd8, 0xfcd, 0xfc2, 0xfb5, 0xfa7, 0xf98, 0xf87, 0xf76, 0xf63, 0xf4f, 0xf3a, 0xf24, 0xf0d, 0xef5, 0xedc, 0xec1, 0xea6, 0xe8a, 0xe6c, 0xe4e, 0xe2e, 0xe0e, 0xded, 0xdca, 0xda7, 0xd83, 0xd5f, 0xd39, 0xd12, 0xceb, 0xcc3, 0xc9a, 0xc71, 0xc47, 0xc1c, 0xbf1, 0xbc5, 0xb98, 0xb6b, 0xb3d, 0xb0f, 0xae0, 0xab1, 0xa82, 0xa52, 0xa22, 0x9f1, 0x9c0, 0x98f, 0x95e, 0x92c, 0x8fa, 0x8c8, 0x896, 0x864, 0x832, 0x800, 0x7cd, 0x79b, 0x769, 0x737, 0x705, 0x6d3, 0x6a1, 0x670, 0x63f, 0x60e, 0x5dd, 0x5ad, 0x57d, 0x54e, 0x51f, 0x4f0, 0x4c2, 0x494, 0x467, 0x43a, 0x40e, 0x3e3, 0x3b8, 0x38e, 0x365, 0x33c, 0x314, 0x2ed, 0x2c6, 0x2a0, 0x27c, 0x258, 0x235, 0x212, 0x1f1, 0x1d1, 0x1b1, 0x193, 0x175, 0x159, 0x13e, 0x123, 0x10a, 0xf2, 0xdb, 0xc5, 0xb0, 0x9c, 0x89, 0x78, 0x67, 0x58, 0x4a, 0x3d, 0x32, 0x27, 0x1e, 0x16, 0xf, 0xa, 0x6, 0x2, 0x1,
+};
#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SINE
#ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE
-static const dacsample_t dac_buffer_triangle[AUDIO_DAC_BUFFER_SIZE] = {
+static const dacsample_t dac_buffer_triangle[] = {
// 256 values, max 4095
0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x100, 0x120, 0x140, 0x160, 0x180, 0x1a0, 0x1c0, 0x1e0, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0x300, 0x320, 0x340, 0x360, 0x380, 0x3a0, 0x3c0, 0x3e0, 0x400, 0x420, 0x440, 0x460, 0x480, 0x4a0, 0x4c0, 0x4e0, 0x500, 0x520, 0x540, 0x560, 0x580, 0x5a0, 0x5c0, 0x5e0, 0x600, 0x620, 0x640, 0x660, 0x680, 0x6a0, 0x6c0, 0x6e0, 0x700, 0x720, 0x740, 0x760, 0x780, 0x7a0, 0x7c0, 0x7e0, 0x800, 0x81f, 0x83f, 0x85f, 0x87f, 0x89f, 0x8bf, 0x8df, 0x8ff, 0x91f, 0x93f, 0x95f, 0x97f, 0x99f, 0x9bf, 0x9df, 0x9ff, 0xa1f, 0xa3f, 0xa5f, 0xa7f, 0xa9f, 0xabf, 0xadf, 0xaff, 0xb1f, 0xb3f, 0xb5f, 0xb7f, 0xb9f, 0xbbf, 0xbdf, 0xbff, 0xc1f, 0xc3f, 0xc5f, 0xc7f, 0xc9f, 0xcbf, 0xcdf, 0xcff, 0xd1f, 0xd3f, 0xd5f, 0xd7f, 0xd9f, 0xdbf, 0xddf, 0xdff, 0xe1f, 0xe3f, 0xe5f, 0xe7f, 0xe9f, 0xebf, 0xedf, 0xeff, 0xf1f, 0xf3f, 0xf5f, 0xf7f, 0xf9f, 0xfbf, 0xfdf,
- 0xfff, 0xfdf, 0xfbf, 0xf9f, 0xf7f, 0xf5f, 0xf3f, 0xf1f, 0xeff, 0xedf, 0xebf, 0xe9f, 0xe7f, 0xe5f, 0xe3f, 0xe1f, 0xdff, 0xddf, 0xdbf, 0xd9f, 0xd7f, 0xd5f, 0xd3f, 0xd1f, 0xcff, 0xcdf, 0xcbf, 0xc9f, 0xc7f, 0xc5f, 0xc3f, 0xc1f, 0xbff, 0xbdf, 0xbbf, 0xb9f, 0xb7f, 0xb5f, 0xb3f, 0xb1f, 0xaff, 0xadf, 0xabf, 0xa9f, 0xa7f, 0xa5f, 0xa3f, 0xa1f, 0x9ff, 0x9df, 0x9bf, 0x99f, 0x97f, 0x95f, 0x93f, 0x91f, 0x8ff, 0x8df, 0x8bf, 0x89f, 0x87f, 0x85f, 0x83f, 0x81f, 0x800, 0x7e0, 0x7c0, 0x7a0, 0x780, 0x760, 0x740, 0x720, 0x700, 0x6e0, 0x6c0, 0x6a0, 0x680, 0x660, 0x640, 0x620, 0x600, 0x5e0, 0x5c0, 0x5a0, 0x580, 0x560, 0x540, 0x520, 0x500, 0x4e0, 0x4c0, 0x4a0, 0x480, 0x460, 0x440, 0x420, 0x400, 0x3e0, 0x3c0, 0x3a0, 0x380, 0x360, 0x340, 0x320, 0x300, 0x2e0, 0x2c0, 0x2a0, 0x280, 0x260, 0x240, 0x220, 0x200, 0x1e0, 0x1c0, 0x1a0, 0x180, 0x160, 0x140, 0x120, 0x100, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20};
+ 0xfff, 0xfdf, 0xfbf, 0xf9f, 0xf7f, 0xf5f, 0xf3f, 0xf1f, 0xeff, 0xedf, 0xebf, 0xe9f, 0xe7f, 0xe5f, 0xe3f, 0xe1f, 0xdff, 0xddf, 0xdbf, 0xd9f, 0xd7f, 0xd5f, 0xd3f, 0xd1f, 0xcff, 0xcdf, 0xcbf, 0xc9f, 0xc7f, 0xc5f, 0xc3f, 0xc1f, 0xbff, 0xbdf, 0xbbf, 0xb9f, 0xb7f, 0xb5f, 0xb3f, 0xb1f, 0xaff, 0xadf, 0xabf, 0xa9f, 0xa7f, 0xa5f, 0xa3f, 0xa1f, 0x9ff, 0x9df, 0x9bf, 0x99f, 0x97f, 0x95f, 0x93f, 0x91f, 0x8ff, 0x8df, 0x8bf, 0x89f, 0x87f, 0x85f, 0x83f, 0x81f, 0x800, 0x7e0, 0x7c0, 0x7a0, 0x780, 0x760, 0x740, 0x720, 0x700, 0x6e0, 0x6c0, 0x6a0, 0x680, 0x660, 0x640, 0x620, 0x600, 0x5e0, 0x5c0, 0x5a0, 0x580, 0x560, 0x540, 0x520, 0x500, 0x4e0, 0x4c0, 0x4a0, 0x480, 0x460, 0x440, 0x420, 0x400, 0x3e0, 0x3c0, 0x3a0, 0x380, 0x360, 0x340, 0x320, 0x300, 0x2e0, 0x2c0, 0x2a0, 0x280, 0x260, 0x240, 0x220, 0x200, 0x1e0, 0x1c0, 0x1a0, 0x180, 0x160, 0x140, 0x120, 0x100, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20,
+};
#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE
#ifdef AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE
-static const dacsample_t dac_buffer_square[AUDIO_DAC_BUFFER_SIZE] = {
- [0 ... AUDIO_DAC_BUFFER_SIZE / 2 - 1] = AUDIO_DAC_OFF_VALUE, // first and
- [AUDIO_DAC_BUFFER_SIZE / 2 ... AUDIO_DAC_BUFFER_SIZE - 1] = AUDIO_DAC_SAMPLE_MAX, // second half
+static const dacsample_t dac_buffer_square[] = {
+ AUDIO_DAC_OFF_VALUE, // first and
+ AUDIO_DAC_SAMPLE_MAX, // second steps
};
#endif // AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE
/*
// four steps: 0, 1/3, 2/3 and 1
-static const dacsample_t dac_buffer_staircase[AUDIO_DAC_BUFFER_SIZE] = {
- [0 ... AUDIO_DAC_BUFFER_SIZE/3 -1 ] = 0,
- [AUDIO_DAC_BUFFER_SIZE / 4 ... AUDIO_DAC_BUFFER_SIZE / 2 -1 ] = AUDIO_DAC_SAMPLE_MAX / 3,
- [AUDIO_DAC_BUFFER_SIZE / 2 ... 3 * AUDIO_DAC_BUFFER_SIZE / 4 -1 ] = 2 * AUDIO_DAC_SAMPLE_MAX / 3,
- [3 * AUDIO_DAC_BUFFER_SIZE / 4 ... AUDIO_DAC_BUFFER_SIZE -1 ] = AUDIO_DAC_SAMPLE_MAX,
+static const dacsample_t dac_buffer_staircase[] = {
+ 0,
+ AUDIO_DAC_SAMPLE_MAX / 3,
+ 2 * AUDIO_DAC_SAMPLE_MAX / 3,
+ AUDIO_DAC_SAMPLE_MAX,
}
*/
#ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID
-static const dacsample_t dac_buffer_trapezoid[AUDIO_DAC_BUFFER_SIZE] = {0x0, 0x1f, 0x7f, 0xdf, 0x13f, 0x19f, 0x1ff, 0x25f, 0x2bf, 0x31f, 0x37f, 0x3df, 0x43f, 0x49f, 0x4ff, 0x55f, 0x5bf, 0x61f, 0x67f, 0x6df, 0x73f, 0x79f, 0x7ff, 0x85f, 0x8bf, 0x91f, 0x97f, 0x9df, 0xa3f, 0xa9f, 0xaff, 0xb5f, 0xbbf, 0xc1f, 0xc7f, 0xcdf, 0xd3f, 0xd9f, 0xdff, 0xe5f, 0xebf, 0xf1f, 0xf7f, 0xfdf, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff,
- 0xfff, 0xfdf, 0xf7f, 0xf1f, 0xebf, 0xe5f, 0xdff, 0xd9f, 0xd3f, 0xcdf, 0xc7f, 0xc1f, 0xbbf, 0xb5f, 0xaff, 0xa9f, 0xa3f, 0x9df, 0x97f, 0x91f, 0x8bf, 0x85f, 0x7ff, 0x79f, 0x73f, 0x6df, 0x67f, 0x61f, 0x5bf, 0x55f, 0x4ff, 0x49f, 0x43f, 0x3df, 0x37f, 0x31f, 0x2bf, 0x25f, 0x1ff, 0x19f, 0x13f, 0xdf, 0x7f, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
+static const dacsample_t dac_buffer_trapezoid[] = {
+ 0x0, 0x1f, 0x7f, 0xdf, 0x13f, 0x19f, 0x1ff, 0x25f, 0x2bf, 0x31f, 0x37f, 0x3df, 0x43f, 0x49f, 0x4ff, 0x55f, 0x5bf, 0x61f, 0x67f, 0x6df, 0x73f, 0x79f, 0x7ff, 0x85f, 0x8bf, 0x91f, 0x97f, 0x9df, 0xa3f, 0xa9f, 0xaff, 0xb5f, 0xbbf, 0xc1f, 0xc7f, 0xcdf, 0xd3f, 0xd9f, 0xdff, 0xe5f, 0xebf, 0xf1f, 0xf7f, 0xfdf, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff,
+ 0xfff, 0xfdf, 0xf7f, 0xf1f, 0xebf, 0xe5f, 0xdff, 0xd9f, 0xd3f, 0xcdf, 0xc7f, 0xc1f, 0xbbf, 0xb5f, 0xaff, 0xa9f, 0xa3f, 0x9df, 0x97f, 0x91f, 0x8bf, 0x85f, 0x7ff, 0x79f, 0x73f, 0x6df, 0x67f, 0x61f, 0x5bf, 0x55f, 0x4ff, 0x49f, 0x43f, 0x3df, 0x37f, 0x31f, 0x2bf, 0x25f, 0x1ff, 0x19f, 0x13f, 0xdf, 0x7f, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+};
#endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID
static dacsample_t dac_buffer[AUDIO_DAC_BUFFER_SIZE];
@@ -124,20 +128,30 @@ __attribute__((weak)) uint16_t dac_value_generate(void) {
uint_fast16_t value = 0;
float frequency = 0.0f;
+#if defined(AUDIO_DAC_SAMPLE_WAVEFORM_SINE)
+ const size_t wavetable_length = ARRAY_SIZE(dac_buffer_sine);
+#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE)
+ const size_t wavetable_length = ARRAY_SIZE(dac_buffer_triangle);
+#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID)
+ const size_t wavetable_length = ARRAY_SIZE(dac_buffer_trapezoid);
+#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE)
+ const size_t wavetable_length = ARRAY_SIZE(dac_buffer_square);
+#endif
+
for (size_t i = 0; i < active_tones_snapshot_length; i++) {
/* Note: a user implementation does not have to rely on the active_tones_snapshot, but
* could directly query the active frequencies through audio_get_processed_frequency */
frequency = active_tones_snapshot[i];
float new_dac_if = dac_if[i];
- new_dac_if += frequency * ((float)AUDIO_DAC_BUFFER_SIZE / AUDIO_DAC_SAMPLE_RATE * 2.0f / 3.0f);
+ new_dac_if += frequency * ((float)wavetable_length / AUDIO_DAC_SAMPLE_RATE * 2.0f / 3.0f);
/*Note: the 2/3 are necessary to get the correct frequencies on the
* DAC output (as measured with an oscilloscope), since the gpt
* timer runs with 3*AUDIO_DAC_SAMPLE_RATE; and the DAC callback
* is called twice per conversion.*/
- while (new_dac_if >= AUDIO_DAC_BUFFER_SIZE)
- new_dac_if -= AUDIO_DAC_BUFFER_SIZE;
+ while (new_dac_if >= wavetable_length)
+ new_dac_if -= wavetable_length;
dac_if[i] = new_dac_if;
// Wavetable generation/lookup
diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c
index 40d891326f..21b5c6892c 100644
--- a/platforms/chibios/drivers/audio_pwm_hardware.c
+++ b/platforms/chibios/drivers/audio_pwm_hardware.c
@@ -22,6 +22,12 @@
# define AUDIO_PWM_COUNTER_FREQUENCY 100000
#endif
+#ifndef AUDIO_PWM_COMPLEMENTARY_OUTPUT
+# define AUDIO_PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_HIGH
+#else
+# define AUDIO_PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH
+#endif
+
extern bool playing_note;
extern bool playing_melody;
extern uint8_t note_timbre;
@@ -29,7 +35,7 @@ extern uint8_t note_timbre;
static PWMConfig pwmCFG = {.frequency = AUDIO_PWM_COUNTER_FREQUENCY, /* PWM clock frequency */
.period = 2,
.callback = NULL,
- .channels = {[(AUDIO_PWM_CHANNEL - 1)] = {.mode = PWM_OUTPUT_ACTIVE_HIGH, .callback = NULL}}};
+ .channels = {[(AUDIO_PWM_CHANNEL - 1)] = {.mode = AUDIO_PWM_OUTPUT_MODE, .callback = NULL}}};
static float channel_1_frequency = 0.0f;
diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c
index 7c49f9d005..ad11d850dd 100644
--- a/platforms/chibios/drivers/i2c_master.c
+++ b/platforms/chibios/drivers/i2c_master.c
@@ -1,5 +1,6 @@
/* Copyright 2018 Jack Humbert
* Copyright 2018 Yiancar
+ * Copyright 2023 customMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -90,8 +91,6 @@
# endif
#endif
-static uint8_t i2c_address;
-
static const I2CConfig i2cconfig = {
#if defined(USE_I2CV1_CONTRIB)
I2C1_CLOCK_SPEED,
@@ -125,7 +124,7 @@ static i2c_status_t i2c_epilogue(const msg_t status) {
// From ChibiOS HAL: "After a timeout the driver must be stopped and
// restarted because the bus is in an uncertain state." We also issue that
// hard stop in case of any error.
- i2c_stop();
+ i2cStop(&I2C_DRIVER);
return status == MSG_TIMEOUT ? I2C_STATUS_TIMEOUT : I2C_STATUS_ERROR;
}
@@ -150,28 +149,19 @@ __attribute__((weak)) void i2c_init(void) {
}
}
-i2c_status_t i2c_start(uint8_t address) {
- i2c_address = address;
- i2cStart(&I2C_DRIVER, &i2cconfig);
- return I2C_STATUS_SUCCESS;
-}
-
i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = address;
i2cStart(&I2C_DRIVER, &i2cconfig);
- msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), data, length, 0, 0, TIME_MS2I(timeout));
+ msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (address >> 1), data, length, 0, 0, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = address;
i2cStart(&I2C_DRIVER, &i2cconfig);
- msg_t status = i2cMasterReceiveTimeout(&I2C_DRIVER, (i2c_address >> 1), data, length, TIME_MS2I(timeout));
+ msg_t status = i2cMasterReceiveTimeout(&I2C_DRIVER, (address >> 1), data, length, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
-i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = devaddr;
+i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
i2cStart(&I2C_DRIVER, &i2cconfig);
uint8_t complete_packet[length + 1];
@@ -180,12 +170,11 @@ i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data,
}
complete_packet[0] = regaddr;
- msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), complete_packet, length + 1, 0, 0, TIME_MS2I(timeout));
+ msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (devaddr >> 1), complete_packet, length + 1, 0, 0, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
-i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = devaddr;
+i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) {
i2cStart(&I2C_DRIVER, &i2cconfig);
uint8_t complete_packet[length + 2];
@@ -195,25 +184,27 @@ i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* da
complete_packet[0] = regaddr >> 8;
complete_packet[1] = regaddr & 0xFF;
- msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), complete_packet, length + 2, 0, 0, TIME_MS2I(timeout));
+ msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (devaddr >> 1), complete_packet, length + 2, 0, 0, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
-i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = devaddr;
+i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
i2cStart(&I2C_DRIVER, &i2cconfig);
- msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), &regaddr, 1, data, length, TIME_MS2I(timeout));
+ msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (devaddr >> 1), &regaddr, 1, data, length, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
-i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
- i2c_address = devaddr;
+i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) {
i2cStart(&I2C_DRIVER, &i2cconfig);
uint8_t register_packet[2] = {regaddr >> 8, regaddr & 0xFF};
- msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), register_packet, 2, data, length, TIME_MS2I(timeout));
+ msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (devaddr >> 1), register_packet, 2, data, length, TIME_MS2I(timeout));
return i2c_epilogue(status);
}
-void i2c_stop(void) {
- i2cStop(&I2C_DRIVER);
-}
+__attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout) {
+ // ChibiOS does not provide low level enough control to check for an ack.
+ // Best effort instead tries reading register 0 which will either succeed or timeout.
+ // This approach may produce false negative results for I2C devices that do not respond to a register 0 read request.
+ uint8_t data = 0;
+ return i2c_readReg(address, 0, &data, sizeof(data), timeout);
+} \ No newline at end of file
diff --git a/platforms/chibios/drivers/i2c_master.h b/platforms/chibios/drivers/i2c_master.h
index deee7ecc08..132ffd14c0 100644
--- a/platforms/chibios/drivers/i2c_master.h
+++ b/platforms/chibios/drivers/i2c_master.h
@@ -26,6 +26,13 @@
#include <stdint.h>
+// ### DEPRECATED - DO NOT USE ###
+#define i2c_writeReg(devaddr, regaddr, data, length, timeout) i2c_write_register(devaddr, regaddr, data, length, timeout)
+#define i2c_writeReg16(devaddr, regaddr, data, length, timeout) i2c_write_register16(devaddr, regaddr, data, length, timeout)
+#define i2c_readReg(devaddr, regaddr, data, length, timeout) i2c_read_register(devaddr, regaddr, data, length, timeout)
+#define i2c_readReg16(devaddr, regaddr, data, length, timeout) i2c_read_register16(devaddr, regaddr, data, length, timeout)
+// ###############################
+
typedef int16_t i2c_status_t;
#define I2C_STATUS_SUCCESS (0)
@@ -33,11 +40,10 @@ typedef int16_t i2c_status_t;
#define I2C_STATUS_TIMEOUT (-2)
void i2c_init(void);
-i2c_status_t i2c_start(uint8_t address);
i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout);
i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
-i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
-void i2c_stop(void);
+i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_write_register16(uint8_t devaddr, uint16_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_read_register(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_read_register16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
+i2c_status_t i2c_ping_address(uint8_t address, uint16_t timeout);
diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c
index f199716a2b..fa8481d2dc 100644
--- a/platforms/chibios/drivers/serial.c
+++ b/platforms/chibios/drivers/serial.c
@@ -62,25 +62,25 @@ inline static void serial_delay_blip(void) {
wait_us(1);
}
inline static void serial_output(void) {
- setPinOutput(SOFT_SERIAL_PIN);
+ gpio_set_pin_output(SOFT_SERIAL_PIN);
}
inline static void serial_input(void) {
- setPinInputHigh(SOFT_SERIAL_PIN);
+ gpio_set_pin_input_high(SOFT_SERIAL_PIN);
}
inline static bool serial_read_pin(void) {
- return !!readPin(SOFT_SERIAL_PIN);
+ return !!gpio_read_pin(SOFT_SERIAL_PIN);
}
inline static void serial_low(void) {
- writePinLow(SOFT_SERIAL_PIN);
+ gpio_write_pin_low(SOFT_SERIAL_PIN);
}
inline static void serial_high(void) {
- writePinHigh(SOFT_SERIAL_PIN);
+ gpio_write_pin_high(SOFT_SERIAL_PIN);
}
void interrupt_handler(void *arg);
// Use thread + palWaitLineTimeout instead of palSetLineCallback
-// - Methods like setPinOutput and palEnableLineEvent/palDisableLineEvent
+// - Methods like gpio_set_pin_output and palEnableLineEvent/palDisableLineEvent
// cause the interrupt to lock up, which would limit to only receiving data...
static THD_WORKING_AREA(waThread1, 128);
static THD_FUNCTION(Thread1, arg) {
diff --git a/platforms/chibios/drivers/spi_master.c b/platforms/chibios/drivers/spi_master.c
index 481a2e422a..57fc53d49f 100644
--- a/platforms/chibios/drivers/spi_master.c
+++ b/platforms/chibios/drivers/spi_master.c
@@ -32,12 +32,12 @@ __attribute__((weak)) void spi_init(void) {
is_initialised = true;
// Try releasing special pins for a short time
- setPinInput(SPI_SCK_PIN);
+ gpio_set_pin_input(SPI_SCK_PIN);
if (SPI_MOSI_PIN != NO_PIN) {
- setPinInput(SPI_MOSI_PIN);
+ gpio_set_pin_input(SPI_MOSI_PIN);
}
if (SPI_MISO_PIN != NO_PIN) {
- setPinInput(SPI_MISO_PIN);
+ gpio_set_pin_input(SPI_MISO_PIN);
}
chThdSleepMilliseconds(10);
@@ -271,10 +271,10 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
#if SPI_SELECT_MODE == SPI_SELECT_MODE_PAD
spiConfig.ssport = PAL_PORT(slavePin);
spiConfig.sspad = PAL_PAD(slavePin);
- setPinOutput(slavePin);
+ gpio_set_pin_output(slavePin);
#elif SPI_SELECT_MODE == SPI_SELECT_MODE_NONE
if (slavePin != NO_PIN) {
- setPinOutput(slavePin);
+ gpio_set_pin_output(slavePin);
}
#else
# error "Unsupported SPI_SELECT_MODE"
@@ -284,7 +284,7 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
spiSelect(&SPI_DRIVER);
#if SPI_SELECT_MODE == SPI_SELECT_MODE_NONE
if (slavePin != NO_PIN) {
- writePinLow(slavePin);
+ gpio_write_pin_low(slavePin);
}
#endif
@@ -319,7 +319,7 @@ void spi_stop(void) {
if (spiStarted) {
#if SPI_SELECT_MODE == SPI_SELECT_MODE_NONE
if (currentSlavePin != NO_PIN) {
- writePinHigh(currentSlavePin);
+ gpio_write_pin_high(currentSlavePin);
}
#endif
spiUnselect(&SPI_DRIVER);
diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c
deleted file mode 100644
index 39a59dd445..0000000000
--- a/platforms/chibios/drivers/uart.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2021
- *
- * This program is free software: you can 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 "uart.h"
-
-#if defined(MCU_KINETIS)
-static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE};
-#elif defined(WB32F3G71xx) || defined(WB32FQ95xx)
-static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE, SD1_WRDLEN, SD1_STPBIT, SD1_PARITY, SD1_ATFLCT};
-#else
-static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE, SD1_CR1, SD1_CR2, SD1_CR3};
-#endif
-
-void uart_init(uint32_t baud) {
- static bool is_initialised = false;
-
- if (!is_initialised) {
- is_initialised = true;
-
-#if defined(MCU_KINETIS)
- serialConfig.sc_speed = baud;
-#else
- serialConfig.speed = baud;
-#endif
-
-#if defined(USE_GPIOV1)
- palSetLineMode(SD1_TX_PIN, SD1_TX_PAL_MODE);
- palSetLineMode(SD1_RX_PIN, SD1_RX_PAL_MODE);
-#else
- palSetLineMode(SD1_TX_PIN, PAL_MODE_ALTERNATE(SD1_TX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
- palSetLineMode(SD1_RX_PIN, PAL_MODE_ALTERNATE(SD1_RX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
-#endif
- sdStart(&SERIAL_DRIVER, &serialConfig);
- }
-}
-
-void uart_write(uint8_t data) {
- sdPut(&SERIAL_DRIVER, data);
-}
-
-uint8_t uart_read(void) {
- msg_t res = sdGet(&SERIAL_DRIVER);
-
- return (uint8_t)res;
-}
-
-void uart_transmit(const uint8_t *data, uint16_t length) {
- sdWrite(&SERIAL_DRIVER, data, length);
-}
-
-void uart_receive(uint8_t *data, uint16_t length) {
- sdRead(&SERIAL_DRIVER, data, length);
-}
-
-bool uart_available(void) {
- return !sdGetWouldBlock(&SERIAL_DRIVER);
-}
diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h
index 16983072ce..c1945575f1 100644
--- a/platforms/chibios/drivers/uart.h
+++ b/platforms/chibios/drivers/uart.h
@@ -1,18 +1,7 @@
-/* Copyright 2021
- *
- * This program is free software: you can 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/>.
- */
+// Copyright 2024 Stefan Kerkmann
+// Copyright 2021 QMK
+// Copyright 2024 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -24,93 +13,188 @@
#include "gpio.h"
#include "chibios_config.h"
-#ifndef SERIAL_DRIVER
-# define SERIAL_DRIVER SD1
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef SERIAL_DRIVER
+# define UART_DRIVER SERIAL_DRIVER
+#endif
+#ifdef SD1_TX_PIN
+# define UART_TX_PIN SD1_TX_PIN
+#endif
+#ifdef SD1_RX_PIN
+# define UART_RX_PIN SD1_RX_PIN
+#endif
+#ifdef SD1_CTS_PIN
+# define UART_CTS_PIN SD1_CTS_PIN
+#endif
+#ifdef SD1_RTS_PIN
+# define UART_RTS_PIN SD1_RTS_PIN
+#endif
+#ifdef SD1_TX_PAL_MODE
+# define UART_TX_PAL_MODE SD1_TX_PAL_MODE
+#endif
+#ifdef SD1_RX_PAL_MODE
+# define UART_RX_PAL_MODE SD1_RX_PAL_MODE
+#endif
+#ifdef SD1_CTS_PAL_MODE
+# define UART_RTS_PAL_MODE SD1_CTS_PAL_MODE
+#endif
+#ifdef SD1_RTS_PAL_MODE
+# define UART_TX_PAL_MODE SD1_RTS_PAL_MODE
+#endif
+#ifdef SD1_CR1
+# define UART_CR1 SD1_CR1
+#endif
+#ifdef SD1_CR2
+# define UART_CR2 SD1_CR2
+#endif
+#ifdef SD1_CR3
+# define UART_CR3 SD1_CR3
+#endif
+#ifdef SD1_WRDLEN
+# define UART_WRDLEN SD1_WRDLEN
+#endif
+#ifdef SD1_STPBIT
+# define UART_STPBIT SD1_STPBIT
+#endif
+#ifdef SD1_PARITY
+# define UART_PARITY SD1_PARITY
+#endif
+#ifdef SD1_ATFLCT
+# define UART_ATFLCT SD1_ATFLCT
+#endif
+// ========
+
+#ifndef UART_DRIVER
+# if (HAL_USE_SERIAL == TRUE)
+# define UART_DRIVER SD1
+# elif (HAL_USE_SIO == TRUE)
+# define UART_DRIVER SIOD1
+# endif
#endif
-#ifndef SD1_TX_PIN
-# define SD1_TX_PIN A9
+#ifndef UART_TX_PIN
+# define UART_TX_PIN A9
#endif
-#ifndef SD1_RX_PIN
-# define SD1_RX_PIN A10
+#ifndef UART_RX_PIN
+# define UART_RX_PIN A10
#endif
-#ifndef SD1_CTS_PIN
-# define SD1_CTS_PIN A11
+#ifndef UART_CTS_PIN
+# define UART_CTS_PIN A11
#endif
-#ifndef SD1_RTS_PIN
-# define SD1_RTS_PIN A12
+#ifndef UART_RTS_PIN
+# define UART_RTS_PIN A12
#endif
#ifdef USE_GPIOV1
-# ifndef SD1_TX_PAL_MODE
-# define SD1_TX_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL
+# ifndef UART_TX_PAL_MODE
+# define UART_TX_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL
# endif
-# ifndef SD1_RX_PAL_MODE
-# define SD1_RX_PAL_MODE PAL_MODE_INPUT
+# ifndef UART_RX_PAL_MODE
+# define UART_RX_PAL_MODE PAL_MODE_INPUT
# endif
-# ifndef SD1_CTS_PAL_MODE
-# define SD1_CTS_PAL_MODE PAL_MODE_INPUT
+# ifndef UART_CTS_PAL_MODE
+# define UART_CTS_PAL_MODE PAL_MODE_INPUT
# endif
-# ifndef SD1_RTS_PAL_MODE
-# define SD1_RTS_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL
+# ifndef UART_RTS_PAL_MODE
+# define UART_RTS_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL
# endif
#else
-# ifndef SD1_TX_PAL_MODE
-# define SD1_TX_PAL_MODE 7
+# ifndef UART_TX_PAL_MODE
+# define UART_TX_PAL_MODE 7
# endif
-# ifndef SD1_RX_PAL_MODE
-# define SD1_RX_PAL_MODE 7
+# ifndef UART_RX_PAL_MODE
+# define UART_RX_PAL_MODE 7
# endif
-# ifndef SD1_CTS_PAL_MODE
-# define SD1_CTS_PAL_MODE 7
+# ifndef UART_CTS_PAL_MODE
+# define UART_CTS_PAL_MODE 7
# endif
-# ifndef SD1_RTS_PAL_MODE
-# define SD1_RTS_PAL_MODE 7
+# ifndef UART_RTS_PAL_MODE
+# define UART_RTS_PAL_MODE 7
# endif
#endif
-#ifndef SD1_CR1
-# define SD1_CR1 0
+#ifndef UART_CR1
+# define UART_CR1 0
#endif
-#ifndef SD1_CR2
-# define SD1_CR2 0
+#ifndef UART_CR2
+# define UART_CR2 0
#endif
-#ifndef SD1_CR3
-# define SD1_CR3 0
+#ifndef UART_CR3
+# define UART_CR3 0
#endif
-#ifndef SD1_WRDLEN
-# define SD1_WRDLEN 3
+#ifndef UART_WRDLEN
+# define UART_WRDLEN 3
#endif
-#ifndef SD1_STPBIT
-# define SD1_STPBIT 0
+#ifndef UART_STPBIT
+# define UART_STPBIT 0
#endif
-#ifndef SD1_PARITY
-# define SD1_PARITY 0
+#ifndef UART_PARITY
+# define UART_PARITY 0
#endif
-#ifndef SD1_ATFLCT
-# define SD1_ATFLCT 0
+#ifndef UART_ATFLCT
+# define UART_ATFLCT 0
#endif
+/**
+ * @brief Initialize the UART driver. This function must be called only once,
+ * before any of the below functions can be called.
+ *
+ * @param baud The baud rate to transmit and receive at. This may depend on the
+ * device you are communicating with. Common values are 1200, 2400, 4800, 9600,
+ * 19200, 38400, 57600, and 115200.
+ */
void uart_init(uint32_t baud);
+/**
+ * @brief Transmit a single byte.
+ *
+ * @param data The byte to transmit.
+ */
void uart_write(uint8_t data);
+/**
+ * @brief Receive a single byte.
+ *
+ * @return uint8_t The byte read from the receive buffer. This function will
+ * block if the buffer is empty (ie. no data to read).
+ */
uint8_t uart_read(void);
+/**
+ * @brief Transmit multiple bytes.
+ *
+ * @param data A pointer to the data to write from.
+ * @param length The number of bytes to write. Take care not to overrun the
+ * length of `data`.
+ */
void uart_transmit(const uint8_t *data, uint16_t length);
+/**
+ * @brief Receive multiple bytes.
+ *
+ * @param data A pointer to the buffer to read into.
+ * @param length The number of bytes to read. Take care not to overrun the
+ * length of `data`.
+ */
void uart_receive(uint8_t *data, uint16_t length);
+/**
+ * @brief Return whether the receive buffer contains data. Call this function
+ * to determine if `uart_read()` will return data immediately.
+ *
+ * @return true If there is data available to read.
+ * @return false If there is no data available to read.
+ */
bool uart_available(void);
diff --git a/platforms/chibios/drivers/uart_serial.c b/platforms/chibios/drivers/uart_serial.c
new file mode 100644
index 0000000000..6aff4eae47
--- /dev/null
+++ b/platforms/chibios/drivers/uart_serial.c
@@ -0,0 +1,65 @@
+// Copyright 2024 Stefan Kerkmann (@KarlK90)
+// Copyright 2021 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "uart.h"
+
+#if defined(MCU_KINETIS)
+static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE};
+#elif defined(WB32F3G71xx) || defined(WB32FQ95xx)
+static SerialConfig serialConfig = {
+ SERIAL_DEFAULT_BITRATE, UART_WRDLEN, UART_STPBIT, UART_PARITY, UART_ATFLCT,
+};
+#else
+static SerialConfig serialConfig = {
+ SERIAL_DEFAULT_BITRATE,
+ UART_CR1,
+ UART_CR2,
+ UART_CR3,
+};
+#endif
+
+void uart_init(uint32_t baud) {
+ static bool is_initialised = false;
+
+ if (is_initialised) {
+ return;
+ }
+ is_initialised = true;
+
+#if defined(MCU_KINETIS)
+ serialConfig.sc_speed = baud;
+#else
+ serialConfig.speed = baud;
+#endif
+
+#if defined(USE_GPIOV1)
+ palSetLineMode(UART_TX_PIN, UART_TX_PAL_MODE);
+ palSetLineMode(UART_RX_PIN, UART_RX_PAL_MODE);
+#else
+ palSetLineMode(UART_TX_PIN, PAL_MODE_ALTERNATE(UART_TX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ palSetLineMode(UART_RX_PIN, PAL_MODE_ALTERNATE(UART_RX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+#endif
+
+ sdStart(&UART_DRIVER, &serialConfig);
+}
+
+void uart_write(uint8_t data) {
+ sdPut(&UART_DRIVER, data);
+}
+
+uint8_t uart_read(void) {
+ return (uint8_t)sdGet(&UART_DRIVER);
+}
+
+void uart_transmit(const uint8_t *data, uint16_t length) {
+ sdWrite(&UART_DRIVER, data, length);
+}
+
+void uart_receive(uint8_t *data, uint16_t length) {
+ sdRead(&UART_DRIVER, data, length);
+}
+
+bool uart_available(void) {
+ return !sdGetWouldBlock(&UART_DRIVER);
+}
diff --git a/platforms/chibios/drivers/uart_sio.c b/platforms/chibios/drivers/uart_sio.c
new file mode 100644
index 0000000000..ebf51ae5a8
--- /dev/null
+++ b/platforms/chibios/drivers/uart_sio.c
@@ -0,0 +1,77 @@
+// Copyright 2024 Stefan Kerkmann (@KarlK90)
+// Copyright 2021 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "uart.h"
+
+#if defined(MCU_RP)
+// 38400 baud, 8 data bits, 1 stop bit, no parity, no flow control
+static SIOConfig sioConfig = {
+ .baud = SIO_DEFAULT_BITRATE,
+ .UARTLCR_H = (UART_UARTLCR_H_WLEN_8BITS | UART_UARTLCR_H_FEN),
+ .UARTCR = 0U,
+ .UARTIFLS = (UART_UARTIFLS_RXIFLSEL_1_8F | UART_UARTIFLS_TXIFLSEL_1_8E),
+ .UARTDMACR = 0U,
+};
+#else
+static SIOConfig sioConfig = {
+ .baud = SIO_DEFAULT_BITRATE,
+# if defined(MCU_STM32) && defined(CHIBIOS_HAL_USARTv3)
+ .presc = USART_PRESC1,
+# endif
+ .cr1 = UART_CR1,
+ .cr2 = UART_CR2,
+ .cr3 = UART_CR3,
+};
+#endif
+
+void uart_init(uint32_t baud) {
+ static bool is_initialised = false;
+
+ if (is_initialised) {
+ return;
+ }
+ is_initialised = true;
+
+ sioConfig.baud = baud;
+
+#if defined(USE_GPIOV1)
+ palSetLineMode(UART_TX_PIN, UART_TX_PAL_MODE);
+ palSetLineMode(UART_RX_PIN, UART_RX_PAL_MODE);
+#else
+ palSetLineMode(UART_TX_PIN, PAL_MODE_ALTERNATE(UART_TX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ palSetLineMode(UART_RX_PIN, PAL_MODE_ALTERNATE(UART_RX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+#endif
+
+ sioStart(&UART_DRIVER, &sioConfig);
+}
+
+void uart_write(uint8_t data) {
+ chnPutTimeout(&UART_DRIVER, data, TIME_INFINITE);
+}
+
+uint8_t uart_read(void) {
+ msg_t result = chnGetTimeout(&UART_DRIVER, TIME_INFINITE);
+
+ if (sioHasRXErrorsX(&UART_DRIVER)) {
+ sioGetAndClearErrors(&UART_DRIVER);
+ }
+
+ return (uint8_t)result;
+}
+
+void uart_transmit(const uint8_t *data, uint16_t length) {
+ chnWrite(&UART_DRIVER, data, length);
+}
+
+void uart_receive(uint8_t *data, uint16_t length) {
+ chnRead(&UART_DRIVER, data, length);
+
+ if (sioHasRXErrorsX(&UART_DRIVER)) {
+ sioGetAndClearErrors(&UART_DRIVER);
+ }
+}
+
+bool uart_available() {
+ return !sioIsRXEmptyX(&UART_DRIVER);
+}
diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c
index 883a845d88..1ed87c4381 100644
--- a/platforms/chibios/drivers/ws2812_bitbang.c
+++ b/platforms/chibios/drivers/ws2812_bitbang.c
@@ -3,18 +3,23 @@
#include "gpio.h"
#include "chibios_config.h"
+// DEPRECATED - DO NOT USE
+#if defined(NOP_FUDGE)
+# define WS2812_BITBANG_NOP_FUDGE NOP_FUDGE
+#endif
+
/* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */
-#ifndef NOP_FUDGE
+#ifndef WS2812_BITBANG_NOP_FUDGE
# if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(WB32F3G71xx) || defined(WB32FQ95xx)
-# define NOP_FUDGE 0.4
+# define WS2812_BITBANG_NOP_FUDGE 0.4
# else
# if defined(RP2040)
# error "Please use `vendor` WS2812 driver for RP2040"
# else
-# error "NOP_FUDGE configuration required"
+# error "WS2812_BITBANG_NOP_FUDGE configuration required"
# endif
-# define NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot
+# define WS2812_BITBANG_NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot
# endif
#endif
@@ -33,7 +38,7 @@
#endif
#define NUMBER_NOPS 6
-#define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * NOP_FUDGE)
+#define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * WS2812_BITBANG_NOP_FUDGE)
#define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives
#define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC)
#define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE)
@@ -57,15 +62,15 @@ void sendByte(uint8_t byte) {
// using something like wait_ns(is_one ? T1L : T0L) here throws off timings
if (is_one) {
// 1
- writePinHigh(WS2812_DI_PIN);
+ gpio_write_pin_high(WS2812_DI_PIN);
wait_ns(WS2812_T1H);
- writePinLow(WS2812_DI_PIN);
+ gpio_write_pin_low(WS2812_DI_PIN);
wait_ns(WS2812_T1L);
} else {
// 0
- writePinHigh(WS2812_DI_PIN);
+ gpio_write_pin_high(WS2812_DI_PIN);
wait_ns(WS2812_T0H);
- writePinLow(WS2812_DI_PIN);
+ gpio_write_pin_low(WS2812_DI_PIN);
wait_ns(WS2812_T0L);
}
}
diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c
index 440687bd72..6bba22767f 100644
--- a/platforms/chibios/drivers/ws2812_pwm.c
+++ b/platforms/chibios/drivers/ws2812_pwm.c
@@ -48,9 +48,6 @@
#ifndef WS2812_PWM_COMPLEMENTARY_OUTPUT
# define WS2812_PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_HIGH
#else
-# if !STM32_PWM_USE_ADVANCED
-# error "WS2812_PWM_COMPLEMENTARY_OUTPUT requires STM32_PWM_USE_ADVANCED == TRUE"
-# endif
# define WS2812_PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH
#endif
diff --git a/platforms/chibios/gpio.h b/platforms/chibios/gpio.h
index 80551abac5..a8d6554f29 100644
--- a/platforms/chibios/gpio.h
+++ b/platforms/chibios/gpio.h
@@ -22,24 +22,24 @@ typedef ioline_t pin_t;
/* Operation of GPIO by pin. */
-#define setPinInput(pin) palSetLineMode((pin), PAL_MODE_INPUT)
-#define setPinInputHigh(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLUP)
-#define setPinInputLow(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLDOWN)
-#define setPinOutputPushPull(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_PUSHPULL)
-#define setPinOutputOpenDrain(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_OPENDRAIN)
-#define setPinOutput(pin) setPinOutputPushPull(pin)
+#define gpio_set_pin_input(pin) palSetLineMode((pin), PAL_MODE_INPUT)
+#define gpio_set_pin_input_high(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLUP)
+#define gpio_set_pin_input_low(pin) palSetLineMode((pin), PAL_MODE_INPUT_PULLDOWN)
+#define gpio_set_pin_output_push_pull(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_PUSHPULL)
+#define gpio_set_pin_output_open_drain(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_OPENDRAIN)
+#define gpio_set_pin_output(pin) gpio_set_pin_output_push_pull(pin)
-#define writePinHigh(pin) palSetLine(pin)
-#define writePinLow(pin) palClearLine(pin)
-#define writePin(pin, level) \
- do { \
- if (level) { \
- writePinHigh(pin); \
- } else { \
- writePinLow(pin); \
- } \
+#define gpio_write_pin_high(pin) palSetLine(pin)
+#define gpio_write_pin_low(pin) palClearLine(pin)
+#define gpio_write_pin(pin, level) \
+ do { \
+ if (level) { \
+ gpio_write_pin_high(pin); \
+ } else { \
+ gpio_write_pin_low(pin); \
+ } \
} while (0)
-#define readPin(pin) palReadLine(pin)
+#define gpio_read_pin(pin) palReadLine(pin)
-#define togglePin(pin) palToggleLine(pin)
+#define gpio_toggle_pin(pin) palToggleLine(pin)
diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk
index f38a888012..a2178412f3 100644
--- a/platforms/chibios/platform.mk
+++ b/platforms/chibios/platform.mk
@@ -330,6 +330,17 @@ ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes)
endif
#
+# Extract supported HAL drivers
+##############################################################################
+
+define add_lld_driver_define
+ $(eval driver := $(word 2,$(subst /LLD/, ,$(1))))
+ $(eval OPT_DEFS += -DCHIBIOS_HAL_$(driver))
+endef
+
+$(foreach dir,$(EXTRAINCDIRS),$(if $(findstring /LLD/,$(dir)),$(call add_lld_driver_define,$(dir))))
+
+#
# Project, sources and paths
##############################################################################
diff --git a/platforms/gpio.h b/platforms/gpio.h
index b47f6f8e43..6a87e75b01 100644
--- a/platforms/gpio.h
+++ b/platforms/gpio.h
@@ -19,4 +19,21 @@
#if __has_include_next("gpio.h")
# include_next "gpio.h" /* Include the platforms gpio.h */
-#endif \ No newline at end of file
+#endif
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+
+#define setPinInput(pin) gpio_set_pin_input(pin)
+#define setPinInputHigh(pin) gpio_set_pin_input_high(pin)
+#define setPinInputLow(pin) gpio_set_pin_input_low(pin)
+#define setPinOutputPushPull(pin) gpio_set_pin_output_push_pull(pin)
+#define setPinOutputOpenDrain(pin) gpio_set_pin_output_open_drain(pin)
+#define setPinOutput(pin) gpio_set_pin_output_push_pull(pin)
+
+#define writePinHigh(pin) gpio_write_pin_high(pin)
+#define writePinLow(pin) gpio_write_pin_low(pin)
+#define writePin(pin, level) gpio_write_pin(pin, level)
+
+#define readPin(pin) gpio_read_pin(pin)
+
+#define togglePin(pin) gpio_toggle_pin(pin)
diff --git a/quantum/action.c b/quantum/action.c
index 29822c39e9..8dae32b2cb 100644
--- a/quantum/action.c
+++ b/quantum/action.c
@@ -1011,9 +1011,7 @@ __attribute__((weak)) void unregister_code(uint8_t code) {
*/
__attribute__((weak)) void tap_code_delay(uint8_t code, uint16_t delay) {
register_code(code);
- for (uint16_t i = delay; i > 0; i--) {
- wait_ms(1);
- }
+ wait_ms(delay);
unregister_code(code);
}
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 28c8267517..c1a1500493 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -17,6 +17,7 @@
#include "audio.h"
#include "eeconfig.h"
#include "timer.h"
+#include "debug.h"
#include "wait.h"
#include "util.h"
@@ -62,6 +63,13 @@
* the internal state of the audio system does its calculations with the later - ms
*/
+#ifndef AUDIO_DEFAULT_ON
+# define AUDIO_DEFAULT_ON true
+#endif
+#ifndef AUDIO_DEFAULT_CLICKY_ON
+# define AUDIO_DEFAULT_CLICKY_ON true
+#endif
+
#ifndef AUDIO_TONE_STACKSIZE
# define AUDIO_TONE_STACKSIZE 8
#endif
@@ -117,32 +125,31 @@ void eeconfig_update_audio_current(void) {
eeconfig_update_audio(audio_config.raw);
}
+void eeconfig_update_audio_default(void) {
+ audio_config.valid = true;
+ audio_config.enable = AUDIO_DEFAULT_ON;
+ audio_config.clicky_enable = AUDIO_DEFAULT_CLICKY_ON;
+ eeconfig_update_audio(audio_config.raw);
+}
+
void audio_init(void) {
if (audio_initialized) {
return;
}
- // Check EEPROM
-#ifdef EEPROM_ENABLE
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
audio_config.raw = eeconfig_read_audio();
-#else // EEPROM settings
- audio_config.enable = true;
-# ifdef AUDIO_CLICKY_ON
- audio_config.clicky_enable = true;
-# endif
-#endif // EEPROM settings
+ if (!audio_config.valid) {
+ dprintf("audio_init audio_config.valid = 0. Write default values to EEPROM.\n");
+ eeconfig_update_audio_default();
+ }
for (uint8_t i = 0; i < AUDIO_TONE_STACKSIZE; i++) {
tones[i] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0};
}
- if (!audio_initialized) {
- audio_driver_initialize();
- audio_initialized = true;
- }
+ audio_driver_initialize();
+ audio_initialized = true;
+
stop_all_notes();
#ifndef AUDIO_INIT_DELAY
audio_startup();
diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h
index a4a908b43c..eb0bedc6f9 100644
--- a/quantum/audio/audio.h
+++ b/quantum/audio/audio.h
@@ -33,7 +33,8 @@ typedef union {
struct {
bool enable : 1;
bool clicky_enable : 1;
- uint8_t level : 6;
+ bool valid : 1;
+ uint8_t reserved : 5;
};
} audio_config_t;
diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c
index e89b34696c..eb64dd71e8 100644
--- a/quantum/backlight/backlight.c
+++ b/quantum/backlight/backlight.c
@@ -42,20 +42,26 @@ backlight_config_t backlight_config;
static uint8_t breathing_period = BREATHING_PERIOD;
#endif
+static void backlight_check_config(void) {
+ /* Add some out of bound checks for backlight config */
+
+ if (backlight_config.level > BACKLIGHT_LEVELS) {
+ backlight_config.level = BACKLIGHT_LEVELS;
+ }
+}
+
/** \brief Backlight initialization
*
* FIXME: needs doc
*/
void backlight_init(void) {
- /* check signature */
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- eeconfig_update_backlight_default();
- }
backlight_config.raw = eeconfig_read_backlight();
- if (backlight_config.level > BACKLIGHT_LEVELS) {
- backlight_config.level = BACKLIGHT_LEVELS;
+ if (!backlight_config.valid) {
+ dprintf("backlight_init backlight_config.valid = 0. Write default values to EEPROM.\n");
+ eeconfig_update_backlight_default();
}
+ backlight_check_config();
+
backlight_set(backlight_config.enable ? backlight_config.level : 0);
}
@@ -183,6 +189,7 @@ void eeconfig_update_backlight_current(void) {
}
void eeconfig_update_backlight_default(void) {
+ backlight_config.valid = true;
backlight_config.enable = BACKLIGHT_DEFAULT_ON;
backlight_config.breathing = BACKLIGHT_DEFAULT_BREATHING;
backlight_config.level = BACKLIGHT_DEFAULT_LEVEL;
diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h
index 85812bff3a..c34fb5858d 100644
--- a/quantum/backlight/backlight.h
+++ b/quantum/backlight/backlight.h
@@ -39,7 +39,7 @@ typedef union {
struct {
bool enable : 1;
bool breathing : 1;
- uint8_t reserved : 1; // Reserved for possible future backlight modes
+ bool valid : 1;
uint8_t level : 5;
};
} backlight_config_t;
diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c
index 8c3fe461d7..fb2770ee3c 100644
--- a/quantum/backlight/backlight_driver_common.c
+++ b/quantum/backlight/backlight_driver_common.c
@@ -26,23 +26,23 @@ static const pin_t backlight_pin = BACKLIGHT_PIN;
static inline void backlight_on(pin_t backlight_pin) {
#if BACKLIGHT_ON_STATE == 0
- writePinLow(backlight_pin);
+ gpio_write_pin_low(backlight_pin);
#else
- writePinHigh(backlight_pin);
+ gpio_write_pin_high(backlight_pin);
#endif
}
static inline void backlight_off(pin_t backlight_pin) {
#if BACKLIGHT_ON_STATE == 0
- writePinHigh(backlight_pin);
+ gpio_write_pin_high(backlight_pin);
#else
- writePinLow(backlight_pin);
+ gpio_write_pin_low(backlight_pin);
#endif
}
void backlight_pins_init(void) {
// Setup backlight pin as output and output to off state.
- FOR_EACH_LED(setPinOutput(backlight_pin); backlight_off(backlight_pin);)
+ FOR_EACH_LED(gpio_set_pin_output(backlight_pin); backlight_off(backlight_pin);)
}
void backlight_pins_on(void) {
diff --git a/quantum/bootmagic/bootmagic.c b/quantum/bootmagic/bootmagic.c
new file mode 100644
index 0000000000..419ec5229e
--- /dev/null
+++ b/quantum/bootmagic/bootmagic.c
@@ -0,0 +1,79 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "bootmagic.h"
+#include "matrix.h"
+#include "keyboard.h"
+#include "wait.h"
+#include "eeconfig.h"
+#include "bootloader.h"
+
+#ifndef BOOTMAGIC_DEBOUNCE
+# if defined(DEBOUNCE) && DEBOUNCE > 0
+# define BOOTMAGIC_DEBOUNCE (DEBOUNCE * 2)
+# else
+# define BOOTMAGIC_DEBOUNCE 30
+# endif
+#endif
+
+/** \brief Reset eeprom
+ *
+ * ...just incase someone wants to only change the eeprom behaviour
+ */
+__attribute__((weak)) void bootmagic_reset_eeprom(void) {
+ eeconfig_disable();
+}
+
+/** \brief Decide reboot based on current matrix state
+ */
+__attribute__((weak)) bool bootmagic_should_reset(void) {
+ // If the configured key (commonly Esc) is held down on power up,
+ // reset the EEPROM valid state and jump to bootloader.
+ // This isn't very generalized, but we need something that doesn't
+ // rely on user's keymaps in firmware or EEPROM.
+ uint8_t row = BOOTMAGIC_ROW;
+ uint8_t col = BOOTMAGIC_COLUMN;
+
+#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_ROW_RIGHT) && defined(BOOTMAGIC_COLUMN_RIGHT)
+ if (!is_keyboard_left()) {
+ row = BOOTMAGIC_ROW_RIGHT;
+ col = BOOTMAGIC_COLUMN_RIGHT;
+ }
+#endif
+
+ return matrix_get_row(row) & (1 << col);
+}
+
+/** \brief The abridged version of TMK's bootmagic based on Wilba.
+ *
+ * 100% less potential for accidentally making the keyboard do stupid things.
+ */
+__attribute__((weak)) void bootmagic_scan(void) {
+ // We need multiple scans because debouncing can't be turned off.
+ matrix_scan();
+ wait_ms(BOOTMAGIC_DEBOUNCE);
+ matrix_scan();
+
+ if (bootmagic_should_reset()) {
+ bootmagic_reset_eeprom();
+
+ // Jump to bootloader.
+ bootloader_jump();
+ }
+}
+
+void bootmagic(void) {
+ bootmagic_scan();
+}
diff --git a/quantum/bootmagic/bootmagic.h b/quantum/bootmagic/bootmagic.h
index db826025ce..ee6fb49748 100644
--- a/quantum/bootmagic/bootmagic.h
+++ b/quantum/bootmagic/bootmagic.h
@@ -15,8 +15,26 @@
*/
#pragma once
-#if defined(BOOTMAGIC_LITE)
-# include "bootmagic_lite.h"
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef BOOTMAGIC_LITE_ROW
+# define BOOTMAGIC_ROW BOOTMAGIC_LITE_ROW
+#endif
+#ifdef BOOTMAGIC_LITE_COLUMN
+# define BOOTMAGIC_COLUMN BOOTMAGIC_LITE_COLUMN
+#endif
+#ifdef BOOTMAGIC_LITE_ROW_RIGHT
+# define BOOTMAGIC_ROW_RIGHT BOOTMAGIC_LITE_ROW_RIGHT
+#endif
+#ifdef BOOTMAGIC_LITE_COLUMN_RIGHT
+# define BOOTMAGIC_COLUMN_RIGHT BOOTMAGIC_LITE_COLUMN_RIGHT
+#endif
+// ========
+
+#ifndef BOOTMAGIC_COLUMN
+# define BOOTMAGIC_COLUMN 0
+#endif
+#ifndef BOOTMAGIC_ROW
+# define BOOTMAGIC_ROW 0
#endif
void bootmagic(void);
diff --git a/quantum/bootmagic/bootmagic_lite.c b/quantum/bootmagic/bootmagic_lite.c
deleted file mode 100644
index efce6bfd12..0000000000
--- a/quantum/bootmagic/bootmagic_lite.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2021 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "bootmagic.h"
-#include "matrix.h"
-#include "keyboard.h"
-#include "wait.h"
-#include "eeconfig.h"
-#include "bootloader.h"
-
-/** \brief Reset eeprom
- *
- * ...just incase someone wants to only change the eeprom behaviour
- */
-__attribute__((weak)) void bootmagic_lite_reset_eeprom(void) {
- eeconfig_disable();
-}
-
-/** \brief The lite version of TMK's bootmagic based on Wilba.
- *
- * 100% less potential for accidentally making the keyboard do stupid things.
- */
-__attribute__((weak)) void bootmagic_lite(void) {
- // We need multiple scans because debouncing can't be turned off.
- matrix_scan();
-#if defined(DEBOUNCE) && DEBOUNCE > 0
- wait_ms(DEBOUNCE * 2);
-#else
- wait_ms(30);
-#endif
- matrix_scan();
-
- // If the configured key (commonly Esc) is held down on power up,
- // reset the EEPROM valid state and jump to bootloader.
- // This isn't very generalized, but we need something that doesn't
- // rely on user's keymaps in firmware or EEPROM.
- uint8_t row = BOOTMAGIC_LITE_ROW;
- uint8_t col = BOOTMAGIC_LITE_COLUMN;
-
-#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_LITE_ROW_RIGHT) && defined(BOOTMAGIC_LITE_COLUMN_RIGHT)
- if (!is_keyboard_left()) {
- row = BOOTMAGIC_LITE_ROW_RIGHT;
- col = BOOTMAGIC_LITE_COLUMN_RIGHT;
- }
-#endif
-
- if (matrix_get_row(row) & (1 << col)) {
- bootmagic_lite_reset_eeprom();
-
- // Jump to bootloader.
- bootloader_jump();
- }
-}
-
-void bootmagic(void) {
- bootmagic_lite();
-}
diff --git a/quantum/bootmagic/bootmagic_lite.h b/quantum/bootmagic/bootmagic_lite.h
deleted file mode 100644
index 17777e6b4a..0000000000
--- a/quantum/bootmagic/bootmagic_lite.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#ifndef BOOTMAGIC_LITE_COLUMN
-# define BOOTMAGIC_LITE_COLUMN 0
-#endif
-#ifndef BOOTMAGIC_LITE_ROW
-# define BOOTMAGIC_LITE_ROW 0
-#endif
-
-void bootmagic_lite(void);
diff --git a/quantum/bootmagic/magic.c b/quantum/bootmagic/magic.c
deleted file mode 100644
index d68df3fa58..0000000000
--- a/quantum/bootmagic/magic.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdint.h>
-#include <stdbool.h>
-#include "wait.h"
-#include "matrix.h"
-#include "bootloader.h"
-#include "debug.h"
-#include "keycode_config.h"
-#include "host.h"
-#include "action_layer.h"
-#include "eeconfig.h"
-#include "bootmagic.h"
-
-keymap_config_t keymap_config;
-
-__attribute__((weak)) void bootmagic(void) {}
-
-/** \brief Magic
- *
- * FIXME: Needs doc
- */
-void magic(void) {
- /* check signature */
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
-
- /* init globals */
- debug_config.raw = eeconfig_read_debug();
- keymap_config.raw = eeconfig_read_keymap();
-
- bootmagic();
-
- /* read here just incase bootmagic process changed its value */
- layer_state_t default_layer = (layer_state_t)eeconfig_read_default_layer();
- default_layer_set(default_layer);
-
- /* Also initialize layer state to trigger callback functions for layer_state */
- layer_state_set_kb((layer_state_t)layer_state);
-}
diff --git a/quantum/bootmagic/magic.h b/quantum/bootmagic/magic.h
deleted file mode 100644
index 2c3969b85c..0000000000
--- a/quantum/bootmagic/magic.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-void magic(void);
diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c
index 6e254578d1..69cf665291 100644
--- a/quantum/dip_switch.c
+++ b/quantum/dip_switch.c
@@ -19,8 +19,6 @@
#include <string.h> // for memcpy
#include "dip_switch.h"
-#include "gpio.h"
-#include "util.h"
#ifdef SPLIT_KEYBOARD
# include "split_common/split_util.h"
@@ -35,24 +33,17 @@
#endif
#ifdef DIP_SWITCH_PINS
-# define NUMBER_OF_DIP_SWITCHES (ARRAY_SIZE(dip_switch_pad))
static pin_t dip_switch_pad[] = DIP_SWITCH_PINS;
#endif
#ifdef DIP_SWITCH_MATRIX_GRID
-typedef struct matrix_index_t {
- uint8_t row;
- uint8_t col;
-} matrix_index_t;
-
-# define NUMBER_OF_DIP_SWITCHES (ARRAY_SIZE(dip_switch_pad))
-static matrix_index_t dip_switch_pad[] = DIP_SWITCH_MATRIX_GRID;
-extern bool peek_matrix(uint8_t row_index, uint8_t col_index, bool read_raw);
-static uint16_t scan_count;
+static matrix_intersection_t dip_switch_pad[] = DIP_SWITCH_MATRIX_GRID;
+extern bool peek_matrix(uint8_t row_index, uint8_t col_index, bool read_raw);
+static uint16_t scan_count;
#endif /* DIP_SWITCH_MATRIX_GRID */
-static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0};
-static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0};
+static bool dip_switch_state[NUM_DIP_SWITCHES] = {0};
+static bool last_dip_switch_state[NUM_DIP_SWITCHES] = {0};
__attribute__((weak)) bool dip_switch_update_user(uint8_t index, bool active) {
return true;
@@ -70,18 +61,40 @@ __attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) {
return dip_switch_update_mask_user(state);
}
+#ifdef DIP_SWITCH_MAP_ENABLE
+# include "keymap_introspection.h"
+# include "action.h"
+
+# ifndef DIP_SWITCH_MAP_KEY_DELAY
+# define DIP_SWITCH_MAP_KEY_DELAY TAP_CODE_DELAY
+# endif
+
+static void dip_switch_exec_mapping(uint8_t index, bool on) {
+ // The delays below cater for Windows and its wonderful requirements.
+ action_exec(on ? MAKE_DIPSWITCH_ON_EVENT(index, true) : MAKE_DIPSWITCH_OFF_EVENT(index, true));
+# if DIP_SWITCH_MAP_KEY_DELAY > 0
+ wait_ms(DIP_SWITCH_MAP_KEY_DELAY);
+# endif // DIP_SWITCH_MAP_KEY_DELAY > 0
+
+ action_exec(on ? MAKE_DIPSWITCH_ON_EVENT(index, false) : MAKE_DIPSWITCH_OFF_EVENT(index, false));
+# if DIP_SWITCH_MAP_KEY_DELAY > 0
+ wait_ms(DIP_SWITCH_MAP_KEY_DELAY);
+# endif // DIP_SWITCH_MAP_KEY_DELAY > 0
+}
+#endif // DIP_SWITCH_MAP_ENABLE
+
void dip_switch_init(void) {
#ifdef DIP_SWITCH_PINS
# if defined(SPLIT_KEYBOARD) && defined(DIP_SWITCH_PINS_RIGHT)
if (!isLeftHand) {
const pin_t dip_switch_pad_right[] = DIP_SWITCH_PINS_RIGHT;
- for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) {
+ for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) {
dip_switch_pad[i] = dip_switch_pad_right[i];
}
}
# endif
- for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) {
- setPinInputHigh(dip_switch_pad[i]);
+ for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) {
+ gpio_set_pin_input_high(dip_switch_pad[i]);
}
dip_switch_read(true);
#endif
@@ -108,9 +121,9 @@ void dip_switch_read(bool forced) {
}
#endif
- for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) {
+ for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) {
#ifdef DIP_SWITCH_PINS
- dip_switch_state[i] = !readPin(dip_switch_pad[i]);
+ dip_switch_state[i] = !gpio_read_pin(dip_switch_pad[i]);
#endif
#ifdef DIP_SWITCH_MATRIX_GRID
dip_switch_state[i] = peek_matrix(dip_switch_pad[i].row, dip_switch_pad[i].col, read_raw);
@@ -118,11 +131,21 @@ void dip_switch_read(bool forced) {
dip_switch_mask |= dip_switch_state[i] << i;
if (last_dip_switch_state[i] != dip_switch_state[i] || forced) {
has_dip_state_changed = true;
+#ifndef DIP_SWITCH_MAP_ENABLE
dip_switch_update_kb(i, dip_switch_state[i]);
+#else
+ dip_switch_exec_mapping(i, dip_switch_state[i]);
+#endif
}
}
if (has_dip_state_changed) {
+#ifndef DIP_SWITCH_MAP_ENABLE
dip_switch_update_mask_kb(dip_switch_mask);
+#endif
memcpy(last_dip_switch_state, dip_switch_state, sizeof(dip_switch_state));
}
}
+
+void dip_switch_task(void) {
+ dip_switch_read(false);
+}
diff --git a/quantum/dip_switch.h b/quantum/dip_switch.h
index 6e79dcb0bf..7629859359 100644
--- a/quantum/dip_switch.h
+++ b/quantum/dip_switch.h
@@ -20,11 +20,36 @@
#include <stdbool.h>
#include <stdint.h>
+#include "gpio.h"
+#include "util.h"
+
+#if defined(DIP_SWITCH_PINS)
+# define NUM_DIP_SWITCHES ARRAY_SIZE(((pin_t[])DIP_SWITCH_PINS))
+#elif defined(DIP_SWITCH_MATRIX_GRID)
+typedef struct matrix_intersection_t {
+ uint8_t row;
+ uint8_t col;
+} matrix_intersection_t;
+# define NUM_DIP_SWITCHES ARRAY_SIZE(((matrix_intersection_t[])DIP_SWITCH_MATRIX_GRID))
+#endif
+
+#ifndef NUM_DIP_SWITCHES
+# define NUM_DIP_SWITCHES 0
+#endif
bool dip_switch_update_kb(uint8_t index, bool active);
bool dip_switch_update_user(uint8_t index, bool active);
bool dip_switch_update_mask_user(uint32_t state);
bool dip_switch_update_mask_kb(uint32_t state);
-void dip_switch_init(void);
void dip_switch_read(bool forced);
+
+void dip_switch_init(void);
+void dip_switch_task(void);
+
+#ifdef DIP_SWITCH_MAP_ENABLE
+# define NUM_DIP_STATES 2
+# define DIP_SWITCH_OFF_ON(off, on) \
+ { (off), (on) }
+extern const uint16_t dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES];
+#endif // DIP_SWITCH_MAP_ENABLE
diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c
index d9eea13758..2d2180b4b4 100644
--- a/quantum/eeconfig.c
+++ b/quantum/eeconfig.c
@@ -54,7 +54,7 @@ void eeconfig_init_quantum(void) {
// Enable oneshot and autocorrect by default: 0b0001 0100 0000 0000
eeprom_update_word(EECONFIG_KEYMAP, 0x1400);
eeprom_update_byte(EECONFIG_BACKLIGHT, 0);
- eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default
+ eeprom_update_byte(EECONFIG_AUDIO, 0);
eeprom_update_dword(EECONFIG_RGBLIGHT, 0);
eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, 0);
eeprom_update_byte(EECONFIG_UNUSED, 0);
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 7ab194ed52..735eb1cd71 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -1,81 +1,110 @@
-/*
- * Copyright 2018 Jack Humbert <jack.humb@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022-2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
-#include "encoder.h"
-#include "keyboard.h"
+#include <string.h>
#include "action.h"
-#include "keycodes.h"
+#include "encoder.h"
#include "wait.h"
-#ifdef SPLIT_KEYBOARD
-# include "split_util.h"
-#endif
-
-// for memcpy
-#include <string.h>
-
#ifndef ENCODER_MAP_KEY_DELAY
-# include "action.h"
# define ENCODER_MAP_KEY_DELAY TAP_CODE_DELAY
#endif
-#if !defined(ENCODER_RESOLUTIONS) && !defined(ENCODER_RESOLUTION)
-# define ENCODER_RESOLUTION 4
-#endif
+__attribute__((weak)) bool should_process_encoder(void) {
+ return is_keyboard_master();
+}
-#if !defined(ENCODERS_PAD_A) || !defined(ENCODERS_PAD_B)
-# error "No encoder pads defined by ENCODERS_PAD_A and ENCODERS_PAD_B"
-#endif
+static encoder_events_t encoder_events;
+
+void encoder_init(void) {
+ memset(&encoder_events, 0, sizeof(encoder_events));
+ encoder_driver_init();
+}
-extern volatile bool isLeftHand;
+static bool encoder_handle_queue(void) {
+ bool changed = false;
+ while (encoder_events.tail != encoder_events.head) {
+ encoder_event_t event = encoder_events.queue[encoder_events.tail];
+ encoder_events.tail = (encoder_events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
-static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_A;
-static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_B;
+#ifdef ENCODER_MAP_ENABLE
-#ifdef ENCODER_RESOLUTIONS
-static uint8_t encoder_resolutions[NUM_ENCODERS] = ENCODER_RESOLUTIONS;
-#endif
+ // The delays below cater for Windows and its wonderful requirements.
+ action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, true) : MAKE_ENCODER_CCW_EVENT(event.index, true));
+# if ENCODER_MAP_KEY_DELAY > 0
+ wait_ms(ENCODER_MAP_KEY_DELAY);
+# endif // ENCODER_MAP_KEY_DELAY > 0
-#ifndef ENCODER_DIRECTION_FLIP
-# define ENCODER_CLOCKWISE true
-# define ENCODER_COUNTER_CLOCKWISE false
-#else
-# define ENCODER_CLOCKWISE false
-# define ENCODER_COUNTER_CLOCKWISE true
-#endif
-static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
+ action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, false) : MAKE_ENCODER_CCW_EVENT(event.index, false));
+# if ENCODER_MAP_KEY_DELAY > 0
+ wait_ms(ENCODER_MAP_KEY_DELAY);
+# endif // ENCODER_MAP_KEY_DELAY > 0
+
+#else // ENCODER_MAP_ENABLE
+
+ encoder_update_kb(event.index, event.clockwise ? true : false);
+
+#endif // ENCODER_MAP_ENABLE
+
+ changed = true;
+ }
+ return changed;
+}
-static uint8_t encoder_state[NUM_ENCODERS] = {0};
-static int8_t encoder_pulses[NUM_ENCODERS] = {0};
+bool encoder_task(void) {
+ bool changed = false;
-// encoder counts
-static uint8_t thisCount;
#ifdef SPLIT_KEYBOARD
-// encoder offsets for each hand
-static uint8_t thisHand, thatHand;
-// encoder counts for each hand
-static uint8_t thatCount;
-#endif
+ // Attempt to process existing encoder events in case split handling has already enqueued events
+ if (should_process_encoder()) {
+ changed |= encoder_handle_queue();
+ }
+#endif // SPLIT_KEYBOARD
+
+ // Let the encoder driver produce events
+ encoder_driver_task();
+
+ // Process any events that were enqueued
+ if (should_process_encoder()) {
+ changed |= encoder_handle_queue();
+ }
+
+ return changed;
+}
+
+bool encoder_queue_event(uint8_t index, bool clockwise) {
+ // Drop out if we're full
+ if ((encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS == encoder_events.tail) {
+ return false;
+ }
+
+ // Append the event
+ encoder_event_t new_event = {.index = index, .clockwise = clockwise ? 1 : 0};
+ encoder_events.queue[encoder_events.head] = new_event;
+
+ // Increment the head index
+ encoder_events.head = (encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS;
+
+ return true;
+}
+
+void encoder_retrieve_events(encoder_events_t *events) {
+ memcpy(events, &encoder_events, sizeof(encoder_events));
+}
-static uint8_t encoder_value[NUM_ENCODERS] = {0};
+#ifdef SPLIT_KEYBOARD
+void encoder_set_tail_index(uint8_t tail_index) {
+ encoder_events.tail = tail_index;
+}
-__attribute__((weak)) void encoder_wait_pullup_charge(void) {
- wait_us(100);
+void encoder_handle_slave_events(encoder_events_t *events) {
+ while (events->tail != events->head) {
+ encoder_event_t event = events->queue[events->tail];
+ events->tail = (events->tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ encoder_queue_event(event.index, event.clockwise ? true : false);
+ }
}
+#endif // SPLIT_KEYBOARD
__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
@@ -106,192 +135,3 @@ __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) {
#endif // ENCODER_TESTS
return res;
}
-
-__attribute__((weak)) bool should_process_encoder(void) {
- return is_keyboard_master();
-}
-
-void encoder_init(void) {
-#ifdef SPLIT_KEYBOARD
- thisHand = isLeftHand ? 0 : NUM_ENCODERS_LEFT;
- thatHand = NUM_ENCODERS_LEFT - thisHand;
- thisCount = isLeftHand ? NUM_ENCODERS_LEFT : NUM_ENCODERS_RIGHT;
- thatCount = isLeftHand ? NUM_ENCODERS_RIGHT : NUM_ENCODERS_LEFT;
-#else // SPLIT_KEYBOARD
- thisCount = NUM_ENCODERS;
-#endif
-
-#ifdef ENCODER_TESTS
- // Annoying that we have to clear out values during initialisation here, but
- // because all the arrays are static locals, rerunning tests in the same
- // executable doesn't reset any of these. Kinda crappy having test-only code
- // here, but it's the simplest solution.
- memset(encoder_value, 0, sizeof(encoder_value));
- memset(encoder_state, 0, sizeof(encoder_state));
- memset(encoder_pulses, 0, sizeof(encoder_pulses));
- static const pin_t encoders_pad_a_left[] = ENCODERS_PAD_A;
- static const pin_t encoders_pad_b_left[] = ENCODERS_PAD_B;
- for (uint8_t i = 0; i < thisCount; i++) {
- encoders_pad_a[i] = encoders_pad_a_left[i];
- encoders_pad_b[i] = encoders_pad_b_left[i];
- }
-#endif
-
-#if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
- // Re-initialise the pads if it's the right-hand side
- if (!isLeftHand) {
- static const pin_t encoders_pad_a_right[] = ENCODERS_PAD_A_RIGHT;
- static const pin_t encoders_pad_b_right[] = ENCODERS_PAD_B_RIGHT;
- for (uint8_t i = 0; i < thisCount; i++) {
- encoders_pad_a[i] = encoders_pad_a_right[i];
- encoders_pad_b[i] = encoders_pad_b_right[i];
- }
- }
-#endif // defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
-
- // Encoder resolutions is handled purely master-side, so concatenate the two arrays
-#if defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS)
-# if defined(ENCODER_RESOLUTIONS_RIGHT)
- static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS_RIGHT;
-# else // defined(ENCODER_RESOLUTIONS_RIGHT)
- static const uint8_t encoder_resolutions_right[NUM_ENCODERS_RIGHT] = ENCODER_RESOLUTIONS;
-# endif // defined(ENCODER_RESOLUTIONS_RIGHT)
- for (uint8_t i = 0; i < NUM_ENCODERS_RIGHT; i++) {
- encoder_resolutions[NUM_ENCODERS_LEFT + i] = encoder_resolutions_right[i];
- }
-#endif // defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS)
-
- for (uint8_t i = 0; i < thisCount; i++) {
- setPinInputHigh(encoders_pad_a[i]);
- setPinInputHigh(encoders_pad_b[i]);
- }
- encoder_wait_pullup_charge();
- for (uint8_t i = 0; i < thisCount; i++) {
- encoder_state[i] = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1);
- }
-}
-
-#ifdef ENCODER_MAP_ENABLE
-static void encoder_exec_mapping(uint8_t index, bool clockwise) {
- // The delays below cater for Windows and its wonderful requirements.
- action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, true) : MAKE_ENCODER_CCW_EVENT(index, true));
-# if ENCODER_MAP_KEY_DELAY > 0
- wait_ms(ENCODER_MAP_KEY_DELAY);
-# endif // ENCODER_MAP_KEY_DELAY > 0
-
- action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, false) : MAKE_ENCODER_CCW_EVENT(index, false));
-# if ENCODER_MAP_KEY_DELAY > 0
- wait_ms(ENCODER_MAP_KEY_DELAY);
-# endif // ENCODER_MAP_KEY_DELAY > 0
-}
-#endif // ENCODER_MAP_ENABLE
-
-static bool encoder_update(uint8_t index, uint8_t state) {
- bool changed = false;
- uint8_t i = index;
-
-#ifdef ENCODER_RESOLUTIONS
- const uint8_t resolution = encoder_resolutions[i];
-#else
- const uint8_t resolution = ENCODER_RESOLUTION;
-#endif
-
-#ifdef SPLIT_KEYBOARD
- index += thisHand;
-#endif
- encoder_pulses[i] += encoder_LUT[state & 0xF];
-
-#ifdef ENCODER_DEFAULT_POS
- if ((encoder_pulses[i] >= resolution) || (encoder_pulses[i] <= -resolution) || ((state & 0x3) == ENCODER_DEFAULT_POS)) {
- if (encoder_pulses[i] >= 1) {
-#else
- if (encoder_pulses[i] >= resolution) {
-#endif
-
- encoder_value[index]++;
- changed = true;
-#ifdef SPLIT_KEYBOARD
- if (should_process_encoder())
-#endif // SPLIT_KEYBOARD
-#ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(index, ENCODER_COUNTER_CLOCKWISE);
-#else // ENCODER_MAP_ENABLE
- encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE);
-#endif // ENCODER_MAP_ENABLE
- }
-
-#ifdef ENCODER_DEFAULT_POS
- if (encoder_pulses[i] <= -1) {
-#else
- if (encoder_pulses[i] <= -resolution) { // direction is arbitrary here, but this clockwise
-#endif
- encoder_value[index]--;
- changed = true;
-#ifdef SPLIT_KEYBOARD
- if (should_process_encoder())
-#endif // SPLIT_KEYBOARD
-#ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(index, ENCODER_CLOCKWISE);
-#else // ENCODER_MAP_ENABLE
- encoder_update_kb(index, ENCODER_CLOCKWISE);
-#endif // ENCODER_MAP_ENABLE
- }
- encoder_pulses[i] %= resolution;
-#ifdef ENCODER_DEFAULT_POS
- encoder_pulses[i] = 0;
- }
-#endif
- return changed;
-}
-
-bool encoder_read(void) {
- bool changed = false;
- for (uint8_t i = 0; i < thisCount; i++) {
- uint8_t new_status = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1);
- if ((encoder_state[i] & 0x3) != new_status) {
- encoder_state[i] <<= 2;
- encoder_state[i] |= new_status;
- changed |= encoder_update(i, encoder_state[i]);
- }
- }
- return changed;
-}
-
-#ifdef SPLIT_KEYBOARD
-void last_encoder_activity_trigger(void);
-
-void encoder_state_raw(uint8_t *slave_state) {
- memcpy(slave_state, &encoder_value[thisHand], sizeof(uint8_t) * thisCount);
-}
-
-void encoder_update_raw(uint8_t *slave_state) {
- bool changed = false;
- for (uint8_t i = 0; i < thatCount; i++) { // Note inverted logic -- we want the opposite side
- const uint8_t index = i + thatHand;
- int8_t delta = slave_state[i] - encoder_value[index];
- while (delta > 0) {
- delta--;
- encoder_value[index]++;
- changed = true;
-# ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(index, ENCODER_COUNTER_CLOCKWISE);
-# else // ENCODER_MAP_ENABLE
- encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE);
-# endif // ENCODER_MAP_ENABLE
- }
- while (delta < 0) {
- delta++;
- encoder_value[index]--;
- changed = true;
-# ifdef ENCODER_MAP_ENABLE
- encoder_exec_mapping(index, ENCODER_CLOCKWISE);
-# else // ENCODER_MAP_ENABLE
- encoder_update_kb(index, ENCODER_CLOCKWISE);
-# endif // ENCODER_MAP_ENABLE
- }
- }
-
- // Update the last encoder input time -- handled external to encoder_read() when we're running a split
- if (changed) last_encoder_activity_trigger();
-}
-#endif
diff --git a/quantum/encoder.h b/quantum/encoder.h
index 1cbac98cb5..90414a43a0 100644
--- a/quantum/encoder.h
+++ b/quantum/encoder.h
@@ -22,45 +22,88 @@
#include "gpio.h"
#include "util.h"
+#ifdef ENCODER_ENABLE
+
+__attribute__((weak)) bool should_process_encoder(void);
+
void encoder_init(void);
-bool encoder_read(void);
+bool encoder_task(void);
+bool encoder_queue_event(uint8_t index, bool clockwise);
bool encoder_update_kb(uint8_t index, bool clockwise);
bool encoder_update_user(uint8_t index, bool clockwise);
-#ifdef SPLIT_KEYBOARD
+# ifdef SPLIT_KEYBOARD
+
+# if defined(ENCODERS_PAD_A_RIGHT)
+# ifndef NUM_ENCODERS_LEFT
+# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
+# endif
+# ifndef NUM_ENCODERS_RIGHT
+# define NUM_ENCODERS_RIGHT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A_RIGHT))
+# endif
+# else
+# ifndef NUM_ENCODERS_LEFT
+# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
+# endif
+# ifndef NUM_ENCODERS_RIGHT
+# define NUM_ENCODERS_RIGHT NUM_ENCODERS_LEFT
+# endif
+# endif
+# ifndef NUM_ENCODERS
+# define NUM_ENCODERS (NUM_ENCODERS_LEFT + NUM_ENCODERS_RIGHT)
+# endif
+
+# else // SPLIT_KEYBOARD
-void encoder_state_raw(uint8_t* slave_state);
-void encoder_update_raw(uint8_t* slave_state);
+# ifndef NUM_ENCODERS
+# define NUM_ENCODERS ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
+# endif
+# define NUM_ENCODERS_LEFT NUM_ENCODERS
+# define NUM_ENCODERS_RIGHT 0
-# if defined(ENCODERS_PAD_A_RIGHT)
-# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
-# define NUM_ENCODERS_RIGHT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A_RIGHT))
-# else
-# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
-# define NUM_ENCODERS_RIGHT NUM_ENCODERS_LEFT
-# endif
-# define NUM_ENCODERS (NUM_ENCODERS_LEFT + NUM_ENCODERS_RIGHT)
+# endif // SPLIT_KEYBOARD
-#else // SPLIT_KEYBOARD
+# ifndef NUM_ENCODERS
+# define NUM_ENCODERS 0
+# define NUM_ENCODERS_LEFT 0
+# define NUM_ENCODERS_RIGHT 0
+# endif // NUM_ENCODERS
-# define NUM_ENCODERS ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A))
-# define NUM_ENCODERS_LEFT NUM_ENCODERS
-# define NUM_ENCODERS_RIGHT 0
+# define NUM_ENCODERS_MAX_PER_SIDE MAX(NUM_ENCODERS_LEFT, NUM_ENCODERS_RIGHT)
-#endif // SPLIT_KEYBOARD
+# ifndef MAX_QUEUED_ENCODER_EVENTS
+# define MAX_QUEUED_ENCODER_EVENTS MAX(4, ((NUM_ENCODERS_MAX_PER_SIDE) + 1))
+# endif // MAX_QUEUED_ENCODER_EVENTS
-#ifndef NUM_ENCODERS
-# define NUM_ENCODERS 0
-# define NUM_ENCODERS_LEFT 0
-# define NUM_ENCODERS_RIGHT 0
-#endif // NUM_ENCODERS
+typedef struct encoder_event_t {
+ uint8_t index : 7;
+ uint8_t clockwise : 1;
+} encoder_event_t;
-#define NUM_ENCODERS_MAX_PER_SIDE MAX(NUM_ENCODERS_LEFT, NUM_ENCODERS_RIGHT)
+typedef struct encoder_events_t {
+ uint8_t head;
+ uint8_t tail;
+ encoder_event_t queue[MAX_QUEUED_ENCODER_EVENTS];
+} encoder_events_t;
-#ifdef ENCODER_MAP_ENABLE
-# define NUM_DIRECTIONS 2
-# define ENCODER_CCW_CW(ccw, cw) \
- { (cw), (ccw) }
+// Get the current queued events
+void encoder_retrieve_events(encoder_events_t *events);
+
+# ifdef SPLIT_KEYBOARD
+void encoder_set_tail_index(uint8_t tail_index);
+void encoder_handle_slave_events(encoder_events_t *events);
+# endif // SPLIT_KEYBOARD
+
+# ifdef ENCODER_MAP_ENABLE
+# define NUM_DIRECTIONS 2
+# define ENCODER_CCW_CW(ccw, cw) \
+ { (cw), (ccw) }
extern const uint16_t encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS];
-#endif // ENCODER_MAP_ENABLE
+# endif // ENCODER_MAP_ENABLE
+
+// "Custom encoder lite" support
+void encoder_driver_init(void);
+void encoder_driver_task(void);
+
+#endif // ENCODER_ENABLE
diff --git a/quantum/encoder/tests/config_encoder_common.h b/quantum/encoder/tests/config_encoder_common.h
new file mode 100644
index 0000000000..6b3b20182b
--- /dev/null
+++ b/quantum/encoder/tests/config_encoder_common.h
@@ -0,0 +1,6 @@
+// Copyright 2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// Override the one in quantum/util because it doesn't like working on x64 builds.
+#define ARRAY_SIZE(array) (sizeof((array)) / sizeof((array)[0]))
diff --git a/quantum/encoder/tests/config_mock.h b/quantum/encoder/tests/config_mock.h
index 703dcaf103..9eb59ddc88 100644
--- a/quantum/encoder/tests/config_mock.h
+++ b/quantum/encoder/tests/config_mock.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_left_eq_right.h b/quantum/encoder/tests/config_mock_split_left_eq_right.h
index c80ac4d519..ea795657ef 100644
--- a/quantum/encoder/tests/config_mock_split_left_eq_right.h
+++ b/quantum/encoder/tests/config_mock_split_left_eq_right.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_left_gt_right.h b/quantum/encoder/tests/config_mock_split_left_gt_right.h
index 91d5f3d605..abcfe03918 100644
--- a/quantum/encoder/tests/config_mock_split_left_gt_right.h
+++ b/quantum/encoder/tests/config_mock_split_left_gt_right.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_left_lt_right.h b/quantum/encoder/tests/config_mock_split_left_lt_right.h
index 4108a184a6..075c774b0d 100644
--- a/quantum/encoder/tests/config_mock_split_left_lt_right.h
+++ b/quantum/encoder/tests/config_mock_split_left_lt_right.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_no_left.h b/quantum/encoder/tests/config_mock_split_no_left.h
index 9db7fa7e41..dfd8358929 100644
--- a/quantum/encoder/tests/config_mock_split_no_left.h
+++ b/quantum/encoder/tests/config_mock_split_no_left.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_no_right.h b/quantum/encoder/tests/config_mock_split_no_right.h
index 14f18015e6..5683eade8c 100644
--- a/quantum/encoder/tests/config_mock_split_no_right.h
+++ b/quantum/encoder/tests/config_mock_split_no_right.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/config_mock_split_role.h b/quantum/encoder/tests/config_mock_split_role.h
index c80ac4d519..ea795657ef 100644
--- a/quantum/encoder/tests/config_mock_split_role.h
+++ b/quantum/encoder/tests/config_mock_split_role.h
@@ -1,6 +1,7 @@
-// Copyright 2022 Nick Brassel (@tzarc)
+// Copyright 2022-2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#include "config_encoder_common.h"
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/quantum/encoder/tests/encoder_tests.cpp b/quantum/encoder/tests/encoder_tests.cpp
index b7c18aeec0..499e413aed 100644
--- a/quantum/encoder/tests/encoder_tests.cpp
+++ b/quantum/encoder/tests/encoder_tests.cpp
@@ -41,7 +41,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderTest : public ::testing::Test {};
diff --git a/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp
index 916e47b185..7d6b3e30e6 100644
--- a/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp
@@ -33,22 +33,29 @@ struct update {
uint8_t updates_array_idx = 0;
update updates[32];
+bool isMaster;
bool isLeftHand;
+extern "C" {
+bool is_keyboard_master(void) {
+ return isMaster;
+}
+
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!isLeftHand) {
+ if (!is_keyboard_master()) {
// this method has no effect on slave half
- printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC");
+ printf("ignoring update on slave (%d,%s)\n", index, clockwise ? "CW" : "CC");
return true;
}
updates[updates_array_idx % 32] = {index, clockwise};
updates_array_idx++;
return true;
}
+};
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestLeftEqRight : public ::testing::Test {
@@ -63,6 +70,7 @@ class EncoderSplitTestLeftEqRight : public ::testing::Test {
};
TEST_F(EncoderSplitTestLeftEqRight, TestInitLeft) {
+ isMaster = true;
isLeftHand = true;
encoder_init();
EXPECT_EQ(pinIsInputHigh[0], true);
@@ -77,6 +85,7 @@ TEST_F(EncoderSplitTestLeftEqRight, TestInitLeft) {
}
TEST_F(EncoderSplitTestLeftEqRight, TestInitRight) {
+ isMaster = true;
isLeftHand = false;
encoder_init();
EXPECT_EQ(pinIsInputHigh[0], false);
@@ -90,7 +99,8 @@ TEST_F(EncoderSplitTestLeftEqRight, TestInitRight) {
EXPECT_EQ(updates_array_idx, 0); // no updates received
}
-TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseLeft) {
+TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseLeftMaster) {
+ isMaster = true;
isLeftHand = true;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -102,9 +112,19 @@ TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseLeft) {
EXPECT_EQ(updates_array_idx, 1); // one update received
EXPECT_EQ(updates[0].index, 0);
EXPECT_EQ(updates[0].clockwise, true);
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseRightSent) {
+TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseRightMaster) {
+ isMaster = true;
isLeftHand = false;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -113,23 +133,60 @@ TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseRightSent) {
setAndRead(6, true);
setAndRead(7, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 1); // one update received
+ EXPECT_EQ(updates[0].index, 3);
+ EXPECT_EQ(updates[0].clockwise, true);
- EXPECT_EQ(slave_state[0], 0);
- EXPECT_EQ(slave_state[1], 0xFF);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftEqRight, TestMultipleEncodersRightReceived) {
+TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseLeftSlave) {
+ isMaster = false;
isLeftHand = true;
encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(0, false);
+ setAndRead(1, false);
+ setAndRead(0, true);
+ setAndRead(1, true);
- uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder CW
- encoder_update_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
- EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side
- EXPECT_EQ(updates[0].index, 2);
- EXPECT_EQ(updates[0].clockwise, false);
- EXPECT_EQ(updates[1].index, 3);
- EXPECT_EQ(updates[1].clockwise, true);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
+}
+
+TEST_F(EncoderSplitTestLeftEqRight, TestOneClockwiseRightSlave) {
+ isMaster = false;
+ isLeftHand = false;
+ encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(6, false);
+ setAndRead(7, false);
+ setAndRead(6, true);
+ setAndRead(7, true);
+
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
}
diff --git a/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp
index 7b64bb2981..2beb4e3972 100644
--- a/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp
@@ -33,22 +33,29 @@ struct update {
uint8_t updates_array_idx = 0;
update updates[32];
+bool isMaster;
bool isLeftHand;
+extern "C" {
+bool is_keyboard_master(void) {
+ return isMaster;
+}
+
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!isLeftHand) {
+ if (!is_keyboard_master()) {
// this method has no effect on slave half
- printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC");
+ printf("ignoring update on slave (%d,%s)\n", index, clockwise ? "CW" : "CC");
return true;
}
updates[updates_array_idx % 32] = {index, clockwise};
updates_array_idx++;
return true;
}
+};
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestLeftGreaterThanRight : public ::testing::Test {
@@ -94,7 +101,8 @@ TEST_F(EncoderSplitTestLeftGreaterThanRight, TestInitRight) {
EXPECT_EQ(updates_array_idx, 0); // no updates received
}
-TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseLeft) {
+TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseLeftMaster) {
+ isMaster = true;
isLeftHand = true;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -106,9 +114,19 @@ TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseLeft) {
EXPECT_EQ(updates_array_idx, 1); // one update received
EXPECT_EQ(updates[0].index, 0);
EXPECT_EQ(updates[0].clockwise, true);
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseRightSent) {
+TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseRightMaster) {
+ isMaster = true;
isLeftHand = false;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -117,23 +135,60 @@ TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseRightSent) {
setAndRead(6, true);
setAndRead(7, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 1); // one update received
+ EXPECT_EQ(updates[0].index, 3);
+ EXPECT_EQ(updates[0].clockwise, true);
- EXPECT_EQ(slave_state[0], 0xFF);
- EXPECT_EQ(slave_state[1], 0);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftGreaterThanRight, TestMultipleEncodersRightReceived) {
+TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseLeftSlave) {
+ isMaster = false;
isLeftHand = true;
encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(0, false);
+ setAndRead(1, false);
+ setAndRead(0, true);
+ setAndRead(1, true);
- uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW
- encoder_update_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
- EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side
- EXPECT_EQ(updates[0].index, 3);
- EXPECT_EQ(updates[0].clockwise, false);
- EXPECT_EQ(updates[1].index, 4);
- EXPECT_EQ(updates[1].clockwise, true);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
+}
+
+TEST_F(EncoderSplitTestLeftGreaterThanRight, TestOneClockwiseRightSlave) {
+ isMaster = false;
+ isLeftHand = false;
+ encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(6, false);
+ setAndRead(7, false);
+ setAndRead(6, true);
+ setAndRead(7, true);
+
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
}
diff --git a/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp
index a6519c5762..5612f8b658 100644
--- a/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp
@@ -33,22 +33,29 @@ struct update {
uint8_t updates_array_idx = 0;
update updates[32];
+bool isMaster;
bool isLeftHand;
+extern "C" {
+bool is_keyboard_master(void) {
+ return isMaster;
+}
+
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!isLeftHand) {
+ if (!is_keyboard_master()) {
// this method has no effect on slave half
- printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC");
+ printf("ignoring update on slave (%d,%s)\n", index, clockwise ? "CW" : "CC");
return true;
}
updates[updates_array_idx % 32] = {index, clockwise};
updates_array_idx++;
return true;
}
+};
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestLeftLessThanRight : public ::testing::Test {
@@ -94,7 +101,8 @@ TEST_F(EncoderSplitTestLeftLessThanRight, TestInitRight) {
EXPECT_EQ(updates_array_idx, 0); // no updates received
}
-TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseLeft) {
+TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseLeftMaster) {
+ isMaster = true;
isLeftHand = true;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -106,9 +114,19 @@ TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseLeft) {
EXPECT_EQ(updates_array_idx, 1); // one update received
EXPECT_EQ(updates[0].index, 0);
EXPECT_EQ(updates[0].clockwise, true);
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseRightSent) {
+TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseRightMaster) {
+ isMaster = true;
isLeftHand = false;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -117,23 +135,60 @@ TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseRightSent) {
setAndRead(6, true);
setAndRead(7, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 1); // one update received
+ EXPECT_EQ(updates[0].index, 3);
+ EXPECT_EQ(updates[0].clockwise, true);
- EXPECT_EQ(slave_state[0], 0);
- EXPECT_EQ(slave_state[1], 0xFF);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestLeftLessThanRight, TestMultipleEncodersRightReceived) {
+TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseLeftSlave) {
+ isMaster = false;
isLeftHand = true;
encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(0, false);
+ setAndRead(1, false);
+ setAndRead(0, true);
+ setAndRead(1, true);
- uint8_t slave_state[32] = {1, 0, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW
- encoder_update_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
- EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side
- EXPECT_EQ(updates[0].index, 2);
- EXPECT_EQ(updates[0].clockwise, false);
- EXPECT_EQ(updates[1].index, 4);
- EXPECT_EQ(updates[1].clockwise, true);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
+}
+
+TEST_F(EncoderSplitTestLeftLessThanRight, TestOneClockwiseRightSlave) {
+ isMaster = false;
+ isLeftHand = false;
+ encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(6, false);
+ setAndRead(7, false);
+ setAndRead(6, true);
+ setAndRead(7, true);
+
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
+
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
}
diff --git a/quantum/encoder/tests/encoder_tests_split_no_left.cpp b/quantum/encoder/tests/encoder_tests_split_no_left.cpp
index b6b2d7e2d1..980e4074ff 100644
--- a/quantum/encoder/tests/encoder_tests_split_no_left.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_no_left.cpp
@@ -33,22 +33,29 @@ struct update {
uint8_t updates_array_idx = 0;
update updates[32];
+bool isMaster;
bool isLeftHand;
+extern "C" {
+bool is_keyboard_master(void) {
+ return isMaster;
+}
+
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!isLeftHand) {
+ if (!is_keyboard_master()) {
// this method has no effect on slave half
- printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC");
+ printf("ignoring update on slave (%d,%s)\n", index, clockwise ? "CW" : "CC");
return true;
}
updates[updates_array_idx % 32] = {index, clockwise};
updates_array_idx++;
return true;
}
+};
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestNoLeft : public ::testing::Test {
@@ -82,19 +89,8 @@ TEST_F(EncoderSplitTestNoLeft, TestInitRight) {
EXPECT_EQ(updates_array_idx, 0); // no updates received
}
-TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseLeft) {
- isLeftHand = true;
- encoder_init();
- // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
- setAndRead(0, false);
- setAndRead(1, false);
- setAndRead(0, true);
- setAndRead(1, true);
-
- EXPECT_EQ(updates_array_idx, 0); // no updates received
-}
-
-TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseRightSent) {
+TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseLeftMaster) {
+ isMaster = true;
isLeftHand = false;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
@@ -103,23 +99,38 @@ TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseRightSent) {
setAndRead(2, true);
setAndRead(3, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 1); // one update received
+ EXPECT_EQ(updates[0].index, 1);
+ EXPECT_EQ(updates[0].clockwise, true);
- EXPECT_EQ(slave_state[0], 0);
- EXPECT_EQ(slave_state[1], 0xFF);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestNoLeft, TestMultipleEncodersRightReceived) {
- isLeftHand = true;
+TEST_F(EncoderSplitTestNoLeft, TestOneClockwiseRightSlave) {
+ isMaster = false;
+ isLeftHand = false;
encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(2, false);
+ setAndRead(3, false);
+ setAndRead(2, true);
+ setAndRead(3, true);
- uint8_t slave_state[32] = {1, 0xFF}; // First right encoder is CCW, Second right encoder no change, third right encoder CW
- encoder_update_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
- EXPECT_EQ(updates_array_idx, 2); // two updates received, one for each changed item on the right side
- EXPECT_EQ(updates[0].index, 0);
- EXPECT_EQ(updates[0].clockwise, false);
- EXPECT_EQ(updates[1].index, 1);
- EXPECT_EQ(updates[1].clockwise, true);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
}
diff --git a/quantum/encoder/tests/encoder_tests_split_no_right.cpp b/quantum/encoder/tests/encoder_tests_split_no_right.cpp
index fa0a7c18a8..d39659853b 100644
--- a/quantum/encoder/tests/encoder_tests_split_no_right.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_no_right.cpp
@@ -33,22 +33,29 @@ struct update {
uint8_t updates_array_idx = 0;
update updates[32];
+bool isMaster;
bool isLeftHand;
+extern "C" {
+bool is_keyboard_master(void) {
+ return isMaster;
+}
+
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!isLeftHand) {
+ if (!is_keyboard_master()) {
// this method has no effect on slave half
- printf("ignoring update on right hand (%d,%s)\n", index, clockwise ? "CW" : "CC");
+ printf("ignoring update on slave (%d,%s)\n", index, clockwise ? "CW" : "CC");
return true;
}
updates[updates_array_idx % 32] = {index, clockwise};
updates_array_idx++;
return true;
}
+};
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestNoRight : public ::testing::Test {
@@ -82,37 +89,48 @@ TEST_F(EncoderSplitTestNoRight, TestInitRight) {
EXPECT_EQ(updates_array_idx, 0); // no updates received
}
-TEST_F(EncoderSplitTestNoRight, TestOneClockwiseLeft) {
+TEST_F(EncoderSplitTestNoRight, TestOneClockwiseLeftMaster) {
+ isMaster = true;
isLeftHand = true;
encoder_init();
// send 4 pulses. with resolution 4, that's one step and we should get 1 update.
- setAndRead(0, false);
- setAndRead(1, false);
- setAndRead(0, true);
- setAndRead(1, true);
+ setAndRead(2, false);
+ setAndRead(3, false);
+ setAndRead(2, true);
+ setAndRead(3, true);
- EXPECT_EQ(updates_array_idx, 1); // one updates received
- EXPECT_EQ(updates[0].index, 0);
+ EXPECT_EQ(updates_array_idx, 1); // one update received
+ EXPECT_EQ(updates[0].index, 1);
EXPECT_EQ(updates[0].clockwise, true);
-}
-TEST_F(EncoderSplitTestNoRight, TestOneClockwiseRightSent) {
- isLeftHand = false;
- encoder_init();
-
- uint8_t slave_state[32] = {0xAA, 0xAA};
- encoder_state_raw(slave_state);
-
- EXPECT_EQ(slave_state[0], 0xAA);
- EXPECT_EQ(slave_state[1], 0xAA);
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 0); // No events should be queued on master
}
-TEST_F(EncoderSplitTestNoRight, TestMultipleEncodersRightReceived) {
+TEST_F(EncoderSplitTestNoRight, TestOneClockwiseRightSlave) {
+ isMaster = false;
isLeftHand = true;
encoder_init();
+ // send 4 pulses. with resolution 4, that's one step and we should get 1 update.
+ setAndRead(2, false);
+ setAndRead(3, false);
+ setAndRead(2, true);
+ setAndRead(3, true);
- uint8_t slave_state[32] = {1, 0xFF}; // These values would trigger updates if there were encoders on the other side
- encoder_update_raw(slave_state);
+ EXPECT_EQ(updates_array_idx, 0); // no updates received
- EXPECT_EQ(updates_array_idx, 0); // no updates received -- no right-hand encoders
+ int events_queued = 0;
+ encoder_events_t events;
+ encoder_retrieve_events(&events);
+ while (events.tail != events.head) {
+ events.tail = (events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
+ ++events_queued;
+ }
+ EXPECT_EQ(events_queued, 1); // One event should be queued on slave
}
diff --git a/quantum/encoder/tests/encoder_tests_split_role.cpp b/quantum/encoder/tests/encoder_tests_split_role.cpp
index 0ab7bfc2a7..b588af8c70 100644
--- a/quantum/encoder/tests/encoder_tests_split_role.cpp
+++ b/quantum/encoder/tests/encoder_tests_split_role.cpp
@@ -50,7 +50,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
bool setAndRead(pin_t pin, bool val) {
setPin(pin, val);
- return encoder_read();
+ return encoder_task();
}
class EncoderSplitTestRole : public ::testing::Test {
@@ -87,9 +87,6 @@ TEST_F(EncoderSplitTestRole, TestPrimaryRight) {
setAndRead(6, true);
setAndRead(7, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
-
EXPECT_EQ(num_updates, 1); // one update received
}
@@ -116,8 +113,5 @@ TEST_F(EncoderSplitTestRole, TestNotPrimaryRight) {
setAndRead(6, true);
setAndRead(7, true);
- uint8_t slave_state[32] = {0};
- encoder_state_raw(slave_state);
-
EXPECT_EQ(num_updates, 0); // zero updates received
}
diff --git a/quantum/encoder/tests/mock.c b/quantum/encoder/tests/mock.c
index 61f2f8294d..1524e61ca4 100644
--- a/quantum/encoder/tests/mock.c
+++ b/quantum/encoder/tests/mock.c
@@ -19,14 +19,14 @@
bool pins[32] = {0};
bool pinIsInputHigh[32] = {0};
-uint8_t mockSetPinInputHigh(pin_t pin) {
+uint8_t mock_set_pin_input_high(pin_t pin) {
// dprintf("Setting pin %d input high.", pin);
pins[pin] = true;
pinIsInputHigh[pin] = true;
return 0;
}
-bool mockReadPin(pin_t pin) {
+bool mock_read_pin(pin_t pin) {
return pins[pin];
}
diff --git a/quantum/encoder/tests/mock.h b/quantum/encoder/tests/mock.h
index 80c336b5ef..28774b82ab 100644
--- a/quantum/encoder/tests/mock.h
+++ b/quantum/encoder/tests/mock.h
@@ -24,11 +24,11 @@ typedef uint8_t pin_t;
extern bool pins[];
extern bool pinIsInputHigh[];
-#define setPinInputHigh(pin) (mockSetPinInputHigh(pin))
-#define readPin(pin) (mockReadPin(pin))
+#define gpio_set_pin_input_high(pin) (mock_set_pin_input_high(pin))
+#define gpio_read_pin(pin) (mock_read_pin(pin))
-uint8_t mockSetPinInputHigh(pin_t pin);
+uint8_t mock_set_pin_input_high(pin_t pin);
-bool mockReadPin(pin_t pin);
+bool mock_read_pin(pin_t pin);
bool setPin(pin_t pin, bool val);
diff --git a/quantum/encoder/tests/mock_split.c b/quantum/encoder/tests/mock_split.c
index 5cc6cd19e1..fb5f074fbb 100644
--- a/quantum/encoder/tests/mock_split.c
+++ b/quantum/encoder/tests/mock_split.c
@@ -19,14 +19,14 @@
bool pins[32] = {0};
bool pinIsInputHigh[32] = {0};
-uint8_t mockSetPinInputHigh(pin_t pin) {
+uint8_t mock_set_pin_input_high(pin_t pin) {
// dprintf("Setting pin %d input high.", pin);
pins[pin] = true;
pinIsInputHigh[pin] = true;
return 0;
}
-bool mockReadPin(pin_t pin) {
+bool mock_read_pin(pin_t pin) {
return pins[pin];
}
@@ -36,7 +36,3 @@ bool setPin(pin_t pin, bool val) {
}
void last_encoder_activity_trigger(void) {}
-
-__attribute__((weak)) bool is_keyboard_master(void) {
- return true;
-}
diff --git a/quantum/encoder/tests/mock_split.h b/quantum/encoder/tests/mock_split.h
index 2fc12f1830..0d108afa6e 100644
--- a/quantum/encoder/tests/mock_split.h
+++ b/quantum/encoder/tests/mock_split.h
@@ -22,17 +22,14 @@
#define SPLIT_KEYBOARD
typedef uint8_t pin_t;
-void encoder_state_raw(uint8_t* slave_state);
-void encoder_update_raw(uint8_t* slave_state);
-
extern bool pins[];
extern bool pinIsInputHigh[];
-#define setPinInputHigh(pin) (mockSetPinInputHigh(pin))
-#define readPin(pin) (mockReadPin(pin))
+#define gpio_set_pin_input_high(pin) (mock_set_pin_input_high(pin))
+#define gpio_read_pin(pin) (mock_read_pin(pin))
-uint8_t mockSetPinInputHigh(pin_t pin);
+uint8_t mock_set_pin_input_high(pin_t pin);
-bool mockReadPin(pin_t pin);
+bool mock_read_pin(pin_t pin);
bool setPin(pin_t pin, bool val);
diff --git a/quantum/encoder/tests/rules.mk b/quantum/encoder/tests/rules.mk
index d01c1c66ee..eb6106039e 100644
--- a/quantum/encoder/tests/rules.mk
+++ b/quantum/encoder/tests/rules.mk
@@ -3,6 +3,7 @@ encoder_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock.h
encoder_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -13,6 +14,7 @@ encoder_split_left_eq_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_
encoder_split_left_eq_right_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_eq_right.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -23,6 +25,7 @@ encoder_split_left_gt_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_
encoder_split_left_gt_right_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_gt_right.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -33,6 +36,7 @@ encoder_split_left_lt_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_
encoder_split_left_lt_right_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_left_lt_right.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -43,6 +47,7 @@ encoder_split_no_left_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_
encoder_split_no_left_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_no_left.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -53,6 +58,7 @@ encoder_split_no_right_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split
encoder_split_no_right_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_no_right.cpp \
$(QUANTUM_PATH)/encoder.c
@@ -63,6 +69,7 @@ encoder_split_role_CONFIG := $(QUANTUM_PATH)/encoder/tests/config_mock_split_rol
encoder_split_role_SRC := \
platforms/test/timer.c \
+ drivers/encoder/encoder_quadrature.c \
$(QUANTUM_PATH)/encoder/tests/mock_split.c \
$(QUANTUM_PATH)/encoder/tests/encoder_tests_split_role.cpp \
$(QUANTUM_PATH)/encoder.c
diff --git a/quantum/haptic.c b/quantum/haptic.c
index a1fea29625..6a466293a7 100644
--- a/quantum/haptic.c
+++ b/quantum/haptic.c
@@ -96,10 +96,10 @@ void haptic_init(void) {
#endif
eeconfig_debug_haptic();
#ifdef HAPTIC_ENABLE_PIN
- setPinOutput(HAPTIC_ENABLE_PIN);
+ gpio_set_pin_output(HAPTIC_ENABLE_PIN);
#endif
#ifdef HAPTIC_ENABLE_STATUS_LED
- setPinOutput(HAPTIC_ENABLE_STATUS_LED);
+ gpio_set_pin_output(HAPTIC_ENABLE_STATUS_LED);
#endif
}
@@ -356,9 +356,9 @@ void haptic_shutdown(void) {
void haptic_notify_usb_device_state_change(void) {
update_haptic_enable_gpios();
#if defined(HAPTIC_ENABLE_PIN)
- setPinOutput(HAPTIC_ENABLE_PIN);
+ gpio_set_pin_output(HAPTIC_ENABLE_PIN);
#endif
#if defined(HAPTIC_ENABLE_STATUS_LED)
- setPinOutput(HAPTIC_ENABLE_STATUS_LED);
+ gpio_set_pin_output(HAPTIC_ENABLE_STATUS_LED);
#endif
}
diff --git a/quantum/haptic.h b/quantum/haptic.h
index 5bd1a71916..b283d5d268 100644
--- a/quantum/haptic.h
+++ b/quantum/haptic.h
@@ -84,22 +84,22 @@ void haptic_notify_usb_device_state_change(void);
# ifndef HAPTIC_ENABLE_PIN
# error HAPTIC_ENABLE_PIN not defined
# endif
-# define HAPTIC_ENABLE_PIN_WRITE_ACTIVE() writePinLow(HAPTIC_ENABLE_PIN)
-# define HAPTIC_ENABLE_PIN_WRITE_INACTIVE() writePinHigh(HAPTIC_ENABLE_PIN)
+# define HAPTIC_ENABLE_PIN_WRITE_ACTIVE() gpio_write_pin_low(HAPTIC_ENABLE_PIN)
+# define HAPTIC_ENABLE_PIN_WRITE_INACTIVE() gpio_write_pin_high(HAPTIC_ENABLE_PIN)
#else
-# define HAPTIC_ENABLE_PIN_WRITE_ACTIVE() writePinHigh(HAPTIC_ENABLE_PIN)
-# define HAPTIC_ENABLE_PIN_WRITE_INACTIVE() writePinLow(HAPTIC_ENABLE_PIN)
+# define HAPTIC_ENABLE_PIN_WRITE_ACTIVE() gpio_write_pin_high(HAPTIC_ENABLE_PIN)
+# define HAPTIC_ENABLE_PIN_WRITE_INACTIVE() gpio_write_pin_low(HAPTIC_ENABLE_PIN)
#endif
#ifdef HAPTIC_ENABLE_STATUS_LED_ACTIVE_LOW
# ifndef HAPTIC_ENABLE_STATUS_LED
# error HAPTIC_ENABLE_STATUS_LED not defined
# endif
-# define HAPTIC_ENABLE_STATUS_LED_WRITE_ACTIVE() writePinLow(HAPTIC_ENABLE_STATUS_LED)
-# define HAPTIC_ENABLE_STATUS_LED_WRITE_INACTIVE() writePinHigh(HAPTIC_ENABLE_STATUS_LED)
+# define HAPTIC_ENABLE_STATUS_LED_WRITE_ACTIVE() gpio_write_pin_low(HAPTIC_ENABLE_STATUS_LED)
+# define HAPTIC_ENABLE_STATUS_LED_WRITE_INACTIVE() gpio_write_pin_high(HAPTIC_ENABLE_STATUS_LED)
#else
-# define HAPTIC_ENABLE_STATUS_LED_WRITE_ACTIVE() writePinHigh(HAPTIC_ENABLE_STATUS_LED)
-# define HAPTIC_ENABLE_STATUS_LED_WRITE_INACTIVE() writePinLow(HAPTIC_ENABLE_STATUS_LED)
+# define HAPTIC_ENABLE_STATUS_LED_WRITE_ACTIVE() gpio_write_pin_high(HAPTIC_ENABLE_STATUS_LED)
+# define HAPTIC_ENABLE_STATUS_LED_WRITE_INACTIVE() gpio_write_pin_low(HAPTIC_ENABLE_STATUS_LED)
#endif
#ifndef HAPTIC_OFF_IN_LOW_POWER
diff --git a/quantum/joystick.c b/quantum/joystick.c
index 02818e4acd..32f19b2cd9 100644
--- a/quantum/joystick.c
+++ b/quantum/joystick.c
@@ -15,10 +15,12 @@
*/
#include "joystick.h"
-
-#include "analog.h"
#include "wait.h"
+#if defined(JOYSTICK_ANALOG)
+# include "analog.h"
+#endif
+
joystick_t joystick_state = {
.buttons = {0},
.axes =
@@ -31,21 +33,47 @@ joystick_t joystick_state = {
};
// array defining the reading of analog values for each axis
-__attribute__((weak)) joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {};
+__attribute__((weak)) joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {
+#if JOYSTICK_AXIS_COUNT > 0
+ [0 ...(JOYSTICK_AXIS_COUNT - 1)] = JOYSTICK_AXIS_VIRTUAL
+#endif
+};
-__attribute__((weak)) void joystick_task(void) {
- joystick_read_axes();
+__attribute__((weak)) void joystick_axis_init(uint8_t axis) {
+ if (axis >= JOYSTICK_AXIS_COUNT) return;
+
+#if defined(JOYSTICK_ANALOG)
+ gpio_set_pin_input(joystick_axes[axis].input_pin);
+#endif
+}
+
+__attribute__((weak)) uint16_t joystick_axis_sample(uint8_t axis) {
+ if (axis >= JOYSTICK_AXIS_COUNT) return 0;
+
+#if defined(JOYSTICK_ANALOG)
+ return analogReadPin(joystick_axes[axis].input_pin);
+#else
+ // default to resting position
+ return joystick_axes[axis].mid_digit;
+#endif
+}
+
+static inline bool is_virtual_axis(uint8_t axis) {
+ return joystick_axes[axis].input_pin == NO_PIN;
}
void joystick_flush(void) {
- if (joystick_state.dirty) {
- host_joystick_send(&joystick_state);
- joystick_state.dirty = false;
- }
+ if (!joystick_state.dirty) return;
+
+ // TODO: host.h?
+ void host_joystick_send(joystick_t * joystick);
+ host_joystick_send(&joystick_state);
+ joystick_state.dirty = false;
}
void register_joystick_button(uint8_t button) {
if (button >= JOYSTICK_BUTTON_COUNT) return;
+
joystick_state.buttons[button / 8] |= 1 << (button % 8);
joystick_state.dirty = true;
joystick_flush();
@@ -53,6 +81,7 @@ void register_joystick_button(uint8_t button) {
void unregister_joystick_button(uint8_t button) {
if (button >= JOYSTICK_BUTTON_COUNT) return;
+
joystick_state.buttons[button / 8] &= ~(1 << (button % 8));
joystick_state.dirty = true;
joystick_flush();
@@ -61,37 +90,7 @@ void unregister_joystick_button(uint8_t button) {
int16_t joystick_read_axis(uint8_t axis) {
if (axis >= JOYSTICK_AXIS_COUNT) return 0;
- // disable pull-up resistor
- writePinLow(joystick_axes[axis].input_pin);
-
- // if pin was a pull-up input, we need to uncharge it by turning it low
- // before making it a low input
- setPinOutput(joystick_axes[axis].input_pin);
-
- wait_us(10);
-
- if (joystick_axes[axis].output_pin != JS_VIRTUAL_AXIS) {
- setPinOutput(joystick_axes[axis].output_pin);
- writePinHigh(joystick_axes[axis].output_pin);
- }
-
- if (joystick_axes[axis].ground_pin != JS_VIRTUAL_AXIS) {
- setPinOutput(joystick_axes[axis].ground_pin);
- writePinLow(joystick_axes[axis].ground_pin);
- }
-
- wait_us(10);
-
- setPinInput(joystick_axes[axis].input_pin);
-
- wait_us(10);
-
-#if defined(ANALOG_JOYSTICK_ENABLE) && (defined(__AVR__) || defined(PROTOCOL_CHIBIOS))
- int16_t axis_val = analogReadPin(joystick_axes[axis].input_pin);
-#else
- // default to resting position
- int16_t axis_val = joystick_axes[axis].mid_digit;
-#endif
+ int16_t axis_val = joystick_axis_sample(axis);
// test the converted value against the lower range
int32_t ref = joystick_axes[axis].mid_digit;
@@ -111,10 +110,22 @@ int16_t joystick_read_axis(uint8_t axis) {
return ranged_val;
}
+void joystick_init_axes(void) {
+#if JOYSTICK_AXIS_COUNT > 0
+ for (int i = 0; i < JOYSTICK_AXIS_COUNT; ++i) {
+ if (is_virtual_axis(i)) {
+ continue;
+ }
+
+ joystick_axis_init(i);
+ }
+#endif
+}
+
void joystick_read_axes(void) {
#if JOYSTICK_AXIS_COUNT > 0
for (int i = 0; i < JOYSTICK_AXIS_COUNT; ++i) {
- if (joystick_axes[i].input_pin == JS_VIRTUAL_AXIS) {
+ if (is_virtual_axis(i)) {
continue;
}
@@ -133,3 +144,11 @@ void joystick_set_axis(uint8_t axis, int16_t value) {
joystick_state.dirty = true;
}
}
+
+void joystick_init(void) {
+ joystick_init_axes();
+}
+
+void joystick_task(void) {
+ joystick_read_axes();
+}
diff --git a/quantum/joystick.h b/quantum/joystick.h
index 5de4ba66c6..5a69ceac64 100644
--- a/quantum/joystick.h
+++ b/quantum/joystick.h
@@ -52,24 +52,15 @@
#define JOYSTICK_MAX_VALUE ((1L << (JOYSTICK_AXIS_RESOLUTION - 1)) - 1)
-// configure on input_pin of the joystick_axes array entry to JS_VIRTUAL_AXIS
-// to prevent it from being read from the ADC. This allows outputing forged axis value.
-//
-#define JS_VIRTUAL_AXIS 0xFF
-
+// configure on input_pin of the joystick_axes array entry to NO_PIN
+// to prevent it from being read from the ADC. This allows outputting forged axis value.
#define JOYSTICK_AXIS_VIRTUAL \
- { JS_VIRTUAL_AXIS, JS_VIRTUAL_AXIS, JS_VIRTUAL_AXIS, 0, 1023 }
+ { NO_PIN, 0, JOYSTICK_MAX_VALUE / 2, JOYSTICK_MAX_VALUE }
#define JOYSTICK_AXIS_IN(INPUT_PIN, LOW, REST, HIGH) \
- { JS_VIRTUAL_AXIS, INPUT_PIN, JS_VIRTUAL_AXIS, LOW, REST, HIGH }
-#define JOYSTICK_AXIS_IN_OUT(INPUT_PIN, OUTPUT_PIN, LOW, REST, HIGH) \
- { OUTPUT_PIN, INPUT_PIN, JS_VIRTUAL_AXIS, LOW, REST, HIGH }
-#define JOYSTICK_AXIS_IN_OUT_GROUND(INPUT_PIN, OUTPUT_PIN, GROUND_PIN, LOW, REST, HIGH) \
- { OUTPUT_PIN, INPUT_PIN, GROUND_PIN, LOW, REST, HIGH }
+ { INPUT_PIN, LOW, REST, HIGH }
typedef struct {
- pin_t output_pin;
pin_t input_pin;
- pin_t ground_pin;
// the AVR ADC offers 10 bit precision, with significant bits on the higher part
uint16_t min_digit;
@@ -87,6 +78,14 @@ typedef struct {
extern joystick_t joystick_state;
+/**
+ * \brief Handle the initialization of the subsystem.
+ */
+void joystick_init(void);
+
+/**
+ * \brief Handle various subsystem background tasks.
+ */
void joystick_task(void);
/**
@@ -117,6 +116,9 @@ void unregister_joystick_button(uint8_t button);
*/
int16_t joystick_read_axis(uint8_t axis);
+/**
+ * \brief Sample and process the all axis.
+ */
void joystick_read_axes(void);
/**
@@ -127,6 +129,4 @@ void joystick_read_axes(void);
*/
void joystick_set_axis(uint8_t axis, int16_t value);
-void host_joystick_send(joystick_t *joystick);
-
/** \} */
diff --git a/quantum/keyboard.c b/quantum/keyboard.c
index 86a1a9fea3..5aaa4b452f 100644
--- a/quantum/keyboard.c
+++ b/quantum/keyboard.c
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "keycode_config.h"
#include "matrix.h"
#include "keymap_introspection.h"
-#include "magic.h"
#include "host.h"
#include "led.h"
#include "keycode.h"
@@ -33,6 +32,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "sendchar.h"
#include "eeconfig.h"
#include "action_layer.h"
+#ifdef BOOTMAGIC_ENABLE
+# include "bootmagic.h"
+#endif
#ifdef AUDIO_ENABLE
# include "audio.h"
#endif
@@ -135,6 +137,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef WPM_ENABLE
# include "wpm.h"
#endif
+#ifdef OS_DETECTION_ENABLE
+# include "os_detection.h"
+#endif
static uint32_t last_input_modification_time = 0;
uint32_t last_input_activity_time(void) {
@@ -370,28 +375,30 @@ void housekeeping_task(void) {
housekeeping_task_user();
}
-/** \brief Init tasks previously located in matrix_init_quantum
+/** \brief quantum_init
*
- * TODO: rationalise against keyboard_init and current split role
+ * Init global state
*/
void quantum_init(void) {
- magic();
- led_init_ports();
-#ifdef BACKLIGHT_ENABLE
- backlight_init_ports();
-#endif
-#ifdef AUDIO_ENABLE
- audio_init();
-#endif
-#ifdef LED_MATRIX_ENABLE
- led_matrix_init();
-#endif
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init();
-#endif
-#if defined(UNICODE_COMMON_ENABLE)
- unicode_input_mode_init();
+ /* check signature */
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+
+ /* init globals */
+ debug_config.raw = eeconfig_read_debug();
+ keymap_config.raw = eeconfig_read_keymap();
+
+#ifdef BOOTMAGIC_ENABLE
+ bootmagic();
#endif
+
+ /* read here just incase bootmagic process changed its value */
+ layer_state_t default_layer = (layer_state_t)eeconfig_read_default_layer();
+ default_layer_set(default_layer);
+
+ /* Also initialize layer state to trigger callback functions for layer_state */
+ layer_state_set_kb((layer_state_t)layer_state);
}
/** \brief keyboard_init
@@ -412,6 +419,22 @@ void keyboard_init(void) {
#endif
matrix_init();
quantum_init();
+ led_init_ports();
+#ifdef BACKLIGHT_ENABLE
+ backlight_init_ports();
+#endif
+#ifdef AUDIO_ENABLE
+ audio_init();
+#endif
+#ifdef LED_MATRIX_ENABLE
+ led_matrix_init();
+#endif
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_init();
+#endif
+#if defined(UNICODE_COMMON_ENABLE)
+ unicode_input_mode_init();
+#endif
#if defined(CRC_ENABLE)
crc_init();
#endif
@@ -440,6 +463,9 @@ void keyboard_init(void) {
#ifdef DIP_SWITCH_ENABLE
dip_switch_init();
#endif
+#ifdef JOYSTICK_ENABLE
+ joystick_init();
+#endif
#ifdef SLEEP_LED_ENABLE
sleep_led_init();
#endif
@@ -615,7 +641,7 @@ void quantum_task(void) {
#endif
#ifdef DIP_SWITCH_ENABLE
- dip_switch_read(false);
+ dip_switch_task();
#endif
#ifdef AUTO_SHIFT_ENABLE
@@ -663,7 +689,7 @@ void keyboard_task(void) {
#endif
#ifdef ENCODER_ENABLE
- if (encoder_read()) {
+ if (encoder_task()) {
last_encoder_activity_trigger();
activity_has_occurred = true;
}
@@ -718,4 +744,8 @@ void keyboard_task(void) {
#endif
led_task();
+
+#ifdef OS_DETECTION_ENABLE
+ os_detection_task();
+#endif
}
diff --git a/quantum/keyboard.h b/quantum/keyboard.h
index 5ea57815a7..0f39fde682 100644
--- a/quantum/keyboard.h
+++ b/quantum/keyboard.h
@@ -32,7 +32,7 @@ typedef struct {
uint8_t row;
} keypos_t;
-typedef enum keyevent_type_t { TICK_EVENT = 0, KEY_EVENT = 1, ENCODER_CW_EVENT = 2, ENCODER_CCW_EVENT = 3, COMBO_EVENT = 4 } keyevent_type_t;
+typedef enum keyevent_type_t { TICK_EVENT = 0, KEY_EVENT = 1, ENCODER_CW_EVENT = 2, ENCODER_CCW_EVENT = 3, COMBO_EVENT = 4, DIP_SWITCH_ON_EVENT = 5, DIP_SWITCH_OFF_EVENT = 6 } keyevent_type_t;
/* key event */
typedef struct {
@@ -48,6 +48,8 @@ typedef struct {
/* special keypos_t entries */
#define KEYLOC_ENCODER_CW 253
#define KEYLOC_ENCODER_CCW 252
+#define KEYLOC_DIP_SWITCH_ON 251
+#define KEYLOC_DIP_SWITCH_OFF 250
static inline bool IS_NOEVENT(const keyevent_t event) {
return event.type == TICK_EVENT;
@@ -64,6 +66,9 @@ static inline bool IS_COMBOEVENT(const keyevent_t event) {
static inline bool IS_ENCODEREVENT(const keyevent_t event) {
return event.type == ENCODER_CW_EVENT || event.type == ENCODER_CCW_EVENT;
}
+static inline bool IS_DIPSWITCHEVENT(const keyevent_t event) {
+ return event.type == DIP_SWITCH_ON_EVENT || event.type == DIP_SWITCH_OFF_EVENT;
+}
/* Common keypos_t object factory */
#define MAKE_KEYPOS(row_num, col_num) ((keypos_t){.row = (row_num), .col = (col_num)})
@@ -92,6 +97,12 @@ static inline bool IS_ENCODEREVENT(const keyevent_t event) {
# define MAKE_ENCODER_CCW_EVENT(enc_id, press) MAKE_EVENT(KEYLOC_ENCODER_CCW, (enc_id), (press), ENCODER_CCW_EVENT)
#endif // ENCODER_MAP_ENABLE
+#ifdef DIP_SWITCH_MAP_ENABLE
+/* Dip Switch events */
+# define MAKE_DIPSWITCH_ON_EVENT(switch_id, press) MAKE_EVENT(KEYLOC_DIP_SWITCH_ON, (switch_id), (press), DIP_SWITCH_ON_EVENT)
+# define MAKE_DIPSWITCH_OFF_EVENT(switch_id, press) MAKE_EVENT(KEYLOC_DIP_SWITCH_OFF, (switch_id), (press), DIP_SWITCH_OFF_EVENT)
+#endif // DIP_SWITCH_MAP_ENABLE
+
/* it runs once at early stage of startup before keyboard_init. */
void keyboard_setup(void);
/* it runs once after initializing host side protocol, debug and MCU peripherals. */
diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c
index 864488a65c..cbfbcc8140 100644
--- a/quantum/keycode_config.c
+++ b/quantum/keycode_config.c
@@ -16,6 +16,8 @@
#include "keycode_config.h"
+keymap_config_t keymap_config;
+
/** \brief keycode_config
*
* This function is used to check a specific keycode against the bootmagic config,
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index 91e47a72ee..abdcd5c7ba 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -29,6 +29,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include "encoder.h"
#endif
+#ifdef DIP_SWITCH_MAP_ENABLE
+# include "dip_switch.h"
+#endif
+
#ifdef BACKLIGHT_ENABLE
# include "backlight.h"
#endif
@@ -204,5 +208,13 @@ __attribute__((weak)) uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key
return keycode_at_encodermap_location(layer, key.col, false);
}
#endif // ENCODER_MAP_ENABLE
+#ifdef DIP_SWITCH_MAP_ENABLE
+ else if (key.row == KEYLOC_DIP_SWITCH_ON && key.col < NUM_DIP_SWITCHES) {
+ return keycode_at_dip_switch_map_location(key.col, true);
+ } else if (key.row == KEYLOC_DIP_SWITCH_OFF && key.col < NUM_DIP_SWITCHES) {
+ return keycode_at_dip_switch_map_location(key.col, false);
+ }
+#endif // DIP_SWITCH_MAP_ENABLE
+
return KC_NO;
}
diff --git a/quantum/keymap_extras/keymap_canadian_french.h b/quantum/keymap_extras/keymap_canadian_french.h
new file mode 100644
index 0000000000..63c9166a31
--- /dev/null
+++ b/quantum/keymap_extras/keymap_canadian_french.h
@@ -0,0 +1,122 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+
+#pragma once
+#include "keycodes.h"
+// clang-format off
+
+// Aliases
+#define FR_HASH KC_GRV // #
+#define FR_1 KC_1 // 1
+#define FR_2 KC_2 // 2
+#define FR_3 KC_3 // 3
+#define FR_4 KC_4 // 4
+#define FR_5 KC_5 // 5
+#define FR_6 KC_6 // 6
+#define FR_7 KC_7 // 7
+#define FR_8 KC_8 // 8
+#define FR_9 KC_9 // 9
+#define FR_0 KC_0 // 0
+#define FR_MINS KC_MINS // -
+#define FR_EQL KC_EQL // =
+#define FR_Q KC_Q // Q
+#define FR_W KC_W // W
+#define FR_E KC_E // E
+#define FR_R KC_R // R
+#define FR_T KC_T // T
+#define FR_Y KC_Y // Y
+#define FR_U KC_U // U
+#define FR_I KC_I // I
+#define FR_O KC_O // O
+#define FR_P KC_P // P
+#define FR_DCIR KC_LBRC // ^ (dead)
+#define FR_CEDL KC_RBRC // ¸ (dead)
+#define FR_A KC_A // A
+#define FR_S KC_S // S
+#define FR_D KC_D // D
+#define FR_F KC_F // F
+#define FR_G KC_G // G
+#define FR_H KC_H // H
+#define FR_J KC_J // J
+#define FR_K KC_K // K
+#define FR_L KC_L // L
+#define FR_SCLN KC_SCLN // ;
+#define FR_DGRV KC_QUOT // ` (dead)
+#define FR_LABK KC_NUHS // <
+#define FR_LDAQ KC_NUBS // «
+#define FR_Z KC_Z // Z
+#define FR_X KC_X // X
+#define FR_C KC_C // C
+#define FR_V KC_V // V
+#define FR_B KC_B // B
+#define FR_N KC_N // N
+#define FR_M KC_M // M
+#define FR_COMM KC_COMM // ,
+#define FR_DOT KC_DOT // .
+#define FR_EACU KC_SLSH // É
+#define FR_PIPE S(FR_HASH) // |
+#define FR_EXLM S(FR_1) // !
+#define FR_DQUO S(FR_2) // "
+#define FR_SLSH S(FR_3) // /
+#define FR_DLR S(FR_4) // $
+#define FR_PERC S(FR_5) // %
+#define FR_QUES S(FR_6) // ?
+#define FR_AMPR S(FR_7) // &
+#define FR_ASTR S(FR_8) // *
+#define FR_LPRN S(FR_9) // (
+#define FR_RPRN S(FR_0) // )
+#define FR_UNDS S(FR_MINS) // _
+#define FR_PLUS S(FR_EQL) // +
+#define FR_DIAE S(FR_CEDL) // ¨ (dead)
+#define FR_COLN S(FR_SCLN) // :
+#define FR_RABK S(FR_LABK) // >
+#define FR_RDAQ S(FR_LDAQ) // »
+#define FR_QUOT S(FR_COMM) // '
+#define FR_BSLS ALGR(FR_HASH) // (backslash)
+#define FR_PLMN ALGR(FR_1) // ±
+#define FR_AT ALGR(FR_2) // @
+#define FR_PND ALGR(FR_3) // £
+#define FR_CENT ALGR(FR_4) // ¢
+#define FR_CURR ALGR(FR_5) // ¤
+#define FR_NOT ALGR(FR_6) // ¬
+#define FR_BRKP ALGR(FR_7) // ¦
+#define FR_SUP2 ALGR(FR_8) // ²
+#define FR_SUP3 ALGR(FR_9) // ³
+#define FR_QRTR ALGR(FR_0) // ¼
+#define FR_HALF ALGR(FR_MINS) // ½
+#define FR_TQTR ALGR(FR_EQL) // ¾
+#define FR_SECT ALGR(FR_O) // §
+#define FR_PARA ALGR(FR_P) // ¶
+#define FR_LBRC ALGR(FR_DCIR) // [
+#define FR_RBRC ALGR(FR_CEDL) // ]
+#define FR_TILD ALGR(FR_SCLN) // ~
+#define FR_LCBR ALGR(FR_DGRV) // {
+#define FR_RCBR ALGR(FR_LABK) // }
+#define FR_DEG ALGR(FR_LDAQ) // °
+#define FR_MICR ALGR(FR_M) // µ
+#define FR_MACR ALGR(FR_COMM) // ¯
+#define FR_SHYP ALGR(FR_DOT) // ­ (soft hyphen)
+#define FR_ACUT ALGR(FR_EACU) // ´ (dead)
+
diff --git a/quantum/keymap_extras/keymap_spanish_latin_america.h b/quantum/keymap_extras/keymap_spanish_latin_america.h
new file mode 100644
index 0000000000..0ade828793
--- /dev/null
+++ b/quantum/keymap_extras/keymap_spanish_latin_america.h
@@ -0,0 +1,105 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+
+#pragma once
+#include "keycodes.h"
+// clang-format off
+
+// Aliases
+#define ES_PIPE KC_GRV // |
+#define ES_1 KC_1 // 1
+#define ES_2 KC_2 // 2
+#define ES_3 KC_3 // 3
+#define ES_4 KC_4 // 4
+#define ES_5 KC_5 // 5
+#define ES_6 KC_6 // 6
+#define ES_7 KC_7 // 7
+#define ES_8 KC_8 // 8
+#define ES_9 KC_9 // 9
+#define ES_0 KC_0 // 0
+#define ES_QUOT KC_MINS // '
+#define ES_IQUE KC_EQL // ¿
+#define ES_Q KC_Q // Q
+#define ES_W KC_W // W
+#define ES_E KC_E // E
+#define ES_R KC_R // R
+#define ES_T KC_T // T
+#define ES_Y KC_Y // Y
+#define ES_U KC_U // U
+#define ES_I KC_I // I
+#define ES_O KC_O // O
+#define ES_P KC_P // P
+#define ES_ACUT KC_LBRC // ´ (dead)
+#define ES_PLUS KC_RBRC // +
+#define ES_A KC_A // A
+#define ES_S KC_S // S
+#define ES_D KC_D // D
+#define ES_F KC_F // F
+#define ES_G KC_G // G
+#define ES_H KC_H // H
+#define ES_J KC_J // J
+#define ES_K KC_K // K
+#define ES_L KC_L // L
+#define ES_NTIL KC_SCLN // Ñ
+#define ES_LCBR KC_QUOT // {
+#define ES_RCBR KC_NUHS // }
+#define ES_LABK KC_NUBS // <
+#define ES_Z KC_Z // Z
+#define ES_X KC_X // X
+#define ES_C KC_C // C
+#define ES_V KC_V // V
+#define ES_B KC_B // B
+#define ES_N KC_N // N
+#define ES_M KC_M // M
+#define ES_COMM KC_COMM // ,
+#define ES_DOT KC_DOT // .
+#define ES_MINS KC_SLSH // -
+#define ES_MORD S(ES_PIPE) // °
+#define ES_EXLM S(ES_1) // !
+#define ES_DQUO S(ES_2) // "
+#define ES_NUMB S(ES_3) // #
+#define ES_DLR S(ES_4) // $
+#define ES_PERC S(ES_5) // %
+#define ES_AMPR S(ES_6) // &
+#define ES_SLSH S(ES_7) // /
+#define ES_LPRN S(ES_8) // (
+#define ES_RPRN S(ES_9) // )
+#define ES_EQL S(ES_0) // =
+#define ES_QUES S(ES_QUOT) // ?
+#define ES_IEXL S(ES_IQUE) // ¡
+#define ES_DIAE S(ES_ACUT) // ¨ (dead)
+#define ES_ASTR S(ES_PLUS) // *
+#define ES_LBRC S(ES_LCBR) // [
+#define ES_RBRC S(ES_RCBR) // ]
+#define ES_RABK S(ES_LABK) // >
+#define ES_SCLN S(ES_COMM) // ;
+#define ES_COLN S(ES_DOT) // :
+#define ES_UNDS S(ES_MINS) // _
+#define ES_NOT ALGR(ES_PIPE) // ¬
+#define ES_BSLS ALGR(ES_QUOT) // (backslash)
+#define ES_AT ALGR(ES_Q) // @
+#define ES_TILD ALGR(ES_PLUS) // ~
+#define ES_CIRC ALGR(ES_LCBR) // ^
+
diff --git a/quantum/keymap_extras/sendstring_canadian_french.h b/quantum/keymap_extras/sendstring_canadian_french.h
new file mode 100644
index 0000000000..2abba3a9d3
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_canadian_french.h
@@ -0,0 +1,120 @@
+/* Copyright 2023 Nebuleon
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Sendstring lookup tables for Canadian French layouts
+
+#pragma once
+
+#include "keymap_canadian_french.h"
+#include "send_string.h"
+
+// clang-format off
+
+const uint8_t ascii_to_shift_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 1, 1),
+ KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0)
+};
+
+const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0)
+};
+
+const uint8_t ascii_to_dead_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0),
+ KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
+};
+
+const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
+ // NUL SOH STX ETX EOT ENQ ACK BEL
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // BS TAB LF VT FF CR SO SI
+ KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // CAN EM SUB ESC FS GS RS US
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ // ! " # $ % & '
+ KC_SPC, FR_1, FR_2, FR_HASH, FR_4, FR_5, FR_7, FR_COMM,
+ // ( ) * + , - . /
+ FR_9, FR_0, FR_8, FR_EQL, FR_COMM, FR_MINS, FR_DOT, FR_3,
+ // 0 1 2 3 4 5 6 7
+ FR_0, FR_1, FR_2, FR_3, FR_4, FR_5, FR_6, FR_7,
+ // 8 9 : ; < = > ?
+ FR_8, FR_9, FR_SCLN, FR_SCLN, FR_LABK, FR_EQL, FR_LABK, FR_6,
+ // @ A B C D E F G
+ FR_2, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
+ // H I J K L M N O
+ FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
+ // P Q R S T U V W
+ FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
+ // X Y Z [ \ ] ^ _
+ FR_X, FR_Y, FR_Z, FR_DCIR, FR_HASH, FR_CEDL, FR_DCIR, FR_MINS,
+ // ` a b c d e f g
+ FR_DGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
+ // h i j k l m n o
+ FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
+ // p q r s t u v w
+ FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
+ // x y z { | } ~ DEL
+ FR_X, FR_Y, FR_Z, FR_DGRV, FR_HASH, FR_LABK, FR_SCLN, KC_DEL
+};
diff --git a/quantum/keymap_extras/sendstring_spanish_latin_america.h b/quantum/keymap_extras/sendstring_spanish_latin_america.h
new file mode 100644
index 0000000000..3bfdf7d5cb
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_spanish_latin_america.h
@@ -0,0 +1,120 @@
+/* Copyright 2023 Juan David Díaz
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Sendstring lookup tables for Latam Spanish layouts
+
+#pragma once
+
+#include "send_string.h"
+#include "keymap_spanish_latin_america.h"
+
+// clang-format off
+
+const uint8_t ascii_to_shift_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0),
+ KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1),
+ KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 0),
+ KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1),
+ KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
+ KCLUT_ENTRY(1, 1, 1, 1, 0, 1, 0, 1),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
+};
+
+const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0),
+ KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0)
+};
+
+const uint8_t ascii_to_dead_lut[16] PROGMEM = {
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0),
+ KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
+ KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
+};
+
+const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
+ // NUL SOH STX ETX EOT ENQ ACK BEL
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // BS TAB LF VT FF CR SO SI
+ KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // CAN EM SUB ESC FS GS RS US
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ // ! " # $ % & '
+ KC_SPC, ES_1, ES_2, ES_3, ES_4, ES_5, ES_6, ES_QUOT,
+ // ( ) * + , - . /
+ ES_8, ES_9, ES_PLUS, ES_PLUS, ES_COMM, ES_MINS, ES_DOT, ES_7,
+ // 0 1 2 3 4 5 6 7
+ ES_0, ES_1, ES_2, ES_3, ES_4, ES_5, ES_6, ES_7,
+ // 8 9 : ; < = > ?
+ ES_8, ES_9, ES_DOT, ES_COMM, ES_LABK, ES_0, ES_LABK, ES_QUOT,
+ // @ A B C D E F G
+ ES_Q, ES_A, ES_B, ES_C, ES_D, ES_E, ES_F, ES_G,
+ // H I J K L M N O
+ ES_H, ES_I, ES_J, ES_K, ES_L, ES_M, ES_N, ES_O,
+ // P Q R S T U V W
+ ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W,
+ // X Y Z [ \ ] ^ _
+ ES_X, ES_Y, ES_Z, ES_LCBR, ES_QUOT, ES_RCBR, ES_LCBR, ES_MINS,
+ // ` a b c d e f g
+ ES_RCBR, ES_A, ES_B, ES_C, ES_D, ES_E, ES_F, ES_G,
+ // h i j k l m n o
+ ES_H, ES_I, ES_J, ES_K, ES_L, ES_M, ES_N, ES_O,
+ // p q r s t u v w
+ ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W,
+ // x y z { | } ~ DEL
+ ES_X, ES_Y, ES_Z, ES_LCBR, ES_PIPE, ES_RCBR, ES_PLUS, KC_DEL
+};
diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c
index e4a01d2e9a..71e3b429ea 100644
--- a/quantum/keymap_introspection.c
+++ b/quantum/keymap_introspection.c
@@ -72,6 +72,24 @@ __attribute__((weak)) uint16_t keycode_at_encodermap_location(uint8_t layer_num,
#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Dip Switch mapping
+
+#if defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)
+
+uint16_t keycode_at_dip_switch_map_location_raw(uint8_t switch_idx, bool on) {
+ if (switch_idx < NUM_DIP_SWITCHES) {
+ return pgm_read_word(&dip_switch_map[switch_idx][!!on]);
+ }
+ return KC_TRNS;
+}
+
+uint16_t keycode_at_dip_switch_map_location(uint8_t switch_idx, bool on) {
+ return keycode_at_dip_switch_map_location_raw(switch_idx, on);
+}
+
+#endif // defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Combos
#if defined(COMBO_ENABLE)
diff --git a/quantum/keymap_introspection.h b/quantum/keymap_introspection.h
index 2012a2b8cc..f7516bf42a 100644
--- a/quantum/keymap_introspection.h
+++ b/quantum/keymap_introspection.h
@@ -36,6 +36,18 @@ uint16_t keycode_at_encodermap_location(uint8_t layer_num, uint8_t encoder_idx,
#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Dip Switch mapping
+
+#if defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)
+
+// Get the keycode for the dip_switch mapping location, stored in firmware rather than any other persistent storage
+uint16_t keycode_at_dip_switch_map_location_raw(uint8_t switch_idx, bool on);
+// Get the keycode for the dip_switch mapping location, potentially stored dynamically
+uint16_t keycode_at_dip_switch_map_location(uint8_t switch_idx, bool on);
+
+#endif // defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Combos
#if defined(COMBO_ENABLE)
diff --git a/quantum/led.c b/quantum/led.c
index 8d86374a6f..e2b5985109 100644
--- a/quantum/led.c
+++ b/quantum/led.c
@@ -98,19 +98,19 @@ __attribute__((weak)) void led_update_ports(led_t led_state) {
#endif
#ifdef LED_NUM_LOCK_PIN
- writePin(LED_NUM_LOCK_PIN, led_state.num_lock);
+ gpio_write_pin(LED_NUM_LOCK_PIN, led_state.num_lock);
#endif
#ifdef LED_CAPS_LOCK_PIN
- writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
+ gpio_write_pin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
#endif
#ifdef LED_SCROLL_LOCK_PIN
- writePin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
+ gpio_write_pin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
#endif
#ifdef LED_COMPOSE_PIN
- writePin(LED_COMPOSE_PIN, led_state.compose);
+ gpio_write_pin(LED_COMPOSE_PIN, led_state.compose);
#endif
#ifdef LED_KANA_PIN
- writePin(LED_KANA_PIN, led_state.kana);
+ gpio_write_pin(LED_KANA_PIN, led_state.kana);
#endif
}
@@ -118,24 +118,24 @@ __attribute__((weak)) void led_update_ports(led_t led_state) {
*/
__attribute__((weak)) void led_init_ports(void) {
#ifdef LED_NUM_LOCK_PIN
- setPinOutput(LED_NUM_LOCK_PIN);
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
+ gpio_set_pin_output(LED_NUM_LOCK_PIN);
+ gpio_write_pin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
#endif
#ifdef LED_CAPS_LOCK_PIN
- setPinOutput(LED_CAPS_LOCK_PIN);
- writePin(LED_CAPS_LOCK_PIN, !LED_PIN_ON_STATE);
+ gpio_set_pin_output(LED_CAPS_LOCK_PIN);
+ gpio_write_pin(LED_CAPS_LOCK_PIN, !LED_PIN_ON_STATE);
#endif
#ifdef LED_SCROLL_LOCK_PIN
- setPinOutput(LED_SCROLL_LOCK_PIN);
- writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
+ gpio_set_pin_output(LED_SCROLL_LOCK_PIN);
+ gpio_write_pin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
#endif
#ifdef LED_COMPOSE_PIN
- setPinOutput(LED_COMPOSE_PIN);
- writePin(LED_COMPOSE_PIN, !LED_PIN_ON_STATE);
+ gpio_set_pin_output(LED_COMPOSE_PIN);
+ gpio_write_pin(LED_COMPOSE_PIN, !LED_PIN_ON_STATE);
#endif
#ifdef LED_KANA_PIN
- setPinOutput(LED_KANA_PIN);
- writePin(LED_KANA_PIN, !LED_PIN_ON_STATE);
+ gpio_set_pin_output(LED_KANA_PIN);
+ gpio_write_pin(LED_KANA_PIN, !LED_PIN_ON_STATE);
#endif
}
@@ -183,9 +183,7 @@ void led_task(void) {
last_led_modification_time = timer_read32();
if (debug_keyboard) {
- debug("led_task: ");
- debug_hex8(led_status);
- debug("\n");
+ dprintf("led_task: %02X\n", led_status);
}
led_set(led_status);
}
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c
index 4d67a295df..c0fb4c810b 100644
--- a/quantum/led_matrix/led_matrix.c
+++ b/quantum/led_matrix/led_matrix.c
@@ -74,9 +74,6 @@ static uint8_t led_last_enable = UINT8_MAX;
static uint8_t led_last_effect = UINT8_MAX;
static effect_params_t led_effect_params = {0, LED_FLAG_ALL, false};
static led_task_states led_task_state = SYNCING;
-#if LED_MATRIX_TIMEOUT > 0
-static uint32_t led_anykey_timer;
-#endif // LED_MATRIX_TIMEOUT > 0
// double buffers
static uint32_t led_timer_buffer;
@@ -101,7 +98,7 @@ void eeconfig_update_led_matrix_default(void) {
led_matrix_eeconfig.mode = LED_MATRIX_DEFAULT_MODE;
led_matrix_eeconfig.val = LED_MATRIX_DEFAULT_VAL;
led_matrix_eeconfig.speed = LED_MATRIX_DEFAULT_SPD;
- led_matrix_eeconfig.flags = LED_FLAG_ALL;
+ led_matrix_eeconfig.flags = LED_MATRIX_DEFAULT_FLAGS;
eeconfig_flush_led_matrix(true);
}
@@ -114,6 +111,16 @@ void eeconfig_debug_led_matrix(void) {
dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags);
}
+void led_matrix_reload_from_eeprom(void) {
+ led_matrix_disable_noeeprom();
+ /* Reset back to what we have in eeprom */
+ eeconfig_init_led_matrix();
+ eeconfig_debug_led_matrix(); // display current eeprom values
+ if (led_matrix_eeconfig.enable) {
+ led_matrix_mode_noeeprom(led_matrix_eeconfig.mode);
+ }
+}
+
__attribute__((weak)) uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
return 0;
}
@@ -156,9 +163,6 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) {
#ifndef LED_MATRIX_SPLIT
if (!is_keyboard_master()) return;
#endif
-#if LED_MATRIX_TIMEOUT > 0
- led_anykey_timer = 0;
-#endif // LED_MATRIX_TIMEOUT > 0
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
uint8_t led[LED_HITS_TO_REMEMBER];
@@ -208,22 +212,11 @@ static bool led_matrix_none(effect_params_t *params) {
}
static void led_task_timers(void) {
-#if defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0
+#if defined(LED_MATRIX_KEYREACTIVE_ENABLED)
uint32_t deltaTime = sync_timer_elapsed32(led_timer_buffer);
-#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0
+#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED)
led_timer_buffer = sync_timer_read32();
- // Update double buffer timers
-#if LED_MATRIX_TIMEOUT > 0
- if (led_anykey_timer < UINT32_MAX) {
- if (UINT32_MAX - deltaTime < led_anykey_timer) {
- led_anykey_timer = UINT32_MAX;
- } else {
- led_anykey_timer += deltaTime;
- }
- }
-#endif // LED_MATRIX_TIMEOUT > 0
-
// Update double buffer last hit timers
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
uint8_t count = last_hit_buffer.count;
@@ -329,7 +322,7 @@ void led_matrix_task(void) {
// while suspended and just do a software shutdown. This is a cheap hack for now.
bool suspend_backlight = suspend_state ||
#if LED_MATRIX_TIMEOUT > 0
- (led_anykey_timer > (uint32_t)LED_MATRIX_TIMEOUT) ||
+ (last_input_activity_elapsed() > (uint32_t)LED_MATRIX_TIMEOUT) ||
#endif // LED_MATRIX_TIMEOUT > 0
false;
@@ -432,12 +425,6 @@ void led_matrix_init(void) {
}
#endif // LED_MATRIX_KEYREACTIVE_ENABLED
- if (!eeconfig_is_enabled()) {
- dprintf("led_matrix_init_drivers eeconfig is not enabled.\n");
- eeconfig_init();
- eeconfig_update_led_matrix_default();
- }
-
eeconfig_init_led_matrix();
if (!led_matrix_eeconfig.mode) {
dprintf("led_matrix_init_drivers led_matrix_eeconfig.mode = 0. Write default values to EEPROM.\n");
@@ -447,7 +434,7 @@ void led_matrix_init(void) {
}
void led_matrix_set_suspend_state(bool state) {
-#ifdef LED_DISABLE_WHEN_USB_SUSPENDED
+#ifdef LED_MATRIX_SLEEP
if (state && !suspend_state && is_keyboard_master()) { // only run if turning off, and only once
led_task_render(0); // turn off all LEDs when suspending
led_task_flush(0); // and actually flash led state to LEDs
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h
index c903a230f4..941d42aeca 100644
--- a/quantum/led_matrix/led_matrix.h
+++ b/quantum/led_matrix/led_matrix.h
@@ -23,32 +23,9 @@
#include <stdint.h>
#include <stdbool.h>
#include "led_matrix_types.h"
+#include "led_matrix_drivers.h"
#include "keyboard.h"
-#if defined(LED_MATRIX_IS31FL3218)
-# include "is31fl3218-simple.h"
-#elif defined(LED_MATRIX_IS31FL3731)
-# include "is31fl3731-simple.h"
-#endif
-#ifdef LED_MATRIX_IS31FL3733
-# include "is31fl3733-simple.h"
-#endif
-#ifdef LED_MATRIX_IS31FL3736
-# include "is31fl3736-simple.h"
-#endif
-#ifdef LED_MATRIX_IS31FL3737
-# include "is31fl3737-simple.h"
-#endif
-#ifdef LED_MATRIX_IS31FL3741
-# include "is31fl3741-simple.h"
-#endif
-#if defined(IS31FLCOMMON)
-# include "is31flcommon.h"
-#endif
-#ifdef LED_MATRIX_SNLED27351
-# include "snled27351-simple.h"
-#endif
-
#ifndef LED_MATRIX_TIMEOUT
# define LED_MATRIX_TIMEOUT 0
#endif
@@ -81,6 +58,10 @@
# define LED_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
+#ifndef LED_MATRIX_DEFAULT_FLAGS
+# define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL
+#endif
+
#ifndef LED_MATRIX_LED_FLUSH_LIMIT
# define LED_MATRIX_LED_FLUSH_LIMIT 16
#endif
@@ -159,6 +140,8 @@ bool led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max);
void led_matrix_init(void);
+void led_matrix_reload_from_eeprom(void);
+
void led_matrix_set_suspend_state(bool state);
bool led_matrix_get_suspend_state(void);
void led_matrix_toggle(void);
@@ -193,18 +176,6 @@ led_flags_t led_matrix_get_flags(void);
void led_matrix_set_flags(led_flags_t flags);
void led_matrix_set_flags_noeeprom(led_flags_t flags);
-typedef struct {
- /* Perform any initialisation required for the other driver functions to work. */
- void (*init)(void);
-
- /* Set the brightness of a single LED in the buffer. */
- void (*set_value)(int index, uint8_t value);
- /* Set the brightness of all LEDS on the keyboard in the buffer. */
- void (*set_value_all)(uint8_t value);
- /* Flush any buffered changes to the hardware. */
- void (*flush)(void);
-} led_matrix_driver_t;
-
static inline bool led_matrix_check_finished_leds(uint8_t led_idx) {
#if defined(LED_MATRIX_SPLIT)
if (is_keyboard_left()) {
@@ -217,8 +188,6 @@ static inline bool led_matrix_check_finished_leds(uint8_t led_idx) {
#endif
}
-extern const led_matrix_driver_t led_matrix_driver;
-
extern led_eeconfig_t led_matrix_eeconfig;
extern uint32_t g_led_timer;
diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c
index 117bed9851..2e80bd0375 100644
--- a/quantum/led_matrix/led_matrix_drivers.c
+++ b/quantum/led_matrix/led_matrix_drivers.c
@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "led_matrix.h"
+#include "led_matrix_drivers.h"
/* Each driver needs to define a struct:
*
@@ -33,6 +33,14 @@ const led_matrix_driver_t led_matrix_driver = {
.set_value_all = is31fl3218_set_value_all,
};
+#elif defined(LED_MATRIX_IS31FL3729)
+const led_matrix_driver_t led_matrix_driver = {
+ .init = is31fl3729_init_drivers,
+ .flush = is31fl3729_flush,
+ .set_value = is31fl3729_set_value,
+ .set_value_all = is31fl3729_set_value_all,
+};
+
#elif defined(LED_MATRIX_IS31FL3731)
const led_matrix_driver_t led_matrix_driver = {
.init = is31fl3731_init_drivers,
@@ -73,12 +81,36 @@ const led_matrix_driver_t led_matrix_driver = {
.set_value_all = is31fl3741_set_value_all,
};
-#elif defined(IS31FLCOMMON)
+#elif defined(LED_MATRIX_IS31FL3742A)
+const led_matrix_driver_t led_matrix_driver = {
+ .init = is31fl3742a_init_drivers,
+ .flush = is31fl3742a_flush,
+ .set_value = is31fl3742a_set_value,
+ .set_value_all = is31fl3742a_set_value_all,
+};
+
+#elif defined(LED_MATRIX_IS31FL3743A)
+const led_matrix_driver_t led_matrix_driver = {
+ .init = is31fl3743a_init_drivers,
+ .flush = is31fl3743a_flush,
+ .set_value = is31fl3743a_set_value,
+ .set_value_all = is31fl3743a_set_value_all,
+};
+
+#elif defined(LED_MATRIX_IS31FL3745)
+const led_matrix_driver_t led_matrix_driver = {
+ .init = is31fl3745_init_drivers,
+ .flush = is31fl3745_flush,
+ .set_value = is31fl3745_set_value,
+ .set_value_all = is31fl3745_set_value_all,
+};
+
+#elif defined(LED_MATRIX_IS31FL3746A)
const led_matrix_driver_t led_matrix_driver = {
- .init = IS31FL_simple_init_drivers,
- .flush = IS31FL_common_flush,
- .set_value = IS31FL_simple_set_brightness,
- .set_value_all = IS31FL_simple_set_brigntness_all,
+ .init = is31fl3746a_init_drivers,
+ .flush = is31fl3746a_flush,
+ .set_value = is31fl3746a_set_value,
+ .set_value_all = is31fl3746a_set_value_all,
};
#elif defined(LED_MATRIX_SNLED27351)
diff --git a/quantum/led_matrix/led_matrix_drivers.h b/quantum/led_matrix/led_matrix_drivers.h
new file mode 100644
index 0000000000..a961784a62
--- /dev/null
+++ b/quantum/led_matrix/led_matrix_drivers.h
@@ -0,0 +1,46 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <stdint.h>
+
+#if defined(LED_MATRIX_IS31FL3218)
+# include "is31fl3218-mono.h"
+#elif defined(LED_MATRIX_IS31FL3729)
+# include "is31fl3729-mono.h"
+#elif defined(LED_MATRIX_IS31FL3731)
+# include "is31fl3731-mono.h"
+#elif defined(LED_MATRIX_IS31FL3733)
+# include "is31fl3733-mono.h"
+#elif defined(LED_MATRIX_IS31FL3736)
+# include "is31fl3736-mono.h"
+#elif defined(LED_MATRIX_IS31FL3737)
+# include "is31fl3737-mono.h"
+#elif defined(LED_MATRIX_IS31FL3741)
+# include "is31fl3741-mono.h"
+#elif defined(LED_MATRIX_IS31FL3742A)
+# include "is31fl3742a-mono.h"
+#elif defined(LED_MATRIX_IS31FL3743A)
+# include "is31fl3743a-mono.h"
+#elif defined(LED_MATRIX_IS31FL3745)
+# include "is31fl3745-mono.h"
+#elif defined(LED_MATRIX_IS31FL3746A)
+# include "is31fl3746a-mono.h"
+#elif defined(LED_MATRIX_SNLED27351)
+# include "snled27351-mono.h"
+#endif
+
+typedef struct {
+ /* Perform any initialisation required for the other driver functions to work. */
+ void (*init)(void);
+
+ /* Set the brightness of a single LED in the buffer. */
+ void (*set_value)(int index, uint8_t value);
+ /* Set the brightness of all LEDS on the keyboard in the buffer. */
+ void (*set_value_all)(uint8_t value);
+ /* Flush any buffered changes to the hardware. */
+ void (*flush)(void);
+} led_matrix_driver_t;
+
+extern const led_matrix_driver_t led_matrix_driver;
diff --git a/quantum/logging/debug.h b/quantum/logging/debug.h
index 8415310356..d0590474c0 100644
--- a/quantum/logging/debug.h
+++ b/quantum/logging/debug.h
@@ -17,6 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
+#ifndef PROTOCOL_ARM_ATSAM
+# include <stdio.h>
+#endif
+
#include <stdbool.h>
#include "print.h"
@@ -54,116 +58,14 @@ extern debug_config_t debug_config;
* Debug print utils
*/
#ifndef NO_DEBUG
-
-# define dprint(s) \
- do { \
- if (debug_enable) print(s); \
- } while (0)
-# define dprintln(s) \
- do { \
- if (debug_enable) println(s); \
- } while (0)
-# define dprintf(fmt, ...) \
- do { \
- if (debug_enable) xprintf(fmt, ##__VA_ARGS__); \
- } while (0)
-# define dmsg(s) dprintf("%s at %d: %s\n", __FILE__, __LINE__, s)
-
-/* Deprecated. DO NOT USE these anymore, use dprintf instead. */
-# define debug(s) \
- do { \
- if (debug_enable) print(s); \
- } while (0)
-# define debugln(s) \
- do { \
- if (debug_enable) println(s); \
- } while (0)
-# define debug_msg(s) \
- do { \
- if (debug_enable) { \
- print(__FILE__); \
- print(" at "); \
- print_dec(__LINE__); \
- print(" in "); \
- print(": "); \
- print(s); \
- } \
- } while (0)
-# define debug_dec(data) \
- do { \
- if (debug_enable) print_dec(data); \
- } while (0)
-# define debug_decs(data) \
- do { \
- if (debug_enable) print_decs(data); \
- } while (0)
-# define debug_hex4(data) \
- do { \
- if (debug_enable) print_hex4(data); \
- } while (0)
-# define debug_hex8(data) \
- do { \
- if (debug_enable) print_hex8(data); \
+# define dprintf(fmt, ...) \
+ do { \
+ if (debug_config.enable) xprintf(fmt, ##__VA_ARGS__); \
} while (0)
-# define debug_hex16(data) \
- do { \
- if (debug_enable) print_hex16(data); \
- } while (0)
-# define debug_hex32(data) \
- do { \
- if (debug_enable) print_hex32(data); \
- } while (0)
-# define debug_bin8(data) \
- do { \
- if (debug_enable) print_bin8(data); \
- } while (0)
-# define debug_bin16(data) \
- do { \
- if (debug_enable) print_bin16(data); \
- } while (0)
-# define debug_bin32(data) \
- do { \
- if (debug_enable) print_bin32(data); \
- } while (0)
-# define debug_bin_reverse8(data) \
- do { \
- if (debug_enable) print_bin_reverse8(data); \
- } while (0)
-# define debug_bin_reverse16(data) \
- do { \
- if (debug_enable) print_bin_reverse16(data); \
- } while (0)
-# define debug_bin_reverse32(data) \
- do { \
- if (debug_enable) print_bin_reverse32(data); \
- } while (0)
-# define debug_hex(data) debug_hex8(data)
-# define debug_bin(data) debug_bin8(data)
-# define debug_bin_reverse(data) debug_bin8(data)
-
#else /* NO_DEBUG */
-
-# define dprint(s)
-# define dprintln(s)
# define dprintf(fmt, ...)
-# define dmsg(s)
-# define debug(s)
-# define debugln(s)
-# define debug_msg(s)
-# define debug_dec(data)
-# define debug_decs(data)
-# define debug_hex4(data)
-# define debug_hex8(data)
-# define debug_hex16(data)
-# define debug_hex32(data)
-# define debug_bin8(data)
-# define debug_bin16(data)
-# define debug_bin32(data)
-# define debug_bin_reverse8(data)
-# define debug_bin_reverse16(data)
-# define debug_bin_reverse32(data)
-# define debug_hex(data)
-# define debug_bin(data)
-# define debug_bin_reverse(data)
-
#endif /* NO_DEBUG */
+
+#define dprint(s) dprintf(s)
+#define dprintln(s) dprintf(s "\r\n")
+#define dmsg(s) dprintf("%s at %d: %s\n", __FILE__, __LINE__, s)
diff --git a/quantum/logging/print.h b/quantum/logging/print.h
index 4c4195de50..984bc10758 100644
--- a/quantum/logging/print.h
+++ b/quantum/logging/print.h
@@ -52,40 +52,27 @@ void print_set_sendchar(sendchar_func_t func);
# if __has_include_next("_print.h")
# include_next "_print.h" /* Include the platforms print.h */
# else
-// Fall back to lib/printf
-# include "printf.h" // lib/printf/printf.h
-
-// Create user & normal print defines
-# define print(s) printf(s)
-# define println(s) printf(s "\r\n")
+# include "printf.h" // // Fall back to lib/printf/printf.h
# define xprintf printf
-# define uprint(s) printf(s)
-# define uprintln(s) printf(s "\r\n")
-# define uprintf printf
-
-# endif /* __has_include_next("_print.h") */
-#else /* NO_PRINT */
-# undef xprintf
+# endif
+#else
// Remove print defines
-# define print(s)
-# define println(s)
+# undef xprintf
# define xprintf(fmt, ...)
-# define uprintf(fmt, ...)
-# define uprint(s)
-# define uprintln(s)
+#endif
-#endif /* NO_PRINT */
+// Resolve before USER_PRINT can remove
+#define uprintf xprintf
#ifdef USER_PRINT
// Remove normal print defines
-# undef print
-# undef println
# undef xprintf
-# define print(s)
-# define println(s)
# define xprintf(fmt, ...)
#endif
+#define print(s) xprintf(s)
+#define println(s) xprintf(s "\r\n")
+
#define print_dec(i) xprintf("%u", i)
#define print_decs(i) xprintf("%d", i)
/* hex */
@@ -121,6 +108,9 @@ void print_set_sendchar(sendchar_func_t func);
//
// !!! DO NOT USE USER PRINT CALLS IN THE BODY OF QMK/TMK !!!
+#define uprint(s) uprintf(s)
+#define uprintln(s) uprintf(s "\r\n")
+
/* decimal */
#define uprint_dec(i) uprintf("%u", i)
#define uprint_decs(i) uprintf("%d", i)
diff --git a/quantum/matrix.c b/quantum/matrix.c
index f087a215d4..d4586efac2 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -78,27 +78,27 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[]
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return (readPin(pin) == MATRIX_INPUT_PRESSED_STATE) ? 0 : 1;
+ return (gpio_read_pin(pin) == MATRIX_INPUT_PRESSED_STATE) ? 0 : 1;
} else {
return 1;
}
@@ -113,7 +113,7 @@ __attribute__((weak)) void matrix_init_pins(void) {
for (int col = 0; col < MATRIX_COLS; col++) {
pin_t pin = direct_pins[row][col];
if (pin != NO_PIN) {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
}
diff --git a/quantum/os_detection.c b/quantum/os_detection.c
index e606227136..96b026e247 100644
--- a/quantum/os_detection.c
+++ b/quantum/os_detection.c
@@ -17,6 +17,10 @@
#include "os_detection.h"
#include <string.h>
+#include "timer.h"
+#ifdef OS_DETECTION_KEYBOARD_RESET
+# include "quantum.h"
+#endif
#ifdef OS_DETECTION_DEBUG_ENABLE
# include "eeconfig.h"
@@ -26,10 +30,19 @@
# define STORED_USB_SETUPS 50
# define EEPROM_USER_OFFSET (uint8_t*)EECONFIG_SIZE
-uint16_t usb_setups[STORED_USB_SETUPS];
+static uint16_t usb_setups[STORED_USB_SETUPS];
+#endif
+
+#ifndef OS_DETECTION_DEBOUNCE
+# define OS_DETECTION_DEBOUNCE 200
+#endif
+
+// 2s should always be more than enough (otherwise, you may have other issues)
+#if OS_DETECTION_DEBOUNCE > 2000
+# undef OS_DETECTION_DEBOUNCE
+# define OS_DETECTION_DEBOUNCE 2000
#endif
-#ifdef OS_DETECTION_ENABLE
struct setups_data_t {
uint8_t count;
uint8_t cnt_02;
@@ -45,47 +58,55 @@ struct setups_data_t setups_data = {
.cnt_ff = 0,
};
-os_variant_t detected_os = OS_UNSURE;
-
-// Some collected sequences of wLength can be found in tests.
-void make_guess(void) {
- if (setups_data.count < 3) {
- return;
- }
- if (setups_data.cnt_ff >= 2 && setups_data.cnt_04 >= 1) {
- detected_os = OS_WINDOWS;
- return;
+static volatile os_variant_t detected_os = OS_UNSURE;
+static os_variant_t reported_os = OS_UNSURE;
+
+// we need to be able to report OS_UNSURE if that is the stable result of the guesses
+static bool first_report = true;
+
+// to react on USB state changes
+static volatile enum usb_device_state current_usb_device_state = USB_DEVICE_STATE_INIT;
+static enum usb_device_state reported_usb_device_state = USB_DEVICE_STATE_INIT;
+
+// the OS detection might be unstable for a while, "debounce" it
+static volatile bool debouncing = false;
+static volatile fast_timer_t last_time;
+
+void os_detection_task(void) {
+ if (current_usb_device_state == USB_DEVICE_STATE_CONFIGURED) {
+ // debouncing goes for both the detected OS as well as the USB state
+ if (debouncing && timer_elapsed_fast(last_time) >= OS_DETECTION_DEBOUNCE) {
+ debouncing = false;
+ reported_usb_device_state = current_usb_device_state;
+ if (detected_os != reported_os || first_report) {
+ first_report = false;
+ reported_os = detected_os;
+ process_detected_host_os_kb(detected_os);
+ }
+ }
}
- if (setups_data.count == setups_data.cnt_ff) {
- // Linux has 3 packets with 0xFF.
- detected_os = OS_LINUX;
- return;
- }
- if (setups_data.count == 5 && setups_data.last_wlength == 0xFF && setups_data.cnt_ff == 1 && setups_data.cnt_02 == 2) {
- detected_os = OS_MACOS;
- return;
- }
- if (setups_data.count == 4 && setups_data.cnt_ff == 0 && setups_data.cnt_02 == 2) {
- // iOS and iPadOS don't have the last 0xFF packet.
- detected_os = OS_IOS;
- return;
- }
- if (setups_data.cnt_ff == 0 && setups_data.cnt_02 == 3 && setups_data.cnt_04 == 1) {
- // This is actually PS5.
- detected_os = OS_LINUX;
- return;
- }
- if (setups_data.cnt_ff >= 1 && setups_data.cnt_02 == 0 && setups_data.cnt_04 == 0) {
- // This is actually Quest 2 or Nintendo Switch.
- detected_os = OS_LINUX;
- return;
+#ifdef OS_DETECTION_KEYBOARD_RESET
+ // resetting the keyboard on the USB device state change callback results in instability, so delegate that to this task
+ // only take action if it's been stable at least once, to avoid issues with some KVMs
+ else if (current_usb_device_state == USB_DEVICE_STATE_INIT && reported_usb_device_state != USB_DEVICE_STATE_INIT) {
+ soft_reset_keyboard();
}
+#endif
+}
+
+__attribute__((weak)) bool process_detected_host_os_kb(os_variant_t detected_os) {
+ return process_detected_host_os_user(detected_os);
}
+__attribute__((weak)) bool process_detected_host_os_user(os_variant_t detected_os) {
+ return true;
+}
+
+// Some collected sequences of wLength can be found in tests.
void process_wlength(const uint16_t w_length) {
-# ifdef OS_DETECTION_DEBUG_ENABLE
+#ifdef OS_DETECTION_DEBUG_ENABLE
usb_setups[setups_data.count] = w_length;
-# endif
+#endif
setups_data.count++;
setups_data.last_wlength = w_length;
if (w_length == 0x2) {
@@ -95,7 +116,37 @@ void process_wlength(const uint16_t w_length) {
} else if (w_length == 0xFF) {
setups_data.cnt_ff++;
}
- make_guess();
+
+ // now try to make a guess
+ os_variant_t guessed = OS_UNSURE;
+ if (setups_data.count >= 3) {
+ if (setups_data.cnt_ff >= 2 && setups_data.cnt_04 >= 1) {
+ guessed = OS_WINDOWS;
+ } else if (setups_data.count == setups_data.cnt_ff) {
+ // Linux has 3 packets with 0xFF.
+ guessed = OS_LINUX;
+ } else if (setups_data.count == 5 && setups_data.last_wlength == 0xFF && setups_data.cnt_ff == 1 && setups_data.cnt_02 == 2) {
+ guessed = OS_MACOS;
+ } else if (setups_data.count == 4 && setups_data.cnt_ff == 0 && setups_data.cnt_02 == 2) {
+ // iOS and iPadOS don't have the last 0xFF packet.
+ guessed = OS_IOS;
+ } else if (setups_data.cnt_ff == 0 && setups_data.cnt_02 == 3 && setups_data.cnt_04 == 1) {
+ // This is actually PS5.
+ guessed = OS_LINUX;
+ } else if (setups_data.cnt_ff >= 1 && setups_data.cnt_02 == 0 && setups_data.cnt_04 == 0) {
+ // This is actually Quest 2 or Nintendo Switch.
+ guessed = OS_LINUX;
+ }
+ }
+
+ // only replace the guessed value if not unsure
+ if (guessed != OS_UNSURE) {
+ detected_os = guessed;
+ }
+
+ // whatever the result, debounce
+ last_time = timer_read_fast();
+ debouncing = true;
}
os_variant_t detected_host_os(void) {
@@ -104,15 +155,28 @@ os_variant_t detected_host_os(void) {
void erase_wlength_data(void) {
memset(&setups_data, 0, sizeof(setups_data));
- detected_os = OS_UNSURE;
+ detected_os = OS_UNSURE;
+ reported_os = OS_UNSURE;
+ current_usb_device_state = USB_DEVICE_STATE_INIT;
+ reported_usb_device_state = USB_DEVICE_STATE_INIT;
+ debouncing = false;
+ first_report = true;
}
-# if defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
+void os_detection_notify_usb_device_state_change(enum usb_device_state usb_device_state) {
+ // treat this like any other source of instability
+ current_usb_device_state = usb_device_state;
+ last_time = timer_read_fast();
+ debouncing = true;
+}
+
+#if defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
void slave_update_detected_host_os(os_variant_t os) {
detected_os = os;
+ last_time = timer_read_fast();
+ debouncing = true;
}
-# endif // defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
-#endif // OS_DETECTION_ENABLE
+#endif
#ifdef OS_DETECTION_DEBUG_ENABLE
void print_stored_setups(void) {
diff --git a/quantum/os_detection.h b/quantum/os_detection.h
index 3496ea0ed2..b8cd898335 100644
--- a/quantum/os_detection.h
+++ b/quantum/os_detection.h
@@ -17,8 +17,9 @@
#pragma once
#include <stdint.h>
+#include <stdbool.h>
+#include "usb_device_state.h"
-#ifdef OS_DETECTION_ENABLE
typedef enum {
OS_UNSURE,
OS_LINUX,
@@ -30,10 +31,15 @@ typedef enum {
void process_wlength(const uint16_t w_length);
os_variant_t detected_host_os(void);
void erase_wlength_data(void);
+void os_detection_notify_usb_device_state_change(enum usb_device_state usb_device_state);
-# if defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
+void os_detection_task(void);
+
+bool process_detected_host_os_kb(os_variant_t os);
+bool process_detected_host_os_user(os_variant_t os);
+
+#if defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
void slave_update_detected_host_os(os_variant_t os);
-# endif // defined(SPLIT_KEYBOARD) && defined(SPLIT_DETECTED_OS_ENABLE)
#endif
#ifdef OS_DETECTION_DEBUG_ENABLE
diff --git a/quantum/os_detection/tests/os_detection.cpp b/quantum/os_detection/tests/os_detection.cpp
index 102349852e..a9f671156b 100644
--- a/quantum/os_detection/tests/os_detection.cpp
+++ b/quantum/os_detection/tests/os_detection.cpp
@@ -18,12 +18,20 @@
extern "C" {
#include "os_detection.h"
+#include "timer.h"
+
+void advance_time(uint32_t ms);
}
+static uint32_t reported_count;
+static os_variant_t reported_os;
+
class OsDetectionTest : public ::testing::Test {
protected:
void SetUp() override {
erase_wlength_data();
+ reported_count = 0;
+ reported_os = OS_UNSURE;
}
};
@@ -34,6 +42,26 @@ os_variant_t check_sequence(const std::vector<uint16_t> &w_lengths) {
return detected_host_os();
}
+bool process_detected_host_os_kb(os_variant_t os) {
+ reported_count = reported_count + 1;
+ reported_os = os;
+
+ return true;
+}
+
+void assert_not_reported(void) {
+ // check that it does not report the result, nor any intermediate results
+ EXPECT_EQ(reported_count, 0);
+ EXPECT_EQ(reported_os, OS_UNSURE);
+}
+
+void assert_reported(os_variant_t os) {
+ // check that it reports exclusively the result, not any intermediate results
+ EXPECT_EQ(reported_count, 1);
+ EXPECT_EQ(reported_os, os);
+ EXPECT_EQ(reported_os, detected_host_os());
+}
+
/* Some collected data.
ChibiOS:
@@ -77,88 +105,291 @@ Quest 2: [FF, FF, FF, FE, ...]
*/
TEST_F(OsDetectionTest, TestLinux) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosMacos) {
EXPECT_EQ(check_sequence({0x2, 0x24, 0x2, 0x28, 0xFF}), OS_MACOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaMacos) {
EXPECT_EQ(check_sequence({0x2, 0x10, 0x2, 0xE, 0xFF}), OS_MACOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbMacos) {
EXPECT_EQ(check_sequence({0x2, 0xE, 0x2, 0xE, 0xFF}), OS_MACOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosIos) {
EXPECT_EQ(check_sequence({0x2, 0x24, 0x2, 0x28}), OS_IOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaIos) {
EXPECT_EQ(check_sequence({0x2, 0x10, 0x2, 0xE}), OS_IOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbIos) {
EXPECT_EQ(check_sequence({0x2, 0xE, 0x2, 0xE}), OS_IOS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosWindows10) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0x24, 0x4, 0x24, 0x4, 0xFF, 0x24, 0xFF, 0x4, 0xFF, 0x24, 0x4, 0x24, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosWindows10_2) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0x24, 0x4, 0x24, 0x4, 0x24, 0x4, 0x24, 0x4, 0x24}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaWindows10) {
EXPECT_EQ(check_sequence({0x12, 0xFF, 0xFF, 0x4, 0x10, 0xFF, 0xFF, 0xFF, 0x4, 0x10, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaWindows10_2) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0x10, 0xFF, 0x4, 0xFF, 0x10, 0xFF, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaWindows10_3) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0x10, 0x4, 0x10}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbWindows10) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0xE, 0xFF}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbWindows10_2) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0x4, 0xE, 0x4}), OS_WINDOWS);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosPs5) {
EXPECT_EQ(check_sequence({0x2, 0x4, 0x2, 0x28, 0x2, 0x24}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaPs5) {
EXPECT_EQ(check_sequence({0x2, 0x4, 0x2, 0xE, 0x2, 0x10}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbPs5) {
EXPECT_EQ(check_sequence({0x2, 0x4, 0x2, 0xE, 0x2}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosNintendoSwitch) {
EXPECT_EQ(check_sequence({0x82, 0xFF, 0x40, 0x40, 0xFF, 0x40, 0x40, 0xFF, 0x40, 0x40, 0xFF, 0x40, 0x40, 0xFF, 0x40, 0x40}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestLufaNintendoSwitch) {
EXPECT_EQ(check_sequence({0x82, 0xFF, 0x40, 0x40, 0xFF, 0x40, 0x40}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbNintendoSwitch) {
EXPECT_EQ(check_sequence({0x82, 0xFF, 0x40, 0x40}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestChibiosQuest2) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
TEST_F(OsDetectionTest, TestVusbQuest2) {
EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
+}
+
+// Regression reported in https://github.com/qmk/qmk_firmware/pull/21777#issuecomment-1922815841
+TEST_F(OsDetectionTest, TestDetectMacM1AsIOS) {
+ EXPECT_EQ(check_sequence({0x02, 0x32, 0x02, 0x24, 0x101, 0xFF}), OS_IOS);
+ os_detection_task();
+ assert_not_reported();
+}
+
+TEST_F(OsDetectionTest, TestDoNotReportIfUsbUnstable) {
+ EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
+
+ advance_time(OS_DETECTION_DEBOUNCE);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+}
+
+TEST_F(OsDetectionTest, TestReportAfterDebounce) {
+ EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE}), OS_LINUX);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ os_detection_task();
+ assert_not_reported();
+
+ advance_time(1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+
+ advance_time(OS_DETECTION_DEBOUNCE - 3);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+
+ advance_time(1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+
+ // advancing the timer alone must not cause a report
+ advance_time(1);
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+ // the task will cause a report
+ os_detection_task();
+ assert_reported(OS_LINUX);
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+
+ // check that it remains the same after a long time
+ advance_time(OS_DETECTION_DEBOUNCE * 15);
+ assert_reported(OS_LINUX);
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+}
+
+TEST_F(OsDetectionTest, TestReportAfterDebounceLongWait) {
+ EXPECT_EQ(check_sequence({0x12, 0xFF, 0xFF, 0x4, 0x10, 0xFF, 0xFF, 0xFF, 0x4, 0x10, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ os_detection_task();
+ assert_not_reported();
+
+ advance_time(1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+
+ // advancing the timer alone must not cause a report
+ advance_time(OS_DETECTION_DEBOUNCE * 15);
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+ // the task will cause a report
+ os_detection_task();
+ assert_reported(OS_WINDOWS);
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+
+ // check that it remains the same after a long time
+ advance_time(OS_DETECTION_DEBOUNCE * 10);
+ os_detection_task();
+ assert_reported(OS_WINDOWS);
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+}
+
+TEST_F(OsDetectionTest, TestReportUnsure) {
+ EXPECT_EQ(check_sequence({0x12, 0xFF}), OS_UNSURE);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ os_detection_task();
+ assert_not_reported();
+
+ advance_time(1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_UNSURE);
+
+ // advancing the timer alone must not cause a report
+ advance_time(OS_DETECTION_DEBOUNCE - 1);
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_UNSURE);
+ // the task will cause a report
+ os_detection_task();
+ assert_reported(OS_UNSURE);
+ EXPECT_EQ(detected_host_os(), OS_UNSURE);
+
+ // check that it remains the same after a long time
+ advance_time(OS_DETECTION_DEBOUNCE * 10);
+ os_detection_task();
+ assert_reported(OS_UNSURE);
+ EXPECT_EQ(detected_host_os(), OS_UNSURE);
+}
+
+TEST_F(OsDetectionTest, TestDoNotReportIntermediateResults) {
+ EXPECT_EQ(check_sequence({0x12, 0xFF}), OS_UNSURE);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ os_detection_task();
+ assert_not_reported();
+
+ advance_time(OS_DETECTION_DEBOUNCE - 1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_UNSURE);
+
+ // at this stage, the final result has not been reached yet
+ EXPECT_EQ(check_sequence({0xFF}), OS_LINUX);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ advance_time(OS_DETECTION_DEBOUNCE - 1);
+ os_detection_task();
+ assert_not_reported();
+ // the intermedite but yet unstable result is exposed through detected_host_os()
+ EXPECT_EQ(detected_host_os(), OS_LINUX);
+
+ // the remainder is processed
+ EXPECT_EQ(check_sequence({0x4, 0x10, 0xFF, 0xFF, 0xFF, 0x4, 0x10, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A, 0x20A}), OS_WINDOWS);
+ os_detection_notify_usb_device_state_change(USB_DEVICE_STATE_CONFIGURED);
+ advance_time(OS_DETECTION_DEBOUNCE - 1);
+ os_detection_task();
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+
+ // advancing the timer alone must not cause a report
+ advance_time(1);
+ assert_not_reported();
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+ // the task will cause a report
+ os_detection_task();
+ assert_reported(OS_WINDOWS);
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+
+ // check that it remains the same after a long time
+ advance_time(OS_DETECTION_DEBOUNCE * 10);
+ os_detection_task();
+ assert_reported(OS_WINDOWS);
+ EXPECT_EQ(detected_host_os(), OS_WINDOWS);
+}
+
+TEST_F(OsDetectionTest, TestDoNotGoBackToUnsure) {
+ // 0x02 would cause it to go back to Unsure, so check that it does not
+ EXPECT_EQ(check_sequence({0xFF, 0xFF, 0xFF, 0xFE, 0x02}), OS_LINUX);
+ os_detection_task();
+ assert_not_reported();
}
diff --git a/quantum/os_detection/tests/rules.mk b/quantum/os_detection/tests/rules.mk
index 9bfe373f46..1b69b71ba9 100644
--- a/quantum/os_detection/tests/rules.mk
+++ b/quantum/os_detection/tests/rules.mk
@@ -1,5 +1,7 @@
os_detection_DEFS := -DOS_DETECTION_ENABLE
+os_detection_DEFS += -DOS_DETECTION_DEBOUNCE=50
os_detection_SRC := \
$(QUANTUM_PATH)/os_detection/tests/os_detection.cpp \
- $(QUANTUM_PATH)/os_detection.c
+ $(QUANTUM_PATH)/os_detection.c \
+ $(PLATFORM_PATH)/$(PLATFORM_KEY)/timer.c
diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h
index 873a9d9f32..02acbf589a 100644
--- a/quantum/painter/qp.h
+++ b/quantum/painter/qp.h
@@ -509,6 +509,12 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai
# define ILI9341_NUM_DEVICES 0
#endif // QUANTUM_PAINTER_ILI9341_ENABLE
+#ifdef QUANTUM_PAINTER_ILI9486_ENABLE
+# include "qp_ili9486.h"
+#else // QUANTUM_PAINTER_ILI9486_ENABLE
+# define ILI9486_NUM_DEVICES 0
+#endif // QUANTUM_PAINTER_ILI9486_ENABLE
+
#ifdef QUANTUM_PAINTER_ILI9488_ENABLE
# include "qp_ili9488.h"
#else // QUANTUM_PAINTER_ILI9488_ENABLE
diff --git a/quantum/painter/qp_draw.h b/quantum/painter/qp_draw.h
index 3d073efe8c..7546c061a7 100644
--- a/quantum/painter/qp_draw.h
+++ b/quantum/painter/qp_draw.h
@@ -92,4 +92,9 @@ typedef struct qp_internal_byte_output_state_t {
bool qp_internal_byte_appender(uint8_t byteval, void* cb_arg);
+// Helper shared between image and font rendering, sends pixels to the display using:
+// - qp_internal_decode_palette + qp_internal_pixel_appender (bpp <= 8)
+// - qp_internal_send_bytes (bpp > 8)
+bool qp_internal_appender(painter_device_t device, uint8_t bpp, uint32_t pixel_count, qp_internal_byte_input_callback input_callback, void* input_state);
+
qp_internal_byte_input_callback qp_internal_prepare_input_state(qp_internal_byte_input_state_t* input_state, painter_compression_t compression);
diff --git a/quantum/painter/qp_draw_codec.c b/quantum/painter/qp_draw_codec.c
index cee2e32e28..4ff41d0650 100644
--- a/quantum/painter/qp_draw_codec.c
+++ b/quantum/painter/qp_draw_codec.c
@@ -1,4 +1,5 @@
// Copyright 2021 Nick Brassel (@tzarc)
+// Copyright 2023 Pablo Martinez (@elpekenin) <elpekenin@elpekenin.dev>
// SPDX-License-Identifier: GPL-2.0-or-later
#include "qp_internal.h"
@@ -164,6 +165,45 @@ bool qp_internal_byte_appender(uint8_t byteval, void* cb_arg) {
return true;
}
+// Helper shared between image and font rendering -- uses either (qp_internal_decode_palette + qp_internal_pixel_appender) or (qp_internal_send_bytes) to send data data to the display based on the asset's native-ness
+bool qp_internal_appender(painter_device_t device, uint8_t bpp, uint32_t pixel_count, qp_internal_byte_input_callback input_callback, void* input_state) {
+ painter_driver_t* driver = (painter_driver_t*)device;
+
+ bool ret = false;
+
+ // Non-native pixel format
+ if (bpp <= 8) {
+ // Set up the output state
+ qp_internal_pixel_output_state_t output_state = {.device = device, .pixel_write_pos = 0, .max_pixels = qp_internal_num_pixels_in_buffer(device)};
+
+ // Decode the pixel data and stream to the display
+ ret = qp_internal_decode_palette(device, pixel_count, bpp, input_callback, input_state, qp_internal_global_pixel_lookup_table, qp_internal_pixel_appender, &output_state);
+ // Any leftovers need transmission as well.
+ if (ret && output_state.pixel_write_pos > 0) {
+ ret &= driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, output_state.pixel_write_pos);
+ }
+ }
+
+ // Native pixel format
+ else if (bpp != driver->native_bits_per_pixel) {
+ qp_dprintf("Asset's bpp (%d) doesn't match the target display's native_bits_per_pixel (%d)\n", bpp, driver->native_bits_per_pixel);
+ return false;
+ } else {
+ // Set up the output state
+ qp_internal_byte_output_state_t output_state = {.device = device, .byte_write_pos = 0, .max_bytes = qp_internal_num_pixels_in_buffer(device) * driver->native_bits_per_pixel / 8};
+
+ // Stream the raw pixel data to the display
+ uint32_t byte_count = pixel_count * bpp / 8;
+ ret = qp_internal_send_bytes(device, byte_count, input_callback, input_state, qp_internal_byte_appender, &output_state);
+ // Any leftovers need transmission as well.
+ if (ret && output_state.byte_write_pos > 0) {
+ ret &= driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, output_state.byte_write_pos * 8 / driver->native_bits_per_pixel);
+ }
+ }
+
+ return ret;
+}
+
qp_internal_byte_input_callback qp_internal_prepare_input_state(qp_internal_byte_input_state_t* input_state, painter_compression_t compression) {
switch (compression) {
case IMAGE_UNCOMPRESSED:
diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c
index 87c59148c2..18fa38cb19 100644
--- a/quantum/painter/qp_draw_image.c
+++ b/quantum/painter/qp_draw_image.c
@@ -263,33 +263,8 @@ static bool qp_drawimage_recolor_impl(painter_device_t device, uint16_t x, uint1
return false;
}
- bool ret = false;
- if (!frame_info->is_panel_native) {
- // Set up the output state
- qp_internal_pixel_output_state_t output_state = {.device = device, .pixel_write_pos = 0, .max_pixels = qp_internal_num_pixels_in_buffer(device)};
-
- // Decode the pixel data and stream to the display
- ret = qp_internal_decode_palette(device, pixel_count, frame_info->bpp, input_callback, &input_state, qp_internal_global_pixel_lookup_table, qp_internal_pixel_appender, &output_state);
- // Any leftovers need transmission as well.
- if (ret && output_state.pixel_write_pos > 0) {
- ret &= driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, output_state.pixel_write_pos);
- }
- } else if (frame_info->bpp != driver->native_bits_per_pixel) {
- // Prevent stuff like drawing 24bpp images on 16bpp displays
- qp_dprintf("Image's bpp doesn't match the target display's native_bits_per_pixel\n");
- return false;
- } else {
- // Set up the output state
- qp_internal_byte_output_state_t output_state = {.device = device, .byte_write_pos = 0, .max_bytes = qp_internal_num_pixels_in_buffer(device) * driver->native_bits_per_pixel / 8};
-
- // Stream the raw pixel data to the display
- uint32_t byte_count = pixel_count * frame_info->bpp / 8;
- ret = qp_internal_send_bytes(device, byte_count, input_callback, &input_state, qp_internal_byte_appender, &output_state);
- // Any leftovers need transmission as well.
- if (ret && output_state.byte_write_pos > 0) {
- ret &= driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, output_state.byte_write_pos * 8 / driver->native_bits_per_pixel);
- }
- }
+ // Decode and stream pixels
+ bool ret = qp_internal_appender(device, frame_info->bpp, pixel_count, input_callback, &input_state);
qp_dprintf("qp_drawimage_recolor: %s\n", ret ? "ok" : "fail");
qp_comms_stop(device);
diff --git a/quantum/painter/qp_draw_text.c b/quantum/painter/qp_draw_text.c
index 1ac5cab646..664c89c6e5 100644
--- a/quantum/painter/qp_draw_text.c
+++ b/quantum/painter/qp_draw_text.c
@@ -364,16 +364,9 @@ static inline bool qp_font_code_point_handler_drawglyph(qff_font_handle_t *qff_f
// Move the x-position for the next glyph
state->xpos += width;
- // Decode the pixel data for the glyph
+ // Decode the pixel data for the glyph, and stream it
uint32_t pixel_count = ((uint32_t)width) * height;
- bool ret = qp_internal_decode_palette(state->device, pixel_count, qff_font->bpp, state->input_callback, state->input_state, qp_internal_global_pixel_lookup_table, qp_internal_pixel_appender, state->output_state);
-
- // Any leftovers need transmission as well.
- if (ret && state->output_state->pixel_write_pos > 0) {
- ret &= driver->driver_vtable->pixdata(state->device, qp_internal_global_pixdata_buffer, state->output_state->pixel_write_pos);
- }
-
- return ret;
+ return qp_internal_appender(state->device, qff_font->bpp, pixel_count, state->input_callback, state->input_state);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/quantum/painter/qp_internal.c b/quantum/painter/qp_internal.c
index 0e81467e26..1f0f981796 100644
--- a/quantum/painter/qp_internal.c
+++ b/quantum/painter/qp_internal.c
@@ -11,6 +11,7 @@ enum {
// NOTE: We intentionally do not include surfaces here, despite them conforming to the same API.
QP_NUM_DEVICES = (ILI9163_NUM_DEVICES) // ILI9163
+ (ILI9341_NUM_DEVICES) // ILI9341
+ + (ILI9486_NUM_DEVICES) // ILI9486
+ (ILI9488_NUM_DEVICES) // ILI9488
+ (ST7789_NUM_DEVICES) // ST7789
+ (ST7735_NUM_DEVICES) // ST7735
diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk
index ca81cffb03..d991a6d742 100644
--- a/quantum/painter/rules.mk
+++ b/quantum/painter/rules.mk
@@ -9,6 +9,7 @@ VALID_QUANTUM_PAINTER_DRIVERS := \
surface \
ili9163_spi \
ili9341_spi \
+ ili9486_spi \
ili9488_spi \
st7735_spi \
st7789_spi \
@@ -80,6 +81,17 @@ define handle_quantum_painter_driver
$(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \
$(DRIVER_PATH)/painter/ili9xxx/qp_ili9341.c \
+ else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9486_spi)
+ QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes
+ QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes
+ OPT_DEFS += -DQUANTUM_PAINTER_ILI9486_ENABLE -DQUANTUM_PAINTER_ILI9486_SPI_ENABLE
+ COMMON_VPATH += \
+ $(DRIVER_PATH)/painter/tft_panel \
+ $(DRIVER_PATH)/painter/ili9xxx
+ SRC += \
+ $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \
+ $(DRIVER_PATH)/painter/ili9xxx/qp_ili9486.c \
+
else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9488_spi)
QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes
QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes
diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c
index 17dc701a41..bcced166c0 100644
--- a/quantum/pointing_device/pointing_device.c
+++ b/quantum/pointing_device/pointing_device.c
@@ -149,9 +149,9 @@ __attribute__((weak)) void pointing_device_init(void) {
pointing_device_driver.init();
#ifdef POINTING_DEVICE_MOTION_PIN
# ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW
- setPinInputHigh(POINTING_DEVICE_MOTION_PIN);
+ gpio_set_pin_input_high(POINTING_DEVICE_MOTION_PIN);
# else
- setPinInput(POINTING_DEVICE_MOTION_PIN);
+ gpio_set_pin_input(POINTING_DEVICE_MOTION_PIN);
# endif
#endif
}
@@ -247,18 +247,19 @@ __attribute__((weak)) bool pointing_device_task(void) {
# error POINTING_DEVICE_MOTION_PIN not supported when sharing the pointing device report between sides.
# endif
# ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW
- if (!readPin(POINTING_DEVICE_MOTION_PIN))
+ if (!gpio_read_pin(POINTING_DEVICE_MOTION_PIN))
# else
- if (readPin(POINTING_DEVICE_MOTION_PIN))
+ if (gpio_read_pin(POINTING_DEVICE_MOTION_PIN))
# endif
+ {
#endif
#if defined(SPLIT_POINTING_ENABLE)
# if defined(POINTING_DEVICE_COMBINED)
static uint8_t old_buttons = 0;
- local_mouse_report.buttons = old_buttons;
- local_mouse_report = pointing_device_driver.get_report(local_mouse_report);
- old_buttons = local_mouse_report.buttons;
+ local_mouse_report.buttons = old_buttons;
+ local_mouse_report = pointing_device_driver.get_report(local_mouse_report);
+ old_buttons = local_mouse_report.buttons;
# elif defined(POINTING_DEVICE_LEFT) || defined(POINTING_DEVICE_RIGHT)
local_mouse_report = POINTING_DEVICE_THIS_SIDE ? pointing_device_driver.get_report(local_mouse_report) : shared_mouse_report;
# else
@@ -268,6 +269,10 @@ __attribute__((weak)) bool pointing_device_task(void) {
local_mouse_report = pointing_device_driver.get_report(local_mouse_report);
#endif // defined(SPLIT_POINTING_ENABLE)
+#ifdef POINTING_DEVICE_MOTION_PIN
+ }
+#endif
+
// allow kb to intercept and modify report
#if defined(SPLIT_POINTING_ENABLE) && defined(POINTING_DEVICE_COMBINED)
if (is_keyboard_left()) {
diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c
index 3135b9e531..1b11fffedb 100644
--- a/quantum/pointing_device/pointing_device_auto_mouse.c
+++ b/quantum/pointing_device/pointing_device_auto_mouse.c
@@ -17,6 +17,7 @@
#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
+# include <stdlib.h>
# include <string.h>
# include "pointing_device_auto_mouse.h"
# include "debug.h"
@@ -217,7 +218,11 @@ void auto_mouse_layer_off(void) {
* @return bool of pointing_device activation
*/
__attribute__((weak)) bool auto_mouse_activation(report_mouse_t mouse_report) {
- return mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons;
+ auto_mouse_context.total_mouse_movement.x += mouse_report.x;
+ auto_mouse_context.total_mouse_movement.y += mouse_report.y;
+ auto_mouse_context.total_mouse_movement.h += mouse_report.h;
+ auto_mouse_context.total_mouse_movement.v += mouse_report.v;
+ return abs(auto_mouse_context.total_mouse_movement.x) > AUTO_MOUSE_THRESHOLD || abs(auto_mouse_context.total_mouse_movement.y) > AUTO_MOUSE_THRESHOLD || abs(auto_mouse_context.total_mouse_movement.h) > AUTO_MOUSE_THRESHOLD || abs(auto_mouse_context.total_mouse_movement.v) > AUTO_MOUSE_THRESHOLD || mouse_report.buttons;
}
/**
@@ -235,14 +240,16 @@ void pointing_device_task_auto_mouse(report_mouse_t mouse_report) {
// update activation and reset debounce
auto_mouse_context.status.is_activated = auto_mouse_activation(mouse_report);
if (is_auto_mouse_active()) {
- auto_mouse_context.timer.active = timer_read();
- auto_mouse_context.timer.delay = 0;
+ auto_mouse_context.total_mouse_movement = (total_mouse_movement_t){.x = 0, .y = 0, .h = 0, .v = 0};
+ auto_mouse_context.timer.active = timer_read();
+ auto_mouse_context.timer.delay = 0;
if (!layer_state_is((AUTO_MOUSE_TARGET_LAYER))) {
layer_on((AUTO_MOUSE_TARGET_LAYER));
}
} else if (layer_state_is((AUTO_MOUSE_TARGET_LAYER)) && timer_elapsed(auto_mouse_context.timer.active) > auto_mouse_context.config.timeout) {
layer_off((AUTO_MOUSE_TARGET_LAYER));
- auto_mouse_context.timer.active = 0;
+ auto_mouse_context.timer.active = 0;
+ auto_mouse_context.total_mouse_movement = (total_mouse_movement_t){.x = 0, .y = 0, .h = 0, .v = 0};
}
}
diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h
index 1343855e00..904f18b68e 100644
--- a/quantum/pointing_device/pointing_device_auto_mouse.h
+++ b/quantum/pointing_device/pointing_device_auto_mouse.h
@@ -42,9 +42,18 @@
#ifndef AUTO_MOUSE_DEBOUNCE
# define AUTO_MOUSE_DEBOUNCE 25
#endif
+#ifndef AUTO_MOUSE_THRESHOLD
+# define AUTO_MOUSE_THRESHOLD 10
+#endif
/* data structure */
typedef struct {
+ mouse_xy_report_t x;
+ mouse_xy_report_t y;
+ int8_t v;
+ int8_t h;
+} total_mouse_movement_t;
+typedef struct {
struct {
bool is_enabled;
uint8_t layer;
@@ -60,6 +69,7 @@ typedef struct {
bool is_toggled;
int8_t mouse_key_tracker;
} status;
+ total_mouse_movement_t total_mouse_movement;
} auto_mouse_context_t;
/* ----------Set up and control------------------------------------------------------------------------------ */
diff --git a/quantum/process_keycode/process_caps_word.c b/quantum/process_keycode/process_caps_word.c
index 1088c8f76c..b8fb868c6d 100644
--- a/quantum/process_keycode/process_caps_word.c
+++ b/quantum/process_keycode/process_caps_word.c
@@ -14,6 +14,7 @@
#include "process_caps_word.h"
#include "process_auto_shift.h"
+#include "process_space_cadet.h"
#include "caps_word.h"
#include "keycodes.h"
#include "quantum_keycodes.h"
@@ -110,6 +111,9 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
# endif // COMMAND_ENABLE
) {
caps_word_on();
+# ifdef SPACE_CADET_ENABLE
+ reset_space_cadet();
+# endif // SPACE_CADET_ENABLE
}
# endif // defined(COMMAND_ENABLE) && !defined(IS_COMMAND)
#endif // BOTH_SHIFTS_TURNS_ON_CAPS_WORD
diff --git a/quantum/process_keycode/process_midi.c b/quantum/process_keycode/process_midi.c
index 377fcb69e2..5ecd897d16 100644
--- a/quantum/process_keycode/process_midi.c
+++ b/quantum/process_keycode/process_midi.c
@@ -38,7 +38,7 @@ void process_midi_all_notes_off(void) {
#endif // MIDI_BASIC
#ifdef MIDI_ADVANCED
-static uint8_t tone_status[2][MIDI_TONE_COUNT];
+static uint8_t tone_status[MIDI_TONE_COUNT];
static uint8_t midi_modulation;
static int8_t midi_modulation_step;
@@ -57,8 +57,7 @@ void midi_init(void) {
midi_config.modulation_interval = 8;
for (uint8_t i = 0; i < MIDI_TONE_COUNT; i++) {
- tone_status[0][i] = MIDI_INVALID_NOTE;
- tone_status[1][i] = 0;
+ tone_status[i] = MIDI_INVALID_NOTE;
}
midi_modulation = 0;
@@ -77,21 +76,19 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
uint8_t tone = keycode - MIDI_TONE_MIN;
uint8_t velocity = midi_config.velocity;
if (record->event.pressed) {
- uint8_t note = midi_compute_note(keycode);
- midi_send_noteon(&midi_device, channel, note, velocity);
- dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
- tone_status[1][tone] += 1;
- if (tone_status[0][tone] == MIDI_INVALID_NOTE) {
- tone_status[0][tone] = note;
+ if (tone_status[tone] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(keycode);
+ midi_send_noteon(&midi_device, channel, note, velocity);
+ dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ tone_status[tone] = note;
}
} else {
- uint8_t note = tone_status[0][tone];
- tone_status[1][tone] -= 1;
- if (tone_status[1][tone] == 0) {
+ uint8_t note = tone_status[tone];
+ if (note != MIDI_INVALID_NOTE) {
midi_send_noteoff(&midi_device, channel, note, velocity);
dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
- tone_status[0][tone] = MIDI_INVALID_NOTE;
}
+ tone_status[tone] = MIDI_INVALID_NOTE;
}
return false;
}
diff --git a/quantum/process_keycode/process_space_cadet.c b/quantum/process_keycode/process_space_cadet.c
index f948ad6238..3e280d57d9 100644
--- a/quantum/process_keycode/process_space_cadet.c
+++ b/quantum/process_keycode/process_space_cadet.c
@@ -157,10 +157,14 @@ bool process_space_cadet(uint16_t keycode, keyrecord_t *record) {
}
default: {
if (record->event.pressed) {
- sc_last = 0;
+ reset_space_cadet();
}
break;
}
}
return true;
}
+
+void reset_space_cadet() {
+ sc_last = 0;
+}
diff --git a/quantum/process_keycode/process_space_cadet.h b/quantum/process_keycode/process_space_cadet.h
index 6d10051532..9d254e26fd 100644
--- a/quantum/process_keycode/process_space_cadet.h
+++ b/quantum/process_keycode/process_space_cadet.h
@@ -21,3 +21,4 @@
void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdMod, uint8_t tapMod, uint8_t keycode);
bool process_space_cadet(uint16_t keycode, keyrecord_t *record);
+void reset_space_cadet(void);
diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c
index bd4361580b..c491d6f1d8 100644
--- a/quantum/process_keycode/process_steno.c
+++ b/quantum/process_keycode/process_steno.c
@@ -128,9 +128,6 @@ static const uint16_t combinedmap_second[] PROGMEM = {STN_S2, STN_KL, STN_WL, ST
#ifdef STENO_ENABLE_ALL
void steno_init(void) {
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
mode = eeprom_read_byte(EECONFIG_STENOMODE);
}
diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c
index b8a8d32f35..ce3b8fc81f 100644
--- a/quantum/process_keycode/process_tap_dance.c
+++ b/quantum/process_keycode/process_tap_dance.c
@@ -133,7 +133,7 @@ bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) {
if (!active_td || keycode == active_td) return false;
- action = &tap_dance_actions[TD_INDEX(active_td)];
+ action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(active_td)];
action->state.interrupted = true;
action->state.interrupting_keycode = keycode;
process_tap_dance_action_on_dance_finished(action);
@@ -154,7 +154,7 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
- action = &tap_dance_actions[TD_INDEX(keycode)];
+ action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)];
action->state.pressed = record->event.pressed;
if (record->event.pressed) {
@@ -182,7 +182,7 @@ void tap_dance_task(void) {
if (!active_td || timer_elapsed(last_tap_time) <= GET_TAPPING_TERM(active_td, &(keyrecord_t){})) return;
- action = &tap_dance_actions[TD_INDEX(active_td)];
+ action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(active_td)];
if (!action->state.interrupted) {
process_tap_dance_action_on_dance_finished(action);
}
diff --git a/quantum/process_keycode/process_tap_dance.h b/quantum/process_keycode/process_tap_dance.h
index 2b114dabd3..c0137c14a3 100644
--- a/quantum/process_keycode/process_tap_dance.h
+++ b/quantum/process_keycode/process_tap_dance.h
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <stdbool.h>
#include "action.h"
+#include "quantum_keycodes.h"
typedef struct {
uint16_t interrupting_keycode;
@@ -74,8 +75,7 @@ typedef struct {
#define ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(user_fn_on_each_tap, user_fn_on_each_release, user_fn_on_dance_finished, user_fn_on_dance_reset) \
{ .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, user_fn_on_each_release}, .user_data = NULL, }
-#define TD(n) (QK_TAP_DANCE | TD_INDEX(n))
-#define TD_INDEX(code) ((code)&0xFF)
+#define TD_INDEX(code) QK_TAP_DANCE_GET_INDEX(code)
#define TAP_DANCE_KEYCODE(state) TD(((tap_dance_action_t *)state) - tap_dance_actions)
extern tap_dance_action_t tap_dance_actions[];
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 996e93a12f..5446ab1ad7 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -42,7 +42,6 @@
#include "action_layer.h"
#include "eeconfig.h"
#include "bootloader.h"
-#include "bootmagic.h"
#include "timer.h"
#include "sync_timer.h"
#include "gpio.h"
@@ -59,6 +58,10 @@
#include <stdio.h>
#include <string.h>
+#ifdef BOOTMAGIC_ENABLE
+# include "bootmagic.h"
+#endif
+
#ifdef DEFERRED_EXEC_ENABLE
# include "deferred_exec.h"
#endif
@@ -233,6 +236,10 @@ extern layer_state_t layer_state;
# include "process_repeat_key.h"
#endif
+#ifdef OS_DETECTION_ENABLE
+# include "os_detection.h"
+#endif
+
void set_single_persistent_default_layer(uint8_t default_layer);
#define IS_LAYER_ON(layer) layer_state_is(layer)
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index d3249bd455..882e1d07ae 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -190,6 +190,10 @@
#define SH_T(kc) (QK_SWAP_HANDS | ((kc)&0xFF))
#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF)
+// Tap dance
+#define TD(i) (QK_TAP_DANCE | ((i)&0xFF))
+#define QK_TAP_DANCE_GET_INDEX(kc) ((kc)&0xFF)
+
// MIDI aliases
#define MIDI_TONE_MIN QK_MIDI_NOTE_C_0
#define MIDI_TONE_MAX QK_MIDI_NOTE_B_5
diff --git a/quantum/rgb_matrix/animations/solid_reactive_anim.h b/quantum/rgb_matrix/animations/solid_reactive_anim.h
index edf6041350..e18ffb5f2b 100644
--- a/quantum/rgb_matrix/animations/solid_reactive_anim.h
+++ b/quantum/rgb_matrix/animations/solid_reactive_anim.h
@@ -7,7 +7,7 @@ static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) {
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
# endif
- hsv.h += qsub8(130, offset);
+ hsv.h += scale8(255 - offset, 64);
return hsv;
}
diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c
index d93d189827..655aca1867 100644
--- a/quantum/rgb_matrix/rgb_matrix.c
+++ b/quantum/rgb_matrix/rgb_matrix.c
@@ -76,9 +76,6 @@ static uint8_t rgb_last_enable = UINT8_MAX;
static uint8_t rgb_last_effect = UINT8_MAX;
static effect_params_t rgb_effect_params = {0, LED_FLAG_ALL, false};
static rgb_task_states rgb_task_state = SYNCING;
-#if RGB_MATRIX_TIMEOUT > 0
-static uint32_t rgb_anykey_timer;
-#endif // RGB_MATRIX_TIMEOUT > 0
// double buffers
static uint32_t rgb_timer_buffer;
@@ -103,7 +100,7 @@ void eeconfig_update_rgb_matrix_default(void) {
rgb_matrix_config.mode = RGB_MATRIX_DEFAULT_MODE;
rgb_matrix_config.hsv = (HSV){RGB_MATRIX_DEFAULT_HUE, RGB_MATRIX_DEFAULT_SAT, RGB_MATRIX_DEFAULT_VAL};
rgb_matrix_config.speed = RGB_MATRIX_DEFAULT_SPD;
- rgb_matrix_config.flags = LED_FLAG_ALL;
+ rgb_matrix_config.flags = RGB_MATRIX_DEFAULT_FLAGS;
eeconfig_flush_rgb_matrix(true);
}
@@ -163,9 +160,6 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) {
#ifndef RGB_MATRIX_SPLIT
if (!is_keyboard_master()) return;
#endif
-#if RGB_MATRIX_TIMEOUT > 0
- rgb_anykey_timer = 0;
-#endif // RGB_MATRIX_TIMEOUT > 0
#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
uint8_t led[LED_HITS_TO_REMEMBER];
@@ -246,18 +240,11 @@ static bool rgb_matrix_none(effect_params_t *params) {
}
static void rgb_task_timers(void) {
-#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0
+#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED)
uint32_t deltaTime = sync_timer_elapsed32(rgb_timer_buffer);
-#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0
+#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED)
rgb_timer_buffer = sync_timer_read32();
- // Update double buffer timers
-#if RGB_MATRIX_TIMEOUT > 0
- if (rgb_anykey_timer + deltaTime <= UINT32_MAX) {
- rgb_anykey_timer += deltaTime;
- }
-#endif // RGB_MATRIX_TIMEOUT > 0
-
// Update double buffer last hit timers
#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
uint8_t count = last_hit_buffer.count;
@@ -370,7 +357,7 @@ void rgb_matrix_task(void) {
// while suspended and just do a software shutdown. This is a cheap hack for now.
bool suspend_backlight = suspend_state ||
#if RGB_MATRIX_TIMEOUT > 0
- (rgb_anykey_timer > (uint32_t)RGB_MATRIX_TIMEOUT) ||
+ (last_input_activity_elapsed() > (uint32_t)RGB_MATRIX_TIMEOUT) ||
#endif // RGB_MATRIX_TIMEOUT > 0
false;
@@ -473,12 +460,6 @@ void rgb_matrix_init(void) {
}
#endif // RGB_MATRIX_KEYREACTIVE_ENABLED
- if (!eeconfig_is_enabled()) {
- dprintf("rgb_matrix_init_drivers eeconfig is not enabled.\n");
- eeconfig_init();
- eeconfig_update_rgb_matrix_default();
- }
-
eeconfig_init_rgb_matrix();
if (!rgb_matrix_config.mode) {
dprintf("rgb_matrix_init_drivers rgb_matrix_config.mode = 0. Write default values to EEPROM.\n");
@@ -488,7 +469,7 @@ void rgb_matrix_init(void) {
}
void rgb_matrix_set_suspend_state(bool state) {
-#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
+#ifdef RGB_MATRIX_SLEEP
if (state && !suspend_state) { // only run if turning off, and only once
rgb_task_render(0); // turn off all LEDs when suspending
rgb_task_flush(0); // and actually flash led state to LEDs
diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h
index 9a3ffb8ea3..f8a6845e02 100644
--- a/quantum/rgb_matrix/rgb_matrix.h
+++ b/quantum/rgb_matrix/rgb_matrix.h
@@ -21,31 +21,10 @@
#include <stdint.h>
#include <stdbool.h>
#include "rgb_matrix_types.h"
+#include "rgb_matrix_drivers.h"
#include "color.h"
#include "keyboard.h"
-#if defined(RGB_MATRIX_IS31FL3218)
-# include "is31fl3218.h"
-#elif defined(RGB_MATRIX_IS31FL3731)
-# include "is31fl3731.h"
-#elif defined(RGB_MATRIX_IS31FL3733)
-# include "is31fl3733.h"
-#elif defined(RGB_MATRIX_IS31FL3736)
-# include "is31fl3736.h"
-#elif defined(RGB_MATRIX_IS31FL3737)
-# include "is31fl3737.h"
-#elif defined(RGB_MATRIX_IS31FL3741)
-# include "is31fl3741.h"
-#elif defined(IS31FLCOMMON)
-# include "is31flcommon.h"
-#elif defined(RGB_MATRIX_SNLED27351)
-# include "snled27351.h"
-#elif defined(RGB_MATRIX_AW20216S)
-# include "aw20216s.h"
-#elif defined(RGB_MATRIX_WS2812)
-# include "ws2812.h"
-#endif
-
#ifndef RGB_MATRIX_TIMEOUT
# define RGB_MATRIX_TIMEOUT 0
#endif
@@ -99,6 +78,10 @@
# define RGB_MATRIX_DEFAULT_SPD UINT8_MAX / 2
#endif
+#ifndef RGB_MATRIX_DEFAULT_FLAGS
+# define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL
+#endif
+
#ifndef RGB_MATRIX_LED_FLUSH_LIMIT
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
#endif
@@ -272,17 +255,6 @@ void rgb_matrix_set_flags_noeeprom(led_flags_t flags);
# define rgblight_decrease_speed_noeeprom rgb_matrix_decrease_speed_noeeprom
#endif
-typedef struct {
- /* Perform any initialisation required for the other driver functions to work. */
- void (*init)(void);
- /* Set the colour of a single LED in the buffer. */
- void (*set_color)(int index, uint8_t r, uint8_t g, uint8_t b);
- /* Set the colour of all LEDS on the keyboard in the buffer. */
- void (*set_color_all)(uint8_t r, uint8_t g, uint8_t b);
- /* Flush any buffered changes to the hardware. */
- void (*flush)(void);
-} rgb_matrix_driver_t;
-
static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) {
#if defined(RGB_MATRIX_SPLIT)
if (is_keyboard_left()) {
@@ -295,8 +267,6 @@ static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) {
#endif
}
-extern const rgb_matrix_driver_t rgb_matrix_driver;
-
extern rgb_config_t rgb_matrix_config;
extern uint32_t g_rgb_timer;
diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c
index 0f979cb233..95d1e884f0 100644
--- a/quantum/rgb_matrix/rgb_matrix_drivers.c
+++ b/quantum/rgb_matrix/rgb_matrix_drivers.c
@@ -14,7 +14,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "rgb_matrix.h"
+#include "rgb_matrix_drivers.h"
+
+#include <stdbool.h>
+#include "keyboard.h"
+#include "color.h"
#include "util.h"
/* Each driver needs to define the struct
@@ -32,6 +36,14 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
.set_color_all = is31fl3218_set_color_all,
};
+#elif defined(RGB_MATRIX_IS31FL3729)
+const rgb_matrix_driver_t rgb_matrix_driver = {
+ .init = is31fl3729_init_drivers,
+ .flush = is31fl3729_flush,
+ .set_color = is31fl3729_set_color,
+ .set_color_all = is31fl3729_set_color_all,
+};
+
#elif defined(RGB_MATRIX_IS31FL3731)
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = is31fl3731_init_drivers,
@@ -72,12 +84,36 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
.set_color_all = is31fl3741_set_color_all,
};
-#elif defined(IS31FLCOMMON)
+#elif defined(RGB_MATRIX_IS31FL3742A)
+const rgb_matrix_driver_t rgb_matrix_driver = {
+ .init = is31fl3742a_init_drivers,
+ .flush = is31fl3742a_flush,
+ .set_color = is31fl3742a_set_color,
+ .set_color_all = is31fl3742a_set_color_all,
+};
+
+#elif defined(RGB_MATRIX_IS31FL3743A)
+const rgb_matrix_driver_t rgb_matrix_driver = {
+ .init = is31fl3743a_init_drivers,
+ .flush = is31fl3743a_flush,
+ .set_color = is31fl3743a_set_color,
+ .set_color_all = is31fl3743a_set_color_all,
+};
+
+#elif defined(RGB_MATRIX_IS31FL3745)
+const rgb_matrix_driver_t rgb_matrix_driver = {
+ .init = is31fl3745_init_drivers,
+ .flush = is31fl3745_flush,
+ .set_color = is31fl3745_set_color,
+ .set_color_all = is31fl3745_set_color_all,
+};
+
+#elif defined(RGB_MATRIX_IS31FL3746A)
const rgb_matrix_driver_t rgb_matrix_driver = {
- .init = IS31FL_RGB_init_drivers,
- .flush = IS31FL_common_flush,
- .set_color = IS31FL_RGB_set_color,
- .set_color_all = IS31FL_RGB_set_color_all,
+ .init = is31fl3746a_init_drivers,
+ .flush = is31fl3746a_flush,
+ .set_color = is31fl3746a_set_color,
+ .set_color_all = is31fl3746a_set_color_all,
};
#elif defined(RGB_MATRIX_SNLED27351)
@@ -103,7 +139,7 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
# endif
// LED color buffer
-rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];
+rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_COUNT];
bool ws2812_dirty = false;
static void init(void) {
@@ -112,7 +148,7 @@ static void init(void) {
static void flush(void) {
if (ws2812_dirty) {
- ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT);
+ ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_COUNT);
ws2812_dirty = false;
}
}
diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.h b/quantum/rgb_matrix/rgb_matrix_drivers.h
new file mode 100644
index 0000000000..a24cb03a18
--- /dev/null
+++ b/quantum/rgb_matrix/rgb_matrix_drivers.h
@@ -0,0 +1,49 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <stdint.h>
+
+#if defined(RGB_MATRIX_AW20216S)
+# include "aw20216s.h"
+#elif defined(RGB_MATRIX_IS31FL3218)
+# include "is31fl3218.h"
+#elif defined(RGB_MATRIX_IS31FL3729)
+# include "is31fl3729.h"
+#elif defined(RGB_MATRIX_IS31FL3731)
+# include "is31fl3731.h"
+#elif defined(RGB_MATRIX_IS31FL3733)
+# include "is31fl3733.h"
+#elif defined(RGB_MATRIX_IS31FL3736)
+# include "is31fl3736.h"
+#elif defined(RGB_MATRIX_IS31FL3737)
+# include "is31fl3737.h"
+#elif defined(RGB_MATRIX_IS31FL3741)
+# include "is31fl3741.h"
+#elif defined(RGB_MATRIX_IS31FL3742A)
+# include "is31fl3742a.h"
+#elif defined(RGB_MATRIX_IS31FL3743A)
+# include "is31fl3743a.h"
+#elif defined(RGB_MATRIX_IS31FL3745)
+# include "is31fl3745.h"
+#elif defined(RGB_MATRIX_IS31FL3746A)
+# include "is31fl3746a.h"
+#elif defined(RGB_MATRIX_SNLED27351)
+# include "snled27351.h"
+#elif defined(RGB_MATRIX_WS2812)
+# include "ws2812.h"
+#endif
+
+typedef struct {
+ /* Perform any initialisation required for the other driver functions to work. */
+ void (*init)(void);
+ /* Set the colour of a single LED in the buffer. */
+ void (*set_color)(int index, uint8_t r, uint8_t g, uint8_t b);
+ /* Set the colour of all LEDS on the keyboard in the buffer. */
+ void (*set_color_all)(uint8_t r, uint8_t g, uint8_t b);
+ /* Flush any buffered changes to the hardware. */
+ void (*flush)(void);
+} rgb_matrix_driver_t;
+
+extern const rgb_matrix_driver_t rgb_matrix_driver;
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c
index 8ac886d441..530cb04688 100644
--- a/quantum/rgblight/rgblight.c
+++ b/quantum/rgblight/rgblight.c
@@ -116,7 +116,7 @@ animation_status_t animation_status = {};
#endif
#ifndef LED_ARRAY
-rgb_led_t led[RGBLED_NUM];
+rgb_led_t led[RGBLIGHT_LED_COUNT];
# define LED_ARRAY led
#endif
@@ -126,7 +126,7 @@ rgblight_segment_t const *const *rgblight_layers = NULL;
static bool deferred_set_layer_state = false;
#endif
-rgblight_ranges_t rgblight_ranges = {0, RGBLED_NUM, 0, RGBLED_NUM, RGBLED_NUM};
+rgblight_ranges_t rgblight_ranges = {0, RGBLIGHT_LED_COUNT, 0, RGBLIGHT_LED_COUNT, RGBLIGHT_LED_COUNT};
void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) {
rgblight_ranges.clipping_start_pos = start_pos;
@@ -134,8 +134,8 @@ void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) {
}
void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) {
- if (start_pos >= RGBLED_NUM) return;
- if (start_pos + num_leds > RGBLED_NUM) return;
+ if (start_pos >= RGBLIGHT_LED_COUNT) return;
+ if (start_pos + num_leds > RGBLIGHT_LED_COUNT) return;
rgblight_ranges.effect_start_pos = start_pos;
rgblight_ranges.effect_end_pos = start_pos + num_leds;
rgblight_ranges.effect_num_leds = num_leds;
@@ -229,13 +229,7 @@ void rgblight_init(void) {
return;
}
- dprintf("rgblight_init called.\n");
dprintf("rgblight_init start!\n");
- if (!eeconfig_is_enabled()) {
- dprintf("rgblight_init eeconfig is not enabled.\n");
- eeconfig_init();
- eeconfig_update_rgblight_default();
- }
rgblight_config.raw = eeconfig_read_rgblight();
RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
if (!rgblight_config.mode) {
@@ -664,7 +658,7 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) {
}
void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) {
- if (!rgblight_config.enable || index >= RGBLED_NUM) {
+ if (!rgblight_config.enable || index >= RGBLIGHT_LED_COUNT) {
return;
}
@@ -700,7 +694,7 @@ static uint8_t get_interval_time(const uint8_t *default_interval_address, uint8_
#endif
void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8_t end) {
- if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLED_NUM) {
+ if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLIGHT_LED_COUNT) {
return;
}
@@ -727,19 +721,19 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start,
#ifndef RGBLIGHT_SPLIT
void rgblight_setrgb_master(uint8_t r, uint8_t g, uint8_t b) {
- rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLED_NUM / 2);
+ rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2);
}
void rgblight_setrgb_slave(uint8_t r, uint8_t g, uint8_t b) {
- rgblight_setrgb_range(r, g, b, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM);
+ rgblight_setrgb_range(r, g, b, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT);
}
void rgblight_sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) {
- rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2);
+ rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2);
}
void rgblight_sethsv_slave(uint8_t hue, uint8_t sat, uint8_t val) {
- rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM);
+ rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT);
}
#endif // ifndef RGBLIGHT_SPLIT
@@ -789,7 +783,7 @@ static void rgblight_layers_write(void) {
break; // No more segments
}
// Write segment.count LEDs
- rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)];
+ rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLIGHT_LED_COUNT)];
for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) {
# ifdef RGBLIGHT_LAYERS_RETAIN_VAL
sethsv(segment.hue, segment.sat, current_val, led_ptr);
@@ -900,12 +894,6 @@ void rgblight_wakeup(void) {
#endif
-__attribute__((weak)) void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
- ws2812_setleds(start_led, num_leds);
-}
-
-#ifndef RGBLIGHT_CUSTOM
-
void rgblight_set(void) {
rgb_led_t *start_led;
uint8_t num_leds = rgblight_ranges.clipping_num_leds;
@@ -915,42 +903,41 @@ void rgblight_set(void) {
led[i].r = 0;
led[i].g = 0;
led[i].b = 0;
-# ifdef RGBW
+#ifdef RGBW
led[i].w = 0;
-# endif
+#endif
}
}
-# ifdef RGBLIGHT_LAYERS
+#ifdef RGBLIGHT_LAYERS
if (rgblight_layers != NULL
-# if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF)
+# if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF)
&& rgblight_config.enable
-# elif defined(RGBLIGHT_SLEEP)
+# elif defined(RGBLIGHT_SLEEP)
&& !is_suspended
-# endif
+# endif
) {
rgblight_layers_write();
}
-# endif
+#endif
-# ifdef RGBLIGHT_LED_MAP
- rgb_led_t led0[RGBLED_NUM];
- for (uint8_t i = 0; i < RGBLED_NUM; i++) {
+#ifdef RGBLIGHT_LED_MAP
+ rgb_led_t led0[RGBLIGHT_LED_COUNT];
+ for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) {
led0[i] = led[pgm_read_byte(&led_map[i])];
}
start_led = led0 + rgblight_ranges.clipping_start_pos;
-# else
+#else
start_led = led + rgblight_ranges.clipping_start_pos;
-# endif
+#endif
-# ifdef RGBW
+#ifdef RGBW
for (uint8_t i = 0; i < num_leds; i++) {
convert_rgb_to_rgbw(&start_led[i]);
}
-# endif
- rgblight_call_driver(start_led, num_leds);
-}
#endif
+ rgblight_driver.setleds(start_led, num_leds);
+}
#ifdef RGBLIGHT_SPLIT
/* for split keyboard master side */
@@ -1279,8 +1266,8 @@ void rgblight_effect_snake(animation_status_t *anim) {
# endif
for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) {
k = pos + j * increment;
- if (k > RGBLED_NUM) {
- k = k % (RGBLED_NUM);
+ if (k > RGBLIGHT_LED_COUNT) {
+ k = k % (RGBLIGHT_LED_COUNT);
}
if (k < 0) {
k = k + rgblight_ranges.effect_num_leds;
@@ -1465,7 +1452,7 @@ typedef struct PACKED {
uint8_t max_life;
} TwinkleState;
-static TwinkleState led_twinkle_state[RGBLED_NUM];
+static TwinkleState led_twinkle_state[RGBLIGHT_LED_COUNT];
void rgblight_effect_twinkle(animation_status_t *anim) {
const bool random_color = anim->delta / 3;
diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h
index a222ab6b9f..9e2b073776 100644
--- a/quantum/rgblight/rgblight.h
+++ b/quantum/rgblight/rgblight.h
@@ -16,6 +16,12 @@
#pragma once
+// DEPRECATED DEFINES - DO NOT USE
+#if defined(RGBLED_NUM)
+# define RGBLIGHT_LED_COUNT RGBLED_NUM
+#endif
+// ========
+
/***** rgblight_mode(mode)/rgblight_mode_noeeprom(mode) ****
old mode number (before 0.6.117) to new mode name table
@@ -160,6 +166,7 @@ enum RGBLIGHT_EFFECT_MODE {
#include <stdint.h>
#include <stdbool.h>
+#include "rgblight_drivers.h"
#include "progmem.h"
#include "eeconfig.h"
#include "ws2812.h"
@@ -233,7 +240,7 @@ void rgblight_unblink_all_but_layer(uint8_t layer);
#endif
-extern rgb_led_t led[RGBLED_NUM];
+extern rgb_led_t led[RGBLIGHT_LED_COUNT];
extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM;
extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM;
diff --git a/quantum/rgblight/rgblight_drivers.c b/quantum/rgblight/rgblight_drivers.c
new file mode 100644
index 0000000000..45b60e1a5f
--- /dev/null
+++ b/quantum/rgblight/rgblight_drivers.c
@@ -0,0 +1,20 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "rgblight_drivers.h"
+
+#if defined(RGBLIGHT_WS2812)
+# include "ws2812.h"
+
+const rgblight_driver_t rgblight_driver = {
+ .setleds = ws2812_setleds,
+};
+
+#elif defined(RGBLIGHT_APA102)
+# include "apa102.h"
+
+const rgblight_driver_t rgblight_driver = {
+ .setleds = apa102_setleds,
+};
+
+#endif
diff --git a/quantum/rgblight/rgblight_drivers.h b/quantum/rgblight/rgblight_drivers.h
new file mode 100644
index 0000000000..f7125a6f3d
--- /dev/null
+++ b/quantum/rgblight/rgblight_drivers.h
@@ -0,0 +1,13 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <stdint.h>
+#include "color.h"
+
+typedef struct {
+ void (*setleds)(rgb_led_t *ledarray, uint16_t number_of_leds);
+} rgblight_driver_t;
+
+extern const rgblight_driver_t rgblight_driver;
diff --git a/quantum/send_string/send_string.c b/quantum/send_string/send_string.c
index 820fc25163..8b59c19219 100644
--- a/quantum/send_string/send_string.c
+++ b/quantum/send_string/send_string.c
@@ -147,7 +147,7 @@ __attribute__((weak)) const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
#define PGM_LOADBIT(mem, pos) ((pgm_read_byte(&((mem)[(pos) / 8])) >> ((pos) % 8)) & 0x01)
void send_string(const char *string) {
- send_string_with_delay(string, 0);
+ send_string_with_delay(string, TAP_CODE_DELAY);
}
void send_string_with_delay(const char *string, uint8_t interval) {
@@ -156,6 +156,7 @@ void send_string_with_delay(const char *string, uint8_t interval) {
if (!ascii_code) break;
if (ascii_code == SS_QMK_PREFIX) {
ascii_code = *(++string);
+
if (ascii_code == SS_TAP_CODE) {
// tap
uint8_t keycode = *(++string);
@@ -172,28 +173,30 @@ void send_string_with_delay(const char *string, uint8_t interval) {
// delay
int ms = 0;
uint8_t keycode = *(++string);
+
while (isdigit(keycode)) {
ms *= 10;
ms += keycode - '0';
keycode = *(++string);
}
- while (ms--)
- wait_ms(1);
+
+ wait_ms(ms);
}
+
+ wait_ms(interval);
} else {
- send_char(ascii_code);
+ send_char_with_delay(ascii_code, interval);
}
+
++string;
- // interval
- {
- uint8_t ms = interval;
- while (ms--)
- wait_ms(1);
- }
}
}
void send_char(char ascii_code) {
+ send_char_with_delay(ascii_code, TAP_CODE_DELAY);
+}
+
+void send_char_with_delay(char ascii_code, uint8_t interval) {
#if defined(AUDIO_ENABLE) && defined(SENDSTRING_BELL)
if (ascii_code == '\a') { // BEL
PLAY_SONG(bell_song);
@@ -208,19 +211,30 @@ void send_char(char ascii_code) {
if (is_shifted) {
register_code(KC_LEFT_SHIFT);
+ wait_ms(interval);
}
+
if (is_altgred) {
register_code(KC_RIGHT_ALT);
+ wait_ms(interval);
}
- tap_code(keycode);
+
+ tap_code_delay(keycode, interval);
+ wait_ms(interval);
+
if (is_altgred) {
unregister_code(KC_RIGHT_ALT);
+ wait_ms(interval);
}
+
if (is_shifted) {
unregister_code(KC_LEFT_SHIFT);
+ wait_ms(interval);
}
+
if (is_dead) {
tap_code(KC_SPACE);
+ wait_ms(interval);
}
}
diff --git a/quantum/send_string/send_string.h b/quantum/send_string/send_string.h
index dbaed43ebc..f727ec507d 100644
--- a/quantum/send_string/send_string.h
+++ b/quantum/send_string/send_string.h
@@ -49,7 +49,7 @@ extern const uint8_t ascii_to_keycode_lut[128];
/**
* \brief Type out a string of ASCII characters.
*
- * This function simply calls `send_string_with_delay(string, 0)`.
+ * This function simply calls `send_string_with_delay(string, TAP_CODE_DELAY)`.
*
* Most keycodes from the basic keycode range are also supported by way of a special sequence - see `send_string_keycodes.h`.
*
@@ -61,18 +61,28 @@ void send_string(const char *string);
* \brief Type out a string of ASCII characters, with a delay between each character.
*
* \param string The string to type out.
- * \param interval The amount of time, in milliseconds, to wait before typing the next character.
+ * \param interval The amount of time, in milliseconds, to wait before typing the next character. Note this can be set to 0 to ensure no delay, regardless of what TAP_CODE_DELAY is set to.
*/
void send_string_with_delay(const char *string, uint8_t interval);
/**
* \brief Type out an ASCII character.
*
+ * This function simply calls `send_char_with_delay(string, TAP_CODE_DELAY)`.
+ *
* \param ascii_code The character to type.
*/
void send_char(char ascii_code);
/**
+ * \brief Type out an ASCII character, with a delay between any modifiers.
+ *
+ * \param ascii_code The character to type.
+ * \param interval The amount of time, in milliseconds, to wait in between key presses. Note this can be set to 0 to ensure no delay, regardless of what TAP_CODE_DELAY is set to.
+ */
+void send_char_with_delay(char ascii_code, uint8_t interval);
+
+/**
* \brief Type out an eight digit (unsigned 32-bit) hexadecimal value.
*
* The format is `[0-9a-f]{8}`, eg. `00000000` through `ffffffff`.
diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c
index 874339361d..96f19bfd84 100644
--- a/quantum/split_common/split_util.c
+++ b/quantum/split_common/split_util.c
@@ -123,14 +123,14 @@ void split_watchdog_task(void) {
void matrix_io_delay(void);
static uint8_t peek_matrix_intersection(pin_t out_pin, pin_t in_pin) {
- setPinInputHigh(in_pin);
- setPinOutput(out_pin);
- writePinLow(out_pin);
+ gpio_set_pin_input_high(in_pin);
+ gpio_set_pin_output(out_pin);
+ gpio_write_pin_low(out_pin);
// It's almost unnecessary, but wait until it's down to low, just in case.
wait_us(1);
- uint8_t pin_state = readPin(in_pin);
+ uint8_t pin_state = gpio_read_pin(in_pin);
// Set out_pin to a setting that is less susceptible to noise.
- setPinInputHigh(out_pin);
+ gpio_set_pin_input_high(out_pin);
matrix_io_delay(); // Wait for the pull-up to go HIGH.
return pin_state;
}
@@ -138,19 +138,19 @@ static uint8_t peek_matrix_intersection(pin_t out_pin, pin_t in_pin) {
__attribute__((weak)) bool is_keyboard_left_impl(void) {
#if defined(SPLIT_HAND_PIN)
- setPinInput(SPLIT_HAND_PIN);
+ gpio_set_pin_input(SPLIT_HAND_PIN);
wait_us(100);
// Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand
# ifdef SPLIT_HAND_PIN_LOW_IS_LEFT
- return !readPin(SPLIT_HAND_PIN);
+ return !gpio_read_pin(SPLIT_HAND_PIN);
# else
- return readPin(SPLIT_HAND_PIN);
+ return gpio_read_pin(SPLIT_HAND_PIN);
# endif
#elif defined(SPLIT_HAND_MATRIX_GRID)
-# ifdef SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
- return peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID);
-# else
+# ifdef SPLIT_HAND_MATRIX_GRID_LOW_IS_LEFT
return !peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID);
+# else
+ return peek_matrix_intersection(SPLIT_HAND_MATRIX_GRID);
# endif
#elif defined(EE_HANDS)
if (!eeconfig_is_enabled()) {
diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h
index 4d4d2b9570..05b3bf7b62 100644
--- a/quantum/split_common/transaction_id_define.h
+++ b/quantum/split_common/transaction_id_define.h
@@ -31,6 +31,7 @@ enum serial_transaction_id {
#ifdef ENCODER_ENABLE
GET_ENCODERS_CHECKSUM,
GET_ENCODERS_DATA,
+ PUT_ENCODER_TAIL,
#endif // ENCODER_ENABLE
#ifndef DISABLE_SYNC_TIMER
diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c
index 2b9423cd63..2cfa83e7a3 100644
--- a/quantum/split_common/transactions.c
+++ b/quantum/split_common/transactions.c
@@ -234,21 +234,28 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro
#ifdef ENCODER_ENABLE
static bool encoder_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
- static uint32_t last_update = 0;
- uint8_t temp_state[NUM_ENCODERS_MAX_PER_SIDE];
+ static uint32_t last_update = 0;
+ encoder_events_t temp_events;
- bool okay = read_if_checksum_mismatch(GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, &last_update, temp_state, split_shmem->encoders.state, sizeof(temp_state));
- if (okay) encoder_update_raw(temp_state);
+ bool okay = read_if_checksum_mismatch(GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, &last_update, &temp_events, &split_shmem->encoders.events, sizeof(temp_events));
+ if (okay) {
+ encoder_handle_slave_events(&split_shmem->encoders.events);
+ transport_write(PUT_ENCODER_TAIL, &split_shmem->encoders.events.tail, sizeof(split_shmem->encoders.events.tail));
+ split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events));
+ }
return okay;
}
static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
- uint8_t encoder_state[NUM_ENCODERS_MAX_PER_SIDE];
- encoder_state_raw(encoder_state);
// Always prepare the encoder state for read.
- memcpy(split_shmem->encoders.state, encoder_state, sizeof(encoder_state));
+ encoder_retrieve_events(&split_shmem->encoders.events);
// Now update the checksum given that the encoders has been written to
- split_shmem->encoders.checksum = crc8(encoder_state, sizeof(encoder_state));
+ split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events));
+}
+
+static void encoder_handlers_slave_reset(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
+ uint8_t tail_index = *(uint8_t *)initiator2target_buffer;
+ encoder_set_tail_index(tail_index);
}
// clang-format off
@@ -256,7 +263,8 @@ static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sl
# define TRANSACTIONS_ENCODERS_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(encoder)
# define TRANSACTIONS_ENCODERS_REGISTRATIONS \
[GET_ENCODERS_CHECKSUM] = trans_target2initiator_initializer(encoders.checksum), \
- [GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.state),
+ [GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.events), \
+ [PUT_ENCODER_TAIL] = trans_initiator2target_initializer_cb(encoders.events.tail, encoder_handlers_slave_reset),
// clang-format on
#else // ENCODER_ENABLE
diff --git a/quantum/split_common/transport.c b/quantum/split_common/transport.c
index aade3c98d7..83edc34859 100644
--- a/quantum/split_common/transport.c
+++ b/quantum/split_common/transport.c
@@ -56,7 +56,7 @@ i2c_status_t transport_trigger_callback(int8_t id) {
// Kick off the "callback executor", now that data has been written to the slave
split_shmem->transaction_id = id;
split_transaction_desc_t *trans = &split_transaction_table[I2C_EXECUTE_CALLBACK];
- return i2c_writeReg(SLAVE_I2C_ADDRESS, trans->initiator2target_offset, split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size, SLAVE_I2C_TIMEOUT);
+ return i2c_write_register(SLAVE_I2C_ADDRESS, trans->initiator2target_offset, split_trans_initiator2target_buffer(trans), trans->initiator2target_buffer_size, SLAVE_I2C_TIMEOUT);
}
bool transport_execute_transaction(int8_t id, const void *initiator2target_buf, uint16_t initiator2target_length, void *target2initiator_buf, uint16_t target2initiator_length) {
@@ -65,7 +65,7 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf,
if (initiator2target_length > 0) {
size_t len = trans->initiator2target_buffer_size < initiator2target_length ? trans->initiator2target_buffer_size : initiator2target_length;
memcpy(split_trans_initiator2target_buffer(trans), initiator2target_buf, len);
- if ((status = i2c_writeReg(SLAVE_I2C_ADDRESS, trans->initiator2target_offset, split_trans_initiator2target_buffer(trans), len, SLAVE_I2C_TIMEOUT)) < 0) {
+ if ((status = i2c_write_register(SLAVE_I2C_ADDRESS, trans->initiator2target_offset, split_trans_initiator2target_buffer(trans), len, SLAVE_I2C_TIMEOUT)) < 0) {
return false;
}
}
@@ -77,7 +77,7 @@ bool transport_execute_transaction(int8_t id, const void *initiator2target_buf,
if (target2initiator_length > 0) {
size_t len = trans->target2initiator_buffer_size < target2initiator_length ? trans->target2initiator_buffer_size : target2initiator_length;
- if ((status = i2c_readReg(SLAVE_I2C_ADDRESS, trans->target2initiator_offset, split_trans_target2initiator_buffer(trans), len, SLAVE_I2C_TIMEOUT)) < 0) {
+ if ((status = i2c_read_register(SLAVE_I2C_ADDRESS, trans->target2initiator_offset, split_trans_target2initiator_buffer(trans), len, SLAVE_I2C_TIMEOUT)) < 0) {
return false;
}
memcpy(target2initiator_buf, split_trans_target2initiator_buffer(trans), len);
diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h
index 2e2b918d45..4f6b968fa8 100644
--- a/quantum/split_common/transport.h
+++ b/quantum/split_common/transport.h
@@ -65,8 +65,8 @@ typedef struct _split_master_matrix_sync_t {
#ifdef ENCODER_ENABLE
typedef struct _split_slave_encoder_sync_t {
- uint8_t checksum;
- uint8_t state[NUM_ENCODERS_MAX_PER_SIDE];
+ uint8_t checksum;
+ encoder_events_t events;
} split_slave_encoder_sync_t;
#endif // ENCODER_ENABLE
diff --git a/shell.nix b/shell.nix
index 63e5af0525..88822b0b17 100644
--- a/shell.nix
+++ b/shell.nix
@@ -1,29 +1,9 @@
let
# We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example.
sources = import ./util/nix/sources.nix { };
-
- # `tomlkit` >= 0.8.0 is required to build `jsonschema` >= 4.11.0 (older
- # version do not support some valid TOML syntax: sdispater/tomlkit#148). The
- # updated `tomlkit` must be used by `makeRemoveSpecialDependenciesHook`
- # inside `poetry2nix`, therefore just providing the updated version through
- # our `nix/pyproject.toml` does not work, and using an overlay is required.
- pythonOverlay = final: prev: {
- python3 = prev.python3.override {
- packageOverrides = self: super: {
- tomlkit = super.tomlkit.overridePythonAttrs(old: rec {
- version = "0.11.4";
- src = super.fetchPypi {
- inherit (old) pname;
- inherit version;
- sha256 = "sha256-MjWpAQ+uVDI+cnw6wG+3IHUv5mNbNCbjedrsYPvUSoM=";
- };
- });
- };
- };
- };
in
# However, if you want to override Niv's inputs, this will let you do that.
-{ pkgs ? import sources.nixpkgs { overlays = [ pythonOverlay ]; }
+{ pkgs ? import sources.nixpkgs { }
, poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { }
, avr ? true
, arm ? true
@@ -49,18 +29,22 @@ let
pythonEnv = poetry2nix.mkPoetryEnv {
projectDir = ./util/nix;
overrides = poetry2nix.overrides.withDefaults (self: super: {
- pillow = super.pillow.overridePythonAttrs(old: {
- # Use preConfigure from nixpkgs to fix library detection issues and
- # impurities which can break the build process; this also requires
- # adding propagatedBuildInputs and buildInputs from the same source.
- propagatedBuildInputs = (old.buildInputs or []) ++ pkgs.python3.pkgs.pillow.propagatedBuildInputs;
- buildInputs = (old.buildInputs or []) ++ pkgs.python3.pkgs.pillow.buildInputs;
- preConfigure = (old.preConfigure or "") + pkgs.python3.pkgs.pillow.preConfigure;
- });
qmk = super.qmk.overridePythonAttrs(old: {
# Allow QMK CLI to run "qmk" as a subprocess (the wrapper changes
# $PATH and breaks these invocations).
dontWrapPythonPrograms = true;
+
+ # Fix "qmk setup" to use the Python interpreter from the environment
+ # when invoking "qmk doctor" (sys.executable gets its value from
+ # $NIX_PYTHONEXECUTABLE, which is set by the "qmk" wrapper from the
+ # Python environment, so "qmk doctor" then runs with the proper
+ # $NIX_PYTHONPATH too, because sys.executable actually points to
+ # another wrapper from the same Python environment).
+ postPatch = ''
+ substituteInPlace qmk_cli/subcommands/setup.py \
+ --replace "[Path(sys.argv[0]).as_posix()" \
+ "[Path(sys.executable).as_posix(), Path(sys.argv[0]).as_posix()"
+ '';
});
});
};
@@ -68,7 +52,7 @@ in
mkShell {
name = "qmk-firmware";
- buildInputs = [ clang-tools dfu-programmer dfu-util diffutils git pythonEnv niv ]
+ buildInputs = [ clang-tools_11 dfu-programmer dfu-util diffutils git pythonEnv niv ]
++ lib.optional avr [
pkgsCross.avr.buildPackages.binutils
pkgsCross.avr.buildPackages.gcc8
diff --git a/tests/caps_word/test_caps_word.cpp b/tests/caps_word/test_caps_word.cpp
index 802f1e960e..28d86e9324 100644
--- a/tests/caps_word/test_caps_word.cpp
+++ b/tests/caps_word/test_caps_word.cpp
@@ -423,8 +423,8 @@ TEST_P(CapsWordBothShifts, PressLRLR) {
run_one_scan_loop();
right_shift.press();
- // For mod-tap and Space Cadet keys, wait for the tapping term.
- if (left_shift.code == LSFT_T(KC_A) || left_shift.code == QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN) {
+ // For mod-tap, wait for the tapping term.
+ if (left_shift.code == LSFT_T(KC_A)) {
idle_for(TAPPING_TERM);
}
@@ -461,7 +461,7 @@ TEST_P(CapsWordBothShifts, PressLRRL) {
run_one_scan_loop();
right_shift.press();
- if (left_shift.code == LSFT_T(KC_A) || left_shift.code == QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN) {
+ if (left_shift.code == LSFT_T(KC_A)) {
idle_for(TAPPING_TERM);
}
run_one_scan_loop();
diff --git a/tests/tap_dance/examples.c b/tests/tap_dance/examples.c
index 13086bbb4b..5377b397d3 100644
--- a/tests/tap_dance/examples.c
+++ b/tests/tap_dance/examples.c
@@ -83,7 +83,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case TD(CT_CLN):
- action = &tap_dance_actions[TD_INDEX(keycode)];
+ action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)];
if (!record->event.pressed && action->state.count && !action->state.finished) {
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data;
tap_code16(tap_hold->tap);
diff --git a/tmk_core/protocol/arm_atsam/shift_register.c b/tmk_core/protocol/arm_atsam/shift_register.c
index 3adb682aa8..e81db4a19d 100644
--- a/tmk_core/protocol/arm_atsam/shift_register.c
+++ b/tmk_core/protocol/arm_atsam/shift_register.c
@@ -28,27 +28,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define CLOCK_DELAY 10
void shift_init_impl(void) {
- setPinOutput(SR_EXP_RCLK_PIN);
- setPinOutput(SPI_DATAOUT_PIN);
- setPinOutput(SPI_SCLK_PIN);
+ gpio_set_pin_output(SR_EXP_RCLK_PIN);
+ gpio_set_pin_output(SPI_DATAOUT_PIN);
+ gpio_set_pin_output(SPI_SCLK_PIN);
}
void shift_out_impl(const uint8_t *data, uint16_t length) {
- writePinLow(SR_EXP_RCLK_PIN);
+ gpio_write_pin_low(SR_EXP_RCLK_PIN);
for (uint16_t i = 0; i < length; i++) {
uint8_t val = data[i];
// shift out lsb first
for (uint8_t bit = 0; bit < 8; bit++) {
- writePin(SPI_DATAOUT_PIN, !!(val & (1 << bit)));
- writePin(SPI_SCLK_PIN, true);
+ gpio_write_pin(SPI_DATAOUT_PIN, !!(val & (1 << bit)));
+ gpio_write_pin(SPI_SCLK_PIN, true);
wait_us(CLOCK_DELAY);
- writePin(SPI_SCLK_PIN, false);
+ gpio_write_pin(SPI_SCLK_PIN, false);
wait_us(CLOCK_DELAY);
}
}
- writePinHigh(SR_EXP_RCLK_PIN);
+ gpio_write_pin_high(SR_EXP_RCLK_PIN);
return SPI_STATUS_SUCCESS;
}
@@ -74,13 +74,13 @@ void shift_out(const uint8_t *data, uint16_t length) {
}
void shift_enable(void) {
- setPinOutput(SR_EXP_OE_PIN);
- writePinLow(SR_EXP_OE_PIN);
+ gpio_set_pin_output(SR_EXP_OE_PIN);
+ gpio_write_pin_low(SR_EXP_OE_PIN);
}
void shift_disable(void) {
- setPinOutput(SR_EXP_OE_PIN);
- writePinHigh(SR_EXP_OE_PIN);
+ gpio_set_pin_output(SR_EXP_OE_PIN);
+ gpio_write_pin_high(SR_EXP_OE_PIN);
}
void shift_init(void) {
diff --git a/tmk_core/protocol/arm_atsam/spi_master.c b/tmk_core/protocol/arm_atsam/spi_master.c
index 3be82fac1d..fedb9654fd 100644
--- a/tmk_core/protocol/arm_atsam/spi_master.c
+++ b/tmk_core/protocol/arm_atsam/spi_master.c
@@ -60,8 +60,8 @@ bool spi_start(pin_t csPin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
}
currentSelectPin = csPin;
- setPinOutput(currentSelectPin);
- writePinLow(currentSelectPin);
+ gpio_set_pin_output(currentSelectPin);
+ gpio_write_pin_low(currentSelectPin);
SPI_SERCOM->SPI.CTRLA.bit.DORD = lsbFirst; // Data Order - LSB is transferred first
SPI_SERCOM->SPI.CTRLA.bit.CPOL = 1; // Clock Polarity - SCK high when idle. Leading edge of cycle is falling. Trailing rising.
@@ -94,8 +94,8 @@ spi_status_t spi_transmit(const uint8_t *data, uint16_t length) {
void spi_stop(void) {
if (currentSelectPin != NO_PIN) {
- setPinOutput(currentSelectPin);
- writePinHigh(currentSelectPin);
+ gpio_set_pin_output(currentSelectPin);
+ gpio_write_pin_high(currentSelectPin);
currentSelectPin = NO_PIN;
}
}
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c
index 66f9ad0318..7b1e641213 100644
--- a/tmk_core/protocol/chibios/usb_main.c
+++ b/tmk_core/protocol/chibios/usb_main.c
@@ -51,6 +51,11 @@
extern keymap_config_t keymap_config;
#endif
+#if defined(CONSOLE_ENABLE)
+# define RBUF_SIZE 256
+# include "ring_buffer.h"
+#endif
+
/* ---------------------------------------------------------
* Global interface variables and declarations
* ---------------------------------------------------------
@@ -217,6 +222,24 @@ static const USBEndpointConfig digitizer_ep_config = {
};
#endif
+#ifdef CONSOLE_ENABLE
+/* Console endpoint state structure */
+static USBInEndpointState console_ep_state;
+
+/* Console endpoint initialization structure (IN) - see USBEndpointConfig comment at top of file */
+static const USBEndpointConfig console_ep_config = {
+ USB_EP_MODE_TYPE_INTR, /* Interrupt EP */
+ NULL, /* SETUP packet notification callback */
+ dummy_usb_cb, /* IN notification callback */
+ NULL, /* OUT notification callback */
+ CONSOLE_EPSIZE, /* IN maximum packet size */
+ 0, /* OUT maximum packet size */
+ &console_ep_state, /* IN Endpoint state */
+ NULL, /* OUT endpoint state */
+ usb_lld_endpoint_fields /* USB driver specific endpoint fields */
+};
+#endif
+
#ifdef USB_ENDPOINTS_ARE_REORDERABLE
typedef struct {
size_t queue_capacity_in;
@@ -347,9 +370,6 @@ typedef struct {
typedef struct {
union {
struct {
-#ifdef CONSOLE_ENABLE
- usb_driver_config_t console_driver;
-#endif
#ifdef RAW_ENABLE
usb_driver_config_t raw_driver;
#endif
@@ -365,13 +385,6 @@ typedef struct {
} usb_driver_configs_t;
static usb_driver_configs_t drivers = {
-#ifdef CONSOLE_ENABLE
-# define CONSOLE_IN_CAPACITY 4
-# define CONSOLE_OUT_CAPACITY 4
-# define CONSOLE_IN_MODE USB_EP_MODE_TYPE_INTR
-# define CONSOLE_OUT_MODE USB_EP_MODE_TYPE_INTR
- .console_driver = QMK_USB_DRIVER_CONFIG(CONSOLE, 0, true),
-#endif
#ifdef RAW_ENABLE
# ifndef RAW_IN_CAPACITY
# define RAW_IN_CAPACITY 4
@@ -510,6 +523,9 @@ static void usb_event_cb(USBDriver *usbp, usbevent_t event) {
#if defined(DIGITIZER_ENABLE) && !defined(DIGITIZER_SHARED_EP)
usbInitEndpointI(usbp, DIGITIZER_IN_EPNUM, &digitizer_ep_config);
#endif
+#ifdef CONSOLE_ENABLE
+ usbInitEndpointI(usbp, CONSOLE_IN_EPNUM, &console_ep_config);
+#endif
for (int i = 0; i < NUM_USB_DRIVERS; i++) {
#ifdef USB_ENDPOINTS_ARE_REORDERABLE
usbInitEndpointI(usbp, drivers.array[i].config.bulk_in, &drivers.array[i].inout_ep_config);
@@ -915,50 +931,35 @@ void send_digitizer(report_digitizer_t *report) {
#ifdef CONSOLE_ENABLE
int8_t sendchar(uint8_t c) {
- static bool timed_out = false;
- /* The `timed_out` state is an approximation of the ideal `is_listener_disconnected?` state.
- *
- * When a 5ms timeout write has timed out, hid_listen is most likely not running, or not
- * listening to this keyboard, so we go into the timed_out state. In this state we assume
- * that hid_listen is most likely not gonna be connected to us any time soon, so it would
- * be wasteful to write follow-up characters with a 5ms timeout, it would all add up and
- * unncecessarily slow down the firmware. However instead of just dropping the characters,
- * we write them with a TIME_IMMEDIATE timeout, which is a zero timeout,
- * and this will succeed only if hid_listen gets connected again. When a write with
- * TIME_IMMEDIATE timeout succeeds, we know that hid_listen is listening to us again, and
- * we can go back to the timed_out = false state, and following writes will be executed
- * with a 5ms timeout. The reason we don't just send all characters with the TIME_IMMEDIATE
- * timeout is that this could cause bytes to be lost even if hid_listen is running, if there
- * is a lot of data being sent over the console.
- *
- * This logic will work correctly as long as hid_listen is able to receive at least 200
- * bytes per second. On a heavily overloaded machine that's so overloaded that it's
- * unusable, and constantly swapping, hid_listen might have trouble receiving 200 bytes per
- * second, so some bytes might be lost on the console.
- */
-
- const sysinterval_t timeout = timed_out ? TIME_IMMEDIATE : TIME_MS2I(5);
- const size_t result = chnWriteTimeout(&drivers.console_driver.driver, &c, 1, timeout);
- timed_out = (result == 0);
- return result;
-}
-
-// Just a dummy function for now, this could be exposed as a weak function
-// Or connected to the actual QMK console
-static void console_receive(uint8_t *data, uint8_t length) {
- (void)data;
- (void)length;
+ rbuf_enqueue(c);
+ return 0;
}
void console_task(void) {
- uint8_t buffer[CONSOLE_EPSIZE];
- size_t size = 0;
- do {
- size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);
- if (size > 0) {
- console_receive(buffer, size);
- }
- } while (size > 0);
+ if (!rbuf_has_data()) {
+ return;
+ }
+
+ osalSysLock();
+ if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) {
+ osalSysUnlock();
+ return;
+ }
+
+ if (usbGetTransmitStatusI(&USB_DRIVER, CONSOLE_IN_EPNUM)) {
+ osalSysUnlock();
+ return;
+ }
+
+ // Send in chunks - padded with zeros to 32
+ char send_buf[CONSOLE_EPSIZE] = {0};
+ uint8_t send_buf_count = 0;
+ while (rbuf_has_data() && send_buf_count < CONSOLE_EPSIZE) {
+ send_buf[send_buf_count++] = rbuf_dequeue();
+ }
+
+ usbStartTransmitI(&USB_DRIVER, CONSOLE_IN_EPNUM, (const uint8_t *)send_buf, CONSOLE_EPSIZE);
+ osalSysUnlock();
}
#endif /* CONSOLE_ENABLE */
diff --git a/tmk_core/protocol/chibios/usb_main.h b/tmk_core/protocol/chibios/usb_main.h
index 07186f76b8..3fd1e84fe8 100644
--- a/tmk_core/protocol/chibios/usb_main.h
+++ b/tmk_core/protocol/chibios/usb_main.h
@@ -57,7 +57,4 @@ void usb_event_queue_task(void);
/* Putchar over the USB console */
int8_t sendchar(uint8_t c);
-/* Flush output (send everything immediately) */
-void console_flush_output(void);
-
#endif /* CONSOLE_ENABLE */
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 553f69b1e4..22cc0db8ce 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -184,41 +184,16 @@ static void raw_hid_task(void) {
* Console
******************************************************************************/
#ifdef CONSOLE_ENABLE
-/** \brief Console Task
+/** \brief Console Tasks
*
* FIXME: Needs doc
*/
-static void Console_Task(void) {
+static void console_flush_task(void) {
/* Device must be connected and configured for the task to run */
if (USB_DeviceState != DEVICE_STATE_Configured) return;
uint8_t ep = Endpoint_GetCurrentEndpoint();
-# if 0
- // TODO: impl receivechar()/recvchar()
- Endpoint_SelectEndpoint(CONSOLE_OUT_EPNUM);
-
- /* Check to see if a packet has been sent from the host */
- if (Endpoint_IsOUTReceived())
- {
- /* Check to see if the packet contains data */
- if (Endpoint_IsReadWriteAllowed())
- {
- /* Create a temporary buffer to hold the read in report from the host */
- uint8_t ConsoleData[CONSOLE_EPSIZE];
-
- /* Read Console Report Data */
- Endpoint_Read_Stream_LE(&ConsoleData, sizeof(ConsoleData), NULL);
-
- /* Process Console Report Data */
- //ProcessConsoleHIDReport(ConsoleData);
- }
-
- /* Finalize the stream transfer to send the last packet */
- Endpoint_ClearOUT();
- }
-# endif
-
/* IN packet */
Endpoint_SelectEndpoint(CONSOLE_IN_EPNUM);
if (!Endpoint_IsEnabled() || !Endpoint_IsConfigured()) {
@@ -237,6 +212,10 @@ static void Console_Task(void) {
Endpoint_SelectEndpoint(ep);
}
+
+void console_task(void) {
+ // do nothing
+}
#endif
/*******************************************************************************
@@ -341,7 +320,7 @@ void EVENT_USB_Device_StartOfFrame(void) {
count = 0;
if (!console_flush) return;
- Console_Task();
+ console_flush_task();
console_flush = false;
}
@@ -381,9 +360,6 @@ void EVENT_USB_Device_ConfigurationChanged(void) {
#ifdef CONSOLE_ENABLE
/* Setup console endpoint */
ConfigSuccess &= Endpoint_ConfigureEndpoint((CONSOLE_IN_EPNUM | ENDPOINT_DIR_IN), EP_TYPE_INTERRUPT, CONSOLE_EPSIZE, 1);
-# if 0
- ConfigSuccess &= Endpoint_ConfigureEndpoint((CONSOLE_OUT_EPNUM | ENDPOINT_DIR_OUT), EP_TYPE_INTERRUPT, CONSOLE_EPSIZE, 1);
-# endif
#endif
#ifdef MIDI_ENABLE
@@ -627,7 +603,7 @@ int8_t sendchar(uint8_t c) {
// The `timed_out` state is an approximation of the ideal `is_listener_disconnected?` state.
static bool timed_out = false;
- // prevents Console_Task() from running during sendchar() runs.
+ // prevents console_flush_task() from running during sendchar() runs.
// or char will be lost. These two function is mutually exclusive.
CONSOLE_FLUSH_SET(false);
@@ -812,7 +788,7 @@ static void setup_usb(void) {
USB_Init();
- // for Console_Task
+ // for console_flush_task
USB_Device_EnableSOFEvents();
}
@@ -876,6 +852,10 @@ void protocol_pre_task(void) {
}
void protocol_post_task(void) {
+#ifdef CONSOLE_ENABLE
+ console_task();
+#endif
+
#ifdef MIDI_ENABLE
MIDI_Device_USBTask(&USB_MIDI_Interface);
#endif
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c
index eb214c0492..0e2e63ad8e 100644
--- a/tmk_core/protocol/usb_descriptor.c
+++ b/tmk_core/protocol/usb_descriptor.c
@@ -420,14 +420,6 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = {
HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
-
- // Data from host
- HID_RI_USAGE(8, 0x76), // Vendor Defined
- HID_RI_LOGICAL_MINIMUM(8, 0x00),
- HID_RI_LOGICAL_MAXIMUM(16, 0x00FF),
- HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE),
- HID_RI_REPORT_SIZE(8, 0x08),
- HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
HID_RI_END_COLLECTION(0),
};
#endif
@@ -677,7 +669,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = {
},
.InterfaceNumber = CONSOLE_INTERFACE,
.AlternateSetting = 0x00,
- .TotalEndpoints = 2,
+ .TotalEndpoints = 1,
.Class = HID_CSCP_HIDClass,
.SubClass = HID_CSCP_NonBootSubclass,
.Protocol = HID_CSCP_NonBootProtocol,
@@ -704,16 +696,6 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = {
.EndpointSize = CONSOLE_EPSIZE,
.PollingIntervalMS = 0x01
},
- .Console_OUTEndpoint = {
- .Header = {
- .Size = sizeof(USB_Descriptor_Endpoint_t),
- .Type = DTYPE_Endpoint
- },
- .EndpointAddress = (ENDPOINT_DIR_OUT | CONSOLE_OUT_EPNUM),
- .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
- .EndpointSize = CONSOLE_EPSIZE,
- .PollingIntervalMS = 0x01
- },
#endif
#ifdef MIDI_ENABLE
diff --git a/tmk_core/protocol/usb_descriptor.h b/tmk_core/protocol/usb_descriptor.h
index 1268bdae73..2469990f4d 100644
--- a/tmk_core/protocol/usb_descriptor.h
+++ b/tmk_core/protocol/usb_descriptor.h
@@ -97,7 +97,6 @@ typedef struct {
USB_Descriptor_Interface_t Console_Interface;
USB_HID_Descriptor_HID_t Console_HID;
USB_Descriptor_Endpoint_t Console_INEndpoint;
- USB_Descriptor_Endpoint_t Console_OUTEndpoint;
#endif
#ifdef MIDI_ENABLE
@@ -232,19 +231,6 @@ enum usb_endpoints {
#ifdef CONSOLE_ENABLE
CONSOLE_IN_EPNUM = NEXT_EPNUM,
-
-# ifdef PROTOCOL_CHIBIOS
-// ChibiOS has enough memory and descriptor to actually enable the endpoint
-// It could use the same endpoint numbers, as that's supported by ChibiOS
-// But the QMK code currently assumes that the endpoint numbers are different
-# ifdef USB_ENDPOINTS_ARE_REORDERABLE
-# define CONSOLE_OUT_EPNUM CONSOLE_IN_EPNUM
-# else
- CONSOLE_OUT_EPNUM = NEXT_EPNUM,
-# endif
-# else
-# define CONSOLE_OUT_EPNUM CONSOLE_IN_EPNUM
-# endif
#endif
#ifdef MIDI_ENABLE
diff --git a/tmk_core/protocol/usb_device_state.c b/tmk_core/protocol/usb_device_state.c
index 8d56ba4d2f..4cd241528d 100644
--- a/tmk_core/protocol/usb_device_state.c
+++ b/tmk_core/protocol/usb_device_state.c
@@ -20,6 +20,10 @@
# include "haptic.h"
#endif
+#ifdef OS_DETECTION_ENABLE
+# include "os_detection.h"
+#endif
+
enum usb_device_state usb_device_state = USB_DEVICE_STATE_NO_INIT;
__attribute__((weak)) void notify_usb_device_state_change_kb(enum usb_device_state usb_device_state) {
@@ -32,7 +36,12 @@ static void notify_usb_device_state_change(enum usb_device_state usb_device_stat
#if defined(HAPTIC_ENABLE) && HAPTIC_OFF_IN_LOW_POWER
haptic_notify_usb_device_state_change();
#endif
+
notify_usb_device_state_change_kb(usb_device_state);
+
+#ifdef OS_DETECTION_ENABLE
+ os_detection_notify_usb_device_state_change(usb_device_state);
+#endif
}
void usb_device_state_set_configuration(bool isConfigured, uint8_t configurationNumber) {
diff --git a/tmk_core/protocol/usb_util.c b/tmk_core/protocol/usb_util.c
index 3b3be4a767..a130e8b5e3 100644
--- a/tmk_core/protocol/usb_util.c
+++ b/tmk_core/protocol/usb_util.c
@@ -26,9 +26,9 @@ __attribute__((weak)) bool usb_connected_state(void) {
__attribute__((weak)) bool usb_vbus_state(void) {
#ifdef USB_VBUS_PIN
- setPinInput(USB_VBUS_PIN);
+ gpio_set_pin_input(USB_VBUS_PIN);
wait_us(5);
- return readPin(USB_VBUS_PIN);
+ return gpio_read_pin(USB_VBUS_PIN);
#else
return true;
#endif
diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c
index 1f64561274..6178d48ef2 100644
--- a/tmk_core/protocol/vusb/protocol.c
+++ b/tmk_core/protocol/vusb/protocol.c
@@ -22,7 +22,7 @@
#include "keyboard.h"
#include "host.h"
#include "timer.h"
-#include "print.h"
+#include "debug.h"
#include "suspend.h"
#include "wait.h"
#include "sendchar.h"
@@ -53,7 +53,7 @@ static void initForUsbConnectivity(void) {
usbDeviceConnect();
}
-static void vusb_send_remote_wakeup(void) {
+static inline void vusb_send_remote_wakeup(void) {
cli();
uint8_t ddr_orig = USBDDR;
@@ -72,9 +72,7 @@ static void vusb_send_remote_wakeup(void) {
bool vusb_suspended = false;
-static void vusb_suspend(void) {
- vusb_suspended = true;
-
+static inline void vusb_suspend(void) {
#ifdef SLEEP_LED_ENABLE
sleep_led_enable();
#endif
@@ -82,16 +80,13 @@ static void vusb_suspend(void) {
suspend_power_down();
}
-#if USB_COUNT_SOF
-static void vusb_wakeup(void) {
- vusb_suspended = false;
+static inline void vusb_wakeup(void) {
suspend_wakeup_init();
-# ifdef SLEEP_LED_ENABLE
+#ifdef SLEEP_LED_ENABLE
sleep_led_disable();
-# endif
-}
#endif
+}
/** \brief Setup USB
*
@@ -125,49 +120,67 @@ void protocol_post_init(void) {
wait_ms(50);
}
-void protocol_task(void) {
+static inline bool should_do_suspend(void) {
#if USB_COUNT_SOF
if (usbSofCount != 0) {
- usbSofCount = 0;
- sof_timer = timer_read();
- if (vusb_suspended) {
- vusb_wakeup();
- }
+ usbSofCount = 0;
+ sof_timer = timer_read();
+ vusb_suspended = false;
} else {
// Suspend when no SOF in 3ms-10ms(7.1.7.4 Suspending of USB1.1)
if (!vusb_suspended && timer_elapsed(sof_timer) > 5) {
- vusb_suspend();
+ vusb_suspended = true;
}
}
#endif
- if (vusb_suspended) {
- vusb_suspend();
- if (suspend_wakeup_condition()) {
- vusb_send_remote_wakeup();
- }
- } else {
- usbPoll();
+ return vusb_suspended;
+}
- // TODO: configuration process is inconsistent. it sometime fails.
- // To prevent failing to configure NOT scan keyboard during configuration
- if (usbConfiguration && usbInterruptIsReady()) {
- keyboard_task();
+void protocol_task(void) {
+#if !defined(NO_USB_STARTUP_CHECK)
+ if (should_do_suspend()) {
+ dprintln("suspending keyboard");
+ while (should_do_suspend()) {
+ vusb_suspend();
+ if (suspend_wakeup_condition()) {
+ vusb_send_remote_wakeup();
+
+# if USB_SUSPEND_WAKEUP_DELAY > 0
+ // Some hubs, kvm switches, and monitors do
+ // weird things, with USB device state bouncing
+ // around wildly on wakeup, yielding race
+ // conditions that can corrupt the keyboard state.
+ //
+ // Pause for a while to let things settle...
+ wait_ms(USB_SUSPEND_WAKEUP_DELAY);
+# endif
+ }
}
+ vusb_wakeup();
+ }
+#endif
+
+ usbPoll();
+
+ // TODO: configuration process is inconsistent. it sometime fails.
+ // To prevent failing to configure NOT scan keyboard during configuration
+ if (usbConfiguration && usbInterruptIsReady()) {
+ keyboard_task();
+ }
#ifdef RAW_ENABLE
- usbPoll();
+ usbPoll();
- if (usbConfiguration && usbInterruptIsReady4()) {
- raw_hid_task();
- }
+ if (usbConfiguration && usbInterruptIsReady4()) {
+ raw_hid_task();
+ }
#endif
#ifdef CONSOLE_ENABLE
- usbPoll();
+ usbPoll();
- if (usbConfiguration && usbInterruptIsReady3()) {
- console_task();
- }
-#endif
+ if (usbConfiguration && usbInterruptIsReady3()) {
+ console_task();
}
+#endif
}
diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c
index d09b2f19b7..cfeeed3712 100644
--- a/tmk_core/protocol/vusb/vusb.c
+++ b/tmk_core/protocol/vusb/vusb.c
@@ -717,13 +717,6 @@ const PROGMEM uchar console_hid_report[] = {
0x95, CONSOLE_BUFFER_SIZE, // Report Count
0x75, 0x08, // Report Size (8)
0x81, 0x02, // Input (Data, Variable, Absolute)
- // Data from host
- 0x09, 0x76, // Usage (Vendor Defined)
- 0x15, 0x00, // Logical Minimum (0x00)
- 0x26, 0xFF, 0x00, // Logical Maximum (0x00FF)
- 0x95, CONSOLE_BUFFER_SIZE, // Report Count
- 0x75, 0x08, // Report Size (8)
- 0x91, 0x02, // Output (Data)
0xC0 // End Collection
};
#endif
@@ -991,16 +984,6 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
.wMaxPacketSize = CONSOLE_EPSIZE,
.bInterval = 0x01
},
- .consoleOUTEndpoint = {
- .header = {
- .bLength = sizeof(usbEndpointDescriptor_t),
- .bDescriptorType = USBDESCR_ENDPOINT
- },
- .bEndpointAddress = (USBRQ_DIR_HOST_TO_DEVICE | USB_CFG_EP3_NUMBER),
- .bmAttributes = 0x03,
- .wMaxPacketSize = CONSOLE_EPSIZE,
- .bInterval = 0x01
- }
# endif
};
diff --git a/tmk_core/protocol/vusb/vusb.h b/tmk_core/protocol/vusb/vusb.h
index ae17e5e014..4750e95bf2 100644
--- a/tmk_core/protocol/vusb/vusb.h
+++ b/tmk_core/protocol/vusb/vusb.h
@@ -114,7 +114,6 @@ typedef struct usbConfigurationDescriptor {
usbInterfaceDescriptor_t consoleInterface;
usbHIDDescriptor_t consoleHID;
usbEndpointDescriptor_t consoleINEndpoint;
- usbEndpointDescriptor_t consoleOUTEndpoint;
#endif
} __attribute__((packed)) usbConfigurationDescriptor_t;
diff --git a/util/drivers.txt b/util/drivers.txt
index 1f6c67c4c5..e8ed7bdb0b 100644
--- a/util/drivers.txt
+++ b/util/drivers.txt
@@ -8,10 +8,10 @@ winusb,APM32 Bootloader,314B,0106,9ff3cc31-6772-4a3f-a492-a80d91f7a853
winusb,STM32duino Bootloader,1EAF,0003,746915ec-99d8-4a90-a722-3c85ba31e4fe
libusbk,USBaspLoader,16C0,05DC,e69affdc-0ef0-427c-aefb-4e593c9d2724
winusb,Kiibohd DFU Bootloader,1C11,B007,aa5a3f86-b81e-4416-89ad-0c1ea1ed63af
-libusb,ATmega16U2,03EB,2FEF,007274da-b75f-492e-a288-8fc0aff8339f
-libusb,ATmega32U2,03EB,2FF0,ddc2c572-cb6e-4f61-a6cc-1a5de941f063
-libusb,ATmega16U4,03EB,2FF3,3180d426-bf93-4578-a693-2efbc337da8e
-libusb,ATmega32U4,03EB,2FF4,5f9726fd-f9de-487a-9fbd-8b3524a7a56a
-libusb,AT90USB64,03EB,2FF9,c6a708ad-e97d-43cd-b04a-3180d737a71b
-libusb,AT90USB162,03EB,2FFA,ef8546f0-ef09-4e7c-8fc2-ffbae1dcd84a
-libusb,AT90USB128,03EB,2FFB,fd217df3-59d0-440a-a8f3-4c0c8c84daa3
+winusb,ATmega16U2,03EB,2FEF,007274da-b75f-492e-a288-8fc0aff8339f
+winusb,ATmega32U2,03EB,2FF0,ddc2c572-cb6e-4f61-a6cc-1a5de941f063
+winusb,ATmega16U4,03EB,2FF3,3180d426-bf93-4578-a693-2efbc337da8e
+winusb,ATmega32U4,03EB,2FF4,5f9726fd-f9de-487a-9fbd-8b3524a7a56a
+winusb,AT90USB64,03EB,2FF9,c6a708ad-e97d-43cd-b04a-3180d737a71b
+winusb,AT90USB162,03EB,2FFA,ef8546f0-ef09-4e7c-8fc2-ffbae1dcd84a
+winusb,AT90USB128,03EB,2FFB,fd217df3-59d0-440a-a8f3-4c0c8c84daa3
diff --git a/util/nix/poetry.lock b/util/nix/poetry.lock
index dc1b38be84..e9ac914702 100644
--- a/util/nix/poetry.lock
+++ b/util/nix/poetry.lock
@@ -1,96 +1,97 @@
+# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
+
[[package]]
name = "appdirs"
version = "1.4.4"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
+ {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
+]
[[package]]
name = "argcomplete"
-version = "2.0.0"
+version = "3.2.2"
description = "Bash tab completion for argparse"
-category = "main"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
+files = [
+ {file = "argcomplete-3.2.2-py3-none-any.whl", hash = "sha256:e44f4e7985883ab3e73a103ef0acd27299dbfe2dfed00142c35d4ddd3005901d"},
+ {file = "argcomplete-3.2.2.tar.gz", hash = "sha256:f3e49e8ea59b4026ee29548e24488af46e30c9de57d48638e24f54a1ea1000a2"},
+]
[package.extras]
-test = ["wheel", "pexpect", "flake8", "coverage"]
-
-[[package]]
-name = "atomicwrites"
-version = "1.4.1"
-description = "Atomic file writes."
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+test = ["coverage", "mypy", "pexpect", "ruff", "wheel"]
[[package]]
name = "attrs"
-version = "22.1.0"
+version = "23.2.0"
description = "Classes Without Boilerplate"
-category = "main"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.7"
+files = [
+ {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
+ {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
+]
[package.extras]
-tests_no_zope = ["cloudpickle", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"]
-tests = ["cloudpickle", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"]
-docs = ["sphinx-notfound-page", "zope.interface", "sphinx", "furo"]
-dev = ["cloudpickle", "pre-commit", "sphinx-notfound-page", "sphinx", "furo", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"]
+cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
+dev = ["attrs[tests]", "pre-commit"]
+docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
+tests = ["attrs[tests-no-zope]", "zope-interface"]
+tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
+tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
[[package]]
name = "colorama"
-version = "0.4.5"
+version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+files = [
+ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
+ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
+]
[[package]]
name = "dotty-dict"
version = "1.3.1"
description = "Dictionary wrapper for quick access to deeply nested keys."
-category = "main"
optional = false
python-versions = ">=3.5,<4.0"
-
-[[package]]
-name = "editables"
-version = "0.3"
-description = "Editable installations"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
+files = [
+ {file = "dotty_dict-1.3.1-py3-none-any.whl", hash = "sha256:5022d234d9922f13aa711b4950372a06a6d64cb6d6db9ba43d0ba133ebfce31f"},
+ {file = "dotty_dict-1.3.1.tar.gz", hash = "sha256:4b016e03b8ae265539757a53eba24b9bfda506fb94fbce0bee843c6f05541a15"},
+]
[[package]]
name = "flake8"
-version = "5.0.4"
+version = "7.0.0"
description = "the modular source code checker: pep8 pyflakes and co"
-category = "dev"
optional = false
-python-versions = ">=3.6.1"
+python-versions = ">=3.8.1"
+files = [
+ {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"},
+ {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"},
+]
[package.dependencies]
mccabe = ">=0.7.0,<0.8.0"
-pycodestyle = ">=2.9.0,<2.10.0"
-pyflakes = ">=2.5.0,<2.6.0"
-
-[[package]]
-name = "flit-core"
-version = "3.7.1"
-description = "Distribution-building parts of Flit. See flit package for more information"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
+pycodestyle = ">=2.11.0,<2.12.0"
+pyflakes = ">=3.2.0,<3.3.0"
[[package]]
name = "halo"
version = "0.0.31"
description = "Beautiful terminal spinners in Python"
-category = "main"
optional = false
python-versions = ">=3.4"
+files = [
+ {file = "halo-0.0.31-py2-none-any.whl", hash = "sha256:5350488fb7d2aa7c31a1344120cee67a872901ce8858f60da7946cef96c208ab"},
+ {file = "halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6"},
+]
[package.dependencies]
colorama = ">=0.3.9"
@@ -100,115 +101,94 @@ spinners = ">=0.0.24"
termcolor = ">=1.1.0"
[package.extras]
-ipython = ["ipywidgets (==7.1.0)", "IPython (==5.7.0)"]
-
-[[package]]
-name = "hatch-fancy-pypi-readme"
-version = "22.3.0"
-description = "Fancy PyPI READMEs with Hatch"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-
-[package.dependencies]
-hatchling = "*"
-tomli = {version = "*", markers = "python_version < \"3.11\""}
-
-[package.extras]
-tests = ["wheel", "pytest-icdiff", "pytest", "coverage", "build"]
-dev = ["mypy", "hatch-fancy-pypi-readme"]
-
-[[package]]
-name = "hatch-vcs"
-version = "0.2.0"
-description = "Hatch plugin for versioning with your preferred VCS"
-category = "dev"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-hatchling = ">=0.21.0"
-setuptools-scm = {version = ">=6.4.0", markers = "python_version > \"3\""}
-
-[[package]]
-name = "hatchling"
-version = "1.8.0"
-description = "Modern, extensible Python build backend"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-
-[package.dependencies]
-editables = ">=0.3"
-packaging = ">=21.3"
-pathspec = ">=0.9"
-pluggy = ">=1.0.0"
-tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""}
+ipython = ["IPython (==5.7.0)", "ipywidgets (==7.1.0)"]
[[package]]
name = "hid"
-version = "1.0.5"
+version = "1.0.6"
description = "ctypes bindings for hidapi"
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "hid-1.0.6-py3-none-any.whl", hash = "sha256:60446054aec54a767d9a4e97920761f41809a055c6d51c54879e37a706dcb588"},
+ {file = "hid-1.0.6.tar.gz", hash = "sha256:48d764d7ae9746ba123b96dbf457893ca80268b7791c4b1d2e051310eeb83860"},
+]
[[package]]
name = "hjson"
version = "3.1.0"
description = "Hjson, a user interface for JSON."
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "hjson-3.1.0-py3-none-any.whl", hash = "sha256:65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89"},
+ {file = "hjson-3.1.0.tar.gz", hash = "sha256:55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75"},
+]
[[package]]
-name = "importlib-resources"
-version = "5.9.0"
-description = "Read resources from Python packages"
-category = "main"
+name = "importlib-metadata"
+version = "7.0.1"
+description = "Read metadata from Python packages"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"},
+ {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"},
+]
[package.dependencies]
-zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
+zipp = ">=0.5"
[package.extras]
-testing = ["pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"]
-docs = ["jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"]
-
-[[package]]
-name = "iniconfig"
-version = "1.1.1"
-description = "iniconfig: brain-dead simple config-ini parsing"
-category = "dev"
-optional = false
-python-versions = "*"
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+perf = ["ipython"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "jsonschema"
-version = "4.14.0"
+version = "4.21.1"
description = "An implementation of JSON Schema validation for Python"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"},
+ {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"},
+]
[package.dependencies]
-attrs = ">=17.4.0"
-importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
-pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""}
-pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
+attrs = ">=22.2.0"
+jsonschema-specifications = ">=2023.03.6"
+referencing = ">=0.28.4"
+rpds-py = ">=0.7.1"
[package.extras]
-format-nongpl = ["webcolors (>=1.11)", "uri-template", "rfc3986-validator (>0.1.0)", "rfc3339-validator", "jsonpointer (>1.13)", "isoduration", "idna", "fqdn"]
-format = ["webcolors (>=1.11)", "uri-template", "rfc3987", "rfc3339-validator", "jsonpointer (>1.13)", "isoduration", "idna", "fqdn"]
+format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
+format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
+
+[[package]]
+name = "jsonschema-specifications"
+version = "2023.12.1"
+description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"},
+ {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"},
+]
+
+[package.dependencies]
+referencing = ">=0.31.0"
[[package]]
name = "log-symbols"
version = "0.0.14"
description = "Colored symbols for various log levels for Python"
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca"},
+ {file = "log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556"},
+]
[package.dependencies]
colorama = ">=0.3.9"
@@ -217,17 +197,23 @@ colorama = ">=0.3.9"
name = "mccabe"
version = "0.7.0"
description = "McCabe checker, plugin for flake8"
-category = "dev"
optional = false
python-versions = ">=3.6"
+files = [
+ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
+ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
+]
[[package]]
name = "milc"
-version = "1.6.6"
+version = "1.8.0"
description = "Opinionated Batteries-Included Python 3 CLI Framework."
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
+files = [
+ {file = "milc-1.8.0-py2.py3-none-any.whl", hash = "sha256:faee16fe92ce13eb1b0b4e24ac5b5003d7234880a8d21e4210016d70512bc921"},
+ {file = "milc-1.8.0.tar.gz", hash = "sha256:cabe658de07ab97f937c7672b8a604cc825174c28d66d3afd047a9b4b2770bbe"},
+]
[package.dependencies]
appdirs = "*"
@@ -235,543 +221,451 @@ argcomplete = "*"
colorama = "*"
halo = "*"
spinners = "*"
+types-colorama = "*"
[[package]]
name = "nose2"
-version = "0.12.0"
-description = "unittest2 with plugins, the successor to nose"
-category = "dev"
+version = "0.14.1"
+description = "unittest with plugins"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
+files = [
+ {file = "nose2-0.14.1-py3-none-any.whl", hash = "sha256:dfbf0d90c98b8d7bbf47d7721c7554ffcca86828ec074c985bb6ecc83c445a4e"},
+ {file = "nose2-0.14.1.tar.gz", hash = "sha256:7f8f03a21c9de2c33015933afcef72bf8e4a2d5dfec3b40092287de6e41b093a"},
+]
[package.extras]
-dev = ["sphinx-issues", "mock", "sphinx-rtd-theme", "sphinx"]
-coverage_plugin = ["coverage"]
-
-[[package]]
-name = "packaging"
-version = "21.3"
-description = "Core utilities for Python packages"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-
-[package.dependencies]
-pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
-
-[[package]]
-name = "pathspec"
-version = "0.9.0"
-description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+coverage-plugin = ["coverage"]
+dev = ["Sphinx", "sphinx-issues", "sphinx-rtd-theme"]
[[package]]
name = "pep8-naming"
-version = "0.13.2"
+version = "0.13.3"
description = "Check PEP-8 naming conventions, plugin for flake8"
-category = "dev"
optional = false
python-versions = ">=3.7"
+files = [
+ {file = "pep8-naming-0.13.3.tar.gz", hash = "sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971"},
+ {file = "pep8_naming-0.13.3-py3-none-any.whl", hash = "sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80"},
+]
[package.dependencies]
-flake8 = ">=3.9.1"
+flake8 = ">=5.0.0"
[[package]]
name = "pillow"
-version = "9.2.0"
+version = "10.2.0"
description = "Python Imaging Library (Fork)"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"},
+ {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"},
+ {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"},
+ {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"},
+ {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"},
+ {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"},
+ {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"},
+ {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"},
+ {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"},
+ {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"},
+ {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"},
+ {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"},
+ {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"},
+ {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"},
+ {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"},
+ {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"},
+ {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"},
+ {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"},
+ {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"},
+ {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"},
+ {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"},
+ {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"},
+ {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"},
+ {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"},
+ {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"},
+ {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"},
+ {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"},
+ {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"},
+ {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"},
+ {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"},
+ {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"},
+ {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"},
+ {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"},
+ {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"},
+ {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"},
+ {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"},
+]
[package.extras]
-tests = ["pytest-timeout", "pytest-cov", "pytest", "pyroma", "packaging", "olefile", "markdown2", "defusedxml", "coverage", "check-manifest"]
-docs = ["sphinxext-opengraph", "sphinx-removed-in", "sphinx-issues (>=3.0.1)", "sphinx-copybutton", "sphinx (>=2.4)", "olefile", "furo"]
-
-[[package]]
-name = "pkgutil-resolve-name"
-version = "1.3.10"
-description = "Resolve a name to an object."
-category = "main"
-optional = false
-python-versions = ">=3.6"
+docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
+fpx = ["olefile"]
+mic = ["olefile"]
+tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
+typing = ["typing-extensions"]
+xmp = ["defusedxml"]
[[package]]
-name = "pluggy"
-version = "1.0.0"
-description = "plugin and hook calling mechanisms for python"
-category = "dev"
+name = "platformdirs"
+version = "4.2.0"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
+files = [
+ {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
+ {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
+]
[package.extras]
-testing = ["pytest-benchmark", "pytest"]
-dev = ["tox", "pre-commit"]
-
-[[package]]
-name = "poetry-core"
-version = "1.0.8"
-description = "Poetry PEP 517 Build Backend"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-
-[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
[[package]]
name = "pycodestyle"
-version = "2.9.1"
+version = "2.11.1"
description = "Python style guide checker"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
+files = [
+ {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"},
+ {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"},
+]
[[package]]
name = "pyflakes"
-version = "2.5.0"
+version = "3.2.0"
description = "passive checker of Python programs"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
+files = [
+ {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"},
+ {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"},
+]
[[package]]
name = "pygments"
-version = "2.13.0"
+version = "2.17.2"
description = "Pygments is a syntax highlighting package written in Python."
-category = "main"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
+files = [
+ {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
+ {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
+]
[package.extras]
plugins = ["importlib-metadata"]
-
-[[package]]
-name = "pyparsing"
-version = "3.0.9"
-description = "pyparsing module - Classes and methods to define and execute parsing grammars"
-category = "dev"
-optional = false
-python-versions = ">=3.6.8"
-
-[package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
-
-[[package]]
-name = "pyrsistent"
-version = "0.18.1"
-description = "Persistent/Functional/Immutable data structures"
-category = "main"
-optional = false
-python-versions = ">=3.7"
+windows-terminal = ["colorama (>=0.4.6)"]
[[package]]
name = "pyserial"
version = "3.5"
description = "Python Serial Port Extension"
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"},
+ {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"},
+]
[package.extras]
cp2110 = ["hidapi"]
[[package]]
-name = "pytest"
-version = "7.1.2"
-description = "pytest: simple powerful testing with Python"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-
-[package.dependencies]
-atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
-attrs = ">=19.2.0"
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-iniconfig = "*"
-packaging = "*"
-pluggy = ">=0.12,<2.0"
-py = ">=1.8.2"
-tomli = ">=1.0.0"
-
-[package.extras]
-testing = ["xmlschema", "requests", "pygments (>=2.7.2)", "nose", "mock", "hypothesis (>=3.56)", "argcomplete"]
-
-[[package]]
name = "pyusb"
version = "1.2.1"
description = "Python USB access module"
-category = "main"
optional = false
python-versions = ">=3.6.0"
+files = [
+ {file = "pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36"},
+ {file = "pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9"},
+]
[[package]]
name = "qmk"
-version = "1.1.1"
+version = "1.1.5"
description = "A program to help users work with QMK Firmware."
-category = "main"
optional = false
python-versions = ">=3.7"
+files = [
+ {file = "qmk-1.1.5-py2.py3-none-any.whl", hash = "sha256:9c16fa2ad9b279ce9cc121a5462f02637611c6f54c49f9f2cac8ba2898f35b94"},
+ {file = "qmk-1.1.5.tar.gz", hash = "sha256:2efe3c752230c6ba24b8719c3b6e85a5644bf8f7d0dd237757eda9b7b7e60b11"},
+]
[package.dependencies]
dotty-dict = "*"
hid = "*"
hjson = "*"
jsonschema = ">=4"
-milc = ">=1.4.2"
+milc = ">=1.6.8"
pillow = "*"
pygments = "*"
pyserial = "*"
pyusb = "*"
+setuptools = ">=45"
[[package]]
-name = "setuptools-scm"
-version = "7.0.5"
-description = "the blessed package to manage your versions by scm tags"
-category = "dev"
+name = "referencing"
+version = "0.33.0"
+description = "JSON Referencing + Python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"},
+ {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"},
+]
[package.dependencies]
-packaging = ">=20.0"
-tomli = ">=1.0.0"
-typing-extensions = "*"
+attrs = ">=22.2.0"
+rpds-py = ">=0.7.0"
+
+[[package]]
+name = "rpds-py"
+version = "0.18.0"
+description = "Python bindings to Rust's persistent data structures (rpds)"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"},
+ {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"},
+ {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"},
+ {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"},
+ {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"},
+ {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"},
+ {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"},
+ {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"},
+ {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"},
+ {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"},
+ {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"},
+ {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"},
+ {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"},
+ {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"},
+ {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"},
+ {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"},
+ {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"},
+ {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"},
+ {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"},
+ {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"},
+ {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"},
+]
+
+[[package]]
+name = "setuptools"
+version = "69.1.1"
+description = "Easily download, build, install, upgrade, and uninstall Python packages"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"},
+ {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"},
+]
[package.extras]
-toml = ["setuptools (>=42)"]
-test = ["virtualenv (>20)", "pytest (>=6.2)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+files = [
+ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
+ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
+]
[[package]]
name = "spinners"
version = "0.0.24"
description = "Spinners for terminals"
-category = "main"
optional = false
python-versions = "*"
+files = [
+ {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"},
+ {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"},
+]
[[package]]
name = "termcolor"
-version = "1.1.0"
-description = "ANSII Color formatting for output in terminal."
-category = "main"
+version = "2.4.0"
+description = "ANSI color formatting for output in terminal"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
+files = [
+ {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"},
+ {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"},
+]
+
+[package.extras]
+tests = ["pytest", "pytest-cov"]
[[package]]
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
+files = [
+ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
+ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+]
[[package]]
-name = "typing-extensions"
-version = "4.3.0"
-description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "dev"
+name = "types-colorama"
+version = "0.4.15.20240205"
+description = "Typing stubs for colorama"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "types-colorama-0.4.15.20240205.tar.gz", hash = "sha256:7ae4f58d407d387f4f98b24d81e1b7657ec754ea1dc4619ae5bd27f0c367637e"},
+ {file = "types_colorama-0.4.15.20240205-py3-none-any.whl", hash = "sha256:3ab26dcd76d2f13b1b795ed5c87a1a1a29331ea64cf614bb6ae958a3cebc3a53"},
+]
[[package]]
name = "yapf"
-version = "0.32.0"
-description = "A formatter for Python code."
-category = "dev"
+version = "0.40.2"
+description = "A formatter for Python code"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
+files = [
+ {file = "yapf-0.40.2-py3-none-any.whl", hash = "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b"},
+ {file = "yapf-0.40.2.tar.gz", hash = "sha256:4dab8a5ed7134e26d57c1647c7483afb3f136878b579062b786c9ba16b94637b"},
+]
+
+[package.dependencies]
+importlib-metadata = ">=6.6.0"
+platformdirs = ">=3.5.1"
+tomli = ">=2.0.1"
[[package]]
name = "zipp"
-version = "3.8.1"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
+files = [
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
+]
[package.extras]
-testing = ["pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "func-timeout", "jaraco.itertools", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"]
-docs = ["jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[metadata]
-lock-version = "1.1"
-python-versions = "^3.8"
-content-hash = "71855d16c0f315ff383322272ddfca2b4917dbba9fa5ca1863b3bd537e35fee1"
-
-[metadata.files]
-appdirs = [
- {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
- {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
-]
-argcomplete = [
- {file = "argcomplete-2.0.0-py2.py3-none-any.whl", hash = "sha256:cffa11ea77999bb0dd27bb25ff6dc142a6796142f68d45b1a26b11f58724561e"},
- {file = "argcomplete-2.0.0.tar.gz", hash = "sha256:6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20"},
-]
-atomicwrites = [
- {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"},
-]
-attrs = [
- {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"},
- {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"},
-]
-colorama = [
- {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
- {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
-]
-dotty-dict = [
- {file = "dotty_dict-1.3.1-py3-none-any.whl", hash = "sha256:5022d234d9922f13aa711b4950372a06a6d64cb6d6db9ba43d0ba133ebfce31f"},
- {file = "dotty_dict-1.3.1.tar.gz", hash = "sha256:4b016e03b8ae265539757a53eba24b9bfda506fb94fbce0bee843c6f05541a15"},
-]
-editables = [
- {file = "editables-0.3-py3-none-any.whl", hash = "sha256:ee686a8db9f5d91da39849f175ffeef094dd0e9c36d6a59a2e8c7f92a3b80020"},
- {file = "editables-0.3.tar.gz", hash = "sha256:167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a"},
-]
-flake8 = [
- {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"},
- {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"},
-]
-flit-core = [
- {file = "flit_core-3.7.1-py3-none-any.whl", hash = "sha256:e454fdbf68c7036e1c7435ec7479383f9d9a1650ca5b304feb184eba1efcdcef"},
- {file = "flit_core-3.7.1.tar.gz", hash = "sha256:14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f"},
-]
-halo = [
- {file = "halo-0.0.31-py2-none-any.whl", hash = "sha256:5350488fb7d2aa7c31a1344120cee67a872901ce8858f60da7946cef96c208ab"},
- {file = "halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6"},
-]
-hatch-fancy-pypi-readme = [
- {file = "hatch_fancy_pypi_readme-22.3.0-py3-none-any.whl", hash = "sha256:97c7ea026fe0d305163f5380c5df1dde51051e63d0dd4a47811214a5cd4e39b4"},
- {file = "hatch_fancy_pypi_readme-22.3.0.tar.gz", hash = "sha256:7d4651f8f07825931c92873cb51137214a938badb7a759b85c1d95bf74f86efa"},
-]
-hatch-vcs = [
- {file = "hatch_vcs-0.2.0-py2.py3-none-any.whl", hash = "sha256:86432a0dd49acae0e69e14f285667693fcd31d9869ca21634520acc30d482f07"},
- {file = "hatch_vcs-0.2.0.tar.gz", hash = "sha256:9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff"},
-]
-hatchling = [
- {file = "hatchling-1.8.0-py3-none-any.whl", hash = "sha256:1f7d920b1478221c8709841eb2aa6069856038463816d3a27b84ca5e99000e06"},
- {file = "hatchling-1.8.0.tar.gz", hash = "sha256:a4f982fdca0717d8c46bfe7b501302f90aaf2a5302845d550b49c8739681feb2"},
-]
-hid = [
- {file = "hid-1.0.5-py2-none-any.whl", hash = "sha256:11836b877e81ab68cdd3abc44f2e230f0e6146c7e17ac45c185b72e0159fc9c7"},
- {file = "hid-1.0.5.tar.gz", hash = "sha256:1e954e7f7ab9b7c9dfc78db59504692c17db3b71249492b976b1525b97dbb0e8"},
-]
-hjson = [
- {file = "hjson-3.1.0-py3-none-any.whl", hash = "sha256:65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89"},
- {file = "hjson-3.1.0.tar.gz", hash = "sha256:55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75"},
-]
-importlib-resources = [
- {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"},
- {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"},
-]
-iniconfig = [
- {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
- {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
-]
-jsonschema = [
- {file = "jsonschema-4.14.0-py3-none-any.whl", hash = "sha256:9892b8d630a82990521a9ca630d3446bd316b5ad54dbe981338802787f3e0d2d"},
- {file = "jsonschema-4.14.0.tar.gz", hash = "sha256:15062f4cc6f591400cd528d2c355f2cfa6a57e44c820dc783aee5e23d36a831f"},
-]
-log-symbols = [
- {file = "log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca"},
- {file = "log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556"},
-]
-mccabe = [
- {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
- {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
-]
-milc = [
- {file = "milc-1.6.6-py2.py3-none-any.whl", hash = "sha256:5735022d25bc7aa259139ae680efa2867ce91bab769aa3b2482c63a3158120a5"},
- {file = "milc-1.6.6.tar.gz", hash = "sha256:a4a1673718aaceefeb62c1799e48825bc6f4e56bfd8ad4a8e341a7622e6ff000"},
-]
-nose2 = [
- {file = "nose2-0.12.0-py2.py3-none-any.whl", hash = "sha256:da7eb5e3cbe2abb693a053e17b4fbefca98ea9ea79fc729b0b0f41e8b4196304"},
- {file = "nose2-0.12.0.tar.gz", hash = "sha256:956e79b9bd558ee08b6200c05ad2c76465b7e3860c0c0537686089285c320113"},
-]
-packaging = [
- {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
- {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
-]
-pathspec = [
- {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
- {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
-]
-pep8-naming = [
- {file = "pep8-naming-0.13.2.tar.gz", hash = "sha256:93eef62f525fd12a6f8c98f4dcc17fa70baae2f37fa1f73bec00e3e44392fa48"},
- {file = "pep8_naming-0.13.2-py3-none-any.whl", hash = "sha256:59e29e55c478db69cffbe14ab24b5bd2cd615c0413edf790d47d3fb7ba9a4e23"},
-]
-pillow = [
- {file = "Pillow-9.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:a9c9bc489f8ab30906d7a85afac4b4944a572a7432e00698a7239f44a44e6efb"},
- {file = "Pillow-9.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:510cef4a3f401c246cfd8227b300828715dd055463cdca6176c2e4036df8bd4f"},
- {file = "Pillow-9.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7888310f6214f19ab2b6df90f3f06afa3df7ef7355fc025e78a3044737fab1f5"},
- {file = "Pillow-9.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831e648102c82f152e14c1a0938689dbb22480c548c8d4b8b248b3e50967b88c"},
- {file = "Pillow-9.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cc1d2451e8a3b4bfdb9caf745b58e6c7a77d2e469159b0d527a4554d73694d1"},
- {file = "Pillow-9.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:136659638f61a251e8ed3b331fc6ccd124590eeff539de57c5f80ef3a9594e58"},
- {file = "Pillow-9.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6e8c66f70fb539301e064f6478d7453e820d8a2c631da948a23384865cd95544"},
- {file = "Pillow-9.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:37ff6b522a26d0538b753f0b4e8e164fdada12db6c6f00f62145d732d8a3152e"},
- {file = "Pillow-9.2.0-cp310-cp310-win32.whl", hash = "sha256:c79698d4cd9318d9481d89a77e2d3fcaeff5486be641e60a4b49f3d2ecca4e28"},
- {file = "Pillow-9.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:254164c57bab4b459f14c64e93df11eff5ded575192c294a0c49270f22c5d93d"},
- {file = "Pillow-9.2.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:408673ed75594933714482501fe97e055a42996087eeca7e5d06e33218d05aa8"},
- {file = "Pillow-9.2.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:727dd1389bc5cb9827cbd1f9d40d2c2a1a0c9b32dd2261db522d22a604a6eec9"},
- {file = "Pillow-9.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50dff9cc21826d2977ef2d2a205504034e3a4563ca6f5db739b0d1026658e004"},
- {file = "Pillow-9.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb6259196a589123d755380b65127ddc60f4c64b21fc3bb46ce3a6ea663659b0"},
- {file = "Pillow-9.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b0554af24df2bf96618dac71ddada02420f946be943b181108cac55a7a2dcd4"},
- {file = "Pillow-9.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:15928f824870535c85dbf949c09d6ae7d3d6ac2d6efec80f3227f73eefba741c"},
- {file = "Pillow-9.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:bdd0de2d64688ecae88dd8935012c4a72681e5df632af903a1dca8c5e7aa871a"},
- {file = "Pillow-9.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5b87da55a08acb586bad5c3aa3b86505f559b84f39035b233d5bf844b0834b1"},
- {file = "Pillow-9.2.0-cp311-cp311-win32.whl", hash = "sha256:b6d5e92df2b77665e07ddb2e4dbd6d644b78e4c0d2e9272a852627cdba0d75cf"},
- {file = "Pillow-9.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6bf088c1ce160f50ea40764f825ec9b72ed9da25346216b91361eef8ad1b8f8c"},
- {file = "Pillow-9.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:2c58b24e3a63efd22554c676d81b0e57f80e0a7d3a5874a7e14ce90ec40d3069"},
- {file = "Pillow-9.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eef7592281f7c174d3d6cbfbb7ee5984a671fcd77e3fc78e973d492e9bf0eb3f"},
- {file = "Pillow-9.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dcd7b9c7139dc8258d164b55696ecd16c04607f1cc33ba7af86613881ffe4ac8"},
- {file = "Pillow-9.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a138441e95562b3c078746a22f8fca8ff1c22c014f856278bdbdd89ca36cff1b"},
- {file = "Pillow-9.2.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:93689632949aff41199090eff5474f3990b6823404e45d66a5d44304e9cdc467"},
- {file = "Pillow-9.2.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:f3fac744f9b540148fa7715a435d2283b71f68bfb6d4aae24482a890aed18b59"},
- {file = "Pillow-9.2.0-cp37-cp37m-win32.whl", hash = "sha256:fa768eff5f9f958270b081bb33581b4b569faabf8774726b283edb06617101dc"},
- {file = "Pillow-9.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:69bd1a15d7ba3694631e00df8de65a8cb031911ca11f44929c97fe05eb9b6c1d"},
- {file = "Pillow-9.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:030e3460861488e249731c3e7ab59b07c7853838ff3b8e16aac9561bb345da14"},
- {file = "Pillow-9.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:74a04183e6e64930b667d321524e3c5361094bb4af9083db5c301db64cd341f3"},
- {file = "Pillow-9.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d33a11f601213dcd5718109c09a52c2a1c893e7461f0be2d6febc2879ec2402"},
- {file = "Pillow-9.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fd6f5e3c0e4697fa7eb45b6e93996299f3feee73a3175fa451f49a74d092b9f"},
- {file = "Pillow-9.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a647c0d4478b995c5e54615a2e5360ccedd2f85e70ab57fbe817ca613d5e63b8"},
- {file = "Pillow-9.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:4134d3f1ba5f15027ff5c04296f13328fecd46921424084516bdb1b2548e66ff"},
- {file = "Pillow-9.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:bc431b065722a5ad1dfb4df354fb9333b7a582a5ee39a90e6ffff688d72f27a1"},
- {file = "Pillow-9.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1536ad017a9f789430fb6b8be8bf99d2f214c76502becc196c6f2d9a75b01b76"},
- {file = "Pillow-9.2.0-cp38-cp38-win32.whl", hash = "sha256:2ad0d4df0f5ef2247e27fc790d5c9b5a0af8ade9ba340db4a73bb1a4a3e5fb4f"},
- {file = "Pillow-9.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:ec52c351b35ca269cb1f8069d610fc45c5bd38c3e91f9ab4cbbf0aebc136d9c8"},
- {file = "Pillow-9.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ed2c4ef2451de908c90436d6e8092e13a43992f1860275b4d8082667fbb2ffc"},
- {file = "Pillow-9.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ad2f835e0ad81d1689f1b7e3fbac7b01bb8777d5a985c8962bedee0cc6d43da"},
- {file = "Pillow-9.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea98f633d45f7e815db648fd7ff0f19e328302ac36427343e4432c84432e7ff4"},
- {file = "Pillow-9.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7761afe0126d046974a01e030ae7529ed0ca6a196de3ec6937c11df0df1bc91c"},
- {file = "Pillow-9.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a54614049a18a2d6fe156e68e188da02a046a4a93cf24f373bffd977e943421"},
- {file = "Pillow-9.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:5aed7dde98403cd91d86a1115c78d8145c83078e864c1de1064f52e6feb61b20"},
- {file = "Pillow-9.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:13b725463f32df1bfeacbf3dd197fb358ae8ebcd8c5548faa75126ea425ccb60"},
- {file = "Pillow-9.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:808add66ea764ed97d44dda1ac4f2cfec4c1867d9efb16a33d158be79f32b8a4"},
- {file = "Pillow-9.2.0-cp39-cp39-win32.whl", hash = "sha256:337a74fd2f291c607d220c793a8135273c4c2ab001b03e601c36766005f36885"},
- {file = "Pillow-9.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:fac2d65901fb0fdf20363fbd345c01958a742f2dc62a8dd4495af66e3ff502a4"},
- {file = "Pillow-9.2.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ad2277b185ebce47a63f4dc6302e30f05762b688f8dc3de55dbae4651872cdf3"},
- {file = "Pillow-9.2.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c7b502bc34f6e32ba022b4a209638f9e097d7a9098104ae420eb8186217ebbb"},
- {file = "Pillow-9.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d1f14f5f691f55e1b47f824ca4fdcb4b19b4323fe43cc7bb105988cad7496be"},
- {file = "Pillow-9.2.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:dfe4c1fedfde4e2fbc009d5ad420647f7730d719786388b7de0999bf32c0d9fd"},
- {file = "Pillow-9.2.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:f07f1f00e22b231dd3d9b9208692042e29792d6bd4f6639415d2f23158a80013"},
- {file = "Pillow-9.2.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1802f34298f5ba11d55e5bb09c31997dc0c6aed919658dfdf0198a2fe75d5490"},
- {file = "Pillow-9.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17d4cafe22f050b46d983b71c707162d63d796a1235cdf8b9d7a112e97b15bac"},
- {file = "Pillow-9.2.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:96b5e6874431df16aee0c1ba237574cb6dff1dcb173798faa6a9d8b399a05d0e"},
- {file = "Pillow-9.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:0030fdbd926fb85844b8b92e2f9449ba89607231d3dd597a21ae72dc7fe26927"},
- {file = "Pillow-9.2.0.tar.gz", hash = "sha256:75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04"},
-]
-pkgutil-resolve-name = [
- {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"},
- {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"},
-]
-pluggy = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
-]
-poetry-core = [
- {file = "poetry-core-1.0.8.tar.gz", hash = "sha256:951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118"},
- {file = "poetry_core-1.0.8-py2.py3-none-any.whl", hash = "sha256:54b0fab6f7b313886e547a52f8bf52b8cf43e65b2633c65117f8755289061924"},
-]
-py = [
- {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
- {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
-pycodestyle = [
- {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"},
- {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"},
-]
-pyflakes = [
- {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"},
- {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"},
-]
-pygments = [
- {file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"},
- {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"},
-]
-pyparsing = [
- {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
- {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
-]
-pyrsistent = [
- {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"},
- {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"},
- {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"},
- {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"},
- {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"},
- {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"},
- {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"},
- {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"},
- {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"},
- {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"},
- {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"},
- {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"},
- {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"},
- {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"},
- {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"},
- {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"},
- {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"},
- {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"},
- {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"},
- {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"},
- {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"},
-]
-pyserial = [
- {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"},
- {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"},
-]
-pytest = [
- {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"},
- {file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"},
-]
-pyusb = [
- {file = "pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36"},
- {file = "pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9"},
-]
-qmk = [
- {file = "qmk-1.1.1-py2.py3-none-any.whl", hash = "sha256:8694300678d9be1e594a500e82bfc9fb08a8ac0983b25fcb663ddd72b4861d97"},
- {file = "qmk-1.1.1.tar.gz", hash = "sha256:dd028e09ebcd61f8bdf8cb82929dfafc0e007d97a5a3803b45819b4641773269"},
-]
-setuptools-scm = [
- {file = "setuptools_scm-7.0.5-py3-none-any.whl", hash = "sha256:7930f720905e03ccd1e1d821db521bff7ec2ac9cf0ceb6552dd73d24a45d3b02"},
- {file = "setuptools_scm-7.0.5.tar.gz", hash = "sha256:031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844"},
-]
-six = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-spinners = [
- {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"},
- {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"},
-]
-termcolor = [
- {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
-]
-tomli = [
- {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
- {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
-]
-typing-extensions = [
- {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"},
- {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"},
-]
-yapf = [
- {file = "yapf-0.32.0-py2.py3-none-any.whl", hash = "sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32"},
- {file = "yapf-0.32.0.tar.gz", hash = "sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b"},
-]
-zipp = [
- {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"},
- {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"},
-]
+lock-version = "2.0"
+python-versions = "^3.11"
+content-hash = "6146ea1571def62c4f7ff33173e0144bcfd206c178936365bff8b4e1669b90ff"
diff --git a/util/nix/pyproject.toml b/util/nix/pyproject.toml
index ff484dbe79..fa62eb96c0 100644
--- a/util/nix/pyproject.toml
+++ b/util/nix/pyproject.toml
@@ -8,7 +8,7 @@ description = ""
authors = []
[tool.poetry.dependencies]
-python = "^3.8"
+python = "^3.11"
appdirs = "*"
argcomplete = "*"
colorama = "*"
@@ -34,28 +34,6 @@ pep8-naming = "*"
pyflakes = "*"
yapf = "*"
-# These dependencies are required by the jsonschema >= 4.11.0 build system, but
-# are not detected automatically; they are also not present in the used Nixpkgs
-# snapshot, so need to be obtained through Poetry.
-hatchling = "*"
-hatch-vcs = "*"
-hatch-fancy-pypi-readme = "*"
-
-# The `pytest` module in the used Nixpkgs snapshot has an upper bound on the
-# `pluggy` dependency, which conflicts with the dependency of the `hatchling`
-# module; upgrading the `pytest` module fixes the conflict.
-pytest = "*"
-
-# Building the `tomli` module, which is in the dependency tree of `hatchling`,
-# requires a newer `flit-core` module than found in the used Nixpkgs snapshot.
-flit-core = "*"
-
-# Building `dotty-dict` >= 1.3.1 requires the `poetry-core` module, and the
-# version of that module provided by the used Nixpkgs snapshot cannot be built
-# on Darwin due to the regex compatibility issue in the old Nixpkgs code
-# (https://github.com/NixOS/nix/issues/4758).
-poetry-core = "*"
-
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
diff --git a/util/nix/sources.json b/util/nix/sources.json
index 8cdb9e4996..3985f75e03 100644
--- a/util/nix/sources.json
+++ b/util/nix/sources.json
@@ -17,10 +17,10 @@
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "c0e881852006b132236cbf0301bd1939bb50867e",
- "sha256": "0fy7z7yxk5n7yslsvx5cyc6h21qwi4bhxf3awhirniszlbvaazy2",
+ "rev": "98b00b6947a9214381112bdb6f89c25498db4959",
+ "sha256": "1m6dm144mbm56n9293m26f46bjrklknyr4q4kzvxkiv036ijma98",
"type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/c0e881852006b132236cbf0301bd1939bb50867e.tar.gz",
+ "url": "https://github.com/NixOS/nixpkgs/archive/98b00b6947a9214381112bdb6f89c25498db4959.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"poetry2nix": {
@@ -29,10 +29,10 @@
"homepage": "",
"owner": "nix-community",
"repo": "poetry2nix",
- "rev": "11c0df8e348c0f169cd73a2e3d63f65c92baf666",
- "sha256": "0i3wbp2p0x6bpj07sqpvkbx4lvjm0irvpmv2bjqx8k02mpjm7dg2",
+ "rev": "3c92540611f42d3fb2d0d084a6c694cd6544b609",
+ "sha256": "1jfrangw0xb5b8sdkimc550p3m98zhpb1fayahnr7crg74as4qyq",
"type": "tarball",
- "url": "https://github.com/nix-community/poetry2nix/archive/11c0df8e348c0f169cd73a2e3d63f65c92baf666.tar.gz",
+ "url": "https://github.com/nix-community/poetry2nix/archive/3c92540611f42d3fb2d0d084a6c694cd6544b609.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}
diff --git a/util/nix/sources.nix b/util/nix/sources.nix
index 1938409ddd..fe3dadf7eb 100644
--- a/util/nix/sources.nix
+++ b/util/nix/sources.nix
@@ -10,29 +10,50 @@ let
let
name' = sanitizeName name + "-src";
in
- if spec.builtin or true then
- builtins_fetchurl { inherit (spec) url sha256; name = name'; }
- else
- pkgs.fetchurl { inherit (spec) url sha256; name = name'; };
+ if spec.builtin or true then
+ builtins_fetchurl { inherit (spec) url sha256; name = name'; }
+ else
+ pkgs.fetchurl { inherit (spec) url sha256; name = name'; };
fetch_tarball = pkgs: name: spec:
let
name' = sanitizeName name + "-src";
in
- if spec.builtin or true then
- builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
- else
- pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
+ if spec.builtin or true then
+ builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
+ else
+ pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
fetch_git = name: spec:
let
ref =
- if spec ? ref then spec.ref else
+ spec.ref or (
if spec ? branch then "refs/heads/${spec.branch}" else
- if spec ? tag then "refs/tags/${spec.tag}" else
- abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!";
+ if spec ? tag then "refs/tags/${spec.tag}" else
+ abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"
+ );
+ submodules = spec.submodules or false;
+ submoduleArg =
+ let
+ nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0;
+ emptyArgWithWarning =
+ if submodules
+ then
+ builtins.trace
+ (
+ "The niv input \"${name}\" uses submodules "
+ + "but your nix's (${builtins.nixVersion}) builtins.fetchGit "
+ + "does not support them"
+ )
+ { }
+ else { };
+ in
+ if nixSupportsSubmodules
+ then { inherit submodules; }
+ else emptyArgWithWarning;
in
- builtins.fetchGit { url = spec.repo; inherit (spec) rev; inherit ref; };
+ builtins.fetchGit
+ ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg);
fetch_local = spec: spec.path;
@@ -66,16 +87,16 @@ let
hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath;
hasThisAsNixpkgsPath = <nixpkgs> == ./.;
in
- if builtins.hasAttr "nixpkgs" sources
- then sourcesNixpkgs
- else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
- import <nixpkgs> {}
- else
- abort
- ''
- Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
- add a package called "nixpkgs" to your sources.json.
- '';
+ if builtins.hasAttr "nixpkgs" sources
+ then sourcesNixpkgs
+ else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
+ import <nixpkgs> { }
+ else
+ abort
+ ''
+ Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
+ add a package called "nixpkgs" to your sources.json.
+ '';
# The actual fetching function.
fetch = pkgs: name: spec:
@@ -95,13 +116,13 @@ let
# the path directly as opposed to the fetched source.
replace = name: drv:
let
- saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name;
+ saneName = stringAsChars (c: if (builtins.match "[a-zA-Z0-9]" c) == null then "_" else c) name;
ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}";
in
- if ersatz == "" then drv else
- # this turns the string into an actual Nix path (for both absolute and
- # relative paths)
- if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}";
+ if ersatz == "" then drv else
+ # this turns the string into an actual Nix path (for both absolute and
+ # relative paths)
+ if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}";
# Ports of functions for older nix versions
@@ -112,7 +133,7 @@ let
);
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295
- range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1);
+ range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1);
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257
stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1));
@@ -123,43 +144,46 @@ let
concatStrings = builtins.concatStringsSep "";
# https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331
- optionalAttrs = cond: as: if cond then as else {};
+ optionalAttrs = cond: as: if cond then as else { };
# fetchTarball version that is compatible between all the versions of Nix
builtins_fetchTarball = { url, name ? null, sha256 }@attrs:
let
inherit (builtins) lessThan nixVersion fetchTarball;
in
- if lessThan nixVersion "1.12" then
- fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
- else
- fetchTarball attrs;
+ if lessThan nixVersion "1.12" then
+ fetchTarball ({ inherit url; } // (optionalAttrs (name != null) { inherit name; }))
+ else
+ fetchTarball attrs;
# fetchurl version that is compatible between all the versions of Nix
builtins_fetchurl = { url, name ? null, sha256 }@attrs:
let
inherit (builtins) lessThan nixVersion fetchurl;
in
- if lessThan nixVersion "1.12" then
- fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
- else
- fetchurl attrs;
+ if lessThan nixVersion "1.12" then
+ fetchurl ({ inherit url; } // (optionalAttrs (name != null) { inherit name; }))
+ else
+ fetchurl attrs;
# Create the final "sources" from the config
mkSources = config:
- mapAttrs (
- name: spec:
- if builtins.hasAttr "outPath" spec
- then abort
- "The values in sources.json should not have an 'outPath' attribute"
- else
- spec // { outPath = replace name (fetch config.pkgs name spec); }
- ) config.sources;
+ mapAttrs
+ (
+ name: spec:
+ if builtins.hasAttr "outPath" spec
+ then
+ abort
+ "The values in sources.json should not have an 'outPath' attribute"
+ else
+ spec // { outPath = replace name (fetch config.pkgs name spec); }
+ )
+ config.sources;
# The "config" used by the fetchers
mkConfig =
{ sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null
- , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile)
+ , sources ? if sourcesFile == null then { } else builtins.fromJSON (builtins.readFile sourcesFile)
, system ? builtins.currentSystem
, pkgs ? mkPkgs sources system
}: rec {
@@ -171,4 +195,4 @@ let
};
in
-mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); }
+mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); }
diff --git a/util/uf2conv.py b/util/uf2conv.py
index 84271cee4f..67cf92f169 100755
--- a/util/uf2conv.py
+++ b/util/uf2conv.py
@@ -30,7 +30,7 @@ def is_hex(buf):
w = buf[0:30].decode("utf-8")
except UnicodeDecodeError:
return False
- if w[0] == ':' and re.match(b"^[:0-9a-fA-F\r\n]+$", buf):
+ if w[0] == ':' and re.match(rb"^[:0-9a-fA-F\r\n]+$", buf):
return True
return False
@@ -214,7 +214,7 @@ def get_drives():
"get", "DeviceID,", "VolumeName,",
"FileSystem,", "DriveType"])
for line in to_str(r).split('\n'):
- words = re.split('\s+', line)
+ words = re.split(r'\s+', line)
if len(words) >= 3 and words[1] == "2" and words[2] == "FAT":
drives.append(words[0])
else:
@@ -243,7 +243,7 @@ def get_drives():
def board_id(path):
with open(path + INFO_FILE, mode='r') as file:
file_content = file.read()
- return re.search("Board-ID: ([^\r\n]*)", file_content).group(1)
+ return re.search(r"Board-ID: ([^\r\n]*)", file_content).group(1)
def list_drives():